/// <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)); } }
/// <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); }
internal MatchMakerStateChangedEventArgs(MatchMakerState previousState, MatchMakerState newState) { _previousState = previousState; _newState = newState; }