Initial checkin
[ldk-swift-linux] / LDKSwift / Sources / LDKSwift / options / MonitorEvent.swift
1 import LDKCHeaders
2
3 public class MonitorEvent {
4
5     public internal(set) var cOpaqueStruct: LDKMonitorEvent?;
6
7         
8
9     public init(pointer: LDKMonitorEvent){
10                 self.cOpaqueStruct = pointer
11         }
12
13     /* OPTION_METHODS_START */
14
15                                 public enum MonitorEventValueType {
16                                         case HTLCEvent, CommitmentTxBroadcasted
17                                 }
18                                 
19                                 public func getValueType() -> MonitorEventValueType? {
20                                         switch self.cOpaqueStruct?.tag {
21                     
22                                         case LDKMonitorEvent_HTLCEvent:
23                                                 return .HTLCEvent
24                                         case LDKMonitorEvent_CommitmentTxBroadcasted:
25                                                 return .CommitmentTxBroadcasted
26                     default:
27                         return nil
28                     }
29                                 }
30                                 
31                                 
32                                         public func getValueAsHTLCEvent() -> HTLCUpdate? {
33                                                 if self.cOpaqueStruct?.tag != LDKMonitorEvent_HTLCEvent {
34                                                         return nil
35                                                 }
36                                                 return HTLCUpdate(pointer: self.cOpaqueStruct!.htlc_event)
37                                         }
38                                 
39                                         public func getValueAsCommitmentTxBroadcasted() -> OutPoint? {
40                                                 if self.cOpaqueStruct?.tag != LDKMonitorEvent_CommitmentTxBroadcasted {
41                                                         return nil
42                                                 }
43                                                 return OutPoint(pointer: self.cOpaqueStruct!.commitment_tx_broadcasted)
44                                         }
45                                 
46                         
47     /* OPTION_METHODS_END */
48
49         /* TYPE_CLASSES */
50 }