|
@@ -203,6 +203,11 @@ class DcContext {
|
|
|
func updateDeviceChats() {
|
|
|
dc_update_device_chats(contextPointer)
|
|
|
}
|
|
|
+
|
|
|
+ func getProviderFromEmail(addr: String) -> DcProvider? {
|
|
|
+ guard let dcProviderPointer = dc_provider_new_from_email(contextPointer, addr) else { return nil }
|
|
|
+ return DcProvider(dcProviderPointer)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
class DcConfig {
|
|
@@ -988,6 +993,37 @@ class DcLot {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+class DcProvider {
|
|
|
+ private var dcProviderPointer: OpaquePointer?
|
|
|
+
|
|
|
+ // takes ownership of specified pointer
|
|
|
+ init(_ dcProviderPointer: OpaquePointer) {
|
|
|
+ self.dcProviderPointer = dcProviderPointer
|
|
|
+ }
|
|
|
+
|
|
|
+ deinit {
|
|
|
+ dc_provider_unref(dcProviderPointer)
|
|
|
+ }
|
|
|
+
|
|
|
+ var status: Int32 {
|
|
|
+ return dc_provider_get_status(dcProviderPointer)
|
|
|
+ }
|
|
|
+
|
|
|
+ var beforeLoginHint: String {
|
|
|
+ guard let cString = dc_provider_get_before_login_hint(dcProviderPointer) else { return "" }
|
|
|
+ let swiftString = String(cString: cString)
|
|
|
+ dc_str_unref(cString)
|
|
|
+ return swiftString
|
|
|
+ }
|
|
|
+
|
|
|
+ var getOverviewPage: String {
|
|
|
+ guard let cString = dc_provider_get_overview_page(dcProviderPointer) else { return "" }
|
|
|
+ let swiftString = String(cString: cString)
|
|
|
+ dc_str_unref(cString)
|
|
|
+ return swiftString
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
enum ChatType: Int {
|
|
|
case SINGLE = 100
|
|
|
case GROUP = 120
|