Initial checkin
[ldk-swift-linux] / LDKSwift / Sources / LDKSwift / structs / ChainMonitor.swift
1 import LDKCHeaders
2
3 public class ChainMonitor {
4
5     public internal(set) var cOpaqueStruct: LDKChainMonitor?;
6
7         /* DEFAULT_CONSTRUCTOR_START */
8     public init(chain_source: Filter?, broadcaster: BroadcasterInterface, logger: Logger, feeest: FeeEstimator, persister: Persist) {
9         
10                                                         var chain_sourcePointer: UnsafeMutablePointer<LDKFilter>? = nil
11                                                         if let chain_sourceUnwrapped = chain_source {
12                                                                 chain_sourcePointer = UnsafeMutablePointer<LDKFilter>.allocate(capacity: 1)
13                                                                 chain_sourcePointer!.initialize(to: chain_sourceUnwrapped.cOpaqueStruct!)
14                                                         }
15                                                 
16         self.cOpaqueStruct = ChainMonitor_new(chain_sourcePointer, broadcaster.cOpaqueStruct!, logger.cOpaqueStruct!, feeest.cOpaqueStruct!, persister.cOpaqueStruct!)
17     }
18     /* DEFAULT_CONSTRUCTOR_END */
19
20     public init(pointer: LDKChainMonitor){
21                 self.cOpaqueStruct = pointer
22         }
23
24     /* STRUCT_METHODS_START */
25
26     public func as_Listen() -> Listen {
27         
28         return NativelyImplementedListen(pointer: withUnsafePointer(to: self.cOpaqueStruct!) { (this_argPointer: UnsafePointer<LDKChainMonitor>) in
29 ChainMonitor_as_Listen(this_argPointer)
30 });
31     }
32
33     public func as_Confirm() -> Confirm {
34         
35         return NativelyImplementedConfirm(pointer: withUnsafePointer(to: self.cOpaqueStruct!) { (this_argPointer: UnsafePointer<LDKChainMonitor>) in
36 ChainMonitor_as_Confirm(this_argPointer)
37 });
38     }
39
40     public func as_Watch() -> Watch {
41         
42         return NativelyImplementedWatch(pointer: withUnsafePointer(to: self.cOpaqueStruct!) { (this_argPointer: UnsafePointer<LDKChainMonitor>) in
43 ChainMonitor_as_Watch(this_argPointer)
44 });
45     }
46
47     public func as_EventsProvider() -> EventsProvider {
48         
49         return NativelyImplementedEventsProvider(pointer: withUnsafePointer(to: self.cOpaqueStruct!) { (this_argPointer: UnsafePointer<LDKChainMonitor>) in
50 ChainMonitor_as_EventsProvider(this_argPointer)
51 });
52     }
53
54                                 
55         deinit {
56                                         if self.cOpaqueStruct?.is_owned == false {
57
58                                         
59                                         
60                 ChainMonitor_free(self.cOpaqueStruct!)
61                                         
62 }
63                                 
64         }
65                         
66     /* STRUCT_METHODS_END */
67
68 }