tdecore
tdesycocaentry.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __tdesycocaentry_h__
00020 #define __tdesycocaentry_h__
00021
00022 #include "tdesycocatype.h"
00023
00024 #include <tqstringlist.h>
00025 #include <ksharedptr.h>
00026 class TQDataStream;
00027
00037 class TDECORE_EXPORT KSycocaEntry : public TDEShared
00038 {
00039
00040 public:
00041 virtual bool isType(KSycocaType t) const { return (t == KST_KSycocaEntry); }
00042 virtual KSycocaType sycocaType() const { return KST_KSycocaEntry; }
00043
00044 public:
00045 typedef TDESharedPtr<KSycocaEntry> Ptr;
00046 typedef TQValueList<Ptr> List;
00047 public:
00051 KSycocaEntry(const TQString &path) : mOffset(0), m_bDeleted(false), mPath(path) { }
00052
00056 static void read( TQDataStream &s, TQString &str );
00057 static void read( TQDataStream &s, TQStringList &list );
00058
00063 KSycocaEntry( TQDataStream &_str, int offset ) :
00064 mOffset( offset ), m_bDeleted(false)
00065 {
00066 read(_str, mPath);
00067 }
00068
00072 virtual TQString name() const = 0;
00073
00079 TQString entryPath() const { return mPath; }
00080
00084 virtual bool isValid() const = 0;
00085
00089 virtual bool isDeleted() const { return m_bDeleted; }
00090
00095 int offset() { return mOffset; }
00096
00102 virtual void save(TQDataStream &s)
00103 {
00104 mOffset = s.device()->at();
00105 s << (TQ_INT32) sycocaType() << mPath;
00106 }
00107
00112 virtual void load(TQDataStream &) = 0;
00113
00114 private:
00115 int mOffset;
00116 protected:
00117 bool m_bDeleted;
00118 TQString mPath;
00119 protected:
00120 virtual void virtual_hook( int id, void* data );
00121 };
00122
00123 #endif