diff options
Diffstat (limited to 'kmail/kmailIface.h')
-rw-r--r-- | kmail/kmailIface.h | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/kmail/kmailIface.h b/kmail/kmailIface.h new file mode 100644 index 000000000..1a4a04f23 --- /dev/null +++ b/kmail/kmailIface.h @@ -0,0 +1,219 @@ +#ifndef _KMCONTROLIFACE +#define _KMCONTROLIFACE + +// no forward declarations - dcopidl2cpp won't work +#include <dcopobject.h> +#include <dcopref.h> +#include <kurl.h> +#include <qstringlist.h> + +/** checkMail wont show reader but will check mail. use openReader to + show if you give a filename to openReader it will show mbox or + message if it is valid rfc-822 message or mbox file. You can pass + hidden=1 to openComposer and it wont be visible that way you can + write messages and add attachments from other apps and send it via + kmail. Should I add showAddressBook? hmm... The openComposer + functions always return 1. sven <radej@kde.org> */ +class KMailIface : virtual public DCOPObject +{ + K_DCOP + +k_dcop: + virtual void checkMail() = 0; + virtual QStringList accounts() = 0; + virtual void checkAccount(const QString &account) = 0; + virtual void openReader() = 0; + virtual int openComposer(const QString &to, const QString &cc, + const QString &bcc, const QString &subject, + const QString &body, int hidden, + const KURL &messageFile) = 0; + virtual int openComposer(const QString &to, const QString &cc, + const QString &bcc, const QString &subject, + const QString &body, int hidden, + const KURL &messageFile, + const KURL &attachURL) = 0; + virtual int openComposer(const QString &to, const QString &cc, + const QString &bcc, const QString &subject, + const QString &body, int hidden, + const KURL &messageFile, + const KURL::List &attachURLs) = 0; + virtual int openComposer (const QString &to, const QString &cc, + const QString &bcc, const QString &subject, + const QString &body, int hidden, + const QString &attachName, + const QCString &attachCte, + const QCString &attachData, + const QCString &attachType, + const QCString &attachSubType, + const QCString &attachParamAttr, + const QString &attachParamValue, + const QCString &attachContDisp) = 0; + virtual int openComposer (const QString &to, const QString &cc, + const QString &bcc, const QString &subject, + const QString &body, int hidden, + const QString &attachName, + const QCString &attachCte, + const QCString &attachData, + const QCString &attachType, + const QCString &attachSubType, + const QCString &attachParamAttr, + const QString &attachParamValue, + const QCString &attachContDisp, + const QCString &attachCharset) = 0; + /** Open composer and return reference to DCOP interface of composer window. + If hidden is true, the window will not be shown. If you use that option, + it's your responsibility to call the send() function of the composer in + order to actually send the mail. */ + virtual DCOPRef openComposer(const QString &to, const QString &cc, + const QString &bcc, const QString &subject, + const QString &body, bool hidden) = 0; + + /** + Send a certificate request to the CA specified in \a to. The + certificate is stored in the byte array \a certData. It needs + to stored according to BER and PKCS#10. + This method will set content type encoding, mime types, etc. as + per the MailTT specification. + */ + virtual int sendCertificate( const QString& to, + const QByteArray& certData ) = 0; + + + virtual void compactAllFolders() = 0; + + /** @param foldername the requested foldername in kmail (at the + zero level in the foldertree. + @param messagefile the name of the filename (local) with the + message to be added. + @param MsgStatusFlags a string coding the status of the message + with a char for each status e.g. a 'N' for new + this param is optional + @return =1, message added to folder, if folder doesn't exist, folder + has been created. + =0, an error occurred. + =-1, couldn't create folder and it didn't exist + =-2, couldn't read messageFile. + =-3, Can't allocate memory. + =-4, Message already exists in folder. + */ + virtual int dcopAddMessage(const QString & foldername, + const QString & messagefile, + const QString & MsgStatusFlags = QString()) = 0; + virtual int dcopAddMessage(const QString & foldername, + const KURL & messagefile, + const QString & MsgStatusFlags = QString()) = 0; + + virtual QStringList folderList() const =0; + virtual DCOPRef getFolder( const QString& vpath ) =0; + virtual void selectFolder( QString folder ) =0; + virtual bool canQueryClose() =0; + + /** + * Set the KMail Default transport. + * @param transport the name of the transport as defined in the sending + accounts configuration. + */ + virtual void setDefaultTransport( const QString & transport ) =0; + + virtual int timeOfLastMessageCountChange() const =0; + + /** + * Abort any running compaction/expiry, and don't launch any new ones + * until resumeBackgroundJobs() is called + */ + virtual void pauseBackgroundJobs() = 0; + + /** + * Resume compaction/expiry, and allow launching new ones + */ + virtual void resumeBackgroundJobs() = 0; + + /** + * Stop all network related jobs and enter offline mode + */ + virtual void stopNetworkJobs() = 0; + + /** + * Resume all network related jobs and enter online mode + */ + virtual void resumeNetworkJobs() = 0; + +k_dcop_signals: + void unreadCountChanged(); + + void unreadCountChanged( const QString& folderURL, int numUnread ); + +k_dcop_hidden: + /** DCOP call which is used by the Kontact plugin to create a new message. + * + * @TODO Rename to newMessageInternal() + * @TODO Merge this and the various openComposer methods for better code reuse + */ + virtual DCOPRef newMessage(const QString &to, + const QString &cc, + const QString& bcc, + bool hidden, + bool useFolderId, + const KURL &messageFile, + const KURL &attachURL) = 0; + + /** Shows the specified message in a separate message window. + @param serialNumber the serial number of the message to be shown. + @param messageId this parameter is ignored. + */ + /* @TODO Get rid of the messageId parameter. */ + virtual bool showMail( Q_UINT32 serialNumber, QString messageId ) = 0; + + /** + * DCOP-enabled for KMailUniqueAppHandler in the kontact plugin + * @param noArgsOpensReader true in the kmail process, meaning that launching "kmail" + * will open a reader window or bring to front an existing one. + * noArgsOpensReader is false when this is called from kontact, so that typing + * "kmail" doesn't open a window. + * Returns true if the command line was handled, false if it was empty and + * not handled (due to noArgsOpensReader==false). + */ + virtual bool handleCommandLine( bool noArgsOpensReader ) = 0; + virtual bool firstStart() = 0; + /** + * + * DCOP-enabled for use in kaddressbook drop + */ + virtual QString getFrom( Q_UINT32 serialNumber ) = 0; + virtual QString debugScheduler() = 0; + virtual QString debugSernum( Q_UINT32 serialNumber ) = 0; + + /** Does essentially the same as dcopAddMessage except that it doesn't reject + duplicate messages. + + @param foldername the requested foldername in kmail (at the + zero level in the foldertree. + @param messagefile: the name of the filename (local) with the + message to be added. + @param MsgStatusFlags a string coding the status of the message + with a char for each status e.g. a 'N' for new + this param is optional + @return =1, message added to folder, if folder doesn't exist, folder + has been created. + =0, an error occurred. + =-1, couldn't create folder and it didn't exist + =-2, couldn't read messageFile. + =-3, Can't allocate memory. + =-4, Message already exists in folder. + */ + virtual int dcopAddMessage_fastImport(const QString & foldername, + const QString & messagefile, + const QString & MsgStatusFlags = QString()) = 0; + virtual int dcopAddMessage_fastImport(const QString & foldername, + const KURL & messagefile, + const QString & MsgStatusFlags = QString()) = 0; + + /** Clears the list of added message ids which is used to filter out + duplicates. */ + virtual void dcopResetAddMessage() = 0; + + virtual void loadProfile( const QString& path ) = 0; + virtual void saveToProfile( const QString& path ) const = 0; +}; + +#endif |