From kde-commits Wed Jan 29 13:53:42 2003 From: Cornelius Schumacher Date: Wed, 29 Jan 2003 13:53:42 +0000 To: kde-commits Subject: kdepim/libkcal X-MARC-Message: https://marc.info/?l=kde-commits&m=104384844325972 CVS commit by cschumac: Replaced AddIncidenceVisitor classes by a common template class Incidence::AddVisitor. M +1 -15 calendar.cpp 1.37 M +18 -0 incidence.h 1.27 M +1 -16 resourcecalendar.cpp 1.8 --- kdepim/libkcal/calendar.cpp #1.36:1.37 @@ -32,18 +32,4 @@ using namespace KCal; -class AddIncidenceVisitor : public Incidence::Visitor -{ - public: - /** Add incidence to calendar \a calendar. */ - AddIncidenceVisitor( Calendar *calendar ) : mCalendar( calendar ) {} - - bool visit( Event *e ) { return mCalendar->addEvent( e ); } - bool visit( Todo *t ) { return mCalendar->addTodo( t ); } - bool visit( Journal *j ) { return mCalendar->addJournal( j ); } - - private: - Calendar *mCalendar; -}; - Calendar::Calendar() { @@ -309,5 +295,5 @@ QPtrList Calendar::events() bool Calendar::addIncidence(Incidence *i) { - AddIncidenceVisitor v(this); + Incidence::AddVisitor v(this); return i->accept(v); --- kdepim/libkcal/incidence.h #1.26:1.27 @@ -79,4 +79,22 @@ class Incidence : public IncidenceBase }; + /** + This class implements a visitor for adding an Incidence to a resource + supporting addEvent(), addTodo() and addJournal() calls. + */ + template + class AddVisitor : public Visitor + { + public: + AddVisitor( T *r ) : mResource( r ) {} + + bool visit( Event *e ) { return mResource->addEvent( e ); } + bool visit( Todo *t ) { return mResource->addTodo( t ); } + bool visit( Journal *j ) { return mResource->addJournal( j ); } + + private: + T *mResource; + }; + /** enumeration for describing an event's secrecy. */ enum { SecrecyPublic = 0, SecrecyPrivate = 1, SecrecyConfidential = 2 }; --- kdepim/libkcal/resourcecalendar.cpp #1.7:1.8 @@ -30,19 +30,4 @@ using namespace KCal; -class AddIncidenceVisitor : public Incidence::Visitor -{ - public: - /** Add incidence to calendar \a calendar. */ - AddIncidenceVisitor( ResourceCalendar *r ) : mResource( r ) {} - - bool visit( Event *e ) { return mResource->addEvent( e ); } - bool visit( Todo *t ) { return mResource->addTodo( t ); } - bool visit( Journal *j ) { return mResource->addJournal( j ); } - - private: - ResourceCalendar *mResource; -}; - - ResourceCalendar::ResourceCalendar( const KConfig *config ) : KRES::Resource( config ) @@ -63,5 +48,5 @@ void ResourceCalendar::writeConfig( KCon bool ResourceCalendar::addIncidence( Incidence *incidence ) { - AddIncidenceVisitor v( this ); + Incidence::AddVisitor v( this ); return incidence->accept( v ); }