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(KMFolder* folder, const char* name=0); 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 virtual void take(QPtrList<KMMessage> msgList) 00039 { return KMFolderIndex::take(msgList); } 00040 00047 virtual int addMsg(KMMessage* msg, int* index_return = 0); 00048 00050 virtual void removeMsg(int i, bool imapQuiet = FALSE); 00051 virtual void removeMsg(QPtrList<KMMessage> msgList, bool imapQuiet = FALSE) 00052 { return KMFolderIndex::removeMsg(msgList, imapQuiet); } 00053 00054 // Called by KMMsgBase::setStatus when status of a message has changed 00055 // required to keep the number unread messages variable current. 00056 virtual void msgStatusChanged( const KMMsgStatus oldStatus, 00057 const KMMsgStatus newStatus, 00058 int idx); 00059 00065 virtual int open(); 00066 00067 virtual int canAccess(); 00068 00070 virtual void sync(); 00071 00074 virtual void close(bool force=FALSE); 00075 00079 virtual int create(bool imap = FALSE); 00080 00083 int compact( unsigned int startIndex, int nbMessages, const QStringList& entryList, bool& done ); 00084 00087 virtual int compact( bool silent ); 00088 00090 virtual bool isReadOnly() const { return false; } 00091 00092 protected: 00093 virtual FolderJob* doCreateJob( KMMessage *msg, FolderJob::JobType jt, KMFolder *folder, 00094 QString partSpecifier, const AttachmentStrategy *as ) const; 00095 virtual FolderJob* doCreateJob( QPtrList<KMMessage>& msgList, const QString& sets, 00096 FolderJob::JobType jt, KMFolder *folder ) const; 00099 virtual KMMessage* readMsg(int idx); 00100 00104 virtual int removeContents(); 00105 00109 virtual int expungeContents(); 00110 00114 virtual int createIndexFromContents(); 00115 00116 private: 00117 void readFileHeaderIntern(const QString& dir, const QString& file, KMMsgStatus status); 00118 QString constructValidFileName(QString& file, KMMsgStatus status); 00119 QString moveInternal(const QString& oldLoc, const QString& newLoc, KMMsgInfo* mi); 00120 QString moveInternal(const QString& oldLoc, const QString& newLoc, QString& aFileName, KMMsgStatus status); 00121 bool removeFile(const QString& filename); 00122 00128 virtual IndexStatus indexStatus(); 00129 00130 QStrList mIdxToFileList; 00131 int mIdxCount; 00132 }; 00133 #endif /*kmfoldermaildir_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 27 12:52:34 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003