00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef OPIE_DATE_BOOK_ACCESS_BACKEND_H
00030 #define OPIE_DATE_BOOK_ACCESS_BACKEND_H
00031
00032 #include <qarray.h>
00033
00034 #include <opie2/opimaccessbackend.h>
00035 #include <opie2/opimevent.h>
00036
00037 namespace Opie {
00043 class ODateBookAccessBackend : public OPimAccessBackend<OPimEvent> {
00044 public:
00048 ODateBookAccessBackend();
00049 ~ODateBookAccessBackend();
00050
00056 virtual UIDArray rawRepeats()const = 0;
00057
00063 virtual UIDArray nonRepeats() const = 0;
00064
00070 virtual OPimEvent::ValueList directNonRepeats()const = 0;
00071
00075 virtual OPimEvent::ValueList directRawRepeats()const = 0;
00076
00077
00083 virtual OPimBackendOccurrence::List effectiveNonRepeatingEvents( const QDate& from, const QDate& to )const;
00084
00089 virtual OPimBackendOccurrence::List effectiveNonRepeatingEvents( const QDateTime& start )const;
00090
00102 const uint querySettings() const;
00103
00108 bool hasQuerySettings (uint querySettings) const;
00109
00110 UIDArray queryByExample( const UIDArray& uidlist, const OPimEvent&, int settings, const QDateTime& d = QDateTime() )const;
00111 UIDArray sorted( const UIDArray&, bool asc, int, int, const QArray<int>& )const;
00112 OPimBackendOccurrence::List occurrences( const QDate&, const QDate& end )const;
00113 OPimBackendOccurrence::List occurrences( const QDateTime& )const;
00115
00116 protected:
00117 static OPimBackendOccurrence::List filterOccurrences(const OPimBackendOccurrence::List,
00118 const QDateTime& time );
00119 private:
00120 class Private;
00121 Private *d;
00122
00123 };
00124
00125 }
00126
00127 #endif