kmmsgdict.h
00001
00002
00003
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
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
This file is part of the documentation for kmail Library Version 3.2.2.