|
@@ -306,15 +306,19 @@ class DcConfig {
|
|
class DcChatlist {
|
|
class DcChatlist {
|
|
private var chatListPointer: OpaquePointer?
|
|
private var chatListPointer: OpaquePointer?
|
|
|
|
|
|
- var length: Int {
|
|
|
|
- return dc_chatlist_get_cnt(chatListPointer)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
// takes ownership of specified pointer
|
|
// takes ownership of specified pointer
|
|
init(chatListPointer: OpaquePointer?) {
|
|
init(chatListPointer: OpaquePointer?) {
|
|
self.chatListPointer = chatListPointer
|
|
self.chatListPointer = chatListPointer
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ deinit {
|
|
|
|
+ dc_chatlist_unref(chatListPointer)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var length: Int {
|
|
|
|
+ return dc_chatlist_get_cnt(chatListPointer)
|
|
|
|
+ }
|
|
|
|
+
|
|
func getChatId(index: Int) -> Int {
|
|
func getChatId(index: Int) -> Int {
|
|
return Int(dc_chatlist_get_chat_id(chatListPointer, index))
|
|
return Int(dc_chatlist_get_chat_id(chatListPointer, index))
|
|
}
|
|
}
|
|
@@ -329,15 +333,23 @@ class DcChatlist {
|
|
}
|
|
}
|
|
return DcLot(lotPointer)
|
|
return DcLot(lotPointer)
|
|
}
|
|
}
|
|
-
|
|
|
|
- deinit {
|
|
|
|
- dc_chatlist_unref(chatListPointer)
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
class DcChat {
|
|
class DcChat {
|
|
var chatPointer: OpaquePointer?
|
|
var chatPointer: OpaquePointer?
|
|
|
|
|
|
|
|
+ init(id: Int) {
|
|
|
|
+ if let p = dc_get_chat(mailboxPointer, UInt32(id)) {
|
|
|
|
+ chatPointer = p
|
|
|
|
+ } else {
|
|
|
|
+ fatalError("Invalid chatID opened \(id)")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ deinit {
|
|
|
|
+ dc_chat_unref(chatPointer)
|
|
|
|
+ }
|
|
|
|
+
|
|
var id: Int {
|
|
var id: Int {
|
|
return Int(dc_chat_get_id(chatPointer))
|
|
return Int(dc_chat_get_id(chatPointer))
|
|
}
|
|
}
|
|
@@ -394,22 +406,18 @@ class DcChat {
|
|
}
|
|
}
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+class DcMsg: MessageType {
|
|
|
|
+ private var messagePointer: OpaquePointer?
|
|
|
|
|
|
init(id: Int) {
|
|
init(id: Int) {
|
|
- if let p = dc_get_chat(mailboxPointer, UInt32(id)) {
|
|
|
|
- chatPointer = p
|
|
|
|
- } else {
|
|
|
|
- fatalError("Invalid chatID opened \(id)")
|
|
|
|
- }
|
|
|
|
|
|
+ messagePointer = dc_get_msg(mailboxPointer, UInt32(id))
|
|
}
|
|
}
|
|
|
|
|
|
deinit {
|
|
deinit {
|
|
- dc_chat_unref(chatPointer)
|
|
|
|
|
|
+ dc_msg_unref(messagePointer)
|
|
}
|
|
}
|
|
-}
|
|
|
|
-
|
|
|
|
-class DcMsg: MessageType {
|
|
|
|
- private var messagePointer: OpaquePointer?
|
|
|
|
|
|
|
|
lazy var sender: SenderType = {
|
|
lazy var sender: SenderType = {
|
|
Sender(id: "\(fromContactId)", displayName: fromContact.name)
|
|
Sender(id: "\(fromContactId)", displayName: fromContact.name)
|
|
@@ -609,10 +617,6 @@ class DcMsg: MessageType {
|
|
return dc_msg_is_info(messagePointer) == 1
|
|
return dc_msg_is_info(messagePointer) == 1
|
|
}
|
|
}
|
|
|
|
|
|
- init(id: Int) {
|
|
|
|
- messagePointer = dc_get_msg(mailboxPointer, UInt32(id))
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
func summary(chars: Int) -> String? {
|
|
func summary(chars: Int) -> String? {
|
|
guard let result = dc_msg_get_summarytext(messagePointer, Int32(chars)) else { return nil }
|
|
guard let result = dc_msg_get_summarytext(messagePointer, Int32(chars)) else { return nil }
|
|
|
|
|
|
@@ -623,15 +627,19 @@ class DcMsg: MessageType {
|
|
let chatId = dc_create_chat_by_msg_id(mailboxPointer, UInt32(id))
|
|
let chatId = dc_create_chat_by_msg_id(mailboxPointer, UInt32(id))
|
|
return DcChat(id: Int(chatId))
|
|
return DcChat(id: Int(chatId))
|
|
}
|
|
}
|
|
-
|
|
|
|
- deinit {
|
|
|
|
- dc_msg_unref(messagePointer)
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
class DcContact {
|
|
class DcContact {
|
|
private var contactPointer: OpaquePointer?
|
|
private var contactPointer: OpaquePointer?
|
|
|
|
|
|
|
|
+ init(id: Int) {
|
|
|
|
+ contactPointer = dc_get_contact(mailboxPointer, UInt32(id))
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ deinit {
|
|
|
|
+ dc_contact_unref(contactPointer)
|
|
|
|
+ }
|
|
|
|
+
|
|
var nameNAddr: String {
|
|
var nameNAddr: String {
|
|
return String(cString: dc_contact_get_name_n_addr(contactPointer))
|
|
return String(cString: dc_contact_get_name_n_addr(contactPointer))
|
|
}
|
|
}
|
|
@@ -680,14 +688,6 @@ class DcContact {
|
|
return Int(dc_contact_get_id(contactPointer))
|
|
return Int(dc_contact_get_id(contactPointer))
|
|
}
|
|
}
|
|
|
|
|
|
- init(id: Int) {
|
|
|
|
- contactPointer = dc_get_contact(mailboxPointer, UInt32(id))
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- deinit {
|
|
|
|
- dc_contact_unref(contactPointer)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
func block() {
|
|
func block() {
|
|
dc_block_contact(mailboxPointer, UInt32(id), 1)
|
|
dc_block_contact(mailboxPointer, UInt32(id), 1)
|
|
}
|
|
}
|
|
@@ -704,6 +704,7 @@ class DcContact {
|
|
class DcLot {
|
|
class DcLot {
|
|
private var dcLotPointer: OpaquePointer?
|
|
private var dcLotPointer: OpaquePointer?
|
|
|
|
|
|
|
|
+ // takes ownership of specified pointer
|
|
init(_ dcLotPointer: OpaquePointer) {
|
|
init(_ dcLotPointer: OpaquePointer) {
|
|
self.dcLotPointer = dcLotPointer
|
|
self.dcLotPointer = dcLotPointer
|
|
}
|
|
}
|