kmail Library API Documentation

kmfoldermaildir.h

00001 #ifndef kmfoldermaildir_h 00002 #define kmfoldermaildir_h 00003 00004 #include "kmfolderindex.h" 00005 00006 00007 class KMFolderMaildir; 00008 namespace KMail { 00009 class FolderJob; 00010 class MaildirJob; 00011 class AttachmentStrategy; 00012 } 00013 using KMail::FolderJob; 00014 using KMail::MaildirJob; 00015 using KMail::AttachmentStrategy; 00016 00017 class KMFolderMaildir : public KMFolderIndex 00018 { 00019 Q_OBJECT 00020 friend class MaildirJob; 00021 public: 00025 KMFolderMaildir(KMFolderDir* parent=0, const QString& name=QString::null); 00026 virtual ~KMFolderMaildir(); 00027 00029 virtual KMFolderType folderType() const { return KMFolderTypeMaildir; } 00030 00032 virtual QCString& getMsgString(int idx, QCString& mDest); 00033 virtual DwString getDwString(int idx); 00034 00037 virtual KMMessage* take(int idx); 00038 00045 virtual int addMsg(KMMessage* msg, int* index_return = 0); 00046 00048 virtual void removeMsg(int i, bool imapQuiet = FALSE); 00049 00050 // Called by KMMsgBase::setStatus when status of a message has changed 00051 // required to keep the number unread messages variable current. 00052 virtual void msgStatusChanged( const KMMsgStatus oldStatus, 00053 const KMMsgStatus newStatus, 00054 int idx); 00055 00061 virtual int open(); 00062 00063 virtual int canAccess(); 00064 00066 virtual void sync(); 00067 00070 virtual void close(bool force=FALSE); 00071 00075 virtual int create(bool imap = FALSE); 00076 00079 virtual int compact(); 00080 00082 virtual bool isReadOnly() const { return false; } 00083 00084 virtual QCString protocol() const { return "maildir"; } 00085 00086 protected: 00087 virtual FolderJob* doCreateJob( KMMessage *msg, FolderJob::JobType jt, KMFolder *folder, 00088 QString partSpecifier, const AttachmentStrategy *as ) const; 00089 virtual FolderJob* doCreateJob( QPtrList<KMMessage>& msgList, const QString& sets, 00090 FolderJob::JobType jt, KMFolder *folder ) const; 00093 virtual KMMessage* readMsg(int idx); 00094 00098 virtual int removeContents(); 00099 00103 virtual int expungeContents(); 00104 00108 virtual int createIndexFromContents(); 00109 00110 private: 00111 void readFileHeaderIntern(const QString& dir, const QString& file, KMMsgStatus status); 00112 QString constructValidFileName(QString& file, KMMsgStatus status); 00113 QString moveInternal(const QString& oldLoc, const QString& newLoc, KMMsgInfo* mi); 00114 QString moveInternal(const QString& oldLoc, const QString& newLoc, QString& aFileName, KMMsgStatus status); 00115 bool removeFile(const QString& filename); 00116 00122 virtual IndexStatus indexStatus(); 00123 00124 QStrList mIdxToFileList; 00125 int mIdxCount; 00126 }; 00127 #endif /*kmfoldermaildir_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Jul 28 23:58:01 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003