kmail Library API Documentation

kmmsgdict.h

00001 /* kmail message dictionary
00002  * keeps location information for every message
00003  * the message serial number is the key for the dictionary
00004  */
00005 
00006 #ifndef __KMMSGDICT
00007 #define __KMMSGDICT
00008 
00009 class KMFolder;
00010 class KMMsgBase;
00011 class KMMessage;
00012 class KMMsgDictEntry;
00013 class KMMsgDictREntry;
00014 class KMDict;
00015 class QString;
00016 
00017 class KMMsgDict
00018 {
00019 public:
00020   KMMsgDict();
00021   ~KMMsgDict();
00022 
00026   unsigned long insert(unsigned long msgSerNum, const KMMsgBase *msg, int index = -1);
00027   unsigned long insert(unsigned long msgSerNum, const KMMessage *msg, int index = -1);
00028 
00032   unsigned long insert(const KMMsgBase *msg, int index = -1);
00033 
00035   void remove(unsigned long msgSerNum);
00036 
00038   unsigned long remove(const KMMsgBase *msg);
00039 
00041   void update(const KMMsgBase *msg, int index, int newIndex);
00042 
00044   void getLocation(unsigned long key, KMFolder **retFolder, int *retIndex);
00045   void getLocation(const KMMsgBase *msg, KMFolder **retFolder, int *retIndex);
00046   void getLocation(const KMMessage *msg, KMFolder **retFolder, int *retIndex);
00047 
00050   unsigned long getMsgSerNum(KMFolder *folder, int index);
00051 
00053   static QString getFolderIdsLocation(const KMFolder *folder);
00054 
00056   bool isFolderIdsOutdated(const KMFolder *folder);
00057 
00059   int readFolderIds(KMFolder *folder);
00060 
00062   int writeFolderIds(KMFolder *folder);
00063 
00065   int touchFolderIds(KMFolder *folder);
00066 
00069   int appendtoFolderIds(KMFolder *folder, int index);
00070 
00072   bool hasFolderIds(const KMFolder *folder);
00073 
00075   bool removeFolderIds(KMFolder *folder);
00076 
00077   // delete an entry that has been assigned to a folder
00078   static void deleteRentry(KMMsgDictREntry *entry);
00079 
00080 protected:
00082   unsigned long getNextMsgSerNum();
00083 
00086   KMMsgDictREntry *openFolderIds(KMFolder *folder, bool truncate);
00087 
00089   KMDict *dict;
00090 
00092   unsigned long nextMsgSerNum;
00093 };
00094 
00095 #endif /* __KMMSGDICT */
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:33 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003