public AbstractQueueMemberEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#2
0
		/// <summary>
		/// Creates a new DialEvent.
		/// </summary>
		public DialEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#3
0
		public QueueParamsEvent(ManagerConnection source)
			: base(source)
		{
		}
		/// <summary>
		/// Creates a new DNDStateEvent.
		/// </summary>
		public QueueCallerAbandonEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#5
0
		public ExtensionStatusEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#6
0
		public ManagerEvent(ManagerConnection source)
			: this()
		{
			this.src = source as ManagerConnection;
		}
示例#7
0
		public AgentsCompleteEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#8
0
 /// <summary>
 /// Creates a new DialEvent.
 /// </summary>
 public DialEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#9
0
 public LocalBridgeEvent(ManagerConnection source) : base(source)
 {
 }
示例#10
0
 public AgentLogoffEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#11
0
 /// <summary>
 /// Creates a new DNDStateEvent.
 /// </summary>
 public PRIEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#12
0
 public ExtensionStatusEvent(ManagerConnection source)
     : base(source)
 {
 }
 public MasqueradeEvent(ManagerConnection source)
     : base(source)
 {
 }
 public AgentCallbackLoginEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#15
0
		public QueueMemberPausedEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#16
0
 public TransferEvent(ManagerConnection source)
     : base(source)
 {
 }
 public AbstractQueueMemberEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#18
0
 public AgentConnectEvent(ManagerConnection source)
     : base(source)
 {
 }
        public ConfbridgeListRoomsCompleteEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#20
0
 public MeetmeStopTalkingEvent(ManagerConnection source)
     : base(source)
 {
 }
        public ConfbridgeListEvent(ManagerConnection source)
			: base(source)
		{
		}
 public MobileStatusEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#23
0
 public MeetmeEndEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#24
0
        /// <summary>
        /// Builds the event based on the given map of attributes and the registered event classes.
        /// </summary>
        /// <param name="source">source attribute for the event</param>
        /// <param name="attributes">map containing event attributes</param>
        /// <returns>a concrete instance of ManagerEvent or <code>null</code> if no event class was registered for the event type.</returns>
        internal static ManagerEvent BuildEvent(IDictionary <int, ConstructorInfo> list, ManagerConnection source, Dictionary <string, string> attributes)
        {
            ManagerEvent    e;
            string          eventType;
            ConstructorInfo constructor = null;
            int             hash, hashEvent;

            eventType = ((string)attributes["event"]).ToLower(Helper.CultureInfo);
            // Remove Event tail from event name (ex. JabberEvent)
            if (eventType.EndsWith("event"))
            {
                eventType = eventType.Substring(0, eventType.Length - 5);
            }
            hashEvent = eventType.GetHashCode();

            if (eventType == "user")
            {
                string userevent = ((string)attributes["userevent"]).ToLower(Helper.CultureInfo);
                hash = string.Concat(eventType, userevent).GetHashCode();
                if (list.ContainsKey(hash))
                {
                    constructor = list[hash];
                }
                else
                {
                    constructor = list[hashEvent];
                }
            }
            else if (list.ContainsKey(hashEvent))
            {
                constructor = list[hashEvent];
            }

            if (constructor == null)
            {
                e = new UnknownEvent(source);
            }
            else
            {
                try
                {
                    e = (ManagerEvent)constructor.Invoke(new object[] { source });
                }
                catch (Exception ex)
                {
#if LOGGER
                    logger.Error("Unable to create new instance of " + eventType, ex);
                    return(null);
#else
                    throw ex;
#endif
                }
            }

            SetAttributes(e, attributes);

            // ResponseEvents are sent in response to a ManagerAction if the
            // response contains lots of data. They include the actionId of
            // the corresponding ManagerAction.
            if (e is ResponseEvent)
            {
                ResponseEvent responseEvent = (ResponseEvent)e;
                string        actionId      = responseEvent.ActionId;
                if (actionId != null)
                {
                    responseEvent.ActionId         = Helper.StripInternalActionId(actionId);
                    responseEvent.InternalActionId = Helper.GetInternalActionId(actionId);
                }
            }

            return(e);
        }
示例#25
0
		public QueueEntryEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#26
0
 /// <summary>
 ///     Creates a new <see cref="AgentRingNoAnswerEvent"/> using the given <see cref="ManagerConnection"/>.
 /// </summary>
 /// <param name="source"></param>
 public AgentRingNoAnswerEvent(ManagerConnection source)
     : base(source)
 {
 }
 public AgentCalledEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#28
0
 public HoldedCallEvent(ManagerConnection source)
     : base(source)
 {
 }
        protected BridgeStateEvent(ManagerConnection source)
            : base(source)
		{
		}
示例#30
0
 /// <summary>
 /// Creates a new QueueMemberStatusEvent
 /// </summary>
 /// <param name="source">ManagerConnection passed through in the event.</param>
 public QueueMemberStatusEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#31
0
 public MeetmeTalkingEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#32
0
 /// <summary>
 /// Creates a new QueueMemberPauseEvent
 /// </summary>
 /// <param name="source">ManagerConnection passed through in the event.</param>
 public QueueMemberPauseEvent(ManagerConnection source)
     : base(source)
 {
 }
		public RTCPReceivedEvent(ManagerConnection source)
			: base(source)
		{ }
示例#34
0
 public BridgeDestroyEvent(ManagerConnection source) : base(source)
 {
 }
示例#35
0
 public AgentLoginEvent(ManagerConnection source)
     : base(source)
 {
 }
 public NewCallerIdEvent(ManagerConnection source)
     : base(source)
 {
 }
		public QueueMemberPenaltyEvent(ManagerConnection source)
			: base(source)
		{
		}
 /// <summary>
 /// Creates a new DNDStateEvent.
 /// </summary>
 public DNDStateEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#39
0
		public MonitorStopEvent(ManagerConnection source)
			: base(source)
		{
		}
 public QueueMemberAddedEvent(ManagerConnection source)
     : base(source)
 {
 }
		public QueueStatusCompleteEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#42
0
 public ChallengeResponseFailedEvent(ManagerConnection source)
     : base(source)
 {
 }
        public AbstractConfbridgeEvent(ManagerConnection source)
			: base(source)
		{
		}
 public OriginateResponseEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#45
0
		/// <summary>
		/// Creates a new UnholdEvent.
		/// </summary>
		public UnholdEvent(ManagerConnection source)
			: base(source)
		{
		}
示例#46
0
 public StatusCompleteEvent(ManagerConnection source)
     : base(source)
 {
 }
 public MessageWaitingEvent(ManagerConnection source)
     : base(source)
 {
 }
 public PeerlistCompleteEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#49
0
 public MasqueradeEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#50
0
 /// <summary>
 ///     Creates a new <see cref="ConfbridgeListRoomsCompleteEvent"/>.
 /// </summary>
 /// <param name="source"><see cref="ManagerConnection"/></param>
 public ConfbridgeListRoomsCompleteEvent(ManagerConnection source)
     : base(source)
 {
 }
 public ParkedCallTimeOutEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#52
0
 public MeetmeLeaveEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#53
0
文件: LinkEvent.cs 项目: vincomi/OSm
 public LinkEvent(ManagerConnection source)
     : base(source)
 {
     islink = true;
     bridgeState = BridgeStates.BRIDGE_STATE_LINK;
 }
 public QueueCallerJoinEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#55
0
		public AbstractAgentEvent(ManagerConnection source)
			: base(source)
		{ }
 public ConfbridgeEndEvent(ManagerConnection source)
     : base(source)
 {
 }
示例#57
0
		public AgentDumpEvent(ManagerConnection source)
			: base(source)
		{
		}
		public RTPSenderStatEvent(ManagerConnection source)
			: base(source)
		{
		}
		public OriginateResponseEvent(ManagerConnection source)
			: base(source)
		{
		}
 protected BridgeActivityEvent(ManagerConnection source)
     : base(source)
 {
 }