/// <summary> /// 查询指定事件的全部订阅关系 /// </summary> /// <param name="eventType">事件类型</param> /// <param name="cb"></param> /// <returns></returns> public static bool BatchQuerySubscribe(int eventType, QuerySubscribeDelegate cb) { if (eventType == 0) { return(false); } var ptr = DelegateConverter.ConvertToIntPtr(cb); NIMSubscribeNativeMethods.nim_batch_query_subscribe_event(eventType, null, BatchQuerySubscribeCallback, ptr); return(true); }
/// <summary> /// 按账号查询指定事件订阅关系 /// </summary> /// <param name="eventType">事件类型</param> /// <param name="idList">用户列表</param> /// <param name="cb"></param> /// <returns></returns> public static bool QuerySubscribe(int eventType, List <string> idList, QuerySubscribeDelegate cb) { if (eventType == 0 || idList == null || idList.Count > 100) { return(false); } var json = NimUtility.Json.JsonParser.Serialize(idList); var ptr = DelegateConverter.ConvertToIntPtr(cb); NIMSubscribeNativeMethods.nim_query_subscribe_event(eventType, json, null, QuerySubscribeCallback, ptr); return(true); }
/// <summary> /// 订阅事件 /// </summary> /// <param name="eventType">事件类型</param> /// <param name="period">订阅有效期,单位:秒,范围:60s到30天</param> /// <param name="syncType">订阅后是否立即同步最新事件,见NIMEventSubscribeSyncType定义</param> /// <param name="idList"用户列表></param> /// <param name="cb"></param> /// <returns></returns> public static bool Subscribe(int eventType, long period, NIMEventSubscribeSyncEventType syncType, List <string> idList, SubscribeEventDelegate cb) { if (eventType == 0 || period == 0 || idList == null || idList.Count > 100) { return(false); } var json = NimUtility.Json.JsonParser.Serialize(idList); var ptr = DelegateConverter.ConvertToIntPtr(cb); NIMSubscribeNativeMethods.nim_subscribe_event(eventType, period, (int)syncType, json, null, SubscribeEventCallback, ptr); return(true); }
/// <summary> /// 发布事件 /// </summary> /// <param name="info">事件信息</param> /// <param name="cb"></param> /// <param name="data"></param> /// <returns></returns> public static bool Publish(NIMEventInfo info, PublishEventDelegate cb, object data = null) { if ((info.Type == (int)NIMEventType.kNIMEventTypeOnlineState && info.Value >= (int)NIMEventOnlineStateValue.kNIMEventOnlineStateValueCustom) || info.Value >= (int)NIMEventType.kNIMEventTypeCustom) { var ptr = DelegateConverter.ConvertToIntPtr(cb); var json = info.Serialize(); NIMSubscribeNativeMethods.nim_publish_event(json, null, PublishResultCallback, ptr); return(true); } return(false); }
/// <summary> /// (全局回调)统一注册批量接收订阅的事件的回调函数 /// </summary> /// <param name="cb"></param> public static void RegBatchPushEventCb(BatchPushEventDelegaet cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); NIMSubscribeNativeMethods.nim_subscribe_event_reg_batch_push_event_cb(null, BatchPushEventCallback, ptr); }
/// <summary> /// (全局回调)统一注册接收订阅的事件的回调函数 /// </summary> /// <param name="cb"></param> public static void RegPushEventCb(PushEventDelegate cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); NIMSubscribeNativeMethods.nim_subscribe_event_reg_push_event_cb("", PushEventCallback, ptr); }