Initial checkin
[ldk-swift-linux] / LDKSwift / Sources / LDKSwift / traits / Logger.swift
1 import LDKCHeaders
2 import LDKCHeaders
3 open class Logger {
4
5     public var cOpaqueStruct: LDKLogger?;
6
7     public init() {
8
9         /* NATIVE_CALLBACKS_START */
10
11                 func logCallback(pointer: UnsafeRawPointer?, recordPointer: UnsafePointer<Int8>?) -> Void {
12                         let instance: Logger = Bindings.pointerToInstance(pointer: pointer!, sourceMarker: "Logger.swift::log")
13                         
14                                                                 var record: String? = nil
15                                                                 if let recordUnwrapped = recordPointer {
16                                                                         record = Bindings.UnsafeIntPointer_to_string(nativeType: recordUnwrapped)
17                                                                 }
18                                                         
19                         return instance.log(record: record);
20                 }
21
22                 func freeCallback(pointer: UnsafeMutableRawPointer?) -> Void {
23                         let instance: Logger = Bindings.pointerToInstance(pointer: pointer!, sourceMarker: "Logger.swift::free")
24                         
25                         return instance.free();
26                 }
27
28                 /* NATIVE_CALLBACKS_END */
29
30         self.cOpaqueStruct = LDKLogger(this_arg: Bindings.instanceToPointer(instance: self), 
31                         log: logCallback,
32                         free: freeCallback)
33     }
34
35     public init(pointer: LDKLogger){
36                 self.cOpaqueStruct = pointer
37         }
38
39     /* SWIFT_CALLBACKS_START */
40
41     open func log(record: String?) -> Void {
42         /* EDIT ME */
43                 
44     }
45
46     open func free() -> Void {
47         /* EDIT ME */
48                 
49     }
50
51     /* SWIFT_CALLBACKS_END */
52
53 }
54
55
56 public class NativelyImplementedLogger: Logger {
57         /* SWIFT_DEFAULT_CALLBACKS_START */
58
59         public override func log(record: String?) -> Void {
60                 
61                                 
62                                 self.cOpaqueStruct!.log(self.cOpaqueStruct!.this_arg, Bindings.string_to_unsafe_int8_pointer(string: record!))
63                                 
64                         
65         }
66
67         public override func free() -> Void {
68                 
69                                 
70                                 self.cOpaqueStruct!.free(self.cOpaqueStruct!.this_arg)
71                                 
72                         
73         }
74
75         /* SWIFT_DEFAULT_CALLBACKS_END */
76 }