You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
220 lines
9.3 KiB
220 lines
9.3 KiB
#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
|