new add ios support

main
hrxiang 4 years ago
parent d613703524
commit 073b91ba99
  1. 7
      android/build.gradle
  2. 20
      android/src/main/java/io/openim/flutter_openim_sdk/FlutterOpenimSdkPlugin.java
  3. 11
      android/src/main/java/io/openim/flutter_openim_sdk/listener/AdvancedMsgListenerImpl.java
  4. 5
      android/src/main/java/io/openim/flutter_openim_sdk/listener/BaseImpl.java
  5. 17
      android/src/main/java/io/openim/flutter_openim_sdk/listener/ConversationListenerImpl.java
  6. 24
      android/src/main/java/io/openim/flutter_openim_sdk/listener/FriendshipListenerImpl.java
  7. 15
      android/src/main/java/io/openim/flutter_openim_sdk/listener/MsgSendProgressListener.java
  8. 18
      android/src/main/java/io/openim/flutter_openim_sdk/listener/SDKListenerImpl.java
  9. 7
      android/src/main/java/io/openim/flutter_openim_sdk/manager/ConversationManager.java
  10. 7
      android/src/main/java/io/openim/flutter_openim_sdk/manager/FriendshipManager.java
  11. 6
      android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java
  12. 8
      android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java
  13. 12
      android/src/main/java/io/openim/flutter_openim_sdk/manager/MessageManager.java
  14. 9
      android/src/main/java/io/openim/flutter_openim_sdk/util/CommonUtil.java
  15. 71
      android/src/main/java/io/openim/flutter_openim_sdk/util/JsonUtil.java
  16. 344
      ios/Classes/CommonUtil.swift
  17. 27
      ios/Classes/JsonUtil.swift
  18. 88
      ios/Classes/Module/ConversationManager.swift
  19. 126
      ios/Classes/Module/FriendshipManager.swift
  20. 74
      ios/Classes/Module/GroupManager.swift
  21. 101
      ios/Classes/Module/IMManager.swift
  22. 187
      ios/Classes/Module/MessageManager.swift
  23. 196
      ios/Classes/SwiftFlutterOpenimSdkPlugin.swift
  24. 13
      ios/Framework/OpenIMCore.framework/Headers/OpenIMCore.h
  25. 882
      ios/Framework/OpenIMCore.framework/Headers/Open_im_sdk.objc.h
  26. 29
      ios/Framework/OpenIMCore.framework/Headers/Universe.objc.h
  27. 35
      ios/Framework/OpenIMCore.framework/Headers/ref.h
  28. 8
      ios/Framework/OpenIMCore.framework/Modules/module.modulemap
  29. BIN
      ios/Framework/OpenIMCore.framework/OpenIMCore
  30. 6
      ios/Framework/OpenIMCore.framework/Resources/Info.plist
  31. 13
      ios/Framework/OpenIMCore.framework/Versions/A/Headers/OpenIMCore.h
  32. 882
      ios/Framework/OpenIMCore.framework/Versions/A/Headers/Open_im_sdk.objc.h
  33. 29
      ios/Framework/OpenIMCore.framework/Versions/A/Headers/Universe.objc.h
  34. 35
      ios/Framework/OpenIMCore.framework/Versions/A/Headers/ref.h
  35. 8
      ios/Framework/OpenIMCore.framework/Versions/A/Modules/module.modulemap
  36. BIN
      ios/Framework/OpenIMCore.framework/Versions/A/OpenIMCore
  37. 6
      ios/Framework/OpenIMCore.framework/Versions/A/Resources/Info.plist
  38. 13
      ios/Framework/OpenIMCore.framework/Versions/Current/Headers/OpenIMCore.h
  39. 882
      ios/Framework/OpenIMCore.framework/Versions/Current/Headers/Open_im_sdk.objc.h
  40. 29
      ios/Framework/OpenIMCore.framework/Versions/Current/Headers/Universe.objc.h
  41. 35
      ios/Framework/OpenIMCore.framework/Versions/Current/Headers/ref.h
  42. 8
      ios/Framework/OpenIMCore.framework/Versions/Current/Modules/module.modulemap
  43. BIN
      ios/Framework/OpenIMCore.framework/Versions/Current/OpenIMCore
  44. 6
      ios/Framework/OpenIMCore.framework/Versions/Current/Resources/Info.plist
  45. 1
      ios/flutter_openim_sdk.podspec
  46. 196
      lib/src/manager/im_group_manager.dart
  47. 226
      lib/src/models/group_info.dart

@ -9,7 +9,7 @@ buildscript {
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
google()
maven {
url 'http://127.0.0.1:8081/repository/maven-releases/' //Browse下maven-release右边有一个copy按钮
url 'http://127.0.0.1:8081/repository/maven-releases/'
}
mavenCentral()
}
@ -27,7 +27,7 @@ rootProject.allprojects {
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
google()
maven {
url 'http://127.0.0.1:8081/repository/maven-releases' //Browse下maven-release右边有一个copy按钮
url 'http://127.0.0.1:8081/repository/maven-releases'
}
mavenCentral()
}
@ -47,6 +47,5 @@ android {
}
}
dependencies {
implementation 'com.alibaba:fastjson:1.1.72.android'
implementation 'io.openim:localsdk:1.1.4@aar'//graoupId:artifactId:version@aar
implementation 'io.openim:localsdk:1.2.6@aar'//graoupId:artifactId:version@aar
}

@ -8,6 +8,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import io.flutter.Log;
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
@ -28,6 +29,7 @@ public class FlutterOpenimSdkPlugin implements FlutterPlugin, MethodCallHandler
///
/// This local reference serves to register the plugin with the Flutter Engine and unregister it
/// when the Flutter Engine is detached from the Activity
public static MethodChannel channel;
private static IMManager imManager;
private static FriendshipManager friendshipManager;
@ -37,17 +39,17 @@ public class FlutterOpenimSdkPlugin implements FlutterPlugin, MethodCallHandler
public FlutterOpenimSdkPlugin() {
}
private FlutterOpenimSdkPlugin(Context context, MethodChannel channel) {
FlutterOpenimSdkPlugin.imManager = new IMManager(channel);
FlutterOpenimSdkPlugin.friendshipManager = new FriendshipManager(channel);
FlutterOpenimSdkPlugin.messageManager = new MessageManager(channel);
FlutterOpenimSdkPlugin.conversationManager = new ConversationManager(channel);
private FlutterOpenimSdkPlugin(Context context) {
FlutterOpenimSdkPlugin.imManager = new IMManager();
FlutterOpenimSdkPlugin.friendshipManager = new FriendshipManager();
FlutterOpenimSdkPlugin.messageManager = new MessageManager();
FlutterOpenimSdkPlugin.conversationManager = new ConversationManager();
}
@Override
public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "flutter_openim_sdk");
channel.setMethodCallHandler(new FlutterOpenimSdkPlugin(flutterPluginBinding.getApplicationContext(), channel));
FlutterOpenimSdkPlugin.channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "flutter_openim_sdk");
FlutterOpenimSdkPlugin.channel.setMethodCallHandler(new FlutterOpenimSdkPlugin(flutterPluginBinding.getApplicationContext()));
// channel.setMethodCallHandler(this);
}
@ -58,7 +60,7 @@ public class FlutterOpenimSdkPlugin implements FlutterPlugin, MethodCallHandler
@Override
public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
channel.setMethodCallHandler(null);
FlutterOpenimSdkPlugin.channel.setMethodCallHandler(null);
}
void parse(@NonNull MethodCall call, @NonNull Result result) {
@ -66,7 +68,7 @@ public class FlutterOpenimSdkPlugin implements FlutterPlugin, MethodCallHandler
String managerName = CommonUtil.getParamValue(call, "ManagerName");
Field field = FlutterOpenimSdkPlugin.class.getDeclaredField(managerName);
Method method = field.get(new Object()).getClass().getDeclaredMethod(call.method, MethodCall.class, Result.class);
System.out.println("flutter call native { class:" + managerName + ", method:" + method.getName() + " }");
Log.i("F-OpenIMSDK(flutter call native)", "{ class:" + managerName + ", method:" + method.getName() + " }");
method.invoke(field.get(new Object()), call, result);
} catch (NoSuchFieldException e) {
e.printStackTrace();

@ -3,34 +3,31 @@ package io.openim.flutter_openim_sdk.listener;
import java.util.HashMap;
import java.util.Map;
import io.flutter.plugin.common.MethodChannel;
import io.openim.flutter_openim_sdk.util.CommonUtil;
import open_im_sdk.OnAdvancedMsgListener;
public class AdvancedMsgListenerImpl implements OnAdvancedMsgListener {
final MethodChannel channel;
final Map<String, String> values = new HashMap<>();
public AdvancedMsgListenerImpl(MethodChannel channel, String listenerId) {
this.channel = channel;
public AdvancedMsgListenerImpl(String listenerId) {
this.values.put("id", listenerId);
}
@Override
public void onRecvC2CReadReceipt(String s) {
values.put("message", s);
CommonUtil.emitEvent(channel, "advancedMsgListener", "onRecvC2CReadReceipt", values);
CommonUtil.emitEvent("advancedMsgListener", "onRecvC2CReadReceipt", values);
}
@Override
public void onRecvMessageRevoked(String s) {
values.put("message", s);
CommonUtil.emitEvent(channel, "advancedMsgListener", "onRecvMessageRevoked", values);
CommonUtil.emitEvent("advancedMsgListener", "onRecvMessageRevoked", values);
}
@Override
public void onRecvNewMessage(String s) {
values.put("message", s);
CommonUtil.emitEvent(channel, "advancedMsgListener", "onRecvNewMessage", values);
CommonUtil.emitEvent("advancedMsgListener", "onRecvNewMessage", values);
}
}

@ -1,6 +1,7 @@
package io.openim.flutter_openim_sdk.listener;
import io.flutter.Log;
import io.flutter.plugin.common.MethodChannel;
import io.openim.flutter_openim_sdk.util.CommonUtil;
import open_im_sdk.Base;
@ -15,13 +16,13 @@ public class BaseImpl implements Base {
@Override
public void onError(long l, String s) {
System.out.println("BaseImpl:" + s);
Log.e("F-OpenIMSD(callback)", s);
CommonUtil.runMainThreadReturnError(result, l, s, null);
}
@Override
public void onSuccess(String s) {
System.out.println("BaseImpl:" + s);
Log.i("F-OpenIMSDK(callback)", s);
CommonUtil.runMainThreadReturn(result, s);
}
}

@ -1,43 +1,38 @@
package io.openim.flutter_openim_sdk.listener;
import io.flutter.plugin.common.MethodChannel;
import io.openim.flutter_openim_sdk.util.CommonUtil;
import open_im_sdk.OnConversationListener;
public class ConversationListenerImpl implements OnConversationListener {
private final MethodChannel channel;
public ConversationListenerImpl(MethodChannel channel) {
this.channel = channel;
}
@Override
public void onConversationChanged(String s) {
CommonUtil.emitEvent(channel, "conversationListener", "onConversationChanged", s);
CommonUtil.emitEvent("conversationListener", "onConversationChanged", s);
}
@Override
public void onNewConversation(String s) {
CommonUtil.emitEvent(channel, "conversationListener", "onNewConversation", s);
CommonUtil.emitEvent("conversationListener", "onNewConversation", s);
}
@Override
public void onSyncServerFailed() {
CommonUtil.emitEvent(channel, "conversationListener", "onSyncServerFailed", null);
CommonUtil.emitEvent("conversationListener", "onSyncServerFailed", null);
}
@Override
public void onSyncServerFinish() {
CommonUtil.emitEvent(channel, "conversationListener", "onSyncServerFinish", null);
CommonUtil.emitEvent("conversationListener", "onSyncServerFinish", null);
}
@Override
public void onSyncServerStart() {
CommonUtil.emitEvent(channel, "conversationListener", "onSyncServerStart", null);
CommonUtil.emitEvent("conversationListener", "onSyncServerStart", null);
}
@Override
public void onTotalUnreadMessageCountChanged(int i) {
CommonUtil.emitEvent(channel, "conversationListener", "onTotalUnreadMessageCountChanged", i);
CommonUtil.emitEvent("conversationListener", "onTotalUnreadMessageCountChanged", i);
}
}

@ -1,58 +1,52 @@
package io.openim.flutter_openim_sdk.listener;
import io.flutter.plugin.common.MethodChannel;
import io.openim.flutter_openim_sdk.util.CommonUtil;
import open_im_sdk.OnFriendshipListener;
public class FriendshipListenerImpl implements OnFriendshipListener {
private final MethodChannel channel;
public FriendshipListenerImpl(MethodChannel channel) {
this.channel = channel;
}
@Override
public void onBlackListAdd(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onBlackListAdd", s);
CommonUtil.emitEvent("friendListener", "onBlackListAdd", s);
}
@Override
public void onBlackListDeleted(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onBlackListDeleted", s);
CommonUtil.emitEvent("friendListener", "onBlackListDeleted", s);
}
@Override
public void onFriendApplicationListAccept(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onFriendApplicationListAccept", s);
CommonUtil.emitEvent("friendListener", "onFriendApplicationListAccept", s);
}
@Override
public void onFriendApplicationListAdded(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onFriendApplicationListAdded", s);
CommonUtil.emitEvent("friendListener", "onFriendApplicationListAdded", s);
}
@Override
public void onFriendApplicationListDeleted(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onFriendApplicationListDeleted", s);
CommonUtil.emitEvent("friendListener", "onFriendApplicationListDeleted", s);
}
@Override
public void onFriendApplicationListReject(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onFriendApplicationListReject", s);
CommonUtil.emitEvent("friendListener", "onFriendApplicationListReject", s);
}
@Override
public void onFriendInfoChanged(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onFriendInfoChanged", s);
CommonUtil.emitEvent("friendListener", "onFriendInfoChanged", s);
}
@Override
public void onFriendListAdded(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onFriendListAdded", s);
CommonUtil.emitEvent("friendListener", "onFriendListAdded", s);
}
@Override
public void onFriendListDeleted(String s) {
CommonUtil.emitEvent(channel, "friendListener", "onFriendListDeleted", s);
CommonUtil.emitEvent("friendListener", "onFriendListDeleted", s);
}
}

@ -9,19 +9,14 @@ import io.openim.flutter_openim_sdk.util.CommonUtil;
import open_im_sdk.SendMsgCallBack;
public class MsgSendProgressListener implements SendMsgCallBack {
public MsgSendProgressListener(MethodChannel.Result result, MethodChannel channel, MethodCall call) {
this.result = result;
this.channel = channel;
this.call = call;
}
final private MethodChannel.Result result;
final private MethodChannel channel;
final private MethodCall call;
final Map<String, Object> values = new HashMap<>();
public MsgSendProgressListener(MethodChannel.Result result, MethodCall call) {
this.result = result;
this.call = call;
}
@Override
public void onError(long l, String s) {
@ -32,7 +27,7 @@ public class MsgSendProgressListener implements SendMsgCallBack {
public void onProgress(long l) {
values.put("clientMsgID", CommonUtil.getSendMessageClientMsgID(call));
values.put("progress", l);
CommonUtil.emitEvent(channel, "messageProgressListener", "onProgress", values);
CommonUtil.emitEvent("msgSendProgressListener", "onProgress", values);
}
@Override

@ -1,44 +1,38 @@
package io.openim.flutter_openim_sdk.listener;
import io.flutter.plugin.common.MethodChannel;
import io.openim.flutter_openim_sdk.util.CommonUtil;
import open_im_sdk.IMSDKListener;
public class SDKListenerImpl implements IMSDKListener {
final private MethodChannel channel;
public SDKListenerImpl(MethodChannel channel) {
this.channel = channel;
}
@Override
public void onConnectFailed(long l, String s) {
CommonUtil.emitEvent(channel, "initSDKListener", "onConnectFailed", l, s, null);
CommonUtil.emitEvent("initSDKListener", "onConnectFailed", l, s, null);
}
@Override
public void onConnectSuccess() {
CommonUtil.emitEvent(channel, "initSDKListener", "onConnectSuccess", null);
CommonUtil.emitEvent("initSDKListener", "onConnectSuccess", null);
}
@Override
public void onConnecting() {
CommonUtil.emitEvent(channel, "initSDKListener", "onConnecting", null);
CommonUtil.emitEvent("initSDKListener", "onConnecting", null);
}
@Override
public void onKickedOffline() {
CommonUtil.emitEvent(channel, "initSDKListener", "onKickedOffline", null);
CommonUtil.emitEvent("initSDKListener", "onKickedOffline", null);
}
@Override
public void onSelfInfoUpdated(String s) {
CommonUtil.emitEvent(channel, "initSDKListener", "onSelfInfoUpdated", s);
CommonUtil.emitEvent("initSDKListener", "onSelfInfoUpdated", s);
}
@Override
public void onUserTokenExpired() {
CommonUtil.emitEvent(channel, "initSDKListener", "onUserTokenExpired", null);
CommonUtil.emitEvent("initSDKListener", "onUserTokenExpired", null);
}
}

@ -8,14 +8,9 @@ import io.openim.flutter_openim_sdk.util.CommonUtil;
import open_im_sdk.Open_im_sdk;
public class ConversationManager {
final private MethodChannel channel;
public ConversationManager(MethodChannel channel) {
this.channel = channel;
}
public void setConversationListener(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.setConversationListener(new ConversationListenerImpl(channel));
Open_im_sdk.setConversationListener(new ConversationListenerImpl());
}
public void getAllConversationList(MethodCall methodCall, MethodChannel.Result result) {

@ -9,14 +9,9 @@ import open_im_sdk.Open_im_sdk;
public class FriendshipManager {
final private MethodChannel channel;
public FriendshipManager(MethodChannel channel) {
this.channel = channel;
}
public void setFriendListener(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.setFriendListener(new FriendshipListenerImpl(channel));
Open_im_sdk.setFriendListener(new FriendshipListenerImpl());
}
public void getFriendsInfo(MethodCall methodCall, MethodChannel.Result result) {

@ -0,0 +1,6 @@
package io.openim.flutter_openim_sdk.manager;
public class GroupManager {
}

@ -9,14 +9,8 @@ import open_im_sdk.Open_im_sdk;
public class IMManager {
final private MethodChannel channel;
public IMManager(MethodChannel channel) {
this.channel = channel;
}
public void initSDK(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.initSDK(CommonUtil.getSDKJsonParam(methodCall), new SDKListenerImpl(channel));
Open_im_sdk.initSDK(CommonUtil.getSDKJsonParam(methodCall), new SDKListenerImpl());
CommonUtil.runMainThreadReturn(result, null);
}

@ -1,5 +1,7 @@
package io.openim.flutter_openim_sdk.manager;
import android.content.Context;
import java.util.HashMap;
import java.util.Map;
@ -15,18 +17,12 @@ import open_im_sdk.Open_im_sdk;
public class MessageManager {
private final static String KEY_ID = "id";
private final MethodChannel channel;
private final static Map<String, OnAdvancedMsgListener> listeners = new HashMap<>();
public MessageManager(MethodChannel channel) {
this.channel = channel;
}
public void addAdvancedMsgListener(MethodCall methodCall, MethodChannel.Result result) {
String key = methodCall.argument(KEY_ID);
if (!listeners.containsKey(key)) {
AdvancedMsgListenerImpl listener = new AdvancedMsgListenerImpl(channel, key);
AdvancedMsgListenerImpl listener = new AdvancedMsgListenerImpl(key);
listeners.put(methodCall.argument(KEY_ID), listener);
Open_im_sdk.addAdvancedMsgListener(listener);
}
@ -39,7 +35,7 @@ public class MessageManager {
}
public void sendMessage(MethodCall methodCall, MethodChannel.Result result) {
MsgSendProgressListener listener = new MsgSendProgressListener(result, channel, methodCall);
MsgSendProgressListener listener = new MsgSendProgressListener(result, methodCall);
Open_im_sdk.sendMessage(listener, CommonUtil.getSendMessageContent(methodCall), CommonUtil.getSendMessageReceiver(methodCall), CommonUtil.geSendMessageGroupId(methodCall), CommonUtil.getSendMessageOnlineOnly(methodCall));
}

@ -6,6 +6,7 @@ import android.os.Looper;
import java.util.HashMap;
import java.util.Map;
import io.flutter.Log;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.openim.flutter_openim_sdk.FlutterOpenimSdkPlugin;
@ -53,7 +54,7 @@ public class CommonUtil {
runMainThreadReturnError(result, String.valueOf(errorCode), errorMessage, errorDetails);
}
public static <T> void emitEvent(MethodChannel channel, String method, String type, Long errCode, String errMsg, T data) {
public static <T> void emitEvent(String method, String type, Long errCode, String errMsg, T data) {
runMainThread(new Runnable() {
@Override
public void run() {
@ -70,14 +71,14 @@ public class CommonUtil {
if (null != errMsg) {
res.put("errMsg", errMsg);
}
System.out.println("native call flutter { method:" + method + ", type:" + type + " }");
Log.i("F-OpenIMSDK(native call flutter)", "{ method:" + method + ", type:" + type + " }");
FlutterOpenimSdkPlugin.channel.invokeMethod(method, res);
}
});
}
public static <T> void emitEvent(MethodChannel channel, String method, String type, T data) {
emitEvent(channel, method, type, null, null, data);
public static <T> void emitEvent(String method, String type, T data) {
emitEvent(method, type, null, null, data);
}

@ -1,70 +1,13 @@
package io.openim.flutter_openim_sdk.util;
import android.text.TextUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import java.util.List;
import java.util.Map;
import static com.alibaba.fastjson.JSON.parseObject;
import org.json.JSONObject;
public class JsonUtil {
public static String toString(Object object) {
if (object == null) {
return "";
}
try {
return JSON.toJSONString(object);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static <T> T toObj(String jsonData, Class<T> clazz) {
T t = null;
if (TextUtils.isEmpty(jsonData)) {
return null;
}
try {
t = parseObject(jsonData, clazz);
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
public static <T> List<T> toList(String jsonData, Class<T> clazz) {
List<T> list = null;
try {
list = JSON.parseArray(jsonData, clazz);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
/**
* json转化为Map fastjson 使用方式
*/
public static Map toMap(String jsonData) {
if (TextUtils.isEmpty(jsonData)) {
return null;
}
Map map = null;
try {
map = parseObject(jsonData, new TypeReference<Map>() {
});
} catch (Exception e) {
e.printStackTrace();
public static String toString(Object o) {
Object obj = JSONObject.wrap(o);
if (null != obj) {
return obj.toString();
}
return map;
return null;
}
}
}

@ -0,0 +1,344 @@
//
// CommonUtil.swift
// Runner
//
// Created by z1u24 on 2021/6/28.
//
import Foundation
public class CommonUtil {
public static func getParamValue(methodCall:FlutterMethodCall, param: String)->Any? {
let argument = methodCall.arguments as! NSDictionary
let arg = argument.value(forKey: param)
return arg;
}
public static func getSDKJsonParam(methodCall: FlutterMethodCall, key: String) -> String{
let argument = methodCall.arguments as! NSDictionary
let arg = argument.value(forKey: key) as AnyObject
return JsonUtil.toString(object: arg);
}
public static func getSDKJsonParam(methodCall: FlutterMethodCall) -> String{
let argument = methodCall.arguments as AnyObject
let s = JsonUtil.toString(object: argument)
return s
}
public static func emitEvent(channel: FlutterMethodChannel, method: String, type: String, errCode: Int?, errMsg: String?, data: Any?){
DispatchQueue.main.async {
let res: NSMutableDictionary = NSMutableDictionary(capacity: 0)
res.setValue(type, forKey: "type")
if (data != nil) {
res.setValue(data, forKey: "data");
}
if (nil != errCode) {
res.setValue(errCode, forKey: "errCode");
}
if (nil != errMsg) {
res.setValue(errMsg, forKey: "errMsg");
}
print("native call flutter { method: \(method) type: \(type) }")
channel.invokeMethod(method, arguments: res)
}
}
public static func getUid(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_LOGIN_UID) as! String
return result
}
public static func getToken(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_LOGIN_TOKEN) as! String
return result
}
public static func getUidList(methodCall: FlutterMethodCall)->String{
let result = getParamValue(methodCall: methodCall, param: KEY_UID_LIST) as AnyObject
let r = JsonUtil.toString(object: result)
return r
}
public static func getUserUid(methodCall: FlutterMethodCall)->String{
let result = getParamValue(methodCall: methodCall, param: KEY_LOGIN_UID) as AnyObject
let r = JsonUtil.toString(object: result)
return r
}
public static func getDeleteUid(methodCall: FlutterMethodCall)->String{
let result = getParamValue(methodCall: methodCall, param: KEY_DELETE_UID) as AnyObject
let r = JsonUtil.toString(object: result)
return r
}
public static func getMessageText(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_TEXT) as! String
return result
}
public static func getAtUserList(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_AT_USER_LIST) as! String
return result
}
public static func getImagePath(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_IMAGE_PATH) as! String
return result
}
public static func getSoundPath(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_SOUND_PATH) as! String
return result
}
public static func getSoundDuration(methodCall: FlutterMethodCall)->Int64{
let result: Int64 = getParamValue(methodCall: methodCall, param: KEY_SOUND_DURATION) as! Int64
return result
}
public static func getVideoPath(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_VIDEO_PATH) as! String
return result
}
public static func getVideoType(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_VIDEO_TYPE) as! String
return result
}
public static func getVideoDuration(methodCall: FlutterMethodCall)->Int64{
let result: Int64 = getParamValue(methodCall: methodCall, param: KEY_VIDEO_DURATION) as! Int64
return result
}
public static func getVideoSnapshotPath(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_VIDEO_SNAPSHOT_PATH) as! String
return result
}
public static func getFilePath(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_FILE_PATH) as! String
return result
}
public static func getFileName(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_FILE_NAME) as! String
return result
}
public static func getMergerMessageList(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_MERGER_MESSAGE_LIST) as! String
return result
}
public static func getMergerMessageTitle(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_MERGER_MESSAGE_TITLE) as! String
return result
}
public static func getSummaryList(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_SUMMARY_LIST) as! String
return result
}
public static func getForwardMessage(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_FORWARD_MESSAGE) as! String
return result
}
public static func getSendMessageContent(methodCall: FlutterMethodCall)->String{
let result = getParamValue(methodCall: methodCall, param: KEY_SEND_MESSAGE_CONTENT)
if result is NSDictionary && result != nil {
return JsonUtil.toString(object: result as? NSDictionary)
}
return result as! String
}
public static func getSendMessageClientMsgID(methodCall: FlutterMethodCall)->String{
let r = getParamValue(methodCall: methodCall, param: KEY_SEND_MESSAGE_CONTENT) as! NSDictionary
let result = r.value(forKey: KEY_SEND_MESSAGE_CONTENT_CLIENT_ID)
return result as! String
}
public static func getSendMessageReceiver(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_SEND_MESSAGE_RECEIVER) as! String
return result
}
public static func getSendMessageGroupId(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_SEND_MESSAGE_GROUP_ID) as! String
return result
}
public static func getSendMessageOnlineOnly(methodCall: FlutterMethodCall)->Bool{
let result: Int = getParamValue(methodCall: methodCall, param: KEY_SEND_MESSAGE_ONLINE_ONLY) as! Int
return (result != 0)
}
public static func getSingleMessageContent(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_SINGLE_MESSAGE_CONTENT) as! String
return result
}
public static func getSingleMessageUserid(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_SINGLE_MESSAGE_USERID) as! String
return result
}
public static func getSingleMessageSender(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_SINGLE_MESSAGE_SENDER) as! String
return result
}
public static func getFindMessageIds(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_FIND_MESSAGE_IDS) as! String
return result
}
public static func getConversationId(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_CONVERSATION_ID) as! String
return result
}
public static func getConversationIds(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_CONVERSATION_IDS) as! String
return result
}
public static func getConversationDraft(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_CONVERSATION_DRAFT) as! String
return result
}
public static func isPinnedConversation(methodCall: FlutterMethodCall)->Bool{
let result: Int = getParamValue(methodCall: methodCall, param: KEY_SINGLE_MESSAGE_USERID) as! Int
return (result != 0)
}
public static func getSessionType(methodCall: FlutterMethodCall)->Int{
let result: Int = getParamValue(methodCall: methodCall, param: KEY_CONVERSATION_SESSION) as! Int
return result
}
/**
* group
*/
public static func getGroupId(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_ID) as! String
return result
}
public static func getGroupReason(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_REASON) as! String
return result
}
public static func getGroupUserList(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_USERLIST) as! String
return result
}
public static func getGroupFilter(methodCall: FlutterMethodCall)->Int32{
let result: Int32 = getParamValue(methodCall: methodCall, param: KEY_GROUP_FILTER) as! Int32
return result
}
public static func getGroupNext(methodCall: FlutterMethodCall)->Int32{
let result: Int32 = getParamValue(methodCall: methodCall, param: KEY_GROUP_NEXT) as! Int32
return result
}
public static func getGroupInfo(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_INFO) as! String
return result
}
public static func getGroupMemberList(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_MEMBERLIST) as! String
return result
}
public static func getGroupJsonInfo(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_JSONINFO) as! String
return result
}
public static func getGroupIdList(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_IDLIST) as! String
return result
}
public static func getGroupMessage(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_MESSAGE) as! String
return result
}
public static func getGroupUserId(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_USER_ID) as! String
return result
}
public static func getGroupApplication(methodCall: FlutterMethodCall)->String{
let result: String = getParamValue(methodCall: methodCall, param: KEY_GROUP_APPLICATION) as! String
return result
}
//login
private static let KEY_LOGIN_UID: String = "uid";
private static let KEY_LOGIN_TOKEN: String = "token";
//userinfo
private static let KEY_UID_LIST: String = "uidList";
private static let KEY_DELETE_UID: String = "deleteUid";
//create message body
private static let KEY_TEXT: String = "text";
private static let KEY_AT_USER_LIST: String = "atUserList";
private static let KEY_IMAGE_PATH: String = "imagePath";
private static let KEY_SOUND_PATH: String = "soundPath";
private static let KEY_SOUND_DURATION: String = "duration";
private static let KEY_VIDEO_PATH: String = "videoPath";
private static let KEY_VIDEO_TYPE: String = "videoType";
private static let KEY_VIDEO_DURATION: String = "duration";
private static let KEY_VIDEO_SNAPSHOT_PATH: String = "snapshotPath";
private static let KEY_FILE_PATH: String = "filePath";
private static let KEY_FILE_NAME: String = "fileName";
private static let KEY_MERGER_MESSAGE_LIST: String = "messageList";
private static let KEY_MERGER_MESSAGE_TITLE: String = "title";
private static let KEY_SUMMARY_LIST: String = "summaryList";
private static let KEY_FORWARD_MESSAGE: String = "message";
//send message
private static let KEY_SEND_MESSAGE_CONTENT: String = "message";
private static let KEY_SEND_MESSAGE_CONTENT_CLIENT_ID: String = "clientMsgID";
private static let KEY_SEND_MESSAGE_RECEIVER: String = "receiver";
private static let KEY_SEND_MESSAGE_GROUP_ID: String = "groupID";
private static let KEY_SEND_MESSAGE_ONLINE_ONLY: String = "onlineUserOnly";
//single chat
private static let KEY_SINGLE_MESSAGE_CONTENT: String = "message";
private static let KEY_SINGLE_MESSAGE_USERID: String = "userID";
private static let KEY_SINGLE_MESSAGE_SENDER: String = "sender";
// find message
private static let KEY_FIND_MESSAGE_IDS: String = "messageIDList";
// conversation
private static let KEY_CONVERSATION_ID: String = "conversationID";
private static let KEY_CONVERSATION_IDS: String = "conversationIDList";
private static let KEY_CONVERSATION_DRAFT: String = "draftText";
private static let KEY_CONVERSATION_PINNED: String = "isPinned";
private static let KEY_CONVERSATION_SESSION: String = "sessionType";
//group
private static let KEY_GROUP_ID: String = "groupid";
private static let KEY_GROUP_USERLIST: String = "userList";
private static let KEY_GROUP_REASON: String = "reason";
private static let KEY_GROUP_FILTER: String = "filter";
private static let KEY_GROUP_NEXT: String = "next";
private static let KEY_GROUP_INFO: String = "gInfo";
private static let KEY_GROUP_MEMBERLIST: String = "memberList";
private static let KEY_GROUP_JSONINFO: String = "jsonGroupInfo";
private static let KEY_GROUP_IDLIST: String = "groupIdList";
private static let KEY_GROUP_MESSAGE: String = "message";
private static let KEY_USER_ID: String = "userId";
private static let KEY_GROUP_APPLICATION: String = "application";
}

@ -0,0 +1,27 @@
//
// JsonUtil.swift
// Runner
//
// Created by z1u24 on 2021/6/28.
//
import Foundation
public class JsonUtil {
public static func toString(object: AnyObject?)->String{
if object == nil {
return "";
}
if object is String{
let s = object as! String
let b = s.replacingOccurrences(of: "\"", with: "\\\"")
let a = "\"\(b)\""
return a
}
let data = try? JSONSerialization.data(withJSONObject: object!, options: JSONSerialization.WritingOptions.init(rawValue: 0))
let jsonStr = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
return jsonStr! as String
}
}

@ -0,0 +1,88 @@
//
// ConversationManager.swift
// Runner
//
// Created by z1u24 on 2021/6/29.
//
import Foundation
import OpenIMCore
public class ConversationManager:NSObject{
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
func setConversationListener(methodCall: FlutterMethodCall, result: FlutterResult){
Open_im_sdkSetConversationListener(ConversationListenerImpl(channel: channel))
}
func getAllConversationList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetAllConversationList(BaseImpl(result: result))
}
func getOneConversation(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetOneConversation(CommonUtil.getConversationId(methodCall: methodCall), CommonUtil.getSessionType(methodCall: methodCall), BaseImpl(result: result))
}
func getMultipleConversation(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetMultipleConversation(CommonUtil.getConversationIds(methodCall: methodCall), BaseImpl(result: result))
}
func deleteConversation(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkDeleteConversation(CommonUtil.getConversationId(methodCall: methodCall), BaseImpl(result: result))
}
func setConversationDraft(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkSetConversationDraft(CommonUtil.getConversationId(methodCall: methodCall), CommonUtil.getConversationDraft(methodCall: methodCall), BaseImpl(result: result))
}
func pinConversation(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkPinConversation(CommonUtil.getConversationId(methodCall: methodCall), CommonUtil.isPinnedConversation(methodCall: methodCall), BaseImpl(result: result))
}
func getTotalUnreadMsgCount(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetTotalUnreadMsgCount(BaseImpl(result: result))
}
}
public class ConversationListenerImpl:NSObject,Open_im_sdkOnConversationListenerProtocol {
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
public func onConversationChanged(_ conversationList: String?) {
CommonUtil.emitEvent(channel: channel, method: "conversationListener", type: "onConversationChanged", errCode: nil, errMsg: nil, data: conversationList)
}
public func onNewConversation(_ conversationList: String?) {
CommonUtil.emitEvent(channel: channel, method: "conversationListener", type: "onNewConversation", errCode: nil, errMsg: nil, data: conversationList)
}
public func onSyncServerFailed() {
CommonUtil.emitEvent(channel: channel, method: "conversationListener", type: "onSyncServerFailed", errCode: nil, errMsg: nil, data: nil)
}
public func onSyncServerFinish() {
CommonUtil.emitEvent(channel: channel, method: "conversationListener", type: "onSyncServerFinish", errCode: nil, errMsg: nil, data: nil)
}
public func onSyncServerStart() {
CommonUtil.emitEvent(channel: channel, method: "conversationListener", type: "onSyncServerStart", errCode: nil, errMsg: nil, data: nil)
}
public func onTotalUnreadMessageCountChanged(_ totalUnreadCount: Int32) {
CommonUtil.emitEvent(channel: channel, method: "conversationListener", type: "onTotalUnreadMessageCountChanged", errCode: nil, errMsg: nil, data: totalUnreadCount)
}
}

@ -0,0 +1,126 @@
//
// FriendshipManager.swift
// Runner
//
// Created by z1u24 on 2021/6/29.
//
import Foundation
import OpenIMCore
public class FriendshipManager:NSObject{
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
func setFriendListener(methodCall: FlutterMethodCall, result: FlutterResult){
Open_im_sdkSetFriendListener(FriendshipListenerImpl(channel: channel))
}
func getFriendsInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetFriendsInfo(BaseImpl(result: result), CommonUtil.getUidList(methodCall: methodCall))
}
func addFriend(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkAddFriend(BaseImpl(result: result), CommonUtil.getSDKJsonParam(methodCall: methodCall))
}
func getFriendApplicationList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetFriendApplicationList(BaseImpl(result: result))
}
func getFriendList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetFriendList(BaseImpl(result: result))
}
func setFriendInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkSetFriendInfo(CommonUtil.getSDKJsonParam(methodCall: methodCall), BaseImpl(result: result))
}
func addToBlackList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkAddToBlackList(BaseImpl(result: result), CommonUtil.getUserUid(methodCall: methodCall))
}
func getBlackList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetBlackList(BaseImpl(result: result))
}
func deleteFromBlackList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkDeleteFromBlackList(BaseImpl(result: result), CommonUtil.getUserUid(methodCall: methodCall))
}
func checkFriend(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkCheckFriend(BaseImpl(result: result), CommonUtil.getUidList(methodCall: methodCall))
}
func deleteFromFriendList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkDeleteFromFriendList(CommonUtil.getDeleteUid(methodCall: methodCall), BaseImpl(result: result))
}
func acceptFriendApplication(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkAcceptFriendApplication(BaseImpl(result: result), CommonUtil.getUid(methodCall: methodCall))
}
func refuseFriendApplication(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkRefuseFriendApplication(BaseImpl(result: result), CommonUtil.getUid(methodCall: methodCall))
}
func forceSyncFriendApplication(methodCall: FlutterMethodCall, result: FlutterResult){
Open_im_sdkForceSyncFriendApplication();
}
func forceSyncFriend(methodCall: FlutterMethodCall, result: FlutterResult){
Open_im_sdkForceSyncFriend()
}
func forceSyncBlackList(methodCall: FlutterMethodCall, result: FlutterResult){
Open_im_sdkForceSyncBlackList()
}
}
public class FriendshipListenerImpl:NSObject,Open_im_sdkOnFriendshipListenerProtocol {
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
public func onBlackListAdd(_ userInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onBlackListAdd", errCode: nil, errMsg: nil, data: userInfo)
}
public func onBlackListDeleted(_ userInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onBlackListDeleted", errCode: nil, errMsg: nil, data: userInfo)
}
public func onFriendApplicationListAccept(_ applyUserInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListAccept", errCode: nil, errMsg: nil, data: applyUserInfo)
}
public func onFriendApplicationListAdded(_ applyUserInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListAdded", errCode: nil, errMsg: nil, data: applyUserInfo)
}
public func onFriendApplicationListDeleted(_ applyUserInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListDeleted", errCode: nil, errMsg: nil, data: applyUserInfo)
}
public func onFriendApplicationListReject(_ applyUserInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendApplicationListReject", errCode: nil, errMsg: nil, data: applyUserInfo)
}
public func onFriendInfoChanged(_ friendInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendInfoChanged", errCode: nil, errMsg: nil, data: friendInfo)
}
public func onFriendListAdded(_ friendInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendListAdded", errCode: nil, errMsg: nil, data: friendInfo)
}
public func onFriendListDeleted(_ friendInfo: String?) {
CommonUtil.emitEvent(channel: channel, method: "friendListener", type: "onFriendListDeleted", errCode: nil, errMsg: nil, data: friendInfo)
}
}

@ -0,0 +1,74 @@
//
// GroupManager.swift
// flutter_openim_sdk
//
// Created by z1u24 on 2021/7/5.
//
import Foundation
import OpenIMCore
public class GroupManager:NSObject{
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
func inviteUserToGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkInviteUserToGroup(CommonUtil.getGroupId(methodCall: methodCall), CommonUtil.getGroupReason(methodCall: methodCall), CommonUtil.getGroupUserList(methodCall: methodCall), BaseImpl(result: result))
}
func kickGroupMember(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkKickGroupMember(CommonUtil.getGroupId(methodCall: methodCall), CommonUtil.getGroupUserList(methodCall: methodCall), CommonUtil.getGroupReason(methodCall: methodCall), BaseImpl(result: result))
}
func getGroupMembersInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetGroupMembersInfo(CommonUtil.getGroupId(methodCall: methodCall), CommonUtil.getGroupUserList(methodCall: methodCall), BaseImpl(result: result))
}
func getGroupMemberList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetGroupMemberList(CommonUtil.getGroupId(methodCall: methodCall), CommonUtil.getGroupFilter(methodCall: methodCall), CommonUtil.getGroupNext(methodCall: methodCall), BaseImpl(result: result))
}
func getJoinedGroupList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetJoinedGroupList(BaseImpl(result: result))
}
func createGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkCreateGroup(CommonUtil.getGroupInfo(methodCall: methodCall), CommonUtil.getGroupMemberList(methodCall: methodCall), BaseImpl(result: result))
}
func setGroupInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkSetGroupInfo(CommonUtil.getGroupJsonInfo(methodCall: methodCall), BaseImpl(result: result))
}
func getGroupsInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetGroupsInfo(CommonUtil.getGroupIdList(methodCall: methodCall), BaseImpl(result: result))
}
func joinGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkJoinGroup(CommonUtil.getGroupId(methodCall: methodCall), CommonUtil.getGroupMessage(methodCall: methodCall), BaseImpl(result: result))
}
func quitGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkQuitGroup(CommonUtil.getGroupId(methodCall: methodCall), BaseImpl(result: result))
}
func transferGroupOwner(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkTransferGroupOwner(CommonUtil.getGroupId(methodCall: methodCall), CommonUtil.getGroupUserId(methodCall: methodCall), BaseImpl(result: result))
}
func getGroupApplicationList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetGroupApplicationList(BaseImpl(result: result))
}
func acceptGroupApplication(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkAcceptGroupApplication(CommonUtil.getGroupApplication(methodCall: methodCall), CommonUtil.getGroupReason(methodCall: methodCall), BaseImpl(result: result))
}
func refuseGroupApplication(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkRefuseGroupApplication(CommonUtil.getGroupApplication(methodCall: methodCall), CommonUtil.getGroupReason(methodCall: methodCall), BaseImpl(result: result))
}
}

@ -0,0 +1,101 @@
//
// IMManager.swift
// Runner
//
// Created by z1u24 on 2021/6/28.
//
import Foundation
import OpenIMCore
public class IMMananger:NSObject{
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
func initSDK(methodCall: FlutterMethodCall, result: FlutterResult){
Open_im_sdkInitSDK(CommonUtil.getSDKJsonParam(methodCall: methodCall), SDKListenerImpl(channel: self.channel))
}
func login(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkLogin(CommonUtil.getUid(methodCall: methodCall), CommonUtil.getToken(methodCall: methodCall), BaseImpl(result: result))
}
func logout(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkLogout(BaseImpl(result: result))
}
func getLoginStatus(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
DispatchQueue.main.async { result(Open_im_sdkGetLoginStatus()) }
}
func getLoginUid(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
DispatchQueue.main.async { result(Open_im_sdkGetLoginUser()) }
}
func getUsersInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkGetUsersInfo(CommonUtil.getUidList(methodCall: methodCall), BaseImpl(result: result))
}
func setSelfInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkSetSelfInfo(CommonUtil.getSDKJsonParam(methodCall: methodCall), BaseImpl(result: result))
}
func forceSyncLoginUerInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkForceSyncLoginUerInfo()
}
}
public class SDKListenerImpl:NSObject,Open_im_sdkIMSDKListenerProtocol {
private let channel:FlutterMethodChannel
init(channel:FlutterMethodChannel) {
self.channel = channel
}
public func onConnectFailed(_ errCode: Int, errMsg: String?) {
CommonUtil.emitEvent(channel: self.channel, method: "initSDKListener", type: "onConnectFailed", errCode: errCode, errMsg: errMsg, data: nil)
}
public func onConnectSuccess() {
CommonUtil.emitEvent(channel: self.channel, method: "initSDKListener", type: "onConnectSuccess", errCode: nil, errMsg: nil, data: nil);
}
public func onConnecting() {
CommonUtil.emitEvent(channel: self.channel, method: "initSDKListener", type: "onConnecting", errCode: nil, errMsg: nil, data: nil);
}
public func onKickedOffline() {
CommonUtil.emitEvent(channel: self.channel, method: "initSDKListener", type: "onKickedOffline", errCode: nil, errMsg: nil, data: nil);
}
public func onSelfInfoUpdated(_ userInfo: String?) {
CommonUtil.emitEvent(channel: self.channel, method: "initSDKListener", type: "onSelfInfoUpdated", errCode: nil, errMsg: nil, data: userInfo);
}
public func onUserTokenExpired() {
CommonUtil.emitEvent(channel: self.channel, method: "initSDKListener", type: "onUserTokenExpired", errCode: nil, errMsg: nil, data: nil);
}
}
public class BaseImpl:NSObject,Open_im_sdkBaseProtocol {
private let result:FlutterResult
init(result:@escaping FlutterResult) {
self.result = result
}
public func onError(_ errCode: Int, errMsg: String?) {
print("BaseImpl: " + errMsg!)
DispatchQueue.main.async { self.result(FlutterError(code: "\(errCode)", message: errMsg, details: nil)) }
}
public func onSuccess(_ data: String?) {
DispatchQueue.main.async { self.result(data) }
}
}

@ -0,0 +1,187 @@
//
// MessageManager.swift
// Runner
//
// Created by z1u24 on 2021/6/29.
//
import Foundation
import OpenIMCore
public class MessageManager:NSObject{
private let KEY_ID: String = "id"
private let channel:FlutterMethodChannel
private let listeners: NSMutableDictionary = NSMutableDictionary(capacity: 0)
private var sendMsgProgressListener: SendMsgProgressListener?
init(channel:FlutterMethodChannel) {
self.channel = channel
}
func addAdvancedMsgListener(methodCall: FlutterMethodCall, result: FlutterResult){
if sendMsgProgressListener == nil {
sendMsgProgressListener = SendMsgProgressListener(channel: channel)
}
let d = methodCall.arguments as! NSDictionary
let key = d.value(forKey: KEY_ID) as! String
if !listeners.allKeys.contains(where: {($0 as! String).compare(key) == .orderedSame}) {
let lis = AdvancedMsgListenerImpl(channel: channel, id: key)
let k = methodCall.arguments as! NSDictionary
let s = k.value(forKey: KEY_ID) as! String
listeners.setValue(lis, forKey: s)
Open_im_sdkAddAdvancedMsgListener(lis)
print("=================add msg listener======\n\(lis)");
}
}
func removeAdvancedMsgListener(methodCall: FlutterMethodCall, result: FlutterResult){
let k = methodCall.arguments as! NSDictionary
let s = k.value(forKey: KEY_ID) as! String
if listeners.allKeys.contains(where: {($0 as! String).compare(s) == .orderedSame}) {
let lis = listeners.value(forKey: s) as! AdvancedMsgListenerImpl
listeners.removeObject(forKey: s)
Open_im_sdkRemoveAdvancedMsgListener(lis)
}
}
func sendMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
sendMsgProgressListener?.setCall(methodCall: methodCall)
sendMsgProgressListener?.setResult(result: result)
print("===============sendMessage===============")
Open_im_sdkSendMessage(sendMsgProgressListener, CommonUtil.getSendMessageContent(methodCall: methodCall), CommonUtil.getSendMessageReceiver(methodCall: methodCall), CommonUtil.getSendMessageGroupId(methodCall: methodCall), CommonUtil.getSendMessageOnlineOnly(methodCall: methodCall))
}
func getHistoryMessageList(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkGetHistoryMessageList(BaseImpl(result: result), CommonUtil.getSDKJsonParam(methodCall: methodCall))
}
func revokeMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkRevokeMessage(BaseImpl(result: result), CommonUtil.getSDKJsonParam(methodCall: methodCall))
}
func deleteMessageFromLocalStorage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkDeleteMessageFromLocalStorage(BaseImpl(result: result), CommonUtil.getSDKJsonParam(methodCall: methodCall))
}
func deleteMessages(methodCall: FlutterMethodCall, result: FlutterResult){
}
func insertSingleMessageToLocalStorage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkInsertSingleMessageToLocalStorage(BaseImpl(result: result), CommonUtil.getSingleMessageContent(methodCall: methodCall), CommonUtil.getSingleMessageUserid(methodCall: methodCall), CommonUtil.getSingleMessageSender(methodCall: methodCall))
}
func findMessages(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkFindMessages(BaseImpl(result: result), CommonUtil.getFindMessageIds(methodCall: methodCall))
}
func markSingleMessageHasRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkMarkSingleMessageHasRead(BaseImpl(result: result), CommonUtil.getSingleMessageUserid(methodCall: methodCall))
}
func createTextMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateTextMessage(CommonUtil.getMessageText(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
func createTextAtMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateTextAtMessage(CommonUtil.getMessageText(methodCall: methodCall), CommonUtil.getAtUserList(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
func createImageMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateImageMessage(CommonUtil.getImagePath(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
func createSoundMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateSoundMessage(CommonUtil.getSoundPath(methodCall: methodCall),CommonUtil.getSoundDuration(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
func createVideoMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateVideoMessage(CommonUtil.getVideoPath(methodCall: methodCall), CommonUtil.getVideoType(methodCall: methodCall), CommonUtil.getVideoDuration(methodCall: methodCall), CommonUtil.getVideoSnapshotPath(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
func createFileMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateFileMessage(CommonUtil.getFilePath(methodCall: methodCall), CommonUtil.getFileName(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
func createMergerMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateMergerMessage(CommonUtil.getMergerMessageList(methodCall: methodCall), CommonUtil.getMergerMessageTitle(methodCall: methodCall), CommonUtil.getSummaryList(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
func createForwardMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let prama = Open_im_sdkCreateForwardMessage(CommonUtil.getForwardMessage(methodCall: methodCall))
DispatchQueue.main.async { result(prama) }
}
}
public class SendMsgProgressListener:NSObject, Open_im_sdkSendMsgCallBackProtocol {
private let channel: FlutterMethodChannel
private var result: FlutterResult?
private var call: FlutterMethodCall?
private let values: NSMutableDictionary = NSMutableDictionary(capacity: 0)
init(channel: FlutterMethodChannel) {
self.channel = channel
}
func setResult(result: @escaping FlutterResult){
self.result = result
}
func setCall(methodCall: FlutterMethodCall){
self.call = methodCall
}
public func onError(_ errCode: Int, errMsg: String?) {
print("=================onError============\nerrcode:\(errCode),errMsg:\(errMsg!)");
DispatchQueue.main.async { self.result!(FlutterError(code: "\(errCode)", message: errMsg, details: nil)) }
}
public func onProgress(_ progress: Int) {
print("=================onProgress============\nprogress:\(progress)");
values.setValue(CommonUtil.getSendMessageClientMsgID(methodCall: self.call!), forKey: "clientMsgID")
values.setValue(progress, forKey: "progress")
CommonUtil.emitEvent(channel: channel, method: "messageProgressListener", type: "onProgress", errCode: nil, errMsg: nil, data: values)
}
public func onSuccess(_ data: String?) {
print("=================onSuccess============\nsuccess:\(data!)");
DispatchQueue.main.async { self.result!(data) }
}
}
public class AdvancedMsgListenerImpl: NSObject, Open_im_sdkOnAdvancedMsgListenerProtocol {
private let channel: FlutterMethodChannel
private let values: NSMutableDictionary = NSMutableDictionary(capacity: 0)
init(channel: FlutterMethodChannel, id: String) {
self.channel = channel
values.setValue(id, forKey: "id")
}
public func onRecvC2CReadReceipt(_ msgReceiptList: String?) {
values.setValue(msgReceiptList, forKey: "message")
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvC2CReadReceipt", errCode: nil, errMsg: nil, data: values)
}
public func onRecvMessageRevoked(_ msgId: String?) {
values.setValue(msgId, forKey: "message")
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvMessageRevoked", errCode: nil, errMsg: nil, data: values)
}
public func onRecvNewMessage(_ message: String?) {
values.setValue(message, forKey: "message")
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onRecvNewMessage", errCode: nil, errMsg: nil, data: values)
}
}

@ -2,13 +2,205 @@ import Flutter
import UIKit
public class SwiftFlutterOpenimSdkPlugin: NSObject, FlutterPlugin {
let imManager: IMMananger
let conversationManager: ConversationManager
let friendshipManager: FriendshipManager
let messageManager: MessageManager
let groupManager: GroupManager
init(channel: FlutterMethodChannel) {
self.imManager = IMMananger(channel: channel)
self.conversationManager = ConversationManager(channel: channel)
self.friendshipManager = FriendshipManager(channel: channel)
self.messageManager = MessageManager(channel: channel)
self.groupManager = GroupManager(channel: channel)
}
public static func register(with registrar: FlutterPluginRegistrar) {
let channel = FlutterMethodChannel(name: "flutter_openim_sdk", binaryMessenger: registrar.messenger())
let instance = SwiftFlutterOpenimSdkPlugin()
let instance = SwiftFlutterOpenimSdkPlugin(channel: channel)
registrar.addMethodCallDelegate(instance, channel: channel)
}
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
result("iOS " + UIDevice.current.systemVersion)
let managerName: String = CommonUtil.getParamValue(methodCall: call, param: "ManagerName") as! String
if managerName == "imManager" {
handleIMManager(call: call, result: result)
}else if managerName == "conversationManager"{
handleConversationManager(call: call, result: result)
}else if managerName == "friendshipManager"{
handleFriendshipManager(call: call, result: result)
}else if managerName == "messageManager"{
handleMessageManager(call: call, result: result)
}else if managerName == "groupManager"{
handleGroupManager(call: call, result: result)
}else{
print("Handle ManagerName Error: \(managerName) not found")
}
}
private func handleIMManager(call: FlutterMethodCall, result: @escaping FlutterResult){
let method: String = call.method
if method == "initSDK" {
imManager.initSDK(methodCall: call, result: result)
}else if method == "login" {
imManager.login(methodCall: call, result: result)
}else if method == "logout" {
imManager.logout(methodCall: call, result: result)
}else if method == "getLoginStatus" {
imManager.getLoginStatus(methodCall: call, result: result)
}else if method == "getLoginUid" {
imManager.getLoginUid(methodCall: call, result: result)
}else if method == "getUsersInfo" {
imManager.getUsersInfo(methodCall: call, result: result)
}else if method == "setSelfInfo" {
imManager.setSelfInfo(methodCall: call, result: result)
}else if method == "forceSyncLoginUerInfo" {
imManager.forceSyncLoginUerInfo(methodCall: call, result: result)
}else{
print("Handle MethodName Error: IMManager method: \(method) not found")
}
}
private func handleConversationManager(call: FlutterMethodCall, result: @escaping FlutterResult){
let method: String = call.method
if method == "setConversationListener" {
conversationManager.setConversationListener(methodCall: call, result: result)
}else if method == "getAllConversationList" {
conversationManager.getAllConversationList(methodCall: call, result: result)
}else if method == "getOneConversation" {
conversationManager.getOneConversation(methodCall: call, result: result)
}else if method == "getMultipleConversation" {
conversationManager.getMultipleConversation(methodCall: call, result: result)
}else if method == "deleteConversation" {
conversationManager.deleteConversation(methodCall: call, result: result)
}else if method == "setConversationDraft" {
conversationManager.setConversationDraft(methodCall: call, result: result)
}else if method == "pinConversation" {
conversationManager.pinConversation(methodCall: call, result: result)
}else if method == "getTotalUnreadMsgCount" {
conversationManager.getTotalUnreadMsgCount(methodCall: call, result: result)
}else{
print("Handle MethodName Error: ConversationManager method: \(method) not found")
}
}
private func handleFriendshipManager(call: FlutterMethodCall, result: @escaping FlutterResult){
let method: String = call.method
if method == "setFriendListener" {
friendshipManager.setFriendListener(methodCall: call, result: result)
}else if method == "getFriendsInfo" {
friendshipManager.getFriendsInfo(methodCall: call, result: result)
}else if method == "addFriend" {
friendshipManager.addFriend(methodCall: call, result: result)
}else if method == "getFriendApplicationList" {
friendshipManager.getFriendApplicationList(methodCall: call, result: result)
}else if method == "getFriendList" {
friendshipManager.getFriendList(methodCall: call, result: result)
}else if method == "setFriendInfo" {
friendshipManager.setFriendInfo(methodCall: call, result: result)
}else if method == "addToBlackList" {
friendshipManager.addToBlackList(methodCall: call, result: result)
}else if method == "getBlackList" {
friendshipManager.getBlackList(methodCall: call, result: result)
}else if method == "deleteFromBlackList" {
friendshipManager.deleteFromBlackList(methodCall: call, result: result)
}else if method == "checkFriend" {
friendshipManager.checkFriend(methodCall: call, result: result)
}else if method == "deleteFromFriendList" {
friendshipManager.deleteFromFriendList(methodCall: call, result: result)
}else if method == "acceptFriendApplication" {
friendshipManager.acceptFriendApplication(methodCall: call, result: result)
}else if method == "refuseFriendApplication" {
friendshipManager.refuseFriendApplication(methodCall: call, result: result)
}else if method == "forceSyncFriendApplication" {
friendshipManager.forceSyncFriendApplication(methodCall: call, result: result)
}else if method == "forceSyncFriend" {
friendshipManager.forceSyncFriend(methodCall: call, result: result)
}else if method == "forceSyncBlackList" {
friendshipManager.forceSyncBlackList(methodCall: call, result: result)
}else{
print("Handle MethodName Error: FriendshipManager method: \(method) not found")
}
}
private func handleMessageManager(call: FlutterMethodCall, result: @escaping FlutterResult){
let method: String = call.method
if method == "addAdvancedMsgListener" {
messageManager.addAdvancedMsgListener(methodCall: call, result: result)
}else if method == "removeAdvancedMsgListener" {
messageManager.removeAdvancedMsgListener(methodCall: call, result: result)
}else if method == "sendMessage" {
messageManager.sendMessage(methodCall: call, result: result)
}else if method == "getHistoryMessageList" {
messageManager.getHistoryMessageList(methodCall: call, result: result)
}else if method == "revokeMessage" {
messageManager.revokeMessage(methodCall: call, result: result)
}else if method == "deleteMessageFromLocalStorage" {
messageManager.deleteMessageFromLocalStorage(methodCall: call, result: result)
}else if method == "deleteMessages" {
messageManager.deleteMessages(methodCall: call, result: result)
}else if method == "insertSingleMessageToLocalStorage" {
messageManager.insertSingleMessageToLocalStorage(methodCall: call, result: result)
}else if method == "findMessages" {
messageManager.findMessages(methodCall: call, result: result)
}else if method == "markSingleMessageHasRead" {
messageManager.markSingleMessageHasRead(methodCall: call, result: result)
}else if method == "createTextMessage" {
messageManager.createTextMessage(methodCall: call, result: result)
}else if method == "createTextAtMessage" {
messageManager.createTextAtMessage(methodCall: call, result: result)
}else if method == "createImageMessage" {
messageManager.createImageMessage(methodCall: call, result: result)
}else if method == "createSoundMessage" {
messageManager.createSoundMessage(methodCall: call, result: result)
}else if method == "createVideoMessage" {
messageManager.createVideoMessage(methodCall: call, result: result)
}else if method == "createFileMessage" {
messageManager.createFileMessage(methodCall: call, result: result)
}else if method == "createMergerMessage" {
messageManager.createMergerMessage(methodCall: call, result: result)
}else if method == "createForwardMessage" {
messageManager.createForwardMessage(methodCall: call, result: result)
}else{
print("Handle MethodName Error: MessageManager method: \(method) not found")
}
}
private func handleGroupManager(call: FlutterMethodCall, result: @escaping FlutterResult){
let method: String = call.method
if method == "inviteUserToGroup" {
groupManager.inviteUserToGroup(methodCall: call, result: result)
}else if method == "kickGroupMember" {
groupManager.kickGroupMember(methodCall: call, result: result)
}else if method == "getGroupMembersInfo" {
groupManager.getGroupMembersInfo(methodCall: call, result: result)
}else if method == "getGroupMemberList" {
groupManager.getGroupMemberList(methodCall: call, result: result)
}else if method == "getJoinedGroupList" {
groupManager.getJoinedGroupList(methodCall: call, result: result)
}else if method == "createGroup" {
groupManager.createGroup(methodCall: call, result: result)
}else if method == "setGroupInfo" {
groupManager.setGroupInfo(methodCall: call, result: result)
}else if method == "getGroupsInfo" {
groupManager.getGroupsInfo(methodCall: call, result: result)
}else if method == "joinGroup" {
groupManager.joinGroup(methodCall: call, result: result)
}else if method == "quitGroup" {
groupManager.quitGroup(methodCall: call, result: result)
}else if method == "transferGroupOwner" {
groupManager.transferGroupOwner(methodCall: call, result: result)
}else if method == "getGroupApplicationList" {
groupManager.getGroupApplicationList(methodCall: call, result: result)
}else if method == "acceptGroupApplication" {
groupManager.acceptGroupApplication(methodCall: call, result: result)
}else if method == "refuseGroupApplication" {
groupManager.refuseGroupApplication(methodCall: call, result: result)
}else{
print("Handle MethodName Error: MessageManager method: \(method) not found")
}
}
}

@ -0,0 +1,13 @@
// Objective-C API for talking to the following Go packages
//
// open_im_sdk/open_im_sdk
//
// File is generated by gomobile bind. Do not edit.
#ifndef __OpenIMCore_FRAMEWORK_H__
#define __OpenIMCore_FRAMEWORK_H__
#include "Open_im_sdk.objc.h"
#include "Universe.objc.h"
#endif

@ -0,0 +1,882 @@
// Objective-C API for talking to open_im_sdk/open_im_sdk Go package.
// gobind -lang=objc open_im_sdk/open_im_sdk
//
// File is generated by gobind. Do not edit.
#ifndef __Open_im_sdk_H__
#define __Open_im_sdk_H__
@import Foundation;
#include "ref.h"
#include "Universe.objc.h"
@class Open_im_sdkAgreeOrRejectGroupMember;
@class Open_im_sdkArrMsg;
@class Open_im_sdkChatLog;
@class Open_im_sdkConversationListener;
@class Open_im_sdkConversationStruct;
@class Open_im_sdkFriend;
@class Open_im_sdkGroupApplicationResponseReq;
@class Open_im_sdkGroupReqListInfo;
@class Open_im_sdkIMConfig;
@class Open_im_sdkIMManager;
@class Open_im_sdkInviteUserToGroupReq;
@class Open_im_sdkKickGroupMemberReq;
@class Open_im_sdkLogInfo;
@class Open_im_sdkMessageReceipt;
@class Open_im_sdkMsg;
@class Open_im_sdkMsgData;
@class Open_im_sdkMsgStruct;
@class Open_im_sdkPictureBaseInfo;
@class Open_im_sdkPullMsgReq;
@class Open_im_sdkPullUserMsgResp;
@class Open_im_sdkSendMsgRespFromServer;
@class Open_im_sdkSoundElem;
@class Open_im_sdkTransferGroupOwnerReq;
@class Open_im_sdkUid2Flag;
@protocol Open_im_sdkBase;
@class Open_im_sdkBase;
@protocol Open_im_sdkIMSDKListener;
@class Open_im_sdkIMSDKListener;
@protocol Open_im_sdkOnAdvancedMsgListener;
@class Open_im_sdkOnAdvancedMsgListener;
@protocol Open_im_sdkOnConversationListener;
@class Open_im_sdkOnConversationListener;
@protocol Open_im_sdkOnFriendshipListener;
@class Open_im_sdkOnFriendshipListener;
@protocol Open_im_sdkOnGroupListener;
@class Open_im_sdkOnGroupListener;
@protocol Open_im_sdkSendMsgCallBack;
@class Open_im_sdkSendMsgCallBack;
@protocol Open_im_sdkBase <NSObject>
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@protocol Open_im_sdkIMSDKListener <NSObject>
- (void)onConnectFailed:(long)ErrCode ErrMsg:(NSString* _Nullable)ErrMsg;
- (void)onConnectSuccess;
- (void)onConnecting;
- (void)onKickedOffline;
- (void)onSelfInfoUpdated:(NSString* _Nullable)userInfo;
- (void)onUserTokenExpired;
@end
@protocol Open_im_sdkOnAdvancedMsgListener <NSObject>
- (void)onRecvC2CReadReceipt:(NSString* _Nullable)msgReceiptList;
- (void)onRecvMessageRevoked:(NSString* _Nullable)msgId;
- (void)onRecvNewMessage:(NSString* _Nullable)message;
@end
@protocol Open_im_sdkOnConversationListener <NSObject>
- (void)onConversationChanged:(NSString* _Nullable)conversationList;
- (void)onNewConversation:(NSString* _Nullable)conversationList;
- (void)onSyncServerFailed;
- (void)onSyncServerFinish;
- (void)onSyncServerStart;
- (void)onTotalUnreadMessageCountChanged:(int32_t)totalUnreadCount;
@end
@protocol Open_im_sdkOnFriendshipListener <NSObject>
- (void)onBlackListAdd:(NSString* _Nullable)userInfo;
- (void)onBlackListDeleted:(NSString* _Nullable)userInfo;
- (void)onFriendApplicationListAccept:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListAdded:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListDeleted:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListReject:(NSString* _Nullable)applyUserInfo;
- (void)onFriendInfoChanged:(NSString* _Nullable)friendInfo;
- (void)onFriendListAdded:(NSString* _Nullable)friendInfo;
- (void)onFriendListDeleted:(NSString* _Nullable)friendInfo;
@end
@protocol Open_im_sdkOnGroupListener <NSObject>
- (void)onApplicationProcessed:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser AgreeOrReject:(int32_t)AgreeOrReject opReason:(NSString* _Nullable)opReason;
- (void)onGroupCreated:(NSString* _Nullable)groupId;
- (void)onGroupInfoChanged:(NSString* _Nullable)groupId groupInfo:(NSString* _Nullable)groupInfo;
- (void)onMemberEnter:(NSString* _Nullable)groupId memberList:(NSString* _Nullable)memberList;
- (void)onMemberInvited:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberKicked:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberLeave:(NSString* _Nullable)groupId member:(NSString* _Nullable)member;
- (void)onReceiveJoinApplication:(NSString* _Nullable)groupId member:(NSString* _Nullable)member opReason:(NSString* _Nullable)opReason;
@end
@protocol Open_im_sdkSendMsgCallBack <NSObject>
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onProgress:(long)progress;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@interface Open_im_sdkAgreeOrRejectGroupMember : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull groupId;
@property (nonatomic) NSString* _Nonnull userId;
@property (nonatomic) long role;
// skipped field AgreeOrRejectGroupMember.JoinTime with unsupported type: uint64
@property (nonatomic) NSString* _Nonnull nickName;
@property (nonatomic) NSString* _Nonnull faceUrl;
@property (nonatomic) NSString* _Nonnull reason;
@end
@interface Open_im_sdkArrMsg : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
// skipped field ArrMsg.Data with unsupported type: []open_im_sdk/open_im_sdk.MsgData
@end
@interface Open_im_sdkChatLog : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull msgId;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) int32_t isRead;
@property (nonatomic) int64_t seq;
@property (nonatomic) int32_t status;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) NSString* _Nonnull content;
// skipped field ChatLog.Remark with unsupported type: database/sql.NullString
@property (nonatomic) int32_t senderPlatformID;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int64_t createTime;
@end
@interface Open_im_sdkConversationListener : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) id<Open_im_sdkOnConversationListener> _Nullable conversationListener;
// skipped field ConversationListener.MsgListenerList with unsupported type: []open_im_sdk/open_im_sdk.OnAdvancedMsgListener
@end
@interface Open_im_sdkConversationStruct : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull conversationID;
@property (nonatomic) long conversationType;
@property (nonatomic) NSString* _Nonnull userID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull showName;
@property (nonatomic) NSString* _Nonnull faceURL;
@property (nonatomic) long recvMsgOpt;
@property (nonatomic) long unreadCount;
@property (nonatomic) NSString* _Nonnull latestMsg;
@property (nonatomic) int64_t latestMsgSendTime;
@property (nonatomic) NSString* _Nonnull draftText;
@property (nonatomic) int64_t draftTimestamp;
@property (nonatomic) long isPinned;
@end
@interface Open_im_sdkFriend : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@end
@interface Open_im_sdkGroupApplicationResponseReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull operationID;
@property (nonatomic) NSString* _Nonnull ownerID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull fromUserID;
@property (nonatomic) NSString* _Nonnull fromUserNickName;
@property (nonatomic) NSString* _Nonnull fromUserFaceUrl;
@property (nonatomic) NSString* _Nonnull toUserID;
@property (nonatomic) NSString* _Nonnull toUserNickName;
@property (nonatomic) NSString* _Nonnull toUserFaceUrl;
@property (nonatomic) int64_t addTime;
@property (nonatomic) NSString* _Nonnull requestMsg;
@property (nonatomic) NSString* _Nonnull handledMsg;
@property (nonatomic) int32_t type;
@property (nonatomic) int32_t handleStatus;
@property (nonatomic) int32_t handleResult;
@end
@interface Open_im_sdkGroupReqListInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull id_;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull fromUserID;
@property (nonatomic) NSString* _Nonnull toUserID;
@property (nonatomic) int32_t flag;
@property (nonatomic) NSString* _Nonnull requestMsg;
@property (nonatomic) NSString* _Nonnull handledMsg;
@property (nonatomic) int64_t addTime;
@property (nonatomic) NSString* _Nonnull fromUserNickname;
@property (nonatomic) NSString* _Nonnull toUserNickname;
@property (nonatomic) NSString* _Nonnull fromUserFaceUrl;
@property (nonatomic) NSString* _Nonnull toUserFaceUrl;
@property (nonatomic) NSString* _Nonnull handledUser;
@property (nonatomic) int32_t type;
@property (nonatomic) int32_t handleStatus;
@property (nonatomic) int32_t handleResult;
@property (nonatomic) int32_t isRead;
@end
@interface Open_im_sdkIMConfig : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) int32_t platform;
@property (nonatomic) NSString* _Nonnull ipApiAddr;
@property (nonatomic) NSString* _Nonnull ipWsAddr;
@property (nonatomic) NSString* _Nonnull dbDir;
@end
@interface Open_im_sdkIMManager : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long loginState;
@end
@interface Open_im_sdkInviteUserToGroupReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull op;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull reason;
// skipped field InviteUserToGroupReq.UidList with unsupported type: []string
@end
@interface Open_im_sdkKickGroupMemberReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull op;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull reason;
// skipped field KickGroupMemberReq.UidList with unsupported type: []string
@end
@interface Open_im_sdkLogInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull info;
@end
@interface Open_im_sdkMessageReceipt : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull userID;
// skipped field MessageReceipt.MsgIdList with unsupported type: []string
@property (nonatomic) int64_t readTime;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t sessionType;
@end
@interface Open_im_sdkMsg : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long reqIdentifier;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
// skipped field Msg.Data with unsupported type: open_im_sdk/open_im_sdk.MsgData
@end
@interface Open_im_sdkMsgData : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) NSString* _Nonnull serverMsgID;
@property (nonatomic) NSString* _Nonnull content;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int64_t seq;
@property (nonatomic) int32_t senderPlatformID;
@property (nonatomic) NSString* _Nonnull senderNickName;
@property (nonatomic) NSString* _Nonnull senderFaceURL;
@property (nonatomic) NSString* _Nonnull clientMsgID;
@end
@interface Open_im_sdkMsgStruct : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull clientMsgID;
@property (nonatomic) NSString* _Nonnull serverMsgID;
@property (nonatomic) int64_t createTime;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t platformID;
// skipped field MsgStruct.ForceList with unsupported type: []string
@property (nonatomic) NSString* _Nonnull senderNickName;
@property (nonatomic) NSString* _Nonnull senderFaceURL;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull content;
@property (nonatomic) int64_t seq;
@property (nonatomic) BOOL isRead;
@property (nonatomic) int32_t status;
@property (nonatomic) NSString* _Nonnull remark;
// skipped field MsgStruct.PictureElem with unsupported type: struct{SourcePath string "json:\"sourcePath\""; SourcePicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"sourcePicture\""; BigPicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"bigPicture\""; SnapshotPicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"snapshotPicture\""}
// skipped field MsgStruct.SoundElem with unsupported type: struct{UUID string "json:\"uuid\""; SoundPath string "json:\"soundPath\""; SourceURL string "json:\"sourceUrl\""; DataSize int64 "json:\"dataSize\""; Duration int64 "json:\"duration\""}
// skipped field MsgStruct.VideoElem with unsupported type: struct{VideoPath string "json:\"videoPath\""; VideoUUID string "json:\"videoUUID\""; VideoURL string "json:\"videoUrl\""; VideoType string "json:\"videoType\""; VideoSize int64 "json:\"videoSize\""; Duration int64 "json:\"duration\""; SnapshotPath string "json:\"snapshotPath\""; SnapshotUUID string "json:\"snapshotUUID\""; SnapshotSize int64 "json:\"snapshotSize\""; SnapshotURL string "json:\"snapshotUrl\""; SnapshotWidth int32 "json:\"snapshotWidth\""; SnapshotHeight int32 "json:\"snapshotHeight\""}
// skipped field MsgStruct.FileElem with unsupported type: struct{FilePath string "json:\"filePath\""; UUID string "json:\"uuid\""; SourceURL string "json:\"sourceUrl\""; FileName string "json:\"fileName\""; FileSize int64 "json:\"fileSize\""}
// skipped field MsgStruct.MergeElem with unsupported type: struct{Title string "json:\"title\""; AbstractList []string "json:\"abstractList\""; MultiMessage []*open_im_sdk/open_im_sdk.MsgStruct "json:\"multiMessage\""}
// skipped field MsgStruct.RevokeMessage with unsupported type: struct{ServerMsgID string "json:\"serverMsgID\""; SendID string "json:\"sendID\""; SenderNickname string "json:\"senderNickname\""; RecvID string "json:\"recvID\""; GroupID string "json:\"groupID\""; ContentType int32 "json:\"contentType\""; SendTime int64 "json:\"sendTime\""}
@end
@interface Open_im_sdkPictureBaseInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uuid;
@property (nonatomic) NSString* _Nonnull type;
@property (nonatomic) int64_t size;
@property (nonatomic) int32_t width;
@property (nonatomic) int32_t height;
@property (nonatomic) NSString* _Nonnull url;
@end
/**
* //////////////////////// message/////////////////////////
*/
@interface Open_im_sdkPullMsgReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull userID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) Open_im_sdkMsgStruct* _Nullable startMsg;
@property (nonatomic) long count;
@end
@interface Open_im_sdkPullUserMsgResp : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
@property (nonatomic) long reqIdentifier;
@property (nonatomic) long msgIncr;
// skipped field PullUserMsgResp.Data with unsupported type: open_im_sdk/open_im_sdk.paramsPullUserMsgDataResp
@end
@interface Open_im_sdkSendMsgRespFromServer : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
@property (nonatomic) long reqIdentifier;
// skipped field SendMsgRespFromServer.Data with unsupported type: struct{ServerMsgID string "json:\"serverMsgID\""; ClientMsgID string "json:\"clientMsgID\""; SendTime int64 "json:\"sendTime\""}
@end
@interface Open_im_sdkSoundElem : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uuid;
@property (nonatomic) NSString* _Nonnull soundPath;
@property (nonatomic) NSString* _Nonnull sourceURL;
@property (nonatomic) int64_t dataSize;
@property (nonatomic) int64_t duration;
@end
@interface Open_im_sdkTransferGroupOwnerReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull oldOwner;
@property (nonatomic) NSString* _Nonnull newOwner;
@property (nonatomic) NSString* _Nonnull operationID;
@end
@interface Open_im_sdkUid2Flag : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uid;
@property (nonatomic) int32_t flag;
@end
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptFriendApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptGroupApplicationResultTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptGroupApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAddConOrUpLatMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkAddFriendTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAtText;
FOUNDATION_EXPORT const int64_t Open_im_sdkC2CMessageAsRead;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdAcceptFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdAddFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdBlackList;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdDeleteConversation;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncFriendApplication;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncLoginUerInfo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncMsg;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFriendApplication;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFroceSyncBlackList;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdGeyLoginUserInfo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdNewMsgCome;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdReLogin;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdRefuseFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdUnInit;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdUpdateConversation;
FOUNDATION_EXPORT const int64_t Open_im_sdkConAndUnreadChange;
FOUNDATION_EXPORT const int64_t Open_im_sdkConChange;
FOUNDATION_EXPORT const int64_t Open_im_sdkCreateGroupTip;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkDeFaultSuccessMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeConversation;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeFriend;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeInitLogin;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeUserInfo;
FOUNDATION_EXPORT const int64_t Open_im_sdkFile;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkFriendAcceptTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionAcceptGroupApplication;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionApplyJoinGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionCreateGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionInviteUserToGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionKickGroupMember;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionQuitGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionRefuseGroupApplication;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionSetGroupInfo;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionTransferGroupOwner;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupApplicationResponseTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupChatType;
FOUNDATION_EXPORT const int64_t Open_im_sdkHasRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkIncrUnread;
FOUNDATION_EXPORT const int64_t Open_im_sdkInviteUserToGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkJoinGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkKickGroupMemberTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkKickOnlineTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkLoginFailed;
FOUNDATION_EXPORT const int64_t Open_im_sdkLoginSuccess;
FOUNDATION_EXPORT const int64_t Open_im_sdkLogining;
FOUNDATION_EXPORT const int64_t Open_im_sdkLogoutCmd;
FOUNDATION_EXPORT const int64_t Open_im_sdkMerger;
FOUNDATION_EXPORT const int64_t Open_im_sdkMessageHasNotRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkMessageHasRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusHasDeleted;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSendFailed;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSendSuccess;
/**
* MsgStatus
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSending;
FOUNDATION_EXPORT const int64_t Open_im_sdkNotRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkPicture;
FOUNDATION_EXPORT const int64_t Open_im_sdkQuitGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseFriendApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseGroupApplicationResultTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseGroupApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRevokeMessageTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkSetGroupInfoTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkSetSelfInfoTip;
/**
* ///////////////////////////////////
SessionType
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkSingleChatType;
FOUNDATION_EXPORT const int64_t Open_im_sdkSound;
FOUNDATION_EXPORT const int64_t Open_im_sdkSyncSenderMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkSysMsgType;
/**
* ContentType
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkText;
FOUNDATION_EXPORT const int64_t Open_im_sdkTimeOffset;
FOUNDATION_EXPORT const int64_t Open_im_sdkTotalUnreadMessageChanged;
FOUNDATION_EXPORT const int64_t Open_im_sdkTransferGroupOwnerTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkUnreadCountSetZero;
FOUNDATION_EXPORT const int64_t Open_im_sdkUpdateFaceUrlAndNickName;
/**
* //////////////////////////////////////
MsgFrom
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkUserMsgType;
FOUNDATION_EXPORT const int64_t Open_im_sdkVideo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkZoomScale;
@interface Open_im_sdk : NSObject
// skipped variable ConListener with unsupported type: open_im_sdk/open_im_sdk.ConversationListener
// skipped variable ConversationCh with unsupported type: chan open_im_sdk/open_im_sdk.cmd2Value
// skipped variable FriendObj with unsupported type: open_im_sdk/open_im_sdk.Friend
+ (NSString* _Nonnull) loginUid;
+ (void) setLoginUid:(NSString* _Nonnull)v;
// skipped variable SdkInitManager with unsupported type: open_im_sdk/open_im_sdk.IMManager
// skipped variable SvrConf with unsupported type: open_im_sdk/open_im_sdk.IMConfig
@end
FOUNDATION_EXPORT void Open_im_sdkAcceptFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid);
FOUNDATION_EXPORT void Open_im_sdkAcceptGroupApplication(NSString* _Nullable application, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkAddAdvancedMsgListener(id<Open_im_sdkOnAdvancedMsgListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkAddFriend(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable paramsReq);
FOUNDATION_EXPORT void Open_im_sdkAddToBlackList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable blackUid);
FOUNDATION_EXPORT void Open_im_sdkCheckFriend(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uidList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateFileMessage(NSString* _Nullable filePath, NSString* _Nullable fileName);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateForwardMessage(NSString* _Nullable m);
FOUNDATION_EXPORT void Open_im_sdkCreateGroup(NSString* _Nullable gInfo, NSString* _Nullable memberList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateImageMessage(NSString* _Nullable imagePath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateImageMessageFromFullPath(NSString* _Nullable imageFullPath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateMergerMessage(NSString* _Nullable messageList, NSString* _Nullable title, NSString* _Nullable summaryList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateSoundMessage(NSString* _Nullable soundPath, int64_t duration);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextAtMessage(NSString* _Nullable text, NSString* _Nullable atUserList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextMessage(NSString* _Nullable text);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextSystemMessage(NSString* _Nullable text, int32_t textType);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessage(NSString* _Nullable videoPath, NSString* _Nullable videoType, int64_t duration, NSString* _Nullable snapshotPath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessageFromFullPath(NSString* _Nullable videoFullPath, NSString* _Nullable videoType, int64_t duration, NSString* _Nullable snapshotFullPath);
FOUNDATION_EXPORT void Open_im_sdkDeleteConversation(NSString* _Nullable conversationID, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkDeleteFromBlackList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable deleteUid);
FOUNDATION_EXPORT void Open_im_sdkDeleteFromFriendList(NSString* _Nullable deleteUid, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkDeleteMessageFromLocalStorage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message);
FOUNDATION_EXPORT void Open_im_sdkDoCreateGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoGetGroupsInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDoJoinGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoQuitGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoSetGroupInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetGroupMemberList(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetGroupMembersInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetJoinedGroupList(void);
FOUNDATION_EXPORT void Open_im_sdkDotestKickGroupMember(void);
FOUNDATION_EXPORT void Open_im_sdkDotesttestInviteUserToGroup(void);
FOUNDATION_EXPORT void Open_im_sdkFindMessages(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable messageIDList);
FOUNDATION_EXPORT void Open_im_sdkForceSyncBlackList(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncFriend(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncFriendApplication(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncLoginUerInfo(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncMsg(void);
FOUNDATION_EXPORT void Open_im_sdkFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid, long flag);
FOUNDATION_EXPORT void Open_im_sdkGetAllConversationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetBlackList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkGetConversationIDBySessionType(NSString* _Nullable sourceID, long sessionType);
FOUNDATION_EXPORT void Open_im_sdkGetFriendApplicationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetFriendList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetFriendsInfo(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uidList);
FOUNDATION_EXPORT void Open_im_sdkGetGroupApplicationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupMemberList(NSString* _Nullable groupId, int32_t filter, int32_t next, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupMembersInfo(NSString* _Nullable groupId, NSString* _Nullable userList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupsInfo(NSString* _Nullable groupIdList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetHistoryMessageList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable getMessageOptions);
FOUNDATION_EXPORT void Open_im_sdkGetJoinedGroupList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT long Open_im_sdkGetLoginStatus(void);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkGetLoginUser(void);
FOUNDATION_EXPORT void Open_im_sdkGetMultipleConversation(NSString* _Nullable conversationIDList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetOneConversation(NSString* _Nullable sourceID, long sessionType, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetTotalUnreadMsgCount(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetUsersInfo(NSString* _Nullable uIDList, id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT BOOL Open_im_sdkInitSDK(NSString* _Nullable config, id<Open_im_sdkIMSDKListener> _Nullable cb);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkInsertSingleMessageToLocalStorage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message, NSString* _Nullable userID, NSString* _Nullable sender);
FOUNDATION_EXPORT void Open_im_sdkInviteUserToGroup(NSString* _Nullable groupId, NSString* _Nullable reason, NSString* _Nullable userList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkJoinGroup(NSString* _Nullable groupId, NSString* _Nullable message, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkKickGroupMember(NSString* _Nullable groupId, NSString* _Nullable userList, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkLogin(NSString* _Nullable uid, NSString* _Nullable tk, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkLogout(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkMarkC2CMessageAsRead(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable receiver, NSString* _Nullable msgList);
FOUNDATION_EXPORT void Open_im_sdkMarkSingleMessageHasRead(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable userID);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkMd5(NSString* _Nullable s);
FOUNDATION_EXPORT void Open_im_sdkPinConversation(NSString* _Nullable conversationID, BOOL isPinned, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkQuitGroup(NSString* _Nullable groupId, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkRefuseFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid);
FOUNDATION_EXPORT void Open_im_sdkRefuseGroupApplication(NSString* _Nullable application, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkRemoveAdvancedMsgListener(id<Open_im_sdkOnAdvancedMsgListener> _Nullable listener);
FOUNDATION_EXPORT BOOL Open_im_sdkResetConversation(NSString* _Nullable conversationID, NSError* _Nullable* _Nullable error);
FOUNDATION_EXPORT void Open_im_sdkRevokeMessage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkSendMessage(id<Open_im_sdkSendMsgCallBack> _Nullable callback, NSString* _Nullable message, NSString* _Nullable receiver, NSString* _Nullable groupID, BOOL onlineUserOnly);
FOUNDATION_EXPORT void Open_im_sdkSetConversationDraft(NSString* _Nullable conversationID, NSString* _Nullable draftText, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetConversationListener(id<Open_im_sdkOnConversationListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkSetFriendInfo(NSString* _Nullable comment, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT BOOL Open_im_sdkSetFriendListener(id<Open_im_sdkOnFriendshipListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkSetGroupInfo(NSString* _Nullable jsonGroupInfo, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetGroupListener(id<Open_im_sdkOnGroupListener> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetSelfInfo(NSString* _Nullable info, id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT void Open_im_sdkTencentOssCredentials(id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT void Open_im_sdkTransferGroupOwner(NSString* _Nullable groupId, NSString* _Nullable userId, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkUnInitSDK(void);
// skipped function UnixSecondToTime with unsupported parameter or return types
@class Open_im_sdkBase;
@class Open_im_sdkIMSDKListener;
@class Open_im_sdkOnAdvancedMsgListener;
@class Open_im_sdkOnConversationListener;
@class Open_im_sdkOnFriendshipListener;
@class Open_im_sdkOnGroupListener;
@class Open_im_sdkSendMsgCallBack;
@interface Open_im_sdkBase : NSObject <goSeqRefInterface, Open_im_sdkBase> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@interface Open_im_sdkIMSDKListener : NSObject <goSeqRefInterface, Open_im_sdkIMSDKListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onConnectFailed:(long)ErrCode ErrMsg:(NSString* _Nullable)ErrMsg;
- (void)onConnectSuccess;
- (void)onConnecting;
- (void)onKickedOffline;
- (void)onSelfInfoUpdated:(NSString* _Nullable)userInfo;
- (void)onUserTokenExpired;
@end
@interface Open_im_sdkOnAdvancedMsgListener : NSObject <goSeqRefInterface, Open_im_sdkOnAdvancedMsgListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onRecvC2CReadReceipt:(NSString* _Nullable)msgReceiptList;
- (void)onRecvMessageRevoked:(NSString* _Nullable)msgId;
- (void)onRecvNewMessage:(NSString* _Nullable)message;
@end
@interface Open_im_sdkOnConversationListener : NSObject <goSeqRefInterface, Open_im_sdkOnConversationListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onConversationChanged:(NSString* _Nullable)conversationList;
- (void)onNewConversation:(NSString* _Nullable)conversationList;
- (void)onSyncServerFailed;
- (void)onSyncServerFinish;
- (void)onSyncServerStart;
- (void)onTotalUnreadMessageCountChanged:(int32_t)totalUnreadCount;
@end
@interface Open_im_sdkOnFriendshipListener : NSObject <goSeqRefInterface, Open_im_sdkOnFriendshipListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onBlackListAdd:(NSString* _Nullable)userInfo;
- (void)onBlackListDeleted:(NSString* _Nullable)userInfo;
- (void)onFriendApplicationListAccept:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListAdded:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListDeleted:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListReject:(NSString* _Nullable)applyUserInfo;
- (void)onFriendInfoChanged:(NSString* _Nullable)friendInfo;
- (void)onFriendListAdded:(NSString* _Nullable)friendInfo;
- (void)onFriendListDeleted:(NSString* _Nullable)friendInfo;
@end
@interface Open_im_sdkOnGroupListener : NSObject <goSeqRefInterface, Open_im_sdkOnGroupListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onApplicationProcessed:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser AgreeOrReject:(int32_t)AgreeOrReject opReason:(NSString* _Nullable)opReason;
- (void)onGroupCreated:(NSString* _Nullable)groupId;
- (void)onGroupInfoChanged:(NSString* _Nullable)groupId groupInfo:(NSString* _Nullable)groupInfo;
/**
* list->group
*/
- (void)onMemberEnter:(NSString* _Nullable)groupId memberList:(NSString* _Nullable)memberList;
/**
* list->opUser->groupId
*/
- (void)onMemberInvited:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberKicked:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
/**
* group->one
*/
- (void)onMemberLeave:(NSString* _Nullable)groupId member:(NSString* _Nullable)member;
- (void)onReceiveJoinApplication:(NSString* _Nullable)groupId member:(NSString* _Nullable)member opReason:(NSString* _Nullable)opReason;
@end
@interface Open_im_sdkSendMsgCallBack : NSObject <goSeqRefInterface, Open_im_sdkSendMsgCallBack> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onProgress:(long)progress;
- (void)onSuccess:(NSString* _Nullable)data;
@end
#endif

@ -0,0 +1,29 @@
// Objective-C API for talking to Go package.
// gobind -lang=objc
//
// File is generated by gobind. Do not edit.
#ifndef __Universe_H__
#define __Universe_H__
@import Foundation;
#include "ref.h"
@protocol Universeerror;
@class Universeerror;
@protocol Universeerror <NSObject>
- (NSString* _Nonnull)error;
@end
@class Universeerror;
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (NSString* _Nonnull)error;
@end
#endif

@ -0,0 +1,35 @@
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
#ifndef __GO_REF_HDR__
#define __GO_REF_HDR__
#include <Foundation/Foundation.h>
// GoSeqRef is an object tagged with an integer for passing back and
// forth across the language boundary. A GoSeqRef may represent either
// an instance of a Go object, or an Objective-C object passed to Go.
// The explicit allocation of a GoSeqRef is used to pin a Go object
// when it is passed to Objective-C. The Go seq package maintains a
// reference to the Go object in a map keyed by the refnum along with
// a reference count. When the reference count reaches zero, the Go
// seq package will clear the corresponding entry in the map.
@interface GoSeqRef : NSObject {
}
@property(readonly) int32_t refnum;
@property(strong) id obj; // NULL when representing a Go object.
// new GoSeqRef object to proxy a Go object. The refnum must be
// provided from Go side.
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
- (int32_t)incNum;
@end
@protocol goSeqRefInterface
-(GoSeqRef*) _ref;
@end
#endif

@ -0,0 +1,8 @@
framework module "OpenIMCore" {
header "ref.h"
header "Open_im_sdk.objc.h"
header "Universe.objc.h"
header "OpenIMCore.h"
export *
}

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

@ -0,0 +1,13 @@
// Objective-C API for talking to the following Go packages
//
// open_im_sdk/open_im_sdk
//
// File is generated by gomobile bind. Do not edit.
#ifndef __OpenIMCore_FRAMEWORK_H__
#define __OpenIMCore_FRAMEWORK_H__
#include "Open_im_sdk.objc.h"
#include "Universe.objc.h"
#endif

@ -0,0 +1,882 @@
// Objective-C API for talking to open_im_sdk/open_im_sdk Go package.
// gobind -lang=objc open_im_sdk/open_im_sdk
//
// File is generated by gobind. Do not edit.
#ifndef __Open_im_sdk_H__
#define __Open_im_sdk_H__
@import Foundation;
#include "ref.h"
#include "Universe.objc.h"
@class Open_im_sdkAgreeOrRejectGroupMember;
@class Open_im_sdkArrMsg;
@class Open_im_sdkChatLog;
@class Open_im_sdkConversationListener;
@class Open_im_sdkConversationStruct;
@class Open_im_sdkFriend;
@class Open_im_sdkGroupApplicationResponseReq;
@class Open_im_sdkGroupReqListInfo;
@class Open_im_sdkIMConfig;
@class Open_im_sdkIMManager;
@class Open_im_sdkInviteUserToGroupReq;
@class Open_im_sdkKickGroupMemberReq;
@class Open_im_sdkLogInfo;
@class Open_im_sdkMessageReceipt;
@class Open_im_sdkMsg;
@class Open_im_sdkMsgData;
@class Open_im_sdkMsgStruct;
@class Open_im_sdkPictureBaseInfo;
@class Open_im_sdkPullMsgReq;
@class Open_im_sdkPullUserMsgResp;
@class Open_im_sdkSendMsgRespFromServer;
@class Open_im_sdkSoundElem;
@class Open_im_sdkTransferGroupOwnerReq;
@class Open_im_sdkUid2Flag;
@protocol Open_im_sdkBase;
@class Open_im_sdkBase;
@protocol Open_im_sdkIMSDKListener;
@class Open_im_sdkIMSDKListener;
@protocol Open_im_sdkOnAdvancedMsgListener;
@class Open_im_sdkOnAdvancedMsgListener;
@protocol Open_im_sdkOnConversationListener;
@class Open_im_sdkOnConversationListener;
@protocol Open_im_sdkOnFriendshipListener;
@class Open_im_sdkOnFriendshipListener;
@protocol Open_im_sdkOnGroupListener;
@class Open_im_sdkOnGroupListener;
@protocol Open_im_sdkSendMsgCallBack;
@class Open_im_sdkSendMsgCallBack;
@protocol Open_im_sdkBase <NSObject>
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@protocol Open_im_sdkIMSDKListener <NSObject>
- (void)onConnectFailed:(long)ErrCode ErrMsg:(NSString* _Nullable)ErrMsg;
- (void)onConnectSuccess;
- (void)onConnecting;
- (void)onKickedOffline;
- (void)onSelfInfoUpdated:(NSString* _Nullable)userInfo;
- (void)onUserTokenExpired;
@end
@protocol Open_im_sdkOnAdvancedMsgListener <NSObject>
- (void)onRecvC2CReadReceipt:(NSString* _Nullable)msgReceiptList;
- (void)onRecvMessageRevoked:(NSString* _Nullable)msgId;
- (void)onRecvNewMessage:(NSString* _Nullable)message;
@end
@protocol Open_im_sdkOnConversationListener <NSObject>
- (void)onConversationChanged:(NSString* _Nullable)conversationList;
- (void)onNewConversation:(NSString* _Nullable)conversationList;
- (void)onSyncServerFailed;
- (void)onSyncServerFinish;
- (void)onSyncServerStart;
- (void)onTotalUnreadMessageCountChanged:(int32_t)totalUnreadCount;
@end
@protocol Open_im_sdkOnFriendshipListener <NSObject>
- (void)onBlackListAdd:(NSString* _Nullable)userInfo;
- (void)onBlackListDeleted:(NSString* _Nullable)userInfo;
- (void)onFriendApplicationListAccept:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListAdded:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListDeleted:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListReject:(NSString* _Nullable)applyUserInfo;
- (void)onFriendInfoChanged:(NSString* _Nullable)friendInfo;
- (void)onFriendListAdded:(NSString* _Nullable)friendInfo;
- (void)onFriendListDeleted:(NSString* _Nullable)friendInfo;
@end
@protocol Open_im_sdkOnGroupListener <NSObject>
- (void)onApplicationProcessed:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser AgreeOrReject:(int32_t)AgreeOrReject opReason:(NSString* _Nullable)opReason;
- (void)onGroupCreated:(NSString* _Nullable)groupId;
- (void)onGroupInfoChanged:(NSString* _Nullable)groupId groupInfo:(NSString* _Nullable)groupInfo;
- (void)onMemberEnter:(NSString* _Nullable)groupId memberList:(NSString* _Nullable)memberList;
- (void)onMemberInvited:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberKicked:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberLeave:(NSString* _Nullable)groupId member:(NSString* _Nullable)member;
- (void)onReceiveJoinApplication:(NSString* _Nullable)groupId member:(NSString* _Nullable)member opReason:(NSString* _Nullable)opReason;
@end
@protocol Open_im_sdkSendMsgCallBack <NSObject>
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onProgress:(long)progress;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@interface Open_im_sdkAgreeOrRejectGroupMember : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull groupId;
@property (nonatomic) NSString* _Nonnull userId;
@property (nonatomic) long role;
// skipped field AgreeOrRejectGroupMember.JoinTime with unsupported type: uint64
@property (nonatomic) NSString* _Nonnull nickName;
@property (nonatomic) NSString* _Nonnull faceUrl;
@property (nonatomic) NSString* _Nonnull reason;
@end
@interface Open_im_sdkArrMsg : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
// skipped field ArrMsg.Data with unsupported type: []open_im_sdk/open_im_sdk.MsgData
@end
@interface Open_im_sdkChatLog : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull msgId;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) int32_t isRead;
@property (nonatomic) int64_t seq;
@property (nonatomic) int32_t status;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) NSString* _Nonnull content;
// skipped field ChatLog.Remark with unsupported type: database/sql.NullString
@property (nonatomic) int32_t senderPlatformID;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int64_t createTime;
@end
@interface Open_im_sdkConversationListener : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) id<Open_im_sdkOnConversationListener> _Nullable conversationListener;
// skipped field ConversationListener.MsgListenerList with unsupported type: []open_im_sdk/open_im_sdk.OnAdvancedMsgListener
@end
@interface Open_im_sdkConversationStruct : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull conversationID;
@property (nonatomic) long conversationType;
@property (nonatomic) NSString* _Nonnull userID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull showName;
@property (nonatomic) NSString* _Nonnull faceURL;
@property (nonatomic) long recvMsgOpt;
@property (nonatomic) long unreadCount;
@property (nonatomic) NSString* _Nonnull latestMsg;
@property (nonatomic) int64_t latestMsgSendTime;
@property (nonatomic) NSString* _Nonnull draftText;
@property (nonatomic) int64_t draftTimestamp;
@property (nonatomic) long isPinned;
@end
@interface Open_im_sdkFriend : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@end
@interface Open_im_sdkGroupApplicationResponseReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull operationID;
@property (nonatomic) NSString* _Nonnull ownerID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull fromUserID;
@property (nonatomic) NSString* _Nonnull fromUserNickName;
@property (nonatomic) NSString* _Nonnull fromUserFaceUrl;
@property (nonatomic) NSString* _Nonnull toUserID;
@property (nonatomic) NSString* _Nonnull toUserNickName;
@property (nonatomic) NSString* _Nonnull toUserFaceUrl;
@property (nonatomic) int64_t addTime;
@property (nonatomic) NSString* _Nonnull requestMsg;
@property (nonatomic) NSString* _Nonnull handledMsg;
@property (nonatomic) int32_t type;
@property (nonatomic) int32_t handleStatus;
@property (nonatomic) int32_t handleResult;
@end
@interface Open_im_sdkGroupReqListInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull id_;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull fromUserID;
@property (nonatomic) NSString* _Nonnull toUserID;
@property (nonatomic) int32_t flag;
@property (nonatomic) NSString* _Nonnull requestMsg;
@property (nonatomic) NSString* _Nonnull handledMsg;
@property (nonatomic) int64_t addTime;
@property (nonatomic) NSString* _Nonnull fromUserNickname;
@property (nonatomic) NSString* _Nonnull toUserNickname;
@property (nonatomic) NSString* _Nonnull fromUserFaceUrl;
@property (nonatomic) NSString* _Nonnull toUserFaceUrl;
@property (nonatomic) NSString* _Nonnull handledUser;
@property (nonatomic) int32_t type;
@property (nonatomic) int32_t handleStatus;
@property (nonatomic) int32_t handleResult;
@property (nonatomic) int32_t isRead;
@end
@interface Open_im_sdkIMConfig : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) int32_t platform;
@property (nonatomic) NSString* _Nonnull ipApiAddr;
@property (nonatomic) NSString* _Nonnull ipWsAddr;
@property (nonatomic) NSString* _Nonnull dbDir;
@end
@interface Open_im_sdkIMManager : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long loginState;
@end
@interface Open_im_sdkInviteUserToGroupReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull op;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull reason;
// skipped field InviteUserToGroupReq.UidList with unsupported type: []string
@end
@interface Open_im_sdkKickGroupMemberReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull op;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull reason;
// skipped field KickGroupMemberReq.UidList with unsupported type: []string
@end
@interface Open_im_sdkLogInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull info;
@end
@interface Open_im_sdkMessageReceipt : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull userID;
// skipped field MessageReceipt.MsgIdList with unsupported type: []string
@property (nonatomic) int64_t readTime;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t sessionType;
@end
@interface Open_im_sdkMsg : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long reqIdentifier;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
// skipped field Msg.Data with unsupported type: open_im_sdk/open_im_sdk.MsgData
@end
@interface Open_im_sdkMsgData : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) NSString* _Nonnull serverMsgID;
@property (nonatomic) NSString* _Nonnull content;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int64_t seq;
@property (nonatomic) int32_t senderPlatformID;
@property (nonatomic) NSString* _Nonnull senderNickName;
@property (nonatomic) NSString* _Nonnull senderFaceURL;
@property (nonatomic) NSString* _Nonnull clientMsgID;
@end
@interface Open_im_sdkMsgStruct : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull clientMsgID;
@property (nonatomic) NSString* _Nonnull serverMsgID;
@property (nonatomic) int64_t createTime;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t platformID;
// skipped field MsgStruct.ForceList with unsupported type: []string
@property (nonatomic) NSString* _Nonnull senderNickName;
@property (nonatomic) NSString* _Nonnull senderFaceURL;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull content;
@property (nonatomic) int64_t seq;
@property (nonatomic) BOOL isRead;
@property (nonatomic) int32_t status;
@property (nonatomic) NSString* _Nonnull remark;
// skipped field MsgStruct.PictureElem with unsupported type: struct{SourcePath string "json:\"sourcePath\""; SourcePicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"sourcePicture\""; BigPicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"bigPicture\""; SnapshotPicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"snapshotPicture\""}
// skipped field MsgStruct.SoundElem with unsupported type: struct{UUID string "json:\"uuid\""; SoundPath string "json:\"soundPath\""; SourceURL string "json:\"sourceUrl\""; DataSize int64 "json:\"dataSize\""; Duration int64 "json:\"duration\""}
// skipped field MsgStruct.VideoElem with unsupported type: struct{VideoPath string "json:\"videoPath\""; VideoUUID string "json:\"videoUUID\""; VideoURL string "json:\"videoUrl\""; VideoType string "json:\"videoType\""; VideoSize int64 "json:\"videoSize\""; Duration int64 "json:\"duration\""; SnapshotPath string "json:\"snapshotPath\""; SnapshotUUID string "json:\"snapshotUUID\""; SnapshotSize int64 "json:\"snapshotSize\""; SnapshotURL string "json:\"snapshotUrl\""; SnapshotWidth int32 "json:\"snapshotWidth\""; SnapshotHeight int32 "json:\"snapshotHeight\""}
// skipped field MsgStruct.FileElem with unsupported type: struct{FilePath string "json:\"filePath\""; UUID string "json:\"uuid\""; SourceURL string "json:\"sourceUrl\""; FileName string "json:\"fileName\""; FileSize int64 "json:\"fileSize\""}
// skipped field MsgStruct.MergeElem with unsupported type: struct{Title string "json:\"title\""; AbstractList []string "json:\"abstractList\""; MultiMessage []*open_im_sdk/open_im_sdk.MsgStruct "json:\"multiMessage\""}
// skipped field MsgStruct.RevokeMessage with unsupported type: struct{ServerMsgID string "json:\"serverMsgID\""; SendID string "json:\"sendID\""; SenderNickname string "json:\"senderNickname\""; RecvID string "json:\"recvID\""; GroupID string "json:\"groupID\""; ContentType int32 "json:\"contentType\""; SendTime int64 "json:\"sendTime\""}
@end
@interface Open_im_sdkPictureBaseInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uuid;
@property (nonatomic) NSString* _Nonnull type;
@property (nonatomic) int64_t size;
@property (nonatomic) int32_t width;
@property (nonatomic) int32_t height;
@property (nonatomic) NSString* _Nonnull url;
@end
/**
* //////////////////////// message/////////////////////////
*/
@interface Open_im_sdkPullMsgReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull userID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) Open_im_sdkMsgStruct* _Nullable startMsg;
@property (nonatomic) long count;
@end
@interface Open_im_sdkPullUserMsgResp : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
@property (nonatomic) long reqIdentifier;
@property (nonatomic) long msgIncr;
// skipped field PullUserMsgResp.Data with unsupported type: open_im_sdk/open_im_sdk.paramsPullUserMsgDataResp
@end
@interface Open_im_sdkSendMsgRespFromServer : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
@property (nonatomic) long reqIdentifier;
// skipped field SendMsgRespFromServer.Data with unsupported type: struct{ServerMsgID string "json:\"serverMsgID\""; ClientMsgID string "json:\"clientMsgID\""; SendTime int64 "json:\"sendTime\""}
@end
@interface Open_im_sdkSoundElem : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uuid;
@property (nonatomic) NSString* _Nonnull soundPath;
@property (nonatomic) NSString* _Nonnull sourceURL;
@property (nonatomic) int64_t dataSize;
@property (nonatomic) int64_t duration;
@end
@interface Open_im_sdkTransferGroupOwnerReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull oldOwner;
@property (nonatomic) NSString* _Nonnull newOwner;
@property (nonatomic) NSString* _Nonnull operationID;
@end
@interface Open_im_sdkUid2Flag : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uid;
@property (nonatomic) int32_t flag;
@end
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptFriendApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptGroupApplicationResultTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptGroupApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAddConOrUpLatMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkAddFriendTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAtText;
FOUNDATION_EXPORT const int64_t Open_im_sdkC2CMessageAsRead;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdAcceptFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdAddFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdBlackList;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdDeleteConversation;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncFriendApplication;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncLoginUerInfo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncMsg;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFriendApplication;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFroceSyncBlackList;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdGeyLoginUserInfo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdNewMsgCome;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdReLogin;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdRefuseFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdUnInit;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdUpdateConversation;
FOUNDATION_EXPORT const int64_t Open_im_sdkConAndUnreadChange;
FOUNDATION_EXPORT const int64_t Open_im_sdkConChange;
FOUNDATION_EXPORT const int64_t Open_im_sdkCreateGroupTip;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkDeFaultSuccessMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeConversation;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeFriend;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeInitLogin;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeUserInfo;
FOUNDATION_EXPORT const int64_t Open_im_sdkFile;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkFriendAcceptTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionAcceptGroupApplication;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionApplyJoinGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionCreateGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionInviteUserToGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionKickGroupMember;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionQuitGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionRefuseGroupApplication;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionSetGroupInfo;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionTransferGroupOwner;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupApplicationResponseTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupChatType;
FOUNDATION_EXPORT const int64_t Open_im_sdkHasRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkIncrUnread;
FOUNDATION_EXPORT const int64_t Open_im_sdkInviteUserToGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkJoinGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkKickGroupMemberTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkKickOnlineTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkLoginFailed;
FOUNDATION_EXPORT const int64_t Open_im_sdkLoginSuccess;
FOUNDATION_EXPORT const int64_t Open_im_sdkLogining;
FOUNDATION_EXPORT const int64_t Open_im_sdkLogoutCmd;
FOUNDATION_EXPORT const int64_t Open_im_sdkMerger;
FOUNDATION_EXPORT const int64_t Open_im_sdkMessageHasNotRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkMessageHasRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusHasDeleted;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSendFailed;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSendSuccess;
/**
* MsgStatus
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSending;
FOUNDATION_EXPORT const int64_t Open_im_sdkNotRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkPicture;
FOUNDATION_EXPORT const int64_t Open_im_sdkQuitGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseFriendApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseGroupApplicationResultTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseGroupApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRevokeMessageTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkSetGroupInfoTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkSetSelfInfoTip;
/**
* ///////////////////////////////////
SessionType
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkSingleChatType;
FOUNDATION_EXPORT const int64_t Open_im_sdkSound;
FOUNDATION_EXPORT const int64_t Open_im_sdkSyncSenderMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkSysMsgType;
/**
* ContentType
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkText;
FOUNDATION_EXPORT const int64_t Open_im_sdkTimeOffset;
FOUNDATION_EXPORT const int64_t Open_im_sdkTotalUnreadMessageChanged;
FOUNDATION_EXPORT const int64_t Open_im_sdkTransferGroupOwnerTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkUnreadCountSetZero;
FOUNDATION_EXPORT const int64_t Open_im_sdkUpdateFaceUrlAndNickName;
/**
* //////////////////////////////////////
MsgFrom
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkUserMsgType;
FOUNDATION_EXPORT const int64_t Open_im_sdkVideo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkZoomScale;
@interface Open_im_sdk : NSObject
// skipped variable ConListener with unsupported type: open_im_sdk/open_im_sdk.ConversationListener
// skipped variable ConversationCh with unsupported type: chan open_im_sdk/open_im_sdk.cmd2Value
// skipped variable FriendObj with unsupported type: open_im_sdk/open_im_sdk.Friend
+ (NSString* _Nonnull) loginUid;
+ (void) setLoginUid:(NSString* _Nonnull)v;
// skipped variable SdkInitManager with unsupported type: open_im_sdk/open_im_sdk.IMManager
// skipped variable SvrConf with unsupported type: open_im_sdk/open_im_sdk.IMConfig
@end
FOUNDATION_EXPORT void Open_im_sdkAcceptFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid);
FOUNDATION_EXPORT void Open_im_sdkAcceptGroupApplication(NSString* _Nullable application, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkAddAdvancedMsgListener(id<Open_im_sdkOnAdvancedMsgListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkAddFriend(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable paramsReq);
FOUNDATION_EXPORT void Open_im_sdkAddToBlackList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable blackUid);
FOUNDATION_EXPORT void Open_im_sdkCheckFriend(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uidList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateFileMessage(NSString* _Nullable filePath, NSString* _Nullable fileName);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateForwardMessage(NSString* _Nullable m);
FOUNDATION_EXPORT void Open_im_sdkCreateGroup(NSString* _Nullable gInfo, NSString* _Nullable memberList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateImageMessage(NSString* _Nullable imagePath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateImageMessageFromFullPath(NSString* _Nullable imageFullPath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateMergerMessage(NSString* _Nullable messageList, NSString* _Nullable title, NSString* _Nullable summaryList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateSoundMessage(NSString* _Nullable soundPath, int64_t duration);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextAtMessage(NSString* _Nullable text, NSString* _Nullable atUserList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextMessage(NSString* _Nullable text);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextSystemMessage(NSString* _Nullable text, int32_t textType);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessage(NSString* _Nullable videoPath, NSString* _Nullable videoType, int64_t duration, NSString* _Nullable snapshotPath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessageFromFullPath(NSString* _Nullable videoFullPath, NSString* _Nullable videoType, int64_t duration, NSString* _Nullable snapshotFullPath);
FOUNDATION_EXPORT void Open_im_sdkDeleteConversation(NSString* _Nullable conversationID, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkDeleteFromBlackList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable deleteUid);
FOUNDATION_EXPORT void Open_im_sdkDeleteFromFriendList(NSString* _Nullable deleteUid, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkDeleteMessageFromLocalStorage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message);
FOUNDATION_EXPORT void Open_im_sdkDoCreateGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoGetGroupsInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDoJoinGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoQuitGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoSetGroupInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetGroupMemberList(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetGroupMembersInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetJoinedGroupList(void);
FOUNDATION_EXPORT void Open_im_sdkDotestKickGroupMember(void);
FOUNDATION_EXPORT void Open_im_sdkDotesttestInviteUserToGroup(void);
FOUNDATION_EXPORT void Open_im_sdkFindMessages(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable messageIDList);
FOUNDATION_EXPORT void Open_im_sdkForceSyncBlackList(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncFriend(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncFriendApplication(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncLoginUerInfo(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncMsg(void);
FOUNDATION_EXPORT void Open_im_sdkFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid, long flag);
FOUNDATION_EXPORT void Open_im_sdkGetAllConversationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetBlackList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkGetConversationIDBySessionType(NSString* _Nullable sourceID, long sessionType);
FOUNDATION_EXPORT void Open_im_sdkGetFriendApplicationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetFriendList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetFriendsInfo(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uidList);
FOUNDATION_EXPORT void Open_im_sdkGetGroupApplicationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupMemberList(NSString* _Nullable groupId, int32_t filter, int32_t next, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupMembersInfo(NSString* _Nullable groupId, NSString* _Nullable userList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupsInfo(NSString* _Nullable groupIdList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetHistoryMessageList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable getMessageOptions);
FOUNDATION_EXPORT void Open_im_sdkGetJoinedGroupList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT long Open_im_sdkGetLoginStatus(void);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkGetLoginUser(void);
FOUNDATION_EXPORT void Open_im_sdkGetMultipleConversation(NSString* _Nullable conversationIDList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetOneConversation(NSString* _Nullable sourceID, long sessionType, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetTotalUnreadMsgCount(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetUsersInfo(NSString* _Nullable uIDList, id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT BOOL Open_im_sdkInitSDK(NSString* _Nullable config, id<Open_im_sdkIMSDKListener> _Nullable cb);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkInsertSingleMessageToLocalStorage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message, NSString* _Nullable userID, NSString* _Nullable sender);
FOUNDATION_EXPORT void Open_im_sdkInviteUserToGroup(NSString* _Nullable groupId, NSString* _Nullable reason, NSString* _Nullable userList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkJoinGroup(NSString* _Nullable groupId, NSString* _Nullable message, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkKickGroupMember(NSString* _Nullable groupId, NSString* _Nullable userList, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkLogin(NSString* _Nullable uid, NSString* _Nullable tk, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkLogout(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkMarkC2CMessageAsRead(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable receiver, NSString* _Nullable msgList);
FOUNDATION_EXPORT void Open_im_sdkMarkSingleMessageHasRead(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable userID);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkMd5(NSString* _Nullable s);
FOUNDATION_EXPORT void Open_im_sdkPinConversation(NSString* _Nullable conversationID, BOOL isPinned, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkQuitGroup(NSString* _Nullable groupId, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkRefuseFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid);
FOUNDATION_EXPORT void Open_im_sdkRefuseGroupApplication(NSString* _Nullable application, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkRemoveAdvancedMsgListener(id<Open_im_sdkOnAdvancedMsgListener> _Nullable listener);
FOUNDATION_EXPORT BOOL Open_im_sdkResetConversation(NSString* _Nullable conversationID, NSError* _Nullable* _Nullable error);
FOUNDATION_EXPORT void Open_im_sdkRevokeMessage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkSendMessage(id<Open_im_sdkSendMsgCallBack> _Nullable callback, NSString* _Nullable message, NSString* _Nullable receiver, NSString* _Nullable groupID, BOOL onlineUserOnly);
FOUNDATION_EXPORT void Open_im_sdkSetConversationDraft(NSString* _Nullable conversationID, NSString* _Nullable draftText, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetConversationListener(id<Open_im_sdkOnConversationListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkSetFriendInfo(NSString* _Nullable comment, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT BOOL Open_im_sdkSetFriendListener(id<Open_im_sdkOnFriendshipListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkSetGroupInfo(NSString* _Nullable jsonGroupInfo, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetGroupListener(id<Open_im_sdkOnGroupListener> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetSelfInfo(NSString* _Nullable info, id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT void Open_im_sdkTencentOssCredentials(id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT void Open_im_sdkTransferGroupOwner(NSString* _Nullable groupId, NSString* _Nullable userId, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkUnInitSDK(void);
// skipped function UnixSecondToTime with unsupported parameter or return types
@class Open_im_sdkBase;
@class Open_im_sdkIMSDKListener;
@class Open_im_sdkOnAdvancedMsgListener;
@class Open_im_sdkOnConversationListener;
@class Open_im_sdkOnFriendshipListener;
@class Open_im_sdkOnGroupListener;
@class Open_im_sdkSendMsgCallBack;
@interface Open_im_sdkBase : NSObject <goSeqRefInterface, Open_im_sdkBase> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@interface Open_im_sdkIMSDKListener : NSObject <goSeqRefInterface, Open_im_sdkIMSDKListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onConnectFailed:(long)ErrCode ErrMsg:(NSString* _Nullable)ErrMsg;
- (void)onConnectSuccess;
- (void)onConnecting;
- (void)onKickedOffline;
- (void)onSelfInfoUpdated:(NSString* _Nullable)userInfo;
- (void)onUserTokenExpired;
@end
@interface Open_im_sdkOnAdvancedMsgListener : NSObject <goSeqRefInterface, Open_im_sdkOnAdvancedMsgListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onRecvC2CReadReceipt:(NSString* _Nullable)msgReceiptList;
- (void)onRecvMessageRevoked:(NSString* _Nullable)msgId;
- (void)onRecvNewMessage:(NSString* _Nullable)message;
@end
@interface Open_im_sdkOnConversationListener : NSObject <goSeqRefInterface, Open_im_sdkOnConversationListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onConversationChanged:(NSString* _Nullable)conversationList;
- (void)onNewConversation:(NSString* _Nullable)conversationList;
- (void)onSyncServerFailed;
- (void)onSyncServerFinish;
- (void)onSyncServerStart;
- (void)onTotalUnreadMessageCountChanged:(int32_t)totalUnreadCount;
@end
@interface Open_im_sdkOnFriendshipListener : NSObject <goSeqRefInterface, Open_im_sdkOnFriendshipListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onBlackListAdd:(NSString* _Nullable)userInfo;
- (void)onBlackListDeleted:(NSString* _Nullable)userInfo;
- (void)onFriendApplicationListAccept:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListAdded:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListDeleted:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListReject:(NSString* _Nullable)applyUserInfo;
- (void)onFriendInfoChanged:(NSString* _Nullable)friendInfo;
- (void)onFriendListAdded:(NSString* _Nullable)friendInfo;
- (void)onFriendListDeleted:(NSString* _Nullable)friendInfo;
@end
@interface Open_im_sdkOnGroupListener : NSObject <goSeqRefInterface, Open_im_sdkOnGroupListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onApplicationProcessed:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser AgreeOrReject:(int32_t)AgreeOrReject opReason:(NSString* _Nullable)opReason;
- (void)onGroupCreated:(NSString* _Nullable)groupId;
- (void)onGroupInfoChanged:(NSString* _Nullable)groupId groupInfo:(NSString* _Nullable)groupInfo;
/**
* list->group
*/
- (void)onMemberEnter:(NSString* _Nullable)groupId memberList:(NSString* _Nullable)memberList;
/**
* list->opUser->groupId
*/
- (void)onMemberInvited:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberKicked:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
/**
* group->one
*/
- (void)onMemberLeave:(NSString* _Nullable)groupId member:(NSString* _Nullable)member;
- (void)onReceiveJoinApplication:(NSString* _Nullable)groupId member:(NSString* _Nullable)member opReason:(NSString* _Nullable)opReason;
@end
@interface Open_im_sdkSendMsgCallBack : NSObject <goSeqRefInterface, Open_im_sdkSendMsgCallBack> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onProgress:(long)progress;
- (void)onSuccess:(NSString* _Nullable)data;
@end
#endif

@ -0,0 +1,29 @@
// Objective-C API for talking to Go package.
// gobind -lang=objc
//
// File is generated by gobind. Do not edit.
#ifndef __Universe_H__
#define __Universe_H__
@import Foundation;
#include "ref.h"
@protocol Universeerror;
@class Universeerror;
@protocol Universeerror <NSObject>
- (NSString* _Nonnull)error;
@end
@class Universeerror;
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (NSString* _Nonnull)error;
@end
#endif

@ -0,0 +1,35 @@
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
#ifndef __GO_REF_HDR__
#define __GO_REF_HDR__
#include <Foundation/Foundation.h>
// GoSeqRef is an object tagged with an integer for passing back and
// forth across the language boundary. A GoSeqRef may represent either
// an instance of a Go object, or an Objective-C object passed to Go.
// The explicit allocation of a GoSeqRef is used to pin a Go object
// when it is passed to Objective-C. The Go seq package maintains a
// reference to the Go object in a map keyed by the refnum along with
// a reference count. When the reference count reaches zero, the Go
// seq package will clear the corresponding entry in the map.
@interface GoSeqRef : NSObject {
}
@property(readonly) int32_t refnum;
@property(strong) id obj; // NULL when representing a Go object.
// new GoSeqRef object to proxy a Go object. The refnum must be
// provided from Go side.
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
- (int32_t)incNum;
@end
@protocol goSeqRefInterface
-(GoSeqRef*) _ref;
@end
#endif

@ -0,0 +1,8 @@
framework module "OpenIMCore" {
header "ref.h"
header "Open_im_sdk.objc.h"
header "Universe.objc.h"
header "OpenIMCore.h"
export *
}

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

@ -0,0 +1,13 @@
// Objective-C API for talking to the following Go packages
//
// open_im_sdk/open_im_sdk
//
// File is generated by gomobile bind. Do not edit.
#ifndef __OpenIMCore_FRAMEWORK_H__
#define __OpenIMCore_FRAMEWORK_H__
#include "Open_im_sdk.objc.h"
#include "Universe.objc.h"
#endif

@ -0,0 +1,882 @@
// Objective-C API for talking to open_im_sdk/open_im_sdk Go package.
// gobind -lang=objc open_im_sdk/open_im_sdk
//
// File is generated by gobind. Do not edit.
#ifndef __Open_im_sdk_H__
#define __Open_im_sdk_H__
@import Foundation;
#include "ref.h"
#include "Universe.objc.h"
@class Open_im_sdkAgreeOrRejectGroupMember;
@class Open_im_sdkArrMsg;
@class Open_im_sdkChatLog;
@class Open_im_sdkConversationListener;
@class Open_im_sdkConversationStruct;
@class Open_im_sdkFriend;
@class Open_im_sdkGroupApplicationResponseReq;
@class Open_im_sdkGroupReqListInfo;
@class Open_im_sdkIMConfig;
@class Open_im_sdkIMManager;
@class Open_im_sdkInviteUserToGroupReq;
@class Open_im_sdkKickGroupMemberReq;
@class Open_im_sdkLogInfo;
@class Open_im_sdkMessageReceipt;
@class Open_im_sdkMsg;
@class Open_im_sdkMsgData;
@class Open_im_sdkMsgStruct;
@class Open_im_sdkPictureBaseInfo;
@class Open_im_sdkPullMsgReq;
@class Open_im_sdkPullUserMsgResp;
@class Open_im_sdkSendMsgRespFromServer;
@class Open_im_sdkSoundElem;
@class Open_im_sdkTransferGroupOwnerReq;
@class Open_im_sdkUid2Flag;
@protocol Open_im_sdkBase;
@class Open_im_sdkBase;
@protocol Open_im_sdkIMSDKListener;
@class Open_im_sdkIMSDKListener;
@protocol Open_im_sdkOnAdvancedMsgListener;
@class Open_im_sdkOnAdvancedMsgListener;
@protocol Open_im_sdkOnConversationListener;
@class Open_im_sdkOnConversationListener;
@protocol Open_im_sdkOnFriendshipListener;
@class Open_im_sdkOnFriendshipListener;
@protocol Open_im_sdkOnGroupListener;
@class Open_im_sdkOnGroupListener;
@protocol Open_im_sdkSendMsgCallBack;
@class Open_im_sdkSendMsgCallBack;
@protocol Open_im_sdkBase <NSObject>
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@protocol Open_im_sdkIMSDKListener <NSObject>
- (void)onConnectFailed:(long)ErrCode ErrMsg:(NSString* _Nullable)ErrMsg;
- (void)onConnectSuccess;
- (void)onConnecting;
- (void)onKickedOffline;
- (void)onSelfInfoUpdated:(NSString* _Nullable)userInfo;
- (void)onUserTokenExpired;
@end
@protocol Open_im_sdkOnAdvancedMsgListener <NSObject>
- (void)onRecvC2CReadReceipt:(NSString* _Nullable)msgReceiptList;
- (void)onRecvMessageRevoked:(NSString* _Nullable)msgId;
- (void)onRecvNewMessage:(NSString* _Nullable)message;
@end
@protocol Open_im_sdkOnConversationListener <NSObject>
- (void)onConversationChanged:(NSString* _Nullable)conversationList;
- (void)onNewConversation:(NSString* _Nullable)conversationList;
- (void)onSyncServerFailed;
- (void)onSyncServerFinish;
- (void)onSyncServerStart;
- (void)onTotalUnreadMessageCountChanged:(int32_t)totalUnreadCount;
@end
@protocol Open_im_sdkOnFriendshipListener <NSObject>
- (void)onBlackListAdd:(NSString* _Nullable)userInfo;
- (void)onBlackListDeleted:(NSString* _Nullable)userInfo;
- (void)onFriendApplicationListAccept:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListAdded:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListDeleted:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListReject:(NSString* _Nullable)applyUserInfo;
- (void)onFriendInfoChanged:(NSString* _Nullable)friendInfo;
- (void)onFriendListAdded:(NSString* _Nullable)friendInfo;
- (void)onFriendListDeleted:(NSString* _Nullable)friendInfo;
@end
@protocol Open_im_sdkOnGroupListener <NSObject>
- (void)onApplicationProcessed:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser AgreeOrReject:(int32_t)AgreeOrReject opReason:(NSString* _Nullable)opReason;
- (void)onGroupCreated:(NSString* _Nullable)groupId;
- (void)onGroupInfoChanged:(NSString* _Nullable)groupId groupInfo:(NSString* _Nullable)groupInfo;
- (void)onMemberEnter:(NSString* _Nullable)groupId memberList:(NSString* _Nullable)memberList;
- (void)onMemberInvited:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberKicked:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberLeave:(NSString* _Nullable)groupId member:(NSString* _Nullable)member;
- (void)onReceiveJoinApplication:(NSString* _Nullable)groupId member:(NSString* _Nullable)member opReason:(NSString* _Nullable)opReason;
@end
@protocol Open_im_sdkSendMsgCallBack <NSObject>
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onProgress:(long)progress;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@interface Open_im_sdkAgreeOrRejectGroupMember : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull groupId;
@property (nonatomic) NSString* _Nonnull userId;
@property (nonatomic) long role;
// skipped field AgreeOrRejectGroupMember.JoinTime with unsupported type: uint64
@property (nonatomic) NSString* _Nonnull nickName;
@property (nonatomic) NSString* _Nonnull faceUrl;
@property (nonatomic) NSString* _Nonnull reason;
@end
@interface Open_im_sdkArrMsg : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
// skipped field ArrMsg.Data with unsupported type: []open_im_sdk/open_im_sdk.MsgData
@end
@interface Open_im_sdkChatLog : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull msgId;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) int32_t isRead;
@property (nonatomic) int64_t seq;
@property (nonatomic) int32_t status;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) NSString* _Nonnull content;
// skipped field ChatLog.Remark with unsupported type: database/sql.NullString
@property (nonatomic) int32_t senderPlatformID;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int64_t createTime;
@end
@interface Open_im_sdkConversationListener : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) id<Open_im_sdkOnConversationListener> _Nullable conversationListener;
// skipped field ConversationListener.MsgListenerList with unsupported type: []open_im_sdk/open_im_sdk.OnAdvancedMsgListener
@end
@interface Open_im_sdkConversationStruct : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull conversationID;
@property (nonatomic) long conversationType;
@property (nonatomic) NSString* _Nonnull userID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull showName;
@property (nonatomic) NSString* _Nonnull faceURL;
@property (nonatomic) long recvMsgOpt;
@property (nonatomic) long unreadCount;
@property (nonatomic) NSString* _Nonnull latestMsg;
@property (nonatomic) int64_t latestMsgSendTime;
@property (nonatomic) NSString* _Nonnull draftText;
@property (nonatomic) int64_t draftTimestamp;
@property (nonatomic) long isPinned;
@end
@interface Open_im_sdkFriend : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@end
@interface Open_im_sdkGroupApplicationResponseReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull operationID;
@property (nonatomic) NSString* _Nonnull ownerID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull fromUserID;
@property (nonatomic) NSString* _Nonnull fromUserNickName;
@property (nonatomic) NSString* _Nonnull fromUserFaceUrl;
@property (nonatomic) NSString* _Nonnull toUserID;
@property (nonatomic) NSString* _Nonnull toUserNickName;
@property (nonatomic) NSString* _Nonnull toUserFaceUrl;
@property (nonatomic) int64_t addTime;
@property (nonatomic) NSString* _Nonnull requestMsg;
@property (nonatomic) NSString* _Nonnull handledMsg;
@property (nonatomic) int32_t type;
@property (nonatomic) int32_t handleStatus;
@property (nonatomic) int32_t handleResult;
@end
@interface Open_im_sdkGroupReqListInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull id_;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull fromUserID;
@property (nonatomic) NSString* _Nonnull toUserID;
@property (nonatomic) int32_t flag;
@property (nonatomic) NSString* _Nonnull requestMsg;
@property (nonatomic) NSString* _Nonnull handledMsg;
@property (nonatomic) int64_t addTime;
@property (nonatomic) NSString* _Nonnull fromUserNickname;
@property (nonatomic) NSString* _Nonnull toUserNickname;
@property (nonatomic) NSString* _Nonnull fromUserFaceUrl;
@property (nonatomic) NSString* _Nonnull toUserFaceUrl;
@property (nonatomic) NSString* _Nonnull handledUser;
@property (nonatomic) int32_t type;
@property (nonatomic) int32_t handleStatus;
@property (nonatomic) int32_t handleResult;
@property (nonatomic) int32_t isRead;
@end
@interface Open_im_sdkIMConfig : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) int32_t platform;
@property (nonatomic) NSString* _Nonnull ipApiAddr;
@property (nonatomic) NSString* _Nonnull ipWsAddr;
@property (nonatomic) NSString* _Nonnull dbDir;
@end
@interface Open_im_sdkIMManager : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long loginState;
@end
@interface Open_im_sdkInviteUserToGroupReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull op;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull reason;
// skipped field InviteUserToGroupReq.UidList with unsupported type: []string
@end
@interface Open_im_sdkKickGroupMemberReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull op;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull reason;
// skipped field KickGroupMemberReq.UidList with unsupported type: []string
@end
@interface Open_im_sdkLogInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull info;
@end
@interface Open_im_sdkMessageReceipt : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull userID;
// skipped field MessageReceipt.MsgIdList with unsupported type: []string
@property (nonatomic) int64_t readTime;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t sessionType;
@end
@interface Open_im_sdkMsg : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long reqIdentifier;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
// skipped field Msg.Data with unsupported type: open_im_sdk/open_im_sdk.MsgData
@end
@interface Open_im_sdkMsgData : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) NSString* _Nonnull serverMsgID;
@property (nonatomic) NSString* _Nonnull content;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int64_t seq;
@property (nonatomic) int32_t senderPlatformID;
@property (nonatomic) NSString* _Nonnull senderNickName;
@property (nonatomic) NSString* _Nonnull senderFaceURL;
@property (nonatomic) NSString* _Nonnull clientMsgID;
@end
@interface Open_im_sdkMsgStruct : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull clientMsgID;
@property (nonatomic) NSString* _Nonnull serverMsgID;
@property (nonatomic) int64_t createTime;
@property (nonatomic) int64_t sendTime;
@property (nonatomic) int32_t sessionType;
@property (nonatomic) NSString* _Nonnull sendID;
@property (nonatomic) NSString* _Nonnull recvID;
@property (nonatomic) int32_t msgFrom;
@property (nonatomic) int32_t contentType;
@property (nonatomic) int32_t platformID;
// skipped field MsgStruct.ForceList with unsupported type: []string
@property (nonatomic) NSString* _Nonnull senderNickName;
@property (nonatomic) NSString* _Nonnull senderFaceURL;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull content;
@property (nonatomic) int64_t seq;
@property (nonatomic) BOOL isRead;
@property (nonatomic) int32_t status;
@property (nonatomic) NSString* _Nonnull remark;
// skipped field MsgStruct.PictureElem with unsupported type: struct{SourcePath string "json:\"sourcePath\""; SourcePicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"sourcePicture\""; BigPicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"bigPicture\""; SnapshotPicture open_im_sdk/open_im_sdk.PictureBaseInfo "json:\"snapshotPicture\""}
// skipped field MsgStruct.SoundElem with unsupported type: struct{UUID string "json:\"uuid\""; SoundPath string "json:\"soundPath\""; SourceURL string "json:\"sourceUrl\""; DataSize int64 "json:\"dataSize\""; Duration int64 "json:\"duration\""}
// skipped field MsgStruct.VideoElem with unsupported type: struct{VideoPath string "json:\"videoPath\""; VideoUUID string "json:\"videoUUID\""; VideoURL string "json:\"videoUrl\""; VideoType string "json:\"videoType\""; VideoSize int64 "json:\"videoSize\""; Duration int64 "json:\"duration\""; SnapshotPath string "json:\"snapshotPath\""; SnapshotUUID string "json:\"snapshotUUID\""; SnapshotSize int64 "json:\"snapshotSize\""; SnapshotURL string "json:\"snapshotUrl\""; SnapshotWidth int32 "json:\"snapshotWidth\""; SnapshotHeight int32 "json:\"snapshotHeight\""}
// skipped field MsgStruct.FileElem with unsupported type: struct{FilePath string "json:\"filePath\""; UUID string "json:\"uuid\""; SourceURL string "json:\"sourceUrl\""; FileName string "json:\"fileName\""; FileSize int64 "json:\"fileSize\""}
// skipped field MsgStruct.MergeElem with unsupported type: struct{Title string "json:\"title\""; AbstractList []string "json:\"abstractList\""; MultiMessage []*open_im_sdk/open_im_sdk.MsgStruct "json:\"multiMessage\""}
// skipped field MsgStruct.RevokeMessage with unsupported type: struct{ServerMsgID string "json:\"serverMsgID\""; SendID string "json:\"sendID\""; SenderNickname string "json:\"senderNickname\""; RecvID string "json:\"recvID\""; GroupID string "json:\"groupID\""; ContentType int32 "json:\"contentType\""; SendTime int64 "json:\"sendTime\""}
@end
@interface Open_im_sdkPictureBaseInfo : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uuid;
@property (nonatomic) NSString* _Nonnull type;
@property (nonatomic) int64_t size;
@property (nonatomic) int32_t width;
@property (nonatomic) int32_t height;
@property (nonatomic) NSString* _Nonnull url;
@end
/**
* //////////////////////// message/////////////////////////
*/
@interface Open_im_sdkPullMsgReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull userID;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) Open_im_sdkMsgStruct* _Nullable startMsg;
@property (nonatomic) long count;
@end
@interface Open_im_sdkPullUserMsgResp : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
@property (nonatomic) long reqIdentifier;
@property (nonatomic) long msgIncr;
// skipped field PullUserMsgResp.Data with unsupported type: open_im_sdk/open_im_sdk.paramsPullUserMsgDataResp
@end
@interface Open_im_sdkSendMsgRespFromServer : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) long errCode;
@property (nonatomic) NSString* _Nonnull errMsg;
@property (nonatomic) long reqIdentifier;
// skipped field SendMsgRespFromServer.Data with unsupported type: struct{ServerMsgID string "json:\"serverMsgID\""; ClientMsgID string "json:\"clientMsgID\""; SendTime int64 "json:\"sendTime\""}
@end
@interface Open_im_sdkSoundElem : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uuid;
@property (nonatomic) NSString* _Nonnull soundPath;
@property (nonatomic) NSString* _Nonnull sourceURL;
@property (nonatomic) int64_t dataSize;
@property (nonatomic) int64_t duration;
@end
@interface Open_im_sdkTransferGroupOwnerReq : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull groupID;
@property (nonatomic) NSString* _Nonnull oldOwner;
@property (nonatomic) NSString* _Nonnull newOwner;
@property (nonatomic) NSString* _Nonnull operationID;
@end
@interface Open_im_sdkUid2Flag : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (nonnull instancetype)init;
@property (nonatomic) NSString* _Nonnull uid;
@property (nonatomic) int32_t flag;
@end
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptFriendApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptGroupApplicationResultTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAcceptGroupApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAddConOrUpLatMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkAddFriendTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkAtText;
FOUNDATION_EXPORT const int64_t Open_im_sdkC2CMessageAsRead;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdAcceptFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdAddFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdBlackList;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdDeleteConversation;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncFriendApplication;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncLoginUerInfo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdForceSyncMsg;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFriendApplication;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdFroceSyncBlackList;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdGeyLoginUserInfo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdNewMsgCome;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdReLogin;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdRefuseFriend;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdUnInit;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkCmdUpdateConversation;
FOUNDATION_EXPORT const int64_t Open_im_sdkConAndUnreadChange;
FOUNDATION_EXPORT const int64_t Open_im_sdkConChange;
FOUNDATION_EXPORT const int64_t Open_im_sdkCreateGroupTip;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkDeFaultSuccessMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeConversation;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeFriend;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeInitLogin;
FOUNDATION_EXPORT const int64_t Open_im_sdkErrCodeUserInfo;
FOUNDATION_EXPORT const int64_t Open_im_sdkFile;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkFriendAcceptTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionAcceptGroupApplication;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionApplyJoinGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionCreateGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionInviteUserToGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionKickGroupMember;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionQuitGroup;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionRefuseGroupApplication;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionSetGroupInfo;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupActionTransferGroupOwner;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupApplicationResponseTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkGroupChatType;
FOUNDATION_EXPORT const int64_t Open_im_sdkHasRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkIncrUnread;
FOUNDATION_EXPORT const int64_t Open_im_sdkInviteUserToGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkJoinGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkKickGroupMemberTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkKickOnlineTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkLoginFailed;
FOUNDATION_EXPORT const int64_t Open_im_sdkLoginSuccess;
FOUNDATION_EXPORT const int64_t Open_im_sdkLogining;
FOUNDATION_EXPORT const int64_t Open_im_sdkLogoutCmd;
FOUNDATION_EXPORT const int64_t Open_im_sdkMerger;
FOUNDATION_EXPORT const int64_t Open_im_sdkMessageHasNotRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkMessageHasRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusHasDeleted;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSendFailed;
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSendSuccess;
/**
* MsgStatus
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkMsgStatusSending;
FOUNDATION_EXPORT const int64_t Open_im_sdkNotRead;
FOUNDATION_EXPORT const int64_t Open_im_sdkPicture;
FOUNDATION_EXPORT const int64_t Open_im_sdkQuitGroupTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseFriendApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseGroupApplicationResultTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRefuseGroupApplicationTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkRevokeMessageTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkSetGroupInfoTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkSetSelfInfoTip;
/**
* ///////////////////////////////////
SessionType
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkSingleChatType;
FOUNDATION_EXPORT const int64_t Open_im_sdkSound;
FOUNDATION_EXPORT const int64_t Open_im_sdkSyncSenderMsg;
FOUNDATION_EXPORT const int64_t Open_im_sdkSysMsgType;
/**
* ContentType
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkText;
FOUNDATION_EXPORT const int64_t Open_im_sdkTimeOffset;
FOUNDATION_EXPORT const int64_t Open_im_sdkTotalUnreadMessageChanged;
FOUNDATION_EXPORT const int64_t Open_im_sdkTransferGroupOwnerTip;
FOUNDATION_EXPORT const int64_t Open_im_sdkUnreadCountSetZero;
FOUNDATION_EXPORT const int64_t Open_im_sdkUpdateFaceUrlAndNickName;
/**
* //////////////////////////////////////
MsgFrom
*/
FOUNDATION_EXPORT const int64_t Open_im_sdkUserMsgType;
FOUNDATION_EXPORT const int64_t Open_im_sdkVideo;
FOUNDATION_EXPORT NSString* _Nonnull const Open_im_sdkZoomScale;
@interface Open_im_sdk : NSObject
// skipped variable ConListener with unsupported type: open_im_sdk/open_im_sdk.ConversationListener
// skipped variable ConversationCh with unsupported type: chan open_im_sdk/open_im_sdk.cmd2Value
// skipped variable FriendObj with unsupported type: open_im_sdk/open_im_sdk.Friend
+ (NSString* _Nonnull) loginUid;
+ (void) setLoginUid:(NSString* _Nonnull)v;
// skipped variable SdkInitManager with unsupported type: open_im_sdk/open_im_sdk.IMManager
// skipped variable SvrConf with unsupported type: open_im_sdk/open_im_sdk.IMConfig
@end
FOUNDATION_EXPORT void Open_im_sdkAcceptFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid);
FOUNDATION_EXPORT void Open_im_sdkAcceptGroupApplication(NSString* _Nullable application, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkAddAdvancedMsgListener(id<Open_im_sdkOnAdvancedMsgListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkAddFriend(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable paramsReq);
FOUNDATION_EXPORT void Open_im_sdkAddToBlackList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable blackUid);
FOUNDATION_EXPORT void Open_im_sdkCheckFriend(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uidList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateFileMessage(NSString* _Nullable filePath, NSString* _Nullable fileName);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateForwardMessage(NSString* _Nullable m);
FOUNDATION_EXPORT void Open_im_sdkCreateGroup(NSString* _Nullable gInfo, NSString* _Nullable memberList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateImageMessage(NSString* _Nullable imagePath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateImageMessageFromFullPath(NSString* _Nullable imageFullPath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateMergerMessage(NSString* _Nullable messageList, NSString* _Nullable title, NSString* _Nullable summaryList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateSoundMessage(NSString* _Nullable soundPath, int64_t duration);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextAtMessage(NSString* _Nullable text, NSString* _Nullable atUserList);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextMessage(NSString* _Nullable text);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateTextSystemMessage(NSString* _Nullable text, int32_t textType);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessage(NSString* _Nullable videoPath, NSString* _Nullable videoType, int64_t duration, NSString* _Nullable snapshotPath);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessageFromFullPath(NSString* _Nullable videoFullPath, NSString* _Nullable videoType, int64_t duration, NSString* _Nullable snapshotFullPath);
FOUNDATION_EXPORT void Open_im_sdkDeleteConversation(NSString* _Nullable conversationID, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkDeleteFromBlackList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable deleteUid);
FOUNDATION_EXPORT void Open_im_sdkDeleteFromFriendList(NSString* _Nullable deleteUid, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkDeleteMessageFromLocalStorage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message);
FOUNDATION_EXPORT void Open_im_sdkDoCreateGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoGetGroupsInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDoJoinGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoQuitGroup(void);
FOUNDATION_EXPORT void Open_im_sdkDoSetGroupInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetGroupMemberList(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetGroupMembersInfo(void);
FOUNDATION_EXPORT void Open_im_sdkDotestGetJoinedGroupList(void);
FOUNDATION_EXPORT void Open_im_sdkDotestKickGroupMember(void);
FOUNDATION_EXPORT void Open_im_sdkDotesttestInviteUserToGroup(void);
FOUNDATION_EXPORT void Open_im_sdkFindMessages(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable messageIDList);
FOUNDATION_EXPORT void Open_im_sdkForceSyncBlackList(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncFriend(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncFriendApplication(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncLoginUerInfo(void);
FOUNDATION_EXPORT void Open_im_sdkForceSyncMsg(void);
FOUNDATION_EXPORT void Open_im_sdkFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid, long flag);
FOUNDATION_EXPORT void Open_im_sdkGetAllConversationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetBlackList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkGetConversationIDBySessionType(NSString* _Nullable sourceID, long sessionType);
FOUNDATION_EXPORT void Open_im_sdkGetFriendApplicationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetFriendList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetFriendsInfo(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uidList);
FOUNDATION_EXPORT void Open_im_sdkGetGroupApplicationList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupMemberList(NSString* _Nullable groupId, int32_t filter, int32_t next, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupMembersInfo(NSString* _Nullable groupId, NSString* _Nullable userList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetGroupsInfo(NSString* _Nullable groupIdList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetHistoryMessageList(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable getMessageOptions);
FOUNDATION_EXPORT void Open_im_sdkGetJoinedGroupList(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT long Open_im_sdkGetLoginStatus(void);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkGetLoginUser(void);
FOUNDATION_EXPORT void Open_im_sdkGetMultipleConversation(NSString* _Nullable conversationIDList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetOneConversation(NSString* _Nullable sourceID, long sessionType, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetTotalUnreadMsgCount(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkGetUsersInfo(NSString* _Nullable uIDList, id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT BOOL Open_im_sdkInitSDK(NSString* _Nullable config, id<Open_im_sdkIMSDKListener> _Nullable cb);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkInsertSingleMessageToLocalStorage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message, NSString* _Nullable userID, NSString* _Nullable sender);
FOUNDATION_EXPORT void Open_im_sdkInviteUserToGroup(NSString* _Nullable groupId, NSString* _Nullable reason, NSString* _Nullable userList, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkJoinGroup(NSString* _Nullable groupId, NSString* _Nullable message, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkKickGroupMember(NSString* _Nullable groupId, NSString* _Nullable userList, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkLogin(NSString* _Nullable uid, NSString* _Nullable tk, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkLogout(id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkMarkC2CMessageAsRead(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable receiver, NSString* _Nullable msgList);
FOUNDATION_EXPORT void Open_im_sdkMarkSingleMessageHasRead(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable userID);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkMd5(NSString* _Nullable s);
FOUNDATION_EXPORT void Open_im_sdkPinConversation(NSString* _Nullable conversationID, BOOL isPinned, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkQuitGroup(NSString* _Nullable groupId, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkRefuseFriendApplication(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable uid);
FOUNDATION_EXPORT void Open_im_sdkRefuseGroupApplication(NSString* _Nullable application, NSString* _Nullable reason, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkRemoveAdvancedMsgListener(id<Open_im_sdkOnAdvancedMsgListener> _Nullable listener);
FOUNDATION_EXPORT BOOL Open_im_sdkResetConversation(NSString* _Nullable conversationID, NSError* _Nullable* _Nullable error);
FOUNDATION_EXPORT void Open_im_sdkRevokeMessage(id<Open_im_sdkBase> _Nullable callback, NSString* _Nullable message);
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkSendMessage(id<Open_im_sdkSendMsgCallBack> _Nullable callback, NSString* _Nullable message, NSString* _Nullable receiver, NSString* _Nullable groupID, BOOL onlineUserOnly);
FOUNDATION_EXPORT void Open_im_sdkSetConversationDraft(NSString* _Nullable conversationID, NSString* _Nullable draftText, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetConversationListener(id<Open_im_sdkOnConversationListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkSetFriendInfo(NSString* _Nullable comment, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT BOOL Open_im_sdkSetFriendListener(id<Open_im_sdkOnFriendshipListener> _Nullable listener);
FOUNDATION_EXPORT void Open_im_sdkSetGroupInfo(NSString* _Nullable jsonGroupInfo, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetGroupListener(id<Open_im_sdkOnGroupListener> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkSetSelfInfo(NSString* _Nullable info, id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT void Open_im_sdkTencentOssCredentials(id<Open_im_sdkBase> _Nullable cb);
FOUNDATION_EXPORT void Open_im_sdkTransferGroupOwner(NSString* _Nullable groupId, NSString* _Nullable userId, id<Open_im_sdkBase> _Nullable callback);
FOUNDATION_EXPORT void Open_im_sdkUnInitSDK(void);
// skipped function UnixSecondToTime with unsupported parameter or return types
@class Open_im_sdkBase;
@class Open_im_sdkIMSDKListener;
@class Open_im_sdkOnAdvancedMsgListener;
@class Open_im_sdkOnConversationListener;
@class Open_im_sdkOnFriendshipListener;
@class Open_im_sdkOnGroupListener;
@class Open_im_sdkSendMsgCallBack;
@interface Open_im_sdkBase : NSObject <goSeqRefInterface, Open_im_sdkBase> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onSuccess:(NSString* _Nullable)data;
@end
@interface Open_im_sdkIMSDKListener : NSObject <goSeqRefInterface, Open_im_sdkIMSDKListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onConnectFailed:(long)ErrCode ErrMsg:(NSString* _Nullable)ErrMsg;
- (void)onConnectSuccess;
- (void)onConnecting;
- (void)onKickedOffline;
- (void)onSelfInfoUpdated:(NSString* _Nullable)userInfo;
- (void)onUserTokenExpired;
@end
@interface Open_im_sdkOnAdvancedMsgListener : NSObject <goSeqRefInterface, Open_im_sdkOnAdvancedMsgListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onRecvC2CReadReceipt:(NSString* _Nullable)msgReceiptList;
- (void)onRecvMessageRevoked:(NSString* _Nullable)msgId;
- (void)onRecvNewMessage:(NSString* _Nullable)message;
@end
@interface Open_im_sdkOnConversationListener : NSObject <goSeqRefInterface, Open_im_sdkOnConversationListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onConversationChanged:(NSString* _Nullable)conversationList;
- (void)onNewConversation:(NSString* _Nullable)conversationList;
- (void)onSyncServerFailed;
- (void)onSyncServerFinish;
- (void)onSyncServerStart;
- (void)onTotalUnreadMessageCountChanged:(int32_t)totalUnreadCount;
@end
@interface Open_im_sdkOnFriendshipListener : NSObject <goSeqRefInterface, Open_im_sdkOnFriendshipListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onBlackListAdd:(NSString* _Nullable)userInfo;
- (void)onBlackListDeleted:(NSString* _Nullable)userInfo;
- (void)onFriendApplicationListAccept:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListAdded:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListDeleted:(NSString* _Nullable)applyUserInfo;
- (void)onFriendApplicationListReject:(NSString* _Nullable)applyUserInfo;
- (void)onFriendInfoChanged:(NSString* _Nullable)friendInfo;
- (void)onFriendListAdded:(NSString* _Nullable)friendInfo;
- (void)onFriendListDeleted:(NSString* _Nullable)friendInfo;
@end
@interface Open_im_sdkOnGroupListener : NSObject <goSeqRefInterface, Open_im_sdkOnGroupListener> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onApplicationProcessed:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser AgreeOrReject:(int32_t)AgreeOrReject opReason:(NSString* _Nullable)opReason;
- (void)onGroupCreated:(NSString* _Nullable)groupId;
- (void)onGroupInfoChanged:(NSString* _Nullable)groupId groupInfo:(NSString* _Nullable)groupInfo;
/**
* list->group
*/
- (void)onMemberEnter:(NSString* _Nullable)groupId memberList:(NSString* _Nullable)memberList;
/**
* list->opUser->groupId
*/
- (void)onMemberInvited:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
- (void)onMemberKicked:(NSString* _Nullable)groupId opUser:(NSString* _Nullable)opUser memberList:(NSString* _Nullable)memberList;
/**
* group->one
*/
- (void)onMemberLeave:(NSString* _Nullable)groupId member:(NSString* _Nullable)member;
- (void)onReceiveJoinApplication:(NSString* _Nullable)groupId member:(NSString* _Nullable)member opReason:(NSString* _Nullable)opReason;
@end
@interface Open_im_sdkSendMsgCallBack : NSObject <goSeqRefInterface, Open_im_sdkSendMsgCallBack> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (void)onError:(long)errCode errMsg:(NSString* _Nullable)errMsg;
- (void)onProgress:(long)progress;
- (void)onSuccess:(NSString* _Nullable)data;
@end
#endif

@ -0,0 +1,29 @@
// Objective-C API for talking to Go package.
// gobind -lang=objc
//
// File is generated by gobind. Do not edit.
#ifndef __Universe_H__
#define __Universe_H__
@import Foundation;
#include "ref.h"
@protocol Universeerror;
@class Universeerror;
@protocol Universeerror <NSObject>
- (NSString* _Nonnull)error;
@end
@class Universeerror;
@interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
}
@property(strong, readonly) _Nonnull id _ref;
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
- (NSString* _Nonnull)error;
@end
#endif

@ -0,0 +1,35 @@
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
#ifndef __GO_REF_HDR__
#define __GO_REF_HDR__
#include <Foundation/Foundation.h>
// GoSeqRef is an object tagged with an integer for passing back and
// forth across the language boundary. A GoSeqRef may represent either
// an instance of a Go object, or an Objective-C object passed to Go.
// The explicit allocation of a GoSeqRef is used to pin a Go object
// when it is passed to Objective-C. The Go seq package maintains a
// reference to the Go object in a map keyed by the refnum along with
// a reference count. When the reference count reaches zero, the Go
// seq package will clear the corresponding entry in the map.
@interface GoSeqRef : NSObject {
}
@property(readonly) int32_t refnum;
@property(strong) id obj; // NULL when representing a Go object.
// new GoSeqRef object to proxy a Go object. The refnum must be
// provided from Go side.
- (instancetype)initWithRefnum:(int32_t)refnum obj:(id)obj;
- (int32_t)incNum;
@end
@protocol goSeqRefInterface
-(GoSeqRef*) _ref;
@end
#endif

@ -0,0 +1,8 @@
framework module "OpenIMCore" {
header "ref.h"
header "Open_im_sdk.objc.h"
header "Universe.objc.h"
header "OpenIMCore.h"
export *
}

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

@ -17,6 +17,7 @@ A new Flutter project.
s.dependency 'Flutter'
s.platform = :ios, '8.0'
s.vendored_frameworks = 'Framework/*.framework'
# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
s.swift_version = '5.0'

@ -1,7 +1,199 @@
import 'dart:convert';
import 'package:flutter/services.dart';
import 'package:flutter_openim_sdk/src/models/group_info.dart';
class GroupManager{
class GroupManager {
MethodChannel _channel;
GroupManager(this._channel);
}
Future<List<GroupInviteResult>> inviteUserToGroup({
required String groupId,
required List<String> uidList,
String? reason,
}) {
return _channel
.invokeMethod(
'inviteUserToGroup',
_buildParam({
'gid': groupId,
'reason': reason,
'uidList': uidList,
}))
.then((value) => _formatJson(value)
.map((e) => GroupInviteResult.fromJson(e))
.toList());
}
Future<List<GroupInviteResult>> kickGroupMember({
required String groupId,
required List<String> uidList,
String? reason,
}) {
return _channel
.invokeMethod(
'kickGroupMember',
_buildParam({
'gid': groupId,
'reason': reason,
'uidList': uidList,
}))
.then((value) => _formatJson(value)
.map((e) => GroupInviteResult.fromJson(e))
.toList());
}
Future<List<GroupMembersInfo>> getGroupMembersInfo({
required String groupId,
required List<String> uidList,
}) {
return _channel
.invokeMethod(
'getGroupMembersInfo',
_buildParam({
'gid': groupId,
'uidList': uidList,
}))
.then((value) => _formatJson(value)
.map((e) => GroupMembersInfo.fromJson(e))
.toList());
}
///filter 0: all user, 1: group owner, 2: administrator
///begin index, pull and fill 0 for the first time
Future<GroupMembersList> getGroupMemberList({
required String groupId,
required int filter,
required int next,
}) {
return _channel
.invokeMethod(
'getGroupMemberList',
_buildParam({
'gid': groupId,
'filter': filter,
'next': next,
}))
.then((value) => GroupMembersList.fromJson(_formatJson(value)));
}
Future<List<GroupInfo>> getJoinedGroupList() {
return _channel.invokeMethod('getJoinedGroupList', _buildParam({})).then(
(value) =>
_formatJson(value).map((e) => GroupInfo.fromJson(e)).toList());
}
Future<String> createGroup({
required GroupInfo groupInfo,
required List<GroupMemberRole> list,
}) {
return _channel
.invokeMethod(
'createGroup',
_buildParam({
'gInfo': groupInfo.toJson(),
'memberList': list.map((e) => e.toJson()).toList()
}))
.then((value) => _formatJson(value)['groupID']);
}
Future<dynamic> setGroupInfo({
required GroupInfo groupInfo,
}) {
return _channel.invokeMethod(
'setGroupInfo',
_buildParam({
'gInfo': groupInfo.toJson(),
}));
}
Future<List<GroupInfo>> getGroupsInfo({
required List<String> gidList,
}) {
return _channel
.invokeMethod('getGroupsInfo', _buildParam({'gidList': gidList}))
.then((value) =>
_formatJson(value).map((e) => GroupInfo.fromJson(e)).toList());
}
Future<dynamic> joinGroup({
required String gid,
required String reason,
}) {
return _channel.invokeMethod(
'joinGroup',
_buildParam({
'gid': gid,
'reason': reason,
}));
}
Future<dynamic> quitGroup({
required String gid,
}) {
return _channel.invokeMethod(
'quitGroup',
_buildParam({
'gid': gid,
}));
}
Future<dynamic> transferGroupOwner({
required String gid,
required String uid,
}) {
return _channel.invokeMethod(
'transferGroupOwner',
_buildParam({
'gid': gid,
'uid': uid,
}));
}
Future<GroupApplicationList> getGroupApplicationList({
required String gid,
required String uid,
}) {
return _channel
.invokeMethod('getGroupApplicationList', _buildParam({}))
.then((value) => GroupApplicationList.fromJson(_formatJson(value)));
}
Future<dynamic> acceptGroupApplication({
required GroupApplicationInfo info,
required String reason,
}) {
return _channel.invokeMethod(
'acceptGroupApplication',
_buildParam({
'application': info.toJson(),
'reason': reason,
}));
}
Future<dynamic> refuseGroupApplication({
required GroupApplicationInfo info,
required String reason,
}) {
return _channel.invokeMethod(
'refuseGroupApplication',
_buildParam({
'application': info.toJson(),
'reason': reason,
}));
}
static Map _buildParam(Map param) {
param["ManagerName"] = "groupManager";
return param;
}
static dynamic _formatJson(value) {
return jsonDecode(_printValue(value));
}
static String _printValue(value) {
return value;
}
}

@ -0,0 +1,226 @@
class GroupInfo {
String? groupID;
String? groupName;
String? notification;
String? introduction;
String? faceUrl;
String? ownerId;
int? createTime;
int? memberCount;
GroupInfo(
{this.groupID,
this.groupName,
this.notification,
this.introduction,
this.faceUrl,
this.ownerId,
this.createTime,
this.memberCount});
GroupInfo.fromJson(Map<String, dynamic> json) {
groupID = json['groupID'];
groupName = json['groupName'];
notification = json['notification'];
introduction = json['introduction'];
faceUrl = json['faceUrl'];
ownerId = json['ownerId'];
createTime = json['createTime'];
memberCount = json['memberCount'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['groupID'] = this.groupID;
data['groupName'] = this.groupName;
data['notification'] = this.notification;
data['introduction'] = this.introduction;
data['faceUrl'] = this.faceUrl;
data['ownerId'] = this.ownerId;
data['createTime'] = this.createTime;
data['memberCount'] = this.memberCount;
return data;
}
}
class GroupMembersList {
int? nextSeq;
List<GroupMembersInfo>? data;
GroupMembersList({this.nextSeq, this.data});
GroupMembersList.fromJson(Map<String, dynamic> json) {
nextSeq = json['nextSeq'];
if (json['data'] is List) {
data = (json['data'] as List)
.map((e) => GroupMembersInfo.fromJson(e))
.toList();
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['nextSeq'] = this.nextSeq;
if (this.data != null) {
data['data'] = this.data!.map((v) => v.toJson()).toList();
}
return data;
}
}
class GroupMembersInfo {
String? groupID;
String? userId;
int? role;
int? joinTime;
String? nickName;
String? faceUrl;
GroupMembersInfo(
{this.groupID,
this.userId,
this.role,
this.joinTime,
this.nickName,
this.faceUrl});
GroupMembersInfo.fromJson(Map<String, dynamic> json) {
groupID = json['groupID'];
userId = json['userId'];
role = json['role'];
joinTime = json['joinTime'];
nickName = json['nickName'];
faceUrl = json['faceUrl'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['groupID'] = this.groupID;
data['userId'] = this.userId;
data['role'] = this.role;
data['joinTime'] = this.joinTime;
data['nickName'] = this.nickName;
data['faceUrl'] = this.faceUrl;
return data;
}
}
class GroupInviteResult {
String? uid;
int? result;
GroupInviteResult({this.uid, this.result});
GroupInviteResult.fromJson(Map<String, dynamic> json) {
uid = json['uid'];
result = json['result'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['uid'] = this.uid;
data['result'] = this.result;
return data;
}
}
class GroupMemberRole {
String? uid;
int? setRole; //02
GroupMemberRole({this.uid, this.setRole});
GroupMemberRole.fromJson(Map<String, dynamic> json) {
uid = json['uid'];
setRole = json['setRole'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['uid'] = this.uid;
data['setRole'] = this.setRole;
return data;
}
}
class GroupApplicationInfo {
String? groupID;
String? fromUserID;
String? fromUserNickName;
String? fromUserFaceUrl;
String? toUserID;
int? addTime;
String? requestMsg;
String? handledMsg;
int? type;
int? handleStatus;
int? handleResult;
GroupApplicationInfo(
{this.groupID,
this.fromUserID,
this.fromUserNickName,
this.fromUserFaceUrl,
this.toUserID,
this.addTime,
this.requestMsg,
this.handledMsg,
this.type,
this.handleStatus,
this.handleResult});
GroupApplicationInfo.fromJson(Map<String, dynamic> json) {
groupID = json['groupID'];
fromUserID = json['fromUserID'];
fromUserNickName = json['fromUserNickName'];
fromUserFaceUrl = json['fromUserFaceUrl'];
toUserID = json['toUserID'];
addTime = json['addTime'];
requestMsg = json['requestMsg'];
handledMsg = json['handledMsg'];
type = json['type'];
handleStatus = json['handleStatus'];
handleResult = json['handleResult'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['groupID'] = this.groupID;
data['fromUserID'] = this.fromUserID;
data['fromUserNickName'] = this.fromUserNickName;
data['fromUserFaceUrl'] = this.fromUserFaceUrl;
data['toUserID'] = this.toUserID;
data['addTime'] = this.addTime;
data['requestMsg'] = this.requestMsg;
data['handledMsg'] = this.handledMsg;
data['type'] = this.type;
data['handleStatus'] = this.handleStatus;
data['handleResult'] = this.handleResult;
return data;
}
}
class GroupApplicationList {
int? count;
List<GroupApplicationInfo>? user;
GroupApplicationList({this.count, this.user});
GroupApplicationList.fromJson(Map<String, dynamic> json) {
count = json['count'];
if (json['user'] is List) {
user = (json['user'] as List)
.map((e) => GroupApplicationInfo.fromJson(e))
.toList();
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['count'] = this.count;
if (this.user != null) {
data['user'] = this.user!.map((v) => v.toJson()).toList();
}
return data;
}
}
Loading…
Cancel
Save