/*********************************************************************/ /* */ /* 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; using AgentService.Platform.Modules.Default; namespace AgentService.Platform.Modules { /// /// The delegate for the function that manages an IncomingMessage event. /// /// /// public delegate void IncomingMessage(object sender, IncomingMessageEventArgs args); /// /// The delegate for the function that manages an IncomingConversation event. /// /// /// public delegate void IncomingConversation(object sender, IncomingConversationEventArgs args); /// /// The delegate for the function that manages an IncomingConversationMessage event. /// /// /// public delegate void IncomingConversationMessage(object sender, IncomingConversationMessageEventArgs args); /// /// The interface for the improved messaging module. /// public interface IImprovedMessagingModule { /// /// This method allows an external Message Client to register itself /// to the event raised when a message is added to a queue. /// /// The delegate /// The AID of the agent that waits for messages. void RegisterToIncomingMessage(IncomingMessage messageIncoming, AID agent); /// /// This method allows an external Message Client to register itself /// to the event raised when an conversation request is incoming. /// /// The delegate /// The agent which is receiving the conversation request. void RegisterToIncomingConversation(IncomingConversation conversationIncoming, AID agent); /// /// This method allows an external Message Client to register itself /// to the event raised when an conversation message is incoming. /// /// The delegate /// The agent AID. void RegisterToIncomingConversationMessage(IncomingConversationMessage conversationIncoming, AID agent); /// /// This method allows an external Message Client to deregister itself /// to the event raised when a message is added to a queue. /// /// The delegate /// The AID of the agent that waits for messages. void DeregisterToIncomingMessage(IncomingMessage messageIncoming, AID agent); /// /// This method allows an external Message Client to register itself /// to the event raised when an conversation request is incoming. /// /// The delegate /// The agent which is receiving the conversation request. void DeregisterToIncomingConversation(IncomingConversation conversationIncoming, AID agent); /// /// This method allows an external Message Client to register itself /// to the event raised when an conversation message is incoming. /// /// The delegate /// The agent AID. void DeregisterToIncomingConversationMessage(IncomingConversationMessage conversationIncoming, AID agent); } }