2 //Date: 11 October 2004
3 //Generic Messaging Interfaces and Data Types for ETSI ES 203 915-09 V1.1.1, DES/TISPAN-01005-09-OSA, Parlay 5.0
17 interface IpAppMessagingManager
;
19 interface IpMailboxFolder
;
23 enum TpMessagingFault
{
25 P_MESSAGING_FAULT_UNDEFINED
29 enum TpMessagingEventName
{
31 P_EVENT_GMS_NAME_UNDEFINED
,
32 P_EVENT_GMS_NEW_MESSAGE_ARRIVED
36 enum TpMessageStatus
{
38 P_MESSAGING_MESSAGE_STATUS_READ_MESSAGE
,
39 P_MESSAGING_MESSAGE_STATUS_UNREAD_MESSAGE
,
40 P_MESSAGING_MESSAGE_STATUS_FORWARDED_MESSAGE
,
41 P_MESSAGING_MESSAGE_STATUS_REPLIED_TO_MESSAGE
,
42 P_MESSAGING_MESSAGE_STATUS_SAVED_OR_UNSENT_MESSAGE
,
43 P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_DELIVERED
,
44 P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_READ
,
45 P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_NOT_DELIVERED
,
46 P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_NOT_READ
50 enum TpMessagePriority
{
52 P_MESSAGING_MESSAGE_PRIORITY_UNDEFINED
,
53 P_MESSAGING_MESSAGE_PRIORITY_HIGH
,
54 P_MESSAGING_MESSAGE_PRIORITY_LOW
58 enum TpMessageInfoPropertyName
{
60 P_MESSAGING_MESSAGE_UNDEFINED
,
61 P_MESSAGING_MESSAGE_ID
,
62 P_MESSAGING_MESSAGE_SUBJECT
,
63 P_MESSAGING_MESSAGE_DATE_SENT
,
64 P_MESSAGING_MESSAGE_DATE_RECEIVED
,
65 P_MESSAGING_MESSAGE_DATE_CHANGED
,
66 P_MESSAGING_MESSAGE_SENT_FROM
,
67 P_MESSAGING_MESSAGE_SENT_TO
,
68 P_MESSAGING_MESSAGE_CC_TO
,
69 P_MESSAGING_MESSAGE_BCC_TO
,
70 P_MESSAGING_MESSAGE_SIZE
,
71 P_MESSAGING_MESSAGE_PRIORITY
,
72 P_MESSAGING_MESSAGE_FORMAT
,
73 P_MESSAGING_MESSAGE_FOLDER
,
74 P_MESSAGING_MESSAGE_STATUS
78 enum TpMessageFormat
{
80 P_MESSAGING_MESSAGE_FORMAT_UNDEFINED
,
81 P_MESSAGING_MESSAGE_FORMAT_TEXT
,
82 P_MESSAGING_MESSAGE_FORMAT_BINARY
,
83 P_MESSAGING_MESSAGE_FORMAT_UUENCODED
,
84 P_MESSAGING_MESSAGE_FORMAT_MIME
,
85 P_MESSAGING_MESSAGE_FORMAT_WAVE
,
86 P_MESSAGING_MESSAGE_FORMAT_AU
90 union TpMessageInfoProperty
switch(TpMessageInfoPropertyName
) {
91 case P_MESSAGING_MESSAGE_ID
: TpString MessagingMessageID
;
92 case P_MESSAGING_MESSAGE_SUBJECT
: TpString MessagingMessageSubject
;
93 case P_MESSAGING_MESSAGE_DATE_SENT
: TpDateAndTime MessagingMessageDateSent
;
94 case P_MESSAGING_MESSAGE_DATE_RECEIVED
: TpDateAndTime MessagingMessageDateReceived
;
95 case P_MESSAGING_MESSAGE_DATE_CHANGED
: TpDateAndTime MessagingMessageDateChanged
;
96 case P_MESSAGING_MESSAGE_SENT_FROM
: TpAddress MessagingMessageSentFrom
;
97 case P_MESSAGING_MESSAGE_SENT_TO
: TpAddress MessagingMessageSentTo
;
98 case P_MESSAGING_MESSAGE_CC_TO
: TpAddress MessagingMessageCCTo
;
99 case P_MESSAGING_MESSAGE_BCC_TO
: TpAddress MessagingMessageBCCTo
;
100 case P_MESSAGING_MESSAGE_SIZE
: TpInt32 MessagingMessageSize
;
101 case P_MESSAGING_MESSAGE_PRIORITY
: TpMessagePriority MessagingMessagePriority
;
102 case P_MESSAGING_MESSAGE_FORMAT
: TpMessageFormat MessagingMessageFormat
;
103 case P_MESSAGING_MESSAGE_FOLDER
: TpString MessagingMessageFolder
;
104 case P_MESSAGING_MESSAGE_STATUS
: TpMessageStatus MessagingMessageStatus
;
105 default: short Dummy
;
109 typedef sequence
<TpMessageInfoProperty
> TpMessageInfoPropertySet
;
112 enum TpMailboxInfoPropertyName
{
114 P_MESSAGING_MAILBOX_UNDEFINED
,
115 P_MESSAGING_MAILBOX_ID
,
116 P_MESSAGING_MAILBOX_OWNER
,
117 P_MESSAGING_MAILBOX_FOLDER
,
118 P_MESSAGING_MAILBOX_DATE_CREATED
,
119 P_MESSAGING_MAILBOX_DATE_CHANGED
123 union TpMailboxInfoProperty
switch(TpMailboxInfoPropertyName
) {
124 case P_MESSAGING_MAILBOX_ID
: TpAddress MessagingMailboxID
;
125 case P_MESSAGING_MAILBOX_OWNER
: TpString MessagingMailboxOwner
;
126 case P_MESSAGING_MAILBOX_FOLDER
: TpString MessagingMailboxFolder
;
127 case P_MESSAGING_MAILBOX_DATE_CREATED
: TpDateAndTime MessagingMailboxDateCreated
;
128 case P_MESSAGING_MAILBOX_DATE_CHANGED
: TpDateAndTime MessagingMailboxDateChanged
;
129 default: short Dummy
;
133 typedef sequence
<TpMailboxInfoProperty
> TpMailboxInfoPropertySet
;
136 struct TpGMSNewMessageArrivedInfo
{
140 TpInt32 NumberOfProperties
;
144 union TpMessagingEventInfo
switch(TpMessagingEventName
) {
145 case P_EVENT_GMS_NAME_UNDEFINED
: TpString EventNameUndefined
;
146 case P_EVENT_GMS_NEW_MESSAGE_ARRIVED
: TpGMSNewMessageArrivedInfo EventGMSNewMessageArrived
;
150 struct TpGMSNewMessageArrivedCriteria
{
152 TpString AuthenticationInfo
;
156 union TpMessagingEventCriteria
switch(TpMessagingEventName
) {
157 case P_EVENT_GMS_NEW_MESSAGE_ARRIVED
: TpGMSNewMessageArrivedCriteria EventGMSNewMessageArrived
;
158 default: short Dummy
;
162 enum TpFolderInfoPropertyName
{
164 P_MESSAGING_FOLDER_UNDEFINED
,
165 P_MESSAGING_FOLDER_ID
,
166 P_MESSAGING_FOLDER_MESSAGE
,
167 P_MESSAGING_FOLDER_SUBFOLDER
,
168 P_MESSAGING_FOLDER_DATE_CREATED
,
169 P_MESSAGING_FOLDER_DATE_CHANGED
173 union TpFolderInfoProperty
switch(TpFolderInfoPropertyName
) {
174 case P_MESSAGING_FOLDER_ID
: TpString MessagingFolderID
;
175 case P_MESSAGING_FOLDER_MESSAGE
: TpString MessagingFolderMessage
;
176 case P_MESSAGING_FOLDER_SUBFOLDER
: TpString MessagingFolderSubfolder
;
177 case P_MESSAGING_FOLDER_DATE_CREATED
: TpDateAndTime MessagingFolderDateCreated
;
178 case P_MESSAGING_FOLDER_DATE_CHANGED
: TpDateAndTime MessagingFolderDateChanged
;
179 default: short Dummy
;
183 typedef sequence
<TpFolderInfoProperty
> TpFolderInfoPropertySet
;
186 exception P_GMS_INVALID_FOLDER_ID
{
187 TpString ExtraInformation
;
191 exception P_GMS_INSUFFICIENT_PRIVILEGE
{
192 TpString ExtraInformation
;
196 exception P_GMS_INVALID_AUTHENTICATION_INFORMATION
{
197 TpString ExtraInformation
;
201 exception P_GMS_INVALID_MAILBOX
{
202 TpString ExtraInformation
;
206 exception P_GMS_INVALID_MESSAGE_ID
{
207 TpString ExtraInformation
;
211 exception P_GMS_LOCKING_LOCKED_MAILBOX
{
212 TpString ExtraInformation
;
216 exception P_GMS_MESSAGE_NOT_REMOVED
{
217 TpString ExtraInformation
;
221 exception P_GMS_NUMBER_NOT_POSITIVE
{
222 TpString ExtraInformation
;
226 exception P_GMS_UNLOCKING_UNLOCKED_MAILBOX
{
227 TpString ExtraInformation
;
231 exception P_GMS_MAILBOX_LOCKED
{
232 TpString ExtraInformation
;
236 exception P_GMS_CANNOT_UNLOCK_MAILBOX
{
237 TpString ExtraInformation
;
241 exception P_GMS_PROPERTY_NOT_SET
{
242 TpString ExtraInformation
;
246 exception P_GMS_FOLDER_IS_OPEN
{
247 TpString ExtraInformation
;
251 exception P_GMS_MAILBOX_OPEN
{
252 TpString ExtraInformation
;
256 typedef TpLongString TpMessage
;
259 struct TpMailboxIdentifier
{
261 TpSessionID SessionID
;
265 struct TpMailboxFolderIdentifier
{
266 IpMailboxFolder MailboxFolder
;
267 TpSessionID SessionID
;
271 interface IpMessagingManager
: IpService
{
273 TpMailboxIdentifier openMailbox
(
274 in TpAddress mailboxID
,
275 in TpString authenticationInfo
277 raises
(TpCommonExceptions
,P_GMS_INVALID_MAILBOX
,P_GMS_INVALID_AUTHENTICATION_INFORMATION
);
279 TpAssignmentID enableMessagingNotification
(
280 in IpAppMessagingManager appInterface
,
281 in TpMessagingEventCriteria eventCriteria
283 raises
(TpCommonExceptions
,P_INVALID_CRITERIA
);
285 void disableMessagingNotification
(
286 in TpAssignmentID assignmentID
288 raises
(TpCommonExceptions
,P_INVALID_ASSIGNMENT_ID
);
293 interface IpAppMessagingManager
: IpInterface
{
294 void mailboxTerminated
(
295 in IpMailbox mailbox
,
296 in TpSessionID mailboxSessionID
299 void mailboxFaultDetected
(
300 in IpMailbox mailbox
,
301 in TpSessionID mailboxSessionID
,
302 in TpMessagingFault fault
305 void messagingEventNotify
(
306 in IpMessagingManager messagingManager
,
307 in TpMessagingEventInfo eventInfo
,
308 in TpAssignmentID assignmentID
311 void messagingNotificationTerminated
();
316 interface IpMailbox
: IpService
{
319 in TpSessionID mailboxSessionID
321 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
324 in TpSessionID mailboxSessionID
326 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_LOCKING_LOCKED_MAILBOX
);
329 in TpSessionID mailboxSessionID
331 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_UNLOCKING_UNLOCKED_MAILBOX
,P_GMS_CANNOT_UNLOCK_MAILBOX
);
333 TpInt32 getInfoAmount
(
334 in TpSessionID mailboxSessionID
336 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
338 TpMailboxInfoPropertySet getInfoProperties
(
339 in TpSessionID mailboxSessionID
,
340 in TpInt32 firstProperty
,
341 in TpInt32 numberOfProperties
343 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_NUMBER_NOT_POSITIVE
);
345 void setInfoProperties
(
346 in TpSessionID mailboxSessionID
,
347 in TpInt32 firstProperty
,
348 in TpMailboxInfoPropertySet mailboxInfoProperties
350 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_PROPERTY_NOT_SET
,P_GMS_MAILBOX_LOCKED
);
352 TpMailboxFolderIdentifier openFolder
(
353 in TpSessionID mailboxSessionID
,
356 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_FOLDER_IS_OPEN
,P_GMS_INVALID_FOLDER_ID
,P_GMS_MAILBOX_LOCKED
);
359 in TpSessionID mailboxSessionID
,
362 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_INVALID_FOLDER_ID
,P_GMS_MAILBOX_LOCKED
);
365 in TpAddress mailboxID
,
366 in TpString authenticationInfo
368 raises
(TpCommonExceptions
,P_GMS_INSUFFICIENT_PRIVILEGE
,P_GMS_INVALID_MAILBOX
,P_GMS_MAILBOX_LOCKED
,P_GMS_MAILBOX_OPEN
,P_GMS_INVALID_AUTHENTICATION_INFORMATION
);
372 interface IpMessage
: IpService
{
374 TpInt32 getInfoAmount
(
375 in TpSessionID folderSessionID
,
376 in TpString messageID
378 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_INVALID_MESSAGE_ID
);
380 TpMessageInfoPropertySet getInfoProperties
(
381 in TpSessionID folderSessionID
,
382 in TpString messageID
,
383 in TpInt32 firstProperty
,
384 in TpInt32 numberOfProperties
386 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_NUMBER_NOT_POSITIVE
,P_GMS_INVALID_MESSAGE_ID
);
388 void setInfoProperties
(
389 in TpSessionID folderSessionID
,
390 in TpString messageID
,
391 in TpInt32 firstProperty
,
392 in TpMessageInfoPropertySet messageInfoProperties
394 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_INVALID_MESSAGE_ID
,P_GMS_PROPERTY_NOT_SET
);
397 in TpSessionID folderSessionID
,
398 in TpString messageID
400 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_INSUFFICIENT_PRIVILEGE
,P_GMS_MESSAGE_NOT_REMOVED
,P_GMS_INVALID_MESSAGE_ID
);
402 TpMessage getContent
(
403 in TpSessionID folderSessionID
,
404 in TpString messageID
406 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_INVALID_MESSAGE_ID
);
410 interface IpMailboxFolder
: IpService
{
412 TpInt32 getInfoAmount
(
413 in TpSessionID folderSessionID
415 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
417 TpFolderInfoPropertySet getInfoProperties
(
418 in TpSessionID folderSessionID
,
419 in TpInt32 firstProperty
,
420 in TpInt32 numberOfProperties
422 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_NUMBER_NOT_POSITIVE
);
424 void setInfoProperties
(
425 in TpSessionID folderSessionID
,
426 in TpInt32 firstProperty
,
427 in TpFolderInfoPropertySet folderInfoProperties
429 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_PROPERTY_NOT_SET
);
432 in TpSessionID folderSessionID
,
433 in TpMessage
message,
434 in TpMessageInfoPropertySet messageInfoProperties
436 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
438 IpMessage getMessage
(
439 in TpSessionID folderSessionID
,
440 in TpString messageID
442 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_INVALID_MESSAGE_ID
);
445 in TpSessionID mailboxSessionID
,
446 in TpSessionID folderSessionID
448 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
);
451 in TpSessionID mailboxSessionID
,
454 raises
(TpCommonExceptions
,P_INVALID_SESSION_ID
,P_GMS_INSUFFICIENT_PRIVILEGE
,P_GMS_INVALID_FOLDER_ID
,P_GMS_FOLDER_IS_OPEN
);