summaryrefslogtreecommitdiff
path: root/libopie/pim/opimresolver.h
Side-by-side diff
Diffstat (limited to 'libopie/pim/opimresolver.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/opimresolver.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/libopie/pim/opimresolver.h b/libopie/pim/opimresolver.h
new file mode 100644
index 0000000..86ae3eb
--- a/dev/null
+++ b/libopie/pim/opimresolver.h
@@ -0,0 +1,56 @@
+#ifndef OPIE_PIM_RESOLVER
+#define OPIE_PIM_RESOLVER
+
+#include <qstring.h>
+#include <qvaluelist.h>
+
+/**
+ * OPimResolver is a MetaClass to access
+ * available backends read only.
+ * It will be used to resolve uids + app names
+ * to full informations
+ * to traverse through a list of alarms, reminders
+ * to get access to built in PIM functionality
+ * and to more stuff
+ * THE PERFORMANCE will depend on THE BACKEND
+ * USING XML is a waste of memory!!!!!
+ */
+class OPimResolver : public QObject {
+public:
+ enum BuiltIn { TodoList = 0,
+ DateBook,
+ AddressBook
+ };
+ static OPimResolver* self();
+
+
+ /*
+ * return a record for a uid
+ * and an app
+ */
+ OPimRecord &record( const QString& service, int uid );
+
+ /**
+ * return the QCopChannel for service
+ * When we will use Qtopia Services it will be used here
+ */
+ QString qcopChannel( enum BuiltIn& )const;
+ QString qcopChannel( const QString& service );
+
+ /**
+ * return a list of available services
+ */
+ QStringList services()const;
+
+ /**
+ * add a record to a service... ;)
+ */
+ bool add( const QString& service, const OPimRecord& );
+
+private:
+ OPimResolver();
+ OPimRecord *m_last;
+
+}:
+
+#endif