/*********************************************************************/
/* */
/* 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);
}
}