kmail Library API Documentation

kmfoldermgr.h

00001 /* KMail Folder Manager 00002 * 00003 */ 00004 #ifndef kmfoldermgr_h 00005 #define kmfoldermgr_h 00006 00007 #include <qstring.h> 00008 #include <qvaluelist.h> 00009 #include <qobject.h> 00010 #include <qguardedptr.h> 00011 00012 #include "kmfolderdir.h" 00013 00014 class KMFolder; 00015 class KMMsgDict; 00016 00017 class KMFolderMgr: public QObject 00018 { 00019 Q_OBJECT 00020 00021 public: 00022 KMFolderMgr(const QString& basePath, KMFolderDirType dirType = KMStandardDir); 00023 virtual ~KMFolderMgr(); 00024 00026 QString basePath() const { return mBasePath; } 00027 00029 virtual void setBasePath(const QString&); 00030 00032 KMFolderRootDir& dir(); 00033 00036 virtual KMFolder* find(const QString& folderName, bool foldersOnly=TRUE); 00037 00039 virtual KMFolder* findIdString(const QString& folderId, 00040 const uint id = 0, KMFolderDir *dir = 0); 00041 00046 virtual KMFolder* findOrCreate(const QString& folderName, bool sysFldr=TRUE, 00047 const uint id = 0); 00048 00051 virtual KMFolder* findById(const uint id); 00052 00053 virtual void getFolderURLS( QStringList& flist, 00054 const QString& prefix=QString::null, 00055 KMFolderDir *adir=0 ); 00056 virtual KMFolder* getFolderByURL( const QString& vpath, 00057 const QString& prefix=QString::null, 00058 KMFolderDir *adir=0 ); 00059 00062 virtual KMFolder* createFolder(const QString& fName, bool sysFldr=FALSE, 00063 KMFolderType aFolderType=KMFolderTypeMbox, 00064 KMFolderDir *aFolderDir = 0); 00065 00067 virtual void remove(KMFolder* obsoleteFolder); 00068 00070 virtual void contentsChanged(void); 00071 00073 virtual void reload(void); 00074 00077 virtual void createFolderList( QStringList *str, 00078 QValueList<QGuardedPtr<KMFolder> > *folders ); 00079 00082 virtual void createFolderList( QStringList *str, 00083 QValueList<QGuardedPtr<KMFolder> > *folders, 00084 KMFolderDir *adir, 00085 const QString& prefix, 00086 bool i18nized=FALSE ); 00087 00090 virtual void createI18nFolderList( QStringList *str, 00091 QValueList<QGuardedPtr<KMFolder> > *folders ); 00092 00094 void syncAllFolders( KMFolderDir *adir = 0 ); 00095 00097 void compactAllFolders( bool immediate, KMFolderDir *adir = 0 ); 00098 00100 void expireAllFolders( bool immediate, KMFolderDir *adir = 0 ); 00101 00104 void readMsgDict(KMMsgDict *dict, KMFolderDir *dir=0, int pass = 1); 00105 00107 void writeMsgDict(KMMsgDict *dict, KMFolderDir *dir=0); 00108 00110 void quiet(bool); 00111 00113 int folderCount(KMFolderDir *dir=0); 00114 00118 void invalidateFolder(KMMsgDict *dict, KMFolder *folder); 00119 00122 void tryReleasingFolder(KMFolder* folder, KMFolderDir *Dir=0); 00123 00125 uint createId(); 00126 00127 public slots: 00129 void compactAll() { compactAllFolders( true ); } 00130 00132 void expireAll(); 00133 00135 void removeFolderAux(KMFolder* obsoleteFolder, bool success); 00136 00137 signals: 00142 void changed(); 00143 00145 void folderRemoved(KMFolder*); 00146 00148 void folderAdded(KMFolder*); 00149 00151 void folderInvalidated(KMFolder*); 00152 00154 void msgAdded(KMFolder*, Q_UINT32); 00155 00157 void msgRemoved(KMFolder*, Q_UINT32); 00158 00160 void msgChanged(KMFolder*, Q_UINT32, int delta); 00161 00163 void msgHeaderChanged(KMFolder*, int idx); 00164 00165 protected: 00166 00168 void removeFolder(KMFolder* aFolder); 00169 00171 void removeDirAux(KMFolderDir* aFolderDir); 00172 00173 QString mBasePath; 00174 KMFolderRootDir mDir; 00175 int mQuiet; 00176 bool mChanged; 00177 KMFolder* mRemoveOrig; 00178 }; 00179 00180 #endif /*kmfoldermgr_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 Oct 1 15:19:21 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003