465 lines
13 KiB
Plaintext
465 lines
13 KiB
Plaintext
//Source file: gms.idl
|
|
//Date: 11 October 2004
|
|
//Generic Messaging Interfaces and Data Types for ETSI ES 203 915-09 V1.1.1, DES/TISPAN-01005-09-OSA, Parlay 5.0
|
|
|
|
#ifndef __GMS_DEFINED
|
|
#define __GMS_DEFINED
|
|
|
|
|
|
#include "osa.idl"
|
|
|
|
module org {
|
|
|
|
module csapi {
|
|
|
|
|
|
module gms {
|
|
interface IpAppMessagingManager ;
|
|
interface IpMailbox ;
|
|
interface IpMailboxFolder ;
|
|
|
|
|
|
|
|
enum TpMessagingFault {
|
|
|
|
P_MESSAGING_FAULT_UNDEFINED
|
|
};
|
|
|
|
|
|
enum TpMessagingEventName {
|
|
|
|
P_EVENT_GMS_NAME_UNDEFINED,
|
|
P_EVENT_GMS_NEW_MESSAGE_ARRIVED
|
|
};
|
|
|
|
|
|
enum TpMessageStatus {
|
|
|
|
P_MESSAGING_MESSAGE_STATUS_READ_MESSAGE,
|
|
P_MESSAGING_MESSAGE_STATUS_UNREAD_MESSAGE,
|
|
P_MESSAGING_MESSAGE_STATUS_FORWARDED_MESSAGE,
|
|
P_MESSAGING_MESSAGE_STATUS_REPLIED_TO_MESSAGE,
|
|
P_MESSAGING_MESSAGE_STATUS_SAVED_OR_UNSENT_MESSAGE,
|
|
P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_DELIVERED,
|
|
P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_READ,
|
|
P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_NOT_DELIVERED,
|
|
P_MESSAGING_MESSAGE_STATUS_NOTIFICATION_THAT_A_MESSAGE_WAS_NOT_READ
|
|
};
|
|
|
|
|
|
enum TpMessagePriority {
|
|
|
|
P_MESSAGING_MESSAGE_PRIORITY_UNDEFINED,
|
|
P_MESSAGING_MESSAGE_PRIORITY_HIGH,
|
|
P_MESSAGING_MESSAGE_PRIORITY_LOW
|
|
};
|
|
|
|
|
|
enum TpMessageInfoPropertyName {
|
|
|
|
P_MESSAGING_MESSAGE_UNDEFINED,
|
|
P_MESSAGING_MESSAGE_ID,
|
|
P_MESSAGING_MESSAGE_SUBJECT,
|
|
P_MESSAGING_MESSAGE_DATE_SENT,
|
|
P_MESSAGING_MESSAGE_DATE_RECEIVED,
|
|
P_MESSAGING_MESSAGE_DATE_CHANGED,
|
|
P_MESSAGING_MESSAGE_SENT_FROM,
|
|
P_MESSAGING_MESSAGE_SENT_TO,
|
|
P_MESSAGING_MESSAGE_CC_TO,
|
|
P_MESSAGING_MESSAGE_BCC_TO,
|
|
P_MESSAGING_MESSAGE_SIZE,
|
|
P_MESSAGING_MESSAGE_PRIORITY,
|
|
P_MESSAGING_MESSAGE_FORMAT,
|
|
P_MESSAGING_MESSAGE_FOLDER,
|
|
P_MESSAGING_MESSAGE_STATUS
|
|
};
|
|
|
|
|
|
enum TpMessageFormat {
|
|
|
|
P_MESSAGING_MESSAGE_FORMAT_UNDEFINED,
|
|
P_MESSAGING_MESSAGE_FORMAT_TEXT,
|
|
P_MESSAGING_MESSAGE_FORMAT_BINARY,
|
|
P_MESSAGING_MESSAGE_FORMAT_UUENCODED,
|
|
P_MESSAGING_MESSAGE_FORMAT_MIME,
|
|
P_MESSAGING_MESSAGE_FORMAT_WAVE,
|
|
P_MESSAGING_MESSAGE_FORMAT_AU
|
|
};
|
|
|
|
|
|
union TpMessageInfoProperty switch(TpMessageInfoPropertyName) {
|
|
case P_MESSAGING_MESSAGE_ID: TpString MessagingMessageID;
|
|
case P_MESSAGING_MESSAGE_SUBJECT: TpString MessagingMessageSubject;
|
|
case P_MESSAGING_MESSAGE_DATE_SENT: TpDateAndTime MessagingMessageDateSent;
|
|
case P_MESSAGING_MESSAGE_DATE_RECEIVED: TpDateAndTime MessagingMessageDateReceived;
|
|
case P_MESSAGING_MESSAGE_DATE_CHANGED: TpDateAndTime MessagingMessageDateChanged;
|
|
case P_MESSAGING_MESSAGE_SENT_FROM: TpAddress MessagingMessageSentFrom;
|
|
case P_MESSAGING_MESSAGE_SENT_TO: TpAddress MessagingMessageSentTo;
|
|
case P_MESSAGING_MESSAGE_CC_TO: TpAddress MessagingMessageCCTo;
|
|
case P_MESSAGING_MESSAGE_BCC_TO: TpAddress MessagingMessageBCCTo;
|
|
case P_MESSAGING_MESSAGE_SIZE: TpInt32 MessagingMessageSize;
|
|
case P_MESSAGING_MESSAGE_PRIORITY: TpMessagePriority MessagingMessagePriority;
|
|
case P_MESSAGING_MESSAGE_FORMAT: TpMessageFormat MessagingMessageFormat;
|
|
case P_MESSAGING_MESSAGE_FOLDER: TpString MessagingMessageFolder;
|
|
case P_MESSAGING_MESSAGE_STATUS: TpMessageStatus MessagingMessageStatus;
|
|
default: short Dummy;
|
|
};
|
|
|
|
|
|
typedef sequence <TpMessageInfoProperty> TpMessageInfoPropertySet;
|
|
|
|
|
|
enum TpMailboxInfoPropertyName {
|
|
|
|
P_MESSAGING_MAILBOX_UNDEFINED,
|
|
P_MESSAGING_MAILBOX_ID,
|
|
P_MESSAGING_MAILBOX_OWNER,
|
|
P_MESSAGING_MAILBOX_FOLDER,
|
|
P_MESSAGING_MAILBOX_DATE_CREATED,
|
|
P_MESSAGING_MAILBOX_DATE_CHANGED
|
|
};
|
|
|
|
|
|
union TpMailboxInfoProperty switch(TpMailboxInfoPropertyName) {
|
|
case P_MESSAGING_MAILBOX_ID: TpAddress MessagingMailboxID;
|
|
case P_MESSAGING_MAILBOX_OWNER: TpString MessagingMailboxOwner;
|
|
case P_MESSAGING_MAILBOX_FOLDER: TpString MessagingMailboxFolder;
|
|
case P_MESSAGING_MAILBOX_DATE_CREATED: TpDateAndTime MessagingMailboxDateCreated;
|
|
case P_MESSAGING_MAILBOX_DATE_CHANGED: TpDateAndTime MessagingMailboxDateChanged;
|
|
default: short Dummy;
|
|
};
|
|
|
|
|
|
typedef sequence <TpMailboxInfoProperty> TpMailboxInfoPropertySet;
|
|
|
|
|
|
struct TpGMSNewMessageArrivedInfo {
|
|
TpAddress MailboxID;
|
|
TpString FolderID;
|
|
TpString MessageID;
|
|
TpInt32 NumberOfProperties;
|
|
};
|
|
|
|
|
|
union TpMessagingEventInfo switch(TpMessagingEventName) {
|
|
case P_EVENT_GMS_NAME_UNDEFINED: TpString EventNameUndefined;
|
|
case P_EVENT_GMS_NEW_MESSAGE_ARRIVED: TpGMSNewMessageArrivedInfo EventGMSNewMessageArrived;
|
|
};
|
|
|
|
|
|
struct TpGMSNewMessageArrivedCriteria {
|
|
TpAddress MailboxID;
|
|
TpString AuthenticationInfo;
|
|
};
|
|
|
|
|
|
union TpMessagingEventCriteria switch(TpMessagingEventName) {
|
|
case P_EVENT_GMS_NEW_MESSAGE_ARRIVED: TpGMSNewMessageArrivedCriteria EventGMSNewMessageArrived;
|
|
default: short Dummy;
|
|
};
|
|
|
|
|
|
enum TpFolderInfoPropertyName {
|
|
|
|
P_MESSAGING_FOLDER_UNDEFINED,
|
|
P_MESSAGING_FOLDER_ID,
|
|
P_MESSAGING_FOLDER_MESSAGE,
|
|
P_MESSAGING_FOLDER_SUBFOLDER,
|
|
P_MESSAGING_FOLDER_DATE_CREATED,
|
|
P_MESSAGING_FOLDER_DATE_CHANGED
|
|
};
|
|
|
|
|
|
union TpFolderInfoProperty switch(TpFolderInfoPropertyName) {
|
|
case P_MESSAGING_FOLDER_ID: TpString MessagingFolderID;
|
|
case P_MESSAGING_FOLDER_MESSAGE: TpString MessagingFolderMessage;
|
|
case P_MESSAGING_FOLDER_SUBFOLDER: TpString MessagingFolderSubfolder;
|
|
case P_MESSAGING_FOLDER_DATE_CREATED: TpDateAndTime MessagingFolderDateCreated;
|
|
case P_MESSAGING_FOLDER_DATE_CHANGED: TpDateAndTime MessagingFolderDateChanged;
|
|
default: short Dummy;
|
|
};
|
|
|
|
|
|
typedef sequence <TpFolderInfoProperty> TpFolderInfoPropertySet;
|
|
|
|
|
|
exception P_GMS_INVALID_FOLDER_ID {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_INSUFFICIENT_PRIVILEGE {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_INVALID_AUTHENTICATION_INFORMATION {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_INVALID_MAILBOX {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_INVALID_MESSAGE_ID {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_LOCKING_LOCKED_MAILBOX {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_MESSAGE_NOT_REMOVED {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_NUMBER_NOT_POSITIVE {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_UNLOCKING_UNLOCKED_MAILBOX {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_MAILBOX_LOCKED {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_CANNOT_UNLOCK_MAILBOX {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_PROPERTY_NOT_SET {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_FOLDER_IS_OPEN {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
exception P_GMS_MAILBOX_OPEN {
|
|
TpString ExtraInformation;
|
|
};
|
|
|
|
|
|
typedef TpLongString TpMessage;
|
|
|
|
|
|
struct TpMailboxIdentifier {
|
|
IpMailbox Mailbox;
|
|
TpSessionID SessionID;
|
|
};
|
|
|
|
|
|
struct TpMailboxFolderIdentifier {
|
|
IpMailboxFolder MailboxFolder;
|
|
TpSessionID SessionID;
|
|
};
|
|
|
|
|
|
interface IpMessagingManager : IpService {
|
|
|
|
TpMailboxIdentifier openMailbox (
|
|
in TpAddress mailboxID,
|
|
in TpString authenticationInfo
|
|
)
|
|
raises (TpCommonExceptions,P_GMS_INVALID_MAILBOX,P_GMS_INVALID_AUTHENTICATION_INFORMATION);
|
|
|
|
TpAssignmentID enableMessagingNotification (
|
|
in IpAppMessagingManager appInterface,
|
|
in TpMessagingEventCriteria eventCriteria
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_CRITERIA);
|
|
|
|
void disableMessagingNotification (
|
|
in TpAssignmentID assignmentID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
|
|
|
|
};
|
|
|
|
|
|
interface IpAppMessagingManager : IpInterface {
|
|
void mailboxTerminated (
|
|
in IpMailbox mailbox,
|
|
in TpSessionID mailboxSessionID
|
|
);
|
|
|
|
void mailboxFaultDetected (
|
|
in IpMailbox mailbox,
|
|
in TpSessionID mailboxSessionID,
|
|
in TpMessagingFault fault
|
|
);
|
|
|
|
void messagingEventNotify (
|
|
in IpMessagingManager messagingManager,
|
|
in TpMessagingEventInfo eventInfo,
|
|
in TpAssignmentID assignmentID
|
|
);
|
|
|
|
void messagingNotificationTerminated ();
|
|
|
|
};
|
|
|
|
|
|
interface IpMailbox : IpService {
|
|
|
|
void close (
|
|
in TpSessionID mailboxSessionID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
|
|
|
|
void lock (
|
|
in TpSessionID mailboxSessionID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_LOCKING_LOCKED_MAILBOX);
|
|
|
|
void unlock (
|
|
in TpSessionID mailboxSessionID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_UNLOCKING_UNLOCKED_MAILBOX,P_GMS_CANNOT_UNLOCK_MAILBOX);
|
|
|
|
TpInt32 getInfoAmount (
|
|
in TpSessionID mailboxSessionID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
|
|
|
|
TpMailboxInfoPropertySet getInfoProperties (
|
|
in TpSessionID mailboxSessionID,
|
|
in TpInt32 firstProperty,
|
|
in TpInt32 numberOfProperties
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_NUMBER_NOT_POSITIVE);
|
|
|
|
void setInfoProperties (
|
|
in TpSessionID mailboxSessionID,
|
|
in TpInt32 firstProperty,
|
|
in TpMailboxInfoPropertySet mailboxInfoProperties
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_PROPERTY_NOT_SET,P_GMS_MAILBOX_LOCKED);
|
|
|
|
TpMailboxFolderIdentifier openFolder (
|
|
in TpSessionID mailboxSessionID,
|
|
in TpString folderID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_FOLDER_IS_OPEN,P_GMS_INVALID_FOLDER_ID,P_GMS_MAILBOX_LOCKED);
|
|
|
|
void createFolder (
|
|
in TpSessionID mailboxSessionID,
|
|
in TpString folderID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_INVALID_FOLDER_ID,P_GMS_MAILBOX_LOCKED);
|
|
|
|
void remove (
|
|
in TpAddress mailboxID,
|
|
in TpString authenticationInfo
|
|
)
|
|
raises (TpCommonExceptions,P_GMS_INSUFFICIENT_PRIVILEGE,P_GMS_INVALID_MAILBOX,P_GMS_MAILBOX_LOCKED,P_GMS_MAILBOX_OPEN,P_GMS_INVALID_AUTHENTICATION_INFORMATION);
|
|
|
|
};
|
|
|
|
interface IpMessage : IpService {
|
|
|
|
TpInt32 getInfoAmount (
|
|
in TpSessionID folderSessionID,
|
|
in TpString messageID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_INVALID_MESSAGE_ID);
|
|
|
|
TpMessageInfoPropertySet getInfoProperties (
|
|
in TpSessionID folderSessionID,
|
|
in TpString messageID,
|
|
in TpInt32 firstProperty,
|
|
in TpInt32 numberOfProperties
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_NUMBER_NOT_POSITIVE,P_GMS_INVALID_MESSAGE_ID);
|
|
|
|
void setInfoProperties (
|
|
in TpSessionID folderSessionID,
|
|
in TpString messageID,
|
|
in TpInt32 firstProperty,
|
|
in TpMessageInfoPropertySet messageInfoProperties
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_INVALID_MESSAGE_ID,P_GMS_PROPERTY_NOT_SET);
|
|
|
|
void remove (
|
|
in TpSessionID folderSessionID,
|
|
in TpString messageID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_INSUFFICIENT_PRIVILEGE,P_GMS_MESSAGE_NOT_REMOVED,P_GMS_INVALID_MESSAGE_ID);
|
|
|
|
TpMessage getContent (
|
|
in TpSessionID folderSessionID,
|
|
in TpString messageID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_INVALID_MESSAGE_ID);
|
|
|
|
};
|
|
|
|
interface IpMailboxFolder : IpService {
|
|
|
|
TpInt32 getInfoAmount (
|
|
in TpSessionID folderSessionID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
|
|
|
|
TpFolderInfoPropertySet getInfoProperties (
|
|
in TpSessionID folderSessionID,
|
|
in TpInt32 firstProperty,
|
|
in TpInt32 numberOfProperties
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_NUMBER_NOT_POSITIVE);
|
|
|
|
void setInfoProperties (
|
|
in TpSessionID folderSessionID,
|
|
in TpInt32 firstProperty,
|
|
in TpFolderInfoPropertySet folderInfoProperties
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_PROPERTY_NOT_SET);
|
|
|
|
void putMessage (
|
|
in TpSessionID folderSessionID,
|
|
in TpMessage message,
|
|
in TpMessageInfoPropertySet messageInfoProperties
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
|
|
|
|
IpMessage getMessage (
|
|
in TpSessionID folderSessionID,
|
|
in TpString messageID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_INVALID_MESSAGE_ID);
|
|
|
|
void close (
|
|
in TpSessionID mailboxSessionID,
|
|
in TpSessionID folderSessionID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID);
|
|
|
|
void remove (
|
|
in TpSessionID mailboxSessionID,
|
|
in TpString folderID
|
|
)
|
|
raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_GMS_INSUFFICIENT_PRIVILEGE,P_GMS_INVALID_FOLDER_ID,P_GMS_FOLDER_IS_OPEN);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
#endif
|