summaryrefslogtreecommitdiff
path: root/libopie/pim
Unidiff
Diffstat (limited to 'libopie/pim') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/opimstate.h2
-rw-r--r--libopie/pim/opimxref.h36
-rw-r--r--libopie/pim/opimxrefmanager.h36
-rw-r--r--libopie/pim/opimxrefpartner.h40
4 files changed, 114 insertions, 0 deletions
diff --git a/libopie/pim/opimstate.h b/libopie/pim/opimstate.h
index 731181e..cf6af46 100644
--- a/libopie/pim/opimstate.h
+++ b/libopie/pim/opimstate.h
@@ -34,8 +34,10 @@ public:
34private: 34private:
35 void deref(); 35 void deref();
36 inline void copyInternally(); 36 inline void copyInternally();
37
37 struct Data; 38 struct Data;
38 Data* data; 39 Data* data;
40
39 class Private; 41 class Private;
40 Private *d; 42 Private *d;
41}; 43};
diff --git a/libopie/pim/opimxref.h b/libopie/pim/opimxref.h
new file mode 100644
index 0000000..72154ac
--- a/dev/null
+++ b/libopie/pim/opimxref.h
@@ -0,0 +1,36 @@
1#ifndef OPIM_XREF_H
2#define OPIM_XREF_H
3
4#include <qarray.h>
5#include <qvaluelist.h>
6
7#include <opie/opimxrefpartner.h>
8
9/**
10 * this is a Cross Referecne between
11 * two Cross Reference Partners
12 */
13class OPimXRef {
14public:
15 typedef QValueList<OPimXRef> ValueList;
16 enum Partners { One, Two };
17 OPimXRef( const OPimXRefPartner& ONE, const OPimXRefPartner& );
18 OPimXRef();
19 OPimXRef( const OPimXRef& );
20 ~OPimXRef();
21
22 OPimXRef &operator=( const OPimXRef& );
23 bool operator==( const OPimXRef );
24
25 OPimXRefPartner partner( enum Partners );
26
27 void setPartner( enum Partners, const OPimXRefPartner& );
28
29private:
30 QArray<OPimXRefPartner> m_partners;
31
32 class Private;
33 Private *d;
34};
35
36#endif
diff --git a/libopie/pim/opimxrefmanager.h b/libopie/pim/opimxrefmanager.h
new file mode 100644
index 0000000..147895d
--- a/dev/null
+++ b/libopie/pim/opimxrefmanager.h
@@ -0,0 +1,36 @@
1#ifndef OPIM_XREF_MANAGER_H
2#define OPIM_XREF_MANAGER_H
3
4#include <opie/opimxref.h>
5
6/**
7 * This is a simple manager for
8 * OPimXRefs.
9 * It allows addition, removing, replacing
10 * clearing and 'querying' the XRef...
11 */
12class OPimXRefManager {
13public:
14 OPimXRefManager();
15 OPimXRefManager( const OPimXRefManager& );
16 ~OPimXRefManager();
17
18 OPimXRefManager& operator=( const OPimXRefManager& );
19 bool operator==( const OPimXRefManager& );
20
21 void add( const OPimXRef& );
22 void remove( const OPimXRef& );
23 void replace( const OPimXRef& );
24
25 void clear();
26
27 /**
28 * apps participating
29 */
30 QStringList apps()const;
31 OPimXRef::ValueList list()const;
32 OPimXRef::ValueList list( const QString& appName )const;
33 OPimXRef::ValueList list( int uid )const;
34};
35
36#endif
diff --git a/libopie/pim/opimxrefpartner.h b/libopie/pim/opimxrefpartner.h
new file mode 100644
index 0000000..808b9ab
--- a/dev/null
+++ b/libopie/pim/opimxrefpartner.h
@@ -0,0 +1,40 @@
1#ifndef OPIM_XREF_PARTNER_H
2#define OPIM_XREF_PARTNER_H
3
4#include <qstring.h>
5
6/**
7 * This class represents one partner
8 * of a Cross Reference.
9 * In Opie one application
10 * can link one uid
11 * with one tableId( fieldId ) to another.
12 */
13class OPimXRefPartner {
14public:
15 OPimXRefPartner( const QString& appName = QString::null,
16 int uid = 0, int field = -1 );
17 OPimXRefPartner( const OPimXRefPartner& );
18 OPimXRefPartner& operator=( const OPimXRefPartner& );
19 ~OPimXRefPartner();
20
21 bool operator==(const OPimXRefPartner& );
22
23 QString appName()const;
24 int uid()const;
25 int field()const;
26
27 void setAppName( const QString& appName );
28 void setUid( int uid );
29 void setField( int field );
30private:
31 QString m_app;
32 int m_uid;
33 int m_field;
34
35 class Private;
36 Private* d;
37};
38
39
40#endif