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, KMFolderDir *dir=0);
00040 
00043   virtual KMFolder* findOrCreate(const QString& folderName, bool sysFldr=TRUE);
00044 
00045   virtual void        getFolderURLS( QStringList& flist,
00046                                      const QString& prefix=QString::null,
00047                                      KMFolderDir *adir=0 );
00048   virtual KMFolder*   getFolderByURL( const QString& vpath,
00049                                       const QString& prefix=QString::null,
00050                                       KMFolderDir *adir=0 );
00051 
00054   virtual KMFolder* createFolder(const QString& fName, bool sysFldr=FALSE,
00055                  KMFolderType aFolderType=KMFolderTypeMbox,
00056                  KMFolderDir *aFolderDir = 0);
00057 
00059   virtual void remove(KMFolder* obsoleteFolder);
00060 
00062   virtual void contentsChanged(void);
00063 
00065   virtual void reload(void);
00066 
00069   virtual void createFolderList( QStringList *str,
00070                  QValueList<QGuardedPtr<KMFolder> > *folders );
00071 
00074   virtual void createFolderList( QStringList *str,
00075                  QValueList<QGuardedPtr<KMFolder> > *folders,
00076                  KMFolderDir *adir,
00077                  const QString& prefix,
00078                  bool i18nized=FALSE );
00079 
00082   virtual void createI18nFolderList( QStringList *str,
00083                  QValueList<QGuardedPtr<KMFolder> > *folders );
00084 
00086   virtual void syncAllFolders( KMFolderDir *adir = 0 );
00087 
00089   virtual void expireAllFolders( KMFolderDir *adir = 0 );
00090 
00093   void readMsgDict(KMMsgDict *dict, KMFolderDir *dir=0, int pass = 1);
00094 
00096   void writeMsgDict(KMMsgDict *dict, KMFolderDir *dir=0);
00097 
00099   void quiet(bool);
00100 
00102   int folderCount(KMFolderDir *dir=0);
00103 
00107   void invalidateFolder(KMMsgDict *dict, KMFolder *folder);
00108 
00109 public slots:
00111   void compactAll();
00112   void expireAll();
00113 
00114 signals:
00119   void changed();
00120 
00122   void folderRemoved(KMFolder*);
00123 
00125   void folderAdded(KMFolder*);
00126 
00128   void folderInvalidated(KMFolder*);
00129 
00131   void msgAdded(KMFolder*, Q_UINT32);
00132 
00134   void msgRemoved(KMFolder*, Q_UINT32);
00135 
00137   void msgChanged(KMFolder*, Q_UINT32, int delta);
00138 
00140   void msgHeaderChanged(KMFolder*, int idx);
00141 
00143   void progress();
00144 
00145 protected:
00146 
00148   void compactAllAux(KMFolderDir* dir);
00149 
00151   void removeFolderAux(KMFolder* aFolder);
00152 
00154   void removeDirAux(KMFolderDir* aFolderDir);
00155 
00156   QString mBasePath;
00157   KMFolderRootDir mDir;
00158   int mQuiet;
00159   bool mChanged;
00160 };
00161 
00162 #endif /*kmfoldermgr_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 Sat May 1 11:37:27 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003