/*********************************************************************/ /* */ /* AgentService Framework */ /* www.agentservice.it */ /* */ /* Copyright (C) 2007 l.i.d.o. - DIST, University of Genoa, Italy */ /* GNU Lesser General Public License */ /* */ /* This library is free software; you can redistribute it and/or */ /* modify it under the terms of the GNU Lesser General Public */ /* License as published by the Free Software Foundation, */ /* version 2.1 of the License. */ /* */ /* This library is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ /* Lesser General Public License for more details. */ /* */ /* You should have received a copy of the GNU Lesser General Public */ /* License along with this library; if not, write to the */ /* Free Software Foundation, Inc., 59 Temple Place - Suite 330, */ /* Boston, MA 02111-1307, USA. */ /* */ /*********************************************************************/ using System; using AgentService.Platform.AMS; namespace AgentService.Platform.Modules.Default { /// /// This class holds the messaging aspects linked to an agents: /// - the message queue. /// - the events raised by the ImprovedMessageModule. /// public class QueueItemManager { /// /// The queue mapping /// public MessageQueueMapping QueueMapping { set; get; } /// /// Event raised when a new message is incoming. /// public event IncomingMessage OnIncomingMessage; /// /// Event raised when a conversation system message is incoming. /// public event IncomingConversation OnIncomingConversation; /// /// Event raised when a conversation message is incoming. /// public event IncomingConversationMessage OnIncomingConversationMessage; /// /// Constructs a new QueueItemManager object. /// /// The message queue public QueueItemManager(MessageQueueMapping queue) { this.QueueMapping = queue; } /// /// Raises an IncomingMessage event. /// public void RaiseIncomingMessageEvent(AID aid) { IncomingMessage temp = this.OnIncomingMessage; if (temp != null) { temp(this, new IncomingMessageEventArgs(aid)); } } /// /// Raises an RaiseIncomingConversation event. /// public void RaiseIncomingConversationEvent(AID aid) { IncomingConversation temp = this.OnIncomingConversation; if (temp != null) { temp(this, new IncomingConversationEventArgs(aid)); } } /// /// RaiseIncomingConversationMessage event /// /// The conversation ID public void RaiseIncomingConversationMessageEvent(string convId, AID aid) { IncomingConversationMessage temp = this.OnIncomingConversationMessage; if (temp != null) { temp(this, new IncomingConversationMessageEventArgs(convId,aid)); } } } }