author | zecke <zecke> | 2004-11-18 21:49:23 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-11-18 21:49:23 (UTC) |
commit | 1e7f8f22fc10e3ed85b6563332ddc348c95792d0 (patch) (side-by-side diff) | |
tree | 59498ba1d4a7dbff05228c09bebcf0c849e916be /libopie2/opiepim/backend/odatebookaccessbackend.h | |
parent | 41fa1c196965f17f9748f835d90c307b7e594883 (diff) | |
download | opie-1e7f8f22fc10e3ed85b6563332ddc348c95792d0.zip opie-1e7f8f22fc10e3ed85b6563332ddc348c95792d0.tar.gz opie-1e7f8f22fc10e3ed85b6563332ddc348c95792d0.tar.bz2 |
Backend Changes:
Each Backend can:
-Sort and Filter a set of Records/AllRecords (which can be filtered again)
-QueryByExample by every Backend
-Occurrences for a period of time and a QDateTime
-More common implementation
-OPimBackendOccurrence with common splitting to OPimOccurrence
Diffstat (limited to 'libopie2/opiepim/backend/odatebookaccessbackend.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiepim/backend/odatebookaccessbackend.h | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend.h b/libopie2/opiepim/backend/odatebookaccessbackend.h index a9cce6a..8927ca1 100644 --- a/libopie2/opiepim/backend/odatebookaccessbackend.h +++ b/libopie2/opiepim/backend/odatebookaccessbackend.h @@ -29,93 +29,86 @@ #ifndef OPIE_DATE_BOOK_ACCESS_BACKEND_H #define OPIE_DATE_BOOK_ACCESS_BACKEND_H #include <qarray.h> #include <opie2/opimaccessbackend.h> #include <opie2/opimevent.h> namespace Opie { /** * This class is the interface to the storage of Events. * @see OPimAccessBackend * */ class ODateBookAccessBackend : public OPimAccessBackend<OPimEvent> { public: - typedef int UID; - /** * c'tor without parameter */ ODateBookAccessBackend(); ~ODateBookAccessBackend(); /** * This method should return a list of UIDs containing - * all events. No filter should be applied - * @return list of events - */ - virtual QArray<UID> rawEvents()const = 0; - - /** - * This method should return a list of UIDs containing * all repeating events. No filter should be applied * @return list of repeating events */ - virtual QArray<UID> rawRepeats()const = 0; + virtual UIDArray rawRepeats()const = 0; /** * This mthod should return a list of UIDs containing all non * repeating events. No filter should be applied * @return list of nonrepeating events */ - virtual QArray<UID> nonRepeats() const = 0; + virtual UIDArray nonRepeats() const = 0; /** * If you do not want to implement the effectiveEvents methods below * you need to supply it with directNonRepeats. * This method can return empty lists if effectiveEvents is implememted */ - virtual OPimEvent::ValueList directNonRepeats() = 0; + virtual OPimEvent::ValueList directNonRepeats()const = 0; /** * Same as above but return raw repeats! */ - virtual OPimEvent::ValueList directRawRepeats() = 0; + virtual OPimEvent::ValueList directRawRepeats()const = 0; /* is implemented by default but you can reimplement it*/ /** * Effective Events are special event occuring during a time frame. This method does calcualte * EffectiveEvents bases on the directNonRepeats and directRawRepeats. You may implement this method * yourself */ - virtual OEffectiveEvent::ValueList effectiveEvents( const QDate& from, const QDate& to ); + virtual OPimBackendOccurrence::List effectiveNonRepeatingEvents( const QDate& from, const QDate& to )const; /** * this is an overloaded member function - * @see effectiveEvents( const QDate& from, const QDate& to ) - */ - virtual OEffectiveEvent::ValueList effectiveEvents( const QDateTime& start ); - - /** - * Effective Events are special event occuring during a time frame. This method does calcualte - * EffectiveEvents bases on the directNonRepeats and directRawRepeats. You may implement this method - * yourself + * @see effectiveNonRepeatingEvents( const QDate& from, const QDate& to ) */ - virtual OEffectiveEvent::ValueList effectiveNonRepeatingEvents( const QDate& from, const QDate& to ); + virtual OPimBackendOccurrence::List effectiveNonRepeatingEvents( const QDateTime& start )const; /** - * this is an overloaded member function - * @see effectiveNonRepeatingEvents( const QDate& from, const QDate& to ) + * Common and probably inefficent implementation + * for queryByExample, sorted + * and occurrences */ - virtual OEffectiveEvent::ValueList effectiveNonRepeatingEvents( const QDateTime& start ); - +//@{ + UIDArray queryByExample( const OPimEvent&, int settings, const QDateTime& d = QDateTime() )const; + UIDArray sorted( const UIDArray&, bool asc, int, int, const QArray<int>& )const; + OPimBackendOccurrence::List occurrences( const QDate&, const QDate& end )const; + OPimBackendOccurrence::List occurrences( const QDateTime& )const; +//@} + +protected: + static OPimBackendOccurrence::List filterOccurrences(const OPimBackendOccurrence::List, + const QDateTime& time ); private: class Private; Private *d; }; } #endif |