summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend/odatebookaccessbackend.h
authorzecke <zecke>2004-11-18 21:49:23 (UTC)
committer zecke <zecke>2004-11-18 21:49:23 (UTC)
commit1e7f8f22fc10e3ed85b6563332ddc348c95792d0 (patch) (side-by-side diff)
tree59498ba1d4a7dbff05228c09bebcf0c849e916be /libopie2/opiepim/backend/odatebookaccessbackend.h
parent41fa1c196965f17f9748f835d90c307b7e594883 (diff)
downloadopie-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.h47
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
@@ -42,8 +42,6 @@ namespace Opie {
*/
class ODateBookAccessBackend : public OPimAccessBackend<OPimEvent> {
public:
- typedef int UID;
-
/**
* c'tor without parameter
*/
@@ -52,36 +50,29 @@ public:
/**
* 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*/
/**
@@ -89,27 +80,29 @@ public:
* 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;