Initial checkin
[ldk-swift-linux] / LDKSwift / Sources / LDKSwift / structs / NetworkGraph.swift
1 import LDKCHeaders
2
3 public class NetworkGraph {
4
5     public internal(set) var cOpaqueStruct: LDKNetworkGraph?;
6
7         /* DEFAULT_CONSTRUCTOR_START */
8     public init(genesis_hash: [UInt8]) {
9         
10         self.cOpaqueStruct = NetworkGraph_new(Bindings.new_LDKThirtyTwoBytes(array: genesis_hash))
11     }
12     /* DEFAULT_CONSTRUCTOR_END */
13
14     public init(pointer: LDKNetworkGraph){
15                 self.cOpaqueStruct = pointer
16         }
17
18     /* STRUCT_METHODS_START */
19
20     public func clone(orig: NetworkGraph) -> NetworkGraph {
21         
22         return withUnsafePointer(to: orig.cOpaqueStruct!) { (origPointer: UnsafePointer<LDKNetworkGraph>) in
23 NetworkGraph(pointer: NetworkGraph_clone(origPointer))
24 };
25     }
26
27     public func write(obj: NetworkGraph) -> [UInt8] {
28         
29         return Bindings.LDKCVec_u8Z_to_array(nativeType: withUnsafePointer(to: obj.cOpaqueStruct!) { (objPointer: UnsafePointer<LDKNetworkGraph>) in
30 NetworkGraph_write(objPointer)
31 });
32     }
33
34     public func read(ser: [UInt8]) -> Result_NetworkGraphDecodeErrorZ {
35         
36         return Result_NetworkGraphDecodeErrorZ(pointer: NetworkGraph_read(Bindings.new_LDKu8slice(array: ser)));
37     }
38
39     public func update_node_from_announcement(msg: NodeAnnouncement) -> Result_NoneLightningErrorZ {
40         
41                                                         let this_argPointer = UnsafeMutablePointer<LDKNetworkGraph>.allocate(capacity: 1)
42                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
43                                                 
44         return Result_NoneLightningErrorZ(pointer: withUnsafePointer(to: msg.cOpaqueStruct!) { (msgPointer: UnsafePointer<LDKNodeAnnouncement>) in
45 NetworkGraph_update_node_from_announcement(this_argPointer, msgPointer)
46 });
47     }
48
49     public func update_node_from_unsigned_announcement(msg: UnsignedNodeAnnouncement) -> Result_NoneLightningErrorZ {
50         
51                                                         let this_argPointer = UnsafeMutablePointer<LDKNetworkGraph>.allocate(capacity: 1)
52                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
53                                                 
54         return Result_NoneLightningErrorZ(pointer: withUnsafePointer(to: msg.cOpaqueStruct!) { (msgPointer: UnsafePointer<LDKUnsignedNodeAnnouncement>) in
55 NetworkGraph_update_node_from_unsigned_announcement(this_argPointer, msgPointer)
56 });
57     }
58
59     public func update_channel_from_announcement(msg: ChannelAnnouncement, chain_access: Access?) -> Result_NoneLightningErrorZ {
60         
61                                                         let this_argPointer = UnsafeMutablePointer<LDKNetworkGraph>.allocate(capacity: 1)
62                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
63                                                 
64                                                         var chain_accessPointer: UnsafeMutablePointer<LDKAccess>? = nil
65                                                         if let chain_accessUnwrapped = chain_access {
66                                                                 chain_accessPointer = UnsafeMutablePointer<LDKAccess>.allocate(capacity: 1)
67                                                                 chain_accessPointer!.initialize(to: chain_accessUnwrapped.cOpaqueStruct!)
68                                                         }
69                                                 
70         return Result_NoneLightningErrorZ(pointer: withUnsafePointer(to: msg.cOpaqueStruct!) { (msgPointer: UnsafePointer<LDKChannelAnnouncement>) in
71 NetworkGraph_update_channel_from_announcement(this_argPointer, msgPointer, chain_accessPointer)
72 });
73     }
74
75     public func update_channel_from_unsigned_announcement(msg: UnsignedChannelAnnouncement, chain_access: Access?) -> Result_NoneLightningErrorZ {
76         
77                                                         let this_argPointer = UnsafeMutablePointer<LDKNetworkGraph>.allocate(capacity: 1)
78                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
79                                                 
80                                                         var chain_accessPointer: UnsafeMutablePointer<LDKAccess>? = nil
81                                                         if let chain_accessUnwrapped = chain_access {
82                                                                 chain_accessPointer = UnsafeMutablePointer<LDKAccess>.allocate(capacity: 1)
83                                                                 chain_accessPointer!.initialize(to: chain_accessUnwrapped.cOpaqueStruct!)
84                                                         }
85                                                 
86         return Result_NoneLightningErrorZ(pointer: withUnsafePointer(to: msg.cOpaqueStruct!) { (msgPointer: UnsafePointer<LDKUnsignedChannelAnnouncement>) in
87 NetworkGraph_update_channel_from_unsigned_announcement(this_argPointer, msgPointer, chain_accessPointer)
88 });
89     }
90
91     public func close_channel_from_update(short_channel_id: UInt64, is_permanent: Bool) -> Void {
92         
93                                                         let this_argPointer = UnsafeMutablePointer<LDKNetworkGraph>.allocate(capacity: 1)
94                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
95                                                 
96         return NetworkGraph_close_channel_from_update(this_argPointer, short_channel_id, is_permanent);
97     }
98
99     public func update_channel(msg: ChannelUpdate) -> Result_NoneLightningErrorZ {
100         
101                                                         let this_argPointer = UnsafeMutablePointer<LDKNetworkGraph>.allocate(capacity: 1)
102                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
103                                                 
104         return Result_NoneLightningErrorZ(pointer: withUnsafePointer(to: msg.cOpaqueStruct!) { (msgPointer: UnsafePointer<LDKChannelUpdate>) in
105 NetworkGraph_update_channel(this_argPointer, msgPointer)
106 });
107     }
108
109     public func update_channel_unsigned(msg: UnsignedChannelUpdate) -> Result_NoneLightningErrorZ {
110         
111                                                         let this_argPointer = UnsafeMutablePointer<LDKNetworkGraph>.allocate(capacity: 1)
112                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
113                                                 
114         return Result_NoneLightningErrorZ(pointer: withUnsafePointer(to: msg.cOpaqueStruct!) { (msgPointer: UnsafePointer<LDKUnsignedChannelUpdate>) in
115 NetworkGraph_update_channel_unsigned(this_argPointer, msgPointer)
116 });
117     }
118
119                                 
120         deinit {
121                                         if self.cOpaqueStruct?.is_owned == false {
122
123                                         
124                                         
125                 NetworkGraph_free(self.cOpaqueStruct!)
126                                         
127 }
128                                 
129         }
130                         
131     /* STRUCT_METHODS_END */
132
133 }