示例#1
0
 public static void setGlobalEvent(string name, bool defaultValue = true)
 {
     lock (InterProcessEvent._thisLock)
     {
         if (InterProcessEvent._globalEvents == null)
         {
             InterProcessEvent._globalEvents = new Dictionary <string, EventWaitHandle>();
         }
         string text = "Global\\EcoSensorsGlobalEvent-" + name;
         if (!InterProcessEvent._globalEvents.ContainsKey(text))
         {
             EventWaitHandle eventWaitHandle = InterProcessBase.OpenGlobalEvent(text, defaultValue);
             if (eventWaitHandle != null)
             {
                 InterProcessEvent._globalEvents.Add(text, eventWaitHandle);
             }
         }
         if (InterProcessEvent._globalEvents.ContainsKey(text))
         {
             if (defaultValue)
             {
                 InterProcessEvent._globalEvents[text].Set();
             }
             else
             {
                 InterProcessEvent._globalEvents[text].Reset();
             }
         }
     }
 }
示例#2
0
 public static bool getGlobalEvent(string name, bool defaultValue = false)
 {
     lock (InterProcessEvent._thisLock)
     {
         if (InterProcessEvent._globalEvents == null)
         {
             InterProcessEvent._globalEvents = new Dictionary <string, EventWaitHandle>();
         }
         string text = "Global\\EcoSensorsGlobalEvent-" + name;
         if (InterProcessEvent._globalEvents.ContainsKey(text))
         {
             if (InterProcessEvent._globalEvents[text].WaitOne(0))
             {
                 bool result = true;
                 return(result);
             }
         }
         else
         {
             EventWaitHandle eventWaitHandle = InterProcessBase.OpenGlobalEvent(text, defaultValue);
             if (eventWaitHandle != null)
             {
                 InterProcessEvent._globalEvents.Add(text, eventWaitHandle);
                 if (InterProcessEvent._globalEvents[text].WaitOne(0))
                 {
                     bool result = true;
                     return(result);
                 }
             }
         }
     }
     return(false);
 }