Initial checkin
[ldk-swift-linux] / LDKSwift / Sources / LDKSwift / options / Event.swift
1 import LDKCHeaders
2
3 public class Event {
4
5     public internal(set) var cOpaqueStruct: LDKEvent?;
6
7         
8
9     public init(pointer: LDKEvent){
10                 self.cOpaqueStruct = pointer
11         }
12
13     /* OPTION_METHODS_START */
14
15                                 public enum EventValueType {
16                                         case FundingGenerationReady, PaymentReceived, PaymentSent, PaymentFailed, PendingHTLCsForwardable, SpendableOutputs
17                                 }
18                                 
19                                 public func getValueType() -> EventValueType? {
20                                         switch self.cOpaqueStruct?.tag {
21                     
22                                         case LDKEvent_FundingGenerationReady:
23                                                 return .FundingGenerationReady
24                                         case LDKEvent_PaymentReceived:
25                                                 return .PaymentReceived
26                                         case LDKEvent_PaymentSent:
27                                                 return .PaymentSent
28                                         case LDKEvent_PaymentFailed:
29                                                 return .PaymentFailed
30                                         case LDKEvent_PendingHTLCsForwardable:
31                                                 return .PendingHTLCsForwardable
32                                         case LDKEvent_SpendableOutputs:
33                                                 return .SpendableOutputs
34                     default:
35                         return nil
36                     }
37                                 }
38                                 
39                                 
40                                         public func getValueAsFundingGenerationReady() -> FundingGenerationReady? {
41                                                 if self.cOpaqueStruct?.tag != LDKEvent_FundingGenerationReady {
42                                                         return nil
43                                                 }
44                                                 return FundingGenerationReady(pointer: self.cOpaqueStruct!.funding_generation_ready)
45                                         }
46                                 
47                                         public func getValueAsPaymentReceived() -> PaymentReceived? {
48                                                 if self.cOpaqueStruct?.tag != LDKEvent_PaymentReceived {
49                                                         return nil
50                                                 }
51                                                 return PaymentReceived(pointer: self.cOpaqueStruct!.payment_received)
52                                         }
53                                 
54                                         public func getValueAsPaymentSent() -> PaymentSent? {
55                                                 if self.cOpaqueStruct?.tag != LDKEvent_PaymentSent {
56                                                         return nil
57                                                 }
58                                                 return PaymentSent(pointer: self.cOpaqueStruct!.payment_sent)
59                                         }
60                                 
61                                         public func getValueAsPaymentFailed() -> PaymentFailed? {
62                                                 if self.cOpaqueStruct?.tag != LDKEvent_PaymentFailed {
63                                                         return nil
64                                                 }
65                                                 return PaymentFailed(pointer: self.cOpaqueStruct!.payment_failed)
66                                         }
67                                 
68                                         public func getValueAsPendingHTLCsForwardable() -> PendingHTLCsForwardable? {
69                                                 if self.cOpaqueStruct?.tag != LDKEvent_PendingHTLCsForwardable {
70                                                         return nil
71                                                 }
72                                                 return PendingHTLCsForwardable(pointer: self.cOpaqueStruct!.pending_htl_cs_forwardable)
73                                         }
74                                 
75                                         public func getValueAsSpendableOutputs() -> SpendableOutputs? {
76                                                 if self.cOpaqueStruct?.tag != LDKEvent_SpendableOutputs {
77                                                         return nil
78                                                 }
79                                                 return SpendableOutputs(pointer: self.cOpaqueStruct!.spendable_outputs)
80                                         }
81                                 
82                         
83     /* OPTION_METHODS_END */
84
85         
86
87                         public class FundingGenerationReady {
88                                 
89                                 
90                                 var cOpaqueStruct: LDKEvent_LDKFundingGenerationReady_Body?;
91                                 fileprivate init(pointer: LDKEvent_LDKFundingGenerationReady_Body) {
92                                         self.cOpaqueStruct = pointer
93                                 }
94                         
95                                 
96                                 
97                                         public func getTemporary_channel_id() -> [UInt8] {
98                                                 return Bindings.LDKThirtyTwoBytes_to_array(nativeType: self.cOpaqueStruct!.temporary_channel_id)
99                                         }
100                                 
101                                         public func getChannel_value_satoshis() -> UInt64 {
102                                                 return self.cOpaqueStruct!.channel_value_satoshis
103                                         }
104                                 
105                                         public func getOutput_script() -> [UInt8] {
106                                                 return Bindings.LDKCVec_u8Z_to_array(nativeType: self.cOpaqueStruct!.output_script)
107                                         }
108                                 
109                                         public func getUser_channel_id() -> UInt64 {
110                                                 return self.cOpaqueStruct!.user_channel_id
111                                         }
112                                 
113                                 
114                         }
115                 
116
117                         public class PaymentReceived {
118                                 
119                                 
120                                 var cOpaqueStruct: LDKEvent_LDKPaymentReceived_Body?;
121                                 fileprivate init(pointer: LDKEvent_LDKPaymentReceived_Body) {
122                                         self.cOpaqueStruct = pointer
123                                 }
124                         
125                                 
126                                 
127                                         public func getPayment_hash() -> [UInt8] {
128                                                 return Bindings.LDKThirtyTwoBytes_to_array(nativeType: self.cOpaqueStruct!.payment_hash)
129                                         }
130                                 
131                                         public func getPayment_preimage() -> [UInt8] {
132                                                 return Bindings.LDKThirtyTwoBytes_to_array(nativeType: self.cOpaqueStruct!.payment_preimage)
133                                         }
134                                 
135                                         public func getPayment_secret() -> [UInt8] {
136                                                 return Bindings.LDKThirtyTwoBytes_to_array(nativeType: self.cOpaqueStruct!.payment_secret)
137                                         }
138                                 
139                                         public func getAmt() -> UInt64 {
140                                                 return self.cOpaqueStruct!.amt
141                                         }
142                                 
143                                         public func getUser_payment_id() -> UInt64 {
144                                                 return self.cOpaqueStruct!.user_payment_id
145                                         }
146                                 
147                                 
148                         }
149                 
150
151                         public class PaymentSent {
152                                 
153                                 
154                                 var cOpaqueStruct: LDKEvent_LDKPaymentSent_Body?;
155                                 fileprivate init(pointer: LDKEvent_LDKPaymentSent_Body) {
156                                         self.cOpaqueStruct = pointer
157                                 }
158                         
159                                 
160                                 
161                                         public func getPayment_preimage() -> [UInt8] {
162                                                 return Bindings.LDKThirtyTwoBytes_to_array(nativeType: self.cOpaqueStruct!.payment_preimage)
163                                         }
164                                 
165                                 
166                         }
167                 
168
169                         public class PaymentFailed {
170                                 
171                                 
172                                 var cOpaqueStruct: LDKEvent_LDKPaymentFailed_Body?;
173                                 fileprivate init(pointer: LDKEvent_LDKPaymentFailed_Body) {
174                                         self.cOpaqueStruct = pointer
175                                 }
176                         
177                                 
178                                 
179                                         public func getPayment_hash() -> [UInt8] {
180                                                 return Bindings.LDKThirtyTwoBytes_to_array(nativeType: self.cOpaqueStruct!.payment_hash)
181                                         }
182                                 
183                                         public func getRejected_by_dest() -> Bool {
184                                                 return self.cOpaqueStruct!.rejected_by_dest
185                                         }
186                                 
187                                 
188                         }
189                 
190
191                         public class PendingHTLCsForwardable {
192                                 
193                                 
194                                 var cOpaqueStruct: LDKEvent_LDKPendingHTLCsForwardable_Body?;
195                                 fileprivate init(pointer: LDKEvent_LDKPendingHTLCsForwardable_Body) {
196                                         self.cOpaqueStruct = pointer
197                                 }
198                         
199                                 
200                                 
201                                         public func getTime_forwardable() -> UInt64 {
202                                                 return self.cOpaqueStruct!.time_forwardable
203                                         }
204                                 
205                                 
206                         }
207                 
208
209                         public class SpendableOutputs {
210                                 
211                                 
212                                 var cOpaqueStruct: LDKEvent_LDKSpendableOutputs_Body?;
213                                 fileprivate init(pointer: LDKEvent_LDKSpendableOutputs_Body) {
214                                         self.cOpaqueStruct = pointer
215                                 }
216                         
217                                 
218                                 
219                                         public func getOutputs() -> [LDKSpendableOutputDescriptor] {
220                                                 return Bindings.LDKCVec_SpendableOutputDescriptorZ_to_array(nativeType: self.cOpaqueStruct!.outputs)
221                                         }
222                                 
223                                 
224                         }
225                 
226 }