Пример #1
0
 private void Execute(Action <object, MessageBusEvent> Action, object Sender, MessageBusEvent Evnt)
 {
     Task.Factory.StartNew(() => {
         Action(Sender, Evnt);
     },
                           CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default);
 }
Пример #2
0
        /// <summary>
        /// Messages the bus event handler.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="evnt">Evnt.</param>
        public void MessageBusEventHandler(object sender, MessageBusEvent evnt)
        {
            //extrac the data
            var data2 = evnt.Data [0] as String;

            //execute on the UI thread
            BeginInvokeOnMainThread (() => {
                //post to the output box
                txtOutput.Text += data2 + Environment.NewLine;
            });
        }
Пример #3
0
        /// <summary>
        /// Posts the sticky event.
        /// </summary>
        /// <param name="Event">The event object</param>
        public void PostSticky(MessageBusEvent Event)
        {
            lock (mStickyEvents)
            {
                if (mStickyEvents.ContainsKey(Event.EventId))
                {
                    mStickyEvents.Remove(Event.EventId);
                }

                mStickyEvents.Add(Event.EventId, Event);
            }

            Post(Event);
        }
Пример #4
0
        /// <summary>
        /// Customs the message event handler.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="evnt">Evnt.</param>
        public void CustomMessageEventHandler(object sender, MessageBusEvent evnt)
        {
            if (evnt is CustomMessageBusEvent)
            {
                //convert to customer event type
                var custEvent = evnt as CustomMessageBusEvent;

                //execute on the UI thread
                BeginInvokeOnMainThread (() => {
                    //post to the output box
                    txtOutput.Text += String.Format ("Custom Event Timestamp: {0}", custEvent.TimeStamp) + Environment.NewLine;
                });

            }
        }
Пример #5
0
        void postStickyAfterRegistation(MessageBusEventHandler EventHandler)
        {
            MessageBusEvent eventToBePosted = null;

            lock (mStickyEvents)
            {
                if (mStickyEvents.ContainsKey(EventHandler.EventId))
                {
                    // consider using this:
                    // Execute(EventHandler.EventAction, this, mStickyEvents[EventHandler.EventId]);

                    eventToBePosted = mStickyEvents[EventHandler.EventId];
                }
            }

            if (eventToBePosted != null)
            {
                EventHandler.EventAction(this, eventToBePosted);
            }
        }
Пример #6
0
        /// <summary>
        /// Posts the even
        /// </summary>
        /// <param name="Event">The event object</param>
        public void Post(MessageBusEvent Event)
        {
            if (!(Event is CoreMessageBusEvent))
            {
                foreach (var item in EventHandlers.HandlersForEvent(Event.GetType()))
                {
                    if (item.EventAction != null)
                    {
                        Execute(item.EventAction, Event.Sender, Event);
                    }
                }
            }

            //find all the registered handlers
            foreach (var item in EventHandlers.HandlersForEvent(Event.EventId))
            {
                if (item.EventAction != null)
                {
                    Execute(item.EventAction, Event.Sender, Event);
                }
            }
        }
		/// <summary>
		/// Customs the message event handler.
		/// </summary>
		/// <param name="sender">Sender.</param>
		/// <param name="evnt">Evnt.</param>
		public void CustomMessageEventHandler (object sender, MessageBusEvent evnt)
		{
			if (evnt is CustomMessageBusEvent)
			{
				BeginInvokeOnMainThread (() => {
				//convert to customer event type
				var custEvent = evnt as CustomMessageBusEvent;

				var aString = txtOutput.TextStorage.Value;

				aString +=  String.Format ("Custom Event Timestamp: {0}", custEvent.TimeStamp) + Environment.NewLine;

				txtOutput.TextStorage.SetString(new NSAttributedString(aString));

				});
			}


		}
		/// <summary>
		/// Messages the bus event handler.
		/// </summary>
		/// <param name="sender">Sender.</param>
		/// <param name="evnt">Evnt.</param>
		public void MessageBusEventHandler (object sender, MessageBusEvent evnt)
		{
			//extrac the data
			var data2 = evnt.Data [0] as String;

			//execute on the UI thread
			BeginInvokeOnMainThread (() => {
				//post to the output box
				var aString = txtOutput.TextStorage.Value;

				aString  += data2 + Environment.NewLine;

				txtOutput.TextStorage.SetString(new NSAttributedString(aString));
			});

		}
Пример #9
0
 /// <summary>
 /// Post the specified Event to the Default MessageBus
 /// </summary>
 /// <param name="Event">Event.</param>
 public static void PostEvent(MessageBusEvent Event)
 {
     Default.Post(Event);
 }
Пример #10
0
 private static void Execute(Action <object, MessageBusEvent> action, object sender, MessageBusEvent evnt)
 {
     action(sender, evnt);
 }
Пример #11
0
 private void Execute(Action <object, MessageBusEvent> Action, object Sender, MessageBusEvent Evnt)
 {
     Action(Sender, Evnt);
 }
Пример #12
0
		/// <summary>
		/// Messages the bus event handler.
		/// </summary>
		/// <param name="sender">Sender.</param>
		/// <param name="evnt">Evnt.</param>
		public void MessageBusEventHandler (object sender, MessageBusEvent evnt)
		{
			//extrac the data
			var data2 = evnt.Data [0] as String;

			//run on the ui thread
			RunOnUiThread (() => {
				//post to the output box
				txtOutput.Text += data2 + System.Environment.NewLine;
			});

		}
Пример #13
0
		/// <summary>
		/// Customs the message event handler.
		/// </summary>
		/// <param name="sender">Sender.</param>
		/// <param name="evnt">Evnt.</param>
		public void CustomMessageEventHandler (object sender, MessageBusEvent evnt)
		{
			if (evnt is CustomMessageBusEvent)
			{
				//convert to customer event type
				var custEvent = evnt as CustomMessageBusEvent;

				//run on the ui thread
				RunOnUiThread (() => {
					//post to the output box
					txtOutput.Text += String.Format ("Custom Event Timestamp: {0}", custEvent.TimeStamp) + System.Environment.NewLine;
				});
				
			}


		}