--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfrelationmgr_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2010 Sasken Communication Technologies Ltd.
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html"
+ *
+ * Initial Contributors:
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Manasij Roy, Nalina Hariharan
+ *
+ * Description:
+ * Private Implementation of Relation Manager
+ *
+ */
+
+#ifndef SMFRELATIONMGR_P_H
+#define SMFRELATIONMGR_P_H
+
+#include <QStringList>
+#include <smfprovider.h>
+#include <smfclientglobal.h>
+#include <smfglobal.h>
+#include <smfobserver.h>
+
+class SmfRelationMgr;
+class SmfProvider;
+#ifdef Q_OS_SYMBIAN
+ class CSmfClientSymbian;
+#else
+ class SmfClientQt;
+#endif
+
+class SmfRelationMgrPrivate
+ {
+public:
+ SmfRelationMgrPrivate(SmfRelationMgr* relnMngr);
+ ~SmfRelationMgrPrivate();
+
+public:
+ /** create a relation with first contact (id optional) */
+ SmfRelationId create(SmfProvider *provider=NULL, SmfContact *contact=NULL);
+
+ /** assign contact to a relation */
+ SmfError associate( SmfRelationId& relation,
+ const SmfContact* contact,
+ SmfProvider* provider);
+
+ /** remove contact from a relation */
+ SmfError remove(SmfRelationId& relation,
+ const SmfContact* contact);
+
+ /** returns first relation item in the relation when exists, NULL otherwise */
+ SmfRelationItem* searchById(const SmfRelationId& relation);
+
+ /** returns relation Id for a given contacts if exists, NULL otherwise */
+ SmfRelationId searchByContact( SmfContact contact);
+
+ /** returns number of contacts in a relation*/
+ uint count(SmfRelationId relation);
+
+ /** contacts and their provider */
+ SmfRelationItem* get(SmfRelationId& relation, quint32 index);
+
+ /** list of contacts and their provider */
+ QList<SmfRelationItem> getAll(SmfRelationId& relation);
+
+ /** list of all relations */
+ QList<SmfRelationId> getAllRelations();
+
+ /** delete a particular relation*/
+ SmfError Delete(SmfRelationId& relation);
+
+private:
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ QByteArray m_dataForDSM;
+ quint8 m_argFlag;
+ QByteArray m_dataFromDSM;
+ };
+
+#endif // SMFRELATIONMGR_P_H