/// <summary>非同期イベント エントリ削除</summary> /// <param name="aee">非同期イベント エントリ</param> /// <returns> /// ・成功:true /// ・失敗:false /// </returns> /// <remarks>メッセージID付きのエントリは自動的に削除される。</remarks> public static bool UnRegisterAsyncEvent(AsyncEventEntry aee) { lock (AsyncEventFx._lock) // staticなのでロックする。 { return(AsyncEventFx.NPS.UnRegisterAsyncEvent(aee)); } }
/// <summary>非同期イベント エントリ登録</summary> /// <param name="aee">非同期イベント エントリ</param> public void RegisterAsyncEvent(AsyncEventEntry aee) { // 非同期イベント エントリのリスト // (1つの機能IDに対して複数のエントリを登録可能) List <AsyncEventEntry> aee_lst = null; if (this.AEES.ContainsKey(aee.FuncID)) { // 既に登録済み // 非同期イベント エントリのリストを取得 aee_lst = this.AEES[aee.FuncID]; } else { // 未登録 // 非同期イベント エントリのリストを生成して追加 aee_lst = new List <AsyncEventEntry>(); this.AEES.Add(aee.FuncID, aee_lst); } // 非同期イベント エントリのリストにエントリを追加 aee_lst.Add(aee); }
/// <summary>非同期イベント登録</summary> /// <param name="aee">非同期イベント エントリ</param> /// <returns> /// ・成功:true /// ・失敗:false /// </returns> public static bool RegisterAsyncEvent(AsyncEventEntry aee) { lock (AsyncEventFx._lock) // staticなのでロックする。 { AsyncEventFx.NPS.RegisterAsyncEvent(aee); } return(true); // 将来的にfalse対応があるかもしれないので。 }
/// <summary>非同期イベント エントリ削除</summary> /// <param name="aee">非同期イベント エントリ</param> /// <returns> /// ・成功:true /// ・失敗:false /// </returns> /// <remarks>メッセージID付きのエントリは自動的に削除される。</remarks> public bool UnRegisterAsyncEvent(AsyncEventEntry aee) { // 非同期イベント エントリのリスト List <AsyncEventEntry> aee_lst = null; if (this.AEES.ContainsKey(aee.FuncID)) { // 既に登録済み // 非同期イベント エントリのリストを取得 aee_lst = this.AEES[aee.FuncID]; // 非同期イベント エントリを削除 // IEquatable対応済み。 return(aee_lst.Remove(aee)); } else { // 未登録 return(false); } }