-rw-r--r-- | libopie/pim/otemplatebase.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libopie/pim/otemplatebase.h b/libopie/pim/otemplatebase.h index 29fb6ec..cadac74 100644 --- a/libopie/pim/otemplatebase.h +++ b/libopie/pim/otemplatebase.h @@ -9,16 +9,17 @@ /** * Templates do not have a base class, This is why * we've this class * this is here to give us the possibility * to have a common base class * You may not want to use that interface internaly * POOR mans interface */ +class OPimBasePrivate; struct OPimBase { /** * return the rtti */ virtual int rtti()= 0; virtual OPimRecord* record()const = 0; virtual OPimRecord* record(int uid)const = 0; virtual bool add( const OPimRecord& ) = 0; @@ -27,22 +28,25 @@ struct OPimBase { virtual void clear() = 0; virtual bool load() = 0; virtual bool save() = 0; virtual QArray<int> records()const = 0; /* * ADD editing here? * -zecke */ +private: + OPimBasePrivate* d; }; /** * internal template base * T needs to implement the copy c'tor!!! */ +class OTemplateBasePrivate; template <class T = OPimRecord> class OTemplateBase : public OPimBase { public: enum CacheDirection { Forward=0, Reverse }; OTemplateBase() { }; virtual ~OTemplateBase() { } @@ -56,16 +60,19 @@ public: virtual void cache( const T& )const = 0; virtual void setSaneCacheSize( int ) = 0; /* reimplement of OPimBase */ int rtti(); OPimRecord* record()const; OPimRecord* record(int uid )const; static T* rec(); + +private: + OTemplateBasePrivate *d; }; /* * implementation */ template <class T> int OTemplateBase<T>::rtti() { |