kioslave/imap4
imapcommand.h
00001 #ifndef _IMAPCOMMAND_H
00002 #define _IMAPCOMMAND_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <QStringList>
00027 #include <QString>
00028 #include <QMap>
00029
00030 #include <boost/shared_ptr.hpp>
00031
00032 class imapCommand;
00033 typedef boost::shared_ptr<imapCommand> CommandPtr;
00034
00042 class imapCommand
00043 {
00044 public:
00045
00049 imapCommand ();
00057 imapCommand (const QString & command, const QString & parameter);
00063 bool isComplete ();
00069 const QString & result ();
00075 const QString & resultInfo ();
00081 const QString & parameter ();
00087 const QString & command ();
00093 const QString & id ();
00094
00101 void setId (const QString &);
00107 void setComplete ();
00114 void setResult (const QString &);
00121 void setResultInfo (const QString &);
00128 void setCommand (const QString &);
00135 void setParameter (const QString &);
00144 const QString getStr ();
00145
00151 static CommandPtr clientNoop ();
00161 static CommandPtr clientFetch (ulong uid, const QString & fields,
00162 bool nouid = false);
00173 static CommandPtr clientFetch (ulong fromUid, ulong toUid,
00174 const QString & fields, bool nouid =
00175 false);
00186 static CommandPtr clientFetch (const QString & sequence,
00187 const QString & fields, bool nouid =
00188 false);
00197 static CommandPtr clientList (const QString & reference,
00198 const QString & path, bool lsub = false);
00206 static CommandPtr clientSelect (const QString & path, bool examine =
00207 false);
00213 static CommandPtr clientClose();
00220 static CommandPtr clientStatus (const QString & path,
00221 const QString & parameters);
00229 static CommandPtr clientCopy (const QString & box,
00230 const QString & sequence, bool nouid =
00231 false);
00239 static CommandPtr clientAppend (const QString & box,
00240 const QString & flags, ulong size);
00246 static CommandPtr clientCreate (const QString & path);
00252 static CommandPtr clientDelete (const QString & path);
00258 static CommandPtr clientSubscribe (const QString & path);
00264 static CommandPtr clientUnsubscribe (const QString & path);
00269 static CommandPtr clientExpunge ();
00276 static CommandPtr clientRename (const QString & src,
00277 const QString & dest);
00284 static CommandPtr clientSearch (const QString & search, bool nouid =
00285 false);
00294 static CommandPtr clientStore (const QString & set, const QString & item,
00295 const QString & data, bool nouid = false);
00300 static CommandPtr clientLogout ();
00305 static CommandPtr clientStartTLS ();
00306
00308
00315 static CommandPtr clientSetACL ( const QString& box, const QString& user, const QString& acl );
00316
00323 static CommandPtr clientDeleteACL ( const QString& box, const QString& user );
00324
00330 static CommandPtr clientGetACL ( const QString& box );
00331
00338 static CommandPtr clientListRights ( const QString& box, const QString& user );
00339
00345 static CommandPtr clientMyRights ( const QString& box );
00346
00348
00355 static CommandPtr clientSetAnnotation ( const QString& box, const QString& entry, const QMap<QString, QString>& attributes );
00356
00364 static CommandPtr clientGetAnnotation ( const QString& box, const QString& entry, const QStringList& attributeNames );
00365
00370 static CommandPtr clientNamespace ();
00371
00377 static CommandPtr clientGetQuotaroot ( const QString& box );
00378
00385 static CommandPtr clientCustom ( const QString& command, const QString& arguments );
00386
00387 protected:
00388 QString aCommand;
00389 QString mId;
00390 bool mComplete;
00391 QString aParameter;
00392 QString mResult;
00393 QString mResultInfo;
00394
00395 private:
00396 imapCommand & operator = (const imapCommand &);
00397 };
00398
00399 #endif