Exemple #1
0
 public void UnhookGlobal(GlobalCallback cb)
 {
     lock (gmutex)
     {
         if (glook.ContainsKey(cb))
         {
             var cc = glook[cb];
             base.UnhookGlobal(cc);
             glook.Remove(cb);
         }
     }
 }
Exemple #2
0
 public void HookGlobal(GlobalCallback cb)
 {
     lock (gmutex)
     {
         Dispatcher <object> .GlobalCallback cc = (string s, object _) =>
         {
             cb(s);
         };
         lock (gmutex)
         {
             glook.Add(cb, cc);
             base.HookGlobal(cc);
         }
     }
 }
Exemple #3
0
    /// <summary>
    /// Registers the event specified by name
    /// </summary>
    public static void Register(string name, GlobalCallback callback)
    {
        if (string.IsNullOrEmpty(name))
        {
            throw new ArgumentNullException(@"name");
        }

        if (callback == null)
        {
            throw new ArgumentNullException("callback");
        }

        List <GlobalCallback> callbacks = (List <GlobalCallback>)m_Callbacks[name];

        if (callbacks == null)
        {
            callbacks = new List <GlobalCallback>();
            m_Callbacks.Add(name, callbacks);
        }
        callbacks.Add(callback);
    }
Exemple #4
0
    /// <summary>
    /// Unregisters the event specified by name
    /// </summary>
    public static void UnRegister(string name, GlobalCallback callback)
    {
        if (string.IsNullOrEmpty(name))
        {
            throw new ArgumentNullException(@"name");
        }

        if (callback == null)
        {
            throw new ArgumentNullException("callback");
        }

        List <GlobalCallback> callbacks = (List <GlobalCallback>)m_Callbacks[name];

        if (callbacks != null)
        {
            callbacks.Remove(callback);
        }
        else
        {
            throw GlobalEventInternal.ShowUnregisterException(name);
        }
    }