From 134b7accd6bdc8fbc160a42f7c52c585e73f4add Mon Sep 17 00:00:00 2001 From: eilers Date: Wed, 28 Apr 2004 09:22:02 +0000 Subject: Some modifications to alow use of generic OPimRecords without need to cast them manually to the right type --- (limited to 'libopie2/opiepim/core/opimtemplatebase.h') diff --git a/libopie2/opiepim/core/opimtemplatebase.h b/libopie2/opiepim/core/opimtemplatebase.h index 58cbfeb..b48dfed 100644 --- a/libopie2/opiepim/core/opimtemplatebase.h +++ b/libopie2/opiepim/core/opimtemplatebase.h @@ -1,6 +1,6 @@ /* This file is part of the Opie Project - Copyright (C) The Main Author + Copyright (C) Holger Freyther =. Copyright (C) The Opie Team .=l. .>+-= @@ -49,10 +49,11 @@ struct OPimBase { /** * return the rtti */ - virtual int rtti()= 0; + virtual int rtti() const = 0; virtual OPimRecord* record()const = 0; virtual OPimRecord* record(int uid)const = 0; virtual bool add( const OPimRecord& ) = 0; + virtual bool add( const OPimRecord* ) = 0; virtual bool remove( int uid ) = 0; virtual bool remove( const OPimRecord& ) = 0; virtual void clear() = 0; @@ -90,8 +91,6 @@ 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(); @@ -100,14 +99,7 @@ private: OTemplateBasePrivate *d; }; -/* - * implementation - */ -template -int -OTemplateBase::rtti() { - return T::rtti(); -} + template OPimRecord* OTemplateBase::record()const { T* t = new T; -- cgit v0.9.0.2