/** * On AgentsEvent create a new Agent. * * @param event generated by Asterisk server. */ void handleAgentsEvent(AgentsEvent event) { AsteriskAgentImpl agent = new AsteriskAgentImpl( server, event.getName(), "Agent/" + event.getAgent(), AgentState.valueOf(event.getStatus())); logger.info("Adding agent " + agent.getName() + "(" + agent.getAgentId() + ")"); addAgent(agent); }
/** * Set state of agent. * * @param agent */ private void updateAgentState(AsteriskAgentImpl agent, AgentState newState) { logger.info("Set state of agent " + agent.getAgentId() + " to " + newState); synchronized (agent) { agent.updateState(newState); } }
/** * Add a new agent to the manager. * * @param agent agent to add. */ private void addAgent(AsteriskAgentImpl agent) { synchronized (agents) { agents.put(agent.getAgentId(), agent); } server.fireNewAgent(agent); }