Initial checkin
[ldk-swift-linux] / LDKSwift / Sources / LDKSwift / structs / NetGraphMsgHandler.swift
1 import LDKCHeaders
2
3 public class NetGraphMsgHandler {
4
5     public internal(set) var cOpaqueStruct: LDKNetGraphMsgHandler?;
6
7         /* DEFAULT_CONSTRUCTOR_START */
8     public init(chain_access: Access?, logger: Logger, network_graph: NetworkGraph) {
9         
10                                                         var chain_accessPointer: UnsafeMutablePointer<LDKAccess>? = nil
11                                                         if let chain_accessUnwrapped = chain_access {
12                                                                 chain_accessPointer = UnsafeMutablePointer<LDKAccess>.allocate(capacity: 1)
13                                                                 chain_accessPointer!.initialize(to: chain_accessUnwrapped.cOpaqueStruct!)
14                                                         }
15                                                 
16         self.cOpaqueStruct = NetGraphMsgHandler_from_net_graph(chain_accessPointer, logger.cOpaqueStruct!, network_graph.cOpaqueStruct!)
17     }
18     /* DEFAULT_CONSTRUCTOR_END */
19
20     public init(pointer: LDKNetGraphMsgHandler){
21                 self.cOpaqueStruct = pointer
22         }
23
24     /* STRUCT_METHODS_START */
25
26     public func add_chain_access(chain_access: Access?) -> Void {
27         
28                                                         let this_argPointer = UnsafeMutablePointer<LDKNetGraphMsgHandler>.allocate(capacity: 1)
29                                                         this_argPointer.initialize(to: self.cOpaqueStruct!)
30                                                 
31                                                         var chain_accessPointer: UnsafeMutablePointer<LDKAccess>? = nil
32                                                         if let chain_accessUnwrapped = chain_access {
33                                                                 chain_accessPointer = UnsafeMutablePointer<LDKAccess>.allocate(capacity: 1)
34                                                                 chain_accessPointer!.initialize(to: chain_accessUnwrapped.cOpaqueStruct!)
35                                                         }
36                                                 
37         return NetGraphMsgHandler_add_chain_access(this_argPointer, chain_accessPointer);
38     }
39
40     public func read_locked_graph() -> LockedNetworkGraph {
41         
42         return LockedNetworkGraph(pointer: withUnsafePointer(to: self.cOpaqueStruct!) { (this_argPointer: UnsafePointer<LDKNetGraphMsgHandler>) in
43 NetGraphMsgHandler_read_locked_graph(this_argPointer)
44 });
45     }
46
47     public func as_RoutingMessageHandler() -> RoutingMessageHandler {
48         
49         return NativelyImplementedRoutingMessageHandler(pointer: withUnsafePointer(to: self.cOpaqueStruct!) { (this_argPointer: UnsafePointer<LDKNetGraphMsgHandler>) in
50 NetGraphMsgHandler_as_RoutingMessageHandler(this_argPointer)
51 });
52     }
53
54     public func as_MessageSendEventsProvider() -> MessageSendEventsProvider {
55         
56         return NativelyImplementedMessageSendEventsProvider(pointer: withUnsafePointer(to: self.cOpaqueStruct!) { (this_argPointer: UnsafePointer<LDKNetGraphMsgHandler>) in
57 NetGraphMsgHandler_as_MessageSendEventsProvider(this_argPointer)
58 });
59     }
60
61                                 
62         deinit {
63                                         if self.cOpaqueStruct?.is_owned == false {
64
65                                         
66                                         
67                 NetGraphMsgHandler_free(self.cOpaqueStruct!)
68                                         
69 }
70                                 
71         }
72                         
73     /* STRUCT_METHODS_END */
74
75 }