summaryrefslogtreecommitdiff
path: root/noncore/unsupported/libopie/pim/otodoaccesssql.h
authormickeyl <mickeyl>2004-11-16 19:14:18 (UTC)
committer mickeyl <mickeyl>2004-11-16 19:14:18 (UTC)
commitea3945a9bd8f9830f70b1efa133f9df13b19362f (patch) (side-by-side diff)
treef2ea22cc50e9aa8aa73ee7dea148f41c563c9666 /noncore/unsupported/libopie/pim/otodoaccesssql.h
parent1c6f490e8541626f68422e0a3a7c7281d7f5b7d3 (diff)
downloadopie-ea3945a9bd8f9830f70b1efa133f9df13b19362f.zip
opie-ea3945a9bd8f9830f70b1efa133f9df13b19362f.tar.gz
opie-ea3945a9bd8f9830f70b1efa133f9df13b19362f.tar.bz2
libopie1 goes into unsupported
Diffstat (limited to 'noncore/unsupported/libopie/pim/otodoaccesssql.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/libopie/pim/otodoaccesssql.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/noncore/unsupported/libopie/pim/otodoaccesssql.h b/noncore/unsupported/libopie/pim/otodoaccesssql.h
new file mode 100644
index 0000000..72214de
--- a/dev/null
+++ b/noncore/unsupported/libopie/pim/otodoaccesssql.h
@@ -0,0 +1,61 @@
+#ifndef OPIE_PIM_ACCESS_SQL_H
+#define OPIE_PIM_ACCESS_SQL_H
+
+#include <qasciidict.h>
+
+#include "otodoaccessbackend.h"
+
+namespace Opie{
+namespace DB {
+class OSQLDriver;
+class OSQLResult;
+class OSQLResultItem;
+}
+}
+
+class OTodoAccessBackendSQL : public OTodoAccessBackend {
+public:
+ OTodoAccessBackendSQL( const QString& file );
+ ~OTodoAccessBackendSQL();
+
+ bool load();
+ bool reload();
+ bool save();
+ QArray<int> allRecords()const;
+
+ QArray<int> queryByExample( const OTodo& t, int settings, const QDateTime& d = QDateTime() );
+ OTodo find(int uid)const;
+ OTodo find(int uid, const QArray<int>&, uint cur, Frontend::CacheDirection )const;
+ void clear();
+ bool add( const OTodo& t );
+ bool remove( int uid );
+ bool replace( const OTodo& t );
+
+ QArray<int> overDue();
+ QArray<int> effectiveToDos( const QDate& start,
+ const QDate& end, bool includeNoDates );
+ QArray<int> sorted(bool asc, int sortOrder, int sortFilter, int cat );
+
+ QBitArray supports()const;
+ QArray<int> matchRegexp( const QRegExp &r ) const;
+ void removeAllCompleted();
+
+
+private:
+ void update()const;
+ void fillDict();
+ inline bool date( QDate& date, const QString& )const;
+ inline OTodo todo( const Opie::DB::OSQLResult& )const;
+ inline OTodo todo( Opie::DB::OSQLResultItem& )const;
+ inline QArray<int> uids( const Opie::DB::OSQLResult& )const;
+ OTodo todo( int uid )const;
+ QBitArray sup() const;
+
+ QAsciiDict<int> m_dict;
+ Opie::DB::OSQLDriver* m_driver;
+ QArray<int> m_uids;
+ bool m_dirty : 1;
+};
+
+
+#endif