/// <summary> /// 导入消息历史DB文件(不包括系统消息历史)。先验证是否自己的消息历史文件和DB加密密钥,如果验证不通过,则不导入。 /// </summary> /// <param name="srcPath"></param> /// <param name="action"></param> /// <param name="prg"></param> public static void ImportDatabase(string srcPath, CommonOperationResultDelegate action, ImportProgressDelegate prg) { var ptr1 = NimUtility.DelegateConverter.ConvertToIntPtr(action); var ptr2 = NimUtility.DelegateConverter.ConvertToIntPtr(prg); MsglogNativeMethods.nim_msglog_import_db_async(srcPath, null, NormalOperationCompleted, ptr1, ReportImportDbProgress, ptr2); }
/// <summary> /// 导出整个消息历史DB文件(不包括系统消息历史) /// android 和 ios 平台下不可用 /// </summary> /// <param name="destPath">导出时保存的目标全路径</param> /// <param name="action"></param> public static void ExportDatabaseFile(string destPath, CommonOperationResultDelegate action) { var ptr = DelegateConverter.ConvertToIntPtr(action); #if UNITY #if UNITY_STANDALONE MsglogNativeMethods.nim_msglog_export_db_async(destPath, null, NormalOperationCompleted, ptr); #endif #else MsglogNativeMethods.nim_msglog_export_db_async(destPath, null, NormalOperationCompleted, ptr); #endif }
/// <summary> /// 导入消息历史DB文件(不包括系统消息历史)。先验证是否自己的消息历史文件和DB加密密钥,如果验证不通过,则不导入。 /// android 和 ios 平台下不可用 /// </summary> /// <param name="srcPath"></param> /// <param name="action"></param> /// <param name="prg"></param> public static void ImportDatabase(string srcPath, CommonOperationResultDelegate action, ImportProgressDelegate prg) { var ptr1 = DelegateConverter.ConvertToIntPtr(action); var ptr2 = DelegateConverter.ConvertToIntPtr(prg); #if UNITY #if UNITY_STANDALONE MsglogNativeMethods.nim_msglog_import_db_async(srcPath, null, NormalOperationCompleted, ptr1, ImportMsglogPrgCb, ptr2); #endif #else MsglogNativeMethods.nim_msglog_import_db_async(srcPath, null, NormalOperationCompleted, ptr1, ImportMsglogPrgCb, ptr2); #endif }
protected override object GenerateParamerte(Type paramType, string value) { Object obj = null; if (typeof(Delegate).IsAssignableFrom(paramType)) { if (paramType == typeof(QueryMsglogResultDelegate)) { obj = new QueryMsglogResultDelegate(OnQueryMsgLogCompleted); } else if (paramType == typeof(QueryLogByMsgIdResultDelegate)) { obj = new QueryLogByMsgIdResultDelegate(OnQueryLogByMsgIdCompleted); } else if (paramType == typeof(OperateMsglogResultDelegate)) { obj = new OperateMsglogResultDelegate(OnOperateMsglogCompleted); } else if (paramType == typeof(OperateSingleLogResultDelegate)) { obj = new OperateSingleLogResultDelegate(OnOperateSingleLogCompleted); } else if (paramType == typeof(CommonOperationResultDelegate)) { obj = new CommonOperationResultDelegate(OnCommonOperationCompleted); } else if (paramType == typeof(ImportProgressDelegate)) { obj = new ImportProgressDelegate(ImportProgress); } } else { obj = base.GenerateParamerte(paramType, value); } return(obj); }
/// <summary> /// 导出整个消息历史DB文件(不包括系统消息历史) /// </summary> /// <param name="destPath">导出时保存的目标全路径</param> /// <param name="action"></param> public static void ExportDatabaseFile(string destPath, CommonOperationResultDelegate action) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action); MsglogNativeMethods.nim_msglog_export_db_async(destPath, null, NormalOperationCompleted, ptr); }
/// <summary> /// 删除全部消息历史 /// </summary> /// <param name="deleteSessions">是否删除所有会话列表项(即全部最近联系人)</param> /// <param name="action"></param> public static void ClearAll(bool deleteSessions, CommonOperationResultDelegate action) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(action); MsglogNativeMethods.nim_msglog_delete_all_async(deleteSessions, null, NormalOperationCompleted, ptr); }
/// <summary> /// 全部未读消息历史标记为已读 /// </summary> /// <param name="cb"></param> public static void ReadAll(CommonOperationResultDelegate cb) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); MsglogNativeMethods.nim_msglog_read_all_async(null, NormalOperationCompleted, ptr); }