16 typedef long MessageId;
17 typedef long ConversationId;
18 typedef string ContactId;
36 typedef sequence<Presence> PresenceList;
40 enum ConversationEvent {
47 typedef sequence<ContactId> ContactIdList;
50 ConversationId conversationId;
51 UtcDateTime lastActivity;
52 MessageId sentLastDeliveredId;
53 MessageId sentLastReadId;
54 MessageId receivedLastReadId;
55 long receivedUnreadCount;
56 ContactIdList contacts;
57 ConversationEvent event;
61 typedef sequence<Conversation> ConversationList;
79 typedef sequence<Message> MessageList;
92 void getPresence(out PresenceList list, in kerio::web::KIdList contacts);
100 void subscribePresence(out PresenceList list);
108 void setPresence(in Status
status, in
string text);
119 void createConversation(out
Conversation conversation, in ContactIdList contacts);
126 void subscribeConversations(out ConversationList list);
134 void muteConversation(in ConversationId conversationId, in
boolean mute);
142 void readConversation(in ConversationId conversationId, in MessageId lastReadId);
154 void getMessages(out MessageList list, in ConversationId conversationId, in MessageId currentMessageId, in
long count);
164 void subscribeMessages(out MessageList list, in ConversationId conversationId, in
long currentMessageId, in
long count);
171 void unsubscribeMessages(in ConversationId conversationId);
181 void sendMessage(out MessageId
messageId, out UtcDateTime time, in
Message message, in
boolean markAsRead);