Example #1
0
        /// <summary>
        /// Updates the state of the current AcdAgentMatchMaker
        /// </summary>
        private void UpdateState(MatchMakerState state)
        {
            MatchMakerState previousState = _matchMakerState;

            _matchMakerState = state;

            EventHandler <MatchMakerStateChangedEventArgs> stateChanged = this.StateChanged;

            if (stateChanged != null)
            {
                stateChanged(this, new MatchMakerStateChangedEventArgs(previousState, state));
            }
        }
Example #2
0
        /// <summary>
        /// AcdAgentMatchMaker constructs the Automatic Call Distributor match maker
        /// </summary>
        internal AcdAgentMatchMaker(AcdPlatform platform, AcdAgentMatchMakerConfiguration configuration, ApplicationEndpointSettings endpointSettings, AcdLogger logger)
        {
            _platform        = platform;
            _configuration   = configuration;
            _logger          = logger;
            _matchMakerState = MatchMakerState.Created;
            _pendingAgentRequestQueueItems = new List <PendingAgentMatchRequestQueueItem>();

            endpointSettings.AutomaticPresencePublicationEnabled = true;
            endpointSettings.Presence.RemotePresenceSubscriptionCategories.Clear();
            endpointSettings.Presence.RemotePresenceSubscriptionCategories.Add("state");


            //Create the endpoint that will be used by the Agent match maker.
            _endpoint = new ApplicationEndpoint(platform.CollaborationPlatform, endpointSettings);
        }
Example #3
0
 internal MatchMakerStateChangedEventArgs(MatchMakerState previousState, MatchMakerState newState)
 {
     _previousState = previousState;
     _newState      = newState;
 }