using System;
using GalaSoft.MvvmLight.Messaging;
namespace Common.Infrastructure.Messaging
{
///
/// Represents the generic functionality utilized by the Segmentation messaging infrastructure.
///
public interface IMessengerCore
{
///
/// Sends the specified message.
///
/// The type of the message.
/// The message.
void Send(TMessage message);
///
/// Sends the specified message.
///
/// The type of the message.
/// The message.
/// The token.
void Send(TMessage message, object token);
///
/// Registers the specified recipient.
///
/// The type of the message.
/// The recipient.
/// The action.
void Register(object recipient, Action action);
///
/// Registers the specified recipient.
///
/// The type of the message.
/// The recipient.
/// The token.
/// The action.
void Register(object recipient, object token, Action action);
}
}