Interface IWebMessageSystem
Represents a distributed messaging system akin to GMail/Live etc.
Consumers should use SkyWebMessageSink via MessageService instance to route messages
Assembly: Azos.Sky.dll
Syntax
[Glued]
[LifeCycle(ServerInstanceMode.Singleton)]
public interface IWebMessageSystem : ISkyService
Methods
FetchMailboxMessage(MailboxMsgID)
Fetches mailbox message by id or null if not found
Declaration
SkyWebMessage FetchMailboxMessage(MailboxMsgID mid)
Parameters
Returns
FetchMailboxMessageAttachment(MailboxMsgID, Int32)
Fetches an attachment for the specified message by id and attachment index or null if not found
Declaration
Message.Attachment FetchMailboxMessageAttachment(MailboxMsgID mid, int attachmentIndex)
Parameters
Type |
Name |
Description |
MailboxMsgID |
mid |
|
System.Int32 |
attachmentIndex |
|
Returns
GetMailboxInfo(MailboxID)
Returns information about the specified mailbox or null if not found
Declaration
MailboxInfo GetMailboxInfo(MailboxID xid)
Parameters
Returns
GetMailboxMessageCount(MailboxID, String)
Gets the mailbox messages count
Declaration
int GetMailboxMessageCount(MailboxID xid, string query)
Parameters
Type |
Name |
Description |
MailboxID |
xid |
|
System.String |
query |
|
Returns
Type |
Description |
System.Int32 |
|
Gets the mailbox message headers without body or attachments.
The query format is implementation-specific, by default the system should fetch up to 32 latest unread messages
Declaration
MessageHeaders GetMailboxMessageHeaders(MailboxID xid, string query)
Parameters
Type |
Name |
Description |
MailboxID |
xid |
|
System.String |
query |
|
Returns
SendMessage(SkyWebMessage)
Sends message into the system routing it to appropriate mailbox/es.
The function does not guarantee to return all of the mailboxes (as there may be too many of them).
The return is used to quickly pick who the message was routed to.
Null is returned if the message could not be routed to any recipient
Declaration
MsgSendInfo[] SendMessage(SkyWebMessage msg)
Parameters
Returns
UpdateMailboxMessagePublication(MailboxMsgID, MsgPubStatus, String, String)
Updates the particular mailbox message publication status along with operator and description
Declaration
[OneWay]
[ArgsMarshalling(typeof(RequestMsg_IWebMessageSystem_UpdateMailboxMessagePublication))]
void UpdateMailboxMessagePublication(MailboxMsgID mid, MsgPubStatus status, string oper, string description)
Parameters
UpdateMailboxMessagesStatus(IEnumerable<MailboxMsgID>, MsgStatus, String, String)
Updates mailbox messages status
Declaration
[OneWay]
[ArgsMarshalling(typeof(RequestMsg_IWebMessageSystem_UpdateMailboxMessagesStatus))]
void UpdateMailboxMessagesStatus(IEnumerable<MailboxMsgID> mids, MsgStatus status, string folders, string adornments)
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<MailboxMsgID> |
mids |
|
MsgStatus |
status |
|
System.String |
folders |
|
System.String |
adornments |
|
UpdateMailboxMessageStatus(MailboxMsgID, MsgStatus, String, String)
Updates the particular mailbox message status
Declaration
[OneWay]
[ArgsMarshalling(typeof(RequestMsg_IWebMessageSystem_UpdateMailboxMessageStatus))]
void UpdateMailboxMessageStatus(MailboxMsgID mid, MsgStatus status, string folders, string adornments)
Parameters
Extension Methods