20 #ifndef kmfolderindex_h
21 #define kmfolderindex_h
23 #include "folderstorage.h"
24 #include "kmmsglist.h"
44 friend class ::KMMsgBase;
61 virtual int count( bool cache = false) const;
63 virtual KMMsgBase* takeIndexEntry( int idx ) { return mMsgList. take( idx ); }
64 virtual KMMsgInfo* setIndexEntry( int idx, KMMessage *msg );
65 virtual void clearIndex( bool autoDelete= true, bool syncDict = false);
66 virtual void truncateIndex();
71 virtual int find( const KMMsgBase* msg) const { return mMsgList.find((KMMsgBase*)msg); }
77 uchar *indexStreamBasePtr() { return mIndexStreamPtr; }
79 bool indexSwapByteOrder() { return mIndexSwapByteOrder; }
80 int indexSizeOfLong() { return mIndexSizeOfLong; }
83 virtual int writeIndex( bool createEmptyIndex = false );
85 void recreateIndex( bool readIndexAfterwards = true );
86 void silentlyRecreateIndex();
111 bool updateIndexStreamPtr( bool just_close=FALSE);
127 uchar *mIndexStreamPtr;
128 int mIndexStreamPtrLength, mIndexId;
129 bool mIndexSwapByteOrder;
130 int mIndexSizeOfLong;
133 void updateInvitationAndAddressFieldsFromContents();
|