From ab8d331905b59a86b50cd513123cdde67e4bfb8a Mon Sep 17 00:00:00 2001 From: zecke Date: Fri, 15 Nov 2002 11:37:20 +0000 Subject: Add proposal header for Cross Referencing.. look at them and comment --- (limited to 'libopie/pim') 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: private: void deref(); inline void copyInternally(); + struct Data; Data* data; + class Private; Private *d; }; 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 @@ +#ifndef OPIM_XREF_H +#define OPIM_XREF_H + +#include +#include + +#include + +/** + * this is a Cross Referecne between + * two Cross Reference Partners + */ +class OPimXRef { +public: + typedef QValueList ValueList; + enum Partners { One, Two }; + OPimXRef( const OPimXRefPartner& ONE, const OPimXRefPartner& ); + OPimXRef(); + OPimXRef( const OPimXRef& ); + ~OPimXRef(); + + OPimXRef &operator=( const OPimXRef& ); + bool operator==( const OPimXRef ); + + OPimXRefPartner partner( enum Partners ); + + void setPartner( enum Partners, const OPimXRefPartner& ); + +private: + QArray m_partners; + + class Private; + Private *d; +}; + +#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 @@ +#ifndef OPIM_XREF_MANAGER_H +#define OPIM_XREF_MANAGER_H + +#include + +/** + * This is a simple manager for + * OPimXRefs. + * It allows addition, removing, replacing + * clearing and 'querying' the XRef... + */ +class OPimXRefManager { +public: + OPimXRefManager(); + OPimXRefManager( const OPimXRefManager& ); + ~OPimXRefManager(); + + OPimXRefManager& operator=( const OPimXRefManager& ); + bool operator==( const OPimXRefManager& ); + + void add( const OPimXRef& ); + void remove( const OPimXRef& ); + void replace( const OPimXRef& ); + + void clear(); + + /** + * apps participating + */ + QStringList apps()const; + OPimXRef::ValueList list()const; + OPimXRef::ValueList list( const QString& appName )const; + OPimXRef::ValueList list( int uid )const; +}; + +#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 @@ +#ifndef OPIM_XREF_PARTNER_H +#define OPIM_XREF_PARTNER_H + +#include + +/** + * This class represents one partner + * of a Cross Reference. + * In Opie one application + * can link one uid + * with one tableId( fieldId ) to another. + */ +class OPimXRefPartner { +public: + OPimXRefPartner( const QString& appName = QString::null, + int uid = 0, int field = -1 ); + OPimXRefPartner( const OPimXRefPartner& ); + OPimXRefPartner& operator=( const OPimXRefPartner& ); + ~OPimXRefPartner(); + + bool operator==(const OPimXRefPartner& ); + + QString appName()const; + int uid()const; + int field()const; + + void setAppName( const QString& appName ); + void setUid( int uid ); + void setField( int field ); +private: + QString m_app; + int m_uid; + int m_field; + + class Private; + Private* d; +}; + + +#endif -- cgit v0.9.0.2