96 lines
2.1 KiB
Plaintext
96 lines
2.1 KiB
Plaintext
/* Evolution Mail Interface
|
|
*
|
|
* Copyright (C) 2005 Novell, Inc.
|
|
*
|
|
* Authors: Michael Zucchi <notzed@novell.com>
|
|
*/
|
|
|
|
#ifndef _EVOLUTION_DATASERVER_MAIL_IDL_
|
|
#define _EVOLUTION_DATASERVER_MAIL_IDL_
|
|
|
|
#include <Bonobo.idl>
|
|
|
|
module GNOME {
|
|
module Evolution {
|
|
module Mail {
|
|
exception NOT_SUPPORTED {
|
|
string why;
|
|
};
|
|
|
|
interface Folder;
|
|
typedef sequence<Folder> Folders;
|
|
|
|
interface Store;
|
|
typedef sequence<Store> Stores;
|
|
|
|
interface Session;
|
|
|
|
/* ********************************************************************** */
|
|
// NB: tiny subset of omg properties service
|
|
typedef string PropertyName;
|
|
typedef sequence <PropertyName> PropertyNames;
|
|
struct Property {
|
|
PropertyName name;
|
|
any value;
|
|
};
|
|
typedef sequence <Property> Properties;
|
|
|
|
/* ********************************************************************** */
|
|
|
|
// ??
|
|
interface Listener {
|
|
void storeAdded(in Store store);
|
|
void storeRemoved(in Store store);
|
|
|
|
void folderAdded(in Store store, in Folder folder);
|
|
void folderRemoved(in Store store, in Folder folder);
|
|
};
|
|
|
|
/* ********************************************************************** */
|
|
|
|
interface Session : Bonobo::Unknown {
|
|
boolean getProperties(in PropertyNames names, out Properties props);
|
|
|
|
Stores getStores(in string pattern);
|
|
|
|
void addListener(in Listener listener);
|
|
void removeListener(in Listener listener);
|
|
};
|
|
|
|
interface Store : Bonobo::Unknown {
|
|
boolean getProperties(in PropertyNames names, out Properties props);
|
|
|
|
Folders getFolders(in string pattern)
|
|
raises (NOT_SUPPORTED);
|
|
|
|
void sendMessage(in Bonobo::Stream msg, in string from, in string recipients)
|
|
raises (NOT_SUPPORTED);
|
|
};
|
|
|
|
struct Message {
|
|
string uid;
|
|
string subject;
|
|
string to;
|
|
string from;
|
|
};
|
|
|
|
typedef sequence <Message> Messages;
|
|
interface MessageIterator : Bonobo::Unknown {
|
|
Messages next(in long limit);
|
|
};
|
|
|
|
interface Folder : Bonobo::Unknown {
|
|
boolean getProperties(in PropertyNames names, out Properties props);
|
|
|
|
MessageIterator getMessages(in string pattern);
|
|
|
|
Bonobo::Stream getMessage(in string uid);
|
|
|
|
// void appendMessage(in MessageInfo info, in Bonobo::Stream msg);
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
#endif
|