1//
2// LKRoom.swift
3// LiveKitObjC
4//
5// Created by Antonio Scandurra on 01/09/22.
6//
7
8import Foundation
9import LiveKit
10
11public class LKRoom: RoomDelegate {
12 lazy var room = Room(delegate: self)
13
14 init() {
15 print("INIT!\n");
16 }
17
18 deinit {
19 print("DEINIT!\n");
20 }
21
22 public func connect(
23 url: String,
24 token: String,
25 callback: @convention(block) @escaping () -> Void
26 ) {
27 self.room.connect(url, token).then { room in
28 callback()
29 }
30 }
31
32}
33
34
35@_cdecl("LKRoomCreate")
36public func LKRoomCreate() -> UnsafeMutableRawPointer {
37 Unmanaged.passRetained(LKRoom()).toOpaque()
38}
39
40@_cdecl("LKRoomDestroy")
41public func LKRoomDestroy(ptr: UnsafeRawPointer) {
42 let _ = Unmanaged<LKRoom>.fromOpaque(ptr).takeRetainedValue();
43}
44
45