Пример #1
0
 protected override void HandleMessage(EventArrived <SimpleClass1> message)
 {
     if (message.EventData.Index == _testnumber.Number && message.Context.Headers["Test"].ToString() == _testnumber.ExpectedHeader)
     {
         _testnumber.EventsReceived++;
     }
 }
Пример #2
0
 protected override void HandleMessage(EventArrived <ComplexClass> message)
 {
     if (message.EventData.Index == TestNumber.Number)
     {
         TestNumber.EventsReceived++;
     }
 }
Пример #3
0
        private void EventLoop()
        {
            XCbWindow = XCreateSimpleWindow(XDisplay, XRootWindow, 0, 0, 1, 1, 0, UIntPtr.Zero, UIntPtr.Zero);
            XFlush(XDisplay);
            XSelectInput(XDisplay, XCbWindow, EventMask.PropertyChangeMask | EventMask.KeyPressMask | EventMask.PointerMotionMask);

            int timeout_usec = Settings.XServerPollRateMS * 1000;
            //TODO - poll raw socket properly.
            XEvent evt = new XEvent();

            while (!disposedValue)
            {
                timeval v = new timeval();
                v.tv_usec = timeout_usec;

                int num = select(0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, ref v);

                while (XPending(XDisplay) > 0)
                {
                    XNextEvent(XDisplay, ref evt);

                    EventArrived?.Invoke(evt);
                }
            }

            ISLogger.Write("Exiting X eventloop");
            if (XCbWindow != default)
            {
                XDestroyWindow(XDisplay, XCbWindow);
            }

            XCloseDisplay(XDisplay);
        }
Пример #4
0
 protected override void HandleMessage(EventArrived <MyTestClass> message)
 {
     _cde.Signal();
 }
Пример #5
0
 protected override void HandleMessage(EventArrived <SimpleClass1> message)
 {
     Cde.Signal();
 }
 /// <summary>
 /// This method will be exposed to the Javascript environment. It is
 /// invoked in the Javascript environment when some event of interest
 /// happens.
 /// </summary>
 /// <param name="eventName">The name of the event.</param>
 /// <param name="eventData">Data provided by the invoker pertaining to the event.</param>
 /// <remarks>
 /// By default RaiseEvent will be translated to raiseEvent as a javascript function.
 /// This is configurable when calling RegisterJsObject by setting camelCaseJavascriptNames;
 /// </remarks>
 public void RaiseEvent(string eventName, dynamic eventData)
 {
     EventArrived?.Invoke(eventName, eventData);
 }
 protected override void HandleMessage(EventArrived <ComplexModelWithChildren> message)
 {
     Console.ForegroundColor = colors[Math.Abs(message.Context.Sender.Name.GetHashCode()) % 15];
     Console.WriteLine($"Received a message from {message.Context.Sender.Name}[{message.Context.Sender.InstanceIdentifier}] || {message.EventData}");
     Console.ResetColor();
 }