From 911473db35a9fce5f3589f03c27210456faaba86 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Tue, 24 Feb 2004 12:46:23 +0000 Subject: *phew* here is the class and file rename patch. not converted yet: backend, but that will be not visible to application classes so we can change it later. --- (limited to 'libopie2/opiepim/core/otemplatebase.h') diff --git a/libopie2/opiepim/core/otemplatebase.h b/libopie2/opiepim/core/otemplatebase.h deleted file mode 100644 index 58cbfeb..0000000 --- a/libopie2/opiepim/core/otemplatebase.h +++ b/dev/null @@ -1,130 +0,0 @@ -/* - This file is part of the Opie Project - Copyright (C) The Main Author - =. Copyright (C) The Opie Team - .=l. - .>+-= - _;:, .> :=|. This program is free software; you can -.> <`_, > . <= redistribute it and/or modify it under -:`=1 )Y*s>-.-- : the terms of the GNU Library General Public -.="- .-=="i, .._ License as published by the Free Software - - . .-<_> .<> Foundation; either version 2 of the License, - ._= =} : or (at your option) any later version. - .%`+i> _;_. - .i_,=:_. -`: PARTICULAR PURPOSE. See the GNU -..}^=.= = ; Library General Public License for more -++= -. .` .: details. - : = ...= . :.=- - -. .:....=;==+<; You should have received a copy of the GNU - -_. . . )=. = Library General Public License along with - -- :-=` this library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ -#ifndef OTEMPLATEBASE_H -#define OTEMPLATEBASE_H - -/* OPIE */ -#include - -/* QT */ -#include - -namespace Opie { -/** - * 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; - virtual bool remove( int uid ) = 0; - virtual bool remove( const OPimRecord& ) = 0; - virtual void clear() = 0; - virtual bool load() = 0; - virtual bool save() = 0; - virtual QArray 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 OTemplateBase : public OPimBase { -public: - enum CacheDirection { Forward=0, Reverse }; - OTemplateBase() { - }; - virtual ~OTemplateBase() { - } - virtual T find( int uid )const = 0; - - /** - * read ahead find - */ - virtual T find( int uid, const QArray& items, - uint current, CacheDirection dir = Forward )const = 0; - 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 -int -OTemplateBase::rtti() { - return T::rtti(); -} -template -OPimRecord* OTemplateBase::record()const { - T* t = new T; - return t; -} -template -OPimRecord* OTemplateBase::record(int uid )const { - T t2 = find(uid ); - T* t1 = new T(t2); - - return t1; -}; -template -T* OTemplateBase::rec() { - return new T; -} - -} - -#endif -- cgit v0.9.0.2