Diffstat (limited to 'noncore/unsupported/libopie/pim/opimresolver.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/libopie/pim/opimresolver.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/noncore/unsupported/libopie/pim/opimresolver.h b/noncore/unsupported/libopie/pim/opimresolver.h new file mode 100644 index 0000000..1ce1619 --- a/dev/null +++ b/noncore/unsupported/libopie/pim/opimresolver.h | |||
@@ -0,0 +1,90 @@ | |||
1 | #ifndef OPIE_PIM_RESOLVER | ||
2 | #define OPIE_PIM_RESOLVER | ||
3 | |||
4 | #include <qstring.h> | ||
5 | #include <qvaluelist.h> | ||
6 | |||
7 | #include <opie/otemplatebase.h> | ||
8 | |||
9 | /** | ||
10 | * OPimResolver is a MetaClass to access | ||
11 | * available backends read only. | ||
12 | * It will be used to resolve uids + app names | ||
13 | * to full informations | ||
14 | * to traverse through a list of alarms, reminders | ||
15 | * to get access to built in PIM functionality | ||
16 | * and to more stuff | ||
17 | * THE PERFORMANCE will depend on THE BACKEND | ||
18 | * USING XML is a waste of memory!!!!! | ||
19 | */ | ||
20 | class OPimResolver { | ||
21 | public: | ||
22 | enum BuiltIn { TodoList = 0, | ||
23 | DateBook, | ||
24 | AddressBook | ||
25 | }; | ||
26 | static OPimResolver* self(); | ||
27 | |||
28 | |||
29 | /** | ||
30 | * return a record for a uid | ||
31 | * and an service | ||
32 | * You've THE OWNERSHIP NOW! | ||
33 | */ | ||
34 | OPimRecord *record( const QString& service, int uid ); | ||
35 | |||
36 | /** | ||
37 | * return the QCopChannel for service | ||
38 | * When we will use Qtopia Services it will be used here | ||
39 | */ | ||
40 | QCString qcopChannel( enum BuiltIn& )const; | ||
41 | QCString qcopChannel( const QString& service )const; | ||
42 | |||
43 | /** | ||
44 | * The Application channel (QPE/Application/name) | ||
45 | */ | ||
46 | QCString applicationChannel( enum BuiltIn& )const; | ||
47 | QCString applicationChannel( const QString& service )const; | ||
48 | |||
49 | /** | ||
50 | * return a list of available services | ||
51 | */ | ||
52 | QStringList services()const; | ||
53 | inline QString serviceName(int rrti )const; | ||
54 | int serviceId( const QString& Service); | ||
55 | /** | ||
56 | * add a record to a service... ;) | ||
57 | */ | ||
58 | bool add( const QString& service, const OPimRecord& ); | ||
59 | |||
60 | |||
61 | /** | ||
62 | * record returns an empty record for a given service. | ||
63 | * Be sure to delete it!!! | ||
64 | * | ||
65 | */ | ||
66 | OPimRecord* record( const QString& service ); | ||
67 | OPimRecord* record( int rtti ); | ||
68 | |||
69 | /** | ||
70 | * you can cast to your | ||
71 | */ | ||
72 | OPimBase* backend( const QString& service ); | ||
73 | OPimBase* backend( int rtti ); | ||
74 | private: | ||
75 | OPimResolver(); | ||
76 | void loadData(); | ||
77 | inline bool isBuiltIn( const QString& )const; | ||
78 | OPimRecord* recordExtern( const QString&, int ); | ||
79 | OPimRecord* recordExtern( const QString& ); | ||
80 | |||
81 | static OPimResolver* m_self; | ||
82 | struct Data; | ||
83 | class Private; | ||
84 | |||
85 | Data* data; | ||
86 | Private* d; | ||
87 | QStringList m_builtIns; | ||
88 | }; | ||
89 | |||
90 | #endif | ||