Initial checkin
[ldk-swift-linux] / LDKSwift / Sources / LDKSwift / structs / Route.swift
1 import LDKCHeaders
2
3 public class Route {
4
5     public internal(set) var cOpaqueStruct: LDKRoute?;
6
7         /* DEFAULT_CONSTRUCTOR_START */
8     public init(paths_arg: [[LDKRouteHop]]) {
9         
10         self.cOpaqueStruct = Route_new(Bindings.new_LDKCVec_CVec_RouteHopZZ(array: paths_arg))
11     }
12     /* DEFAULT_CONSTRUCTOR_END */
13
14     public init(pointer: LDKRoute){
15                 self.cOpaqueStruct = pointer
16         }
17
18     /* STRUCT_METHODS_START */
19
20     public func set_paths(val: [[LDKRouteHop]]) -> Void {
21         
22                                                         let this_ptrPointer = UnsafeMutablePointer<LDKRoute>.allocate(capacity: 1)
23                                                         this_ptrPointer.initialize(to: self.cOpaqueStruct!)
24                                                 
25         return Route_set_paths(this_ptrPointer, Bindings.new_LDKCVec_CVec_RouteHopZZ(array: val));
26     }
27
28     public func clone(orig: Route) -> Route {
29         
30         return withUnsafePointer(to: orig.cOpaqueStruct!) { (origPointer: UnsafePointer<LDKRoute>) in
31 Route(pointer: Route_clone(origPointer))
32 };
33     }
34
35     public func write(obj: Route) -> [UInt8] {
36         
37         return Bindings.LDKCVec_u8Z_to_array(nativeType: withUnsafePointer(to: obj.cOpaqueStruct!) { (objPointer: UnsafePointer<LDKRoute>) in
38 Route_write(objPointer)
39 });
40     }
41
42     public func read(ser: [UInt8]) -> Result_RouteDecodeErrorZ {
43         
44         return Result_RouteDecodeErrorZ(pointer: Route_read(Bindings.new_LDKu8slice(array: ser)));
45     }
46
47                                 
48         deinit {
49                                         if self.cOpaqueStruct?.is_owned == false {
50
51                                         
52                                         
53                 Route_free(self.cOpaqueStruct!)
54                                         
55 }
56                                 
57         }
58                         
59     /* STRUCT_METHODS_END */
60
61 }