Example #1
0
 public void RemoveCoreEventHandler(string eventType, ICoreEventHandler handler)
 {
     if (!this._coreEventsHandlers[eventType].Remove(handler))
     {
         Log.Warning("attempt to remove core handler which doesn't exist in router");
     }
 }
Example #2
0
 public void AddCoreEventHandler(string eventType, ICoreEventHandler handler)
 {
     if (_coreEventsHandlers.GetValueOrDefault(eventType, null) == null)
     {
         _coreEventsHandlers[eventType] = new List <ICoreEventHandler>();
     }
     this._coreEventsHandlers[eventType].Add(handler);
 }
Example #3
0
        private static void RegisterEventHandles(ICoreEventHandler eventHandler)
        {
            eventHandles.MainLoop  = eventHandler.OnMainLoop;
            eventHandles.RunScript = eventHandler.OnRunScript;
            eventHandles.Closure   = eventHandler.OnClosure;
            eventHandles.Signal    = eventHandler.OnSignal;

            int    size = Marshal.SizeOf(typeof(NativeEventHandles));
            IntPtr ptr  = Marshal.AllocHGlobal(size);

            Marshal.StructureToPtr(eventHandles, ptr, false);
            NativeFunctions.RegisterHandlers(ptr, (uint)size);
            Marshal.FreeHGlobal(ptr);
        }
Example #4
0
        public static int Init(IntPtr nativeHandlesPtr, int nativeHandlesLength, ICoreFunctionHandler functionHandler, ICoreEventHandler eventHandler)
        {
            int result = Init(nativeHandlesPtr, nativeHandlesLength, functionHandler);

            if (result == 0)
            {
                RegisterEventHandles(eventHandler);
            }

            return(result);
        }
 public void UnhookCoreEvent(ICoreEventHandler handler)
 {
     _router.RemoveCoreEventHandler(handler.GetHandlingEventType(), handler);
 }
 public void HookCoreEvent(ICoreEventHandler handler)
 {
     _router.AddCoreEventHandler(handler.GetHandlingEventType(), handler);
 }