public void DelegateConverter_Ctr2NullTest() { try { var x = new DelegateConverter((ValueConversion)null); } catch (ArgumentNullException ex) { Assert.AreEqual("convert", ex.ParamName); } }
public void DelegateConverter_Ctr2Test() { ValueConversion convert = (v, t, p, c) => v.ToString(); ValueConversion convertBack = (v, t, p, c) => int.Parse(v.ToString()); var converter = new DelegateConverter(convert, convertBack); var result = converter.Convert(5, null, null, null); Assert.AreEqual("5", result); var result2 = converter.ConvertBack("5", null, null, null); Assert.AreEqual(5, result2); }
public void DelegateConverter_Ctr4Test() { Func<object, object> convert = (v) => v.ToString(); Func<object, object> convertBack = (v) => int.Parse(v.ToString()); var converter = new DelegateConverter(convert, convertBack); var result = converter.Convert(5, null, null, null); Assert.AreEqual("5", result); var result2 = converter.ConvertBack("5", null, null, null); Assert.AreEqual(5, result2); }
public void DelegateConverter_Ctr3Test() { Func<object, object> convert = (v) => v.ToString(); var converter = new DelegateConverter(convert); var result = converter.Convert(5, null, null, null); Assert.AreEqual("5", result); try { converter.ConvertBack(5, null, null, null); Assert.Fail("Expected an exception"); } catch (NotImplementedException) { } }
static CFFICSLoader() { val_type = new DelegateConverter<ValTypeDelegate>(new ValTypeDelegate(cs_val_type)); alloc_kind = new DelegateConverter<AllocKindDelegate>(new AllocKindDelegate(cs_alloc_kind)); alloc_abstract = new DelegateConverter<AllocAbstractDelegate>(new AllocAbstractDelegate(cs_alloc_abstract)); free_abstract = new DelegateConverter<FreeAbstractDelegate>(new FreeAbstractDelegate(cs_free_abstract)); val_to_kind = new DelegateConverter<ValToKindDelegate>(new ValToKindDelegate(cs_val_to_kind)); val_data = new DelegateConverter<ValDataDelegate>(new ValDataDelegate(cs_val_data)); val_array_int = new DelegateConverter<ValArrayIntDelegate>(new ValArrayIntDelegate(cs_val_array_int)); alloc_bool = new DelegateConverter<AllocBoolDelegate>(new AllocBoolDelegate(cs_alloc_bool)); alloc_null = new DelegateConverter<AllocNullDelegate>(new AllocNullDelegate(cs_alloc_null)); create_root = new DelegateConverter<CreateRootDelegate>(new CreateRootDelegate(cs_create_root)); query_root = new DelegateConverter<QueryRootDelegate>(new QueryRootDelegate(cs_query_root)); destroy_root = new DelegateConverter<DestroyRootDelegate>(new DestroyRootDelegate(cs_destroy_root)); val_gc = new DelegateConverter<ValGCDelegate>(new ValGCDelegate(cs_val_gc)); val_number = new DelegateConverter<ValNumberDelegate>(new ValNumberDelegate(cs_val_number)); val_strlen = new DelegateConverter<ValStrLenDelegate>(new ValStrLenDelegate(cs_val_strlen)); val_string = new DelegateConverter<ValStringDelegate>(new ValStringDelegate(cs_val_string)); val_int = new DelegateConverter<ValIntDelegate>(new ValIntDelegate(cs_val_int)); alloc_int = new DelegateConverter<AllocIntDelegate>(new AllocIntDelegate(cs_alloc_int)); alloc_array = new DelegateConverter<AllocArrayDelegate>(new AllocArrayDelegate(cs_alloc_array)); alloc_array_type = new DelegateConverter<AllocArrayTypeDelegate>(new AllocArrayTypeDelegate(cs_alloc_array_type)); val_array_size = new DelegateConverter<ValArraySizeDelegate>(new ValArraySizeDelegate(cs_val_array_size)); val_array_i = new DelegateConverter<ValArrayIDelegate>(new ValArrayIDelegate(cs_val_array_i)); val_array_set_i = new DelegateConverter<ValArraySetIDelegate>(new ValArraySetIDelegate(cs_val_array_set_i)); val_array_push = new DelegateConverter<ValArrayPushDelegate>(new ValArrayPushDelegate(cs_val_array_push)); val_id = new DelegateConverter<ValIdDelegate>(new ValIdDelegate(cs_val_id)); alloc_field = new DelegateConverter<AllocFieldDelegate>(new AllocFieldDelegate(cs_alloc_field)); val_call0 = new DelegateConverter<ValCall0Delegate>(new ValCall0Delegate(cs_val_call0)); alloc_empty_object = new DelegateConverter<AllocEmptyObjectDelegate>(new AllocEmptyObjectDelegate(cs_alloc_empty_object)); alloc_string_len = new DelegateConverter<AllocStringLenDelegate>(new AllocStringLenDelegate(cs_alloc_string_len)); alloc_wstring_len = new DelegateConverter<AllocWStringLenDelegate>(new AllocWStringLenDelegate(cs_alloc_wstring_len)); alloc_float = new DelegateConverter<AllocFloatDelegate>(new AllocFloatDelegate(cs_alloc_float)); alloc_buffer_len = new DelegateConverter<AllocBufferLenDelegate>(new AllocBufferLenDelegate(cs_alloc_buffer_len)); buffer_data = new DelegateConverter<BufferDataDelegate>(new BufferDataDelegate(cs_buffer_data)); buffer_val = new DelegateConverter<BufferValDelegate>(new BufferValDelegate(cs_buffer_val)); val_to_buffer = new DelegateConverter<ValToBufferDelegate>(new ValToBufferDelegate(cs_val_to_buffer)); buffer_set_size = new DelegateConverter<BufferSetSizeDelegate>(new BufferSetSizeDelegate(cs_buffer_set_size)); buffer_size = new DelegateConverter<BufferSizeDelegate>(new BufferSizeDelegate(cs_buffer_size)); pin_buffer = new DelegateConverter<PinBufferDelegate>(new PinBufferDelegate(cs_pin_buffer)); unpin_buffer = new DelegateConverter<UnPinBufferDelegate>(new UnPinBufferDelegate(cs_unpin_buffer)); val_field = new DelegateConverter<ValFieldDelegate>(new ValFieldDelegate(cs_val_field)); val_bool = new DelegateConverter<ValBoolDelegate>(new ValBoolDelegate(cs_val_bool)); val_throw = new DelegateConverter<ValThrowDelegate>(new ValThrowDelegate(cs_val_throw)); empty = new DelegateConverter<EmptyDelegate>(new EmptyDelegate(cs_empty)); }
/// <summary> /// 设置、取消设置黑名单. /// </summary> /// <param name="accountId"> 好友id.</param> /// <param name="inBlacklist">if set to <c>true</c> [set_black].</param> /// <param name="cb">操作结果回调.</param> public static void SetBlacklist(string accountId, bool inBlacklist, UserOperationDelegate cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); UserNativeMethods.nim_user_set_black(accountId, inBlacklist, null, ModifyBlacklistDelegate, ptr); }
/// <summary> /// 安全链接(短链)换源链接 /// </summary> /// <param name="safeUrl">安全链接(短链)</param> /// <param name="cb"></param> public static void ConvertSafeUrlToOrigin(string safeUrl, SafeUrlConverterCb cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); NosNativeMethods.nim_nos_safeurl_to_originurl(safeUrl, null, SafeUrlConverterCallback, ptr); }
private static void ExceptionReport(NIMSDKException exception, string log, IntPtr user_data) { DelegateConverter.Invoke <nim_sdk_exception_cb_func>(user_data, exception, log, IntPtr.Zero); }
private static void OnProxyDetectionCompleted(bool network_connect, NIMProxyDetectStep step, string json_params, IntPtr user_data) { DelegateConverter.InvokeOnce <NimProxyDetectionDelegate>(user_data, network_connect, step); }
private static void OnGetCacheFileInfoCompleted(string info, IntPtr user_data) { var cacheInfo = CacheFileInfo.Deserialize(info); DelegateConverter.InvokeOnce <GetCacheFileInfoDelegate>(user_data, cacheInfo); }
/// <summary> /// 注册输出系统环境异常的回调 /// </summary> /// <param name="cb"></param> public static void RegExceptionReportCb(nim_sdk_exception_cb_func cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); NIMGlobalNativeMethods.nim_global_reg_exception_report_cb(null, ExceptionReportCb, ptr); }
public static void SetStartNotifyCallback(OnStartNotify cb) { var ptr1 = DelegateConverter.ConvertToIntPtr(cb); RtsNativeMethods.nim_rts_set_start_notify_cb_func(StartNotifyCb, ptr1); }
private static void OnReLoginCallback(int code, string session_id, int channel_type, string json_extension, IntPtr user_data) { DelegateConverter.InvokeOnce <NimRtsOptCbFunc>(user_data, code, session_id, channel_type, json_extension, IntPtr.Zero); }
/// <summary> /// 重连接口 /// </summary> /// <param name="session_id">会话id</param> /// <param name="channel_type">通道类型,暂时只支持白板类型</param> /// <param name="json_extension">无效的扩展字段</param> /// <param name="cb">返回重连操作结果</param> private static void ReLogin(string session_id, int channel_type, string json_extension, NimRtsOptCbFunc cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); RtsNativeMethods.nim_rts_relogin(session_id, channel_type, json_extension, OnReLoginCallback, ptr); }
public void DelegateConverter_CtrNullTest() { try { var x = new DelegateConverter((Func<object, object>)null); } catch (ArgumentNullException ex) { Assert.AreEqual("convert", ex.ParamName); } }
/// <summary> /// 获取用户关系列表(黑名单和静音列表) /// </summary> /// <param name="resultDelegate"></param> public static void GetRelationshipList(GetUserRelationshipResuleDelegate resultDelegate) { var ptr = DelegateConverter.ConvertToIntPtr(resultDelegate); UserNativeMethods.nim_user_get_mute_blacklist("Blacklist", _syncMutedAndBlacklistCompleted, ptr); }
public IntPtr ToIntPtr() { return(DelegateConverter.ConvertToIntPtr(this)); }
public static void SetAckNotifyCallback(OnAckNotify cb) { var ptr2 = DelegateConverter.ConvertToIntPtr(cb); RtsNativeMethods.nim_rts_set_ack_notify_cb_func(AckNotifyCb, ptr2); }
/// <summary> /// 设置会话项是否置顶(置顶属性只保存在本地) /// </summary> /// <param name="to_type"></param> /// <param name="id"></param> /// <param name="top"></param> /// <param name="cb"></param> public static void PinSessionOnTop(NIMSessionType to_type, string id, bool top, SessionChangeHandler cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); SessionNativeMethods.nim_session_set_top(to_type, id, top, null, SessionChangeCb, ptr); }
public static void SetSyncAckNotifyCallback(OnSyncAckNotify cb) { var ptr3 = DelegateConverter.ConvertToIntPtr(cb); RtsNativeMethods.nim_rts_set_sync_ack_notify_cb_func(SyncAckNotifyCb, ptr3); }
private static void OnDeleteCacheCompleted(ResponseCode rescode, IntPtr user_data) { DelegateConverter.InvokeOnce <DeleteCacheFileDelegate>(user_data, rescode); }
public static void SetMemberChangedNotifyCallback(OnMemberNotify cb) { var ptr5 = DelegateConverter.ConvertToIntPtr(cb); RtsNativeMethods.nim_rts_set_member_change_cb_func(MemberChangeCb, ptr5); }
private static void WriteSdkLog(int log_level, string log, IntPtr user_data) { DelegateConverter.Invoke <NimWriteLogDelegate>(user_data, log_level, log); }
public static void SetControlNotifyCallback(OnControlNotify cb) { var ptr6 = DelegateConverter.ConvertToIntPtr(cb); RtsNativeMethods.nim_rts_set_control_notify_cb_func(ControlNotifyCb, ptr6); }
/// <summary> /// 测试代理 /// </summary> /// <param name="type">代理类型</param> /// <param name="host">代理地址</param> /// <param name="port">代理端口</param> /// <param name="user">代理用户名</param> /// <param name="password">代理密码</param> /// <param name="cb"></param> public static void DetectProxy(NIMProxyType type, string host, int port, string user, string password, NimProxyDetectionDelegate cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); NIMGlobalNativeMethods.nim_global_detect_proxy(type, host, port, user, password, ProxyDetectionCallback, ptr); }
public static void SetHungupNotify(OnHangupNotify cb) { var ptr7 = DelegateConverter.ConvertToIntPtr(cb); RtsNativeMethods.nim_rts_set_hangup_notify_cb_func(HangupNotifyCb, ptr7); }
private static void OnConvertSafeUrlResult(int rescode, string originUrl, IntPtr userData) { DelegateConverter.InvokeOnce <SafeUrlConverterCb>(userData, rescode, originUrl, IntPtr.Zero); }
public static void SetReceiveDataCallback(OnRecData callback) { var ptr = DelegateConverter.ConvertToIntPtr(callback); RtsNativeMethods.nim_rts_set_rec_data_cb_func(RecDataCb, ptr); }
private static void OnNosInitCompleted(NIMNosInitConfigResultType rescode, string json_result, string json_extension, IntPtr user_data) { NIMNosInitResult initResult = NIMNosInitResult.Deserialize(json_result); DelegateConverter.InvokeOnce <NIMNosInitResultCallback>(user_data, initResult); }
/// <summary> /// 会话控制(透传) /// </summary> /// <param name="sessionId">会话id</param> /// <param name="info">透传内容</param> /// <param name="controlResHandler">结果回调</param> public static void Control(string sessionId, string info, ControlResHandler controlResHandler) { var ptr = DelegateConverter.ConvertToIntPtr(controlResHandler); RtsNativeMethods.nim_rts_control(sessionId, info, "", ControlResCb, ptr); }
/// <summary> /// 设置、取消设置静音名单 /// </summary> /// <param name="accountId">好友id</param> /// <param name="isMuted">取消或设置</param> /// <param name="cb">操作结果回调</param> public static void SetUserMuted(string accountId, bool isMuted, UserOperationDelegate cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); UserNativeMethods.nim_user_set_mute(accountId, isMuted, null, ModifyMutedlistDelegate, ptr); }
/// <summary> /// 结束会话 /// </summary> /// <param name="sessionId">会话id</param> /// <param name="hangupResHandler">结果回调</param> public static void Hangup(string sessionId, HangupResHandler hangupResHandler) { var ptr = DelegateConverter.ConvertToIntPtr(hangupResHandler); RtsNativeMethods.nim_rts_hangup(sessionId, "", HangupResCb, ptr); }
/// <summary> /// 注册下载回调,通过注册回调获得http下载结果通知,刷新资源 /// </summary> /// <param name="handler">下载的结果回调</param> /// public static void RegDownloadCb(DownloadResultHandler handler) { var ptr = DelegateConverter.ConvertToIntPtr(handler); NosNativeMethods.nim_nos_reg_download_cb(DownloadCb, ptr); }
/// <summary> /// 最近联系人项全部未读数清零 /// </summary> public static void ResetAllUnreadCount(SessionChangeHandler cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); SessionNativeMethods.nim_session_reset_all_unread_count_async(null, SessionChangeCb, ptr); }
public static void SetSdkLogCallback(NimWriteLogDelegate cb) { IntPtr ptr = DelegateConverter.ConvertToIntPtr(cb); NIMGlobalNativeMethods.nim_global_reg_sdk_log_cb(null, NimSdkLogCb, ptr); }
/// <summary> /// 设置会话项扩展数据(扩展数据只保存在本地) /// </summary> /// <param name="to_type"></param> /// <param name="id"></param> /// <param name="data"></param> /// <param name="cb"></param> public static void SetSessionExtendData(NIMSessionType to_type, string id, string data, SessionChangeHandler cb) { var ptr = DelegateConverter.ConvertToIntPtr(cb); SessionNativeMethods.nim_session_set_extend_data(to_type, id, data, null, SessionChangeCb, ptr); }