--- a/smf/bld.inf Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-// ============================================================================
-// * Makefile for building: smf
-// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-05-05T13:57:42
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project: smf.pro
-// * Template: subdirs
-// ============================================================================
-
-#define BLD_INF_SMF_FCFA3DF2
-
-#ifndef BLD_INF_SMFCREDENTIALMGR_F265B6F1
- #include "smfcredentialmgr\bld.inf"
-#endif // BLD_INF_SMFCREDENTIALMGR_F265B6F1
-#ifndef BLD_INF_SMFSERVERMODULE_0FBFD7DA
- #include "smfservermodule\bld.inf"
-#endif // BLD_INF_SMFSERVERMODULE_0FBFD7DA
-#ifndef BLD_INF_SMFSETTINGSUI_0870E284
- #include "smfsettingsui\bld.inf"
-#endif // BLD_INF_SMFSETTINGSUI_0870E284
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-
-prj_extensions
-
--- a/smf/smf.pro Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smf.pro Thu Aug 05 16:48:48 2010 +0530
@@ -1,7 +1,5 @@
TEMPLATE = subdirs
-
SUBDIRS = smfcredentialmgr \
smfsettingsui \
smfservermodule
-
CONFIG += ordered
--- a/smf/smfcredentialmgr/smfcredmgrclient/bwins/smfcredmgrclientu.def Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrclient/bwins/smfcredmgrclientu.def Thu Aug 05 16:48:48 2010 +0530
@@ -1,14 +1,14 @@
EXPORTS
- ?DeleteRSAKey@SmfCredMgrClient@@QAEXVQString@@@Z @ 1 NONAME ; void SmfCredMgrClient::DeleteRSAKey(class QString)
- ?URLList@SmfCredMgrClient@@QBE?AV?$QList@VQUrl@@@@VQString@@@Z @ 2 NONAME ; class QList<class QUrl> SmfCredMgrClient::URLList(class QString) const
- ?GenerateNONCE@SmfCredMgrClient@@QAE?AVQString@@_J@Z @ 3 NONAME ; class QString SmfCredMgrClient::GenerateNONCE(long long)
- ?AuthDataSet@SmfCredMgrClient@@QBE_NVQString@@VQDateTime@@AAV?$QMap@VQByteArray@@V1@@@@Z @ 4 NONAME ; bool SmfCredMgrClient::AuthDataSet(class QString, class QDateTime, class QMap<class QByteArray, class QByteArray> &) const
- ?SignMessage@SmfCredMgrClient@@QAE?AW4SMFCredMgrErrorCode@@VQString@@0AAV3@W4SmfSignatureMethod@@@Z @ 5 NONAME ; enum SMFCredMgrErrorCode SmfCredMgrClient::SignMessage(class QString, class QString, class QString &, enum SmfSignatureMethod)
+ ??0SmfCredMgrClient@@QAE@PAVQObject@@@Z @ 1 NONAME ; SmfCredMgrClient::SmfCredMgrClient(class QObject *)
+ ??1SmfCredMgrClient@@UAE@XZ @ 2 NONAME ; SmfCredMgrClient::~SmfCredMgrClient(void)
+ ?AuthDataSet@SmfCredMgrClient@@QBE_NVQString@@VQDateTime@@AAV?$QMap@VQByteArray@@V1@@@@Z @ 3 NONAME ; bool SmfCredMgrClient::AuthDataSet(class QString, class QDateTime, class QMap<class QByteArray, class QByteArray> &) const
+ ?AuthenticatedPluginList@SmfCredMgrClient@@QBE?AVQStringList@@VQString@@@Z @ 4 NONAME ; class QStringList SmfCredMgrClient::AuthenticatedPluginList(class QString) const
+ ?ChangePluginIDList@SmfCredMgrClient@@QAEXVQString@@_N0@Z @ 5 NONAME ; void SmfCredMgrClient::ChangePluginIDList(class QString, bool, class QString)
?CheckPluginAuthentication@SmfCredMgrClient@@QBE_NVQString@@@Z @ 6 NONAME ; bool SmfCredMgrClient::CheckPluginAuthentication(class QString) const
- ??1SmfCredMgrClient@@UAE@XZ @ 7 NONAME ; SmfCredMgrClient::~SmfCredMgrClient(void)
- ?StoreAuthData@SmfCredMgrClient@@QAE?AVQString@@V?$QMap@VQByteArray@@V1@@@VQDateTime@@V?$QList@VQUrl@@@@VQStringList@@V2@_N@Z @ 8 NONAME ; class QString SmfCredMgrClient::StoreAuthData(class QMap<class QByteArray, class QByteArray>, class QDateTime, class QList<class QUrl>, class QStringList, class QString, bool)
- ?ChangePluginIDList@SmfCredMgrClient@@QAEXVQString@@_N0@Z @ 9 NONAME ; void SmfCredMgrClient::ChangePluginIDList(class QString, bool, class QString)
- ?AuthenticatedPluginList@SmfCredMgrClient@@QBE?AVQStringList@@VQString@@@Z @ 10 NONAME ; class QStringList SmfCredMgrClient::AuthenticatedPluginList(class QString) const
- ??0SmfCredMgrClient@@QAE@PAVQObject@@@Z @ 11 NONAME ; SmfCredMgrClient::SmfCredMgrClient(class QObject *)
- ?StoreRSAKeys@SmfCredMgrClient@@QAE?AVQString@@V2@0VQDateTime@@@Z @ 12 NONAME ; class QString SmfCredMgrClient::StoreRSAKeys(class QString, class QString, class QDateTime)
+ ?DeleteRSAKey@SmfCredMgrClient@@QAEXVQString@@@Z @ 7 NONAME ; void SmfCredMgrClient::DeleteRSAKey(class QString)
+ ?GenerateNONCE@SmfCredMgrClient@@QAE?AVQString@@_J@Z @ 8 NONAME ; class QString SmfCredMgrClient::GenerateNONCE(long long)
+ ?SignMessage@SmfCredMgrClient@@QAE?AW4SMFCredMgrErrorCode@@VQString@@0AAV3@W4SmfSignatureMethod@@@Z @ 9 NONAME ; enum SMFCredMgrErrorCode SmfCredMgrClient::SignMessage(class QString, class QString, class QString &, enum SmfSignatureMethod)
+ ?StoreAuthData@SmfCredMgrClient@@QAE?AVQString@@V?$QMap@VQByteArray@@V1@@@VQDateTime@@V?$QList@VQUrl@@@@VQStringList@@V2@_N@Z @ 10 NONAME ; class QString SmfCredMgrClient::StoreAuthData(class QMap<class QByteArray, class QByteArray>, class QDateTime, class QList<class QUrl>, class QStringList, class QString, bool)
+ ?StoreRSAKeys@SmfCredMgrClient@@QAE?AVQString@@V2@0VQDateTime@@@Z @ 11 NONAME ; class QString SmfCredMgrClient::StoreRSAKeys(class QString, class QString, class QDateTime)
+ ?URLList@SmfCredMgrClient@@QBE?AV?$QList@VQUrl@@@@VQString@@@Z @ 12 NONAME ; class QList<class QUrl> SmfCredMgrClient::URLList(class QString) const
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfcredentialmgr/smfcredmgrclient/eabi/smfcredmgrclientu.def Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,25 @@
+EXPORTS
+ _ZN16SmfCredMgrClient11SignMessageE7QStringS0_RS0_18SmfSignatureMethod @ 1 NONAME
+ _ZN16SmfCredMgrClient12DeleteRSAKeyE7QString @ 2 NONAME
+ _ZN16SmfCredMgrClient12StoreRSAKeysE7QStringS0_9QDateTime @ 3 NONAME
+ _ZN16SmfCredMgrClient13GenerateNONCEEx @ 4 NONAME
+ _ZN16SmfCredMgrClient13StoreAuthDataE4QMapI10QByteArrayS1_E9QDateTime5QListI4QUrlE11QStringList7QStringb @ 5 NONAME
+ _ZN16SmfCredMgrClient18ChangePluginIDListE7QStringbS0_ @ 6 NONAME
+ _ZN16SmfCredMgrClientC1EP7QObject @ 7 NONAME
+ _ZN16SmfCredMgrClientC2EP7QObject @ 8 NONAME
+ _ZN16SmfCredMgrClientD0Ev @ 9 NONAME
+ _ZN16SmfCredMgrClientD1Ev @ 10 NONAME
+ _ZN16SmfCredMgrClientD2Ev @ 11 NONAME
+ _ZNK16SmfCredMgrClient11AuthDataSetE7QString9QDateTimeR4QMapI10QByteArrayS3_E @ 12 NONAME
+ _ZNK16SmfCredMgrClient23AuthenticatedPluginListE7QString @ 13 NONAME
+ _ZNK16SmfCredMgrClient25CheckPluginAuthenticationE7QString @ 14 NONAME
+ _ZNK16SmfCredMgrClient7URLListE7QString @ 15 NONAME
+ _ZTI16SmfCredMgrClient @ 16 NONAME
+ _ZTI18CSmfSignParameters @ 17 NONAME
+ _ZTI20CSmfRsaKeyParameters @ 18 NONAME
+ _ZTI24CSmfCredMgrClientSymbian @ 19 NONAME
+ _ZTV16SmfCredMgrClient @ 20 NONAME
+ _ZTV18CSmfSignParameters @ 21 NONAME
+ _ZTV20CSmfRsaKeyParameters @ 22 NONAME
+ _ZTV24CSmfCredMgrClientSymbian @ 23 NONAME
+
--- a/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -38,8 +38,8 @@
if (!(Set.isEmpty() || URLList.isEmpty() || PluginList.isEmpty()
|| AuthAppId.isEmpty() || Validity.isNull()))
{
- return (m_SmfClientPrivate->storeAuthDataL(Set, Validity, URLList,
- PluginList, AuthAppId, Flag));
+ QT_TRAP_THROWING( return (m_SmfClientPrivate->storeAuthDataL(Set, Validity, URLList,
+ PluginList, AuthAppId, Flag)) );
}
else
{
@@ -57,7 +57,7 @@
}
else
{
- m_SmfClientPrivate->authenticatedPluginListL(RegistrationToken, List);
+ QT_TRAP_THROWING( m_SmfClientPrivate->authenticatedPluginListL(RegistrationToken, List));
return List;
}
@@ -68,7 +68,7 @@
QList<QUrl> List;
if (!(PluginID.isEmpty()))
{
- m_SmfClientPrivate->URLListL(PluginID, List);
+ QT_TRAP_THROWING ( m_SmfClientPrivate->URLListL(PluginID, List) );
}
return List;
}
@@ -83,7 +83,7 @@
{
if (!(OldPluginID.isEmpty() || NewPluginID.isEmpty()))
{
- m_SmfClientPrivate->changePluginIDListL(NewPluginID, Flag, OldPluginID);
+ QT_TRAP_THROWING (m_SmfClientPrivate->changePluginIDListL(NewPluginID, Flag, OldPluginID));
}
}
@@ -91,7 +91,7 @@
{
if (!(PluginID.isEmpty()))
{
- return (m_SmfClientPrivate->isPluginAuthenticatedL(PluginID));
+ QT_TRAP_THROWING ( return (m_SmfClientPrivate->isPluginAuthenticatedL(PluginID)) );
}
else
{
@@ -104,7 +104,9 @@
{
if (!(RegToken.isEmpty() || Validity.isNull()))
{
- if (m_SmfClientPrivate->AuthDataSetL(RegToken, Validity, AuthTokenSet))
+ TBool Flag = EFalse;
+ QT_TRAP_THROWING ( Flag = m_SmfClientPrivate->AuthDataSetL(RegToken, Validity, AuthTokenSet));
+ if (Flag)
return true;
}
else
@@ -119,7 +121,7 @@
{
if (!(KeyLabel.isEmpty() || keydata.isEmpty()) && Validity.isValid())
{
- return (m_SmfClientPrivate->storeRSAKeysL(KeyLabel, keydata, Validity));
+ QT_TRAP_THROWING ( return (m_SmfClientPrivate->storeRSAKeysL(KeyLabel, keydata, Validity)) );
}
else
{
@@ -130,9 +132,10 @@
QString& Signature, SmfSignatureMethod AlgorithmUsed)
{
if (!(Message.isEmpty() || Key.isEmpty()))
- return (m_SmfClientPrivate->signMessageL(Message, Key, Signature,
- AlgorithmUsed));
-
+ {
+ QT_TRAP_THROWING ( return (m_SmfClientPrivate->signMessageL(Message, Key, Signature,
+ AlgorithmUsed)) );
+ }
else
{
return SmfErrBadParameter;
--- a/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient.pro Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient.pro Thu Aug 05 16:48:48 2010 +0530
@@ -29,6 +29,13 @@
smfcredmgrclientsession.h
BLD_INF_RULES.prj_exports += smfcredmgrclient.h
+ TARGET.CAPABILITY = NetworkServices \
+ ReadUserData \
+ WriteUserData \
+ LocalServices \
+ UserEnvironment \
+ ReadDeviceData \
+ WriteDeviceData
}
symbian::LIBS += -leuser \
-lestor \
--- a/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -14,6 +14,7 @@
* Derives from CAtive to support asynchronous requests.
*
*/
+
// Include Files
#include <smfcredmgrcommon.h>
#include <smfcredmgrclientdatastruct.h>
@@ -72,6 +73,7 @@
TBool CSmfCredMgrClientSymbian::AuthDataSetL(QString RegToken,
QDateTime Validity, SmfAuthParams& AuthTokenSet)
{
+ RDebug::Printf("+In AuthDataSetL()");
CSmfFetchAuthTokenSet* fetchAuthTokenSetParams =
new (ELeave) CSmfFetchAuthTokenSet;
@@ -111,6 +113,12 @@
fetchAuthTokenSetParams->InternalizeL(dataBuf);
+
+ CleanupStack::PopAndDestroy(&dataBuf);
+ CleanupStack::PopAndDestroy(retBuf);
+ CleanupStack::PopAndDestroy(&stream);
+ CleanupStack::PopAndDestroy(buf);
+
//return EFalse if count is 0
if (fetchAuthTokenSetParams->iAuthTokenArray.Count() == 0)
{
@@ -120,12 +128,9 @@
smfcredmgrclientutil::RArrayToSmfAuthParams(
fetchAuthTokenSetParams->iAuthTokenArray, AuthTokenSet);
- CleanupStack::PopAndDestroy(&dataBuf);
- CleanupStack::PopAndDestroy(retBuf);
- CleanupStack::PopAndDestroy(&stream);
- CleanupStack::PopAndDestroy(buf);
+
CleanupStack::PopAndDestroy(fetchAuthTokenSetParams);
-
+ RDebug::Printf("-In AuthDataSetL()");
return ETrue;
}
@@ -133,7 +138,7 @@
QDateTime Validity, QList<QUrl> URLList, QStringList PluginList,
QString AuthAppAID, bool Flag)
{
-
+ RDebug::Printf("+In storeAuthDataL()");
CSmfStoreAuthParams* authenticationProcessData =
new (ELeave) CSmfStoreAuthParams;
CleanupStack::PushL(authenticationProcessData);
@@ -142,8 +147,6 @@
authenticationProcessData->iRegistrationToken = HBufC::NewL(
KMaxRegistrationTokenLength);
- TPtr8 regTokenPtr(
- authenticationProcessData->iRegistrationToken->Des().Collapse());
//fill the input params
smfcredmgrclientutil::SmfAuthParamstoRArray(Set,
@@ -175,14 +178,32 @@
TIpcArgs args;
args.Set(0, &bufPtr);
- args.Set(1, ®TokenPtr);
+
+
+ // to get the data from server, we create a space.
+ HBufC8* retBuf = HBufC8::NewL(KMaxBufSize);
+ CleanupStack::PushL(retBuf);
+
+ TPtr8 outputptr = retBuf->Des();
+ args.Set(1, &outputptr);
+
iSession.RequestService(EStoreAuthData, args);
- TPtr wideRegToken = regTokenPtr.Expand();
+ //create buffer to read data received
+ RBuf8 dataBuf;
+ CleanupClosePushL(dataBuf);
+ dataBuf.Create(outputptr);
+
+ authenticationProcessData->InternalizeL(dataBuf);
+
+ TPtr regTokenPtr(
+ authenticationProcessData->iRegistrationToken->Des());
//convert and return
- QString regString = qt_TDes2QString(wideRegToken);
+ QString regString = qt_TDes2QString( regTokenPtr );
+ CleanupStack::PopAndDestroy(&dataBuf);
+ CleanupStack::PopAndDestroy(retBuf);
CleanupStack::PopAndDestroy(&stream);
CleanupStack::PopAndDestroy(buf);
CleanupStack::Pop();
@@ -504,6 +525,8 @@
CleanupStack::PopAndDestroy(buf);
CleanupStack::PopAndDestroy(storeRSAKeysparams);
+ RDebug::Printf("-In storeAuthDataL()");
+
return (RetString);
}
--- a/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient_template.pkg Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclient_template.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -25,8 +25,8 @@
(0x2001E61C), 4, 6, 1, {"Qt"}
; Executable and default resource files
-"/S60/devices/S60_5th_Edition_SDK_v1.0/epoc32/release/$(PLATFORM)/$(TARGET)/smfcredmgrclient.dll" - "!:\sys\bin\smfcredmgrclient.dll"
-"/S60/devices/S60_5th_Edition_SDK_v1.0/epoc32/data/z/resource/apps/SmfCredMgrClient.rsc" - "!:\resource\apps\SmfCredMgrClient.rsc"
-"/S60/devices/S60_5th_Edition_SDK_v1.0/epoc32/data/z/private/10003a3f/import/apps/SmfCredMgrClient_reg.rsc" - "!:\private\10003a3f\import\apps\SmfCredMgrClient_reg.rsc"
+"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/release/$(PLATFORM)/$(TARGET)/smfcredmgrclient.dll" - "!:\sys\bin\smfcredmgrclient.dll"
+;"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/data/z/resource/apps/SmfCredMgrClient.rsc" - "!:\resource\apps\SmfCredMgrClient.rsc"
+;"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/data/z/private/10003a3f/import/apps/SmfCredMgrClient_reg.rsc" - "!:\private\10003a3f\import\apps\SmfCredMgrClient_reg.rsc"
; Manual PKG post-rules from PRO files
--- a/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclientutil.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrclient/smfcredmgrclientutil.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -14,7 +14,7 @@
* in Credential Manager.
*/
-
+#include <QDebug>
#include "smfcredmgrclientutil.h"
namespace smfcredmgrclientutil
@@ -113,6 +113,8 @@
QString KeyString(itr.key());
QString ValueString(itr.value());
+ qDebug()<<"Key name = "<<KeyString;
+ qDebug()<<"Key value = "<<ValueString;
set.iKey = qt_QString2HBufC(KeyString);
set.iSecret = qt_QString2HBufC(ValueString);
--- a/smf/smfcredentialmgr/smfcredmgrcommon/inc/smfcredmgrclientdatastruct.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrcommon/inc/smfcredmgrclientdatastruct.h Thu Aug 05 16:48:48 2010 +0530
@@ -10,10 +10,11 @@
* Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
*
* Description:
- * This header file gives different data classes to be used
- * by Credential Manager Client and Server for data transfer.
+ * This header file gives different data classes to be used
+ * by Smf Credential Manager Client and Server for data transfer.
*
*/
+
#ifndef CSMFCREDMGRCLIENTDATASTRUCT_H_
#define CSMFCREDMGRCLIENTDATASTRUCT_H_
@@ -53,6 +54,8 @@
* Maximum Length for SignedMessage
*/
const TInt KMaxSignedMsgLength = 256;
+
+
/**
* This class provide details and to serialize Authentication Key And Secret
*/
@@ -60,12 +63,13 @@
{
public:
/**
- * constructor
+ * Constructor
*/
inline TSmfAuthToken() :
iKey(NULL), iSecret(NULL)
{
}
+
/**
* Method to externalize the member variables
* @param aStream The Write Stream to be filled.
@@ -79,15 +83,17 @@
void InternalizeL(RReadStream& aStream);
/**
- * buf to hold the key
+ * Buffer to hold the key
*/
HBufC* iKey;
+
/**
- * buf to hold the secret
+ * Buffer to hold the secret
*/
HBufC* iSecret;
};
+
/**
* This class provide details and to serialize for the API fetching Authentication Parameters
*/
@@ -95,7 +101,7 @@
{
public:
/**
- * destructor
+ * Destructor
*/
~CSmfFetchAuthTokenSet()
{
@@ -111,23 +117,27 @@
/**
* Method to internalize the member variables
- * @param aSource the source to read from
+ * @param aSource The Source Stream to read from
*/
void InternalizeL(const RBuf8& aSource);
+
/**
- * buf to hold registration token
+ * Buffer to hold registration token
*/
HBufC* iRegistrationToken;
+
/**
* Time by which the Auth set will expire
*/
TUint32 iValidity;
+
/**
- * array in symbian to hold the key-value pair
+ * Array in symbian to hold the key-value pair
*/
RArray<TSmfAuthToken> iAuthTokenArray;
};
+
/**
* This class provide details and to serialize of data to the API retreiving URL List
*/
@@ -135,7 +145,7 @@
{
public:
/**
- * destructor
+ * Destructor
*/
~CSmfURLListParams()
{
@@ -151,21 +161,22 @@
/**
* Method to internalize the member variables
- * @param aSource the source to read from
+ * @param aSource The source stream to read from
*/
void InternalizeL(const TDesC8& aSource);
/**
- * array in symbian to hold url list
+ * Array in symbian to hold url list
*/
RPointerArray<HBufC> iURLList;
/**
- * buf to hold the plugin id for which urls will be queried
+ * Buffer to hold the plugin id for which urls will be queried
*/
HBufC* iPluginID;
};
+
/**
* This class provide details and to serialize data to the API retreiving Authenticated PluginID List
*/
@@ -173,7 +184,7 @@
{
public:
/**
- * destructor
+ * Destructor
*/
~CSmfPluginIDListParams()
{
@@ -189,15 +200,17 @@
/**
* Method to internalize the member variables
- * @param aSource the source to read from
+ * @param aSource The source stream to read from
*/
void InternalizeL(const RBuf8& aSource);
+
/**
- * array in symbian to hold plugin list
+ * Array in symbian to hold plugin list
*/
RPointerArray<HBufC> iPluginList;
+
/**
- * buf to hold registration token for which the list of plugins will be queried
+ * Buffer to hold registration token for which the list of plugins will be queried
*/
HBufC* iRegistrationToken;
};
@@ -228,33 +241,40 @@
/**
* Method to internalize the member variables
- * @param aSource the source to read from
+ * @param aSource The source stream to read from
*/
void InternalizeL(const RBuf8& aSource);
+
/**
- * array to hold TSmfAuthToken elements
+ * Array to hold TSmfAuthToken elements
*/
RArray<TSmfAuthToken> iAuthTokenArray;
+
/**
- * array to hold list of plugins
+ * Array to hold list of plugins
*/
RPointerArray<HBufC> iPluginIDList;
+
/**
- * array to hold URl list
+ * Array to hold URL list
*/
RPointerArray<HBufC> iURLList;
+
/**
- * buf to hold the registration token
+ * Buffer to hold the registration token
*/
HBufC* iRegistrationToken;
+
/**
- * buf to hold the authentication application ID
+ * Buffer to hold the authentication application ID
*/
HBufC* iAuthAppID;
+
/**
- * flag to indicate an enabled pluginID
+ * Flag to indicate an enabled pluginID
*/
TBool pluginIDEnabled;
+
/**
* Time by which the Auth set will expire
*/
@@ -282,7 +302,7 @@
/**
* Method to internalize the member variables
- * @param aSource the source to read from
+ * @param aSource The source stream to read from
*/
void InternalizeL(const RBuf8& aSource);
@@ -290,10 +310,12 @@
* Id of new plugin
*/
HBufC* iNewPluginID;
+
/**
* Id of the old plugin to be replaced
*/
HBufC* iOldPluginID;
+
/**
* flag to indicate an enabled pluginID
*/
@@ -307,25 +329,40 @@
{
public:
/**
- * New Functions
+ * NewL method
+ * @param aMessage The message to be signed
+ * @param aKey The key
+ * @return The constructed CSmfSignParameters instance
*/
static CSmfSignParameters* NewL( const TDesC8& aMessage, const TDesC8& aKey );
+
+ /**
+ * Overloaded NewL method
+ * @param aMessage The message to be signed
+ * @return The constructed CSmfSignParameters instance
+ */
static CSmfSignParameters* NewL( const TDesC8& aData );
+
/**
* Destructor
*/
~CSmfSignParameters();
+
/**
* Method to externalize the member variables
* @param aStream The Write Stream to be filled.
*/
void ExternalizeL( RWriteStream& aStream ) const;
+
/**
- * Get Method for key.
+ * Method to get the Key for the signature
+ * @return The Key for the signature
*/
const TDesC8& Key() const;
+
/**
- * Get Method for message.
+ * Method to get the message
+ * @return The message
*/
const TDesC8& Message() const;
@@ -334,17 +371,26 @@
* Constructor
*/
CSmfSignParameters();
+
/**
- * Two Phase constructors
+ * Two Phase constructor
+ * @param aKey The Key for the signature
+ * @return The constructed CSmfSignParameters instance
*/
void ConstructL( const TDesC8& aMessage, const TDesC8& aKey );
+
+ /**
+ * Two Phase constructor
+ * @return The constructed CSmfSignParameters instance
+ */
void ConstructL( const TDesC8& aData );
private:
/**
- * Message to sign
+ * Message to be signed
*/
RBuf8 iMessage;
+
/**
* Key for the signature
*/
@@ -358,46 +404,77 @@
{
public:
/**
- * New methods
+ * NewL method
+ * @param aKeyName
+ * @param startDate
+ * @param endDate
+ * @param aKeydata
+ * @return The constructed CSmfRsaKeyParameters instance
*/
- static CSmfRsaKeyParameters* NewL(
- const TDesC& aKeyName, const TTime& startDate,
- const TTime& endDate, const TDesC8& aKeyData );
+ static CSmfRsaKeyParameters* NewL( const TDesC& aKeyName,
+ const TTime& startDate,
+ const TTime& endDate,
+ const TDesC8& aKeyData );
+
+ /**
+ * Overloaded NewL method
+ * @param aData
+ * @return The constructed CSmfRsaKeyParameters instance
+ */
static CSmfRsaKeyParameters* NewL( const TDesC8& aData );
/**
* Destructor
*/
~CSmfRsaKeyParameters();
+
/**
* Method to externalize the member variables
* @param aStream The Write Stream to be filled.
*/
void ExternalizeL( RWriteStream& aStream ) const;
+
/**
- * Get Method for keyname.
+ * Method to get the key name
+ * @return The key name
*/
const TDesC& KeyName() const;
+
/**
- * Get Method for keydata.
+ * Method to get the key data
+ * @return The key data
*/
const TDesC8& KeyData() const;
+
/**
- * Get Method for start date.
+ * Method to get the start date
+ * @return The start date
*/
const TTime& StartDate() const;
+
/**
- * Get Method for end date.
+ * Method to get the end date
+ * @return The end date
*/
const TTime& EndDate() const;
private:
/**
- * Two phase constructors
+ * Two phase constructor
+ * @param aKeyName
+ * @param startDate
+ * @param endDate
+ * @param aKeydata
*/
- void ConstructL(
- const TDesC& aKeyName, const TTime& startDate,
- const TTime& endDate, const TDesC8& aKeyData );
+ void ConstructL( const TDesC& aKeyName,
+ const TTime& startDate,
+ const TTime& endDate,
+ const TDesC8& aKeyData );
+
+ /**
+ * Two phase constructor
+ * @param aData
+ */
void ConstructL( const TDesC8& aData );
private:
@@ -405,14 +482,17 @@
* Name of the key pair
*/
RBuf iKeyName;
+
/**
* Data of the key pair
*/
RBuf8 iKeyData;
+
/**
* Start date of validity
*/
TTime iStartDate;
+
/**
* End date of validity
*/
--- a/smf/smfcredentialmgr/smfcredmgrcommon/inc/smfcredmgrclientglobal.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrcommon/inc/smfcredmgrclientglobal.h Thu Aug 05 16:48:48 2010 +0530
@@ -11,7 +11,7 @@
*
* Description:
* The header represents the error code, typedefs and export macro declaration for
- * CredMgr Server-client
+ * Smf Credential Manager Server-client
*
*/
@@ -25,9 +25,9 @@
typedef QMap<QByteArray, QByteArray> SmfAuthParams;
#if defined(SMFCREDMGRCLIENT_LIBRARY)
-# define SmfCredMgrClient_EXPORT Q_DECL_EXPORT
+#define SmfCredMgrClient_EXPORT Q_DECL_EXPORT
#else
-# define SmfCredMgrClient_EXPORT Q_DECL_IMPORT
+#define SmfCredMgrClient_EXPORT Q_DECL_IMPORT
#endif
/**
@@ -40,14 +40,17 @@
*No error has occured
*/
SmfErrNone = 200,
+
/**
*Plugin not autherised
*/
SmfErrUnAutherised,
+
/**
*Parameters of API are unexpected/invalid
*/
SmfErrBadParameter,
+
/**
*Error reason is not known
*/
--- a/smf/smfcredentialmgr/smfcredmgrcommon/inc/smfcredmgrcommon.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrcommon/inc/smfcredmgrcommon.h Thu Aug 05 16:48:48 2010 +0530
@@ -43,18 +43,22 @@
* PluginList during storing in storeAuthData() API ,i.e if Flag = 1 the
* entire List of Plugins are enabled.
*
- * The NONCE and Registration Token are to be generated using SecureRandomL() library function.
+ * The NONCE is generated using rand() library function.
*
* @Todo- 1)The validity check of the authentication data at the server side is an open item yet and is to be implemented.
- * This will require the signal-slot implementation at the client side to notify authentication expiry. The error handling
- * and also state-machine (if required) are to be implemented. 2) The process id of SmfServer needs to be checked inside
- * credmgr to ensure nobody else reads the keys.
+ * This will require the signal-slot implementation at the client side to notify authentication expiry, if decided that
+ * credentialmgr will launch authapp.
+ * 2)The error handling and state-machine (if required) are to be implemented.
+ * 3) The process id of smfserver needs to be checked inside credmgr to ensure only smfserver reads the keys.
*
*/
+
#ifndef COMMON_H_
#define COMMON_H_
+
#include <e32base.h>
#include <e32debug.h>
+
/**
*Name of the server.
*/
@@ -79,6 +83,7 @@
* Enum for no algorithm
*/
ESmfNoSigningMethod = 0,
+
/**
*Enum for algorithm RSA-SHA1
*/
@@ -88,10 +93,12 @@
*Enum for algorithm HMAC-SHA1
*/
ESMFHMACProtocol,
+
/**
*Enum for Plain Tezt
*/
ESMFPlainText,
+
/**
*Enum for SHA256
*/
@@ -105,22 +112,22 @@
{
/**
* Op code to check plugin is authorised
- * */
+ */
ECheckPluginAuthentication = 1,
/**
* Op code to store entire set of data while authentication
- * */
+ */
EStoreAuthData,
/**
* Op code to send OAuth key set i.e SmfAuthParams
- * */
+ */
ESendAuthDataSet,
/**
* Op code to send authenticated plugin list
- * */
+ */
ESendPluginIDList,
/**
@@ -137,14 +144,17 @@
* Op code to store RSA keys.
*/
ESmfStoreRSAKey,
+
/**
* Op code to sign message using RSA algo.
*/
ESmfRSASignMessage,
+
/**
* Op code to sign using HAMC-SHA1 algo.
*/
ESmfHMACSHA1SignMessage,
+
/**
* Op code to delete RSA keys.
*/
--- a/smf/smfcredentialmgr/smfcredmgrcommon/smfcredmgrcommon.pro Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrcommon/smfcredmgrcommon.pro Thu Aug 05 16:48:48 2010 +0530
@@ -12,10 +12,18 @@
TEMPLATE = subdirs
symbian:
{
+ TARGET.CAPABILITY = NetworkServices \
+ ReadUserData \
+ WriteUserData \
+ LocalServices \
+ UserEnvironment \
+ ReadDeviceData \
+ WriteDeviceData
+
BLD_INF_RULES.prj_exports += inc/smfcredmgrclientdatastruct.h
BLD_INF_RULES.prj_exports += inc/smfcredmgrclientglobal.h
BLD_INF_RULES.prj_exports += inc/smfutils.h
BLD_INF_RULES.prj_exports += inc/smfcredmgrcommon.h
- BLD_INF_RULES.prj_mmpfiles = "group/smfcredmgrcommon.mmp"
+ BLD_INF_RULES.prj_mmpfiles = "group/smfcredmgrcommon.mmp"
}
--- a/smf/smfcredentialmgr/smfcredmgrcommon/src/smfcredmgrclientdatastruct.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrcommon/src/smfcredmgrclientdatastruct.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -10,15 +10,20 @@
* Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
*
* Description:
- * This source file gives different data classes to be used
- * by Credential Manager Client and Server for data transfer.
+ * This source file gives different data classes to be used by Smf
+ * Credential Manager Client and Server for data transfer.
*
*/
+#include <f32file.h>
+
#include "smfcredmgrclientdatastruct.h"
#include "smfutils.h"
-#include <f32file.h>
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void TSmfAuthToken::ExternalizeL(RWriteStream& aStream)
{
@@ -29,9 +34,12 @@
SmfUtils::ExternalizeDesL(secondArgPtr, aStream);
}
+/**
+ * Method to internalize the member variables
+ * @param aStream The source stream to read from
+ */
void TSmfAuthToken::InternalizeL(RReadStream& aStream)
{
-
// Delete the current values
delete iKey;
iKey = SmfUtils::InternalizeDesL(aStream);
@@ -40,6 +48,10 @@
iSecret = SmfUtils::InternalizeDesL(aStream);
}
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void CSmfFetchAuthTokenSet::ExternalizeL(RWriteStream& aStream)
{
aStream.WriteUint32L(iValidity);
@@ -54,9 +66,12 @@
{
iAuthTokenArray[i].ExternalizeL(aStream);
}
-
}
+/**
+ * Method to internalize the member variables
+ * @param aSource The Source Stream to read from
+ */
void CSmfFetchAuthTokenSet::InternalizeL(const RBuf8& aSource)
{
// Create stream to read from the given buffer
@@ -80,6 +95,10 @@
CleanupStack::PopAndDestroy(&stream);
}
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void CSmfURLListParams::ExternalizeL(RWriteStream& aStream)
{
TInt32 countPlugin = iURLList.Count();
@@ -94,6 +113,10 @@
SmfUtils::ExternalizeDesL(tokenPtr, aStream);
}
+/**
+ * Method to internalize the member variables
+ * @param aSource The source stream to read from
+ */
void CSmfURLListParams::InternalizeL(const TDesC8& aSource)
{
// Create stream to read from the given buffer
@@ -113,6 +136,10 @@
CleanupStack::PopAndDestroy(&stream);
}
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void CSmfPluginIDListParams::ExternalizeL(RWriteStream& aStream)
{
TPtr tokenPtr(iRegistrationToken->Des());
@@ -127,6 +154,10 @@
}
}
+/**
+ * Method to internalize the member variables
+ * @param aSource The source stream to read from
+ */
void CSmfPluginIDListParams::InternalizeL(const RBuf8& aSource)
{
// Create stream to use given buffer.
@@ -148,6 +179,10 @@
CleanupStack::PopAndDestroy(&stream);
}
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void CSmfStoreAuthParams::ExternalizeL(RWriteStream& aStream)
{
aStream.WriteInt32L(pluginIDEnabled);
@@ -169,12 +204,10 @@
}
TInt32 countPlugin = iPluginIDList.Count();
-
aStream.WriteInt32L(countPlugin);
for (int i = 0; i < countPlugin; i++)
{
-
TPtr pluginBufPtr(iPluginIDList[i]->Des());
SmfUtils::ExternalizeDesL(pluginBufPtr, aStream);
}
@@ -189,6 +222,10 @@
}
}
+/**
+ * Method to internalize the member variables
+ * @param aSource The source stream to read from
+ */
void CSmfStoreAuthParams::InternalizeL(const RBuf8& aSource)
{
// Create stream to read from the given buffer
@@ -235,6 +272,10 @@
CleanupStack::PopAndDestroy(&stream);
}
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void CSmfPluginIDUpdate::ExternalizeL(RWriteStream& aStream)
{
aStream.WriteInt32L(pluginIDEnabled);
@@ -246,6 +287,10 @@
SmfUtils::ExternalizeDesL(oldPtr, aStream);
}
+/**
+ * Method to internalize the member variables
+ * @param aSource The source stream to read from
+ */
void CSmfPluginIDUpdate::InternalizeL(const RBuf8& aSource)
{
// Create stream to read from the given buffer
@@ -264,6 +309,13 @@
CleanupStack::PopAndDestroy(&stream);
}
+
+/**
+ * NewL method
+ * @param aMessage The message to be signed
+ * @param aKey The key
+ * @return The constructed CSmfSignParameters instance
+ */
CSmfSignParameters* CSmfSignParameters::NewL(
const TDesC8& aMessage, const TDesC8& aKey )
{
@@ -274,6 +326,11 @@
return self;
}
+/**
+ * Overloaded NewL method
+ * @param aMessage The message to be signed
+ * @return The constructed CSmfSignParameters instance
+ */
CSmfSignParameters* CSmfSignParameters::NewL( const TDesC8& aData )
{
CSmfSignParameters* self = new( ELeave ) CSmfSignParameters();
@@ -283,38 +340,65 @@
return self;
}
+/**
+ * Destructor
+ */
CSmfSignParameters::~CSmfSignParameters()
{
iMessage.Close();
iKey.Close();
}
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void CSmfSignParameters::ExternalizeL( RWriteStream& aStream ) const
{
SmfUtils::ExternalizeDesL( iMessage, aStream );
SmfUtils::ExternalizeDesL( iKey, aStream );
}
+/**
+ * Method to get the Key for the signature
+ * @return The Key for the signature
+ */
const TDesC8& CSmfSignParameters::Key() const
{
return iKey;
}
+/**
+ * Method to get the message
+ * @return The message
+ */
const TDesC8& CSmfSignParameters::Message() const
{
return iMessage;
}
+/**
+ * Constructor
+ */
CSmfSignParameters::CSmfSignParameters()
{
}
+/**
+ * Two Phase constructor
+ * @param aKey The Key for the signature
+ * @return The constructed CSmfSignParameters instance
+ */
void CSmfSignParameters::ConstructL( const TDesC8& aMessage, const TDesC8& aKey )
{
iMessage.CreateL( aMessage );
iKey.CreateL( aKey );
}
+/**
+ * Two Phase constructor
+ * @return The constructed CSmfSignParameters instance
+ */
void CSmfSignParameters::ConstructL( const TDesC8& aData )
{
RDesReadStream stream( aData );
@@ -324,9 +408,20 @@
CleanupStack::PopAndDestroy( &stream );
}
+
+/**
+ * NewL method
+ * @param aKeyName
+ * @param startDate
+ * @param endDate
+ * @param aKeydata
+ * @return The constructed CSmfRsaKeyParameters instance
+ */
CSmfRsaKeyParameters* CSmfRsaKeyParameters::NewL(
- const TDesC& aKeyName, const TTime& startDate,
- const TTime& endDate, const TDesC8& aKeyData )
+ const TDesC& aKeyName,
+ const TTime& startDate,
+ const TTime& endDate,
+ const TDesC8& aKeyData )
{
CSmfRsaKeyParameters* self = new( ELeave ) CSmfRsaKeyParameters;
CleanupStack::PushL( self );
@@ -335,6 +430,11 @@
return self;
}
+/**
+ * Overloaded NewL method
+ * @param aData
+ * @return The constructed CSmfRsaKeyParameters instance
+ */
CSmfRsaKeyParameters* CSmfRsaKeyParameters::NewL( const TDesC8& aData )
{
CSmfRsaKeyParameters* self = new( ELeave ) CSmfRsaKeyParameters;
@@ -344,12 +444,19 @@
return self;
}
+/**
+ * Destructor
+ */
CSmfRsaKeyParameters::~CSmfRsaKeyParameters()
{
iKeyName.Close();
iKeyData.Close();
}
+/**
+ * Method to externalize the member variables
+ * @param aStream The Write Stream to be filled.
+ */
void CSmfRsaKeyParameters::ExternalizeL( RWriteStream& aStream ) const
{
SmfUtils::ExternalizeDesL( iKeyName, aStream );
@@ -358,29 +465,53 @@
SmfUtils::ExternalizeInt64L( iEndDate.Int64(), aStream );
}
+/**
+ * Method to get the key name
+ * @return The key name
+ */
const TDesC& CSmfRsaKeyParameters::KeyName() const
{
return iKeyName;
}
+/**
+ * Method to get the key data
+ * @return The key data
+ */
const TDesC8& CSmfRsaKeyParameters::KeyData() const
{
return iKeyData;
}
+/**
+ * Method to get the start date
+ * @return The start date
+ */
const TTime& CSmfRsaKeyParameters::StartDate() const
{
return iStartDate;
}
+/**
+ * Method to get the end date
+ * @return The end date
+ */
const TTime& CSmfRsaKeyParameters::EndDate() const
{
return iEndDate;
}
-void CSmfRsaKeyParameters::ConstructL(
- const TDesC& aKeyName, const TTime& startDate,
- const TTime& endDate, const TDesC8& aKeyData )
+/**
+ * Two phase constructor
+ * @param aKeyName
+ * @param startDate
+ * @param endDate
+ * @param aKeydata
+ */
+void CSmfRsaKeyParameters::ConstructL( const TDesC& aKeyName,
+ const TTime& startDate,
+ const TTime& endDate,
+ const TDesC8& aKeyData )
{
iKeyName.CreateL( aKeyName );
iKeyData.CreateL( aKeyData );
@@ -388,16 +519,22 @@
iEndDate = endDate;
}
+/**
+ * Two phase constructor
+ * @param aData
+ */
void CSmfRsaKeyParameters::ConstructL( const TDesC8& aData )
{
RDesReadStream stream( aData );
CleanupClosePushL( stream );
SmfUtils::InternalizeDesL( iKeyName, stream );
SmfUtils::InternalizeDesL( iKeyData, stream );
+
TInt64 startDate;
TInt64 endDate;
SmfUtils::InternalizeInt64L( startDate, stream );
SmfUtils::InternalizeInt64L( endDate, stream );
+
iStartDate = TTime( startDate );
iEndDate = TTime( endDate );
CleanupStack::PopAndDestroy( &stream );
--- a/smf/smfcredentialmgr/smfcredmgrcommon/src/smfutils.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrcommon/src/smfutils.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -10,7 +10,8 @@
* Lasse Laasonen, Sasken Communication Technologies Ltd - Initial contribution
*
* Description:
- * This header contains utility routines used by server and client
+ * This source contains utility routines used by server and client
+ *
*/
#include <s32strm.h>
@@ -68,6 +69,7 @@
else
return NULL;
}
+
TInt InternalizeDesL( RBuf16& aDes, RReadStream& aStream )
{
TInt length = aStream.ReadInt32L();
@@ -85,6 +87,7 @@
return length;
}
+
void ExternalizeInt64L(const TInt64& aInt, RWriteStream& aStream)
{
TInt32 low = I64LOW( aInt );
--- a/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrdb.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrdb.h Thu Aug 05 16:48:48 2010 +0530
@@ -7,15 +7,20 @@
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
- * Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Nalina Hariharan, Sasken Communication Technologies Ltd
*
* Description:
* This header defines the database-table and the creation of database that will be
- * used by the Credential Manager Server to store all
- * the credentials related to an Authentication Application
+ * used by the Credential Manager Server to store all the credentials related
+ * to an Authentication Application
*/
+
#ifndef SMFCREDMGRDB_H_
#define SMFCREDMGRDB_H_
+
#include <sqldb.h>
#include <e32base.h>
#include <f32file.h>
@@ -24,79 +29,95 @@
_LIT(KSmfCredMgrDbPrivateDir, "C:\\private\\EF0FFBD7\\");
_LIT(KSmfCredMgrDbFileName, "[EF0FFBD7]CREDMGRDB.db");
-//Create Table
-_LIT8(KCreatePluginIDTable,"CREATE TABLE PluginIDTable(PluginId TEXT PRIMARY KEY, AuthAppId TEXT UNIQUE, IsEnabled INT)");
-_LIT8(KCreateURLTable,"CREATE TABLE URLTable(AuthAppId TEXT UNIQUE, URL TEXT,PRIMARY KEY(AuthAppId,URL))");
+//Create Database Table Queries
+_LIT8(KCreatePluginIDTable,"CREATE TABLE PluginIDTable(PluginId TEXT, AuthAppId TEXT, IsEnabled INT, PRIMARY KEY(PluginId, AuthAppId))");
+_LIT8(KCreateURLTable,"CREATE TABLE URLTable(AuthAppId TEXT, URL TEXT, PRIMARY KEY(AuthAppId, URL))");
_LIT8(KCreateRegTokenValidityTable,"CREATE TABLE RegTokenValidityTable(RegistrationToken TEXT PRIMARY KEY, AuthAppId TEXT UNIQUE, Validity BIGINT)");
-_LIT8(KCreateAuthParamsTable,"CREATE TABLE AuthParamsTable(AuthAppId TEXT UNIQUE, AuthKey TEXT, AuthSecret TEXT, PRIMARY KEY(AuthAppId,AuthKey))");
+_LIT8(KCreateAuthParamsTable,"CREATE TABLE AuthParamsTable(AuthAppId TEXT, AuthKey TEXT, AuthSecret TEXT, PRIMARY KEY(AuthAppId, AuthKey))");
+
/**
* The creator class of the server database.
- * Derives from CBase
+ * Derives from CBase
*/
class CSmfCredMgrDb : public CBase
{
public:
/**
- * New Methods
+ * NewL Method
+ * @return The constructed CSmfCredMgrDb instance
*/
static CSmfCredMgrDb* NewL();
+
/**
- * New Methods
+ * NewLC Method
+ * @return The constructed CSmfCredMgrDb instance
*/
static CSmfCredMgrDb* NewLC();
/**
- * destructor
+ * Destructor
*/
~CSmfCredMgrDb();
private:
/**
- * constructor
+ * Constructor
*/
CSmfCredMgrDb();
/**
- * two phase constructor
+ * Two phase constructor
*/
void ConstructL();
/**
* Method to create the Db file
* @param aFileName The file name
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt CreateDbFile(const TFileName &aFileName);
/**
- * Method to crete the Db tables
+ * Method to create the Db tables
* @param aFileName The Db file name
*/
void CompleteDBCreationL(const TFileName &aFileName);
/**
- * Creates the Plugin Id table
+ * Creates the Plugin Id table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt PluginIDTableCreate();
/**
- * Creates the URL table
+ * Creates the URL table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt URLTableCreate();
/**
- * Creates the RegistrationToken-Validity Table
+ * Creates the RegistrationToken-Validity Table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt RegTokenValidityTableCreate();
/**
- * Creates the Authentication Parameters Table
+ * Creates the Authentication Parameters Table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt AuthParamsTableCreate();
/**
* Deletes the Db
* @param aFileName The Db file name
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt DeleteDbFile(const TFileName &aFileName);
--- a/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrdbuser.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrdbuser.h Thu Aug 05 16:48:48 2010 +0530
@@ -7,29 +7,37 @@
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
- * Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Nalina Hariharan, Sasken Communication Technologies Ltd
*
* Description:
* This header provides a handle to use the data-base operations like insertion, query etc. which
- * is used by the Credential Manager Server Sessions to operate on
- * Credential Manager Server Database
+ * is used by the Credential Manager Server Sessions to operate on
+ * Credential Manager Server Database
*/
+
#ifndef SMFCREDMGRDBUSER_H_
#define SMFCREDMGRDBUSER_H_
#include <sqldb.h>
#include <e32base.h>
#include <f32file.h>
+
#include "smfcredmgrserversession.h"
-//INSERTION
+//DB COMMANDS
_LIT(KBegin , "BEGIN");
_LIT(KCommit, "COMMIT");
_LIT(KRollback, "ROLLBACK");
-_LIT(KSmfPluginIDTableInsert, "INSERT INTO PluginIDTable(PluginId, AuthAppId, IsEnabled) VALUES(:Val1, :Val2, :Val3)");
-_LIT(KSmfURLTableInsert, "INSERT INTO URLTable(AuthAppId, URL) VALUES(:Val1, :Val2)");
-_LIT(KSmfRegTokenValidityTableInsert, "INSERT INTO RegTokenValidityTable(RegistrationToken, AuthAppId, Validity) VALUES(:Val1, :Val2, :Val3)");
-_LIT(KSmfAuthParamsTableInsert, "INSERT INTO AuthParamsTable(AuthAppId, AuthKey, AuthSecret) VALUES(:Val1, :Val2, :Val3)");
+
+//INSERTION
+_LIT(KSmfPluginIDTableInsert, "INSERT OR REPLACE INTO PluginIDTable(PluginId, AuthAppId, IsEnabled) VALUES(:Val1, :Val2, :Val3)");
+_LIT(KSmfURLTableInsert, "INSERT OR REPLACE INTO URLTable(AuthAppId, URL) VALUES(:Val1, :Val2)");
+_LIT(KSmfRegTokenValidityTableInsert, "INSERT OR REPLACE INTO RegTokenValidityTable(RegistrationToken, AuthAppId, Validity) VALUES(:Val1, :Val2, :Val3)");
+_LIT(KSmfAuthParamsTableInsert, "INSERT OR REPLACE INTO AuthParamsTable(AuthAppId, AuthKey, AuthSecret) VALUES(:Val1, :Val2, :Val3)");
+
//READ
_LIT(KSmfDbReadValidity, "SELECT Validity FROM RegTokenValidityTable WHERE AuthAppId = :iID");
_LIT(KSmfDbReadRegistrationToken, "SELECT RegistrationToken FROM RegTokenValidityTable WHERE AuthAppId = :iID");
@@ -39,6 +47,7 @@
_LIT(KSmfDbReadAuthAppIdInPluginTable, "SELECT AuthAppId FROM PluginIDTable WHERE PluginId = :iID");
_LIT(KSmfDbReadFlagInPluginTable, "SELECT IsEnabled FROM PluginIDTable WHERE PluginId = :iID");
_LIT(KSmfDbReadAuthAppIdInRegTokenTable, "SELECT AuthAppId, Validity FROM RegTokenValidityTable WHERE RegistrationToken = :iID");
+
//UPDATE
_LIT( KUpdatePluginID, "UPDATE PluginIDTable SET PluginId =:iText, IsEnabled =:iFlag WHERE PluginId = :iID");
@@ -49,10 +58,18 @@
{
public:
/**
- * New functions
+ * NewL function
* @param aSession the session object using this class
+ * @return The constructed CSmfCredMgrDbUser instance
*/
static CSmfCredMgrDbUser* NewL(CSmfCredMgrServerSession* aSession);
+
+ /**
+ * NewLC function. This method adds the return value to the
+ * Cleanup Stack if constructed
+ * @param aSession the session object using this class
+ * @return The constructed CSmfCredMgrDbUser instance
+ */
static CSmfCredMgrDbUser* NewLC(CSmfCredMgrServerSession* aSession);
/**
@@ -63,114 +80,128 @@
public:
/**
* Method to insert PluginIDTable
- * @param aPluginID ID of the plugin
- * @param aAuthAppId ID of the Authentication app associated with the plugin
- * @param aEnableFlag a flag to indicate if the plugin is enabled,
- * i.e aEnableFlag =0 for disabled plugin
+ * @param aPluginID The ID of the plugin
+ * @param aAuthAppId The ID of the Authentication app associated with the plugin
+ * @param aEnableFlag A flag to indicate if the plugin is enabled,
+ * i.e, aEnableFlag = 0 for a disabled plugin
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
- TInt PluginIDTableInsert(const TDesC& aPluginID, const TDesC& aAuthAppId,
+ TInt PluginIDTableInsert(const TDesC& aPluginID,
+ const TDesC& aAuthAppId,
TBool aEnableFlag);
/**
* Method to insert URLTable
- * @param aAuthAppId ID of the Authentication app associated with the URLs
- * @param aURL the URL to be stored
+ * @param aAuthAppId The ID of the Authentication app associated with the URLs
+ * @param aURL The URL to be stored
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt URLTableInsert(const TDesC& aAuthAppId, const TDesC& aURL);
/**
* Method to insert RegTokenValidityTable
- * @param aRegToken the Registration token for the authentication app
- * @param aAuthAppId ID of the Authentication app
- * @param aValidity time by which the set will expire
+ * @param aRegToken The Registration token for the authentication app
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aValidity The time by which the set will expire
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt RegTokenValidityTableInsert(const TDesC& aRegToken,
const TDesC& aAuthAppId, const TUint aValidity);
+
/**
* Method to insert AuthParamsTable
- * @param aAuthAppId ID of the Authentication app
+ * @param aAuthAppId The ID of the Authentication app
* @param aKey The Key
- * @param aSecret The Secret
+ * @param aSecret The Secret
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt AuthParamsTableInsert(const TDesC& aAuthAppId, const TDesC& aKey,
const TDesC& aSecret);
/**
* Method to fetch all the plugins associated with the registration token
- * @param aRegToken the Registration token of the authentication app
- * @param aArray The array to be updated with plugin ids
+ * @param aRegToken The Registration token of the authentication app
+ * @param aArray [out] The array to be updated with plugin ids
*/
- void fetchPluginList(const TDesC& aRegToken, RPointerArray<HBufC>& aArray);
+ void fetchPluginListL(const TDesC& aRegToken, RPointerArray<HBufC>& aArray);
/**
* Method to Key-Secret pairs of the Authentication app
- * @param aAuthAppId ID of the Authentication app
- * @param aArray The array containing the key-secret pair
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aArray [out] The array containing the key-secret pair
*/
- void readAuthTokens(const TDesC& aAuthAppId, RArray<TSmfAuthToken>& aArray);
+ void readAuthTokensL(const TDesC& aAuthAppId, RArray<TSmfAuthToken>& aArray);
/**
* Method to fetch all the URLs associated with the Authentication app
- * @param aAuthAppId ID of the Authentication app
- * @param aArray The array to be updated with URLs
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aArray [out] The array to be updated with URLs
*/
- void readURL(const TDesC& aAuthAppId, RPointerArray<HBufC>& aArray);
+ void readUrlL(const TDesC& aAuthAppId, RPointerArray<HBufC>& aArray);
/**
* Method to fetch Validity of the Authentication app
- * @param aAuthAppId ID of the Authentication app
- * @param aValidity time by which the Auth set will expire
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aValidity [out] The time by which the Auth set will expire
*/
void readValidity(const TDesC& aAuthAppId, TInt64& aValidity);
/**
* Method to fetch Registration token of the Authentication app from RegTokenValidityTable
- * @param aAuthAppId ID of the Authentication app
- * @param aRegToken the Registration token of the authentication app
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aRegToken [out] The Registration token of the authentication app
*/
- void readRegistrationToken(const TDesC& aAuthAppId, TDesC& aRegToken);
+ void readRegistrationTokenL(const TDesC& aAuthAppId, TDesC& aRegToken);
/**
- * Method to fetch Authentication app ID from RegTokenValidityTable
- * @param aRegToken the Registration token of the authentication app
- * @param aAuthAppId ID of the Authentication app
+ * Method to fetch Authentication app ID from RegTokenValidityTable
+ * giving the reg token
+ * @param aRegToken The Registration token of the authentication app
+ * @param aAuthAppId [out] The ID of the Authentication app
*/
void readAuthAppIdInRegTokenTable(const TDesC& aRegToken, TDes& aAuthAppId);
/**
- * Method to fetch Authentication app ID from PluginIDTable
+ * Method to fetch Authentication app ID from PluginIDTable giving the plugin ID
* @param aPluginID the ID of the plugin
- * @param aAuthAppId ID of the Authentication app
+ * @param aAuthAppId [out] ID of the Authentication app
*/
void readAuthAppIdInPluginIdTable(const TDesC& aPluginID, TDes& aAuthAppId);
/**
* Method to read the IsEnabled flag from plugin Id table
- * @param aPluginID the ID of the plugin
- * @param aFlag flag that indicates the plugin id is enables or disabled
+ * @param aPluginID The ID of the plugin
+ * @param aFlag [out] The flag that indicates the plugin id is enables or disabled
*/
void readFlagInPluginIdTable(const TDesC& aPluginID, TInt& aFlag);
/**
* Method to change a plugin id in plugin Id table
- * @param aNewPluginID the ID of the new plugin
- * @param aFlag flag that indicates the plugin id is enables or disabled
- * @param aOldPluginID the ID of the plugin to be replaced
+ * @param aNewPluginID The ID of the new plugin
+ * @param aFlag The flag that indicates the plugin id is enables or disabled
+ * @param aOldPluginID The ID of the plugin to be replaced
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
*/
TInt updatePlugin(const TDesC& aPluginID, const TBool& aFlag,
const TDesC& aOldPluginID);
/**
- * Method to fetch a plugin id associated with Authentication App id, it is
- * called internally by fetchPluginList().
+ * Method to fetch the list of plugin ids associated with Authentication App id,
+ * it is called internally by fetchPluginList().
* @param aAuthAppId ID of the Authentication app
- * @param aArray The array to be updated with plugin ids
+ * @param aArray [out] The array to be updated with plugin ids
*/
- void readPluginId(const TDesC& aAuthAppId, RPointerArray<HBufC>& aArray);
+ void readPluginIdL(const TDesC& aAuthAppId, RPointerArray<HBufC>& aArray);
private:
/**
- * constructor
+ * Constructor
+ * @param aSession The CSmfCredMgrServerSession instance
*/
CSmfCredMgrDbUser(CSmfCredMgrServerSession* aSession);
--- a/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrserver.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrserver.h Thu Aug 05 16:48:48 2010 +0530
@@ -7,36 +7,42 @@
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
- * Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Sasken Communication Technologies Ltd
*
* Description:
* Header file for Credential Manager Server.
*/
+
#ifndef __SMFCREDMGRSERVER_H__
#define __SMFCREDMGRSERVER_H__
// Include Files
-
#include <e32base.h>
+// Forward declaration
class CSmfCredMgrDb;
// Function Prototypes
-
GLDEF_C TInt E32Main();
// ----------------------------------------------------------------------------------------
// Server's policy
// ----------------------------------------------------------------------------------------
static const TUint rangeCount = 1;
+
static const TInt ranges[rangeCount] =
{
0
};
+
static const TUint8 elementsIndex[rangeCount] =
{
CPolicyServer::EAlwaysPass
};
+
static const CPolicyServer::TPolicy policy =
{
CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass
@@ -48,19 +54,25 @@
/**
* Class for Credential Manager Server.
- * Derives from CPolicyServer.
+ * Derives from CPolicyServer.
*/
class CSmfCredMgrServer : public CPolicyServer
{
public:
/**
- * New Methods
+ * NewL Method
+ * @return The constructed CSmfCredMgrServer instance
*/
static CSmfCredMgrServer * NewL();
+
+ /**
+ * NewLC Method
+ * @return The constructed CSmfCredMgrServer instance
+ */
static CSmfCredMgrServer* NewLC();
/**
- * destructor
+ * Destructor
*/
~CSmfCredMgrServer();
@@ -70,12 +82,11 @@
* is initiated by the client through a call to one of the
* RSessionBase::CreateSession() variants.
*/
- CSession2
- * NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
+ CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
private:
/**
- * constructor
+ * Constructor
*/
CSmfCredMgrServer();
--- a/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrserversession.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/inc/smfcredmgrserversession.h Thu Aug 05 16:48:48 2010 +0530
@@ -7,7 +7,10 @@
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
- * Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Sasken Communication Technologies Ltd
*
* Description:
* Header file for Credential Manager Server Session.
@@ -17,6 +20,7 @@
#define SMFCREDMGRSERVERSESSION_H_
#include <e32base.h>
+
#include "smfcredmgrserver.h"
#include "smfcredmgrclientdatastruct.h"
#include "smfkeystoremanager.h"
@@ -27,22 +31,29 @@
class CSmfCredMgrDbUser;
/**
- * Maximun size for buffer
+ * Maximum size for buffer
*/
const TInt KMaxBufSize = 512;
/**
* Class to establish a client session at server side.
- * Derives from CSession2
+ * Derives from CSession2
*/
class CSmfCredMgrServerSession : public CSession2
{
public:
/**
- * New Methods
+ * NewL Method
* @param aServer the server object
+ * @return The constructed CSmfCredMgrServerSession instance
*/
static CSmfCredMgrServerSession* NewL(CSmfCredMgrServer& aServer);
+
+ /**
+ * NewLC Method
+ * @param aServer the server object
+ * @return The constructed CSmfCredMgrServerSession instance
+ */
static CSmfCredMgrServerSession* NewLC(CSmfCredMgrServer& aServer);
/**
@@ -50,15 +61,7 @@
*/
~CSmfCredMgrServerSession();
- /**
- * Constructor
- * @param aServer The server object
- */
- CSmfCredMgrServerSession(CSmfCredMgrServer& aServer);
-
-public:
- // from CSession2
-
+public: // from CSession2
/**
* Handles the servicing of a client request that has been
* passed to the server
@@ -68,6 +71,12 @@
private:
/**
+ * Constructor
+ * @param aServer The server object
+ */
+ CSmfCredMgrServerSession(CSmfCredMgrServer& aServer);
+
+ /**
* Two-Phase constructor
*/
void ConstructL();
@@ -79,26 +88,24 @@
void storeInDb(CSmfStoreAuthParams* aParams);
/**
- * Retieves the plugin ids from Db
+ * Retrieves the plugin ids from Db
* @param aParams class object to be updated
*/
- void fetchPluginIDs(CSmfPluginIDListParams* aParams);
+ void fetchPluginIDsL(CSmfPluginIDListParams* aParams);
/**
- * Retieves the URLs from Db
+ * Retrieves the URLs from Db
* @param aArg class object to be updated
*/
- void fetchURLs(CSmfURLListParams* aArg);
+ void fetchUrlL(CSmfURLListParams* aArg);
/**
- * retrieves each token set from Db and updates the array of CSmfFetchAuthTokenSet
+ * Retrieves each token set from Db and updates the array of CSmfFetchAuthTokenSet
* @param aParams class containg the array to be filled
*/
- void getTokenArray(CSmfFetchAuthTokenSet* aParams);
-
+ void getTokenArrayL(CSmfFetchAuthTokenSet* aParams);
-private:
-
+private: // Data
CSmfCredMgrServer& iServer;
CSmfCredMgrDbUser* iDbUser;
CSmfKeyStoreManager* iKeyStore;
--- a/smf/smfcredentialmgr/smfcredmgrserver/inc/smfkeystoremanager.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/inc/smfkeystoremanager.h Thu Aug 05 16:48:48 2010 +0530
@@ -1,13 +1,22 @@
-/*
- * smfkeystoremanager.h
+/**
+ * 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"
*
- * Created on: 21.4.2010
- * Author: lassela
+ * Initial Contributors:
+ * Lasse Laasonen, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Description:
+ * This header contains routines handling RSA signing using Unified Key Store
*/
#ifndef SMFKEYSTOREMANAGER_H_
#define SMFKEYSTOREMANAGER_H_
+// Include files
#include <e32base.h>
#include <f32file.h>
@@ -27,36 +36,99 @@
class CSmfKeyStoreManager : public CActive
{
public:
+ /**
+ * NewL Method
+ * @return The constructed CSmfKeyStoreManager instance
+ */
static CSmfKeyStoreManager* NewL();
+
+ /**
+ * NewLC Method
+ * @return The constructed CSmfKeyStoreManager instance
+ */
static CSmfKeyStoreManager* NewLC();
+ /**
+ * Destructor
+ */
~CSmfKeyStoreManager();
+ /**
+ * HandleMessageL
+ * @param aMessage
+ */
void HandleMessageL( const RMessage2& aMessage );
// void GenerateKeyL( const RMessage2& aMessage );
// void StoreRSAKeyL( const RMessage2& aMessage );
private: // from CActive
+ /**
+ * RunL
+ */
void RunL();
+
+ /**
+ * DoCancel
+ */
void DoCancel();
+
+ /**
+ * RunError
+ * @param aError
+ * @return
+ */
TInt RunError(TInt aError);
private:
+ /**
+ * Constructor
+ */
CSmfKeyStoreManager();
+
+ /**
+ * Two-phase constructor
+ */
void ConstructL();
+ /**
+ * ContinueMessageHandlingL
+ */
void ContinueMessageHandlingL();
+ /**
+ * StoreRSAKeyL
+ */
void StoreRSAKeyL();
+
+ /**
+ * RSA_SHA1_SignMessageL
+ */
void RSA_SHA1_SignMessageL();
+
+ /**
+ * HMAC_SHA1_SignMessageL
+ */
void HMAC_SHA1_SignMessageL();
- void DeleteKeys();
+ /**
+ * DeleteKeysL
+ */
+ void DeleteKeysL();
+ /**
+ * SetPassphraseTimeout
+ */
void SetPassphraseTimeout();
+ /**
+ * ReadSignParametersL
+ */
void ReadSignParametersL();
+
+ /**
+ * ReadRsaKeyParametersL
+ */
void ReadRsaKeyParametersL();
private:
@@ -89,5 +161,4 @@
};
-
#endif /* SMFKEYSTOREMANAGER_H_ */
Binary file smf/smfcredentialmgr/smfcredmgrserver/sis/SmfCredMgrServer_EKA2.sis has changed
Binary file smf/smfcredentialmgr/smfcredmgrserver/sis/SmfCredMgrServer_EKA2.sisx has changed
--- a/smf/smfcredentialmgr/smfcredmgrserver/smfcredmgrserver.pro Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/smfcredmgrserver.pro Thu Aug 05 16:48:48 2010 +0530
@@ -12,6 +12,14 @@
TEMPLATE = subdirs
symbian:
{
+ TARGET.CAPABILITY = NetworkServices \
+ ReadUserData \
+ WriteUserData \
+ LocalServices \
+ UserEnvironment \
+ ReadDeviceData \
+ WriteDeviceData
+
BLD_INF_RULES.prj_mmpfiles = "group/smfcredmgrserver.mmp"
}
--- a/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrdb.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrdb.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -1,13 +1,31 @@
/**
- * SmfCredMgrDb.cpp
+ * 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"
*
- * Created on: Apr 27, 2010
- * Author: pritam
+ * Initial Contributors:
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Nalina Hariharan, Sasken Communication Technologies Ltd
+ *
+ * Description:
+ * This header defines the database-table and the creation of database that will be
+ * used by the Credential Manager Server to store all the credentials related
+ * to an Authentication Application
*/
-#include "smfcredmgrdb.h"
#include <BAUTILS.H>
+#include "smfcredmgrdb.h"
+
+/**
+ * NewL Method
+ * @return The constructed CSmfCredMgrDb instance
+ */
CSmfCredMgrDb* CSmfCredMgrDb::NewL()
{
CSmfCredMgrDb* self = CSmfCredMgrDb::NewLC();
@@ -15,6 +33,10 @@
return (self);
}
+/**
+ * NewLC Method
+ * @return The constructed CSmfCredMgrDb instance
+ */
CSmfCredMgrDb* CSmfCredMgrDb::NewLC()
{
CSmfCredMgrDb* self = new (ELeave) CSmfCredMgrDb();
@@ -23,6 +45,9 @@
return (self);
}
+/**
+ * Constructor
+ */
CSmfCredMgrDb::CSmfCredMgrDb()
{
RDebug::Printf("in constructor db");
@@ -51,27 +76,25 @@
//Reset if necessary
}
-
}
+/**
+ * Destructor
+ */
CSmfCredMgrDb::~CSmfCredMgrDb()
{
//delete db file
-
iDataBase.Close();
iFileSession.Close();
RDebug::Printf("in destructor db");
}
-void CSmfCredMgrDb::CompleteDBCreationL(const TFileName &aFileName)
- {
- User::LeaveIfError(CreateDbFile(aFileName));
- User::LeaveIfError(PluginIDTableCreate());
- User::LeaveIfError(URLTableCreate());
- User::LeaveIfError(RegTokenValidityTableCreate());
- User::LeaveIfError(AuthParamsTableCreate());
- }
-
+/**
+ * Method to create the Db file
+ * @param aFileName The file name
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDb::CreateDbFile(const TFileName &aFileName)
{
TInt err(KErrNone);
@@ -82,9 +105,26 @@
DeleteDbFile(aFileName);
}
return err;
-
}
+/**
+ * Method to create the Db tables
+ * @param aFileName The Db file name
+ */
+void CSmfCredMgrDb::CompleteDBCreationL(const TFileName &aFileName)
+ {
+ User::LeaveIfError(CreateDbFile(aFileName));
+ User::LeaveIfError(PluginIDTableCreate());
+ User::LeaveIfError(URLTableCreate());
+ User::LeaveIfError(RegTokenValidityTableCreate());
+ User::LeaveIfError(AuthParamsTableCreate());
+ }
+
+/**
+ * Creates the Plugin Id table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDb::PluginIDTableCreate()
{
TInt err(KErrNone);
@@ -98,6 +138,11 @@
return err;
}
+/**
+ * Creates the URL table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDb::URLTableCreate()
{
TInt err(KErrNone);
@@ -111,6 +156,11 @@
return err;
}
+/**
+ * Creates the RegistrationToken-Validity Table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDb::RegTokenValidityTableCreate()
{
TInt err(KErrNone);
@@ -124,6 +174,11 @@
return err;
}
+/**
+ * Creates the Authentication Parameters Table
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDb::AuthParamsTableCreate()
{
TInt err(KErrNone);
@@ -137,6 +192,12 @@
return err;
}
+/**
+ * Deletes the Db
+ * @param aFileName The Db file name
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDb::DeleteDbFile(const TFileName &aFileName)
{
//close the sql handle before deleting
--- a/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrdbuser.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrdbuser.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -7,7 +7,10 @@
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
- * Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Nalina Hariharan, Sasken Communication Technologies Ltd
*
* Description:
* This file contains routines to handle the data-base operations like insertion, query etc.
@@ -15,9 +18,15 @@
*/
#include <BAUTILS.H>
+
#include "smfcredmgrdbuser.h"
#include "smfcredmgrdb.h"
+/**
+ * NewL function
+ * @param aSession the session object using this class
+ * @return The constructed CSmfCredMgrDbUser instance
+ */
CSmfCredMgrDbUser* CSmfCredMgrDbUser::NewL(CSmfCredMgrServerSession* aSession)
{
CSmfCredMgrDbUser* self = CSmfCredMgrDbUser::NewLC(aSession);
@@ -25,6 +34,12 @@
return (self);
}
+/**
+ * NewLC function. This method adds the return value to the
+ * Cleanup Stack if constructed
+ * @param aSession the session object using this class
+ * @return The constructed CSmfCredMgrDbUser instance
+ */
CSmfCredMgrDbUser* CSmfCredMgrDbUser::NewLC(CSmfCredMgrServerSession* aSession)
{
CSmfCredMgrDbUser* self = new (ELeave) CSmfCredMgrDbUser(aSession);
@@ -33,6 +48,9 @@
return (self);
}
+/**
+ * Two phase constructor
+ */
void CSmfCredMgrDbUser::ConstructL()
{
TInt err = iFileSession.Connect();
@@ -71,17 +89,33 @@
}
}
+/**
+ * Constructor
+ * @param aSession The CSmfCredMgrServerSession instance
+ */
CSmfCredMgrDbUser::CSmfCredMgrDbUser(CSmfCredMgrServerSession* aSession) :
iSession(aSession)
{
}
+/**
+ * Destructor
+ */
CSmfCredMgrDbUser::~CSmfCredMgrDbUser()
{
iFileSession.Close();
iDataBase.Close();
}
+/**
+ * Method to insert PluginIDTable
+ * @param aPluginID The ID of the plugin
+ * @param aAuthAppId The ID of the Authentication app associated with the plugin
+ * @param aEnableFlag A flag to indicate if the plugin is enabled,
+ * i.e, aEnableFlag = 0 for a disabled plugin
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDbUser::PluginIDTableInsert(const TDesC& aPluginId,
const TDesC& aAuthAppId, TBool aEnableFlag)
{
@@ -135,6 +169,13 @@
return err;
}
+/**
+ * Method to insert URLTable
+ * @param aAuthAppId The ID of the Authentication app associated with the URLs
+ * @param aURL The URL to be stored
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDbUser::URLTableInsert(const TDesC& aAuthAppId,
const TDesC& aURL)
{
@@ -185,6 +226,14 @@
return err;
}
+/**
+ * Method to insert RegTokenValidityTable
+ * @param aRegToken The Registration token for the authentication app
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aValidity The time by which the set will expire
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDbUser::RegTokenValidityTableInsert(const TDesC& aRegToken,
const TDesC& aAuthAppId, const TUint aValidity)
{
@@ -239,6 +288,14 @@
}
+/**
+ * Method to insert AuthParamsTable
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aKey The Key
+ * @param aSecret The Secret
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDbUser::AuthParamsTableInsert(const TDesC& aAuthAppId,
const TDesC& aKey, const TDesC& aSecret)
{
@@ -293,55 +350,25 @@
return err;
}
-void CSmfCredMgrDbUser::readFlagInPluginIdTable(const TDesC& aPluginID,
- TInt& aFlag)
+/**
+ * Method to fetch all the plugins associated with the registration token
+ * @param aRegToken The Registration token of the authentication app
+ * @param aArray [out] The array to be updated with plugin ids
+ */
+void CSmfCredMgrDbUser::fetchPluginListL(const TDesC& aRegToken, RPointerArray<
+ HBufC>& aArray)
{
- TInt err(KErrNone);
-
- RSqlStatement sqlReadStatement;
- TInt paramIndex(KErrNone);
-
- err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadFlagInPluginTable);
-
- paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
- err = sqlReadStatement.BindText(paramIndex, aPluginID);
-
- while ((err = sqlReadStatement.Next()) == KSqlAtRow)
- {
- //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
- if (!sqlReadStatement.IsNull(0))
- {
- aFlag = sqlReadStatement.ColumnInt(0);
- }
- }
- sqlReadStatement.Close();
+ TBuf<KMaxBufSize> authAppID;
+ readAuthAppIdInRegTokenTable(aRegToken, authAppID);
+ readPluginIdL(authAppID, aArray);
}
-void CSmfCredMgrDbUser::readAuthAppIdInPluginIdTable(const TDesC& aPluginID,
- TDes& aAuthAppId)
- {
- TInt err(KErrNone);
-
- RSqlStatement sqlReadStatement;
- TInt paramIndex(KErrNone);
-
- err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadAuthAppIdInPluginTable);
-
- paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
- err = sqlReadStatement.BindText(paramIndex, aPluginID);
-
- while ((err = sqlReadStatement.Next()) == KSqlAtRow)
- {
- //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
- if (!sqlReadStatement.IsNull(0))
- {
- sqlReadStatement.ColumnText(0, aAuthAppId);
- }
- }
- sqlReadStatement.Close();
- }
-
-void CSmfCredMgrDbUser::readAuthTokens(const TDesC& aAuthAppId, RArray<
+/**
+ * Method to Key-Secret pairs of the Authentication app
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aArray [out] The array containing the key-secret pair
+ */
+void CSmfCredMgrDbUser::readAuthTokensL(const TDesC& aAuthAppId, RArray<
TSmfAuthToken>& aArray)
{
TInt err(KErrNone);
@@ -383,14 +410,112 @@
sqlReadStatement.Close();
}
-void CSmfCredMgrDbUser::fetchPluginList(const TDesC& aRegToken, RPointerArray<
- HBufC>& aArray)
+/**
+ * Method to fetch all the URLs associated with the Authentication app
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aArray [out] The array to be updated with URLs
+ */
+void CSmfCredMgrDbUser::readUrlL(const TDesC& aAuthAppId,
+ RPointerArray<HBufC>& aArray)
{
- TBuf<KMaxBufSize> authAppID;
- readAuthAppIdInRegTokenTable(aRegToken, authAppID);
- readPluginId(authAppID, aArray);
+ TInt err(KErrNone);
+
+ RSqlStatement sqlReadStatement;
+ TInt paramIndex(KErrNone);
+
+ err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadURL);
+ paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
+ err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
+
+ while ((err = sqlReadStatement.Next()) == KSqlAtRow)
+ {
+ //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
+ if (!sqlReadStatement.IsNull(0))
+ {
+ TBuf<KMaxBufSize> urlBuf;
+ HBufC* buf = HBufC::NewL(KMaxBufSize);
+ sqlReadStatement.ColumnText(0, urlBuf);
+ buf->Des().Copy(urlBuf);
+ aArray.Append(buf);
+ }
+ else
+ {
+ __ASSERT_DEBUG( 0, User::Invariant());
+ }
+ }
+ sqlReadStatement.Close();
}
+/**
+ * Method to fetch Validity of the Authentication app
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aValidity [out] The time by which the Auth set will expire
+ */
+void CSmfCredMgrDbUser::readValidity(const TDesC& aAuthAppId, TInt64& aValidity)
+ {
+ TInt err(KErrNone);
+
+ RSqlStatement sqlReadStatement;
+ TInt paramIndex(KErrNone);
+
+ err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadValidity);
+ paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
+ err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
+
+ while ((err = sqlReadStatement.Next()) == KSqlAtRow)
+ {
+ //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
+ if (!sqlReadStatement.IsNull(0))
+ {
+ aValidity = sqlReadStatement.ColumnInt64(1);
+ }
+ else
+ {
+ __ASSERT_DEBUG( 0, User::Invariant());
+ }
+ }
+ sqlReadStatement.Close();
+
+ }
+
+/**
+ * Method to fetch Registration token of the Authentication app from RegTokenValidityTable
+ * @param aAuthAppId The ID of the Authentication app
+ * @param aRegToken [out] The Registration token of the authentication app
+ */
+void CSmfCredMgrDbUser::readRegistrationTokenL(const TDesC& aAuthAppId,
+ TDesC& aRegToken)
+ {
+ TInt err(KErrNone);
+
+ RSqlStatement sqlReadStatement;
+ TInt paramIndex(KErrNone);
+
+ err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadRegistrationToken);
+ paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
+ err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
+
+ while ((err = sqlReadStatement.Next()) == KSqlAtRow)
+ {
+ //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
+ if (!sqlReadStatement.IsNull(0))
+ {
+ aRegToken = sqlReadStatement.ColumnTextL(0);//aKey.AllocL();
+ }
+ else
+ {
+ __ASSERT_DEBUG( 0, User::Invariant());
+ }
+ }
+ sqlReadStatement.Close();
+ }
+
+/**
+ * Method to fetch Authentication app ID from RegTokenValidityTable
+ * giving the reg token
+ * @param aRegToken The Registration token of the authentication app
+ * @param aAuthAppId [out] The ID of the Authentication app
+ */
void CSmfCredMgrDbUser::readAuthAppIdInRegTokenTable(const TDesC& aRegToken,
TDes& aAuthAppId)
{
@@ -423,126 +548,76 @@
}
sqlReadStatement.Close();
}
-void CSmfCredMgrDbUser::readPluginId(const TDesC& aAuthAppId, RPointerArray<
- HBufC>& aArray)
- {
- TInt err(KErrNone);
- RSqlStatement sqlReadStatement;
- TInt paramIndex(KErrNone);
- TInt flag;
- err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadPluginID);
- paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
- err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
- while ((err = sqlReadStatement.Next()) == KSqlAtRow)
- {
- //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
- if (!sqlReadStatement.IsNull(0))
- {
- flag = sqlReadStatement.ColumnInt(1);
- if (flag > 0)
- {
- TBuf<KMaxBufSize> pluginbuf;
- HBufC* buf = HBufC::NewL(KMaxBufSize);
- sqlReadStatement.ColumnText(0, pluginbuf);
- buf->Des().Copy(pluginbuf);
- aArray.Append(buf);
- }
- }
- else
- {
- __ASSERT_DEBUG( 0, User::Invariant());
- }
- }
- sqlReadStatement.Close();
- }
-
-void CSmfCredMgrDbUser::readURL(const TDesC& aAuthAppId,
- RPointerArray<HBufC>& aArray)
+/**
+ * Method to fetch Authentication app ID from PluginIDTable giving the plugin ID
+ * @param aPluginID the ID of the plugin
+ * @param aAuthAppId [out] ID of the Authentication app
+ */
+void CSmfCredMgrDbUser::readAuthAppIdInPluginIdTable(const TDesC& aPluginID,
+ TDes& aAuthAppId)
{
TInt err(KErrNone);
RSqlStatement sqlReadStatement;
TInt paramIndex(KErrNone);
- err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadURL);
+ err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadAuthAppIdInPluginTable);
+
paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
- err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
+ err = sqlReadStatement.BindText(paramIndex, aPluginID);
while ((err = sqlReadStatement.Next()) == KSqlAtRow)
{
//sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
if (!sqlReadStatement.IsNull(0))
{
- TBuf<KMaxBufSize> urlBuf;
- HBufC* buf = HBufC::NewL(KMaxBufSize);
- sqlReadStatement.ColumnText(0, urlBuf);
- buf->Des().Copy(urlBuf);
- aArray.Append(buf);
- }
- else
- {
- __ASSERT_DEBUG( 0, User::Invariant());
+ sqlReadStatement.ColumnText(0, aAuthAppId);
}
}
sqlReadStatement.Close();
}
-void CSmfCredMgrDbUser::readValidity(const TDesC& aAuthAppId, TInt64& aValidity)
+/**
+ * Method to read the IsEnabled flag from plugin Id table
+ * @param aPluginID The ID of the plugin
+ * @param aFlag [out] The flag that indicates the plugin id is enables or disabled
+ */
+void CSmfCredMgrDbUser::readFlagInPluginIdTable(const TDesC& aPluginID,
+ TInt& aFlag)
{
TInt err(KErrNone);
RSqlStatement sqlReadStatement;
TInt paramIndex(KErrNone);
- err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadValidity);
+ err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadFlagInPluginTable);
+
paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
- err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
+ err = sqlReadStatement.BindText(paramIndex, aPluginID);
while ((err = sqlReadStatement.Next()) == KSqlAtRow)
{
//sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
if (!sqlReadStatement.IsNull(0))
{
- aValidity = sqlReadStatement.ColumnInt64(1);
- }
- else
- {
- __ASSERT_DEBUG( 0, User::Invariant());
- }
- }
- sqlReadStatement.Close();
-
- }
-
-void CSmfCredMgrDbUser::readRegistrationToken(const TDesC& aAuthAppId,
- TDesC& aRegToken)
- {
- TInt err(KErrNone);
-
- RSqlStatement sqlReadStatement;
- TInt paramIndex(KErrNone);
-
- err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadRegistrationToken);
- paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
- err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
-
- while ((err = sqlReadStatement.Next()) == KSqlAtRow)
- {
- //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
- if (!sqlReadStatement.IsNull(0))
- {
- aRegToken = sqlReadStatement.ColumnTextL(0);//aKey.AllocL();
- }
- else
- {
- __ASSERT_DEBUG( 0, User::Invariant());
+ aFlag = sqlReadStatement.ColumnInt(0);
}
}
sqlReadStatement.Close();
}
+
+
+/**
+ * Method to change a plugin id in plugin Id table
+ * @param aNewPluginID The ID of the new plugin
+ * @param aFlag The flag that indicates the plugin id is enables or disabled
+ * @param aOldPluginID The ID of the plugin to be replaced
+ * @return Returns KErrNone if success. Refer ESqlDbError and system-wide
+ * error codes for detailed error description.
+ */
TInt CSmfCredMgrDbUser::updatePlugin(const TDesC& aPluginID,
const TBool& aFlag, const TDesC& aOldPluginID)
{
@@ -595,3 +670,44 @@
}
return err;
}
+
+/**
+ * Method to fetch the list of plugin ids associated with Authentication App id,
+ * it is called internally by fetchPluginList().
+ * @param aAuthAppId ID of the Authentication app
+ * @param aArray [out] The array to be updated with plugin ids
+ */
+void CSmfCredMgrDbUser::readPluginIdL(const TDesC& aAuthAppId, RPointerArray<
+ HBufC>& aArray)
+ {
+ TInt err(KErrNone);
+ RSqlStatement sqlReadStatement;
+ TInt paramIndex(KErrNone);
+ TInt flag;
+
+ err = sqlReadStatement.Prepare(iDataBase, KSmfDbReadPluginID);
+ paramIndex = sqlReadStatement.ParameterIndex(_L(":iID"));
+ err = sqlReadStatement.BindText(paramIndex, aAuthAppId);
+
+ while ((err = sqlReadStatement.Next()) == KSqlAtRow)
+ {
+ //sometimes sqlStmt.Next returns KSqlAtRow even if no row is present
+ if (!sqlReadStatement.IsNull(0))
+ {
+ flag = sqlReadStatement.ColumnInt(1);
+ if (flag > 0)
+ {
+ TBuf<KMaxBufSize> pluginbuf;
+ HBufC* buf = HBufC::NewL(KMaxBufSize);
+ sqlReadStatement.ColumnText(0, pluginbuf);
+ buf->Des().Copy(pluginbuf);
+ aArray.Append(buf);
+ }
+ }
+ else
+ {
+ __ASSERT_DEBUG( 0, User::Invariant());
+ }
+ }
+ sqlReadStatement.Close();
+ }
--- a/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrserver.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrserver.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -7,10 +7,13 @@
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
- * Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Sasken Communication Technologies Ltd
*
* Description:
- * Routines for Credential Manager Server.
+ * Routines for Credential Manager Server
*/
// Include Files
@@ -52,7 +55,6 @@
// Server process entry-point
TInt E32Main()
{
-
__UHEAP_MARK;
CTrapCleanup* cleanup = CTrapCleanup::New();
@@ -67,15 +69,10 @@
return r;
}
-CSmfCredMgrServer::CSmfCredMgrServer() :
- CPolicyServer(CActive::EPriorityStandard, policy, EUnsharableSessions)
- {
-
- }
-
/**
* CSmfCredMgrServer::NewL()
* Two-phased constructor.
+ * @return The constructed CSmfCredMgrServer instance
*/
CSmfCredMgrServer* CSmfCredMgrServer::NewL()
{
@@ -87,6 +84,7 @@
/**
* CSmfCredMgrServer::NewLC()
* Two-phased constructor.
+ * @return The constructed CSmfCredMgrServer instance
*/
CSmfCredMgrServer* CSmfCredMgrServer::NewLC()
{
@@ -97,12 +95,20 @@
}
/**
+ * Constructor
+ */
+CSmfCredMgrServer::CSmfCredMgrServer() :
+ CPolicyServer(CActive::EPriorityStandard, policy, EUnsharableSessions)
+ {
+
+ }
+
+/**
* CSmfCredMgrServer::ConstructL()
* Symbian 2nd phase constructor can leave.
*/
void CSmfCredMgrServer::ConstructL()
{
-
iDbCreator = CSmfCredMgrDb::NewL();
StartL(KCredMgrServerName);
RDebug::Printf("in constructor CSmfCredMgrServer");
--- a/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrserversession.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrserversession.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -7,7 +7,10 @@
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
- * Pritam Roy Biswas, Sasken Communication Technologies Ltd - Initial contribution
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Contributors:
+ * Pritam Roy Biswas, Sasken Communication Technologies Ltd
*
* Description:
* Header file for Credential Manager Server Session.
@@ -22,21 +25,15 @@
#include <smfcredmgrclientdatastruct.h>
#include <smfutils.h>
-
#include "smfcredmgrserversession.h"
#include "smfcredmgrserver.h"
#include "smfcredmgrdbuser.h"
-CSmfCredMgrServerSession* CSmfCredMgrServerSession::NewLC(
- CSmfCredMgrServer& aServer)
- {
- CSmfCredMgrServerSession* self = new (ELeave) CSmfCredMgrServerSession(
- aServer);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
+/**
+ * NewL Method
+ * @param aServer the server object
+ * @return The constructed CSmfCredMgrServerSession instance
+ */
CSmfCredMgrServerSession* CSmfCredMgrServerSession::NewL(
CSmfCredMgrServer& aServer)
{
@@ -45,18 +42,42 @@
return self;
}
+/**
+ * NewLC Method
+ * @param aServer the server object
+ * @return The constructed CSmfCredMgrServerSession instance
+ */
+CSmfCredMgrServerSession* CSmfCredMgrServerSession::NewLC(
+ CSmfCredMgrServer& aServer)
+ {
+ CSmfCredMgrServerSession* self = new (ELeave) CSmfCredMgrServerSession(aServer);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+/**
+ * Constructor
+ * @param aServer The server object
+ */
CSmfCredMgrServerSession::CSmfCredMgrServerSession(CSmfCredMgrServer& aServer) :
iServer(aServer)
{
RDebug::Printf("in constructor CSmfCredMgrServerSession");
}
+/**
+ * Two-Phase constructor
+ */
void CSmfCredMgrServerSession::ConstructL()
{
iDbUser = CSmfCredMgrDbUser::NewL(this);
iKeyStore = CSmfKeyStoreManager::NewL();
}
+/**
+ * Destructor
+ */
CSmfCredMgrServerSession::~CSmfCredMgrServerSession()
{
RDebug::Printf("in destructor CSmfCredMgrServerSession");
@@ -64,12 +85,16 @@
delete iKeyStore;
}
+/**
+ * Handles the servicing of a client request that has been
+ * passed to the server
+ * @param aMessage The message containing the details of the client request
+ */
void CSmfCredMgrServerSession::ServiceL(const RMessage2& aMessage)
{
TInt err = KErrNone;
switch (aMessage.Function())
{
-
case ESendAuthDataSet:
{
//create buffer to read the received data
@@ -84,7 +109,7 @@
fetchAuthTokenSetParams->InternalizeL(dataBuf);
- getTokenArray(fetchAuthTokenSetParams);
+ getTokenArrayL(fetchAuthTokenSetParams);
//create buffer to serialize the data to be sent
CBufFlat* buf = CBufFlat::NewL(512);
@@ -146,7 +171,7 @@
fetchURLListParams->InternalizeL(dataBuf);
- fetchURLs(fetchURLListParams);
+ fetchUrlL(fetchURLListParams);
//to serialize data we need a buffer
CBufFlat* buf = CBufFlat::NewL(512);
@@ -183,7 +208,7 @@
CleanupStack::PushL(fetchPluginListParams);
fetchPluginListParams->InternalizeL(dataBuf);
- fetchPluginIDs(fetchPluginListParams);
+ fetchPluginIDsL(fetchPluginListParams);
//to serialize data we need a buffer
CBufFlat* buf = CBufFlat::NewL(512);
@@ -260,23 +285,43 @@
authenticationProcessData->InternalizeL(dataBuf);
+ //generate cryptographically secure random number.
+ TRandom generator;
+ TBuf8<KMaxRegistrationTokenLength> randNum;
+ randNum.SetLength(randNum.MaxLength());
+ generator.RandomL(randNum);
+
+ //assign it to iRegistrationToken
+ authenticationProcessData->iRegistrationToken = HBufC::NewL(/*regToken.Length()*/KMaxRegistrationTokenLength);;
+
+ TPtr regTokenPtr(authenticationProcessData->iRegistrationToken->Des());
+ regTokenPtr.Copy(randNum);
- TBuf8<56> regToken;
- regToken.SetLength(regToken.MaxLength());
- TRandom::RandomL(regToken);
- authenticationProcessData->iRegistrationToken = HBufC::NewL(KMaxRegistrationTokenLength);
- TPtr tokenPtr(authenticationProcessData->iRegistrationToken->Des());
- tokenPtr.Copy(regToken);
storeInDb(authenticationProcessData);
- aMessage.WriteL(1, regToken);
+ //to serialize data we need a buffer
+ CBufFlat* buf = CBufFlat::NewL(KMaxBufSize);
+ CleanupStack::PushL(buf);
+ RBufWriteStream stream(*buf);
+ CleanupClosePushL(stream);
+
+ authenticationProcessData->ExternalizeL(stream);
+
+ stream.CommitL();
+
+ TPtr8 bufPtr = buf->Ptr(0);
+
+ TInt err = aMessage.Write(1, bufPtr);
+
+ CleanupStack::PopAndDestroy(&stream);
+ CleanupStack::PopAndDestroy(buf);
- CleanupStack::PopAndDestroy(authenticationProcessData->iRegistrationToken);
CleanupStack::PopAndDestroy(authenticationProcessData);
CleanupStack::PopAndDestroy(&dataBuf);
aMessage.Complete(err);
}
break;
+
case ESmfHMACSHA1SignMessage:
case ESmfRSASignMessage:
case ESmfStoreRSAKey:
@@ -291,14 +336,18 @@
}
}
+/**
+ * Stores data to Db during Authentication process
+ * @param aParams class containg the data to be stored at Db
+ */
void CSmfCredMgrServerSession::storeInDb(
CSmfStoreAuthParams* aAuthenticationProcessData)
{
TBuf<KMaxBufSize> authAppIDbuf(
aAuthenticationProcessData->iAuthAppID->Des());
-
+ TBuf<KMaxBufSize> regTokenBuf(aAuthenticationProcessData->iRegistrationToken->Des());
iDbUser->RegTokenValidityTableInsert(
- aAuthenticationProcessData->iRegistrationToken->Des(),
+ regTokenBuf,
authAppIDbuf, aAuthenticationProcessData->iValidity);
for (int i = 0; i < aAuthenticationProcessData->iAuthTokenArray.Count(); i++)
@@ -325,25 +374,35 @@
}
}
-void CSmfCredMgrServerSession::fetchPluginIDs(CSmfPluginIDListParams* aParams)
+/**
+ * Retrieves the plugin ids from Db
+ * @param aParams class object to be updated
+ */
+void CSmfCredMgrServerSession::fetchPluginIDsL(CSmfPluginIDListParams* aParams)
{
TBuf<KMaxBufSize> tokenBuf(aParams->iRegistrationToken->Des());
- iDbUser->fetchPluginList(tokenBuf, aParams->iPluginList);
+ iDbUser->fetchPluginListL(tokenBuf, aParams->iPluginList);
}
-void CSmfCredMgrServerSession::fetchURLs(CSmfURLListParams* aArg)
+/**
+ * Retrieves the URLs from Db
+ * @param aArg class object to be updated
+ */
+void CSmfCredMgrServerSession::fetchUrlL(CSmfURLListParams* aArg)
{
TBuf<KMaxBufSize> authAppIDBuf;
iDbUser->readAuthAppIdInPluginIdTable(aArg->iPluginID->Des(), authAppIDBuf);
- iDbUser->readURL(authAppIDBuf, aArg->iURLList);
+ iDbUser->readUrlL(authAppIDBuf, aArg->iURLList);
}
-
-void CSmfCredMgrServerSession::getTokenArray(CSmfFetchAuthTokenSet* aParams)
+/**
+ * Retrieves each token set from Db and updates the array of CSmfFetchAuthTokenSet
+ * @param aParams class containg the array to be filled
+ */
+void CSmfCredMgrServerSession::getTokenArrayL(CSmfFetchAuthTokenSet* aParams)
{
TBuf<KMaxBufSize> authAppIDBuf;
iDbUser->readAuthAppIdInRegTokenTable(aParams->iRegistrationToken->Des(),
authAppIDBuf);
- iDbUser->readAuthTokens(authAppIDBuf, aParams->iAuthTokenArray);
+ iDbUser->readAuthTokensL(authAppIDBuf, aParams->iAuthTokenArray);
}
-
--- a/smf/smfcredentialmgr/smfcredmgrserver/src/smfkeystoremanager.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfcredentialmgr/smfcredmgrserver/src/smfkeystoremanager.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -22,14 +22,23 @@
#include <smfcredmgrclientdatastruct.h>
#include <smfcredmgrcommon.h>
#include <hash.h>
+
#include "smfkeystoremanager.h"
+/**
+ * NewL Method
+ * @return The constructed CSmfKeyStoreManager instance
+ */
CSmfKeyStoreManager* CSmfKeyStoreManager::NewL() {
CSmfKeyStoreManager* self = CSmfKeyStoreManager::NewLC();
CleanupStack::Pop( self );
return self;
}
+/**
+ * NewLC Method
+ * @return The constructed CSmfKeyStoreManager instance
+ */
CSmfKeyStoreManager* CSmfKeyStoreManager::NewLC() {
CSmfKeyStoreManager* self = new( ELeave )CSmfKeyStoreManager();
CleanupStack::PushL( self );
@@ -37,6 +46,9 @@
return self;
}
+/**
+ * Destructor
+ */
CSmfKeyStoreManager::~CSmfKeyStoreManager() {
iFs.Close();
@@ -48,6 +60,10 @@
}
+/**
+ * HandleMessageL
+ * @param aMessage
+ */
void CSmfKeyStoreManager::HandleMessageL( const RMessage2& aMessage )
{
RDebug::Printf("SMF: CSmfKeyStoreManager::HandleMessageL");
@@ -58,6 +74,9 @@
}
}
+/**
+ * RunL
+ */
void CSmfKeyStoreManager::RunL()
{
RDebug::Printf("SMF: CSmfKeyStoreManager::RunL, iStatus=%d", iStatus.Int() );
@@ -141,7 +160,7 @@
}
case EDeletingKey:
{
- DeleteKeys();
+ DeleteKeysL();
break;
}
#endif
@@ -157,9 +176,17 @@
}
}
+/**
+ * DoCancel
+ */
void CSmfKeyStoreManager::DoCancel() {
}
+/**
+ * RunError
+ * @param aError
+ * @return
+ */
TInt CSmfKeyStoreManager::RunError( TInt aError ) {
RDebug::Printf("SMF: CSmfKeyStoreManager::RunError error=%d", aError);
@@ -172,11 +199,17 @@
return KErrNone;
}
+/**
+ * Constructor
+ */
CSmfKeyStoreManager::CSmfKeyStoreManager()
:CActive(EPriorityStandard), iState(EInitializingKeystore)
{
}
+/**
+ * Two-phase constructor
+ */
void CSmfKeyStoreManager::ConstructL() {
RDebug::Printf("SMF: CSmfKeyStoreManager::ConstructL");
CActiveScheduler::Add( this );
@@ -190,6 +223,9 @@
#endif
}
+/**
+ * ContinueMessageHandlingL
+ */
void CSmfKeyStoreManager::ContinueMessageHandlingL()
{
RDebug::Printf("SMF: CSmfKeyStoreManager::ContinueMessageHandling");
@@ -221,12 +257,15 @@
}
case ESmfDeleteKeys:
{
- DeleteKeys();
+ DeleteKeysL();
break;
}
}
}
+/**
+ * StoreRSAKeyL
+ */
void CSmfKeyStoreManager::StoreRSAKeyL()
{
#ifdef SYMBIAN_V3
@@ -245,6 +284,9 @@
#endif
}
+/**
+ * RSA_SHA1_SignMessageL
+ */
void CSmfKeyStoreManager::RSA_SHA1_SignMessageL()
{
@@ -275,6 +317,7 @@
if ( iKeys[i]->ID() == iSignParameters->Key() )
{
RDebug::Printf("SMF: Correct key found");
+ //might panic in CodeScanner, this open returns void
iKeyStore->Open( *iKeys[i], iRSASigner, iStatus );
iState = EGettingRSASigner;
keyFound = ETrue;
@@ -305,6 +348,9 @@
#endif
}
+/**
+ * HMAC_SHA1_SignMessageL
+ */
void CSmfKeyStoreManager::HMAC_SHA1_SignMessageL()
{
ReadSignParametersL();
@@ -331,7 +377,10 @@
iSignParameters = NULL;
}
-void CSmfKeyStoreManager::DeleteKeys()
+/**
+ * DeleteKeysL
+ */
+void CSmfKeyStoreManager::DeleteKeysL()
{
RDebug::Printf("SMF: CSmfKeyStoreManager::DeleteKeys");
#ifdef SYMBIAN_V3
@@ -381,6 +430,9 @@
#endif
}
+/**
+ * SetPassphraseTimeout
+ */
void CSmfKeyStoreManager::SetPassphraseTimeout()
{
#ifdef SYMBIAN_V3
@@ -390,6 +442,9 @@
#endif
}
+/**
+ * ReadSignParametersL
+ */
void CSmfKeyStoreManager::ReadSignParametersL()
{
RMessage2* message = iMessages[0];
@@ -406,6 +461,9 @@
CleanupStack::PopAndDestroy( &dataBuf );
}
+/**
+ * ReadRsaKeyParametersL
+ */
void CSmfKeyStoreManager::ReadRsaKeyParametersL()
{
RMessage2* message = iMessages[0];
@@ -422,6 +480,3 @@
CleanupStack::PopAndDestroy( &dataBuf );
}
-
-
-
--- a/smf/smfservermodule/bld.inf Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-// ============================================================================
-// * Makefile for building: smfservermodule
-// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-05-05T13:58:12
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project: smfservermodule.pro
-// * Template: subdirs
-// ============================================================================
-
-#define BLD_INF_SMFSERVERMODULE_0FBFD7DA
-
-#ifndef BLD_INF_SMFSERVER_F2DC1A17
- #include "smfserver\bld.inf"
-#endif // BLD_INF_SMFSERVER_F2DC1A17
-#ifndef BLD_INF_SMFCLIENT_F2F312E7
- #include "smfclient\bld.inf"
-#endif // BLD_INF_SMFCLIENT_F2F312E7
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-
-prj_extensions
-
--- a/smf/smfservermodule/bwins/smfclientu.def Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-EXPORTS
- ??0SmfAlbum@@QAE@ABV0@@Z @ 1 NONAME ; SmfAlbum::SmfAlbum(class SmfAlbum const &)
- ??0SmfAlbum@@QAE@XZ @ 2 NONAME ; SmfAlbum::SmfAlbum(void)
- ??0SmfArtists@@QAE@ABV0@@Z @ 3 NONAME ; SmfArtists::SmfArtists(class SmfArtists const &)
- ??0SmfArtists@@QAE@XZ @ 4 NONAME ; SmfArtists::SmfArtists(void)
- ??0SmfClient@@QAE@XZ @ 5 NONAME ; SmfClient::SmfClient(void)
- ??0SmfComment@@QAE@ABV0@@Z @ 6 NONAME ; SmfComment::SmfComment(class SmfComment const &)
- ??0SmfComment@@QAE@XZ @ 7 NONAME ; SmfComment::SmfComment(void)
- ??0SmfContact@@QAE@ABV0@@Z @ 8 NONAME ; SmfContact::SmfContact(class SmfContact const &)
- ??0SmfContact@@QAE@PAVQObject@@@Z @ 9 NONAME ; SmfContact::SmfContact(class QObject *)
- ??0SmfContactFetcher@@QAE@PAVSmfProvider@@@Z @ 10 NONAME ; SmfContactFetcher::SmfContactFetcher(class SmfProvider *)
- ??0SmfContactFetcher@@QAE@PAVSmfProvider@@PAVSmfContact@@@Z @ 11 NONAME ; SmfContactFetcher::SmfContactFetcher(class SmfProvider *, class SmfContact *)
- ??0SmfEvent@@QAE@ABV0@@Z @ 12 NONAME ; SmfEvent::SmfEvent(class SmfEvent const &)
- ??0SmfEvent@@QAE@XZ @ 13 NONAME ; SmfEvent::SmfEvent(void)
- ??0SmfGallery@@QAE@PAVSmfProvider@@@Z @ 14 NONAME ; SmfGallery::SmfGallery(class SmfProvider *)
- ??0SmfGroup@@QAE@ABV0@@Z @ 15 NONAME ; SmfGroup::SmfGroup(class SmfGroup const &)
- ??0SmfGroup@@QAE@PAV?$QList@VSmfContact@@@@@Z @ 16 NONAME ; SmfGroup::SmfGroup(class QList<class SmfContact> *)
- ??0SmfLocation@@QAE@ABV0@@Z @ 17 NONAME ; SmfLocation::SmfLocation(class SmfLocation const &)
- ??0SmfLocation@@QAE@XZ @ 18 NONAME ; SmfLocation::SmfLocation(void)
- ??0SmfLyrics@@QAE@ABV0@@Z @ 19 NONAME ; SmfLyrics::SmfLyrics(class SmfLyrics const &)
- ??0SmfLyrics@@QAE@XZ @ 20 NONAME ; SmfLyrics::SmfLyrics(void)
- ??0SmfMusicFingerPrint@@QAE@ABV0@@Z @ 21 NONAME ; SmfMusicFingerPrint::SmfMusicFingerPrint(class SmfMusicFingerPrint const &)
- ??0SmfMusicFingerPrint@@QAE@XZ @ 22 NONAME ; SmfMusicFingerPrint::SmfMusicFingerPrint(void)
- ??0SmfMusicProfile@@QAE@ABV0@@Z @ 23 NONAME ; SmfMusicProfile::SmfMusicProfile(class SmfMusicProfile const &)
- ??0SmfMusicProfile@@QAE@XZ @ 24 NONAME ; SmfMusicProfile::SmfMusicProfile(void)
- ??0SmfMusicRating@@QAE@ABV0@@Z @ 25 NONAME ; SmfMusicRating::SmfMusicRating(class SmfMusicRating const &)
- ??0SmfMusicRating@@QAE@PAVSmfTrackInfo@@@Z @ 26 NONAME ; SmfMusicRating::SmfMusicRating(class SmfTrackInfo *)
- ??0SmfPicture@@QAE@ABV0@@Z @ 27 NONAME ; SmfPicture::SmfPicture(class SmfPicture const &)
- ??0SmfPicture@@QAE@ABVQImage@@@Z @ 28 NONAME ; SmfPicture::SmfPicture(class QImage const &)
- ??0SmfPicture@@QAE@XZ @ 29 NONAME ; SmfPicture::SmfPicture(void)
- ??0SmfPlaylist@@QAE@ABV0@@Z @ 30 NONAME ; SmfPlaylist::SmfPlaylist(class SmfPlaylist const &)
- ??0SmfPlaylist@@QAE@XZ @ 31 NONAME ; SmfPlaylist::SmfPlaylist(void)
- ??0SmfPluginUtil@@AAE@XZ @ 32 NONAME ; SmfPluginUtil::SmfPluginUtil(void)
- ??0SmfPost@@QAE@ABV0@@Z @ 33 NONAME ; SmfPost::SmfPost(class SmfPost const &)
- ??0SmfPost@@QAE@VQString@@0VQImage@@VQUrl@@@Z @ 34 NONAME ; SmfPost::SmfPost(class QString, class QString, class QImage, class QUrl)
- ??0SmfPost@@QAE@XZ @ 35 NONAME ; SmfPost::SmfPost(void)
- ??0SmfPostProvider@@QAE@PAVSmfProvider@@@Z @ 36 NONAME ; SmfPostProvider::SmfPostProvider(class SmfProvider *)
- ??0SmfProvider@@QAE@ABV0@@Z @ 37 NONAME ; SmfProvider::SmfProvider(class SmfProvider const &)
- ??0SmfProvider@@QAE@PAVQObject@@@Z @ 38 NONAME ; SmfProvider::SmfProvider(class QObject *)
- ??0SmfSubtitle@@QAE@ABV0@@Z @ 39 NONAME ; SmfSubtitle::SmfSubtitle(class SmfSubtitle const &)
- ??0SmfSubtitle@@QAE@XZ @ 40 NONAME ; SmfSubtitle::SmfSubtitle(void)
- ??0SmfTrackInfo@@QAE@ABV0@@Z @ 41 NONAME ; SmfTrackInfo::SmfTrackInfo(class SmfTrackInfo const &)
- ??0SmfTrackInfo@@QAE@XZ @ 42 NONAME ; SmfTrackInfo::SmfTrackInfo(void)
- ??1SmfAlbum@@QAE@XZ @ 43 NONAME ; SmfAlbum::~SmfAlbum(void)
- ??1SmfArtists@@QAE@XZ @ 44 NONAME ; SmfArtists::~SmfArtists(void)
- ??1SmfClient@@QAE@XZ @ 45 NONAME ; SmfClient::~SmfClient(void)
- ??1SmfComment@@QAE@XZ @ 46 NONAME ; SmfComment::~SmfComment(void)
- ??1SmfContact@@QAE@XZ @ 47 NONAME ; SmfContact::~SmfContact(void)
- ??1SmfContactFetcher@@UAE@XZ @ 48 NONAME ; SmfContactFetcher::~SmfContactFetcher(void)
- ??1SmfEvent@@QAE@XZ @ 49 NONAME ; SmfEvent::~SmfEvent(void)
- ??1SmfGallery@@UAE@XZ @ 50 NONAME ; SmfGallery::~SmfGallery(void)
- ??1SmfGroup@@QAE@XZ @ 51 NONAME ; SmfGroup::~SmfGroup(void)
- ??1SmfLocation@@QAE@XZ @ 52 NONAME ; SmfLocation::~SmfLocation(void)
- ??1SmfLyrics@@QAE@XZ @ 53 NONAME ; SmfLyrics::~SmfLyrics(void)
- ??1SmfMusicFingerPrint@@QAE@XZ @ 54 NONAME ; SmfMusicFingerPrint::~SmfMusicFingerPrint(void)
- ??1SmfMusicProfile@@QAE@XZ @ 55 NONAME ; SmfMusicProfile::~SmfMusicProfile(void)
- ??1SmfMusicRating@@QAE@XZ @ 56 NONAME ; SmfMusicRating::~SmfMusicRating(void)
- ??1SmfPicture@@QAE@XZ @ 57 NONAME ; SmfPicture::~SmfPicture(void)
- ??1SmfPlaylist@@QAE@XZ @ 58 NONAME ; SmfPlaylist::~SmfPlaylist(void)
- ??1SmfPluginUtil@@QAE@XZ @ 59 NONAME ; SmfPluginUtil::~SmfPluginUtil(void)
- ??1SmfPost@@QAE@XZ @ 60 NONAME ; SmfPost::~SmfPost(void)
- ??1SmfPostProvider@@UAE@XZ @ 61 NONAME ; SmfPostProvider::~SmfPostProvider(void)
- ??1SmfProvider@@QAE@XZ @ 62 NONAME ; SmfProvider::~SmfProvider(void)
- ??1SmfSubtitle@@QAE@XZ @ 63 NONAME ; SmfSubtitle::~SmfSubtitle(void)
- ??1SmfTrackInfo@@QAE@XZ @ 64 NONAME ; SmfTrackInfo::~SmfTrackInfo(void)
- ??4SmfAlbum@@QAEAAV0@ABV0@@Z @ 65 NONAME ; class SmfAlbum & SmfAlbum::operator=(class SmfAlbum const &)
- ??4SmfArtists@@QAEAAV0@ABV0@@Z @ 66 NONAME ; class SmfArtists & SmfArtists::operator=(class SmfArtists const &)
- ??4SmfComment@@QAEAAV0@ABV0@@Z @ 67 NONAME ; class SmfComment & SmfComment::operator=(class SmfComment const &)
- ??4SmfEvent@@QAEAAV0@ABV0@@Z @ 68 NONAME ; class SmfEvent & SmfEvent::operator=(class SmfEvent const &)
- ??4SmfGroup@@QAEAAV0@ABV0@@Z @ 69 NONAME ; class SmfGroup & SmfGroup::operator=(class SmfGroup const &)
- ??4SmfLocation@@QAEAAV0@ABV0@@Z @ 70 NONAME ; class SmfLocation & SmfLocation::operator=(class SmfLocation const &)
- ??4SmfLyrics@@QAEAAV0@ABV0@@Z @ 71 NONAME ; class SmfLyrics & SmfLyrics::operator=(class SmfLyrics const &)
- ??4SmfMusicFingerPrint@@QAEAAV0@ABV0@@Z @ 72 NONAME ; class SmfMusicFingerPrint & SmfMusicFingerPrint::operator=(class SmfMusicFingerPrint const &)
- ??4SmfMusicProfile@@QAEAAV0@ABV0@@Z @ 73 NONAME ; class SmfMusicProfile & SmfMusicProfile::operator=(class SmfMusicProfile const &)
- ??4SmfMusicRating@@QAEAAV0@ABV0@@Z @ 74 NONAME ; class SmfMusicRating & SmfMusicRating::operator=(class SmfMusicRating const &)
- ??4SmfPicture@@QAEAAV0@ABV0@@Z @ 75 NONAME ; class SmfPicture & SmfPicture::operator=(class SmfPicture const &)
- ??4SmfPlaylist@@QAEAAV0@ABV0@@Z @ 76 NONAME ; class SmfPlaylist & SmfPlaylist::operator=(class SmfPlaylist const &)
- ??4SmfPost@@QAEAAV0@ABV0@@Z @ 77 NONAME ; class SmfPost & SmfPost::operator=(class SmfPost const &)
- ??4SmfSubtitle@@QAEAAV0@ABV0@@Z @ 78 NONAME ; class SmfSubtitle & SmfSubtitle::operator=(class SmfSubtitle const &)
- ??4SmfTrackInfo@@QAEAAV0@ABV0@@Z @ 79 NONAME ; class SmfTrackInfo & SmfTrackInfo::operator=(class SmfTrackInfo const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactName@QtMobility@@@Z @ 80 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactName &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfAlbum@@@Z @ 81 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfAlbum &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfArtists@@@Z @ 82 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfArtists &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfComment@@@Z @ 83 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfComment &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfContact@@@Z @ 84 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfContact &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfEvent@@@Z @ 85 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfEvent &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfGroup@@@Z @ 86 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfGroup &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfLocation@@@Z @ 87 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfLocation &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfLyrics@@@Z @ 88 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfLyrics &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicFingerPrint@@@Z @ 89 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicFingerPrint &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicProfile@@@Z @ 90 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicProfile &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicRating@@@Z @ 91 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicRating &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfPicture@@@Z @ 92 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPicture &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfPlaylist@@@Z @ 93 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPlaylist &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfPost@@@Z @ 94 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPost &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfProvider@@@Z @ 95 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfProvider &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfSubtitle@@@Z @ 96 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfSubtitle &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfTrackInfo@@@Z @ 97 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfTrackInfo &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactName@QtMobility@@@Z @ 98 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactName const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfAlbum@@@Z @ 99 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfAlbum const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfArtists@@@Z @ 100 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfArtists const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfComment@@@Z @ 101 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfComment const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfContact@@@Z @ 102 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfContact const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfEvent@@@Z @ 103 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfEvent const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfGroup@@@Z @ 104 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfGroup const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfLocation@@@Z @ 105 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfLocation const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfLyrics@@@Z @ 106 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfLyrics const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicFingerPrint@@@Z @ 107 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicFingerPrint const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicProfile@@@Z @ 108 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicProfile const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicRating@@@Z @ 109 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicRating const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfPicture@@@Z @ 110 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPicture const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfPlaylist@@@Z @ 111 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPlaylist const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfPost@@@Z @ 112 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPost const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfProvider@@@Z @ 113 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfProvider const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfSubtitle@@@Z @ 114 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfSubtitle const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfTrackInfo@@@Z @ 115 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfTrackInfo const &)
- ??_ESmfComment@@QAE@I@Z @ 116 NONAME ; SmfComment::~SmfComment(unsigned int)
- ??_ESmfContact@@QAE@I@Z @ 117 NONAME ; SmfContact::~SmfContact(unsigned int)
- ??_ESmfContactFetcher@@UAE@I@Z @ 118 NONAME ; SmfContactFetcher::~SmfContactFetcher(unsigned int)
- ??_ESmfEvent@@QAE@I@Z @ 119 NONAME ; SmfEvent::~SmfEvent(unsigned int)
- ??_ESmfGallery@@UAE@I@Z @ 120 NONAME ; SmfGallery::~SmfGallery(unsigned int)
- ??_ESmfGroup@@QAE@I@Z @ 121 NONAME ; SmfGroup::~SmfGroup(unsigned int)
- ??_ESmfPicture@@QAE@I@Z @ 122 NONAME ; SmfPicture::~SmfPicture(unsigned int)
- ??_ESmfPluginUtil@@QAE@I@Z @ 123 NONAME ; SmfPluginUtil::~SmfPluginUtil(unsigned int)
- ??_ESmfPost@@QAE@I@Z @ 124 NONAME ; SmfPost::~SmfPost(unsigned int)
- ??_ESmfPostProvider@@UAE@I@Z @ 125 NONAME ; SmfPostProvider::~SmfPostProvider(unsigned int)
- ??_ESmfProvider@@QAE@I@Z @ 126 NONAME ; SmfProvider::~SmfProvider(unsigned int)
- ??_ESmfTrackInfo@@QAE@I@Z @ 127 NONAME ; SmfTrackInfo::~SmfTrackInfo(unsigned int)
- ?GetServices@SmfClient@@QAEPAV?$QList@VSmfProvider@@@@ABVQString@@@Z @ 128 NONAME ; class QList<class SmfProvider> * SmfClient::GetServices(class QString const &)
- ?addComment@SmfPicture@@QAEXABVSmfComment@@@Z @ 129 NONAME ; void SmfPicture::addComment(class SmfComment const &)
- ?addTags@SmfPicture@@QAEXABVQStringList@@@Z @ 130 NONAME ; void SmfPicture::addTags(class QStringList const &)
- ?album@SmfTrackInfo@@QBE?AVSmfAlbum@@XZ @ 131 NONAME ; class SmfAlbum SmfTrackInfo::album(void) const
- ?applicationUrl@SmfProvider@@QAEXAAVQUrl@@@Z @ 132 NONAME ; void SmfProvider::applicationUrl(class QUrl &)
- ?applicationUrl@SmfProvider@@QBE?AVQUrl@@XZ @ 133 NONAME ; class QUrl SmfProvider::applicationUrl(void) const
- ?artists@SmfAlbum@@QBE?AVSmfArtists@@XZ @ 134 NONAME ; class SmfArtists SmfAlbum::artists(void) const
- ?artists@SmfEvent@@QBE?AVSmfArtists@@XZ @ 135 NONAME ; class SmfArtists SmfEvent::artists(void) const
- ?artists@SmfTrackInfo@@QBE?AVSmfArtists@@XZ @ 136 NONAME ; class SmfArtists SmfTrackInfo::artists(void) const
- ?city@SmfLocation@@QBE?AVQString@@XZ @ 137 NONAME ; class QString SmfLocation::city(void) const
- ?comments@SmfPicture@@QBE?AV?$QList@VSmfComment@@@@XZ @ 138 NONAME ; class QList<class SmfComment> SmfPicture::comments(void) const
- ?comments@SmfTrackInfo@@QBE?AV?$QList@VSmfComment@@@@XZ @ 139 NONAME ; class QList<class SmfComment> SmfTrackInfo::comments(void) const
- ?convert@SmfContact@@QBEXAAVQContact@QtMobility@@@Z @ 140 NONAME ; void SmfContact::convert(class QtMobility::QContact &) const
- ?country@SmfLocation@@QBE?AVQString@@XZ @ 141 NONAME ; class QString SmfLocation::country(void) const
- ?createParameterString@SmfPluginUtil@@QAE?AVQByteArray@@ABVQString@@W4Operation@QNetworkAccessManager@@ABV2@2W4SmfSignatureMethod@@ABV?$QMultiMap@VQByteArray@@V1@@@W4SmfParsingMode@@@Z @ 142 NONAME ; class QByteArray SmfPluginUtil::createParameterString(class QString const &, enum QNetworkAccessManager::Operation, class QByteArray const &, class QByteArray const &, enum SmfSignatureMethod, class QMultiMap<class QByteArray, class QByteArray> const &, enum SmfParsingMode)
- ?creationDate@SmfPlaylist@@QBE?AVQDateTime@@XZ @ 143 NONAME ; class QDateTime SmfPlaylist::creationDate(void) const
- ?customDataAvailable@SmfContactFetcher@@IAEXHPAVQByteArray@@@Z @ 144 NONAME ; void SmfContactFetcher::customDataAvailable(int, class QByteArray *)
- ?customDataAvailable@SmfGallery@@IAEXHPAVQByteArray@@@Z @ 145 NONAME ; void SmfGallery::customDataAvailable(int, class QByteArray *)
- ?customDataAvailable@SmfPostProvider@@IAEXHPAVQByteArray@@@Z @ 146 NONAME ; void SmfPostProvider::customDataAvailable(int, class QByteArray *)
- ?customRequest@SmfContactFetcher@@QAEXABHPAVQByteArray@@@Z @ 147 NONAME ; void SmfContactFetcher::customRequest(int const &, class QByteArray *)
- ?customRequest@SmfGallery@@QAEXABHPAVQByteArray@@@Z @ 148 NONAME ; void SmfGallery::customRequest(int const &, class QByteArray *)
- ?customRequest@SmfPostProvider@@QAEXABHPAVQByteArray@@@Z @ 149 NONAME ; void SmfPostProvider::customRequest(int const &, class QByteArray *)
- ?description@SmfGallery@@QAE?AVQString@@AAVSmfPicture@@@Z @ 150 NONAME ; class QString SmfGallery::description(class SmfPicture &)
- ?description@SmfPicture@@QBE?AVQString@@XZ @ 151 NONAME ; class QString SmfPicture::description(void) const
- ?description@SmfPost@@QBE?AVQString@@XZ @ 152 NONAME ; class QString SmfPost::description(void) const
- ?description@SmfProvider@@QAEXAAVQString@@@Z @ 153 NONAME ; void SmfProvider::description(class QString &)
- ?description@SmfProvider@@QBE?AVQString@@XZ @ 154 NONAME ; class QString SmfProvider::description(void) const
- ?duration@SmfEvent@@QBE?AVQTime@@XZ @ 155 NONAME ; class QTime SmfEvent::duration(void) const
- ?duration@SmfSubtitle@@QBENXZ @ 156 NONAME ; double SmfSubtitle::duration(void) const
- ?duration@SmfTrackInfo@@QBE?AVQTime@@XZ @ 157 NONAME ; class QTime SmfTrackInfo::duration(void) const
- ?eventDateTime@SmfEvent@@QBE?AVQDateTime@@XZ @ 158 NONAME ; class QDateTime SmfEvent::eventDateTime(void) const
- ?followers@SmfContactFetcher@@QAE_NHH@Z @ 159 NONAME ; bool SmfContactFetcher::followers(int, int)
- ?followersListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 160 NONAME ; void SmfContactFetcher::followersListAvailable(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?frameRate@SmfSubtitle@@QBENXZ @ 161 NONAME ; double SmfSubtitle::frameRate(void) const
- ?friends@SmfContactFetcher@@QAE_NHH@Z @ 162 NONAME ; bool SmfContactFetcher::friends(int, int)
- ?friendsListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 163 NONAME ; void SmfContactFetcher::friendsListAvailable(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?genre@SmfTrackInfo@@QBE?AVQString@@XZ @ 164 NONAME ; class QString SmfTrackInfo::genre(void) const
- ?geoPositionInfo@SmfLocation@@QBE?AVQGeoPositionInfo@QtMobility@@XZ @ 165 NONAME ; class QtMobility::QGeoPositionInfo SmfLocation::geoPositionInfo(void) const
- ?getAuthKeys@SmfPluginUtil@@QAEXAAV?$QMap@VQString@@V1@@@VQString@@1@Z @ 166 NONAME ; void SmfPluginUtil::getAuthKeys(class QMap<class QString, class QString> &, class QString, class QString)
- ?getInstance@SmfPluginUtil@@SAPAV1@XZ @ 167 NONAME ; class SmfPluginUtil * SmfPluginUtil::getInstance(void)
- ?getJsonHandle@SmfPluginUtil@@QAEPAVParser@QJson@@XZ @ 168 NONAME ; class QJson::Parser * SmfPluginUtil::getJsonHandle(void)
- ?getNonce@SmfPluginUtil@@QAEXAAVQString@@@Z @ 169 NONAME ; void SmfPluginUtil::getNonce(class QString &)
- ?getProvider@SmfContactFetcher@@QAEPAVSmfProvider@@XZ @ 170 NONAME ; class SmfProvider * SmfContactFetcher::getProvider(void)
- ?getProvider@SmfGallery@@QAEPAVSmfProvider@@XZ @ 171 NONAME ; class SmfProvider * SmfGallery::getProvider(void)
- ?getProvider@SmfPostProvider@@QBEPAVSmfProvider@@XZ @ 172 NONAME ; class SmfProvider * SmfPostProvider::getProvider(void) const
- ?getStaticMetaObject@SmfContactFetcher@@SAABUQMetaObject@@XZ @ 173 NONAME ; struct QMetaObject const & SmfContactFetcher::getStaticMetaObject(void)
- ?getStaticMetaObject@SmfGallery@@SAABUQMetaObject@@XZ @ 174 NONAME ; struct QMetaObject const & SmfGallery::getStaticMetaObject(void)
- ?getStaticMetaObject@SmfPostProvider@@SAABUQMetaObject@@XZ @ 175 NONAME ; struct QMetaObject const & SmfPostProvider::getStaticMetaObject(void)
- ?groupListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfGroup@@@@W4SmfError@@USmfResultPage@@@Z @ 176 NONAME ; void SmfContactFetcher::groupListAvailable(class QList<class SmfGroup> *, enum SmfError, struct SmfResultPage)
- ?groups@SmfContactFetcher@@QAE_NHH@Z @ 177 NONAME ; bool SmfContactFetcher::groups(int, int)
- ?id@SmfAlbum@@QBE?AVQString@@XZ @ 178 NONAME ; class QString SmfAlbum::id(void) const
- ?id@SmfComment@@QBE?AVQString@@XZ @ 179 NONAME ; class QString SmfComment::id(void) const
- ?id@SmfEvent@@QBE?AVQString@@XZ @ 180 NONAME ; class QString SmfEvent::id(void) const
- ?id@SmfGroup@@QBE?AVQString@@XZ @ 181 NONAME ; class QString SmfGroup::id(void) const
- ?id@SmfLocation@@QBE?AVQString@@XZ @ 182 NONAME ; class QString SmfLocation::id(void) const
- ?id@SmfLyrics@@QBE?AVQString@@XZ @ 183 NONAME ; class QString SmfLyrics::id(void) const
- ?id@SmfMusicProfile@@QBE?AVQString@@XZ @ 184 NONAME ; class QString SmfMusicProfile::id(void) const
- ?id@SmfPicture@@QBE?AVQString@@XZ @ 185 NONAME ; class QString SmfPicture::id(void) const
- ?id@SmfPlaylist@@QBE?AVQString@@XZ @ 186 NONAME ; class QString SmfPlaylist::id(void) const
- ?id@SmfPost@@QBE?AVQString@@XZ @ 187 NONAME ; class QString SmfPost::id(void) const
- ?id@SmfSubtitle@@QBE?AVQString@@XZ @ 188 NONAME ; class QString SmfSubtitle::id(void) const
- ?id@SmfTrackInfo@@QBE?AVQString@@XZ @ 189 NONAME ; class QString SmfTrackInfo::id(void) const
- ?image@SmfAlbum@@QBE?AVQImage@@XZ @ 190 NONAME ; class QImage SmfAlbum::image(void) const
- ?image@SmfArtists@@QBE?AVQImage@@XZ @ 191 NONAME ; class QImage SmfArtists::image(void) const
- ?image@SmfPost@@QBE?AVQImage@@XZ @ 192 NONAME ; class QImage SmfPost::image(void) const
- ?interestInfo@SmfMusicProfile@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 193 NONAME ; class QList<class SmfTrackInfo> SmfMusicProfile::interestInfo(void) const
- ?language@SmfLyrics@@QBE?AVQString@@XZ @ 194 NONAME ; class QString SmfLyrics::language(void) const
- ?language@SmfSubtitle@@QBE?AVQString@@XZ @ 195 NONAME ; class QString SmfSubtitle::language(void) const
- ?lyrics@SmfLyrics@@QBE?AVQByteArray@@XZ @ 196 NONAME ; class QByteArray SmfLyrics::lyrics(void) const
- ?maxCharsInPost@SmfPostProvider@@QBEHXZ @ 197 NONAME ; int SmfPostProvider::maxCharsInPost(void) const
- ?maxItems@SmfPostProvider@@QBEHXZ @ 198 NONAME ; int SmfPostProvider::maxItems(void) const
- ?maxRating@SmfMusicRating@@QBEHXZ @ 199 NONAME ; int SmfMusicRating::maxRating(void) const
- ?members@SmfGroup@@QBE?AV?$QList@VSmfContact@@@@XZ @ 200 NONAME ; class QList<class SmfContact> SmfGroup::members(void) const
- ?metaObject@SmfContactFetcher@@UBEPBUQMetaObject@@XZ @ 201 NONAME ; struct QMetaObject const * SmfContactFetcher::metaObject(void) const
- ?metaObject@SmfGallery@@UBEPBUQMetaObject@@XZ @ 202 NONAME ; struct QMetaObject const * SmfGallery::metaObject(void) const
- ?metaObject@SmfPostProvider@@UBEPBUQMetaObject@@XZ @ 203 NONAME ; struct QMetaObject const * SmfPostProvider::metaObject(void) const
- ?minRating@SmfMusicRating@@QBEHXZ @ 204 NONAME ; int SmfMusicRating::minRating(void) const
- ?musicFingerPrint@SmfMusicFingerPrint@@QBE?AVQByteArray@@XZ @ 205 NONAME ; class QByteArray SmfMusicFingerPrint::musicFingerPrint(void) const
- ?musicUsageInfo@SmfMusicProfile@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 206 NONAME ; class QList<class SmfTrackInfo> SmfMusicProfile::musicUsageInfo(void) const
- ?name@SmfAlbum@@QBE?AVQString@@XZ @ 207 NONAME ; class QString SmfAlbum::name(void) const
- ?name@SmfGroup@@QBE?AVQString@@XZ @ 208 NONAME ; class QString SmfGroup::name(void) const
- ?name@SmfLocation@@QBE?AVQString@@XZ @ 209 NONAME ; class QString SmfLocation::name(void) const
- ?names@SmfArtists@@QBE?AVQStringList@@XZ @ 210 NONAME ; class QStringList SmfArtists::names(void) const
- ?owner@SmfPicture@@QBE?AVQString@@XZ @ 211 NONAME ; class QString SmfPicture::owner(void) const
- ?picture@SmfPicture@@QBE?AVQImage@@XZ @ 212 NONAME ; class QImage SmfPicture::picture(void) const
- ?pictures@SmfGallery@@QAEXHH@Z @ 213 NONAME ; void SmfGallery::pictures(int, int)
- ?picturesAvailable@SmfGallery@@IAEXPAV?$QList@VSmfPicture@@@@W4SmfError@@USmfResultPage@@@Z @ 214 NONAME ; void SmfGallery::picturesAvailable(class QList<class SmfPicture> *, enum SmfError, struct SmfResultPage)
- ?playListTitle@SmfPlaylist@@QBE?AVQString@@XZ @ 215 NONAME ; class QString SmfPlaylist::playListTitle(void) const
- ?post@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfLocation@@@Z @ 216 NONAME ; void SmfPostProvider::post(class SmfPost &, class SmfLocation &)
- ?postAppearence@SmfPostProvider@@QAE_NW4SmfAppearenceInfo@@@Z @ 217 NONAME ; bool SmfPostProvider::postAppearence(enum SmfAppearenceInfo)
- ?postComment@SmfGallery@@QAEXVSmfPicture@@VSmfComment@@@Z @ 218 NONAME ; void SmfGallery::postComment(class SmfPicture, class SmfComment)
- ?postDirected@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfContact@@PAVSmfLocation@@@Z @ 219 NONAME ; void SmfPostProvider::postDirected(class SmfPost &, class SmfContact &, class SmfLocation *)
- ?postFinished@SmfPostProvider@@IAEX_N@Z @ 220 NONAME ; void SmfPostProvider::postFinished(bool)
- ?postedDate@SmfPicture@@QBE?AVQDateTime@@XZ @ 221 NONAME ; class QDateTime SmfPicture::postedDate(void) const
- ?posts@SmfPostProvider@@QAEXPAVSmfContact@@HH@Z @ 222 NONAME ; void SmfPostProvider::posts(class SmfContact *, int, int)
- ?postsAvailable@SmfPostProvider@@IAEXPAV?$QList@VSmfPost@@@@W4SmfError@@USmfResultPage@@@Z @ 223 NONAME ; void SmfPostProvider::postsAvailable(class QList<class SmfPost> *, enum SmfError, struct SmfResultPage)
- ?qt_metacall@SmfContactFetcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 224 NONAME ; int SmfContactFetcher::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@SmfGallery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 225 NONAME ; int SmfGallery::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@SmfPostProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 226 NONAME ; int SmfPostProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacast@SmfContactFetcher@@UAEPAXPBD@Z @ 227 NONAME ; void * SmfContactFetcher::qt_metacast(char const *)
- ?qt_metacast@SmfGallery@@UAEPAXPBD@Z @ 228 NONAME ; void * SmfGallery::qt_metacast(char const *)
- ?qt_metacast@SmfPostProvider@@UAEPAXPBD@Z @ 229 NONAME ; void * SmfPostProvider::qt_metacast(char const *)
- ?rating@SmfMusicRating@@QBEHXZ @ 230 NONAME ; int SmfMusicRating::rating(void) const
- ?rating@SmfTrackInfo@@QBE?AVSmfMusicRating@@XZ @ 231 NONAME ; class SmfMusicRating SmfTrackInfo::rating(void) const
- ?releaseYear@SmfLyrics@@QBE?AVQDateTime@@XZ @ 232 NONAME ; class QDateTime SmfLyrics::releaseYear(void) const
- ?releaseYear@SmfSubtitle@@QBE?AVQDateTime@@XZ @ 233 NONAME ; class QDateTime SmfSubtitle::releaseYear(void) const
- ?search@SmfContactFetcher@@QAEXPAVSmfContact@@HH@Z @ 234 NONAME ; void SmfContactFetcher::search(class SmfContact *, int, int)
- ?searchContactFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 235 NONAME ; void SmfContactFetcher::searchContactFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?searchInGroup@SmfContactFetcher@@QAE_NVSmfGroup@@HH@Z @ 236 NONAME ; bool SmfContactFetcher::searchInGroup(class SmfGroup, int, int)
- ?searchInGroupFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 237 NONAME ; void SmfContactFetcher::searchInGroupFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?searchNear@SmfContactFetcher@@QAE_NPAVSmfLocation@@W4SmfLocationSearchBoundary@@HH@Z @ 238 NONAME ; bool SmfContactFetcher::searchNear(class SmfLocation *, enum SmfLocationSearchBoundary, int, int)
- ?searchNearFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 239 NONAME ; void SmfContactFetcher::searchNearFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?serviceIcon@SmfProvider@@QAEXAAVQImage@@@Z @ 240 NONAME ; void SmfProvider::serviceIcon(class QImage &)
- ?serviceIcon@SmfProvider@@QBE?AVQImage@@XZ @ 241 NONAME ; class QImage SmfProvider::serviceIcon(void) const
- ?serviceName@SmfProvider@@QAEXAAVQString@@@Z @ 242 NONAME ; void SmfProvider::serviceName(class QString &)
- ?serviceName@SmfProvider@@QBE?AVQString@@XZ @ 243 NONAME ; class QString SmfProvider::serviceName(void) const
- ?serviceTypes@SmfProvider@@QAEXAAVQStringList@@@Z @ 244 NONAME ; void SmfProvider::serviceTypes(class QStringList &)
- ?serviceTypes@SmfProvider@@QBE?AV?$QList@VQString@@@@XZ @ 245 NONAME ; class QList<class QString> SmfProvider::serviceTypes(void) const
- ?serviceUrl@SmfProvider@@QAEXAAVQUrl@@@Z @ 246 NONAME ; void SmfProvider::serviceUrl(class QUrl &)
- ?serviceUrl@SmfProvider@@QBE?AVQUrl@@XZ @ 247 NONAME ; class QUrl SmfProvider::serviceUrl(void) const
- ?setAlbum@SmfTrackInfo@@QAEXABVSmfAlbum@@@Z @ 248 NONAME ; void SmfTrackInfo::setAlbum(class SmfAlbum const &)
- ?setArtists@SmfAlbum@@QAEXABVSmfArtists@@@Z @ 249 NONAME ; void SmfAlbum::setArtists(class SmfArtists const &)
- ?setArtists@SmfEvent@@QAEXABVSmfArtists@@@Z @ 250 NONAME ; void SmfEvent::setArtists(class SmfArtists const &)
- ?setArtists@SmfTrackInfo@@QAEXABVSmfArtists@@@Z @ 251 NONAME ; void SmfTrackInfo::setArtists(class SmfArtists const &)
- ?setCity@SmfLocation@@QAEXABVQString@@@Z @ 252 NONAME ; void SmfLocation::setCity(class QString const &)
- ?setComment@SmfTrackInfo@@QAEXABV?$QList@VSmfComment@@@@@Z @ 253 NONAME ; void SmfTrackInfo::setComment(class QList<class SmfComment> const &)
- ?setCountry@SmfLocation@@QAEXABVQString@@@Z @ 254 NONAME ; void SmfLocation::setCountry(class QString const &)
- ?setCreationDate@SmfPlaylist@@QAEXABVQDateTime@@@Z @ 255 NONAME ; void SmfPlaylist::setCreationDate(class QDateTime const &)
- ?setDescription@SmfPicture@@QAEXABVQString@@@Z @ 256 NONAME ; void SmfPicture::setDescription(class QString const &)
- ?setDescription@SmfPost@@QAEXABVQString@@@Z @ 257 NONAME ; void SmfPost::setDescription(class QString const &)
- ?setDuration@SmfEvent@@QAEXABVQTime@@@Z @ 258 NONAME ; void SmfEvent::setDuration(class QTime const &)
- ?setDuration@SmfSubtitle@@QAEXABN@Z @ 259 NONAME ; void SmfSubtitle::setDuration(double const &)
- ?setDuration@SmfTrackInfo@@QAEXABVQTime@@@Z @ 260 NONAME ; void SmfTrackInfo::setDuration(class QTime const &)
- ?setEventDateTime@SmfEvent@@QAEXABVQDateTime@@@Z @ 261 NONAME ; void SmfEvent::setEventDateTime(class QDateTime const &)
- ?setFrameRate@SmfSubtitle@@QAEXABN@Z @ 262 NONAME ; void SmfSubtitle::setFrameRate(double const &)
- ?setGenre@SmfTrackInfo@@QAEXABVQString@@@Z @ 263 NONAME ; void SmfTrackInfo::setGenre(class QString const &)
- ?setGeoPositionInfo@SmfLocation@@QAEXABVQGeoPositionInfo@QtMobility@@@Z @ 264 NONAME ; void SmfLocation::setGeoPositionInfo(class QtMobility::QGeoPositionInfo const &)
- ?setId@SmfAlbum@@QAEXABVQString@@@Z @ 265 NONAME ; void SmfAlbum::setId(class QString const &)
- ?setId@SmfComment@@QAEXABVQString@@@Z @ 266 NONAME ; void SmfComment::setId(class QString const &)
- ?setId@SmfEvent@@QAEXABVQString@@@Z @ 267 NONAME ; void SmfEvent::setId(class QString const &)
- ?setId@SmfGroup@@QAEXAAVQString@@@Z @ 268 NONAME ; void SmfGroup::setId(class QString &)
- ?setId@SmfLocation@@QAEXABVQString@@@Z @ 269 NONAME ; void SmfLocation::setId(class QString const &)
- ?setId@SmfLyrics@@QAEXABVQString@@@Z @ 270 NONAME ; void SmfLyrics::setId(class QString const &)
- ?setId@SmfMusicProfile@@QAEXABVQString@@@Z @ 271 NONAME ; void SmfMusicProfile::setId(class QString const &)
- ?setId@SmfPicture@@QAEXABVQString@@@Z @ 272 NONAME ; void SmfPicture::setId(class QString const &)
- ?setId@SmfPlaylist@@QAEXABVQString@@@Z @ 273 NONAME ; void SmfPlaylist::setId(class QString const &)
- ?setId@SmfPost@@QAEXVQString@@@Z @ 274 NONAME ; void SmfPost::setId(class QString)
- ?setId@SmfSubtitle@@QAEXABVQString@@@Z @ 275 NONAME ; void SmfSubtitle::setId(class QString const &)
- ?setId@SmfTrackInfo@@QAEXABVQString@@@Z @ 276 NONAME ; void SmfTrackInfo::setId(class QString const &)
- ?setImage@SmfAlbum@@QAEXABVQImage@@@Z @ 277 NONAME ; void SmfAlbum::setImage(class QImage const &)
- ?setImage@SmfArtists@@QAEXABVQImage@@@Z @ 278 NONAME ; void SmfArtists::setImage(class QImage const &)
- ?setImage@SmfPost@@QAEXABVQImage@@@Z @ 279 NONAME ; void SmfPost::setImage(class QImage const &)
- ?setInterestInfo@SmfMusicProfile@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 280 NONAME ; void SmfMusicProfile::setInterestInfo(class QList<class SmfTrackInfo> const &)
- ?setLanguage@SmfLyrics@@QAEXABVQString@@@Z @ 281 NONAME ; void SmfLyrics::setLanguage(class QString const &)
- ?setLanguage@SmfSubtitle@@QAEXABVQString@@@Z @ 282 NONAME ; void SmfSubtitle::setLanguage(class QString const &)
- ?setLyrics@SmfLyrics@@QAEXABVQByteArray@@@Z @ 283 NONAME ; void SmfLyrics::setLyrics(class QByteArray const &)
- ?setMaxRating@SmfMusicRating@@QAEXABH@Z @ 284 NONAME ; void SmfMusicRating::setMaxRating(int const &)
- ?setMembers@SmfGroup@@QAEXPAV?$QList@VSmfContact@@@@@Z @ 285 NONAME ; void SmfGroup::setMembers(class QList<class SmfContact> *)
- ?setMinRating@SmfMusicRating@@QAEXABH@Z @ 286 NONAME ; void SmfMusicRating::setMinRating(int const &)
- ?setMusicFingerPrint@SmfMusicFingerPrint@@QAEXABVQByteArray@@@Z @ 287 NONAME ; void SmfMusicFingerPrint::setMusicFingerPrint(class QByteArray const &)
- ?setMusicUsageInfo@SmfMusicProfile@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 288 NONAME ; void SmfMusicProfile::setMusicUsageInfo(class QList<class SmfTrackInfo> const &)
- ?setName@SmfAlbum@@QAEXABVQString@@@Z @ 289 NONAME ; void SmfAlbum::setName(class QString const &)
- ?setName@SmfGroup@@QAEXAAVQString@@@Z @ 290 NONAME ; void SmfGroup::setName(class QString &)
- ?setName@SmfLocation@@QAEXABVQString@@@Z @ 291 NONAME ; void SmfLocation::setName(class QString const &)
- ?setNames@SmfArtists@@QAEXABVQStringList@@@Z @ 292 NONAME ; void SmfArtists::setNames(class QStringList const &)
- ?setOwner@SmfPicture@@QAEXABVQString@@@Z @ 293 NONAME ; void SmfPicture::setOwner(class QString const &)
- ?setPicture@SmfPicture@@QAEXABVQImage@@@Z @ 294 NONAME ; void SmfPicture::setPicture(class QImage const &)
- ?setPlayListTitle@SmfPlaylist@@QAEXABVQString@@@Z @ 295 NONAME ; void SmfPlaylist::setPlayListTitle(class QString const &)
- ?setPostedDate@SmfPicture@@QAEXABVQDateTime@@@Z @ 296 NONAME ; void SmfPicture::setPostedDate(class QDateTime const &)
- ?setRating@SmfMusicRating@@QAEXABH@Z @ 297 NONAME ; void SmfMusicRating::setRating(int const &)
- ?setRating@SmfTrackInfo@@QAEXABVSmfMusicRating@@@Z @ 298 NONAME ; void SmfTrackInfo::setRating(class SmfMusicRating const &)
- ?setReleaseYear@SmfLyrics@@QAEXABVQDateTime@@@Z @ 299 NONAME ; void SmfLyrics::setReleaseYear(class QDateTime const &)
- ?setReleaseYear@SmfSubtitle@@QAEXABVQDateTime@@@Z @ 300 NONAME ; void SmfSubtitle::setReleaseYear(class QDateTime const &)
- ?setStreet@SmfLocation@@QAEXABVQString@@@Z @ 301 NONAME ; void SmfLocation::setStreet(class QString const &)
- ?setSubtitle@SmfSubtitle@@QAEXABVQByteArray@@@Z @ 302 NONAME ; void SmfSubtitle::setSubtitle(class QByteArray const &)
- ?setTags@SmfTrackInfo@@QAEXABVQStringList@@@Z @ 303 NONAME ; void SmfTrackInfo::setTags(class QStringList const &)
- ?setText@SmfComment@@QAEXABVQString@@@Z @ 304 NONAME ; void SmfComment::setText(class QString const &)
- ?setTicketUrl@SmfEvent@@QAEXABVQUrl@@@Z @ 305 NONAME ; void SmfEvent::setTicketUrl(class QUrl const &)
- ?setTimeStamp@SmfComment@@QAEXABVQDateTime@@@Z @ 306 NONAME ; void SmfComment::setTimeStamp(class QDateTime const &)
- ?setTitle@SmfEvent@@QAEXABVQString@@@Z @ 307 NONAME ; void SmfEvent::setTitle(class QString const &)
- ?setTitle@SmfPicture@@QAEXABVQString@@@Z @ 308 NONAME ; void SmfPicture::setTitle(class QString const &)
- ?setTitle@SmfPost@@QAEXABVQString@@@Z @ 309 NONAME ; void SmfPost::setTitle(class QString const &)
- ?setTitle@SmfTrackInfo@@QAEXABVQString@@@Z @ 310 NONAME ; void SmfTrackInfo::setTitle(class QString const &)
- ?setTrackList@SmfPlaylist@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 311 NONAME ; void SmfPlaylist::setTrackList(class QList<class SmfTrackInfo> const &)
- ?setUrl@SmfArtists@@QAEXABVQUrl@@@Z @ 312 NONAME ; void SmfArtists::setUrl(class QUrl const &)
- ?setUrl@SmfLocation@@QAEXABVQUrl@@@Z @ 313 NONAME ; void SmfLocation::setUrl(class QUrl const &)
- ?setUrl@SmfPicture@@QAEXABVQUrl@@@Z @ 314 NONAME ; void SmfPicture::setUrl(class QUrl const &)
- ?setUrl@SmfPost@@QAEXAAVQUrl@@@Z @ 315 NONAME ; void SmfPost::setUrl(class QUrl &)
- ?setUserEvents@SmfMusicProfile@@QAEXABV?$QList@VSmfEvent@@@@@Z @ 316 NONAME ; void SmfMusicProfile::setUserEvents(class QList<class SmfEvent> const &)
- ?setValue@SmfContact@@QAEXABVQString@@AAVQVariant@@@Z @ 317 NONAME ; void SmfContact::setValue(class QString const &, class QVariant &)
- ?setVenue@SmfEvent@@QAEXABVSmfLocation@@@Z @ 318 NONAME ; void SmfEvent::setVenue(class SmfLocation const &)
- ?setVisibility@SmfPicture@@QAEXABW4SmfPictureVisibility@@@Z @ 319 NONAME ; void SmfPicture::setVisibility(enum SmfPictureVisibility const &)
- ?setYear@SmfTrackInfo@@QAEXABVQDateTime@@@Z @ 320 NONAME ; void SmfTrackInfo::setYear(class QDateTime const &)
- ?setZipCode@SmfLocation@@QAEXABVQString@@@Z @ 321 NONAME ; void SmfLocation::setZipCode(class QString const &)
- ?sharePost@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfContact@@_N@Z @ 322 NONAME ; void SmfPostProvider::sharePost(class SmfPost &, class SmfContact &, bool)
- ?street@SmfLocation@@QBE?AVQString@@XZ @ 323 NONAME ; class QString SmfLocation::street(void) const
- ?subTypes@SmfContact@@QBE?AVQStringList@@XZ @ 324 NONAME ; class QStringList SmfContact::subTypes(void) const
- ?subtitle@SmfSubtitle@@QBE?AVQByteArray@@XZ @ 325 NONAME ; class QByteArray SmfSubtitle::subtitle(void) const
- ?supportedFormats@SmfPostProvider@@QBE?AV?$QVector@VQTextFormat@@@@XZ @ 326 NONAME ; class QVector<class QTextFormat> SmfPostProvider::supportedFormats(void) const
- ?supportsAppearence@SmfPostProvider@@QBE_NXZ @ 327 NONAME ; bool SmfPostProvider::supportsAppearence(void) const
- ?tags@SmfPicture@@QBE?AVQStringList@@XZ @ 328 NONAME ; class QStringList SmfPicture::tags(void) const
- ?tags@SmfTrackInfo@@QBE?AVQStringList@@XZ @ 329 NONAME ; class QStringList SmfTrackInfo::tags(void) const
- ?text@SmfComment@@QBE?AVQString@@XZ @ 330 NONAME ; class QString SmfComment::text(void) const
- ?ticketUrl@SmfEvent@@QBE?AVQUrl@@XZ @ 331 NONAME ; class QUrl SmfEvent::ticketUrl(void) const
- ?timeStamp@SmfComment@@QBE?AVQDateTime@@XZ @ 332 NONAME ; class QDateTime SmfComment::timeStamp(void) const
- ?title@SmfEvent@@QBE?AVQString@@XZ @ 333 NONAME ; class QString SmfEvent::title(void) const
- ?title@SmfPicture@@QBE?AVQString@@XZ @ 334 NONAME ; class QString SmfPicture::title(void) const
- ?title@SmfPost@@QBE?AVQString@@XZ @ 335 NONAME ; class QString SmfPost::title(void) const
- ?title@SmfTrackInfo@@QBE?AVQString@@XZ @ 336 NONAME ; class QString SmfTrackInfo::title(void) const
- ?tr@SmfContactFetcher@@SA?AVQString@@PBD0@Z @ 337 NONAME ; class QString SmfContactFetcher::tr(char const *, char const *)
- ?tr@SmfContactFetcher@@SA?AVQString@@PBD0H@Z @ 338 NONAME ; class QString SmfContactFetcher::tr(char const *, char const *, int)
- ?tr@SmfGallery@@SA?AVQString@@PBD0@Z @ 339 NONAME ; class QString SmfGallery::tr(char const *, char const *)
- ?tr@SmfGallery@@SA?AVQString@@PBD0H@Z @ 340 NONAME ; class QString SmfGallery::tr(char const *, char const *, int)
- ?tr@SmfPostProvider@@SA?AVQString@@PBD0@Z @ 341 NONAME ; class QString SmfPostProvider::tr(char const *, char const *)
- ?tr@SmfPostProvider@@SA?AVQString@@PBD0H@Z @ 342 NONAME ; class QString SmfPostProvider::tr(char const *, char const *, int)
- ?trUtf8@SmfContactFetcher@@SA?AVQString@@PBD0@Z @ 343 NONAME ; class QString SmfContactFetcher::trUtf8(char const *, char const *)
- ?trUtf8@SmfContactFetcher@@SA?AVQString@@PBD0H@Z @ 344 NONAME ; class QString SmfContactFetcher::trUtf8(char const *, char const *, int)
- ?trUtf8@SmfGallery@@SA?AVQString@@PBD0@Z @ 345 NONAME ; class QString SmfGallery::trUtf8(char const *, char const *)
- ?trUtf8@SmfGallery@@SA?AVQString@@PBD0H@Z @ 346 NONAME ; class QString SmfGallery::trUtf8(char const *, char const *, int)
- ?trUtf8@SmfPostProvider@@SA?AVQString@@PBD0@Z @ 347 NONAME ; class QString SmfPostProvider::trUtf8(char const *, char const *)
- ?trUtf8@SmfPostProvider@@SA?AVQString@@PBD0H@Z @ 348 NONAME ; class QString SmfPostProvider::trUtf8(char const *, char const *, int)
- ?trackList@SmfPlaylist@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 349 NONAME ; class QList<class SmfTrackInfo> SmfPlaylist::trackList(void) const
- ?updatePost@SmfPostProvider@@QAEXAAVSmfPost@@@Z @ 350 NONAME ; void SmfPostProvider::updatePost(class SmfPost &)
- ?upload@SmfGallery@@QAEXPAV?$QList@VSmfPicture@@@@@Z @ 351 NONAME ; void SmfGallery::upload(class QList<class SmfPicture> *)
- ?upload@SmfGallery@@QAEXPAVSmfPicture@@@Z @ 352 NONAME ; void SmfGallery::upload(class SmfPicture *)
- ?uploadFinished@SmfGallery@@IAEXV?$QList@_N@@@Z @ 353 NONAME ; void SmfGallery::uploadFinished(class QList<bool>)
- ?url@SmfArtists@@QBE?AVQUrl@@XZ @ 354 NONAME ; class QUrl SmfArtists::url(void) const
- ?url@SmfLocation@@QBE?AVQUrl@@XZ @ 355 NONAME ; class QUrl SmfLocation::url(void) const
- ?url@SmfPicture@@QBE?AVQUrl@@XZ @ 356 NONAME ; class QUrl SmfPicture::url(void) const
- ?url@SmfPost@@QBE?AVQUrl@@XZ @ 357 NONAME ; class QUrl SmfPost::url(void) const
- ?userEvents@SmfMusicProfile@@QBE?AV?$QList@VSmfEvent@@@@XZ @ 358 NONAME ; class QList<class SmfEvent> SmfMusicProfile::userEvents(void) const
- ?value@SmfContact@@QBE?AVQVariant@@ABVQString@@@Z @ 359 NONAME ; class QVariant SmfContact::value(class QString const &) const
- ?venue@SmfEvent@@QBE?AVSmfLocation@@XZ @ 360 NONAME ; class SmfLocation SmfEvent::venue(void) const
- ?visibility@SmfPicture@@QBE?AW4SmfPictureVisibility@@XZ @ 361 NONAME ; enum SmfPictureVisibility SmfPicture::visibility(void) const
- ?writeLog@SmfClient@@QBEXVQString@@@Z @ 362 NONAME ; void SmfClient::writeLog(class QString) const
- ?writeLog@SmfContact@@QBEXVQString@@@Z @ 363 NONAME ; void SmfContact::writeLog(class QString) const
- ?year@SmfTrackInfo@@QBE?AVQDateTime@@XZ @ 364 NONAME ; class QDateTime SmfTrackInfo::year(void) const
- ?zipCode@SmfLocation@@QBE?AVQString@@XZ @ 365 NONAME ; class QString SmfLocation::zipCode(void) const
- ?staticMetaObject@SmfGallery@@2UQMetaObject@@B @ 366 NONAME ; struct QMetaObject const SmfGallery::staticMetaObject
- ?staticMetaObject@SmfPostProvider@@2UQMetaObject@@B @ 367 NONAME ; struct QMetaObject const SmfPostProvider::staticMetaObject
- ?m_myInstance@SmfPluginUtil@@0PAV1@A @ 368 NONAME ; class SmfPluginUtil * SmfPluginUtil::m_myInstance
- ?staticMetaObject@SmfContactFetcher@@2UQMetaObject@@B @ 369 NONAME ; struct QMetaObject const SmfContactFetcher::staticMetaObject
-
--- a/smf/smfservermodule/eabi/smfclientu.def Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,426 +0,0 @@
-EXPORTS
- _ZN10SmfArtists6setUrlERK4QUrl @ 1 NONAME
- _ZN10SmfArtists8setImageERK6QImage @ 2 NONAME
- _ZN10SmfArtists8setNamesERK11QStringList @ 3 NONAME
- _ZN10SmfArtistsC1ERKS_ @ 4 NONAME
- _ZN10SmfArtistsC1Ev @ 5 NONAME
- _ZN10SmfArtistsC2ERKS_ @ 6 NONAME
- _ZN10SmfArtistsC2Ev @ 7 NONAME
- _ZN10SmfArtistsD1Ev @ 8 NONAME
- _ZN10SmfArtistsD2Ev @ 9 NONAME
- _ZN10SmfArtistsaSERKS_ @ 10 NONAME
- _ZN10SmfComment12setTimeStampERK9QDateTime @ 11 NONAME
- _ZN10SmfComment5setIdERK7QString @ 12 NONAME
- _ZN10SmfComment7setTextERK7QString @ 13 NONAME
- _ZN10SmfCommentC1ERKS_ @ 14 NONAME
- _ZN10SmfCommentC1Ev @ 15 NONAME
- _ZN10SmfCommentC2ERKS_ @ 16 NONAME
- _ZN10SmfCommentC2Ev @ 17 NONAME
- _ZN10SmfCommentD1Ev @ 18 NONAME
- _ZN10SmfCommentD2Ev @ 19 NONAME
- _ZN10SmfCommentaSERKS_ @ 20 NONAME
- _ZN10SmfContact8setValueERK7QStringR8QVariant @ 21 NONAME
- _ZN10SmfContactC1EP7QObject @ 22 NONAME
- _ZN10SmfContactC1ERKS_ @ 23 NONAME
- _ZN10SmfContactC2EP7QObject @ 24 NONAME
- _ZN10SmfContactC2ERKS_ @ 25 NONAME
- _ZN10SmfContactD1Ev @ 26 NONAME
- _ZN10SmfContactD2Ev @ 27 NONAME
- _ZN10SmfGallery11descriptionER10SmfPicture @ 28 NONAME
- _ZN10SmfGallery11getProviderEv @ 29 NONAME
- _ZN10SmfGallery11postCommentE10SmfPicture10SmfComment @ 30 NONAME
- _ZN10SmfGallery11qt_metacallEN11QMetaObject4CallEiPPv @ 31 NONAME
- _ZN10SmfGallery11qt_metacastEPKc @ 32 NONAME
- _ZN10SmfGallery14uploadFinishedE5QListIbE @ 33 NONAME
- _ZN10SmfGallery16staticMetaObjectE @ 34 NONAME DATA 16
- _ZN10SmfGallery17picturesAvailableEP5QListI10SmfPictureE8SmfError13SmfResultPage @ 35 NONAME
- _ZN10SmfGallery19customDataAvailableEiP10QByteArray @ 36 NONAME
- _ZN10SmfGallery19getStaticMetaObjectEv @ 37 NONAME
- _ZN10SmfGallery6uploadEP10SmfPicture @ 38 NONAME
- _ZN10SmfGallery6uploadEP5QListI10SmfPictureE @ 39 NONAME
- _ZN10SmfGallery8picturesEii @ 40 NONAME
- _ZN10SmfGalleryC1EP11SmfProvider @ 41 NONAME
- _ZN10SmfGalleryC2EP11SmfProvider @ 42 NONAME
- _ZN10SmfGalleryD0Ev @ 43 NONAME
- _ZN10SmfGalleryD1Ev @ 44 NONAME
- _ZN10SmfGalleryD2Ev @ 45 NONAME
- _ZN10SmfPicture10addCommentERK10SmfComment @ 46 NONAME
- _ZN10SmfPicture10setPictureERK6QImage @ 47 NONAME
- _ZN10SmfPicture13setPostedDateERK9QDateTime @ 48 NONAME
- _ZN10SmfPicture13setVisibilityERK20SmfPictureVisibility @ 49 NONAME
- _ZN10SmfPicture14setDescriptionERK7QString @ 50 NONAME
- _ZN10SmfPicture5setIdERK7QString @ 51 NONAME
- _ZN10SmfPicture6setUrlERK4QUrl @ 52 NONAME
- _ZN10SmfPicture7addTagsERK11QStringList @ 53 NONAME
- _ZN10SmfPicture8setOwnerERK7QString @ 54 NONAME
- _ZN10SmfPicture8setTitleERK7QString @ 55 NONAME
- _ZN10SmfPictureC1ERK6QImage @ 56 NONAME
- _ZN10SmfPictureC1ERKS_ @ 57 NONAME
- _ZN10SmfPictureC1Ev @ 58 NONAME
- _ZN10SmfPictureC2ERK6QImage @ 59 NONAME
- _ZN10SmfPictureC2ERKS_ @ 60 NONAME
- _ZN10SmfPictureC2Ev @ 61 NONAME
- _ZN10SmfPictureD1Ev @ 62 NONAME
- _ZN10SmfPictureD2Ev @ 63 NONAME
- _ZN10SmfPictureaSERKS_ @ 64 NONAME
- _ZN11SmfLocation10setCountryERK7QString @ 65 NONAME
- _ZN11SmfLocation10setZipCodeERK7QString @ 66 NONAME
- _ZN11SmfLocation18setGeoPositionInfoERKN10QtMobility16QGeoPositionInfoE @ 67 NONAME
- _ZN11SmfLocation5setIdERK7QString @ 68 NONAME
- _ZN11SmfLocation6setUrlERK4QUrl @ 69 NONAME
- _ZN11SmfLocation7setCityERK7QString @ 70 NONAME
- _ZN11SmfLocation7setNameERK7QString @ 71 NONAME
- _ZN11SmfLocation9setStreetERK7QString @ 72 NONAME
- _ZN11SmfLocationC1ERKS_ @ 73 NONAME
- _ZN11SmfLocationC1Ev @ 74 NONAME
- _ZN11SmfLocationC2ERKS_ @ 75 NONAME
- _ZN11SmfLocationC2Ev @ 76 NONAME
- _ZN11SmfLocationD1Ev @ 77 NONAME
- _ZN11SmfLocationD2Ev @ 78 NONAME
- _ZN11SmfLocationaSERKS_ @ 79 NONAME
- _ZN11SmfPlaylist12setTrackListERK5QListI12SmfTrackInfoE @ 80 NONAME
- _ZN11SmfPlaylist15setCreationDateERK9QDateTime @ 81 NONAME
- _ZN11SmfPlaylist16setPlayListTitleERK7QString @ 82 NONAME
- _ZN11SmfPlaylist5setIdERK7QString @ 83 NONAME
- _ZN11SmfPlaylistC1ERKS_ @ 84 NONAME
- _ZN11SmfPlaylistC1Ev @ 85 NONAME
- _ZN11SmfPlaylistC2ERKS_ @ 86 NONAME
- _ZN11SmfPlaylistC2Ev @ 87 NONAME
- _ZN11SmfPlaylistD1Ev @ 88 NONAME
- _ZN11SmfPlaylistD2Ev @ 89 NONAME
- _ZN11SmfPlaylistaSERKS_ @ 90 NONAME
- _ZN11SmfProvider10serviceUrlER4QUrl @ 91 NONAME
- _ZN11SmfProvider11descriptionER7QString @ 92 NONAME
- _ZN11SmfProvider11serviceIconER6QImage @ 93 NONAME
- _ZN11SmfProvider11serviceNameER7QString @ 94 NONAME
- _ZN11SmfProvider12serviceTypesER11QStringList @ 95 NONAME
- _ZN11SmfProvider14applicationUrlER4QUrl @ 96 NONAME
- _ZN11SmfProviderC1EP7QObject @ 97 NONAME
- _ZN11SmfProviderC2EP7QObject @ 98 NONAME
- _ZN11SmfProviderD1Ev @ 99 NONAME
- _ZN11SmfProviderD2Ev @ 100 NONAME
- _ZN11SmfSubtitle11setDurationERKd @ 101 NONAME
- _ZN11SmfSubtitle11setLanguageERK7QString @ 102 NONAME
- _ZN11SmfSubtitle11setSubtitleERK10QByteArray @ 103 NONAME
- _ZN11SmfSubtitle12setFrameRateERKd @ 104 NONAME
- _ZN11SmfSubtitle14setReleaseYearERK9QDateTime @ 105 NONAME
- _ZN11SmfSubtitle5setIdERK7QString @ 106 NONAME
- _ZN11SmfSubtitleC1ERKS_ @ 107 NONAME
- _ZN11SmfSubtitleC1Ev @ 108 NONAME
- _ZN11SmfSubtitleC2ERKS_ @ 109 NONAME
- _ZN11SmfSubtitleC2Ev @ 110 NONAME
- _ZN11SmfSubtitleD1Ev @ 111 NONAME
- _ZN11SmfSubtitleD2Ev @ 112 NONAME
- _ZN11SmfSubtitleaSERKS_ @ 113 NONAME
- _ZN12SmfTrackInfo10setArtistsERK10SmfArtists @ 114 NONAME
- _ZN12SmfTrackInfo10setCommentERK5QListI10SmfCommentE @ 115 NONAME
- _ZN12SmfTrackInfo11setDurationERK5QTime @ 116 NONAME
- _ZN12SmfTrackInfo5setIdERK7QString @ 117 NONAME
- _ZN12SmfTrackInfo7setTagsERK11QStringList @ 118 NONAME
- _ZN12SmfTrackInfo7setYearERK9QDateTime @ 119 NONAME
- _ZN12SmfTrackInfo8setAlbumERK8SmfAlbum @ 120 NONAME
- _ZN12SmfTrackInfo8setGenreERK7QString @ 121 NONAME
- _ZN12SmfTrackInfo8setTitleERK7QString @ 122 NONAME
- _ZN12SmfTrackInfo9setRatingERK14SmfMusicRating @ 123 NONAME
- _ZN12SmfTrackInfoC1ERKS_ @ 124 NONAME
- _ZN12SmfTrackInfoC1Ev @ 125 NONAME
- _ZN12SmfTrackInfoC2ERKS_ @ 126 NONAME
- _ZN12SmfTrackInfoC2Ev @ 127 NONAME
- _ZN12SmfTrackInfoD1Ev @ 128 NONAME
- _ZN12SmfTrackInfoD2Ev @ 129 NONAME
- _ZN12SmfTrackInfoaSERKS_ @ 130 NONAME
- _ZN14SmfMusicRating12setMaxRatingERKi @ 131 NONAME
- _ZN14SmfMusicRating12setMinRatingERKi @ 132 NONAME
- _ZN14SmfMusicRating9setRatingERKi @ 133 NONAME
- _ZN14SmfMusicRatingC1EP12SmfTrackInfo @ 134 NONAME
- _ZN14SmfMusicRatingC1ERKS_ @ 135 NONAME
- _ZN14SmfMusicRatingC2EP12SmfTrackInfo @ 136 NONAME
- _ZN14SmfMusicRatingC2ERKS_ @ 137 NONAME
- _ZN14SmfMusicRatingD1Ev @ 138 NONAME
- _ZN14SmfMusicRatingD2Ev @ 139 NONAME
- _ZN14SmfMusicRatingaSERKS_ @ 140 NONAME
- _ZN15SmfMusicProfile13setUserEventsERK5QListI8SmfEventE @ 141 NONAME
- _ZN15SmfMusicProfile15setInterestInfoERK5QListI12SmfTrackInfoE @ 142 NONAME
- _ZN15SmfMusicProfile17setMusicUsageInfoERK5QListI12SmfTrackInfoE @ 143 NONAME
- _ZN15SmfMusicProfile5setIdERK7QString @ 144 NONAME
- _ZN15SmfMusicProfileC1ERKS_ @ 145 NONAME
- _ZN15SmfMusicProfileC1Ev @ 146 NONAME
- _ZN15SmfMusicProfileC2ERKS_ @ 147 NONAME
- _ZN15SmfMusicProfileC2Ev @ 148 NONAME
- _ZN15SmfMusicProfileD1Ev @ 149 NONAME
- _ZN15SmfMusicProfileD2Ev @ 150 NONAME
- _ZN15SmfMusicProfileaSERKS_ @ 151 NONAME
- _ZN15SmfPostProvider10updatePostER7SmfPost @ 152 NONAME
- _ZN15SmfPostProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 153 NONAME
- _ZN15SmfPostProvider11qt_metacastEPKc @ 154 NONAME
- _ZN15SmfPostProvider12postDirectedER7SmfPostR10SmfContactP11SmfLocation @ 155 NONAME
- _ZN15SmfPostProvider12postFinishedEb @ 156 NONAME
- _ZN15SmfPostProvider14postAppearenceE17SmfAppearenceInfo @ 157 NONAME
- _ZN15SmfPostProvider14postsAvailableEP5QListI7SmfPostE8SmfError13SmfResultPage @ 158 NONAME
- _ZN15SmfPostProvider16staticMetaObjectE @ 159 NONAME DATA 16
- _ZN15SmfPostProvider19customDataAvailableEiP10QByteArray @ 160 NONAME
- _ZN15SmfPostProvider19getStaticMetaObjectEv @ 161 NONAME
- _ZN15SmfPostProvider4postER7SmfPostR11SmfLocation @ 162 NONAME
- _ZN15SmfPostProvider5postsEP10SmfContactii @ 163 NONAME
- _ZN15SmfPostProvider9sharePostER7SmfPostR10SmfContactb @ 164 NONAME
- _ZN15SmfPostProviderC1EP11SmfProvider @ 165 NONAME
- _ZN15SmfPostProviderC2EP11SmfProvider @ 166 NONAME
- _ZN15SmfPostProviderD0Ev @ 167 NONAME
- _ZN15SmfPostProviderD1Ev @ 168 NONAME
- _ZN15SmfPostProviderD2Ev @ 169 NONAME
- _ZN17SmfContactFetcher10searchNearEP11SmfLocation25SmfLocationSearchBoundaryii @ 170 NONAME
- _ZN17SmfContactFetcher11getProviderEv @ 171 NONAME
- _ZN17SmfContactFetcher11qt_metacallEN11QMetaObject4CallEiPPv @ 172 NONAME
- _ZN17SmfContactFetcher11qt_metacastEPKc @ 173 NONAME
- _ZN17SmfContactFetcher13customRequestERKiP10QByteArray @ 174 NONAME
- _ZN17SmfContactFetcher13searchInGroupE8SmfGroupii @ 175 NONAME
- _ZN17SmfContactFetcher16staticMetaObjectE @ 176 NONAME DATA 16
- _ZN17SmfContactFetcher18groupListAvailableEP5QListI8SmfGroupE8SmfError13SmfResultPage @ 177 NONAME
- _ZN17SmfContactFetcher18searchNearFinishedEP5QListI10SmfContactE8SmfError13SmfResultPage @ 178 NONAME
- _ZN17SmfContactFetcher19customDataAvailableEiP10QByteArray @ 179 NONAME
- _ZN17SmfContactFetcher19getStaticMetaObjectEv @ 180 NONAME
- _ZN17SmfContactFetcher20friendsListAvailableEP5QListI10SmfContactE8SmfError13SmfResultPage @ 181 NONAME
- _ZN17SmfContactFetcher21searchContactFinishedEP5QListI10SmfContactE8SmfError13SmfResultPage @ 182 NONAME
- _ZN17SmfContactFetcher21searchInGroupFinishedEP5QListI10SmfContactE8SmfError13SmfResultPage @ 183 NONAME
- _ZN17SmfContactFetcher22followersListAvailableEP5QListI10SmfContactE8SmfError13SmfResultPage @ 184 NONAME
- _ZN17SmfContactFetcher6groupsEii @ 185 NONAME
- _ZN17SmfContactFetcher6searchEP10SmfContactii @ 186 NONAME
- _ZN17SmfContactFetcher7friendsEii @ 187 NONAME
- _ZN17SmfContactFetcher9followersEii @ 188 NONAME
- _ZN17SmfContactFetcherC1EP11SmfProvider @ 189 NONAME
- _ZN17SmfContactFetcherC1EP11SmfProviderP10SmfContact @ 190 NONAME
- _ZN17SmfContactFetcherC2EP11SmfProvider @ 191 NONAME
- _ZN17SmfContactFetcherC2EP11SmfProviderP10SmfContact @ 192 NONAME
- _ZN17SmfContactFetcherD0Ev @ 193 NONAME
- _ZN17SmfContactFetcherD1Ev @ 194 NONAME
- _ZN17SmfContactFetcherD2Ev @ 195 NONAME
- _ZN19SmfMusicFingerPrint19setMusicFingerPrintERK10QByteArray @ 196 NONAME
- _ZN19SmfMusicFingerPrintC1ERKS_ @ 197 NONAME
- _ZN19SmfMusicFingerPrintC1Ev @ 198 NONAME
- _ZN19SmfMusicFingerPrintC2ERKS_ @ 199 NONAME
- _ZN19SmfMusicFingerPrintC2Ev @ 200 NONAME
- _ZN19SmfMusicFingerPrintD1Ev @ 201 NONAME
- _ZN19SmfMusicFingerPrintD2Ev @ 202 NONAME
- _ZN19SmfMusicFingerPrintaSERKS_ @ 203 NONAME
- _ZN7SmfPost14setDescriptionERK7QString @ 204 NONAME
- _ZN7SmfPost5setIdE7QString @ 205 NONAME
- _ZN7SmfPost6setUrlER4QUrl @ 206 NONAME
- _ZN7SmfPost8setImageERK6QImage @ 207 NONAME
- _ZN7SmfPost8setTitleERK7QString @ 208 NONAME
- _ZN7SmfPostC1E7QStringS0_6QImage4QUrl @ 209 NONAME
- _ZN7SmfPostC1ERKS_ @ 210 NONAME
- _ZN7SmfPostC1Ev @ 211 NONAME
- _ZN7SmfPostC2E7QStringS0_6QImage4QUrl @ 212 NONAME
- _ZN7SmfPostC2ERKS_ @ 213 NONAME
- _ZN7SmfPostC2Ev @ 214 NONAME
- _ZN7SmfPostD1Ev @ 215 NONAME
- _ZN7SmfPostD2Ev @ 216 NONAME
- _ZN7SmfPostaSERKS_ @ 217 NONAME
- _ZN8SmfAlbum10setArtistsERK10SmfArtists @ 218 NONAME
- _ZN8SmfAlbum5setIdERK7QString @ 219 NONAME
- _ZN8SmfAlbum7setNameERK7QString @ 220 NONAME
- _ZN8SmfAlbum8setImageERK6QImage @ 221 NONAME
- _ZN8SmfAlbumC1ERKS_ @ 222 NONAME
- _ZN8SmfAlbumC1Ev @ 223 NONAME
- _ZN8SmfAlbumC2ERKS_ @ 224 NONAME
- _ZN8SmfAlbumC2Ev @ 225 NONAME
- _ZN8SmfAlbumD1Ev @ 226 NONAME
- _ZN8SmfAlbumD2Ev @ 227 NONAME
- _ZN8SmfAlbumaSERKS_ @ 228 NONAME
- _ZN8SmfEvent10setArtistsERK10SmfArtists @ 229 NONAME
- _ZN8SmfEvent11setDurationERK5QTime @ 230 NONAME
- _ZN8SmfEvent12setTicketUrlERK4QUrl @ 231 NONAME
- _ZN8SmfEvent16setEventDateTimeERK9QDateTime @ 232 NONAME
- _ZN8SmfEvent5setIdERK7QString @ 233 NONAME
- _ZN8SmfEvent8setTitleERK7QString @ 234 NONAME
- _ZN8SmfEvent8setVenueERK11SmfLocation @ 235 NONAME
- _ZN8SmfEventC1ERKS_ @ 236 NONAME
- _ZN8SmfEventC1Ev @ 237 NONAME
- _ZN8SmfEventC2ERKS_ @ 238 NONAME
- _ZN8SmfEventC2Ev @ 239 NONAME
- _ZN8SmfEventD1Ev @ 240 NONAME
- _ZN8SmfEventD2Ev @ 241 NONAME
- _ZN8SmfEventaSERKS_ @ 242 NONAME
- _ZN8SmfGroup10setMembersEP5QListI10SmfContactE @ 243 NONAME
- _ZN8SmfGroup5setIdER7QString @ 244 NONAME
- _ZN8SmfGroup7setNameER7QString @ 245 NONAME
- _ZN8SmfGroupC1EP5QListI10SmfContactE @ 246 NONAME
- _ZN8SmfGroupC1ERKS_ @ 247 NONAME
- _ZN8SmfGroupC2EP5QListI10SmfContactE @ 248 NONAME
- _ZN8SmfGroupC2ERKS_ @ 249 NONAME
- _ZN8SmfGroupD1Ev @ 250 NONAME
- _ZN8SmfGroupD2Ev @ 251 NONAME
- _ZN8SmfGroupaSERKS_ @ 252 NONAME
- _ZN9SmfClient11GetServicesERK7QString @ 253 NONAME
- _ZN9SmfClientC1Ev @ 254 NONAME
- _ZN9SmfClientC2Ev @ 255 NONAME
- _ZN9SmfClientD1Ev @ 256 NONAME
- _ZN9SmfClientD2Ev @ 257 NONAME
- _ZN9SmfLyrics11setLanguageERK7QString @ 258 NONAME
- _ZN9SmfLyrics14setReleaseYearERK9QDateTime @ 259 NONAME
- _ZN9SmfLyrics5setIdERK7QString @ 260 NONAME
- _ZN9SmfLyrics9setLyricsERK10QByteArray @ 261 NONAME
- _ZN9SmfLyricsC1ERKS_ @ 262 NONAME
- _ZN9SmfLyricsC1Ev @ 263 NONAME
- _ZN9SmfLyricsC2ERKS_ @ 264 NONAME
- _ZN9SmfLyricsC2Ev @ 265 NONAME
- _ZN9SmfLyricsD1Ev @ 266 NONAME
- _ZN9SmfLyricsD2Ev @ 267 NONAME
- _ZN9SmfLyricsaSERKS_ @ 268 NONAME
- _ZNK10SmfArtists3urlEv @ 269 NONAME
- _ZNK10SmfArtists5imageEv @ 270 NONAME
- _ZNK10SmfArtists5namesEv @ 271 NONAME
- _ZNK10SmfComment2idEv @ 272 NONAME
- _ZNK10SmfComment4textEv @ 273 NONAME
- _ZNK10SmfComment9timeStampEv @ 274 NONAME
- _ZNK10SmfContact5valueERK7QString @ 275 NONAME
- _ZNK10SmfContact7convertERN10QtMobility8QContactE @ 276 NONAME
- _ZNK10SmfContact8subTypesEv @ 277 NONAME
- _ZNK10SmfContact8writeLogE7QString @ 278 NONAME
- _ZNK10SmfGallery10metaObjectEv @ 279 NONAME
- _ZNK10SmfPicture10postedDateEv @ 280 NONAME
- _ZNK10SmfPicture10visibilityEv @ 281 NONAME
- _ZNK10SmfPicture11descriptionEv @ 282 NONAME
- _ZNK10SmfPicture2idEv @ 283 NONAME
- _ZNK10SmfPicture3urlEv @ 284 NONAME
- _ZNK10SmfPicture4tagsEv @ 285 NONAME
- _ZNK10SmfPicture5ownerEv @ 286 NONAME
- _ZNK10SmfPicture5titleEv @ 287 NONAME
- _ZNK10SmfPicture7pictureEv @ 288 NONAME
- _ZNK10SmfPicture8commentsEv @ 289 NONAME
- _ZNK11SmfLocation15geoPositionInfoEv @ 290 NONAME
- _ZNK11SmfLocation2idEv @ 291 NONAME
- _ZNK11SmfLocation3urlEv @ 292 NONAME
- _ZNK11SmfLocation4cityEv @ 293 NONAME
- _ZNK11SmfLocation4nameEv @ 294 NONAME
- _ZNK11SmfLocation6streetEv @ 295 NONAME
- _ZNK11SmfLocation7countryEv @ 296 NONAME
- _ZNK11SmfLocation7zipCodeEv @ 297 NONAME
- _ZNK11SmfPlaylist12creationDateEv @ 298 NONAME
- _ZNK11SmfPlaylist13playListTitleEv @ 299 NONAME
- _ZNK11SmfPlaylist2idEv @ 300 NONAME
- _ZNK11SmfPlaylist9trackListEv @ 301 NONAME
- _ZNK11SmfProvider10serviceUrlEv @ 302 NONAME
- _ZNK11SmfProvider11descriptionEv @ 303 NONAME
- _ZNK11SmfProvider11serviceIconEv @ 304 NONAME
- _ZNK11SmfProvider11serviceNameEv @ 305 NONAME
- _ZNK11SmfProvider12serviceTypesEv @ 306 NONAME
- _ZNK11SmfProvider14applicationUrlEv @ 307 NONAME
- _ZNK11SmfSubtitle11releaseYearEv @ 308 NONAME
- _ZNK11SmfSubtitle2idEv @ 309 NONAME
- _ZNK11SmfSubtitle8durationEv @ 310 NONAME
- _ZNK11SmfSubtitle8languageEv @ 311 NONAME
- _ZNK11SmfSubtitle8subtitleEv @ 312 NONAME
- _ZNK11SmfSubtitle9frameRateEv @ 313 NONAME
- _ZNK12SmfTrackInfo2idEv @ 314 NONAME
- _ZNK12SmfTrackInfo4tagsEv @ 315 NONAME
- _ZNK12SmfTrackInfo4yearEv @ 316 NONAME
- _ZNK12SmfTrackInfo5albumEv @ 317 NONAME
- _ZNK12SmfTrackInfo5genreEv @ 318 NONAME
- _ZNK12SmfTrackInfo5titleEv @ 319 NONAME
- _ZNK12SmfTrackInfo6ratingEv @ 320 NONAME
- _ZNK12SmfTrackInfo7artistsEv @ 321 NONAME
- _ZNK12SmfTrackInfo8commentsEv @ 322 NONAME
- _ZNK12SmfTrackInfo8durationEv @ 323 NONAME
- _ZNK14SmfMusicRating6ratingEv @ 324 NONAME
- _ZNK14SmfMusicRating9maxRatingEv @ 325 NONAME
- _ZNK14SmfMusicRating9minRatingEv @ 326 NONAME
- _ZNK15SmfMusicProfile10userEventsEv @ 327 NONAME
- _ZNK15SmfMusicProfile12interestInfoEv @ 328 NONAME
- _ZNK15SmfMusicProfile14musicUsageInfoEv @ 329 NONAME
- _ZNK15SmfMusicProfile2idEv @ 330 NONAME
- _ZNK15SmfPostProvider10metaObjectEv @ 331 NONAME
- _ZNK15SmfPostProvider11getProviderEv @ 332 NONAME
- _ZNK15SmfPostProvider14maxCharsInPostEv @ 333 NONAME
- _ZNK15SmfPostProvider16supportedFormatsEv @ 334 NONAME
- _ZNK15SmfPostProvider18supportsAppearenceEv @ 335 NONAME
- _ZNK15SmfPostProvider8maxItemsEv @ 336 NONAME
- _ZNK17SmfContactFetcher10metaObjectEv @ 337 NONAME
- _ZNK19SmfMusicFingerPrint16musicFingerPrintEv @ 338 NONAME
- _ZNK7SmfPost11descriptionEv @ 339 NONAME
- _ZNK7SmfPost2idEv @ 340 NONAME
- _ZNK7SmfPost3urlEv @ 341 NONAME
- _ZNK7SmfPost5imageEv @ 342 NONAME
- _ZNK7SmfPost5titleEv @ 343 NONAME
- _ZNK8SmfAlbum2idEv @ 344 NONAME
- _ZNK8SmfAlbum4nameEv @ 345 NONAME
- _ZNK8SmfAlbum5imageEv @ 346 NONAME
- _ZNK8SmfAlbum7artistsEv @ 347 NONAME
- _ZNK8SmfEvent13eventDateTimeEv @ 348 NONAME
- _ZNK8SmfEvent2idEv @ 349 NONAME
- _ZNK8SmfEvent5titleEv @ 350 NONAME
- _ZNK8SmfEvent5venueEv @ 351 NONAME
- _ZNK8SmfEvent7artistsEv @ 352 NONAME
- _ZNK8SmfEvent8durationEv @ 353 NONAME
- _ZNK8SmfEvent9ticketUrlEv @ 354 NONAME
- _ZNK8SmfGroup2idEv @ 355 NONAME
- _ZNK8SmfGroup4nameEv @ 356 NONAME
- _ZNK8SmfGroup7membersEv @ 357 NONAME
- _ZNK9SmfClient8writeLogE7QString @ 358 NONAME
- _ZNK9SmfLyrics11releaseYearEv @ 359 NONAME
- _ZNK9SmfLyrics2idEv @ 360 NONAME
- _ZNK9SmfLyrics6lyricsEv @ 361 NONAME
- _ZNK9SmfLyrics8languageEv @ 362 NONAME
- _ZTI10SmfGallery @ 363 NONAME
- _ZTI15SmfPostProvider @ 364 NONAME
- _ZTI16SmfClientPrivate @ 365 NONAME
- _ZTI17CSmfClientSymbian @ 366 NONAME
- _ZTI17SmfContactFetcher @ 367 NONAME
- _ZTI17SmfGalleryPrivate @ 368 NONAME
- _ZTI22SmfPostProviderPrivate @ 369 NONAME
- _ZTI24SmfContactFetcherPrivate @ 370 NONAME
- _ZTV10SmfGallery @ 371 NONAME
- _ZTV15SmfPostProvider @ 372 NONAME
- _ZTV16SmfClientPrivate @ 373 NONAME
- _ZTV17CSmfClientSymbian @ 374 NONAME
- _ZTV17SmfContactFetcher @ 375 NONAME
- _ZTV17SmfGalleryPrivate @ 376 NONAME
- _ZTV22SmfPostProviderPrivate @ 377 NONAME
- _ZTV24SmfContactFetcherPrivate @ 378 NONAME
- _ZlsR11QDataStreamRK10SmfArtists @ 379 NONAME
- _ZlsR11QDataStreamRK10SmfComment @ 380 NONAME
- _ZlsR11QDataStreamRK10SmfContact @ 381 NONAME
- _ZlsR11QDataStreamRK10SmfPicture @ 382 NONAME
- _ZlsR11QDataStreamRK11SmfLocation @ 383 NONAME
- _ZlsR11QDataStreamRK11SmfPlaylist @ 384 NONAME
- _ZlsR11QDataStreamRK11SmfProvider @ 385 NONAME
- _ZlsR11QDataStreamRK11SmfSubtitle @ 386 NONAME
- _ZlsR11QDataStreamRK12SmfTrackInfo @ 387 NONAME
- _ZlsR11QDataStreamRK14SmfMusicRating @ 388 NONAME
- _ZlsR11QDataStreamRK15SmfMusicProfile @ 389 NONAME
- _ZlsR11QDataStreamRK19SmfMusicFingerPrint @ 390 NONAME
- _ZlsR11QDataStreamRK7SmfPost @ 391 NONAME
- _ZlsR11QDataStreamRK8SmfAlbum @ 392 NONAME
- _ZlsR11QDataStreamRK8SmfEvent @ 393 NONAME
- _ZlsR11QDataStreamRK8SmfGroup @ 394 NONAME
- _ZlsR11QDataStreamRK9SmfLyrics @ 395 NONAME
- _ZlsR11QDataStreamRKN10QtMobility12QContactNameE @ 396 NONAME
- _ZrsR11QDataStreamR10SmfArtists @ 397 NONAME
- _ZrsR11QDataStreamR10SmfComment @ 398 NONAME
- _ZrsR11QDataStreamR10SmfContact @ 399 NONAME
- _ZrsR11QDataStreamR10SmfPicture @ 400 NONAME
- _ZrsR11QDataStreamR11SmfLocation @ 401 NONAME
- _ZrsR11QDataStreamR11SmfPlaylist @ 402 NONAME
- _ZrsR11QDataStreamR11SmfProvider @ 403 NONAME
- _ZrsR11QDataStreamR11SmfSubtitle @ 404 NONAME
- _ZrsR11QDataStreamR12SmfTrackInfo @ 405 NONAME
- _ZrsR11QDataStreamR14SmfMusicRating @ 406 NONAME
- _ZrsR11QDataStreamR15SmfMusicProfile @ 407 NONAME
- _ZrsR11QDataStreamR19SmfMusicFingerPrint @ 408 NONAME
- _ZrsR11QDataStreamR7SmfPost @ 409 NONAME
- _ZrsR11QDataStreamR8SmfAlbum @ 410 NONAME
- _ZrsR11QDataStreamR8SmfEvent @ 411 NONAME
- _ZrsR11QDataStreamR8SmfGroup @ 412 NONAME
- _ZrsR11QDataStreamR9SmfLyrics @ 413 NONAME
- _ZrsR11QDataStreamRN10QtMobility12QContactNameE @ 414 NONAME
- _ZN13SmfPluginUtil11getAuthKeysER4QMapI7QStringS1_ES1_S1_ @ 415 NONAME
- _ZN13SmfPluginUtil11getInstanceEv @ 416 NONAME
- _ZN13SmfPluginUtil12m_myInstanceE @ 417 NONAME DATA 4
- _ZN13SmfPluginUtil13getJsonHandleEv @ 418 NONAME
- _ZN13SmfPluginUtil21createParameterStringERK7QStringN21QNetworkAccessManager9OperationERK10QByteArrayS7_18SmfSignatureMethodRK9QMultiMapIS5_S5_E14SmfParsingMode @ 419 NONAME
- _ZN13SmfPluginUtil8getNonceER7QString @ 420 NONAME
- _ZN13SmfPluginUtilC1Ev @ 421 NONAME
- _ZN13SmfPluginUtilC2Ev @ 422 NONAME
- _ZN13SmfPluginUtilD1Ev @ 423 NONAME
- _ZN13SmfPluginUtilD2Ev @ 424 NONAME
-
--- a/smf/smfservermodule/smfclient/ABLD.BAT Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\CarbideWorkspace\smfserver_cleaned\smf\smfservermodule\smfclient\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/smf/smfservermodule/smfclient/bld.inf Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-// ============================================================================
-// * Makefile for building: smfclient
-// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-05-18T15:53:35
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project: smfclient.pro
-// * Template: lib
-// ============================================================================
-
-#define BLD_INF_SMFCLIENT_FA53C5DE
-
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-gnumakefile Makefile_0xE08059D4.mk
-smfclient_0xE08059D4.mmp
-
-prj_extensions
-
-
-
-prj_exports
-
-client/smfclient.h
-client/smfclient_p.h
-client/smfcontactfetcher.h
-client/smfcontactfetcher_p.h
-client/smfclientsymbian.h
-client/smfclientsymbiansession.h
-client/smfpostprovider.h
-client/smfpostprovider_p.h
-client/smfgallery.h
-client/smfgallery_p.h
-common/smfclientglobal.h
-common/smfglobal.h
-common/smfobserver.h
-common/smfalbum.h
-common/smfalbum_p.h
-common/smfartists.h
-common/smfartists_p.h
-common/smfcomment.h
-common/smfcomment_p.h
-common/smfcontact.h
-common/smfcontact_p.h
-common/smfevent.h
-common/smfevent_p.h
-common/smfgroup.h
-common/smfgroup_p.h
-common/smflocation.h
-common/smflocation_p.h
-common/smflyrics.h
-common/smflyrics_p.h
-common/smfmusicfingerprint.h
-common/smfmusicfingerprint_p.h
-common/smfmusicprofile.h
-common/smfmusicprofile_p.h
-common/smfmusicrating.h
-common/smfmusicrating_p.h
-common/smfpicture.h
-common/smfpicture_p.h
-common/smfplaylist.h
-common/smfplaylist_p.h
-common/smfpluginutil.h
-common/smfpost.h
-common/smfpost_p.h
-common/smfprovider.h
-common/smfsubtitle.h
-common/smfsubtitle_p.h
-common/smftrackinfo.h
-common/smftrackinfo_p.h
--- a/smf/smfservermodule/smfclient/bwins/smfclientu.def Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfclient/bwins/smfclientu.def Thu Aug 05 16:48:48 2010 +0530
@@ -1,680 +1,245 @@
EXPORTS
- ??0SmfMusicRating@@QAE@ABV0@@Z @ 1 NONAME ; SmfMusicRating::SmfMusicRating(class SmfMusicRating const &)
- ?setId@SmfLocation@@QAEXABVQString@@@Z @ 2 NONAME ; void SmfLocation::setId(class QString const &)
- ?id@SmfPost@@QBE?AVQString@@XZ @ 3 NONAME ; class QString SmfPost::id(void) const
- ?convert@SmfContact@@QBEXAAVQContact@QtMobility@@@Z @ 4 NONAME ; void SmfContact::convert(class QtMobility::QContact &) const
- ??5@YAAAVQDataStream@@AAV0@AAVSmfArtists@@@Z @ 5 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfArtists &)
- ?setTitle@SmfActivityEntry@@QAE_NABVSmfPost@@@Z @ 6 NONAME ; bool SmfActivityEntry::setTitle(class SmfPost const &)
- ?genre@SmfTrackInfo@@QBE?AVQString@@XZ @ 7 NONAME ; class QString SmfTrackInfo::genre(void) const
- ?artists@SmfTrackInfo@@QBE?AVSmfArtists@@XZ @ 8 NONAME ; class SmfArtists SmfTrackInfo::artists(void) const
- ??_ESmfPictureAlbum@@QAE@I@Z @ 9 NONAME ; SmfPictureAlbum::~SmfPictureAlbum(unsigned int)
- ?playlistUpdated@SmfPlaylistService@@IAEXW4SmfError@@@Z @ 10 NONAME ; void SmfPlaylistService::playlistUpdated(enum SmfError)
- ?tags@SmfPicture@@QBE?AVQStringList@@XZ @ 11 NONAME ; class QStringList SmfPicture::tags(void) const
- ??0SmfEvent@@QAE@XZ @ 12 NONAME ; SmfEvent::SmfEvent(void)
- ?keywords@SmfPictureAlbum@@QBE?AVQStringList@@XZ @ 13 NONAME ; class QStringList SmfPictureAlbum::keywords(void) const
- ??_ESmfMusicEvents@@UAE@I@Z @ 14 NONAME ; SmfMusicEvents::~SmfMusicEvents(unsigned int)
- ?country@SmfLocation@@QBE?AVQString@@XZ @ 15 NONAME ; class QString SmfLocation::country(void) const
- ?getStaticMetaObject@SmfActivityFetcher@@SAABUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const & SmfActivityFetcher::getStaticMetaObject(void)
- ?setCaption@SmfActivityObject@@QAEXABVQString@@@Z @ 17 NONAME ; void SmfActivityObject::setCaption(class QString const &)
- ?id@SmfPicture@@QBE?AVQString@@XZ @ 18 NONAME ; class QString SmfPicture::id(void) const
- ?postRating@SmfMusicSearch@@QAEXVSmfTrackInfo@@VSmfMusicRating@@@Z @ 19 NONAME ; void SmfMusicSearch::postRating(class SmfTrackInfo, class SmfMusicRating)
- ??0SmfPlaylist@@QAE@XZ @ 20 NONAME ; SmfPlaylist::SmfPlaylist(void)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactGuid@QtMobility@@@Z @ 21 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactGuid &)
- ?setNames@SmfArtists@@QAEXABVQStringList@@@Z @ 22 NONAME ; void SmfArtists::setNames(class QStringList const &)
- ?id@SmfActivityObject@@QBE?AVQString@@XZ @ 23 NONAME ; class QString SmfActivityObject::id(void) const
- ??4SmfMusicFingerPrint@@QAEAAV0@ABV0@@Z @ 24 NONAME ; class SmfMusicFingerPrint & SmfMusicFingerPrint::operator=(class SmfMusicFingerPrint const &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactName@QtMobility@@@Z @ 25 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactName const &)
- ?setLocation@SmfPlaylist@@QAEXABVQUrl@@@Z @ 26 NONAME ; void SmfPlaylist::setLocation(class QUrl const &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactThumbnail@QtMobility@@@Z @ 27 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactThumbnail const &)
- ?tr@SmfPostProvider@@SA?AVQString@@PBD0H@Z @ 28 NONAME ; class QString SmfPostProvider::tr(char const *, char const *, int)
- ?trUtf8@SmfActivityFetcher@@SA?AVQString@@PBD0H@Z @ 29 NONAME ; class QString SmfActivityFetcher::trUtf8(char const *, char const *, int)
- ?get@SmfRelationMgr@@QAE?AVSmfRelationItem@@AAVQString@@I@Z @ 30 NONAME ; class SmfRelationItem SmfRelationMgr::get(class QString &, unsigned int)
- ??0SmfGroup@@QAE@PAV?$QList@VSmfContact@@@@@Z @ 31 NONAME ; SmfGroup::SmfGroup(class QList<class SmfContact> *)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactUrl@QtMobility@@@Z @ 32 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactUrl const &)
- ?trUtf8@SmfPlaylistService@@SA?AVQString@@PBD0H@Z @ 33 NONAME ; class QString SmfPlaylistService::trUtf8(char const *, char const *, int)
- ?lyricsAvailable@SmfLyricsService@@IAEXPAV?$QList@VSmfLyrics@@@@W4SmfError@@USmfResultPage@@@Z @ 34 NONAME ; void SmfLyricsService::lyricsAvailable(class QList<class SmfLyrics> *, enum SmfError, struct SmfResultPage)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfPicture@@@Z @ 35 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPicture const &)
- ?staticMetaObject@SmfMusicService@@2UQMetaObject@@B @ 36 NONAME ; struct QMetaObject const SmfMusicService::staticMetaObject
- ?setLength@SmfUrl@@QAEXABVQString@@@Z @ 37 NONAME ; void SmfUrl::setLength(class QString const &)
- ?postEvents@SmfMusicEvents@@QAEXV?$QList@VSmfEvent@@@@@Z @ 38 NONAME ; void SmfMusicEvents::postEvents(class QList<class SmfEvent>)
- ?serviceUrl@SmfProvider@@QBE?AVQUrl@@XZ @ 39 NONAME ; class QUrl SmfProvider::serviceUrl(void) const
- ?setTags@SmfTrackInfo@@QAEXABVQStringList@@@Z @ 40 NONAME ; void SmfTrackInfo::setTags(class QStringList const &)
- ?addComment@SmfPicture@@QAEXABVSmfComment@@@Z @ 41 NONAME ; void SmfPicture::addComment(class SmfComment const &)
- ?metaObject@SmfActivityFetcher@@UBEPBUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const * SmfActivityFetcher::metaObject(void) const
- ??4SmfMusicRating@@QAEAAV0@ABV0@@Z @ 43 NONAME ; class SmfMusicRating & SmfMusicRating::operator=(class SmfMusicRating const &)
- ?playlists@SmfPlaylistService@@QAEXHH@Z @ 44 NONAME ; void SmfPlaylistService::playlists(int, int)
- ?venuesAvailable@SmfMusicEvents@@IAEXPAV?$QList@VSmfLocation@@@@W4SmfError@@USmfResultPage@@@Z @ 45 NONAME ; void SmfMusicEvents::venuesAvailable(class QList<class SmfLocation> *, enum SmfError, struct SmfResultPage)
- ?name@SmfAlbum@@QBE?AVQString@@XZ @ 46 NONAME ; class QString SmfAlbum::name(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVSmfComment@@@Z @ 47 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfComment const &)
- ?frameRate@SmfSubtitle@@QBENXZ @ 48 NONAME ; double SmfSubtitle::frameRate(void) const
- ?setId@SmfMusicProfile@@QAEXABVQString@@@Z @ 49 NONAME ; void SmfMusicProfile::setId(class QString const &)
- ?setId@SmfAlbum@@QAEXABVQString@@@Z @ 50 NONAME ; void SmfAlbum::setId(class QString const &)
- ?description@SmfPost@@QBE?AVQString@@XZ @ 51 NONAME ; class QString SmfPost::description(void) const
- ??_ESmfSubtitle@@QAE@I@Z @ 52 NONAME ; SmfSubtitle::~SmfSubtitle(unsigned int)
- ?trUtf8@SmfPostProvider@@SA?AVQString@@PBD0@Z @ 53 NONAME ; class QString SmfPostProvider::trUtf8(char const *, char const *)
- ??_ESmfLocation@@QAE@I@Z @ 54 NONAME ; SmfLocation::~SmfLocation(unsigned int)
- ?setCountry@SmfLocation@@QAEXABVQString@@@Z @ 55 NONAME ; void SmfLocation::setCountry(class QString const &)
- ?zipCode@SmfLocation@@QBE?AVQString@@XZ @ 56 NONAME ; class QString SmfLocation::zipCode(void) const
- ??4SmfTrackInfo@@QAEAAV0@ABV0@@Z @ 57 NONAME ; class SmfTrackInfo & SmfTrackInfo::operator=(class SmfTrackInfo const &)
- ??0SmfActivityFetcher@@QAE@PAVSmfProvider@@@Z @ 58 NONAME ; SmfActivityFetcher::SmfActivityFetcher(class SmfProvider *)
- ?url@SmfPictureAlbum@@QBE?AVQUrl@@XZ @ 59 NONAME ; class QUrl SmfPictureAlbum::url(void) const
- ?qt_metacall@SmfContactFetcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 60 NONAME ; int SmfContactFetcher::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??_ESmfPost@@QAE@I@Z @ 61 NONAME ; SmfPost::~SmfPost(unsigned int)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfSubtitle@@@Z @ 62 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfSubtitle &)
- ?setId@SmfActivityObject@@QAEXABVQString@@@Z @ 63 NONAME ; void SmfActivityObject::setId(class QString const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactNote@QtMobility@@@Z @ 64 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactNote &)
- ?duration@SmfTrackInfo@@QBE?AVQTime@@XZ @ 65 NONAME ; class QTime SmfTrackInfo::duration(void) const
- ?author@SmfActivityEntry@@QBE?AVSmfContact@@XZ @ 66 NONAME ; class SmfContact SmfActivityEntry::author(void) const
- ?setId@SmfEvent@@QAEXABVQString@@@Z @ 67 NONAME ; void SmfEvent::setId(class QString const &)
- ?geoPositionInfo@SmfLocation@@QBE?AVQGeoPositionInfo@QtMobility@@XZ @ 68 NONAME ; class QtMobility::QGeoPositionInfo SmfLocation::geoPositionInfo(void) const
- ?duration@SmfEvent@@QBE?AVQTime@@XZ @ 69 NONAME ; class QTime SmfEvent::duration(void) const
- ??_ESmfComment@@QAE@I@Z @ 70 NONAME ; SmfComment::~SmfComment(unsigned int)
- ?location@SmfPlaylist@@QBE?AVQUrl@@XZ @ 71 NONAME ; class QUrl SmfPlaylist::location(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVSmfPost@@@Z @ 72 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPost const &)
- ??4SmfPicture@@QAEAAV0@ABV0@@Z @ 73 NONAME ; class SmfPicture & SmfPicture::operator=(class SmfPicture const &)
- ?setId@SmfActivityEntry@@QAE_NABVQString@@@Z @ 74 NONAME ; bool SmfActivityEntry::setId(class QString const &)
- ?postfinished@SmfMusicSearch@@IAEXW4SmfError@@@Z @ 75 NONAME ; void SmfMusicSearch::postfinished(enum SmfError)
- ?image@SmfArtists@@QBE?AVQImage@@XZ @ 76 NONAME ; class QImage SmfArtists::image(void) const
- ?trackSearchAvailable@SmfMusicSearch@@IAEXPAV?$QList@VSmfTrackInfo@@@@W4SmfError@@USmfResultPage@@@Z @ 77 NONAME ; void SmfMusicSearch::trackSearchAvailable(class QList<class SmfTrackInfo> *, enum SmfError, struct SmfResultPage)
- ?getStaticMetaObject@SmfMusicSearch@@SAABUQMetaObject@@XZ @ 78 NONAME ; struct QMetaObject const & SmfMusicSearch::getStaticMetaObject(void)
- ?qt_metacall@SmfMusicSearch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 79 NONAME ; int SmfMusicSearch::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactAnniversary@QtMobility@@@Z @ 80 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactAnniversary &)
- ?image@SmfPlaylist@@QBE?AVQUrl@@XZ @ 81 NONAME ; class QUrl SmfPlaylist::image(void) const
- ?setGeoPositionInfo@SmfLocation@@QAEXABVQGeoPositionInfo@QtMobility@@@Z @ 82 NONAME ; void SmfLocation::setGeoPositionInfo(class QtMobility::QGeoPositionInfo const &)
- ?staticMetaObject@SmfActivityFetcher@@2UQMetaObject@@B @ 83 NONAME ; struct QMetaObject const SmfActivityFetcher::staticMetaObject
- ??0SmfMusicRating@@QAE@PAVSmfTrackInfo@@@Z @ 84 NONAME ; SmfMusicRating::SmfMusicRating(class SmfTrackInfo *)
- ?qt_metacast@SmfActivityFetcher@@UAEPAXPBD@Z @ 85 NONAME ; void * SmfActivityFetcher::qt_metacast(char const *)
- ?getContact@SmfRelationItem@@QBE?AVSmfContact@@XZ @ 86 NONAME ; class SmfContact SmfRelationItem::getContact(void) const
- ?tr@SmfRelationMgr@@SA?AVQString@@PBD0@Z @ 87 NONAME ; class QString SmfRelationMgr::tr(char const *, char const *)
- ?maxCharsInPost@SmfPostProvider@@QBEHXZ @ 88 NONAME ; int SmfPostProvider::maxCharsInPost(void) const
- ?setVisibility@SmfPicture@@QAEXABW4SmfPictureVisibility@@@Z @ 89 NONAME ; void SmfPicture::setVisibility(enum SmfPictureVisibility const &)
- ?resultsAvailable@SmfActivityFetcher@@IAEXPAV?$QList@VSmfActivityEntry@@@@W4SmfError@@USmfResultPage@@@Z @ 90 NONAME ; void SmfActivityFetcher::resultsAvailable(class QList<class SmfActivityEntry> *, enum SmfError, struct SmfResultPage)
- ?trUtf8@SmfActivityFetcher@@SA?AVQString@@PBD0@Z @ 91 NONAME ; class QString SmfActivityFetcher::trUtf8(char const *, char const *)
- ?setVersion@SmfPlaylist@@QAEXABVQString@@@Z @ 92 NONAME ; void SmfPlaylist::setVersion(class QString const &)
- ?errorLine@SmfPluginUtil@@QBEHXZ @ 93 NONAME ; int SmfPluginUtil::errorLine(void) const
- ?setImage@SmfAlbum@@QAEXABVQImage@@@Z @ 94 NONAME ; void SmfAlbum::setImage(class QImage const &)
- ?description@SmfPictureAlbum@@QBE?AVQString@@XZ @ 95 NONAME ; class QString SmfPictureAlbum::description(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicRating@@@Z @ 96 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicRating const &)
- ?setDescription@SmfPictureAlbum@@QAEXABVQString@@@Z @ 97 NONAME ; void SmfPictureAlbum::setDescription(class QString const &)
- ?trUtf8@SmfMusicService@@SA?AVQString@@PBD0@Z @ 98 NONAME ; class QString SmfMusicService::trUtf8(char const *, char const *)
- ?qt_metacall@SmfLyricsService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 99 NONAME ; int SmfLyricsService::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?venues@SmfMusicEvents@@QAEXVQContactGeoLocation@QtMobility@@HH@Z @ 100 NONAME ; void SmfMusicEvents::venues(class QtMobility::QContactGeoLocation, int, int)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfActivityEntry@@@Z @ 101 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfActivityEntry const &)
- ??1SmfMusicService@@UAE@XZ @ 102 NONAME ; SmfMusicService::~SmfMusicService(void)
- ?trUtf8@SmfContactFetcher@@SA?AVQString@@PBD0@Z @ 103 NONAME ; class QString SmfContactFetcher::trUtf8(char const *, char const *)
- ?tr@SmfGallery@@SA?AVQString@@PBD0H@Z @ 104 NONAME ; class QString SmfGallery::tr(char const *, char const *, int)
- ?musicUsageInfo@SmfMusicProfile@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 105 NONAME ; class QList<class SmfTrackInfo> SmfMusicProfile::musicUsageInfo(void) const
- ??1SmfComment@@QAE@XZ @ 106 NONAME ; SmfComment::~SmfComment(void)
- ?setFrameRate@SmfSubtitle@@QAEXABN@Z @ 107 NONAME ; void SmfSubtitle::setFrameRate(double const &)
- ?maxItems@SmfPostProvider@@QBEHXZ @ 108 NONAME ; int SmfPostProvider::maxItems(void) const
- ?customRequest@SmfPostProvider@@QAEXABHPAVQByteArray@@@Z @ 109 NONAME ; void SmfPostProvider::customRequest(int const &, class QByteArray *)
- ??0SmfContact@@QAE@ABV0@@Z @ 110 NONAME ; SmfContact::SmfContact(class SmfContact const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactName@QtMobility@@@Z @ 111 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactName &)
- ?metadata@SmfPlaylist@@QBE?AV?$QMap@VQString@@VQVariant@@@@XZ @ 112 NONAME ; class QMap<class QString, class QVariant> SmfPlaylist::metadata(void) const
- ?url@SmfLocation@@QBE?AVQUrl@@XZ @ 113 NONAME ; class QUrl SmfLocation::url(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVQContactAddress@QtMobility@@@Z @ 114 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactAddress const &)
- ?getStaticMetaObject@SmfMusicEvents@@SAABUQMetaObject@@XZ @ 115 NONAME ; struct QMetaObject const & SmfMusicEvents::getStaticMetaObject(void)
- ?setName@SmfGroup@@QAEXAAVQString@@@Z @ 116 NONAME ; void SmfGroup::setName(class QString &)
+ ?eventsUpdated@SmfMusicEvents@@IAEXW4SmfError@@@Z @ 1 NONAME ; void SmfMusicEvents::eventsUpdated(enum SmfError)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfRelationItem@@@Z @ 2 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfRelationItem const &)
+ ?count@SmfRelationMgr@@QAEIVQString@@@Z @ 3 NONAME ; unsigned int SmfRelationMgr::count(class QString)
+ ?staticMetaObject@SmfRelationMgr@@2UQMetaObject@@B @ 4 NONAME ; struct QMetaObject const SmfRelationMgr::staticMetaObject
+ ?trUtf8@SmfPlaylistService@@SA?AVQString@@PBD0@Z @ 5 NONAME ; class QString SmfPlaylistService::trUtf8(char const *, char const *)
+ ?customDataAvailable@SmfMusicEvents@@IAEXABHPAVQByteArray@@@Z @ 6 NONAME ; void SmfMusicEvents::customDataAvailable(int const &, class QByteArray *)
+ ??0SmfGallery@@QAE@PAVSmfProvider@@@Z @ 7 NONAME ; SmfGallery::SmfGallery(class SmfProvider *)
+ ?maxCharsInPost@SmfPostProvider@@QBEHXZ @ 8 NONAME ; int SmfPostProvider::maxCharsInPost(void) const
+ ?qt_metacall@SmfMusicSearch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9 NONAME ; int SmfMusicSearch::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0SmfClient@@QAE@XZ @ 10 NONAME ; SmfClient::SmfClient(void)
+ ?tr@SmfContactFetcher@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString SmfContactFetcher::tr(char const *, char const *)
+ ?lyrics@SmfLyricsService@@QAEXVSmfTrackInfo@@HH@Z @ 12 NONAME ; void SmfLyricsService::lyrics(class SmfTrackInfo, int, int)
+ ?getIndex@SmfRelationItem@@QBEIXZ @ 13 NONAME ; unsigned int SmfRelationItem::getIndex(void) const
+ ?trUtf8@SmfMusicSearch@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString SmfMusicSearch::trUtf8(char const *, char const *)
+ ?getProvider@SmfMusicSearch@@ABEPAVSmfProvider@@XZ @ 15 NONAME ; class SmfProvider * SmfMusicSearch::getProvider(void) const
+ ?getProvider@SmfActivityFetcher@@ABEPAVSmfProvider@@XZ @ 16 NONAME ; class SmfProvider * SmfActivityFetcher::getProvider(void) const
+ ?getStaticMetaObject@SmfPostProvider@@SAABUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const & SmfPostProvider::getStaticMetaObject(void)
+ ?tr@SmfRelationMgr@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString SmfRelationMgr::tr(char const *, char const *)
+ ?filtered@SmfActivityFetcher@@QAEXV?$QList@W4SmfActivityObjectType@@@@HH@Z @ 19 NONAME ; void SmfActivityFetcher::filtered(class QList<enum SmfActivityObjectType>, int, int)
+ ?customDataAvailable@SmfMusicService@@IAEXABHPAVQByteArray@@@Z @ 20 NONAME ; void SmfMusicService::customDataAvailable(int const &, class QByteArray *)
+ ??1SmfMusicService@@UAE@XZ @ 21 NONAME ; SmfMusicService::~SmfMusicService(void)
+ ??1SmfRelationItem@@QAE@XZ @ 22 NONAME ; SmfRelationItem::~SmfRelationItem(void)
+ ?descriptionAvailable@SmfGallery@@IAEXVQString@@W4SmfError@@@Z @ 23 NONAME ; void SmfGallery::descriptionAvailable(class QString, enum SmfError)
+ ??1SmfPlaylistService@@UAE@XZ @ 24 NONAME ; SmfPlaylistService::~SmfPlaylistService(void)
+ ?supportedFormats@SmfPostProvider@@QBE?AV?$QVector@VQTextFormat@@@@XZ @ 25 NONAME ; class QVector<class QTextFormat> SmfPostProvider::supportedFormats(void) const
+ ?getStaticMetaObject@SmfMusicSearch@@SAABUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const & SmfMusicSearch::getStaticMetaObject(void)
+ ??1SmfContactFetcher@@UAE@XZ @ 27 NONAME ; SmfContactFetcher::~SmfContactFetcher(void)
+ ?getStaticMetaObject@SmfGallery@@SAABUQMetaObject@@XZ @ 28 NONAME ; struct QMetaObject const & SmfGallery::getStaticMetaObject(void)
+ ?venues@SmfMusicEvents@@QAEXVSmfLocation@@HH@Z @ 29 NONAME ; void SmfMusicEvents::venues(class SmfLocation, int, int)
+ ?staticMetaObject@SmfGallery@@2UQMetaObject@@B @ 30 NONAME ; struct QMetaObject const SmfGallery::staticMetaObject
+ ?customDataAvailable@SmfActivityFetcher@@IAEXABHPAVQByteArray@@@Z @ 31 NONAME ; void SmfActivityFetcher::customDataAvailable(int const &, class QByteArray *)
+ ?staticMetaObject@SmfMusicEvents@@2UQMetaObject@@B @ 32 NONAME ; struct QMetaObject const SmfMusicEvents::staticMetaObject
+ ??0SmfActivityFetcher@@QAE@PAVSmfProvider@@@Z @ 33 NONAME ; SmfActivityFetcher::SmfActivityFetcher(class SmfProvider *)
+ ?maxItems@SmfPostProvider@@QBEHXZ @ 34 NONAME ; int SmfPostProvider::maxItems(void) const
+ ?trUtf8@SmfPostProvider@@SA?AVQString@@PBD0H@Z @ 35 NONAME ; class QString SmfPostProvider::trUtf8(char const *, char const *, int)
+ ?qt_metacall@SmfRelationMgr@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 36 NONAME ; int SmfRelationMgr::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0SmfLyricsService@@QAE@PAVSmfProvider@@@Z @ 37 NONAME ; SmfLyricsService::SmfLyricsService(class SmfProvider *)
+ ?metaObject@SmfGallery@@UBEPBUQMetaObject@@XZ @ 38 NONAME ; struct QMetaObject const * SmfGallery::metaObject(void) const
+ ?qt_metacast@SmfActivityFetcher@@UAEPAXPBD@Z @ 39 NONAME ; void * SmfActivityFetcher::qt_metacast(char const *)
+ ?qt_metacall@SmfLyricsService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 40 NONAME ; int SmfLyricsService::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@SmfMusicEvents@@UAEPAXPBD@Z @ 41 NONAME ; void * SmfMusicEvents::qt_metacast(char const *)
+ ?metaObject@SmfMusicEvents@@UBEPBUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const * SmfMusicEvents::metaObject(void) const
+ ?trUtf8@SmfContactFetcher@@SA?AVQString@@PBD0H@Z @ 43 NONAME ; class QString SmfContactFetcher::trUtf8(char const *, char const *, int)
+ ??_ESmfPlaylistService@@UAE@I@Z @ 44 NONAME ; SmfPlaylistService::~SmfPlaylistService(unsigned int)
+ ?trUtf8@SmfMusicEvents@@SA?AVQString@@PBD0@Z @ 45 NONAME ; class QString SmfMusicEvents::trUtf8(char const *, char const *)
+ ?qt_metacall@SmfContactFetcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 46 NONAME ; int SmfContactFetcher::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?customDataAvailable@SmfMusicSearch@@IAEXABHPAVQByteArray@@@Z @ 47 NONAME ; void SmfMusicSearch::customDataAvailable(int const &, class QByteArray *)
+ ?supportsAppearence@SmfPostProvider@@QBE_NXZ @ 48 NONAME ; bool SmfPostProvider::supportsAppearence(void) const
+ ?commentOnAPost@SmfPostProvider@@QAEXAAVSmfPost@@0PAVSmfLocation@@@Z @ 49 NONAME ; void SmfPostProvider::commentOnAPost(class SmfPost &, class SmfPost &, class SmfLocation *)
+ ?trUtf8@SmfGallery@@SA?AVQString@@PBD0@Z @ 50 NONAME ; class QString SmfGallery::trUtf8(char const *, char const *)
+ ?trUtf8@SmfLyricsService@@SA?AVQString@@PBD0@Z @ 51 NONAME ; class QString SmfLyricsService::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@SmfPlaylistService@@SAABUQMetaObject@@XZ @ 52 NONAME ; struct QMetaObject const & SmfPlaylistService::getStaticMetaObject(void)
+ ?GetServices@SmfClient@@QAEPAV?$QList@VSmfProvider@@@@ABVQString@@@Z @ 53 NONAME ; class QList<class SmfProvider> * SmfClient::GetServices(class QString const &)
+ ?qt_metacall@SmfGallery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 54 NONAME ; int SmfGallery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?staticMetaObject@SmfLyricsService@@2UQMetaObject@@B @ 55 NONAME ; struct QMetaObject const SmfLyricsService::staticMetaObject
+ ?getStaticMetaObject@SmfMusicEvents@@SAABUQMetaObject@@XZ @ 56 NONAME ; struct QMetaObject const & SmfMusicEvents::getStaticMetaObject(void)
+ ?customRequest@SmfActivityFetcher@@QAEXABHPAVQByteArray@@@Z @ 57 NONAME ; void SmfActivityFetcher::customRequest(int const &, class QByteArray *)
+ ?userInfoAvailable@SmfMusicService@@IAEXPAVSmfMusicProfile@@W4SmfError@@@Z @ 58 NONAME ; void SmfMusicService::userInfoAvailable(class SmfMusicProfile *, enum SmfError)
+ ?staticMetaObject@SmfActivityFetcher@@2UQMetaObject@@B @ 59 NONAME ; struct QMetaObject const SmfActivityFetcher::staticMetaObject
+ ?trUtf8@SmfContactFetcher@@SA?AVQString@@PBD0@Z @ 60 NONAME ; class QString SmfContactFetcher::trUtf8(char const *, char const *)
+ ?customRequest@SmfGallery@@QAEXABHPAVQByteArray@@@Z @ 61 NONAME ; void SmfGallery::customRequest(int const &, class QByteArray *)
+ ??1SmfMusicSearch@@UAE@XZ @ 62 NONAME ; SmfMusicSearch::~SmfMusicSearch(void)
+ ?albumsAvailable@SmfGallery@@IAEXPAV?$QList@VSmfPictureAlbum@@@@W4SmfError@@USmfResultPage@@@Z @ 63 NONAME ; void SmfGallery::albumsAvailable(class QList<class SmfPictureAlbum> *, enum SmfError, struct SmfResultPage)
+ ?tracks@SmfMusicSearch@@QAEXVSmfTrackInfo@@HH@Z @ 64 NONAME ; void SmfMusicSearch::tracks(class SmfTrackInfo, int, int)
+ ?friendsListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 65 NONAME ; void SmfContactFetcher::friendsListAvailable(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
+ ??1SmfClient@@QAE@XZ @ 66 NONAME ; SmfClient::~SmfClient(void)
+ ?post@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfLocation@@@Z @ 67 NONAME ; void SmfPostProvider::post(class SmfPost &, class SmfLocation &)
+ ?qt_metacast@SmfMusicSearch@@UAEPAXPBD@Z @ 68 NONAME ; void * SmfMusicSearch::qt_metacast(char const *)
+ ?followers@SmfContactFetcher@@QAE_NHH@Z @ 69 NONAME ; bool SmfContactFetcher::followers(int, int)
+ ??0SmfMusicService@@QAE@PAVSmfProvider@@@Z @ 70 NONAME ; SmfMusicService::SmfMusicService(class SmfProvider *)
+ ?customDataAvailable@SmfLyricsService@@IAEXABHPAVQByteArray@@@Z @ 71 NONAME ; void SmfLyricsService::customDataAvailable(int const &, class QByteArray *)
+ ?remove@SmfRelationMgr@@QAE?AW4SmfError@@AAVQString@@PBVSmfContact@@@Z @ 72 NONAME ; enum SmfError SmfRelationMgr::remove(class QString &, class SmfContact const *)
+ ?trUtf8@SmfRelationMgr@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString SmfRelationMgr::trUtf8(char const *, char const *)
+ ?venuesAvailable@SmfMusicEvents@@IAEXPAV?$QList@VSmfLocation@@@@W4SmfError@@USmfResultPage@@@Z @ 74 NONAME ; void SmfMusicEvents::venuesAvailable(class QList<class SmfLocation> *, enum SmfError, struct SmfResultPage)
+ ?setContact@SmfRelationItem@@QAEXAAVSmfContact@@@Z @ 75 NONAME ; void SmfRelationItem::setContact(class SmfContact &)
+ ?groupListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfGroup@@@@W4SmfError@@USmfResultPage@@@Z @ 76 NONAME ; void SmfContactFetcher::groupListAvailable(class QList<class SmfGroup> *, enum SmfError, struct SmfResultPage)
+ ?searchByContact@SmfRelationMgr@@QAE?AVQString@@VSmfContact@@@Z @ 77 NONAME ; class QString SmfRelationMgr::searchByContact(class SmfContact)
+ ?addToPlaylist@SmfPlaylistService@@QAEHVSmfPlaylist@@PAV?$QList@VSmfTrackInfo@@@@@Z @ 78 NONAME ; int SmfPlaylistService::addToPlaylist(class SmfPlaylist, class QList<class SmfTrackInfo> *)
+ ?qt_metacast@SmfPlaylistService@@UAEPAXPBD@Z @ 79 NONAME ; void * SmfPlaylistService::qt_metacast(char const *)
+ ?postCurrentPlaying@SmfMusicService@@QAEXVSmfTrackInfo@@@Z @ 80 NONAME ; void SmfMusicService::postCurrentPlaying(class SmfTrackInfo)
+ ?trUtf8@SmfRelationMgr@@SA?AVQString@@PBD0H@Z @ 81 NONAME ; class QString SmfRelationMgr::trUtf8(char const *, char const *, int)
+ ?trUtf8@SmfActivityFetcher@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString SmfActivityFetcher::trUtf8(char const *, char const *, int)
+ ?metaObject@SmfPlaylistService@@UBEPBUQMetaObject@@XZ @ 83 NONAME ; struct QMetaObject const * SmfPlaylistService::metaObject(void) const
+ ?getStaticMetaObject@SmfRelationMgr@@SAABUQMetaObject@@XZ @ 84 NONAME ; struct QMetaObject const & SmfRelationMgr::getStaticMetaObject(void)
+ ?tr@SmfRelationMgr@@SA?AVQString@@PBD0H@Z @ 85 NONAME ; class QString SmfRelationMgr::tr(char const *, char const *, int)
+ ?metaObject@SmfPostProvider@@UBEPBUQMetaObject@@XZ @ 86 NONAME ; struct QMetaObject const * SmfPostProvider::metaObject(void) const
+ ?getProvider@SmfGallery@@ABEPAVSmfProvider@@XZ @ 87 NONAME ; class SmfProvider * SmfGallery::getProvider(void) const
+ ??_ESmfMusicSearch@@UAE@I@Z @ 88 NONAME ; SmfMusicSearch::~SmfMusicSearch(unsigned int)
+ ?tr@SmfGallery@@SA?AVQString@@PBD0@Z @ 89 NONAME ; class QString SmfGallery::tr(char const *, char const *)
+ ?stores@SmfMusicSearch@@QAEXVSmfTrackInfo@@HH@Z @ 90 NONAME ; void SmfMusicSearch::stores(class SmfTrackInfo, int, int)
+ ?create@SmfRelationMgr@@QAE?AVQString@@PAVSmfProvider@@PAVSmfContact@@@Z @ 91 NONAME ; class QString SmfRelationMgr::create(class SmfProvider *, class SmfContact *)
+ ?qt_metacall@SmfMusicEvents@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 92 NONAME ; int SmfMusicEvents::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@SmfPostProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 93 NONAME ; int SmfPostProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfRelationItem@@@Z @ 94 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfRelationItem &)
+ ?storeSearchAvailable@SmfMusicSearch@@IAEXPAV?$QList@VSmfProvider@@@@W4SmfError@@USmfResultPage@@@Z @ 95 NONAME ; void SmfMusicSearch::storeSearchAvailable(class QList<class SmfProvider> *, enum SmfError, struct SmfResultPage)
+ ?subtitles@SmfLyricsService@@QAEXVSmfTrackInfo@@W4SmfSubtitleSearchFilter@@HH@Z @ 96 NONAME ; void SmfLyricsService::subtitles(class SmfTrackInfo, enum SmfSubtitleSearchFilter, int, int)
+ ?uploadFinished@SmfGallery@@IAEXV?$QList@W4SmfError@@@@@Z @ 97 NONAME ; void SmfGallery::uploadFinished(class QList<enum SmfError>)
+ ?searchInGroup@SmfContactFetcher@@QAE_NVSmfGroup@@HH@Z @ 98 NONAME ; bool SmfContactFetcher::searchInGroup(class SmfGroup, int, int)
+ ?getStaticMetaObject@SmfMusicService@@SAABUQMetaObject@@XZ @ 99 NONAME ; struct QMetaObject const & SmfMusicService::getStaticMetaObject(void)
+ ??_ESmfContactFetcher@@UAE@I@Z @ 100 NONAME ; SmfContactFetcher::~SmfContactFetcher(unsigned int)
+ ?tr@SmfGallery@@SA?AVQString@@PBD0H@Z @ 101 NONAME ; class QString SmfGallery::tr(char const *, char const *, int)
+ ?getProvider@SmfRelationItem@@QBE?AVSmfProvider@@XZ @ 102 NONAME ; class SmfProvider SmfRelationItem::getProvider(void) const
+ ?customRequest@SmfMusicEvents@@QAEXABHPAVQByteArray@@@Z @ 103 NONAME ; void SmfMusicEvents::customRequest(int const &, class QByteArray *)
+ ?getProvider@SmfPostProvider@@ABEPAVSmfProvider@@XZ @ 104 NONAME ; class SmfProvider * SmfPostProvider::getProvider(void) const
+ ?metaObject@SmfMusicSearch@@UBEPBUQMetaObject@@XZ @ 105 NONAME ; struct QMetaObject const * SmfMusicSearch::metaObject(void) const
+ ?getProvider@SmfPlaylistService@@ABEPAVSmfProvider@@XZ @ 106 NONAME ; class SmfProvider * SmfPlaylistService::getProvider(void) const
+ ?customDataAvailable@SmfContactFetcher@@IAEXHPAVQByteArray@@@Z @ 107 NONAME ; void SmfContactFetcher::customDataAvailable(int, class QByteArray *)
+ ?trUtf8@SmfPostProvider@@SA?AVQString@@PBD0@Z @ 108 NONAME ; class QString SmfPostProvider::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@SmfContactFetcher@@SAABUQMetaObject@@XZ @ 109 NONAME ; struct QMetaObject const & SmfContactFetcher::getStaticMetaObject(void)
+ ?customDataAvailable@SmfGallery@@IAEXHPAVQByteArray@@@Z @ 110 NONAME ; void SmfGallery::customDataAvailable(int, class QByteArray *)
+ ?tr@SmfPostProvider@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString SmfPostProvider::tr(char const *, char const *)
+ ??1SmfPostProvider@@UAE@XZ @ 112 NONAME ; SmfPostProvider::~SmfPostProvider(void)
+ ?trackInfo@SmfMusicSearch@@QAEXVSmfMusicFingerPrint@@HH@Z @ 113 NONAME ; void SmfMusicSearch::trackInfo(class SmfMusicFingerPrint, int, int)
+ ?lyricsAvailable@SmfLyricsService@@IAEXPAV?$QList@VSmfLyrics@@@@W4SmfError@@USmfResultPage@@@Z @ 114 NONAME ; void SmfLyricsService::lyricsAvailable(class QList<class SmfLyrics> *, enum SmfError, struct SmfResultPage)
+ ?tr@SmfPlaylistService@@SA?AVQString@@PBD0@Z @ 115 NONAME ; class QString SmfPlaylistService::tr(char const *, char const *)
+ ?tr@SmfLyricsService@@SA?AVQString@@PBD0H@Z @ 116 NONAME ; class QString SmfLyricsService::tr(char const *, char const *, int)
?customRequest@SmfContactFetcher@@QAEXABHPAVQByteArray@@@Z @ 117 NONAME ; void SmfContactFetcher::customRequest(int const &, class QByteArray *)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactNickname@QtMobility@@@Z @ 118 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactNickname &)
- ?setServiceUrl@SmfProvider@@QAEXAAVQUrl@@@Z @ 119 NONAME ; void SmfProvider::setServiceUrl(class QUrl &)
- ?setDescription@SmfPicture@@QAEXABVQString@@@Z @ 120 NONAME ; void SmfPicture::setDescription(class QString const &)
- ??_ESmfContactFetcher@@UAE@I@Z @ 121 NONAME ; SmfContactFetcher::~SmfContactFetcher(unsigned int)
- ?tr@SmfMusicEvents@@SA?AVQString@@PBD0H@Z @ 122 NONAME ; class QString SmfMusicEvents::tr(char const *, char const *, int)
- ?setThumbnail@SmfActivityObject@@QAEXABVQImage@@@Z @ 123 NONAME ; void SmfActivityObject::setThumbnail(class QImage const &)
- ?pictureCount@SmfPictureAlbum@@QBEHXZ @ 124 NONAME ; int SmfPictureAlbum::pictureCount(void) const
- ?post@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfLocation@@@Z @ 125 NONAME ; void SmfPostProvider::post(class SmfPost &, class SmfLocation &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfArtists@@@Z @ 126 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfArtists const &)
- ?postComments@SmfMusicSearch@@QAEXVSmfTrackInfo@@VSmfComment@@@Z @ 127 NONAME ; void SmfMusicSearch::postComments(class SmfTrackInfo, class SmfComment)
- ?tr@SmfLyricsService@@SA?AVQString@@PBD0@Z @ 128 NONAME ; class QString SmfLyricsService::tr(char const *, char const *)
- ?id@SmfSubtitle@@QBE?AVQString@@XZ @ 129 NONAME ; class QString SmfSubtitle::id(void) const
- ?setId@SmfGroup@@QAEXAAVQString@@@Z @ 130 NONAME ; void SmfGroup::setId(class QString &)
- ?setThumbnail@SmfPictureAlbum@@QAEXABVQImage@@@Z @ 131 NONAME ; void SmfPictureAlbum::setThumbnail(class QImage const &)
- ?getStaticMetaObject@SmfRelationMgr@@SAABUQMetaObject@@XZ @ 132 NONAME ; struct QMetaObject const & SmfRelationMgr::getStaticMetaObject(void)
- ??4SmfComment@@QAEAAV0@ABV0@@Z @ 133 NONAME ; class SmfComment & SmfComment::operator=(class SmfComment const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactAvatar@QtMobility@@@Z @ 134 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactAvatar &)
- ?setAlbum@SmfTrackInfo@@QAEXABVSmfAlbum@@@Z @ 135 NONAME ; void SmfTrackInfo::setAlbum(class SmfAlbum const &)
- ?metaObject@SmfLyricsService@@UBEPBUQMetaObject@@XZ @ 136 NONAME ; struct QMetaObject const * SmfLyricsService::metaObject(void) const
- ?staticMetaObject@SmfRelationMgr@@2UQMetaObject@@B @ 137 NONAME ; struct QMetaObject const SmfRelationMgr::staticMetaObject
- ?setPostedDate@SmfPicture@@QAEXABVQDateTime@@@Z @ 138 NONAME ; void SmfPicture::setPostedDate(class QDateTime const &)
- ?qt_metacast@SmfPostProvider@@UAEPAXPBD@Z @ 139 NONAME ; void * SmfPostProvider::qt_metacast(char const *)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactUrl@QtMobility@@@Z @ 140 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactUrl &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfPictureAlbum@@@Z @ 141 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPictureAlbum const &)
- ?postFinished@SmfPostProvider@@IAEXW4SmfError@@@Z @ 142 NONAME ; void SmfPostProvider::postFinished(enum SmfError)
- ?url@SmfPicture@@QBE?AVQUrl@@XZ @ 143 NONAME ; class QUrl SmfPicture::url(void) const
- ?setLanguage@SmfLyrics@@QAEXABVQString@@@Z @ 144 NONAME ; void SmfLyrics::setLanguage(class QString const &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfEvent@@@Z @ 145 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfEvent &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfPicture@@@Z @ 146 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPicture &)
- ?GetServices@SmfClient@@QAEPAV?$QList@VSmfProvider@@@@ABVQString@@@Z @ 147 NONAME ; class QList<class SmfProvider> * SmfClient::GetServices(class QString const &)
- ?eventDateTime@SmfEvent@@QBE?AVQDateTime@@XZ @ 148 NONAME ; class QDateTime SmfEvent::eventDateTime(void) const
- ?albumsAvailable@SmfGallery@@IAEXPAV?$QList@VSmfPictureAlbum@@@@W4SmfError@@USmfResultPage@@@Z @ 149 NONAME ; void SmfGallery::albumsAvailable(class QList<class SmfPictureAlbum> *, enum SmfError, struct SmfResultPage)
- ??1SmfActivityEntry@@QAE@XZ @ 150 NONAME ; SmfActivityEntry::~SmfActivityEntry(void)
- ??4SmfPlaylist@@QAEAAV0@ABV0@@Z @ 151 NONAME ; class SmfPlaylist & SmfPlaylist::operator=(class SmfPlaylist const &)
- ??1SmfPlaylistService@@UAE@XZ @ 152 NONAME ; SmfPlaylistService::~SmfPlaylistService(void)
- ?tr@SmfActivityFetcher@@SA?AVQString@@PBD0H@Z @ 153 NONAME ; class QString SmfActivityFetcher::tr(char const *, char const *, int)
- ?postCurrentPlayingPlaylist@SmfPlaylistService@@QAEHVSmfPlaylist@@@Z @ 154 NONAME ; int SmfPlaylistService::postCurrentPlayingPlaylist(class SmfPlaylist)
- ?tr@SmfPlaylistService@@SA?AVQString@@PBD0@Z @ 155 NONAME ; class QString SmfPlaylistService::tr(char const *, char const *)
- ??_ESmfRelationMgr@@UAE@I@Z @ 156 NONAME ; SmfRelationMgr::~SmfRelationMgr(unsigned int)
- ?url@SmfPost@@QBE?AVQUrl@@XZ @ 157 NONAME ; class QUrl SmfPost::url(void) const
- ?customRequest@SmfGallery@@QAEXABHPAVQByteArray@@@Z @ 158 NONAME ; void SmfGallery::customRequest(int const &, class QByteArray *)
- ?setDescription@SmfPost@@QAEXABVQString@@@Z @ 159 NONAME ; void SmfPost::setDescription(class QString const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfPlaylist@@@Z @ 160 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPlaylist const &)
- ?customDataAvailable@SmfContactFetcher@@IAEXHPAVQByteArray@@@Z @ 161 NONAME ; void SmfContactFetcher::customDataAvailable(int, class QByteArray *)
- ?trUtf8@SmfMusicSearch@@SA?AVQString@@PBD0H@Z @ 162 NONAME ; class QString SmfMusicSearch::trUtf8(char const *, char const *, int)
- ?getIndex@SmfRelationItem@@QBEIXZ @ 163 NONAME ; unsigned int SmfRelationItem::getIndex(void) const
- ?metaObject@SmfMusicSearch@@UBEPBUQMetaObject@@XZ @ 164 NONAME ; struct QMetaObject const * SmfMusicSearch::metaObject(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVSmfPost@@@Z @ 165 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPost &)
- ??1SmfEvent@@QAE@XZ @ 166 NONAME ; SmfEvent::~SmfEvent(void)
- ?title@SmfPictureAlbum@@QBE?AVQString@@XZ @ 167 NONAME ; class QString SmfPictureAlbum::title(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVQContactPresence@QtMobility@@@Z @ 168 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactPresence &)
- ?qt_metacast@SmfMusicService@@UAEPAXPBD@Z @ 169 NONAME ; void * SmfMusicService::qt_metacast(char const *)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfContact@@@Z @ 170 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfContact const &)
- ?href@SmfUrl@@QBE?AVQUrl@@XZ @ 171 NONAME ; class QUrl SmfUrl::href(void) const
- ??0SmfLocation@@QAE@ABV0@@Z @ 172 NONAME ; SmfLocation::SmfLocation(class SmfLocation const &)
- ??0SmfProvider@@QAE@XZ @ 173 NONAME ; SmfProvider::SmfProvider(void)
- ?eventsAvailable@SmfMusicEvents@@IAEXPAV?$QList@VSmfEvent@@@@W4SmfError@@USmfResultPage@@@Z @ 174 NONAME ; void SmfMusicEvents::eventsAvailable(class QList<class SmfEvent> *, enum SmfError, struct SmfResultPage)
- ?image@SmfAlbum@@QBE?AVQImage@@XZ @ 175 NONAME ; class QImage SmfAlbum::image(void) const
- ?artists@SmfAlbum@@QBE?AVSmfArtists@@XZ @ 176 NONAME ; class SmfArtists SmfAlbum::artists(void) const
- ?releaseYear@SmfSubtitle@@QBE?AVQDateTime@@XZ @ 177 NONAME ; class QDateTime SmfSubtitle::releaseYear(void) const
- ?tr@SmfRelationMgr@@SA?AVQString@@PBD0H@Z @ 178 NONAME ; class QString SmfRelationMgr::tr(char const *, char const *, int)
- ?staticMetaObject@SmfPostProvider@@2UQMetaObject@@B @ 179 NONAME ; struct QMetaObject const SmfPostProvider::staticMetaObject
- ?setId@SmfPictureAlbum@@QAEXABVQString@@@Z @ 180 NONAME ; void SmfPictureAlbum::setId(class QString const &)
- ?lyrics@SmfLyricsService@@QAEXVSmfTrackInfo@@HH@Z @ 181 NONAME ; void SmfLyricsService::lyrics(class SmfTrackInfo, int, int)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfComment@@@Z @ 182 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfComment &)
- ?getAuthKeys@SmfPluginUtil@@QAEXAAV?$QMap@VQString@@V1@@@VQString@@1@Z @ 183 NONAME ; void SmfPluginUtil::getAuthKeys(class QMap<class QString, class QString> &, class QString, class QString)
- ?setReleaseYear@SmfLyrics@@QAEXABVQDateTime@@@Z @ 184 NONAME ; void SmfLyrics::setReleaseYear(class QDateTime const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactEmailAddress@QtMobility@@@Z @ 185 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactEmailAddress &)
- ?setMusicUsageInfo@SmfMusicProfile@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 186 NONAME ; void SmfMusicProfile::setMusicUsageInfo(class QList<class SmfTrackInfo> const &)
- ?id@SmfEvent@@QBE?AVQString@@XZ @ 187 NONAME ; class QString SmfEvent::id(void) const
- ?addTags@SmfPicture@@QAEXABVQStringList@@@Z @ 188 NONAME ; void SmfPicture::addTags(class QStringList const &)
- ?setUrl@SmfLocation@@QAEXABVQUrl@@@Z @ 189 NONAME ; void SmfLocation::setUrl(class QUrl const &)
- ?actionName@SmfActivityEntry@@QBE?AW4SmfActivityVerb@@XZ @ 190 NONAME ; enum SmfActivityVerb SmfActivityEntry::actionName(void) const
- ?searchInGroupFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 191 NONAME ; void SmfContactFetcher::searchInGroupFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactId@QtMobility@@@Z @ 192 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactId &)
- ?id@SmfComment@@QBE?AVQString@@XZ @ 193 NONAME ; class QString SmfComment::id(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicProfile@@@Z @ 194 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicProfile const &)
- ??_ESmfPluginUtil@@QAE@I@Z @ 195 NONAME ; SmfPluginUtil::~SmfPluginUtil(unsigned int)
- ??_ESmfTrackInfo@@QAE@I@Z @ 196 NONAME ; SmfTrackInfo::~SmfTrackInfo(unsigned int)
- ?searchNearFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 197 NONAME ; void SmfContactFetcher::searchNearFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?setName@SmfAlbum@@QAEXABVQString@@@Z @ 198 NONAME ; void SmfAlbum::setName(class QString const &)
- ?owner@SmfPicture@@QBE?AVQString@@XZ @ 199 NONAME ; class QString SmfPicture::owner(void) const
- ?getStaticMetaObject@SmfContactFetcher@@SAABUQMetaObject@@XZ @ 200 NONAME ; struct QMetaObject const & SmfContactFetcher::getStaticMetaObject(void)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfTrackInfo@@@Z @ 201 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfTrackInfo &)
- ?trUtf8@SmfContactFetcher@@SA?AVQString@@PBD0H@Z @ 202 NONAME ; class QString SmfContactFetcher::trUtf8(char const *, char const *, int)
- ??_ESmfPicture@@QAE@I@Z @ 203 NONAME ; SmfPicture::~SmfPicture(unsigned int)
- ?applicationUrl@SmfProvider@@QBE?AVQUrl@@XZ @ 204 NONAME ; class QUrl SmfProvider::applicationUrl(void) const
- ?setDetails@SmfActivityEntry@@QAE_NABVSmfPost@@@Z @ 205 NONAME ; bool SmfActivityEntry::setDetails(class SmfPost const &)
- ?searchInfoAvailable@SmfMusicService@@IAEXAAV?$QList@VSmfMusicProfile@@@@W4SmfError@@USmfResultPage@@@Z @ 206 NONAME ; void SmfMusicService::searchInfoAvailable(class QList<class SmfMusicProfile> &, enum SmfError, struct SmfResultPage)
- ?metaObject@SmfMusicEvents@@UBEPBUQMetaObject@@XZ @ 207 NONAME ; struct QMetaObject const * SmfMusicEvents::metaObject(void) const
- ?postAppearence@SmfPostProvider@@QAE_NW4SmfAppearenceInfo@@@Z @ 208 NONAME ; bool SmfPostProvider::postAppearence(enum SmfAppearenceInfo)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactNote@QtMobility@@@Z @ 209 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactNote const &)
- ??0SmfPictureAlbum@@QAE@ABV0@@Z @ 210 NONAME ; SmfPictureAlbum::SmfPictureAlbum(class SmfPictureAlbum const &)
- ?album@SmfTrackInfo@@QBE?AVSmfAlbum@@XZ @ 211 NONAME ; class SmfAlbum SmfTrackInfo::album(void) const
- ?eventsUpdated@SmfMusicEvents@@IAEXW4SmfError@@@Z @ 212 NONAME ; void SmfMusicEvents::eventsUpdated(enum SmfError)
- ??_ESmfEvent@@QAE@I@Z @ 213 NONAME ; SmfEvent::~SmfEvent(unsigned int)
- ?type@SmfActivityObject@@QBE?AW4SmfActivityObjectType@@XZ @ 214 NONAME ; enum SmfActivityObjectType SmfActivityObject::type(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVQContactOnlineAccount@QtMobility@@@Z @ 215 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactOnlineAccount const &)
- ??0SmfPostProvider@@QAE@PAVSmfProvider@@@Z @ 216 NONAME ; SmfPostProvider::SmfPostProvider(class SmfProvider *)
- ?tr@SmfMusicService@@SA?AVQString@@PBD0@Z @ 217 NONAME ; class QString SmfMusicService::tr(char const *, char const *)
- ?m_myInstance@SmfPluginUtil@@0PAV1@A @ 218 NONAME ; class SmfPluginUtil * SmfPluginUtil::m_myInstance
- ??0SmfLocation@@QAE@XZ @ 219 NONAME ; SmfLocation::SmfLocation(void)
- ?ticketUrl@SmfEvent@@QBE?AVQUrl@@XZ @ 220 NONAME ; class QUrl SmfEvent::ticketUrl(void) const
- ??0SmfContactFetcher@@QAE@PAVSmfProvider@@PAVSmfContact@@@Z @ 221 NONAME ; SmfContactFetcher::SmfContactFetcher(class SmfProvider *, class SmfContact *)
- ?minRating@SmfMusicRating@@QBEHXZ @ 222 NONAME ; int SmfMusicRating::minRating(void) const
- ?tr@SmfPlaylistService@@SA?AVQString@@PBD0H@Z @ 223 NONAME ; class QString SmfPlaylistService::tr(char const *, char const *, int)
- ?tr@SmfMusicSearch@@SA?AVQString@@PBD0@Z @ 224 NONAME ; class QString SmfMusicSearch::tr(char const *, char const *)
- ?setValue@SmfContact@@QAEXABVQString@@AAVQVariant@@@Z @ 225 NONAME ; void SmfContact::setValue(class QString const &, class QVariant &)
- ??0SmfActivityEntry@@QAE@ABV0@@Z @ 226 NONAME ; SmfActivityEntry::SmfActivityEntry(class SmfActivityEntry const &)
- ?pictures@SmfGallery@@QAEXAAV?$QList@VSmfPictureAlbum@@@@HH@Z @ 227 NONAME ; void SmfGallery::pictures(class QList<class SmfPictureAlbum> &, int, int)
- ??0SmfUrl@@QAE@XZ @ 228 NONAME ; SmfUrl::SmfUrl(void)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactGender@QtMobility@@@Z @ 229 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactGender &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfPlaylist@@@Z @ 230 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPlaylist &)
- ?subtitle@SmfSubtitle@@QBE?AVQByteArray@@XZ @ 231 NONAME ; class QByteArray SmfSubtitle::subtitle(void) const
- ?setUrl@SmfArtists@@QAEXABVQUrl@@@Z @ 232 NONAME ; void SmfArtists::setUrl(class QUrl const &)
- ??0SmfPicture@@QAE@ABVQImage@@@Z @ 233 NONAME ; SmfPicture::SmfPicture(class QImage const &)
- ??_ESmfGroup@@QAE@I@Z @ 234 NONAME ; SmfGroup::~SmfGroup(unsigned int)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfUrl@@@Z @ 235 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfUrl &)
- ?qt_metacall@SmfMusicService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 236 NONAME ; int SmfMusicService::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0SmfPost@@QAE@XZ @ 237 NONAME ; SmfPost::SmfPost(void)
- ?year@SmfTrackInfo@@QBE?AVQDateTime@@XZ @ 238 NONAME ; class QDateTime SmfTrackInfo::year(void) const
- ?staticMetaObject@SmfLyricsService@@2UQMetaObject@@B @ 239 NONAME ; struct QMetaObject const SmfLyricsService::staticMetaObject
- ??4SmfUrl@@QAEAAV0@ABV0@@Z @ 240 NONAME ; class SmfUrl & SmfUrl::operator=(class SmfUrl const &)
- ?tr@SmfMusicSearch@@SA?AVQString@@PBD0H@Z @ 241 NONAME ; class QString SmfMusicSearch::tr(char const *, char const *, int)
- ?description@SmfProvider@@QBE?AVQString@@XZ @ 242 NONAME ; class QString SmfProvider::description(void) const
- ??1SmfActivityFetcher@@UAE@XZ @ 243 NONAME ; SmfActivityFetcher::~SmfActivityFetcher(void)
- ??0SmfClient@@QAE@XZ @ 244 NONAME ; SmfClient::SmfClient(void)
- ?subtitles@SmfLyricsService@@QAEXVSmfTrackInfo@@W4SmfSubtitleSearchFilter@@HH@Z @ 245 NONAME ; void SmfLyricsService::subtitles(class SmfTrackInfo, enum SmfSubtitleSearchFilter, int, int)
- ?stores@SmfMusicSearch@@QAEXVSmfTrackInfo@@HH@Z @ 246 NONAME ; void SmfMusicSearch::stores(class SmfTrackInfo, int, int)
- ?releaseYear@SmfLyrics@@QBE?AVQDateTime@@XZ @ 247 NONAME ; class QDateTime SmfLyrics::releaseYear(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVSmfGroup@@@Z @ 248 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfGroup const &)
- ?postedDate@SmfPicture@@QBE?AVQDateTime@@XZ @ 249 NONAME ; class QDateTime SmfPicture::postedDate(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVQContactAvatar@QtMobility@@@Z @ 250 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactAvatar const &)
- ?staticMetaObject@SmfPlaylistService@@2UQMetaObject@@B @ 251 NONAME ; struct QMetaObject const SmfPlaylistService::staticMetaObject
- ??5@YAAAVQDataStream@@AAV0@AAVSmfContact@@@Z @ 252 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfContact &)
- ?trUtf8@SmfLyricsService@@SA?AVQString@@PBD0@Z @ 253 NONAME ; class QString SmfLyricsService::trUtf8(char const *, char const *)
- ??1SmfMusicEvents@@UAE@XZ @ 254 NONAME ; SmfMusicEvents::~SmfMusicEvents(void)
- ??4SmfProvider@@QAEAAV0@ABV0@@Z @ 255 NONAME ; class SmfProvider & SmfProvider::operator=(class SmfProvider const &)
- ?duration@SmfSubtitle@@QBENXZ @ 256 NONAME ; double SmfSubtitle::duration(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVSmfLocation@@@Z @ 257 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfLocation &)
- ?setPicture@SmfPicture@@QAEXABVQImage@@@Z @ 258 NONAME ; void SmfPicture::setPicture(class QImage const &)
- ?title@SmfPicture@@QBE?AVQString@@XZ @ 259 NONAME ; class QString SmfPicture::title(void) const
- ?rating@SmfMusicRating@@QBEHXZ @ 260 NONAME ; int SmfMusicRating::rating(void) const
- ?sharePost@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfContact@@_N@Z @ 261 NONAME ; void SmfPostProvider::sharePost(class SmfPost &, class SmfContact &, bool)
- ?timeStamp@SmfComment@@QBE?AVQDateTime@@XZ @ 262 NONAME ; class QDateTime SmfComment::timeStamp(void) const
- ?setId@SmfPicture@@QAEXABVQString@@@Z @ 263 NONAME ; void SmfPicture::setId(class QString const &)
- ??4SmfRelationItem@@QAEAAV0@ABV0@@Z @ 264 NONAME ; class SmfRelationItem & SmfRelationItem::operator=(class SmfRelationItem const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfLocation@@@Z @ 265 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfLocation const &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactPresence@QtMobility@@@Z @ 266 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactPresence const &)
- ?tags@SmfTrackInfo@@QBE?AVQStringList@@XZ @ 267 NONAME ; class QStringList SmfTrackInfo::tags(void) const
- ?title@SmfTrackInfo@@QBE?AVQString@@XZ @ 268 NONAME ; class QString SmfTrackInfo::title(void) const
- ?qt_metacast@SmfMusicEvents@@UAEPAXPBD@Z @ 269 NONAME ; void * SmfMusicEvents::qt_metacast(char const *)
- ?supportsAppearence@SmfPostProvider@@QBE_NXZ @ 270 NONAME ; bool SmfPostProvider::supportsAppearence(void) const
- ?customDataAvailable@SmfGallery@@IAEXHPAVQByteArray@@@Z @ 271 NONAME ; void SmfGallery::customDataAvailable(int, class QByteArray *)
- ?url@SmfArtists@@QBE?AVQUrl@@XZ @ 272 NONAME ; class QUrl SmfArtists::url(void) const
- ?serviceName@SmfProvider@@QBE?AVQString@@XZ @ 273 NONAME ; class QString SmfProvider::serviceName(void) const
- ?getProvider@SmfLyricsService@@QAEPAVSmfProvider@@XZ @ 274 NONAME ; class SmfProvider * SmfLyricsService::getProvider(void)
- ?qt_metacast@SmfPlaylistService@@UAEPAXPBD@Z @ 275 NONAME ; void * SmfPlaylistService::qt_metacast(char const *)
- ?creationDate@SmfPlaylist@@QBE?AVQDateTime@@XZ @ 276 NONAME ; class QDateTime SmfPlaylist::creationDate(void) const
- ?friends@SmfContactFetcher@@QAE_NHH@Z @ 277 NONAME ; bool SmfContactFetcher::friends(int, int)
- ?title@SmfUrl@@QBE?AVQString@@XZ @ 278 NONAME ; class QString SmfUrl::title(void) const
- ?owner@SmfPost@@QBE?AVSmfContact@@XZ @ 279 NONAME ; class SmfContact SmfPost::owner(void) const
- ??_ESmfContact@@QAE@I@Z @ 280 NONAME ; SmfContact::~SmfContact(unsigned int)
- ??1SmfSubtitle@@QAE@XZ @ 281 NONAME ; SmfSubtitle::~SmfSubtitle(void)
- ?trUtf8@SmfLyricsService@@SA?AVQString@@PBD0H@Z @ 282 NONAME ; class QString SmfLyricsService::trUtf8(char const *, char const *, int)
- ??1SmfRelationMgr@@UAE@XZ @ 283 NONAME ; SmfRelationMgr::~SmfRelationMgr(void)
- ?attribution@SmfPlaylist@@QBE?AV?$QList@VQUrl@@@@XZ @ 284 NONAME ; class QList<class QUrl> SmfPlaylist::attribution(void) const
- ?setInterestInfo@SmfMusicProfile@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 285 NONAME ; void SmfMusicProfile::setInterestInfo(class QList<class SmfTrackInfo> const &)
- ??0SmfGallery@@QAE@PAVSmfProvider@@@Z @ 286 NONAME ; SmfGallery::SmfGallery(class SmfProvider *)
- ?content@SmfActivityObject@@QBE?AVQString@@XZ @ 287 NONAME ; class QString SmfActivityObject::content(void) const
- ??_ESmfGallery@@UAE@I@Z @ 288 NONAME ; SmfGallery::~SmfGallery(unsigned int)
- ??0SmfRelationMgr@@QAE@PAVQObject@@@Z @ 289 NONAME ; SmfRelationMgr::SmfRelationMgr(class QObject *)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfProvider@@@Z @ 290 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfProvider &)
- ?setImage@SmfPlaylist@@QAEXABVQUrl@@@Z @ 291 NONAME ; void SmfPlaylist::setImage(class QUrl const &)
- ??4SmfPost@@QAEAAV0@ABV0@@Z @ 292 NONAME ; class SmfPost & SmfPost::operator=(class SmfPost const &)
- ?rating@SmfTrackInfo@@QBE?AVSmfMusicRating@@XZ @ 293 NONAME ; class SmfMusicRating SmfTrackInfo::rating(void) const
- ?playListTitle@SmfPlaylist@@QBE?AVQString@@XZ @ 294 NONAME ; class QString SmfPlaylist::playListTitle(void) const
- ?id@SmfUrl@@QBE?AVQString@@XZ @ 295 NONAME ; class QString SmfUrl::id(void) const
- ??0SmfMusicService@@QAE@PAVSmfProvider@@@Z @ 296 NONAME ; SmfMusicService::SmfMusicService(class SmfProvider *)
- ??0SmfEvent@@QAE@ABV0@@Z @ 297 NONAME ; SmfEvent::SmfEvent(class SmfEvent const &)
- ?name@SmfGroup@@QBE?AVQString@@XZ @ 298 NONAME ; class QString SmfGroup::name(void) const
- ?uploadFinished@SmfGallery@@IAEXV?$QList@W4SmfError@@@@@Z @ 299 NONAME ; void SmfGallery::uploadFinished(class QList<enum SmfError>)
- ?trUtf8@SmfMusicEvents@@SA?AVQString@@PBD0@Z @ 300 NONAME ; class QString SmfMusicEvents::trUtf8(char const *, char const *)
- ??0SmfComment@@QAE@XZ @ 301 NONAME ; SmfComment::SmfComment(void)
- ??1SmfGallery@@UAE@XZ @ 302 NONAME ; SmfGallery::~SmfGallery(void)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactOrganization@QtMobility@@@Z @ 303 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactOrganization const &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfRelationItem@@@Z @ 304 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfRelationItem &)
- ??4SmfAlbum@@QAEAAV0@ABV0@@Z @ 305 NONAME ; class SmfAlbum & SmfAlbum::operator=(class SmfAlbum const &)
- ??1SmfRelationItem@@QAE@XZ @ 306 NONAME ; SmfRelationItem::~SmfRelationItem(void)
- ?artists@SmfEvent@@QBE?AVSmfArtists@@XZ @ 307 NONAME ; class SmfArtists SmfEvent::artists(void) const
- ?setTimeStamp@SmfComment@@QAEXABVQDateTime@@@Z @ 308 NONAME ; void SmfComment::setTimeStamp(class QDateTime const &)
- ?setMaxRating@SmfMusicRating@@QAEXABH@Z @ 309 NONAME ; void SmfMusicRating::setMaxRating(int const &)
- ?trackList@SmfPlaylist@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 310 NONAME ; class QList<class SmfTrackInfo> SmfPlaylist::trackList(void) const
- ?description@SmfPicture@@QBE?AVQString@@XZ @ 311 NONAME ; class QString SmfPicture::description(void) const
- ?setUrl@SmfPicture@@QAEXABVQUrl@@@Z @ 312 NONAME ; void SmfPicture::setUrl(class QUrl const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfEvent@@@Z @ 313 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfEvent const &)
- ?count@SmfRelationMgr@@QAEIVQString@@@Z @ 314 NONAME ; unsigned int SmfRelationMgr::count(class QString)
- ?setAuthor@SmfActivityEntry@@QAE_NABVSmfContact@@@Z @ 315 NONAME ; bool SmfActivityEntry::setAuthor(class SmfContact const &)
- ?searchUser@SmfMusicService@@QAEXVSmfLocation@@HH@Z @ 316 NONAME ; void SmfMusicService::searchUser(class SmfLocation, int, int)
- ?qt_metacast@SmfLyricsService@@UAEPAXPBD@Z @ 317 NONAME ; void * SmfLyricsService::qt_metacast(char const *)
- ?language@SmfSubtitle@@QBE?AVQString@@XZ @ 318 NONAME ; class QString SmfSubtitle::language(void) const
- ?link@SmfActivityObject@@QBE?AVQString@@XZ @ 319 NONAME ; class QString SmfActivityObject::link(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVQContactType@QtMobility@@@Z @ 320 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactType &)
- ?storeSearchAvailable@SmfMusicSearch@@IAEXPAV?$QList@VSmfProvider@@@@W4SmfError@@USmfResultPage@@@Z @ 321 NONAME ; void SmfMusicSearch::storeSearchAvailable(class QList<class SmfProvider> *, enum SmfError, struct SmfResultPage)
- ??0SmfActivityObject@@QAE@XZ @ 322 NONAME ; SmfActivityObject::SmfActivityObject(void)
- ?selfActivities@SmfActivityFetcher@@QAEXHH@Z @ 323 NONAME ; void SmfActivityFetcher::selfActivities(int, int)
- ??0SmfContactFetcher@@QAE@PAVSmfProvider@@@Z @ 324 NONAME ; SmfContactFetcher::SmfContactFetcher(class SmfProvider *)
- ?metaObject@SmfContactFetcher@@UBEPBUQMetaObject@@XZ @ 325 NONAME ; struct QMetaObject const * SmfContactFetcher::metaObject(void) const
- ?setArtists@SmfEvent@@QAEXABVSmfArtists@@@Z @ 326 NONAME ; void SmfEvent::setArtists(class SmfArtists const &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactNickname@QtMobility@@@Z @ 327 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactNickname const &)
- ??4SmfContact@@QAEAAV0@ABV0@@Z @ 328 NONAME ; class SmfContact & SmfContact::operator=(class SmfContact const &)
- ??0SmfPicture@@QAE@XZ @ 329 NONAME ; SmfPicture::SmfPicture(void)
- ?setId@SmfPost@@QAEXVQString@@@Z @ 330 NONAME ; void SmfPost::setId(class QString)
- ?getProvider@SmfMusicEvents@@QAEPAVSmfProvider@@XZ @ 331 NONAME ; class SmfProvider * SmfMusicEvents::getProvider(void)
- ?albums@SmfGallery@@QAEXVQStringList@@PAVSmfContact@@HH@Z @ 332 NONAME ; void SmfGallery::albums(class QStringList, class SmfContact *, int, int)
- ?upload@SmfGallery@@QAEXPAV?$QList@VSmfPicture@@@@PAVSmfPictureAlbum@@@Z @ 333 NONAME ; void SmfGallery::upload(class QList<class SmfPicture> *, class SmfPictureAlbum *)
- ?setTargetObj@SmfActivityEntry@@QAE_NABVSmfActivityObject@@@Z @ 334 NONAME ; bool SmfActivityEntry::setTargetObj(class SmfActivityObject const &)
- ?customDataAvailable@SmfPostProvider@@IAEXHPAVQByteArray@@@Z @ 335 NONAME ; void SmfPostProvider::customDataAvailable(int, class QByteArray *)
- ?comments@SmfPicture@@QBE?AV?$QList@VSmfComment@@@@XZ @ 336 NONAME ; class QList<class SmfComment> SmfPicture::comments(void) const
- ?title@SmfEvent@@QBE?AVQString@@XZ @ 337 NONAME ; class QString SmfEvent::title(void) const
- ?setYear@SmfTrackInfo@@QAEXABVQDateTime@@@Z @ 338 NONAME ; void SmfTrackInfo::setYear(class QDateTime const &)
- ?setUrl@SmfPictureAlbum@@QAEXABVQUrl@@@Z @ 339 NONAME ; void SmfPictureAlbum::setUrl(class QUrl const &)
- ?trUtf8@SmfPostProvider@@SA?AVQString@@PBD0H@Z @ 340 NONAME ; class QString SmfPostProvider::trUtf8(char const *, char const *, int)
- ??1SmfMusicProfile@@QAE@XZ @ 341 NONAME ; SmfMusicProfile::~SmfMusicProfile(void)
- ?setEventDateTime@SmfEvent@@QAEXABVQDateTime@@@Z @ 342 NONAME ; void SmfEvent::setEventDateTime(class QDateTime const &)
- ??_ESmfRelationItem@@QAE@I@Z @ 343 NONAME ; SmfRelationItem::~SmfRelationItem(unsigned int)
- ??0SmfRelationItem@@QAE@ABV0@@Z @ 344 NONAME ; SmfRelationItem::SmfRelationItem(class SmfRelationItem const &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactPhoneNumber@QtMobility@@@Z @ 345 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactPhoneNumber const &)
- ?setAuthor@SmfPlaylist@@QAEXABVQString@@@Z @ 346 NONAME ; void SmfPlaylist::setAuthor(class QString const &)
- ?image@SmfPost@@QBE?AVQImage@@XZ @ 347 NONAME ; class QImage SmfPost::image(void) const
- ?setCity@SmfLocation@@QAEXABVQString@@@Z @ 348 NONAME ; void SmfLocation::setCity(class QString const &)
- ?setGenre@SmfTrackInfo@@QAEXABVQString@@@Z @ 349 NONAME ; void SmfTrackInfo::setGenre(class QString const &)
- ?updatePost@SmfPostProvider@@QAEXAAVSmfPost@@@Z @ 350 NONAME ; void SmfPostProvider::updatePost(class SmfPost &)
- ?setTrackList@SmfPlaylist@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 351 NONAME ; void SmfPlaylist::setTrackList(class QList<class SmfTrackInfo> const &)
- ?setComment@SmfTrackInfo@@QAEXABV?$QList@VSmfComment@@@@@Z @ 352 NONAME ; void SmfTrackInfo::setComment(class QList<class SmfComment> const &)
- ?setTitle@SmfEvent@@QAEXABVQString@@@Z @ 353 NONAME ; void SmfEvent::setTitle(class QString const &)
- ?setImage@SmfArtists@@QAEXABVQImage@@@Z @ 354 NONAME ; void SmfArtists::setImage(class QImage const &)
- ?trUtf8@SmfGallery@@SA?AVQString@@PBD0H@Z @ 355 NONAME ; class QString SmfGallery::trUtf8(char const *, char const *, int)
- ?setActivities@SmfActivityEntry@@QAE_NAAV?$QList@VSmfActivityObject@@@@@Z @ 356 NONAME ; bool SmfActivityEntry::setActivities(class QList<class SmfActivityObject> &)
- ?setZipCode@SmfLocation@@QAEXABVQString@@@Z @ 357 NONAME ; void SmfLocation::setZipCode(class QString const &)
- ?setProvider@SmfRelationItem@@QAEXAAVSmfProvider@@@Z @ 358 NONAME ; void SmfRelationItem::setProvider(class SmfProvider &)
- ??1SmfPluginUtil@@QAE@XZ @ 359 NONAME ; SmfPluginUtil::~SmfPluginUtil(void)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfActivityObject@@@Z @ 360 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfActivityObject const &)
- ??1SmfPlaylist@@QAE@XZ @ 361 NONAME ; SmfPlaylist::~SmfPlaylist(void)
- ?tr@SmfMusicEvents@@SA?AVQString@@PBD0@Z @ 362 NONAME ; class QString SmfMusicEvents::tr(char const *, char const *)
- ??0SmfMusicEvents@@QAE@PAVSmfProvider@@@Z @ 363 NONAME ; SmfMusicEvents::SmfMusicEvents(class SmfProvider *)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactGeoLocation@QtMobility@@@Z @ 364 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactGeoLocation const &)
- ??1SmfAlbum@@QAE@XZ @ 365 NONAME ; SmfAlbum::~SmfAlbum(void)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactType@QtMobility@@@Z @ 366 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactType const &)
- ??_ESmfMusicProfile@@QAE@I@Z @ 367 NONAME ; SmfMusicProfile::~SmfMusicProfile(unsigned int)
- ?id@SmfLyrics@@QBE?AVQString@@XZ @ 368 NONAME ; class QString SmfLyrics::id(void) const
- ?setText@SmfComment@@QAEXABVQString@@@Z @ 369 NONAME ; void SmfComment::setText(class QString const &)
- ?parse@SmfPluginUtil@@QAE?AVQVariant@@ABVQByteArray@@PA_N@Z @ 370 NONAME ; class QVariant SmfPluginUtil::parse(class QByteArray const &, bool *)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfGroup@@@Z @ 371 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfGroup &)
- ?qt_metacast@SmfMusicSearch@@UAEPAXPBD@Z @ 372 NONAME ; void * SmfMusicSearch::qt_metacast(char const *)
- ?setDuration@SmfEvent@@QAEXABVQTime@@@Z @ 373 NONAME ; void SmfEvent::setDuration(class QTime const &)
- ?setId@SmfComment@@QAEXABVQString@@@Z @ 374 NONAME ; void SmfComment::setId(class QString const &)
- ??1SmfActivityObject@@QAE@XZ @ 375 NONAME ; SmfActivityObject::~SmfActivityObject(void)
- ??1SmfPictureAlbum@@QAE@XZ @ 376 NONAME ; SmfPictureAlbum::~SmfPictureAlbum(void)
- ?trUtf8@SmfRelationMgr@@SA?AVQString@@PBD0H@Z @ 377 NONAME ; class QString SmfRelationMgr::trUtf8(char const *, char const *, int)
- ?postDirected@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfContact@@PAVSmfLocation@@@Z @ 378 NONAME ; void SmfPostProvider::postDirected(class SmfPost &, class SmfContact &, class SmfLocation *)
- ?followers@SmfContactFetcher@@QAE_NHH@Z @ 379 NONAME ; bool SmfContactFetcher::followers(int, int)
- ?setRel@SmfUrl@@QAEXABVQString@@@Z @ 380 NONAME ; void SmfUrl::setRel(class QString const &)
- ?qt_metacall@SmfGallery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 381 NONAME ; int SmfGallery::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?friendsListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 382 NONAME ; void SmfContactFetcher::friendsListAvailable(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?trUtf8@SmfRelationMgr@@SA?AVQString@@PBD0@Z @ 383 NONAME ; class QString SmfRelationMgr::trUtf8(char const *, char const *)
- ??1SmfPostProvider@@UAE@XZ @ 384 NONAME ; SmfPostProvider::~SmfPostProvider(void)
- ?writeLog@SmfClient@@QBEXVQString@@@Z @ 385 NONAME ; void SmfClient::writeLog(class QString) const
- ??0SmfSubtitle@@QAE@XZ @ 386 NONAME ; SmfSubtitle::SmfSubtitle(void)
- ?upload@SmfGallery@@QAEXPAVSmfPicture@@PAVSmfPictureAlbum@@@Z @ 387 NONAME ; void SmfGallery::upload(class SmfPicture *, class SmfPictureAlbum *)
- ?setContact@SmfRelationItem@@QAEXAAVSmfContact@@@Z @ 388 NONAME ; void SmfRelationItem::setContact(class SmfContact &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactOrganization@QtMobility@@@Z @ 389 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactOrganization &)
- ?getNonce@SmfPluginUtil@@QAEXAAVQString@@@Z @ 390 NONAME ; void SmfPluginUtil::getNonce(class QString &)
- ?getProvider@SmfContactFetcher@@QAEPAVSmfProvider@@XZ @ 391 NONAME ; class SmfProvider * SmfContactFetcher::getProvider(void)
- ?tr@SmfMusicService@@SA?AVQString@@PBD0H@Z @ 392 NONAME ; class QString SmfMusicService::tr(char const *, char const *, int)
- ?setServiceName@SmfProvider@@QAEXAAVQString@@@Z @ 393 NONAME ; void SmfProvider::setServiceName(class QString &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicFingerPrint@@@Z @ 394 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicFingerPrint &)
- ??0SmfMusicProfile@@QAE@XZ @ 395 NONAME ; SmfMusicProfile::SmfMusicProfile(void)
- ?id@SmfPlaylist@@QBE?AVQString@@XZ @ 396 NONAME ; class QString SmfPlaylist::id(void) const
- ?setMembers@SmfGroup@@QAEXPAV?$QList@VSmfContact@@@@@Z @ 397 NONAME ; void SmfGroup::setMembers(class QList<class SmfContact> *)
- ?getAll@SmfRelationMgr@@QAE?AV?$QList@VSmfRelationItem@@@@AAVQString@@@Z @ 398 NONAME ; class QList<class SmfRelationItem> SmfRelationMgr::getAll(class QString &)
- ?setLanguage@SmfSubtitle@@QAEXABVQString@@@Z @ 399 NONAME ; void SmfSubtitle::setLanguage(class QString const &)
- ??0SmfPlaylist@@QAE@ABV0@@Z @ 400 NONAME ; SmfPlaylist::SmfPlaylist(class SmfPlaylist const &)
- ??_ESmfMusicSearch@@UAE@I@Z @ 401 NONAME ; SmfMusicSearch::~SmfMusicSearch(unsigned int)
- ?trUtf8@SmfGallery@@SA?AVQString@@PBD0@Z @ 402 NONAME ; class QString SmfGallery::trUtf8(char const *, char const *)
- ??1SmfClient@@QAE@XZ @ 403 NONAME ; SmfClient::~SmfClient(void)
- ?setStreet@SmfLocation@@QAEXABVQString@@@Z @ 404 NONAME ; void SmfLocation::setStreet(class QString const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactBirthday@QtMobility@@@Z @ 405 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactBirthday &)
- ??0SmfPlaylistService@@QAE@PAVSmfProvider@@@Z @ 406 NONAME ; SmfPlaylistService::SmfPlaylistService(class SmfProvider *)
- ?groups@SmfContactFetcher@@QAE_NHH@Z @ 407 NONAME ; bool SmfContactFetcher::groups(int, int)
- ?setMusicFingerPrint@SmfMusicFingerPrint@@QAEXABVQByteArray@@@Z @ 408 NONAME ; void SmfMusicFingerPrint::setMusicFingerPrint(class QByteArray const &)
- ??0SmfArtists@@QAE@ABV0@@Z @ 409 NONAME ; SmfArtists::SmfArtists(class SmfArtists const &)
- ?getStaticMetaObject@SmfPostProvider@@SAABUQMetaObject@@XZ @ 410 NONAME ; struct QMetaObject const & SmfPostProvider::getStaticMetaObject(void)
- ?author@SmfPlaylist@@QBE?AVQString@@XZ @ 411 NONAME ; class QString SmfPlaylist::author(void) const
- ?metaObject@SmfMusicService@@UBEPBUQMetaObject@@XZ @ 412 NONAME ; struct QMetaObject const * SmfMusicService::metaObject(void) const
- ?language@SmfLyrics@@QBE?AVQString@@XZ @ 413 NONAME ; class QString SmfLyrics::language(void) const
- ?setSubtitle@SmfSubtitle@@QAEXABVQByteArray@@@Z @ 414 NONAME ; void SmfSubtitle::setSubtitle(class QByteArray const &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactBirthday@QtMobility@@@Z @ 415 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactBirthday const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfTrackInfo@@@Z @ 416 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfTrackInfo const &)
- ?postsAvailable@SmfPostProvider@@IAEXPAV?$QList@VSmfPost@@@@W4SmfError@@USmfResultPage@@@Z @ 417 NONAME ; void SmfPostProvider::postsAvailable(class QList<class SmfPost> *, enum SmfError, struct SmfResultPage)
- ??0SmfArtists@@QAE@XZ @ 418 NONAME ; SmfArtists::SmfArtists(void)
- ??1SmfTrackInfo@@QAE@XZ @ 419 NONAME ; SmfTrackInfo::~SmfTrackInfo(void)
- ?setMinRating@SmfMusicRating@@QAEXABH@Z @ 420 NONAME ; void SmfMusicRating::setMinRating(int const &)
- ?setCreationDate@SmfPlaylist@@QAEXABVQDateTime@@@Z @ 421 NONAME ; void SmfPlaylist::setCreationDate(class QDateTime const &)
- ??0SmfPluginUtil@@AAE@XZ @ 422 NONAME ; SmfPluginUtil::SmfPluginUtil(void)
- ?userEvents@SmfMusicProfile@@QBE?AV?$QList@VSmfEvent@@@@XZ @ 423 NONAME ; class QList<class SmfEvent> SmfMusicProfile::userEvents(void) const
- ?setName@SmfLocation@@QAEXABVQString@@@Z @ 424 NONAME ; void SmfLocation::setName(class QString const &)
- ?create@SmfRelationMgr@@QAE?AVQString@@PAVSmfProvider@@PAVSmfContact@@@Z @ 425 NONAME ; class QString SmfRelationMgr::create(class SmfProvider *, class SmfContact *)
- ?setTitle@SmfTrackInfo@@QAEXABVQString@@@Z @ 426 NONAME ; void SmfTrackInfo::setTitle(class QString const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactAddress@QtMobility@@@Z @ 427 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactAddress &)
- ??0SmfGroup@@QAE@ABV0@@Z @ 428 NONAME ; SmfGroup::SmfGroup(class SmfGroup const &)
- ?id@SmfGroup@@QBE?AVQString@@XZ @ 429 NONAME ; class QString SmfGroup::id(void) const
- ?setOwner@SmfPicture@@QAEXABVQString@@@Z @ 430 NONAME ; void SmfPicture::setOwner(class QString const &)
- ?setImage@SmfPost@@QAEXABVQImage@@@Z @ 431 NONAME ; void SmfPost::setImage(class QImage const &)
- ?parse@SmfPluginUtil@@QAE?AVQVariant@@PAVQIODevice@@PA_N@Z @ 432 NONAME ; class QVariant SmfPluginUtil::parse(class QIODevice *, bool *)
- ?setType@SmfActivityObject@@QAEXABW4SmfActivityObjectType@@@Z @ 433 NONAME ; void SmfActivityObject::setType(enum SmfActivityObjectType const &)
- ??0SmfUrl@@QAE@ABV0@@Z @ 434 NONAME ; SmfUrl::SmfUrl(class SmfUrl const &)
- ?getStaticMetaObject@SmfLyricsService@@SAABUQMetaObject@@XZ @ 435 NONAME ; struct QMetaObject const & SmfLyricsService::getStaticMetaObject(void)
- ?playlistsOf@SmfPlaylistService@@QAEXPAVSmfMusicProfile@@HH@Z @ 436 NONAME ; void SmfPlaylistService::playlistsOf(class SmfMusicProfile *, int, int)
- ?associate@SmfRelationMgr@@QAE?AW4SmfError@@ABVQString@@PBVSmfContact@@PAVSmfProvider@@@Z @ 437 NONAME ; enum SmfError SmfRelationMgr::associate(class QString const &, class SmfContact const *, class SmfProvider *)
- ?serviceIcon@SmfProvider@@QBE?AVQImage@@XZ @ 438 NONAME ; class QImage SmfProvider::serviceIcon(void) const
- ??_ESmfActivityFetcher@@UAE@I@Z @ 439 NONAME ; SmfActivityFetcher::~SmfActivityFetcher(unsigned int)
- ?events@SmfMusicEvents@@QAEXVQContactGeoLocation@QtMobility@@HH@Z @ 440 NONAME ; void SmfMusicEvents::events(class QtMobility::QContactGeoLocation, int, int)
- ?searchInGroup@SmfContactFetcher@@QAE_NVSmfGroup@@HH@Z @ 441 NONAME ; bool SmfContactFetcher::searchInGroup(class SmfGroup, int, int)
- ?postCurrentPlaying@SmfMusicSearch@@QAEXVSmfTrackInfo@@@Z @ 442 NONAME ; void SmfMusicSearch::postCurrentPlaying(class SmfTrackInfo)
- ?recommendations@SmfMusicSearch@@QAEXVSmfTrackInfo@@HH@Z @ 443 NONAME ; void SmfMusicSearch::recommendations(class SmfTrackInfo, int, int)
- ?staticMetaObject@SmfGallery@@2UQMetaObject@@B @ 444 NONAME ; struct QMetaObject const SmfGallery::staticMetaObject
- ??_ESmfLyricsService@@UAE@I@Z @ 445 NONAME ; SmfLyricsService::~SmfLyricsService(unsigned int)
- ?metaObject@SmfRelationMgr@@UBEPBUQMetaObject@@XZ @ 446 NONAME ; struct QMetaObject const * SmfRelationMgr::metaObject(void) const
- ??0SmfPictureAlbum@@QAE@XZ @ 447 NONAME ; SmfPictureAlbum::SmfPictureAlbum(void)
- ?extension@SmfPlaylist@@QBE?AV?$QMap@VQString@@VQVariant@@@@XZ @ 448 NONAME ; class QMap<class QString, class QVariant> SmfPlaylist::extension(void) const
- ?qt_metacast@SmfContactFetcher@@UAEPAXPBD@Z @ 449 NONAME ; void * SmfContactFetcher::qt_metacast(char const *)
- ?trackInfo@SmfMusicSearch@@QAEXVSmfMusicFingerPrint@@HH@Z @ 450 NONAME ; void SmfMusicSearch::trackInfo(class SmfMusicFingerPrint, int, int)
- ?interestInfo@SmfMusicProfile@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 451 NONAME ; class QList<class SmfTrackInfo> SmfMusicProfile::interestInfo(void) const
- ?tr@SmfLyricsService@@SA?AVQString@@PBD0H@Z @ 452 NONAME ; class QString SmfLyricsService::tr(char const *, char const *, int)
- ?staticMetaObject@SmfMusicSearch@@2UQMetaObject@@B @ 453 NONAME ; struct QMetaObject const SmfMusicSearch::staticMetaObject
- ?setSupportedInterfaces@SmfProvider@@QAEXAAVQStringList@@@Z @ 454 NONAME ; void SmfProvider::setSupportedInterfaces(class QStringList &)
- ?id@SmfMusicProfile@@QBE?AVQString@@XZ @ 455 NONAME ; class QString SmfMusicProfile::id(void) const
- ??1SmfMusicRating@@QAE@XZ @ 456 NONAME ; SmfMusicRating::~SmfMusicRating(void)
- ?setPlayListTitle@SmfPlaylist@@QAEXABVQString@@@Z @ 457 NONAME ; void SmfPlaylist::setPlayListTitle(class QString const &)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactTimestamp@QtMobility@@@Z @ 458 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactTimestamp &)
- ?setDuration@SmfTrackInfo@@QAEXABVQTime@@@Z @ 459 NONAME ; void SmfTrackInfo::setDuration(class QTime const &)
- ?getInstance@SmfPluginUtil@@SAPAV1@XZ @ 460 NONAME ; class SmfPluginUtil * SmfPluginUtil::getInstance(void)
- ?subtitleAvailable@SmfLyricsService@@IAEXPAV?$QList@VSmfSubtitle@@@@W4SmfError@@USmfResultPage@@@Z @ 461 NONAME ; void SmfLyricsService::subtitleAvailable(class QList<class SmfSubtitle> *, enum SmfError, struct SmfResultPage)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfActivityObject@@@Z @ 462 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfActivityObject &)
- ?getProvider@SmfRelationItem@@QBE?AVSmfProvider@@XZ @ 463 NONAME ; class SmfProvider SmfRelationItem::getProvider(void) const
- ?setId@SmfSubtitle@@QAEXABVQString@@@Z @ 464 NONAME ; void SmfSubtitle::setId(class QString const &)
- ??1SmfMusicSearch@@UAE@XZ @ 465 NONAME ; SmfMusicSearch::~SmfMusicSearch(void)
- ?qt_metacast@SmfGallery@@UAEPAXPBD@Z @ 466 NONAME ; void * SmfGallery::qt_metacast(char const *)
- ?supportedInterfaces@SmfProvider@@QBE?AV?$QList@VQString@@@@XZ @ 467 NONAME ; class QList<class QString> SmfProvider::supportedInterfaces(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVQContactOnlineAccount@QtMobility@@@Z @ 468 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactOnlineAccount &)
- ?tr@SmfActivityFetcher@@SA?AVQString@@PBD0@Z @ 469 NONAME ; class QString SmfActivityFetcher::tr(char const *, char const *)
- ?setRating@SmfMusicRating@@QAEXABH@Z @ 470 NONAME ; void SmfMusicRating::setRating(int const &)
- ?subTypes@SmfContact@@QBE?AVQStringList@@XZ @ 471 NONAME ; class QStringList SmfContact::subTypes(void) const
- ?supportedFormats@SmfPostProvider@@QBE?AV?$QVector@VQTextFormat@@@@XZ @ 472 NONAME ; class QVector<class QTextFormat> SmfPostProvider::supportedFormats(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVQContactAnniversary@QtMobility@@@Z @ 473 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactAnniversary const &)
- ?id@SmfTrackInfo@@QBE?AVQString@@XZ @ 474 NONAME ; class QString SmfTrackInfo::id(void) const
- ?setObjData@SmfActivityObject@@QAEXABVQVariant@@@Z @ 475 NONAME ; void SmfActivityObject::setObjData(class QVariant const &)
- ?qt_metacall@SmfActivityFetcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 476 NONAME ; int SmfActivityFetcher::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?searchNear@SmfContactFetcher@@QAE_NPAVSmfLocation@@W4SmfLocationSearchBoundary@@HH@Z @ 477 NONAME ; bool SmfContactFetcher::searchNear(class SmfLocation *, enum SmfLocationSearchBoundary, int, int)
- ?addToPlaylist@SmfPlaylistService@@QAEHVSmfPlaylist@@PAV?$QList@VSmfTrackInfo@@@@@Z @ 478 NONAME ; int SmfPlaylistService::addToPlaylist(class SmfPlaylist, class QList<class SmfTrackInfo> *)
- ?objData@SmfActivityObject@@QBE?AVQVariant@@XZ @ 479 NONAME ; class QVariant SmfActivityObject::objData(void) const
- ?trUtf8@SmfPlaylistService@@SA?AVQString@@PBD0@Z @ 480 NONAME ; class QString SmfPlaylistService::trUtf8(char const *, char const *)
- ?setTitle@SmfPictureAlbum@@QAEXABVQString@@@Z @ 481 NONAME ; void SmfPictureAlbum::setTitle(class QString const &)
- ?postComment@SmfGallery@@QAEXVSmfPicture@@VSmfComment@@@Z @ 482 NONAME ; void SmfGallery::postComment(class SmfPicture, class SmfComment)
- ?supportedLanguages@SmfProvider@@QBE?AVQStringList@@XZ @ 483 NONAME ; class QStringList SmfProvider::supportedLanguages(void) const
- ??0SmfPost@@QAE@ABV0@@Z @ 484 NONAME ; SmfPost::SmfPost(class SmfPost const &)
- ?getProvider@SmfGallery@@QAEPAVSmfProvider@@XZ @ 485 NONAME ; class SmfProvider * SmfGallery::getProvider(void)
- ?names@SmfArtists@@QBE?AVQStringList@@XZ @ 486 NONAME ; class QStringList SmfArtists::names(void) const
- ??1SmfContact@@QAE@XZ @ 487 NONAME ; SmfContact::~SmfContact(void)
- ?id@SmfLocation@@QBE?AVQString@@XZ @ 488 NONAME ; class QString SmfLocation::id(void) const
- ??_ESmfLyrics@@QAE@I@Z @ 489 NONAME ; SmfLyrics::~SmfLyrics(unsigned int)
- ?setVisibility@SmfPictureAlbum@@QAEXABW4SmfPictureVisibility@@@Z @ 490 NONAME ; void SmfPictureAlbum::setVisibility(enum SmfPictureVisibility const &)
- ?getProvider@SmfMusicSearch@@QAEPAVSmfProvider@@XZ @ 491 NONAME ; class SmfProvider * SmfMusicSearch::getProvider(void)
- ?errorString@SmfPluginUtil@@QBE?AVQString@@XZ @ 492 NONAME ; class QString SmfPluginUtil::errorString(void) const
- ?tr@SmfGallery@@SA?AVQString@@PBD0@Z @ 493 NONAME ; class QString SmfGallery::tr(char const *, char const *)
- ?staticMetaObject@SmfMusicEvents@@2UQMetaObject@@B @ 494 NONAME ; struct QMetaObject const SmfMusicEvents::staticMetaObject
- ?setLicense@SmfPlaylist@@QAEXABVQUrl@@@Z @ 495 NONAME ; void SmfPlaylist::setLicense(class QUrl const &)
- ?setTime@SmfActivityObject@@QAEXABVQDateTime@@@Z @ 496 NONAME ; void SmfActivityObject::setTime(class QDateTime const &)
- ??4SmfLyrics@@QAEAAV0@ABV0@@Z @ 497 NONAME ; class SmfLyrics & SmfLyrics::operator=(class SmfLyrics const &)
- ??4SmfActivityObject@@QAEAAV0@ABV0@@Z @ 498 NONAME ; class SmfActivityObject & SmfActivityObject::operator=(class SmfActivityObject const &)
- ??4SmfMusicProfile@@QAEAAV0@ABV0@@Z @ 499 NONAME ; class SmfMusicProfile & SmfMusicProfile::operator=(class SmfMusicProfile const &)
- ??4SmfGroup@@QAEAAV0@ABV0@@Z @ 500 NONAME ; class SmfGroup & SmfGroup::operator=(class SmfGroup const &)
- ?getProvider@SmfMusicService@@QAEPAVSmfProvider@@XZ @ 501 NONAME ; class SmfProvider * SmfMusicService::getProvider(void)
- ??0SmfLyricsService@@QAE@PAVSmfProvider@@@Z @ 502 NONAME ; SmfLyricsService::SmfLyricsService(class SmfProvider *)
- ?searchByContact@SmfRelationMgr@@QAE?AVQString@@VSmfContact@@@Z @ 503 NONAME ; class QString SmfRelationMgr::searchByContact(class SmfContact)
- ??0SmfContact@@QAE@PAVQObject@@@Z @ 504 NONAME ; SmfContact::SmfContact(class QObject *)
- ?setId@SmfUrl@@QAEXABVQString@@@Z @ 505 NONAME ; void SmfUrl::setId(class QString const &)
- ?qt_metacall@SmfRelationMgr@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 506 NONAME ; int SmfRelationMgr::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setSupportedLanguages@SmfProvider@@QAEXAAVQStringList@@@Z @ 507 NONAME ; void SmfProvider::setSupportedLanguages(class QStringList &)
- ?setTitle@SmfPost@@QAEXABVQString@@@Z @ 508 NONAME ; void SmfPost::setTitle(class QString const &)
- ??0SmfTrackInfo@@QAE@XZ @ 509 NONAME ; SmfTrackInfo::SmfTrackInfo(void)
- ?setType@SmfUrl@@QAEXABVQString@@@Z @ 510 NONAME ; void SmfUrl::setType(class QString const &)
- ??0SmfActivityEntry@@QAE@XZ @ 511 NONAME ; SmfActivityEntry::SmfActivityEntry(void)
- ?createParameterString@SmfPluginUtil@@QAE?AVQByteArray@@ABVQString@@W4Operation@QNetworkAccessManager@@ABV2@2W4SmfSignatureMethod@@ABV?$QMultiMap@VQByteArray@@V1@@@W4SmfParsingMode@@@Z @ 512 NONAME ; class QByteArray SmfPluginUtil::createParameterString(class QString const &, enum QNetworkAccessManager::Operation, class QByteArray const &, class QByteArray const &, enum SmfSignatureMethod, class QMultiMap<class QByteArray, class QByteArray> const &, enum SmfParsingMode)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfAlbum@@@Z @ 513 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfAlbum &)
- ?length@SmfUrl@@QBE?AVQString@@XZ @ 514 NONAME ; class QString SmfUrl::length(void) const
- ?qt_metacall@SmfMusicEvents@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 515 NONAME ; int SmfMusicEvents::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicFingerPrint@@@Z @ 516 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicFingerPrint const &)
- ?details@SmfActivityEntry@@QBE?AVSmfPost@@XZ @ 517 NONAME ; class SmfPost SmfActivityEntry::details(void) const
- ?lyrics@SmfLyrics@@QBE?AVQByteArray@@XZ @ 518 NONAME ; class QByteArray SmfLyrics::lyrics(void) const
- ?setId@SmfLyrics@@QAEXABVQString@@@Z @ 519 NONAME ; void SmfLyrics::setId(class QString const &)
- ?id@SmfAlbum@@QBE?AVQString@@XZ @ 520 NONAME ; class QString SmfAlbum::id(void) const
- ?thumbnail@SmfActivityObject@@QBE?AVQImage@@XZ @ 521 NONAME ; class QImage SmfActivityObject::thumbnail(void) const
- ??0SmfPost@@QAE@VSmfContact@@VQString@@1VQImage@@VQUrl@@@Z @ 522 NONAME ; SmfPost::SmfPost(class SmfContact, class QString, class QString, class QImage, class QUrl)
- ??1SmfPost@@QAE@XZ @ 523 NONAME ; SmfPost::~SmfPost(void)
- ?members@SmfGroup@@QBE?AV?$QList@VSmfContact@@@@XZ @ 524 NONAME ; class QList<class SmfContact> SmfGroup::members(void) const
- ?followersListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 525 NONAME ; void SmfContactFetcher::followersListAvailable(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ?setIndex@SmfRelationItem@@QAEXI@Z @ 526 NONAME ; void SmfRelationItem::setIndex(unsigned int)
- ?searchContactFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 527 NONAME ; void SmfContactFetcher::searchContactFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfProvider@@@Z @ 528 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfProvider const &)
- ?posts@SmfPostProvider@@QAEXPAVSmfContact@@HH@Z @ 529 NONAME ; void SmfPostProvider::posts(class SmfContact *, int, int)
- ?visibility@SmfPicture@@QBE?AW4SmfPictureVisibility@@XZ @ 530 NONAME ; enum SmfPictureVisibility SmfPicture::visibility(void) const
- ??_ESmfProvider@@QAE@I@Z @ 531 NONAME ; SmfProvider::~SmfProvider(unsigned int)
- ?downloadFlag@SmfPicture@@QAE_NXZ @ 532 NONAME ; bool SmfPicture::downloadFlag(void)
- ?tr@SmfPostProvider@@SA?AVQString@@PBD0@Z @ 533 NONAME ; class QString SmfPostProvider::tr(char const *, char const *)
- ?postedDate@SmfPictureAlbum@@QBE?AVQDateTime@@XZ @ 534 NONAME ; class QDateTime SmfPictureAlbum::postedDate(void) const
- ??0SmfTrackInfo@@QAE@ABV0@@Z @ 535 NONAME ; SmfTrackInfo::SmfTrackInfo(class SmfTrackInfo const &)
- ?getAllRelations@SmfRelationMgr@@QAE?AV?$QList@VQString@@@@XZ @ 536 NONAME ; class QList<class QString> SmfRelationMgr::getAllRelations(void)
- ?metaObject@SmfPlaylistService@@UBEPBUQMetaObject@@XZ @ 537 NONAME ; struct QMetaObject const * SmfPlaylistService::metaObject(void) const
- ?playlistsListAvailable@SmfPlaylistService@@IAEXPAV?$QList@VSmfPlaylist@@@@W4SmfError@@USmfResultPage@@@Z @ 538 NONAME ; void SmfPlaylistService::playlistsListAvailable(class QList<class SmfPlaylist> *, enum SmfError, struct SmfResultPage)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactEmailAddress@QtMobility@@@Z @ 539 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactEmailAddress const &)
- ??0SmfRelationItem@@QAE@PAVSmfProvider@@@Z @ 540 NONAME ; SmfRelationItem::SmfRelationItem(class SmfProvider *)
- ??1SmfGroup@@QAE@XZ @ 541 NONAME ; SmfGroup::~SmfGroup(void)
- ?getStaticMetaObject@SmfPlaylistService@@SAABUQMetaObject@@XZ @ 542 NONAME ; struct QMetaObject const & SmfPlaylistService::getStaticMetaObject(void)
- ?addComment@SmfPictureAlbum@@QAEXABVSmfComment@@@Z @ 543 NONAME ; void SmfPictureAlbum::addComment(class SmfComment const &)
- ?tracks@SmfMusicSearch@@QAEXVSmfTrackInfo@@HH@Z @ 544 NONAME ; void SmfMusicSearch::tracks(class SmfTrackInfo, int, int)
- ?license@SmfPlaylist@@QBE?AVQUrl@@XZ @ 545 NONAME ; class QUrl SmfPlaylist::license(void) const
- ?setUserEvents@SmfMusicProfile@@QAEXABV?$QList@VSmfEvent@@@@@Z @ 546 NONAME ; void SmfMusicProfile::setUserEvents(class QList<class SmfEvent> const &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactTimestamp@QtMobility@@@Z @ 547 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactTimestamp const &)
- ?comments@SmfTrackInfo@@QBE?AV?$QList@VSmfComment@@@@XZ @ 548 NONAME ; class QList<class SmfComment> SmfTrackInfo::comments(void) const
- ?setArtists@SmfTrackInfo@@QAEXABVSmfArtists@@@Z @ 549 NONAME ; void SmfTrackInfo::setArtists(class SmfArtists const &)
- ?setDescription@SmfProvider@@QAEXAAVQString@@@Z @ 550 NONAME ; void SmfProvider::setDescription(class QString &)
- ?setComments@SmfPlaylist@@QAEXABV?$QList@VSmfComment@@@@@Z @ 551 NONAME ; void SmfPlaylist::setComments(class QList<class SmfComment> const &)
- ?Delete@SmfRelationMgr@@QAE?AW4SmfError@@AAVQString@@@Z @ 552 NONAME ; enum SmfError SmfRelationMgr::Delete(class QString &)
- ?comments@SmfPlaylist@@QBE?AV?$QList@VSmfComment@@@@XZ @ 553 NONAME ; class QList<class SmfComment> SmfPlaylist::comments(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVQContactThumbnail@QtMobility@@@Z @ 554 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactThumbnail &)
- ??1SmfContactFetcher@@UAE@XZ @ 555 NONAME ; SmfContactFetcher::~SmfContactFetcher(void)
- ?activities@SmfActivityEntry@@QBE?AV?$QList@VSmfActivityObject@@@@XZ @ 556 NONAME ; class QList<class SmfActivityObject> SmfActivityEntry::activities(void) const
- ?setInfo@SmfPlaylist@@QAEXABVQUrl@@@Z @ 557 NONAME ; void SmfPlaylist::setInfo(class QUrl const &)
- ??1SmfLyricsService@@UAE@XZ @ 558 NONAME ; SmfLyricsService::~SmfLyricsService(void)
- ?userInfoAvailable@SmfMusicService@@IAEXPAVSmfMusicProfile@@W4SmfError@@@Z @ 559 NONAME ; void SmfMusicService::userInfoAvailable(class SmfMusicProfile *, enum SmfError)
- ??_ESmfActivityEntry@@QAE@I@Z @ 560 NONAME ; SmfActivityEntry::~SmfActivityEntry(unsigned int)
- ??0SmfMusicFingerPrint@@QAE@ABV0@@Z @ 561 NONAME ; SmfMusicFingerPrint::SmfMusicFingerPrint(class SmfMusicFingerPrint const &)
- ?id@SmfPictureAlbum@@QBE?AVQString@@XZ @ 562 NONAME ; class QString SmfPictureAlbum::id(void) const
- ?time@SmfActivityObject@@QBE?AVQDateTime@@XZ @ 563 NONAME ; class QDateTime SmfActivityObject::time(void) const
- ??1SmfArtists@@QAE@XZ @ 564 NONAME ; SmfArtists::~SmfArtists(void)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfUrl@@@Z @ 565 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfUrl const &)
- ??4SmfLocation@@QAEAAV0@ABV0@@Z @ 566 NONAME ; class SmfLocation & SmfLocation::operator=(class SmfLocation const &)
- ?setOwner@SmfPost@@QAEXABVSmfContact@@@Z @ 567 NONAME ; void SmfPost::setOwner(class SmfContact const &)
- ?comments@SmfPictureAlbum@@QBE?AV?$QList@VSmfComment@@@@XZ @ 568 NONAME ; class QList<class SmfComment> SmfPictureAlbum::comments(void) const
- ??6@YAAAVQDataStream@@AAV0@ABVSmfLyrics@@@Z @ 569 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfLyrics const &)
- ?hreflang@SmfUrl@@QBE?AVQString@@XZ @ 570 NONAME ; class QString SmfUrl::hreflang(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicProfile@@@Z @ 571 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicProfile &)
- ??1SmfPicture@@QAE@XZ @ 572 NONAME ; SmfPicture::~SmfPicture(void)
- ?friendsActivities@SmfActivityFetcher@@QAEXABVSmfContact@@HH@Z @ 573 NONAME ; void SmfActivityFetcher::friendsActivities(class SmfContact const &, int, int)
- ??4SmfPictureAlbum@@QAEAAV0@ABV0@@Z @ 574 NONAME ; class SmfPictureAlbum & SmfPictureAlbum::operator=(class SmfPictureAlbum const &)
- ??1SmfUrl@@QAE@XZ @ 575 NONAME ; SmfUrl::~SmfUrl(void)
- ?setId@SmfPlaylist@@QAEXABVQString@@@Z @ 576 NONAME ; void SmfPlaylist::setId(class QString const &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfPictureAlbum@@@Z @ 577 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPictureAlbum &)
- ??0SmfAlbum@@QAE@ABV0@@Z @ 578 NONAME ; SmfAlbum::SmfAlbum(class SmfAlbum const &)
- ?setAttribution@SmfPlaylist@@QAEXABV?$QList@VQUrl@@@@@Z @ 579 NONAME ; void SmfPlaylist::setAttribution(class QList<class QUrl> const &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfSubtitle@@@Z @ 580 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfSubtitle const &)
- ??1SmfProvider@@QAE@XZ @ 581 NONAME ; SmfProvider::~SmfProvider(void)
- ??5@YAAAVQDataStream@@AAV0@AAVQContactPhoneNumber@QtMobility@@@Z @ 582 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactPhoneNumber &)
- ?metaObject@SmfGallery@@UBEPBUQMetaObject@@XZ @ 583 NONAME ; struct QMetaObject const * SmfGallery::metaObject(void) const
- ??_ESmfPostProvider@@UAE@I@Z @ 584 NONAME ; SmfPostProvider::~SmfPostProvider(unsigned int)
- ??_ESmfActivityObject@@QAE@I@Z @ 585 NONAME ; SmfActivityObject::~SmfActivityObject(unsigned int)
- ??_ESmfPlaylist@@QAE@I@Z @ 586 NONAME ; SmfPlaylist::~SmfPlaylist(unsigned int)
- ?getProvider@SmfPostProvider@@QBEPAVSmfProvider@@XZ @ 587 NONAME ; class SmfProvider * SmfPostProvider::getProvider(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicRating@@@Z @ 588 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicRating &)
- ?getProvider@SmfActivityFetcher@@QAEPAVSmfProvider@@XZ @ 589 NONAME ; class SmfProvider * SmfActivityFetcher::getProvider(void)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfRelationItem@@@Z @ 590 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfRelationItem const &)
- ?groupListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfGroup@@@@W4SmfError@@USmfResultPage@@@Z @ 591 NONAME ; void SmfContactFetcher::groupListAvailable(class QList<class SmfGroup> *, enum SmfError, struct SmfResultPage)
- ?musicFingerPrint@SmfMusicFingerPrint@@QBE?AVQByteArray@@XZ @ 592 NONAME ; class QByteArray SmfMusicFingerPrint::musicFingerPrint(void) const
- ?qt_metacall@SmfPlaylistService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 593 NONAME ; int SmfPlaylistService::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?events@SmfMusicEvents@@QAEXVSmfLocation@@HH@Z @ 594 NONAME ; void SmfMusicEvents::events(class SmfLocation, int, int)
- ??0SmfComment@@QAE@ABV0@@Z @ 595 NONAME ; SmfComment::SmfComment(class SmfComment const &)
- ??0SmfProvider@@QAE@ABV0@@Z @ 596 NONAME ; SmfProvider::SmfProvider(class SmfProvider const &)
- ?setActionName@SmfActivityEntry@@QAEXW4SmfActivityVerb@@@Z @ 597 NONAME ; void SmfActivityEntry::setActionName(enum SmfActivityVerb)
- ?trUtf8@SmfMusicService@@SA?AVQString@@PBD0H@Z @ 598 NONAME ; class QString SmfMusicService::trUtf8(char const *, char const *, int)
- ??0SmfPicture@@QAE@ABV0@@Z @ 599 NONAME ; SmfPicture::SmfPicture(class SmfPicture const &)
- ?city@SmfLocation@@QBE?AVQString@@XZ @ 600 NONAME ; class QString SmfLocation::city(void) const
- ??4SmfArtists@@QAEAAV0@ABV0@@Z @ 601 NONAME ; class SmfArtists & SmfArtists::operator=(class SmfArtists const &)
- ??1SmfMusicFingerPrint@@QAE@XZ @ 602 NONAME ; SmfMusicFingerPrint::~SmfMusicFingerPrint(void)
- ??0SmfMusicFingerPrint@@QAE@XZ @ 603 NONAME ; SmfMusicFingerPrint::SmfMusicFingerPrint(void)
- ?qt_metacall@SmfPostProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 604 NONAME ; int SmfPostProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0SmfMusicSearch@@QAE@PAVSmfProvider@@@Z @ 605 NONAME ; SmfMusicSearch::SmfMusicSearch(class SmfProvider *)
- ?setTitle@SmfUrl@@QAEXABVQString@@@Z @ 606 NONAME ; void SmfUrl::setTitle(class QString const &)
- ?getStaticMetaObject@SmfMusicService@@SAABUQMetaObject@@XZ @ 607 NONAME ; struct QMetaObject const & SmfMusicService::getStaticMetaObject(void)
- ?value@SmfContact@@QBE?AVQVariant@@ABVQString@@@Z @ 608 NONAME ; class QVariant SmfContact::value(class QString const &) const
- ?setArtists@SmfAlbum@@QAEXABVSmfArtists@@@Z @ 609 NONAME ; void SmfAlbum::setArtists(class SmfArtists const &)
- ?picturesAvailable@SmfGallery@@IAEXPAV?$QList@VSmfPicture@@@@W4SmfError@@USmfResultPage@@@Z @ 610 NONAME ; void SmfGallery::picturesAvailable(class QList<class SmfPicture> *, enum SmfError, struct SmfResultPage)
- ?setTicketUrl@SmfEvent@@QAEXABVQUrl@@@Z @ 611 NONAME ; void SmfEvent::setTicketUrl(class QUrl const &)
- ?maxRating@SmfMusicRating@@QBEHXZ @ 612 NONAME ; int SmfMusicRating::maxRating(void) const
- ?setPostedDate@SmfPictureAlbum@@QAEXABVQDateTime@@@Z @ 613 NONAME ; void SmfPictureAlbum::setPostedDate(class QDateTime const &)
- ?version@SmfPlaylist@@QBE?AVQString@@XZ @ 614 NONAME ; class QString SmfPlaylist::version(void) const
- ??1SmfLocation@@QAE@XZ @ 615 NONAME ; SmfLocation::~SmfLocation(void)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactId@QtMobility@@@Z @ 616 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactId const &)
- ??0SmfLyrics@@QAE@ABV0@@Z @ 617 NONAME ; SmfLyrics::SmfLyrics(class SmfLyrics const &)
- ??4SmfSubtitle@@QAEAAV0@ABV0@@Z @ 618 NONAME ; class SmfSubtitle & SmfSubtitle::operator=(class SmfSubtitle const &)
- ?caption@SmfActivityObject@@QBE?AVQString@@XZ @ 619 NONAME ; class QString SmfActivityObject::caption(void) const
- ??0SmfActivityObject@@QAE@ABV0@@Z @ 620 NONAME ; SmfActivityObject::SmfActivityObject(class SmfActivityObject const &)
- ?getProvider@SmfPlaylistService@@QAEPAVSmfProvider@@XZ @ 621 NONAME ; class SmfProvider * SmfPlaylistService::getProvider(void)
- ??4SmfEvent@@QAEAAV0@ABV0@@Z @ 622 NONAME ; class SmfEvent & SmfEvent::operator=(class SmfEvent const &)
- ?getStaticMetaObject@SmfGallery@@SAABUQMetaObject@@XZ @ 623 NONAME ; struct QMetaObject const & SmfGallery::getStaticMetaObject(void)
- ?setLink@SmfActivityObject@@QAEXABVQString@@@Z @ 624 NONAME ; void SmfActivityObject::setLink(class QString const &)
- ?setHhreflang@SmfUrl@@QAEXABVQString@@@Z @ 625 NONAME ; void SmfUrl::setHhreflang(class QString const &)
- ?userinfo@SmfMusicService@@QAEXXZ @ 626 NONAME ; void SmfMusicService::userinfo(void)
- ?venue@SmfEvent@@QBE?AVSmfLocation@@XZ @ 627 NONAME ; class SmfLocation SmfEvent::venue(void) const
- ??0SmfSubtitle@@QAE@ABV0@@Z @ 628 NONAME ; SmfSubtitle::SmfSubtitle(class SmfSubtitle const &)
- ?setApplicationUrl@SmfProvider@@QAEXAAVQUrl@@@Z @ 629 NONAME ; void SmfProvider::setApplicationUrl(class QUrl &)
- ?setServiceIcon@SmfProvider@@QAEXAAVQImage@@@Z @ 630 NONAME ; void SmfProvider::setServiceIcon(class QImage &)
- ?info@SmfPlaylist@@QBE?AVQUrl@@XZ @ 631 NONAME ; class QUrl SmfPlaylist::info(void) const
- ?tr@SmfContactFetcher@@SA?AVQString@@PBD0H@Z @ 632 NONAME ; class QString SmfContactFetcher::tr(char const *, char const *, int)
- ?setLyrics@SmfLyrics@@QAEXABVQByteArray@@@Z @ 633 NONAME ; void SmfLyrics::setLyrics(class QByteArray const &)
- ?setMetadata@SmfPlaylist@@QAEXABV?$QMap@VQString@@VQVariant@@@@@Z @ 634 NONAME ; void SmfPlaylist::setMetadata(class QMap<class QString, class QVariant> const &)
- ?remove@SmfRelationMgr@@QAE?AW4SmfError@@AAVQString@@PBVSmfContact@@@Z @ 635 NONAME ; enum SmfError SmfRelationMgr::remove(class QString &, class SmfContact const *)
- ?description@SmfGallery@@QAE?AVQString@@AAVSmfPicture@@@Z @ 636 NONAME ; class QString SmfGallery::description(class SmfPicture &)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactGuid@QtMobility@@@Z @ 637 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactGuid const &)
- ?picture@SmfPicture@@QBE?AVQImage@@XZ @ 638 NONAME ; class QImage SmfPicture::picture(void) const
- ?tr@SmfContactFetcher@@SA?AVQString@@PBD0@Z @ 639 NONAME ; class QString SmfContactFetcher::tr(char const *, char const *)
- ?id@SmfActivityEntry@@QBE?AVQString@@XZ @ 640 NONAME ; class QString SmfActivityEntry::id(void) const
- ?setHref@SmfUrl@@QAEXABVQUrl@@@Z @ 641 NONAME ; void SmfUrl::setHref(class QUrl const &)
- ?setRating@SmfTrackInfo@@QAEXABVSmfMusicRating@@@Z @ 642 NONAME ; void SmfTrackInfo::setRating(class SmfMusicRating const &)
- ?setContent@SmfActivityObject@@QAEXABVQString@@@Z @ 643 NONAME ; void SmfActivityObject::setContent(class QString const &)
- ?street@SmfLocation@@QBE?AVQString@@XZ @ 644 NONAME ; class QString SmfLocation::street(void) const
- ?filtered@SmfActivityFetcher@@QAEXV?$QList@W4SmfActivityObjectType@@@@HH@Z @ 645 NONAME ; void SmfActivityFetcher::filtered(class QList<enum SmfActivityObjectType>, int, int)
- ?setId@SmfTrackInfo@@QAEXABVQString@@@Z @ 646 NONAME ; void SmfTrackInfo::setId(class QString const &)
- ?staticMetaObject@SmfContactFetcher@@2UQMetaObject@@B @ 647 NONAME ; struct QMetaObject const SmfContactFetcher::staticMetaObject
- ?title@SmfActivityEntry@@QBE?AVSmfPost@@XZ @ 648 NONAME ; class SmfPost SmfActivityEntry::title(void) const
- ??0SmfLyrics@@QAE@XZ @ 649 NONAME ; SmfLyrics::SmfLyrics(void)
- ??6@YAAAVQDataStream@@AAV0@ABVQContactGender@QtMobility@@@Z @ 650 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactGender const &)
- ?rel@SmfUrl@@QBE?AVQString@@XZ @ 651 NONAME ; class QString SmfUrl::rel(void) const
- ?title@SmfPost@@QBE?AVQString@@XZ @ 652 NONAME ; class QString SmfPost::title(void) const
- ?searchById@SmfRelationMgr@@QAE?AVSmfRelationItem@@ABVQString@@@Z @ 653 NONAME ; class SmfRelationItem SmfRelationMgr::searchById(class QString const &)
- ?setExtension@SmfPlaylist@@QAEXABV?$QMap@VQString@@VQVariant@@@@@Z @ 654 NONAME ; void SmfPlaylist::setExtension(class QMap<class QString, class QVariant> const &)
- ?trUtf8@SmfMusicSearch@@SA?AVQString@@PBD0@Z @ 655 NONAME ; class QString SmfMusicSearch::trUtf8(char const *, char const *)
- ?name@SmfLocation@@QBE?AVQString@@XZ @ 656 NONAME ; class QString SmfLocation::name(void) const
- ?text@SmfComment@@QBE?AVQString@@XZ @ 657 NONAME ; class QString SmfComment::text(void) const
- ?type@SmfUrl@@QBE?AVQString@@XZ @ 658 NONAME ; class QString SmfUrl::type(void) const
- ??5@YAAAVQDataStream@@AAV0@AAVQContactGeoLocation@QtMobility@@@Z @ 659 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactGeoLocation &)
- ?qt_metacast@SmfRelationMgr@@UAEPAXPBD@Z @ 660 NONAME ; void * SmfRelationMgr::qt_metacast(char const *)
- ?trUtf8@SmfMusicEvents@@SA?AVQString@@PBD0H@Z @ 661 NONAME ; class QString SmfMusicEvents::trUtf8(char const *, char const *, int)
- ??1SmfLyrics@@QAE@XZ @ 662 NONAME ; SmfLyrics::~SmfLyrics(void)
- ??0SmfAlbum@@QAE@XZ @ 663 NONAME ; SmfAlbum::SmfAlbum(void)
- ??_ESmfPlaylistService@@UAE@I@Z @ 664 NONAME ; SmfPlaylistService::~SmfPlaylistService(unsigned int)
- ?metaObject@SmfPostProvider@@UBEPBUQMetaObject@@XZ @ 665 NONAME ; struct QMetaObject const * SmfPostProvider::metaObject(void) const
- ?setVenue@SmfEvent@@QAEXABVSmfLocation@@@Z @ 666 NONAME ; void SmfEvent::setVenue(class SmfLocation const &)
- ?search@SmfContactFetcher@@QAEXPAVSmfContact@@HH@Z @ 667 NONAME ; void SmfContactFetcher::search(class SmfContact *, int, int)
- ??_ESmfMusicService@@UAE@I@Z @ 668 NONAME ; SmfMusicService::~SmfMusicService(unsigned int)
- ?addKeywords@SmfPictureAlbum@@QAEXABVQStringList@@@Z @ 669 NONAME ; void SmfPictureAlbum::addKeywords(class QStringList const &)
- ?setTitle@SmfPicture@@QAEXABVQString@@@Z @ 670 NONAME ; void SmfPicture::setTitle(class QString const &)
- ??5@YAAAVQDataStream@@AAV0@AAVSmfLyrics@@@Z @ 671 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfLyrics &)
- ?setUrl@SmfPost@@QAEXAAVQUrl@@@Z @ 672 NONAME ; void SmfPost::setUrl(class QUrl &)
- ??6@YAAAVQDataStream@@AAV0@ABVSmfAlbum@@@Z @ 673 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfAlbum const &)
- ?setDuration@SmfSubtitle@@QAEXABN@Z @ 674 NONAME ; void SmfSubtitle::setDuration(double const &)
- ?visibility@SmfPictureAlbum@@QBE?AW4SmfPictureVisibility@@XZ @ 675 NONAME ; enum SmfPictureVisibility SmfPictureAlbum::visibility(void) const
- ??0SmfMusicProfile@@QAE@ABV0@@Z @ 676 NONAME ; SmfMusicProfile::SmfMusicProfile(class SmfMusicProfile const &)
- ?setReleaseYear@SmfSubtitle@@QAEXABVQDateTime@@@Z @ 677 NONAME ; void SmfSubtitle::setReleaseYear(class QDateTime const &)
- ?targetObj@SmfActivityEntry@@QBE?AVSmfActivityObject@@XZ @ 678 NONAME ; class SmfActivityObject SmfActivityEntry::targetObj(void) const
+ ?friends@SmfContactFetcher@@QAE_NHH@Z @ 118 NONAME ; bool SmfContactFetcher::friends(int, int)
+ ?tr@SmfActivityFetcher@@SA?AVQString@@PBD0H@Z @ 119 NONAME ; class QString SmfActivityFetcher::tr(char const *, char const *, int)
+ ?resultsAvailable@SmfActivityFetcher@@IAEXPAV?$QList@VSmfActivityEntry@@@@W4SmfError@@USmfResultPage@@@Z @ 120 NONAME ; void SmfActivityFetcher::resultsAvailable(class QList<class SmfActivityEntry> *, enum SmfError, struct SmfResultPage)
+ ??_ESmfPostProvider@@UAE@I@Z @ 121 NONAME ; SmfPostProvider::~SmfPostProvider(unsigned int)
+ ?qt_metacall@SmfMusicService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 122 NONAME ; int SmfMusicService::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@SmfPlaylistService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 123 NONAME ; int SmfPlaylistService::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_ESmfMusicService@@UAE@I@Z @ 124 NONAME ; SmfMusicService::~SmfMusicService(unsigned int)
+ ?trUtf8@SmfActivityFetcher@@SA?AVQString@@PBD0@Z @ 125 NONAME ; class QString SmfActivityFetcher::trUtf8(char const *, char const *)
+ ?tr@SmfPostProvider@@SA?AVQString@@PBD0H@Z @ 126 NONAME ; class QString SmfPostProvider::tr(char const *, char const *, int)
+ ?customRequest@SmfLyricsService@@QAEXABHPAVQByteArray@@@Z @ 127 NONAME ; void SmfLyricsService::customRequest(int const &, class QByteArray *)
+ ?customRequest@SmfMusicService@@QAEXABHPAVQByteArray@@@Z @ 128 NONAME ; void SmfMusicService::customRequest(int const &, class QByteArray *)
+ ?Delete@SmfRelationMgr@@QAE?AW4SmfError@@AAVQString@@@Z @ 129 NONAME ; enum SmfError SmfRelationMgr::Delete(class QString &)
+ ?metaObject@SmfLyricsService@@UBEPBUQMetaObject@@XZ @ 130 NONAME ; struct QMetaObject const * SmfLyricsService::metaObject(void) const
+ ??1SmfMusicEvents@@UAE@XZ @ 131 NONAME ; SmfMusicEvents::~SmfMusicEvents(void)
+ ?trUtf8@SmfMusicEvents@@SA?AVQString@@PBD0H@Z @ 132 NONAME ; class QString SmfMusicEvents::trUtf8(char const *, char const *, int)
+ ?getAll@SmfRelationMgr@@QAE?AV?$QList@VSmfRelationItem@@@@AAVQString@@@Z @ 133 NONAME ; class QList<class SmfRelationItem> SmfRelationMgr::getAll(class QString &)
+ ?trUtf8@SmfGallery@@SA?AVQString@@PBD0H@Z @ 134 NONAME ; class QString SmfGallery::trUtf8(char const *, char const *, int)
+ ?eventsAvailable@SmfMusicEvents@@IAEXPAV?$QList@VSmfEvent@@@@W4SmfError@@USmfResultPage@@@Z @ 135 NONAME ; void SmfMusicEvents::eventsAvailable(class QList<class SmfEvent> *, enum SmfError, struct SmfResultPage)
+ ?tr@SmfMusicEvents@@SA?AVQString@@PBD0H@Z @ 136 NONAME ; class QString SmfMusicEvents::tr(char const *, char const *, int)
+ ??_ESmfRelationMgr@@UAE@I@Z @ 137 NONAME ; SmfRelationMgr::~SmfRelationMgr(unsigned int)
+ ?events@SmfMusicEvents@@QAEXVSmfLocation@@HH@Z @ 138 NONAME ; void SmfMusicEvents::events(class SmfLocation, int, int)
+ ?followersListAvailable@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 139 NONAME ; void SmfContactFetcher::followersListAvailable(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
+ ?albums@SmfGallery@@QAEXVQStringList@@PAVSmfContact@@HH@Z @ 140 NONAME ; void SmfGallery::albums(class QStringList, class SmfContact *, int, int)
+ ??0SmfRelationItem@@QAE@PAVSmfProvider@@@Z @ 141 NONAME ; SmfRelationItem::SmfRelationItem(class SmfProvider *)
+ ?recommendations@SmfMusicSearch@@QAEXVSmfTrackInfo@@HH@Z @ 142 NONAME ; void SmfMusicSearch::recommendations(class SmfTrackInfo, int, int)
+ ?search@SmfContactFetcher@@QAEXPAVSmfContact@@HH@Z @ 143 NONAME ; void SmfContactFetcher::search(class SmfContact *, int, int)
+ ?customRequest@SmfMusicSearch@@QAEXABHPAVQByteArray@@@Z @ 144 NONAME ; void SmfMusicSearch::customRequest(int const &, class QByteArray *)
+ ?userinfo@SmfMusicService@@QAEXXZ @ 145 NONAME ; void SmfMusicService::userinfo(void)
+ ??0SmfPostProvider@@QAE@PAVSmfProvider@@@Z @ 146 NONAME ; SmfPostProvider::SmfPostProvider(class SmfProvider *)
+ ?tr@SmfLyricsService@@SA?AVQString@@PBD0@Z @ 147 NONAME ; class QString SmfLyricsService::tr(char const *, char const *)
+ ?getStaticMetaObject@SmfLyricsService@@SAABUQMetaObject@@XZ @ 148 NONAME ; struct QMetaObject const & SmfLyricsService::getStaticMetaObject(void)
+ ?playlistUpdated@SmfPlaylistService@@IAEXW4SmfError@@@Z @ 149 NONAME ; void SmfPlaylistService::playlistUpdated(enum SmfError)
+ ??_ESmfActivityFetcher@@UAE@I@Z @ 150 NONAME ; SmfActivityFetcher::~SmfActivityFetcher(unsigned int)
+ ?trUtf8@SmfMusicService@@SA?AVQString@@PBD0H@Z @ 151 NONAME ; class QString SmfMusicService::trUtf8(char const *, char const *, int)
+ ??1SmfActivityFetcher@@UAE@XZ @ 152 NONAME ; SmfActivityFetcher::~SmfActivityFetcher(void)
+ ??_ESmfRelationItem@@QAE@I@Z @ 153 NONAME ; SmfRelationItem::~SmfRelationItem(unsigned int)
+ ?tr@SmfContactFetcher@@SA?AVQString@@PBD0H@Z @ 154 NONAME ; class QString SmfContactFetcher::tr(char const *, char const *, int)
+ ??0SmfMusicSearch@@QAE@PAVSmfProvider@@@Z @ 155 NONAME ; SmfMusicSearch::SmfMusicSearch(class SmfProvider *)
+ ?picturesAvailable@SmfGallery@@IAEXPAV?$QList@VSmfPicture@@@@W4SmfError@@USmfResultPage@@@Z @ 156 NONAME ; void SmfGallery::picturesAvailable(class QList<class SmfPicture> *, enum SmfError, struct SmfResultPage)
+ ?trUtf8@SmfLyricsService@@SA?AVQString@@PBD0H@Z @ 157 NONAME ; class QString SmfLyricsService::trUtf8(char const *, char const *, int)
+ ?getProvider@SmfLyricsService@@ABEPAVSmfProvider@@XZ @ 158 NONAME ; class SmfProvider * SmfLyricsService::getProvider(void) const
+ ?posts@SmfPostProvider@@QAEXPAVSmfContact@@HH@Z @ 159 NONAME ; void SmfPostProvider::posts(class SmfContact *, int, int)
+ ??1SmfLyricsService@@UAE@XZ @ 160 NONAME ; SmfLyricsService::~SmfLyricsService(void)
+ ??0SmfContactFetcher@@QAE@PAVSmfProvider@@PAVSmfContact@@@Z @ 161 NONAME ; SmfContactFetcher::SmfContactFetcher(class SmfProvider *, class SmfContact *)
+ ?upload@SmfGallery@@QAEXPAV?$QList@VSmfPicture@@@@PAVSmfPictureAlbum@@@Z @ 162 NONAME ; void SmfGallery::upload(class QList<class SmfPicture> *, class SmfPictureAlbum *)
+ ?qt_metacast@SmfMusicService@@UAEPAXPBD@Z @ 163 NONAME ; void * SmfMusicService::qt_metacast(char const *)
+ ?postfinished@SmfMusicService@@IAEXW4SmfError@@@Z @ 164 NONAME ; void SmfMusicService::postfinished(enum SmfError)
+ ?errorString@SmfClient@@QBE?AVQString@@ABW4SmfError@@@Z @ 165 NONAME ; class QString SmfClient::errorString(enum SmfError const &) const
+ ?staticMetaObject@SmfPlaylistService@@2UQMetaObject@@B @ 166 NONAME ; struct QMetaObject const SmfPlaylistService::staticMetaObject
+ ?getProvider@SmfContactFetcher@@ABEPAVSmfProvider@@XZ @ 167 NONAME ; class SmfProvider * SmfContactFetcher::getProvider(void) const
+ ?trUtf8@SmfPlaylistService@@SA?AVQString@@PBD0H@Z @ 168 NONAME ; class QString SmfPlaylistService::trUtf8(char const *, char const *, int)
+ ?groups@SmfContactFetcher@@QAE_NHH@Z @ 169 NONAME ; bool SmfContactFetcher::groups(int, int)
+ ?getStaticMetaObject@SmfActivityFetcher@@SAABUQMetaObject@@XZ @ 170 NONAME ; struct QMetaObject const & SmfActivityFetcher::getStaticMetaObject(void)
+ ?staticMetaObject@SmfPostProvider@@2UQMetaObject@@B @ 171 NONAME ; struct QMetaObject const SmfPostProvider::staticMetaObject
+ ??0SmfRelationItem@@QAE@ABV0@@Z @ 172 NONAME ; SmfRelationItem::SmfRelationItem(class SmfRelationItem const &)
+ ?sharePost@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfContact@@_N@Z @ 173 NONAME ; void SmfPostProvider::sharePost(class SmfPost &, class SmfContact &, bool)
+ ?updatePost@SmfPostProvider@@QAEXAAVSmfPost@@@Z @ 174 NONAME ; void SmfPostProvider::updatePost(class SmfPost &)
+ ?postFinished@SmfPostProvider@@IAEXW4SmfError@@@Z @ 175 NONAME ; void SmfPostProvider::postFinished(enum SmfError)
+ ??_ESmfLyricsService@@UAE@I@Z @ 176 NONAME ; SmfLyricsService::~SmfLyricsService(unsigned int)
+ ?customDataAvailable@SmfPlaylistService@@IAEXABHPAVQByteArray@@@Z @ 177 NONAME ; void SmfPlaylistService::customDataAvailable(int const &, class QByteArray *)
+ ?getContact@SmfRelationItem@@QBE?AVSmfContact@@XZ @ 178 NONAME ; class SmfContact SmfRelationItem::getContact(void) const
+ ?qt_metacall@SmfActivityFetcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 179 NONAME ; int SmfActivityFetcher::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?customDataAvailable@SmfPostProvider@@IAEXHPAVQByteArray@@@Z @ 180 NONAME ; void SmfPostProvider::customDataAvailable(int, class QByteArray *)
+ ?postComment@SmfGallery@@QAEXVSmfPicture@@VSmfComment@@@Z @ 181 NONAME ; void SmfGallery::postComment(class SmfPicture, class SmfComment)
+ ?staticMetaObject@SmfMusicService@@2UQMetaObject@@B @ 182 NONAME ; struct QMetaObject const SmfMusicService::staticMetaObject
+ ?staticMetaObject@SmfMusicSearch@@2UQMetaObject@@B @ 183 NONAME ; struct QMetaObject const SmfMusicSearch::staticMetaObject
+ ??_ESmfGallery@@UAE@I@Z @ 184 NONAME ; SmfGallery::~SmfGallery(unsigned int)
+ ?trUtf8@SmfMusicService@@SA?AVQString@@PBD0@Z @ 185 NONAME ; class QString SmfMusicService::trUtf8(char const *, char const *)
+ ?qt_metacast@SmfGallery@@UAEPAXPBD@Z @ 186 NONAME ; void * SmfGallery::qt_metacast(char const *)
+ ?tr@SmfMusicService@@SA?AVQString@@PBD0@Z @ 187 NONAME ; class QString SmfMusicService::tr(char const *, char const *)
+ ?playlistsOf@SmfPlaylistService@@QAEXPAVSmfMusicProfile@@HH@Z @ 188 NONAME ; void SmfPlaylistService::playlistsOf(class SmfMusicProfile *, int, int)
+ ?metaObject@SmfMusicService@@UBEPBUQMetaObject@@XZ @ 189 NONAME ; struct QMetaObject const * SmfMusicService::metaObject(void) const
+ ?trUtf8@SmfMusicSearch@@SA?AVQString@@PBD0H@Z @ 190 NONAME ; class QString SmfMusicSearch::trUtf8(char const *, char const *, int)
+ ?tr@SmfMusicSearch@@SA?AVQString@@PBD0H@Z @ 191 NONAME ; class QString SmfMusicSearch::tr(char const *, char const *, int)
+ ?getProvider@SmfMusicEvents@@ABEPAVSmfProvider@@XZ @ 192 NONAME ; class SmfProvider * SmfMusicEvents::getProvider(void) const
+ ?description@SmfGallery@@QAEXAAVSmfPicture@@@Z @ 193 NONAME ; void SmfGallery::description(class SmfPicture &)
+ ?postEvents@SmfMusicEvents@@QAEXV?$QList@VSmfEvent@@@@@Z @ 194 NONAME ; void SmfMusicEvents::postEvents(class QList<class SmfEvent>)
+ ?customRequest@SmfPlaylistService@@QAEXABHPAVQByteArray@@@Z @ 195 NONAME ; void SmfPlaylistService::customRequest(int const &, class QByteArray *)
+ ?tr@SmfPlaylistService@@SA?AVQString@@PBD0H@Z @ 196 NONAME ; class QString SmfPlaylistService::tr(char const *, char const *, int)
+ ?postsAvailable@SmfPostProvider@@IAEXPAV?$QList@VSmfPost@@@@W4SmfError@@USmfResultPage@@@Z @ 197 NONAME ; void SmfPostProvider::postsAvailable(class QList<class SmfPost> *, enum SmfError, struct SmfResultPage)
+ ??0SmfMusicEvents@@QAE@PAVSmfProvider@@@Z @ 198 NONAME ; SmfMusicEvents::SmfMusicEvents(class SmfProvider *)
+ ??0SmfRelationMgr@@QAE@PAVQObject@@@Z @ 199 NONAME ; SmfRelationMgr::SmfRelationMgr(class QObject *)
+ ??1SmfGallery@@UAE@XZ @ 200 NONAME ; SmfGallery::~SmfGallery(void)
+ ??0SmfContactFetcher@@QAE@PAVSmfProvider@@@Z @ 201 NONAME ; SmfContactFetcher::SmfContactFetcher(class SmfProvider *)
+ ?tr@SmfMusicSearch@@SA?AVQString@@PBD0@Z @ 202 NONAME ; class QString SmfMusicSearch::tr(char const *, char const *)
+ ?postDirected@SmfPostProvider@@QAEXAAVSmfPost@@AAVSmfContact@@PAVSmfLocation@@@Z @ 203 NONAME ; void SmfPostProvider::postDirected(class SmfPost &, class SmfContact &, class SmfLocation *)
+ ?subtitleAvailable@SmfLyricsService@@IAEXPAV?$QList@VSmfSubtitle@@@@W4SmfError@@USmfResultPage@@@Z @ 204 NONAME ; void SmfLyricsService::subtitleAvailable(class QList<class SmfSubtitle> *, enum SmfError, struct SmfResultPage)
+ ?friendsActivities@SmfActivityFetcher@@QAEXABVSmfContact@@HH@Z @ 205 NONAME ; void SmfActivityFetcher::friendsActivities(class SmfContact const &, int, int)
+ ?getProvider@SmfMusicService@@ABEPAVSmfProvider@@XZ @ 206 NONAME ; class SmfProvider * SmfMusicService::getProvider(void) const
+ ?staticMetaObject@SmfContactFetcher@@2UQMetaObject@@B @ 207 NONAME ; struct QMetaObject const SmfContactFetcher::staticMetaObject
+ ?searchNearFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 208 NONAME ; void SmfContactFetcher::searchNearFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
+ ?searchContactFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 209 NONAME ; void SmfContactFetcher::searchContactFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
+ ?postRating@SmfMusicService@@QAEXVSmfTrackInfo@@VSmfMusicRating@@@Z @ 210 NONAME ; void SmfMusicService::postRating(class SmfTrackInfo, class SmfMusicRating)
+ ?metaObject@SmfContactFetcher@@UBEPBUQMetaObject@@XZ @ 211 NONAME ; struct QMetaObject const * SmfContactFetcher::metaObject(void) const
+ ?searchInGroupFinished@SmfContactFetcher@@IAEXPAV?$QList@VSmfContact@@@@W4SmfError@@USmfResultPage@@@Z @ 212 NONAME ; void SmfContactFetcher::searchInGroupFinished(class QList<class SmfContact> *, enum SmfError, struct SmfResultPage)
+ ??1SmfRelationMgr@@UAE@XZ @ 213 NONAME ; SmfRelationMgr::~SmfRelationMgr(void)
+ ?qt_metacast@SmfPostProvider@@UAEPAXPBD@Z @ 214 NONAME ; void * SmfPostProvider::qt_metacast(char const *)
+ ?pictures@SmfGallery@@QAEXAAV?$QList@VSmfPictureAlbum@@@@HH@Z @ 215 NONAME ; void SmfGallery::pictures(class QList<class SmfPictureAlbum> &, int, int)
+ ?selfActivities@SmfActivityFetcher@@QAEXHH@Z @ 216 NONAME ; void SmfActivityFetcher::selfActivities(int, int)
+ ?getAllRelations@SmfRelationMgr@@QAE?AV?$QList@VQString@@@@XZ @ 217 NONAME ; class QList<class QString> SmfRelationMgr::getAllRelations(void)
+ ?qt_metacast@SmfRelationMgr@@UAEPAXPBD@Z @ 218 NONAME ; void * SmfRelationMgr::qt_metacast(char const *)
+ ?postComments@SmfMusicService@@QAEXVSmfTrackInfo@@VSmfComment@@@Z @ 219 NONAME ; void SmfMusicService::postComments(class SmfTrackInfo, class SmfComment)
+ ?searchInfoAvailable@SmfMusicService@@IAEXPAV?$QList@VSmfMusicProfile@@@@W4SmfError@@USmfResultPage@@@Z @ 220 NONAME ; void SmfMusicService::searchInfoAvailable(class QList<class SmfMusicProfile> *, enum SmfError, struct SmfResultPage)
+ ?setProvider@SmfRelationItem@@QAEXAAVSmfProvider@@@Z @ 221 NONAME ; void SmfRelationItem::setProvider(class SmfProvider &)
+ ?setIndex@SmfRelationItem@@QAEXI@Z @ 222 NONAME ; void SmfRelationItem::setIndex(unsigned int)
+ ?qt_metacast@SmfLyricsService@@UAEPAXPBD@Z @ 223 NONAME ; void * SmfLyricsService::qt_metacast(char const *)
+ ?customRequest@SmfPostProvider@@QAEXABHPAVQByteArray@@@Z @ 224 NONAME ; void SmfPostProvider::customRequest(int const &, class QByteArray *)
+ ?tr@SmfActivityFetcher@@SA?AVQString@@PBD0@Z @ 225 NONAME ; class QString SmfActivityFetcher::tr(char const *, char const *)
+ ?tr@SmfMusicService@@SA?AVQString@@PBD0H@Z @ 226 NONAME ; class QString SmfMusicService::tr(char const *, char const *, int)
+ ?postCurrentPlayingPlaylist@SmfPlaylistService@@QAEHVSmfPlaylist@@@Z @ 227 NONAME ; int SmfPlaylistService::postCurrentPlayingPlaylist(class SmfPlaylist)
+ ??0SmfPlaylistService@@QAE@PAVSmfProvider@@@Z @ 228 NONAME ; SmfPlaylistService::SmfPlaylistService(class SmfProvider *)
+ ?searchUser@SmfMusicService@@QAEXVSmfLocation@@HH@Z @ 229 NONAME ; void SmfMusicService::searchUser(class SmfLocation, int, int)
+ ?metaObject@SmfRelationMgr@@UBEPBUQMetaObject@@XZ @ 230 NONAME ; struct QMetaObject const * SmfRelationMgr::metaObject(void) const
+ ?tr@SmfMusicEvents@@SA?AVQString@@PBD0@Z @ 231 NONAME ; class QString SmfMusicEvents::tr(char const *, char const *)
+ ?metaObject@SmfActivityFetcher@@UBEPBUQMetaObject@@XZ @ 232 NONAME ; struct QMetaObject const * SmfActivityFetcher::metaObject(void) const
+ ?playlists@SmfPlaylistService@@QAEXHH@Z @ 233 NONAME ; void SmfPlaylistService::playlists(int, int)
+ ?searchNear@SmfContactFetcher@@QAE_NPAVSmfLocation@@W4SmfLocationSearchBoundary@@HH@Z @ 234 NONAME ; bool SmfContactFetcher::searchNear(class SmfLocation *, enum SmfLocationSearchBoundary, int, int)
+ ?playlistsListAvailable@SmfPlaylistService@@IAEXPAV?$QList@VSmfPlaylist@@@@W4SmfError@@USmfResultPage@@@Z @ 235 NONAME ; void SmfPlaylistService::playlistsListAvailable(class QList<class SmfPlaylist> *, enum SmfError, struct SmfResultPage)
+ ?trackSearchAvailable@SmfMusicSearch@@IAEXPAV?$QList@VSmfTrackInfo@@@@W4SmfError@@USmfResultPage@@@Z @ 236 NONAME ; void SmfMusicSearch::trackSearchAvailable(class QList<class SmfTrackInfo> *, enum SmfError, struct SmfResultPage)
+ ?qt_metacast@SmfContactFetcher@@UAEPAXPBD@Z @ 237 NONAME ; void * SmfContactFetcher::qt_metacast(char const *)
+ ?upload@SmfGallery@@QAEXPAVSmfPicture@@PAVSmfPictureAlbum@@@Z @ 238 NONAME ; void SmfGallery::upload(class SmfPicture *, class SmfPictureAlbum *)
+ ??_ESmfMusicEvents@@UAE@I@Z @ 239 NONAME ; SmfMusicEvents::~SmfMusicEvents(unsigned int)
+ ?get@SmfRelationMgr@@QAEPAVSmfRelationItem@@AAVQString@@I@Z @ 240 NONAME ; class SmfRelationItem * SmfRelationMgr::get(class QString &, unsigned int)
+ ?searchById@SmfRelationMgr@@QAEPAVSmfRelationItem@@ABVQString@@@Z @ 241 NONAME ; class SmfRelationItem * SmfRelationMgr::searchById(class QString const &)
+ ?associate@SmfRelationMgr@@QAE?AW4SmfError@@AAVQString@@PBVSmfContact@@PAVSmfProvider@@@Z @ 242 NONAME ; enum SmfError SmfRelationMgr::associate(class QString &, class SmfContact const *, class SmfProvider *)
+ ?postAppearence@SmfPostProvider@@QAE_NW4SmfAppearenceInfo@@ABVQString@@@Z @ 243 NONAME ; bool SmfPostProvider::postAppearence(enum SmfAppearenceInfo, class QString const &)
--- a/smf/smfservermodule/smfclient/client/client.pri Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-INCLUDEPATH += client \
- ./
-
-PUBLIC_HEADERS += client/smfclient.h \
- client/smfcontactfetcher.h \
- client/smfpostprovider.h \
- client/smfgallery.h \
- client/smfrelationmgr.h \
- client/smfmusic.h \
- client/smfactivityfetcher.h
-
-PRIVATE_HEADERS += client/smfclient_p.h \
- client/smfcontactfetcher_p.h \
- client/smfpostprovider_p.h \
- client/smfgallery_p.h \
- client/smfrelationmgr_p.h \
- client/smfmusic_p.h \
- client/smfactivityfetcher_p.h
-
-SOURCES += client/smfrelationmgr_p.cpp \
- client/smfrelationmgr.cpp \
- client/smfgallery.cpp \
- client/smfgallery_p.cpp \
- client/smfpostprovider.cpp \
- client/smfpostprovider_p.cpp \
- client/smfmusic.cpp \
- client/smfclient.cpp \
- client/smfclient_p.cpp \
- client/smfcontactfetcher.cpp \
- client/smfcontactfetcher_p.cpp \
- client/smfmusic_p.cpp \
- client/smfactivityfetcher.cpp \
- client/smfactivityfetcher_p.cpp
-
-symbian: {
- BLD_INF_RULES.prj_exports += client/smfclient.h
- BLD_INF_RULES.prj_exports += client/smfclient_p.h
- BLD_INF_RULES.prj_exports += client/smfcontactfetcher.h
- BLD_INF_RULES.prj_exports += client/smfcontactfetcher_p.h
- BLD_INF_RULES.prj_exports += client/smfclientsymbian.h
- BLD_INF_RULES.prj_exports += client/smfclientsymbiansession.h
- BLD_INF_RULES.prj_exports += client/smfpostprovider.h
- BLD_INF_RULES.prj_exports += client/smfpostprovider_p.h
- BLD_INF_RULES.prj_exports += client/smfgallery.h
- BLD_INF_RULES.prj_exports += client/smfgallery_p.h
- BLD_INF_RULES.prj_exports += client/smfrelationmgr.h
- BLD_INF_RULES.prj_exports += client/smfrelationmgr_p.h
- BLD_INF_RULES.prj_exports += client/smfmusic.h
- BLD_INF_RULES.prj_exports += client/smfmusic_p.h
- BLD_INF_RULES.prj_exports += client/smfactivityfetcher.h
- BLD_INF_RULES.prj_exports += client/smfactivityfetcher_p.h
-
- PUBLIC_HEADERS += client/smfclientsymbian.h \
- client/smfclientsymbiansession.h
-
- SOURCES += client/smfclientsymbian.cpp
-}
-else {
- PRIVATE_HEADERS += client/smfclientqt.h
- SOURCES += client/smfclientqt.cpp
-}
\ No newline at end of file
--- a/smf/smfservermodule/smfclient/client/smfactivityfetcher.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/**
- * 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
- *
- * Description:
- * Represents activity in terms similar to standard activity stream http://activitystrea.ms/
- */
-
-#include "smfactivityfetcher.h"
-#include "smfactivityfetcher_p.h"
-
-SmfActivityFetcher::SmfActivityFetcher(SmfProvider *baseprovider)
-:m_baseProvider(baseprovider)
-{
- //creating private impl wrapper
- m_private = new SmfActivityFetcherPrivate(this);
-}
-
-SmfActivityFetcher::~SmfActivityFetcher()
-{
-
-}
-
-void SmfActivityFetcher::selfActivities(int pageNum, int perPage)
-{
- m_private->selfActivities(pageNum,perPage);
-}
-
-SmfProvider *SmfActivityFetcher::getProvider()
-{
- return m_baseProvider;
-}
-
-void SmfActivityFetcher::filtered(QList<SmfActivityObjectType> filters, int pageNum, int perPage)
-{
- m_private->filtered(filters,pageNum,perPage);
-}
-
-void SmfActivityFetcher::friendsActivities(const SmfContact & aFriend, int pageNum, int perPage)
-{
- m_private->friendsActivities(aFriend,pageNum,perPage);
-}
--- a/smf/smfservermodule/smfclient/client/smfactivityfetcher.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/**
- * 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
- *
- * Description:
- * Represents activity in terms similar to standard activity stream http://activitystrea.ms/
- */
-
-#ifndef SMFACTIVITYFETCHER_H_
-#define SMFACTIVITYFETCHER_H_
-
-#include <QObject>
-#include <QList>
-#include <qmobilityglobal.h>
-
-#include "smfglobal.h"
-#include "smfprovider.h"
-#include "smfcontact.h"
-#include "smfevent.h"
-#include "smfactions.h"
-
-typedef QList<SmfActivityEntry> SmfActivityEntryList;
-class SmfActivityFetcherPrivate;
-/**
- * @ingroup smf_client_group
- * Basic activity service ("org.symbian.smf.client.activity.fetcher")
- */
-class SMFCLIENT_EXPORT SmfActivityFetcher : public QObject
- {
- Q_OBJECT
-
-public:
-
- /**
- * Constructs SmfActivity.
- * @param baseProvider The base provider info
- */
- SmfActivityFetcher(SmfProvider* baseprovider = 0);
-
- ~SmfActivityFetcher();
-
-public slots:
- /**
- * Emits signal resultsAvailable() when list of activities for the user is available
- */
- void selfActivities(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Emits signal resultsAvailable() when list of activities for other contact is available
- */
- void friendsActivities(const SmfContact& aFriend,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * returns only those activities (self) which are from @arg filters
- */
- void filtered(QList<SmfActivityObjectType> filters,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
-
-signals:
-
- /**
- * Signals availability of the result of the previous query
- */
- void resultsAvailable(SmfActivityEntryList* entries, SmfError error, SmfResultPage resultPage);
-private:
- SmfActivityFetcherPrivate* m_private;
- SmfProvider* m_baseProvider;
- friend class SmfActivityFetcherPrivate;
- };
-
-SMF_SERVICE_NAME(SmfActivityFetcher, "org.symbian.smf.client.activity.fetcher\0.2")
-
-#endif /* SMFACTIVITYFETCHER_H_ */
--- a/smf/smfservermodule/smfclient/client/smfactivityfetcher_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/**
- * 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
- *
- * Description:
- *
- */
-#include <QDebug>
-#include "smfactivityfetcher_p.h"
-#ifdef Q_OS_SYMBIAN
-#include "smfclientsymbian.h"
-#else
-#include "SmfClientQt.h"
-#endif
-SmfActivityFetcherPrivate::SmfActivityFetcherPrivate(SmfActivityFetcher *activityFetcher)
-:m_activityFetcher(activityFetcher)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #else
- //TODO:- Qt private impl
- #endif
- }
-
-SmfActivityFetcherPrivate::~SmfActivityFetcherPrivate()
- {
- if(m_SmfClientPrivate)
- {
- delete m_SmfClientPrivate;
- m_SmfClientPrivate = NULL;
- }
- }
-
-void SmfActivityFetcherPrivate::friendsActivities(const SmfContact & aFriend, int pageNum, int perPage)
- {
- m_xtraInfoSerialized.clear();
- m_baseProvider = m_activityFetcher->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- //SmfProvider
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
-
- QDataStream xtraInfoWrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
-
- xtraInfoWrite<<aFriend;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- //serialize end
- QString intfName(activityFetcherInterface);
- int max = MaxSmfActivityEntrySize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfActivityFriendsActivities,max,m_xtraInfoSerialized);
- }
-
-void SmfActivityFetcherPrivate::filtered(QList<SmfActivityObjectType> filters, int pageNum, int perPage)
- {
- m_xtraInfoSerialized.clear();
- m_baseProvider = m_activityFetcher->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- //SmfProvider
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
-
- QDataStream xtraInfoWrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
-
- xtraInfoWrite<<filters;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- //serialize end
- QString intfName(activityFetcherInterface);
- int max = MaxSmfActivityEntrySize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfActivityFiltered,max,m_xtraInfoSerialized);
- }
-
-void SmfActivityFetcherPrivate::selfActivities(int pageNum, int perPage)
- {
- m_xtraInfoSerialized.clear();
- m_baseProvider = m_activityFetcher->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- //SmfProvider
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
-
- m_xtraInfoFlag = 0;
- write<<m_xtraInfoFlag;
- //serialize end
- QString intfName(activityFetcherInterface);
- int max = MaxSmfActivityEntrySize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfActivitySelfActivity,max);
- }
-void SmfActivityFetcherPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error)
- {
- qDebug()<<"SmfPostProviderPrivate::resultsAvailable";
- qDebug()<<"opcode=";
- qDebug()<<QString::number(opcode);
- QDataStream reader(&result,QIODevice::ReadOnly);
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfActivityFriendsActivities:
- case SmfActivityFiltered:
- case SmfActivitySelfActivity:
- {
- if(m_entries)
- {
- delete m_entries;
- m_entries = NULL;
- }
-
- m_entries = new SmfActivityEntryList;
- reader>>*(m_entries);
- //not incorporating paging now
- SmfResultPage page;
-
- emit m_activityFetcher->resultsAvailable(m_entries,error,page);
- }
- break;
- default:
- Q_ASSERT_X(1,"SmfActivityFetcherPrivate::resultsAvailable","default case");
- }
- }
-
-
-
--- a/smf/smfservermodule/smfclient/client/smfactivityfetcher_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/**
- * 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
- *
- * Description:
- *
- */
-
-#ifndef SMFACTIVITYFETCHER_P_H_
-#define SMFACTIVITYFETCHER_P_H_
-
-#include <QObject>
-#include <QList>
-
-#include "smfactivityfetcher.h"
-#include "smfglobal.h"
-#include "smfprovider.h"
-#include "smfcontact.h"
-#include "smfevent.h"
-#include "smfactions.h"
-#include "smfobserver.h"
-
-#ifdef Q_OS_SYMBIAN
-class CSmfClientSymbian;
-#else
-class SmfClientQt;
-#endif
-
-class SmfActivityFetcherPrivate : public smfObserver
- {
- Q_OBJECT
-
-public:
-
- /**
- * Constructs SmfActivityFetcherPrivate.
- *
- */
- SmfActivityFetcherPrivate(SmfActivityFetcher* activityFetcher);
-
- ~SmfActivityFetcherPrivate();
- /**
- * Emits signal resultsAvailable() when list of activities for the user is available
- */
- void selfActivities(int pageNum,int perPage);
-
- /**
- * Emits signal resultsAvailable() when list of activities for other contact is available
- */
- void friendsActivities(const SmfContact& aFriend,int pageNum,int perPage);
-
- /**
- * returns only those activities (self) which are from @arg filters
- */
- void filtered(QList<SmfActivityObjectType> filters,int pageNum,int perPage);
- /**
- * From smfObserver.
- * To notify availibility of asynchronous requests.
- * @param result Requested result, before using must check error param.
- * @param opcode Requested opcode, for which the result has arrived.
- *
- */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
-private:
- SmfActivityFetcher* m_activityFetcher;
- SmfActivityEntryList* m_entries;
-#ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
-#else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
-#endif
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- };
-
-#endif /* SMFACTIVITYFETCHER_P_H_ */
--- a/smf/smfservermodule/smfclient/client/smfclient.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/**
- * 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
- */
-#include "smfclient.h"
-#include "smfclient_p.h"
-
-
-SmfClient::SmfClient()
- {
- writeLog("SmfClient::SmfClient");
- //Create instance of the private wrapper
- m_private = new SmfClientPrivate(this);
- m_providerList = NULL;
- }
-SmfClient::~SmfClient()
- {
- if(m_private)
- {
- delete m_private;
- m_private = NULL;
- }
- }
-
-QList<SmfProvider>* SmfClient::GetServices(const QString& serviceName)
- {
- writeLog("SmfClient::GetServices");
- if(m_providerList)
- {
- delete m_providerList;
- m_providerList = NULL;
- }
- writeLog("Before m_private->GetServices");
- //Getting the data synchronously
- m_providerList = m_private->GetServices(serviceName);
- writeLog("After m_private->GetServices");
- return m_providerList;
- }
-void SmfClient::writeLog(QString log) const
- {
-#ifdef WRITE_LOG
- QFile file("c:\\data\\SmfClientLogs.txt");
- if (!file.open(QIODevice::Append | QIODevice::Text))
- ;
- QTextStream out(&file);
- out << log << "\n";
- file.close();
-#endif
- }
--- a/smf/smfservermodule/smfclient/client/smfclient.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/**
- * 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:
- * The SmfClient class provides a set of APIs to get list of service provider
- * who implement the given interface. Calling GetServices of the instance of this
- * class is mandatory before using any other interface.
- *
- */
-
-#ifndef SMFCLIENT_H
-#define SMFCLIENT_H
-
-#include <QObject>
-#include "smfclientglobal.h"
-
-#ifdef WRITE_LOG
-#include <QFile>
-#include <QTextStream>
-#endif
-//Forward declarations
-class SmfProvider;
-class SmfClientPrivate;
-/**
- * @ingroup smf_client_group
- * Interface for a base service provider. Other service provider classes contains
- * implementation of this base class so that each has access to service provider
- * information.
- * All of the functionality described here should be implemented by a service
- * specific plug-in object.
- */
-class SMFCLIENT_EXPORT SmfClient
-{
-
-public:
- /**
- * Constructs SmfClient
- */
- SmfClient();
- ~SmfClient();
- /**
- * @param name of the service
- * @return service provider list
- *
- * More overloaded APIs will be provided later
- */
- QList<SmfProvider>* GetServices(const QString& serviceName);
- //QList<SmfProvider>* GetServices(const QString& serviceName, const QString& providerName);
- //QList<SmfProvider>* GetServices(const QString& serviceName, const SmfProvider& provider);
-
- /**
- * Debugging purpose only
- */
- void writeLog(QString log)const;
-private:
- /**
- * Private impl wrapper.
- */
- SmfClientPrivate* m_private;
- /**
- * List of SmfProvider to be returned to the requested code
- */
- QList<SmfProvider>* m_providerList;
-
-};
-
-
-#endif // SMFCLIENT_H
--- a/smf/smfservermodule/smfclient/client/smfclient_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/**
- * 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
- */
-
-#include "smfclient_p.h"
-
-SmfClientPrivate::SmfClientPrivate(SmfClient* client):m_client(client)
- {
- m_client->writeLog("SmfClientPrivate::SmfClientPrivate");
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #else
- m_SmfClientPrivate = new SmfClientQt(this);
- #endif
-
- }
-QList<SmfProvider>* SmfClientPrivate::GetServices(const QString serviceName)
- {
- m_client->writeLog("SmfClientPrivate::GetServices");
- m_baseProvider = NULL;
-
- QString intfName(serviceName);
-
- m_providerSerialized.clear();
- m_client->writeLog("Before m_SmfClientPrivate->sendRequest");
- //Getting the serialized list of SmfProvider synchronously
- //TODO:- Max size for SmfProviderList 1000
- m_providerSerialized = m_SmfClientPrivate->sendRequest(intfName,SmfGetService,1000);
- if(m_baseProvider)
- {
- delete m_baseProvider;
- m_baseProvider = NULL;
- }
- m_baseProvider = new QList<SmfProvider>;
- //De-serialize it into QList <SmfProvider>
- QDataStream reader(&m_providerSerialized,QIODevice::ReadOnly);
- reader>>*(m_baseProvider);
- return m_baseProvider;
- }
-//This api is not reqd as result will be synchronous
-void SmfClientPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
- {
-
- }
--- a/smf/smfservermodule/smfclient/client/smfclient_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/**
- * 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
- */
-
-#ifndef SMFCLIENT_P_H_
-#define SMFCLIENT_P_H_
-
-#include "smfprovider.h"
-#include "smfobserver.h"
-#include <QObject>
-#include <QDateTime>
-#include <QStringList>
-#include "smfclient.h"
-#include "smfclientglobal.h"
-#include "smfglobal.h"
-#ifdef Q_OS_SYMBIAN
-#include "smfclientsymbian.h"
-#else
-#include "smfclientqt.h"
-#endif
-/**
- * Private Qt wrapper
- * Provided to accomodate diff facilities in diff platforms.
- * Uses Symbian client-server for Symbian
- * QDbus for linux
- * QLocalserver for rest of the platforms
- * Note:- only symbian client-server impl is provided at the moment
- */
-class SmfClientPrivate : public smfObserver
-{
- Q_OBJECT
-
-public:
-
- /**
- * Constructs SmfClientPrivate
- * @param client SmfClient instance, so that it can directly emit SmfClient's signal
- */
- SmfClientPrivate(SmfClient* client=0);
- ~SmfClientPrivate(){};
-public:
- /**
- * Corresponds to SmfClient::GetServices(const QString )
- */
- QList<SmfProvider>* GetServices(const QString serviceName);
- /**
- * From smfobserver.
- * This callback is invoked when requested result is available from
- * other components of Smf (specially from plugin manager).
- * @param result Parsed and serialized result.
- * @param opcode Request code.
- * @param error Error
- */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
-private:
- QList<SmfProvider>* m_baseProvider;
- //serialized byte array of provider
- QByteArray m_providerSerialized;
-#ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
-#else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
-#endif
- bool m_connected;
- SmfClient* m_client;
- //debugging only
- void writeLog(QString log) const;
-
-};
-
-#endif /* SMFCLIENT_P_H_ */
--- a/smf/smfservermodule/smfclient/client/smfclientqt.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/**
- * 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
- */
-
-#include "smfclientqt.h"
-
-SmfClientQt::SmfClientQt(QObject *parent)
- : QObject(parent)
-{
- m_serverConnection = new QLocalSocket();
-
- connect(m_serverConnection, SIGNAL(connected()), this, SLOT(connectionEstablished()));
- connect(m_serverConnection, SIGNAL(readyRead()), this, SLOT(readIncomingData()));
- connect(m_serverConnection, SIGNAL(error(QLocalSocket::LocalSocketError)),
- this, SLOT(handleError(QLocalSocket::LocalSocketError)));
-
- m_serverConnection->connectToServer("SmfServerQt", QIODevice::ReadWrite);
-}
-
-SmfClientQt::~SmfClientQt()
-{
- m_serverConnection->close();
- delete m_serverConnection;
-}
-
-/**
- * Send a request to the server.
- * @param aSerializedData serialized by the caller.
- * @param aInterfaceName Interface name
- * @param requestType Opcode
- */
-int SmfClientQt::sendRequest(QByteArray& serializedData, QString interfaceName,
- SmfRequestTypeID requestType)
-{
- QDataStream out(m_serverConnection);
- out << requestType;
- out << interfaceName;
- out << serializedData.size();
- out << serializedData;
-}
-
-/**
- * This overloaded API is for ESmfGetServices, where data should be
- * fetched synchronously
- */
-QByteArray SmfClientQt::sendRequest(QString interfaceName,
- SmfRequestTypeID requestType)
-{
- QDataStream out(m_serverConnection);
- out << requestType;
- out << interfaceName;
-
- // TODO: This needs to be asynchronous. Remove this wait when user API is updated.
- m_serverConnection->waitForBytesWritten(-1);
-
- QByteArray in;
- out >> in;
- return in;
-}
-
-/**
- * For testing purpose only
- */
-int SmfClientQt::sendDummyRequest(QByteArray* provider,QString aInterfaceName,
- SmfRequestTypeID requestType)
-{
- Q_UNUSED(provider);
- Q_UNUSED(aInterfaceName);
- Q_UNUSED(requestType);
-}
-
-/**
-* CancelRequest.
-* Cancels an outstanding request.
-*/
-void SmfClientQt::CancelRequest()
-{
-
-}
-
-void SmfClientQt::connectionEstablished()
-{
- qDebug() << "Connected to server successfully.";
-}
-
-void SmfClientQt::readIncomingData()
-{
-}
-
-void SmfClientQt::handleError(QLocalSocket::LocalSocketError error)
-{
- switch(error)
- {
- case QLocalSocket::ServerNotFoundError:
- qDebug() << "Server not found.";
- break;
- default:
- qDebug() << "Unhandled socket error";
- break;
- }
-}
--- a/smf/smfservermodule/smfclient/client/smfclientqt.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/**
- * 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
- */
-
-#ifndef SMFCLIENTQT_H
-#define SMFCLIENTQT_H
-
-#include <QObject>
-#include <QByteArray>
-#include <QString>
-#include <QLocalSocket>
-
-#include "smfglobal.h"
-
-class SmfClientQt : public QObject
-{
-Q_OBJECT
-
-public:
- explicit SmfClientQt(QObject *parent = 0);
- ~SmfClientQt();
-
-public:
- /**
- * Send a request to the server.
- * @param aSerializedData serialized by the caller.
- * @param aInterfaceName Interface name
- * @param requestType Opcode
- */
- int sendRequest(QByteArray& aSerializedData,
- QString aInterfaceName,
- SmfRequestTypeID requestType);
-
- /**
- * This overloaded API is for ESmfGetServices, where data should be
- * fetched synchronously
- */
- QByteArray sendRequest(QString aInterfaceName,
- SmfRequestTypeID requestType);
-
- /**
- * For testing purpose only
- */
- int sendDummyRequest(QByteArray* provider,QString aInterfaceName,
- SmfRequestTypeID requestType);
-
- /**
- * CancelRequest.
- * Cancels an outstanding request.
- */
- void CancelRequest();
-
-private slots:
- void connectionEstablished();
- void readIncomingData();
- void handleError(QLocalSocket::LocalSocketError error);
-
-private:
- QLocalSocket *m_serverConnection;
-};
-
-#endif // SMFCLIENTQT_H
--- a/smf/smfservermodule/smfclient/client/smfclientsymbian.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,546 +0,0 @@
-/**
- * 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
- */
-
-#include "smfclientsymbian.h"
-#include <e32cmn.h>
-#include <QtGlobal>
-#include <e32svr.h>
-#include <e32base.h>
-#include <QByteArray>
-#include "smfglobal.h"
-#include "smfclientglobal.h"
-//testing purpose
-#include <QProcess>
-#include <QTextStream>
-#include <QFile>
-//testing end
-// For starting the server process
-static TInt StartServer();
-static TInt CreateServerProcessL();
-
-CSmfClientSymbian::CSmfClientSymbian(smfObserver* aObserver)
-: iObserver(aObserver),CActive( EPriorityStandard ),iDataPtr(NULL, 0, 0)
- {
- CActiveScheduler::Add(this);
- }
-
-CSmfClientSymbian* CSmfClientSymbian::NewL(smfObserver* aObserver )
- {
- CSmfClientSymbian* self = NewLC( aObserver );
- CleanupStack::Pop( self );
- return( self ) ;
- }
-
-CSmfClientSymbian* CSmfClientSymbian::NewLC(smfObserver* aObserver )
- {
- CSmfClientSymbian* self =
- new ( ELeave ) CSmfClientSymbian( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-void CSmfClientSymbian::ConstructL()
- {
- writeLog("CSmfClientSymbian::ConstructL");
-
- User::LeaveIfError(iSession.connectToServer());
- }
-void CSmfClientSymbian::writeLog(QString log)
- {
-#ifdef WRITE_LOG
- QFile file("c:\\data\\SmfClientLogs.txt");
- if (!file.open(QIODevice::Append | QIODevice::Text))
- return;
- QTextStream out(&file);
- out << log << "\n";
- file.close();
-#endif
- }
-
-void CSmfClientSymbian::DoCancel()
- {
- Cancel();
- }
-
-TInt CSmfClientSymbian::RunError(TInt aError)
- {
- QString log2("CSmfClientSymbian::RunError=");
-
- log2 += QString::number(aError);
- writeLog(log2);
- return KErrNone;
- }
-
-void CSmfClientSymbian::RunL()
- {
- QString log2("CSmfClientSymbian::RunL=");
- log2 += QString::number(iStatus.Int());
- writeLog(log2);
- switch ( iStatus.Int() )
- {
- case KErrCancel:
- // The request was canceled
- writeLog("KErrCancel");
- break ;
-
- case KErrNotReady:
- writeLog("KErrNotReady");
- break;
-
- default:
- {
- writeLog("RunL:-default");
- //This contains error followed by actual data
- QByteArray receivedData(reinterpret_cast<const char*>(iSession.iDataPtr.Ptr()),iSession.iDataPtr.Length());
- writeLog("receivedData size=");
- writeLog(QString::number(receivedData.size()));
- SmfError errVal;
- int errInt;
- QByteArray data;
- QDataStream reader(&receivedData,QIODevice::ReadOnly);
- reader>>errInt;
- writeLog("errInt=");
- writeLog(QString::number(errInt));
- errVal = (SmfError)errInt;
- reader>>data;
- writeLog("data size=");
- writeLog(QString::number(data.size()));
- SmfRequestTypeID opcode = (SmfRequestTypeID)iSession.getLastRequest();
- if(iObserver)
- {
- iObserver->resultsAvailable(data,opcode,errVal);
- }
- }
- break;
- }
- }
-
-QByteArray CSmfClientSymbian::sendRequest(QString aInterfaceName,
- SmfRequestTypeID requestType,TInt maxSize)
- {
- //This will be a synchronous request
- //note session is opened in ctor and closed in dtor
- writeLog("CSmfClientSymbian::sendRequest=");
- writeLog(aInterfaceName);
- //Gets data synchronously from the server
- TPtr8 symbianBuf(iSession.sendSyncRequest(aInterfaceName,requestType,maxSize));
- //convert this into bytearray
- QByteArray receivedData(reinterpret_cast<const char*>(symbianBuf.Ptr()),symbianBuf.Length());
- return receivedData;
- //
- }
-QByteArray CSmfClientSymbian::sendDSMSyncRequest(SmfRequestTypeID requestType,QByteArray& aSerializedData,SmfError& aErr,TInt maxSize)
- {
- writeLog("CSmfClientSymbian::sendDSMSyncRequest=");
- writeLog(QString::number(requestType));
- SmfError err;
- //Gets data synchronously from the server
- TPtr8 symbianBuf(iSession.sendDSMSyncRequest(requestType,aSerializedData,err,maxSize));
- //convert this into bytearray
- QByteArray receivedData(reinterpret_cast<const char*>(symbianBuf.Ptr()),symbianBuf.Length());
- writeLog("receivedData size=");
- writeLog(QString::number(receivedData.size()));
- return receivedData;
- }
-TInt CSmfClientSymbian::sendRequest(QByteArray& aSerializedData,
- QString aInterfaceName,
- SmfRequestTypeID requestType,TInt aMaxAllocation,QByteArray xtraInfo)
- {
- //RSessionBase objects sendreceive is called
- iSession.sendAsyncRequest(aSerializedData,aInterfaceName,requestType,iStatus,aMaxAllocation,xtraInfo);
- SetActive();
- }
-
-TInt CSmfClientSymbian::sendDummyRequest(QByteArray* provider,QString aInterfaceName,
- SmfRequestTypeID requestType)
- {
- switch(requestType)
- {
- case SmfTest:
- {
-
- }
- break;
- default:
- //should panic
- break;
- }
- }
-
-CSmfClientSymbian::~CSmfClientSymbian()
- {
- writeLog("~CSmfClientSymbian");
- Cancel(); // Causes call to DoCancel()
- iSession.Close();
- }
-
-RSmfClientSymbianSession::RSmfClientSymbianSession()
-:iDataPtr(NULL, 0, 0),iDataPtr16(NULL,0),
- iIntfNamePtr(NULL,0),iIntfNamePtr8(NULL,0),
- iPtrProvider(NULL,0),iPtrToSlot0(NULL,0)
- {
- // No implementation required
- }
-
-TInt RSmfClientSymbianSession::connectToServer()
- {
- writeLog("RSmfClientSymbianSession::connectToServer");
- TInt error = ::StartServer();
- writeLog("StartServerL=");
- QString err = QString::number(error);
- writeLog(err);
- if ( KErrNone == error )
- {
-
- error = CreateSession(KSmfServerName,
- Version(),
- 4 );
- QString crtSessionErr = QString::number(error);
- writeLog(crtSessionErr);
- }
- return error;
- }
-
-//testing
-void RSmfClientSymbianSession::writeLog(QString log) const
- {
-#ifdef WRITE_LOG
- QFile file("c:\\data\\SmfClientLogs.txt");
- if (!file.open(QIODevice::Append | QIODevice::Text))
- ;
- QTextStream out(&file);
- out << log << "\n";
- file.close();
-#endif
- }
-/**
- * Sends sync request to the Smf server
- */
-TPtr8 RSmfClientSymbianSession::sendDSMSyncRequest(SmfRequestTypeID aRequestType,
- QByteArray& aSerializedData,SmfError aErr,
- TInt maxSize)
- {
- /**
- * Slot 0:- Data to be passed to DSM
- * Slot 1:- Data returned from DSM
- * Slot 2:- Error
- */
- writeLog("RSmfClientSymbianSession::sendDSMSyncRequest");
- iLastRequest = aRequestType;
- if(iSlot0Buffer)
- {
- delete iSlot0Buffer;
- iSlot0Buffer = NULL;
- }
- iSlot0Buffer = HBufC8::NewL(aSerializedData.size());
- iPtrToSlot0.Set(iSlot0Buffer->Des());
- if(iBuffer)
- {
- delete iBuffer;
- iBuffer = NULL;
- }
- iBuffer = HBufC8::NewL(maxSize);
- iDataPtr.Set(iBuffer->Des());
-
- TIpcArgs args;
-
- args.Set(0, &iPtrToSlot0);
- args.Set(1, &iDataPtr);
- iDSMErr.Zero();
- args.Set(2,&iDSMErr);
-
- TInt sendErr = SendReceive(aRequestType,args);
- writeLog("SendReceive=");
- writeLog(QString::number(sendErr));
- TInt numIndex;
- TLex iLex(iDSMErr);
-
- iLex.Val(numIndex);
- aErr = (SmfError)numIndex;
- return iDataPtr;
- }
-TPtr8 RSmfClientSymbianSession::sendSyncRequest(QString aInterfaceName,
- SmfRequestTypeID aRequestType,
- TInt maxSize)
- {
- iLastRequest = aRequestType;
- /**
- * The message body consists of.-
- * 1. Interface name as string ("org.symbian.smf.client.gallery")
- * 2. Data pointer to be filled by serialized data(QList<smfProvider>)
- */
- QString log("RSmfClientSymbianSession::sendSyncRequest-start-");
- writeLog(log);
- writeLog(QString("aInterfaceName=")+aInterfaceName);
-
- iInterfaceNamebyte.clear();
- //Convert the interface name into TPtr
- iInterfaceName.clear();
- iInterfaceName = aInterfaceName ;
- writeLog(QString("iInterfaceName=")+iInterfaceName);
- //lets pass serialized QString
- QDataStream intfNameStream(&iInterfaceNamebyte,QIODevice::WriteOnly);
- intfNameStream<<iInterfaceName;
- log.clear();
- log = QString("iInterfaceNamebyte size=");
- log += QString::number(iInterfaceNamebyte.size());
- writeLog(log);
- if(iIntfNameBuffer8)
- {
- delete iIntfNameBuffer8;
- iIntfNameBuffer8 =NULL;
- }
- TInt serializedintfsize = iInterfaceNamebyte.size();
- writeLog("iInterfaceNamebyte.size()=");
- writeLog(QString::number(serializedintfsize));
- iIntfNameBuffer8 = HBufC8::NewL(iInterfaceNamebyte.size()*2);
- iIntfNamePtr8.Set(iIntfNameBuffer8->Des());
- iIntfNamePtr8.Copy(reinterpret_cast<TUint8*>(iInterfaceNamebyte.data()),iInterfaceNamebyte.length());
- log.clear();
- log = QString("iIntfNamePtr8 size=")+QString::number(iIntfNamePtr8.Size());
- writeLog(log);
-
- writeLog("Before provider symbian copy");
-
-
- iInterfaceSymbian8.Copy(iIntfNamePtr8);
- if(iBuffer)
- {
- delete iBuffer;
- iBuffer = NULL;
- }
- writeLog("Allocated for SmfProviderList=");
- writeLog(QString::number(maxSize));
- if(iBuffer)
- {
- delete iBuffer;
- iBuffer = NULL;
- }
- iBuffer = HBufC8::NewL(maxSize);
- iDataPtr.Set(iBuffer->Des());
- log.clear();
- log = QString("After iDataPtr.Set");
- writeLog(log);
-
-
- TIpcArgs args;
-
- args.Set(0, &iInterfaceSymbian8);
- args.Set(1, &iDataPtr);
- if(maxSize)
- {
- iMaxSize = maxSize;
- args.Set(2,iMaxSize);
- }
- TInt err(KErrBadHandle);
- writeLog("Before handle");
- log.clear();
- log = QString("iInterfaceSymbian8 size=")+QString::number(iInterfaceSymbian8.Size());
- writeLog(log);
- if (Handle())
- {
- err = KErrNone;
- log.clear();
- log = QString("Before sendreceive");
- writeLog(log);
- //synchronous request
- TInt sendErr = SendReceive(aRequestType, args);
- if(sendErr)
- {
- writeLog("SendReceive error=");
- QString errStr = QString::number(sendErr);
- writeLog(errStr);
- }
- return iDataPtr;
- }
- }
-
-/**
- * Calls SendReceive() after converting into symbian descriptors
- *
- */
-void RSmfClientSymbianSession::sendAsyncRequest(QByteArray& aSerializedData,
- QString aInterfaceName,
- SmfRequestTypeID aRequestType,
- TRequestStatus& aStatus,
- TInt aMaxAllocation,
- QByteArray aXtraInfo)
- {
- /**
- * The message body consists of.-
- * Modified,-
- * slot 0 = SmfProvider +PageInfo flag+ aPageNum + aPerPage + XtraInfo flag(size of xtra data) Serialized
- * slot 1 = Interface name serialized
- * slot 2 = Data pointer to filled by server
- * slot 3= Xtra info when required by server else empty buffer
- */
- writeLog("RSmfClientSymbianSession::sendAsyncRequest-start-");
- iLastRequest = aRequestType;
-
-
-
-
- if(iProviderBuf)
- {
- delete iProviderBuf;
- iProviderBuf = NULL;
- }
- iProviderBuf = HBufC8::NewL(aSerializedData.size());
- iPtrProvider.Set(iProviderBuf->Des());
- iPtrProvider.Copy(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
-
-
-
-
- //convert the QByteArray into TPtr
- TPtrC8 ptrSlot0(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
- writeLog("ptrSlot0 size=");
- writeLog(QString::number(ptrSlot0.Size()));
- //Convert the interface name into TPtr
- iInterfaceName.clear();
- iInterfaceName.append(aInterfaceName) ;
- writeLog(QString("iInterfaceName=")+iInterfaceName);
- iInterfaceNamebyte.clear();
- //Pass serialized QString for interface name
- QDataStream intfNameStream(&iInterfaceNamebyte,QIODevice::WriteOnly);
- intfNameStream<<iInterfaceName;
- writeLog("iInterfaceNamebyte size=");
- writeLog(QString::number(iInterfaceNamebyte.size()));
- if(iIntfNameBuffer8)
- {
- delete iIntfNameBuffer8;
- iIntfNameBuffer8 = NULL;
- }
- iIntfNameBuffer8 = HBufC8::NewL(iInterfaceNamebyte.size());
- iIntfNamePtr8.Set(iIntfNameBuffer8->Des());
- iIntfNamePtr8.Copy(reinterpret_cast<const TText8*>(iInterfaceNamebyte.constData()),iInterfaceNamebyte.length());
- writeLog("After iIntfNamePtr8.Copy");
- if(iBuffer)
- {
- delete iBuffer;
- iBuffer = NULL;
- }
- iBuffer = HBufC8::NewL(aMaxAllocation);
- iDataPtr.Set(iBuffer->Des());
- writeLog("After iDataPtr.Set");
- TIpcArgs args;
-
- //filling the slots
- args.Set(0, &iPtrProvider);
- args.Set(1, &iIntfNamePtr8);
- args.Set(2, &iDataPtr);
- writeLog("After setting 0,1,2 slots");
- if(aXtraInfo.size())
- {
- TPtrC8 ptrToXtraInfo(reinterpret_cast<const TText8*>(aXtraInfo.constData()),aXtraInfo.length());
- writeLog("ptrToXtraInfo size=");
- writeLog(QString::number(ptrToXtraInfo.Size()));
- args.Set(3, &ptrToXtraInfo);
- }
- TInt err(KErrBadHandle);
- writeLog("Before Handle()");
- if (Handle())
- {
- err = KErrNone;
- writeLog("Before sendreceive");
- SendReceive(aRequestType, args, aStatus);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CreateServerProcessL()
-// Creates a server process
-// -----------------------------------------------------------------------------
-//
-static TInt CreateServerProcessL()
- {
- TInt result;
- TUid KSmfServerUID3 = { 0xE5027327 };
- const TUidType serverUid( KNullUid, KNullUid, KSmfServerUID3 );
-
- RProcess server;
-
- result = server.Create( KSmfServerFilename, KNullDesC, serverUid );
-
- if ( result != KErrNone )
- {
- return result;
- }
-
- server.Resume();
- server.Close();
-
- return KErrNone;
- }
-static TInt StartServer()
- {
- TInt result;
-
- TFindServer findSmfServer( KSmfServerFilename );
- TFullName name;
-
- result = findSmfServer.Next( name );
- if ( result == KErrNone )
- {
- // Server already running
- return KErrNone;
- }
-
- RSemaphore semaphore;
- result = semaphore.CreateGlobal( KSmfServerSemaphoreName, 0 );
- if ( result != KErrNone )
- {
- return result;
- }
-
- result = CreateServerProcessL();
- if ( result != KErrNone )
- {
- return result;
- }
-
- semaphore.Wait();
- semaphore.Close();
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CreateServerProcess()
-// Creates a server process
-// -----------------------------------------------------------------------------
-//
-static TInt CreateServerProcess()
- {
- TInt result;
- //SmfServer SID
- TUid KSmfServerUID3 = { 0xE5027327 };
- const TUidType serverUid( KNullUid, KNullUid, KSmfServerUID3 );
-
- RProcess server;
-
- result = server.Create( KSmfServerName, KNullDesC, serverUid );
-
- if ( result != KErrNone )
- {
- return result;
- }
-
- server.Resume();
- server.Close();
-
- return KErrNone;
- }
--- a/smf/smfservermodule/smfclient/client/smfclientsymbian.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/**
- * 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
- */
-
-#ifndef SMFCLIENTSYMBIAN_H_
-#define SMFCLIENTSYMBIAN_H_
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include "smfglobal.h"
-#include "smfobserver.h"
-#include "smfprovider.h"
-#include <QStringList>
-#include "smfclientsymbiansession.h"
-
-/**
- * Private client implementation for Symbian.
- */
-class CSmfClientSymbian : public CActive
-{
-
-public: // Constructors and destructors
-
- /**
- * Two phase contruction.
- * @param aObserver For callback
- */
- static CSmfClientSymbian* NewL(smfObserver* aObserver=NULL);
-
-
- static CSmfClientSymbian* NewLC(smfObserver* aObserver);
- CSmfClientSymbian(smfObserver* aObserver);
-
- /**
- * ~CSmfClientSymbian.
- * Destructor.
- * Destroys the object and release all memory objects.
- */
- virtual ~CSmfClientSymbian();
-
- public:
- /**
- * Calls SendReceive of the RSessionBase object.
- * @param aSerializedData serialized by the caller.
- * @param aInterfaceName Interface name
- * @param requestType Opcode
- * @param maxSize Max data size that is allocated in the client side for
- * receiving this data
- * @param xtraInfo XtraInfo when required by server other than smfProvider
- */
- TInt sendRequest(QByteArray& aSerializedData,
- QString aInterfaceName,
- SmfRequestTypeID requestType,TInt aMaxAllocation,QByteArray xtraInfo=QByteArray());
- /**
- * This overloaded API is for ESmfGetServices, where data should be
- * fetched synchronously
- */
- QByteArray sendRequest(QString aInterfaceName,
- SmfRequestTypeID requestType,TInt maxSize=10);
-
- /**
- * For sending request specific to DSM. These are used by SmfRelationMngr API
- * @param requestType Opcode
- * @param aSerializedData Data to be passed to DSM through server, interpretation
- * depends on Relation manager and DSM
- * @maxSize Size to be allocated in the client side
- * @return Data received from server, interpretation depends on SmfRelationMngr and DSM
- */
- QByteArray sendDSMSyncRequest(SmfRequestTypeID requestType,QByteArray& aSerializedData,SmfError& aErr,TInt maxSize=10);
- /**
- * For testing purpose only
- */
- TInt sendDummyRequest(QByteArray* provider,QString aInterfaceName,
- SmfRequestTypeID requestType);
-
- /**
- * CancelRequest.
- * Cancels an outstanding request.
- */
- void CancelRequest() ;
-
-
-
- protected: // Functions from base classes
-
- /**
- * From CActive, RunL.
- * Callback function.
- * Invoked to handle responses from the server.
- */
- void RunL();
-
- /**
- * From CActive, DoCancel.
- * Cancels any outstanding operation.
- */
- void DoCancel();
-
- TInt RunError(TInt aError);
-
- private: // Constructors and destructors
-
- /**
- * CSmfClientSymbian.
- * Performs the first phase of two phase construction.
- */
- CSmfClientSymbian();
-
- /**
- * ConstructL.
- * Performs the second phase construction of a
- * CSmfClientSymbian object.
- */
- void ConstructL();
-
- //debugging
- void writeLog(QString log);
-
- private: // Data
-
- /**
- * iSession, the server session.
- */
- RSmfClientSymbianSession iSession;
- /**
- * For callback, when the client gets serviced by the server
- */
- smfObserver* iObserver;
-
- //Interface name, to be passed to the server
- TBuf<128> iInterfaceName;
- QString iInterfaceNameQt;
- //Data ptr
- TPtr iDataPtr;
-
- //Bytearray
- QByteArray* iBytearray;
- HBufC* iBuffer;
- TInt iMaxMessageSize;
-
- /**
- * Testing
- */
- QStringList dummyList;
- QByteArray* dummyArray;
-
-
-};
-
-#endif /* SMFCLIENTSYMBIAN_H_ */
--- a/smf/smfservermodule/smfclient/client/smfclientsymbiansession.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/**
- * 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
- */
-
-#ifndef SMFCLIENTSYMBIANSESSION_H_
-#define SMFCLIENTSYMBIANSESSION_H_
-
-#include <e32cmn.h>
-#include <QByteArray>
-#include <QString>
-#include <QVariant>
-#include <QList>
-#include "smfglobal.h"
-
-/**
- * Corresponds to client session in Symbian
- */
-class RSmfClientSymbianSession : public RSessionBase
-{
-public:
- /**
- * Constructs
- */
- RSmfClientSymbianSession();
- /**
- * Creates the server process if not already running and creates session
- * @return Error code while creating server process/ creating session
- */
- TInt connectToServer();
- TVersion Version() const{return TVersion(0,0,1);};
- /**
- * Calls SendReceive with requestType opcode and packaged data
- * depending on requestType
- */
- TInt sendRequest(SmfRequestTypeID requestType);
- void Close(){};
- bool isConnected();
- bool connected;
- /**
- * Sends async request to the Smf server
- * @param aSerializedData Serialized data to be sent to the server.
- * Consists of provider Info(SmfProvider*)+ Other common class data
- * (when applicable)-serialized
- * @param aInterfaceName Name of the interface
- * @param aStatus TRequestStatus
- * @param maxSize Size of the data to be allocated. This info is sent to the server
- * @param aXtraInfo When xtra common data class instances to be passed other than SmfProvider
- * so that it can allocate this much of memory.
- */
- void sendAsyncRequest(QByteArray& aSerializedData,
- QString aInterfaceName,
- SmfRequestTypeID aRequestType,
- TRequestStatus& aStatus,
- TInt aMaxAllocation,
- QByteArray aXtraInfo=QByteArray());
- /**
- * Sends sync request to the Smf server
- */
- TPtr8 sendSyncRequest(QString aInterfaceName,
- SmfRequestTypeID aRequestType,
- TInt maxSize=0);
- /**
- * Sends DSM related sync request to the Smf server
- */
- TPtr8 sendDSMSyncRequest(SmfRequestTypeID aRequestType,
- QByteArray& aSerializedData,
- SmfError aErr,
- TInt maxSize=0);
- void writeLog(QString log) const;
- /**
- * Returns data,used to return back the data received from server
- */
- TPtr8 getData()
- {
- return iDataPtr;
- }
- TInt getLastRequest()
- {
- return iLastRequest;
- }
- /**
- * Following are to form message body.
- */
- QByteArray iBaseProvider;
- TBuf8<525> iProviderSymbian;
- TBuf<125> iInterfaceSymbian;
- TBuf8<125> iInterfaceSymbian8;
- TBuf<100> iDSMErr;
- QString iInterfaceName;
- QByteArray iInterfaceNamebyte;
-
- TPtr8 iDataPtr;
- TPtr iDataPtr16;
- HBufC8* iBuffer;
- HBufC* iBuffer16;
- HBufC* iIntfNameBuffer;
- HBufC8* iIntfNameBuffer8;
- HBufC8* iProviderBuf;
- TPtr8 iPtrProvider;
- TPtr iIntfNamePtr;
- TPtr8 iIntfNamePtr8;
- HBufC8* iSlot0Buffer;
- TPtr8 iPtrToSlot0;
- TInt iMaxMessageSize;
- TInt iMaxSize;
- /**
- * Last request opcode
- */
- TInt iLastRequest;
-
-private:
- QList<QVariant*> result;
-
-
-
-};
-#endif /* SMFCLIENTSYMBIANSESSION_H_ */
--- a/smf/smfservermodule/smfclient/client/smfcontactfetcher.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/**
- * 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:
- * The SmfContactFetcher class is for fetching SmfContact related info
- *
- */
-
-#include "smfcontactfetcher.h"
-#include "smfcontactfetcher_p.h"
-
-SmfContactFetcher::SmfContactFetcher(SmfProvider* baseProvider)
- {
- m_baseProvider = baseProvider;
- //creating private impl wrapper
- m_private = new SmfContactFetcherPrivate(this);
- }
-SmfContactFetcher::SmfContactFetcher(SmfProvider* baseProvider, SmfContact* contact)
-{
- m_baseProvider = baseProvider;
- m_frndContact = contact;
- //creating private impl wrapper
- m_private = new SmfContactFetcherPrivate(this);
-}
-SmfContactFetcher::~SmfContactFetcher()
-{
- if(m_baseProvider)
- {
- delete m_baseProvider;
- m_baseProvider = NULL;
- }
- if(m_frndContact)
- {
- delete m_frndContact;
- m_frndContact = NULL;
- }
- /** @TODO:- Request to unload the plugin*/
-}
-bool SmfContactFetcher::friends(int pageNum,int perPage)
-{
-m_private->friends(pageNum,perPage);
-}
-bool SmfContactFetcher::followers(int pageNum,int perPage)
-{
- m_private->followers(pageNum,perPage);
-}
-void SmfContactFetcher::search(SmfContact* contact,int pageNum,int perPage)
-{
- m_private->search(contact,pageNum,perPage);
-}
-bool SmfContactFetcher::searchNear(SmfLocation* location,SmfLocationSearchBoundary proximity,int pageNum,int perPage)
-{
- //To be implemented
-}
-bool SmfContactFetcher::groups(int pageNum,int perPage)
-{
- m_private->groups(pageNum,perPage);
-}
-bool SmfContactFetcher::searchInGroup(SmfGroup group,int pageNum,int perPage)
-{
- m_private->searchInGroup(group,pageNum,perPage);
-}
-void SmfContactFetcher::customRequest(const int& operationId,QByteArray* customData)
-{
- //To be implemented
-}
-SmfProvider* SmfContactFetcher::getProvider()
-{
- return m_baseProvider;
-}
--- a/smf/smfservermodule/smfclient/client/smfcontactfetcher.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/**
- * 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:
- * The SmfEvent class represents an event
- *
- */
-
-#ifndef SMFCONTACTHETCHER_H
-#define SMFCONTACTHETCHER_H
-
-#include <QObject>
-#include "smfglobal.h"
-#include "smfprovider.h"
-#include "smfcontact.h"
-#include "smflocation.h"
-#include "smfgroup.h"
-
-class SmfProvider; //base-class for service provider
-class SmfContact; //class for Contact in a social network
-class SmfGroup; //class for a group in social network
-
-typedef QList<SmfContact> SmfContactList;
-typedef QList<SmfGroup> SmfGroupList;
-/**
- * @ingroup smf_client_group
- * Interface to search for contacts/connections from a service provider. This class
- * provides basic functionality to allow applications to obtain list of
- * contacts or friends in a social networking service.
- * Note that to get the base provider info like service name, icon, description etc
- * use getProvider().
- * See also:
- * SmfProvider::serviceName(), SmfProvider::serviceIcon(), SmfProvider::description()
- *
- * All of the functionality described here should be implemented by a service
- * specific plug-in object.
- * Interface name:- org.symbian.smf.client.contact.fetcher
- */
-class SMFCLIENT_EXPORT SmfContactFetcher : public QObject
-{
- Q_OBJECT
-
-public:
-
- /**
- * Constructs the SmfContactFetcher.
- * @param parent base provider info
- * @param contact Used for searching friends of the given contact
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfContactFetcher(SmfProvider* baseProvider);
- SmfContactFetcher(SmfProvider* baseProvider, SmfContact* contact);
- ~SmfContactFetcher();
-
-public:
- /**
- * Get the friend listing asynchronously. The friendsListAvailable() signal
- * is emitted with SmfContactList once data is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool friends(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Get the list of followers asynchronously. The followersListAvailable() signal
- * is emitted with SmfContactList once data is arrived. Please note that some
- * service may not support followers/fans - FALSE is returned if not supported.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool followers(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE); // list of contact objects
-
- /**
- * Searches for a contact The searchContactFinished() signal
- * is emitted with SmfContactList once data is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void search(SmfContact* contact,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // list of contact objects
-
- /**
- * Searches for a contacts (friends) who are near the user.
- * Signal searchNearFinished() is emitted with SmfContactList once data is arrived.
- * Proximity defines accuracy level
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool searchNear(SmfLocation* location,SmfLocationSearchBoundary proximity,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
-
- /**
- * Get the list of groups. The groupListAvailable() signal
- * is emitted with SmfGroupList once data is arrived. False might be returned
- * if this service doesn't support any mode of grouping (very rare).
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool groups(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // list of group objects
-
- /**
- * Searches for Smf Contacts in an Smf group.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- * @param group The group to be searcged in
- */
- bool searchInGroup(SmfGroup group,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE); // list of contact objects
-
- /**
- * Request for a custom operation.
- * @param operationId OperationId
- * @param customData Custom data to be sent
- * Note:-Interpretation of operationId and customData is upto the concerned
- * plugin and client application. service provider should provide some
- * serializing-deserializing utilities for these custom data
- */
- void customRequest(const int& operationId,QByteArray* customData);
-
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
-
-signals:
-
- /**
- * This signal is emitted when a request to get friends is completed.
- * Note if number of friends is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param list list of friends
- * @param error error value
- * @param resultPage Page number info
- * @see friends()
- */
- void friendsListAvailable(SmfContactList* list, SmfError error, SmfResultPage resultPage);
-
- /**
- * This signal is emitted when a request to get followers is completed
- * Note if number of followers is large, then it can download the list page by page
- * In that case this signal is emitted multiple times.
- * @param list list of followers
- * @param error error value
- * @param resultPage Page number info
- * @see followers()
- */
- void followersListAvailable(SmfContactList* list, SmfError error, SmfResultPage resultPage);
-
- /**
- * This signal is emitted when a request to get groups is completed
- * Note if number of groups is large, then it can download the list page by page
- * In that case this signal is emitted multiple times.
- * @param list list of groups
- * @param error error value
- * @param resultPage Page number info
- * @see groups()
- */
- void groupListAvailable(SmfGroupList* list, SmfError error, SmfResultPage resultPage);
-
- /**
- * Emitted when search for a contact is finished.
- * Note if number of contacts in the search is large, then it can download the list page by page
- * In that case this signal is emitted multiple times.
- * @param list List of filtered contacts
- * @param resultPage Page number info
- * @see search()
- */
- void searchContactFinished(SmfContactList* list,SmfError error, SmfResultPage resultPage);
-
-
- /**
- * Emitted when search for contacts who are near a geographic location, is finished.
- * Note if number of contacts in the search is large, then it can download the list page by page
- * In that case this signal is emitted multiple times.
- * @param list List of filtered contacts
- * @param resultPage Page number info
- * @see search()
- */
- void searchNearFinished(SmfContactList* list,SmfError error, SmfResultPage resultPage);
-
- /**
- * Emitted when search for a contact in a group is finished
- * Note if number of contacts in the search is large, then it can download the list page by page
- * In that case this signal is emitted multiple times.
- * @param list list of filtered contacts
- * @param resultPage Page number info
- * @see searchInGroup()
- */
- void searchInGroupFinished(SmfContactList* list,SmfError error, SmfResultPage resultPage);
-
- /**
- * Emitted when custom data is available
- * @param operationId Requested operation id
- * @param customData Custom data received, interpretation is not the responsibility of Smf
- */
- void customDataAvailable(int operationId, QByteArray* customData);
- //so that private impl can directly call emit
- friend class SmfContactFetcherPrivate;
-private:
- SmfProvider* m_baseProvider;
- SmfContact* m_frndContact; //used for searching
- //private impl wrapper
- SmfContactFetcherPrivate* m_private;
-
-};
-
-SMF_SERVICE_NAME(SmfContactFetcher, "org.symbian.smf.client.contact.fetcher\0.2")
-#endif // SMFCONTACTHETCHER_H
--- a/smf/smfservermodule/smfclient/client/smfcontactfetcher_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,388 +0,0 @@
-/**
- * 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
- */
-#include "smfcontactfetcher_p.h"
-#ifdef WRITE_LOG
-#include <QFile>
-#include <QTextstream>
-#endif
-#ifdef Q_OS_SYMBIAN
-#include "SmfClientSymbian.h"
-#else
-#include "SmfClientQt.h"
-#endif
- /**
- * Constructs the SmfContactFetcher.
- * @param parent base provider info
- * @param contact Used for searching friends of the given contact
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfContactFetcherPrivate::SmfContactFetcherPrivate(SmfContactFetcher* contactFetcher)
- : m_contactFetcher(contactFetcher),m_contactList(0)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #endif
- }
- SmfContactFetcherPrivate::~SmfContactFetcherPrivate()
- {
- if(m_SmfClientPrivate)
- {
- delete m_SmfClientPrivate;
- m_SmfClientPrivate = NULL;
- }
- }
-
- /**
- * Get the friend listing asynchronously. The friendsListAvailable() signal
- * is emitted with SmfContactList once data is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool SmfContactFetcherPrivate::friends(int pageNum,int perPage)
- {
- m_providerSerialized.clear();
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_xtraInfoFlag = 0;
- m_pageInfoFlag = 1;
- m_baseProvider = m_contactFetcher->getProvider();
- //serialize start
- QDataStream write(&m_providerSerialized,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- write<<m_xtraInfoFlag;
- //serialize end
- QString intfName(contactFetcherInterface);
- int maxAllocation = MaxSmfContactSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_providerSerialized,intfName,SmfContactGetFriends,maxAllocation,QByteArray());
- }
-
- /**
- * Get the list of followers asynchronously. The followersListAvailable() signal
- * is emitted with SmfContactList once data is arrived. Please note that some
- * service may not support followers/fans - FALSE is returned if not supported.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool SmfContactFetcherPrivate::followers(int pageNum,int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
-
- m_baseProvider = m_contactFetcher->getProvider();
- //serialize start
- QDataStream write(&m_providerSerialized,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoFlag = 0;
- write<<m_xtraInfoFlag;
- //serialize end
-
-
- QString intfName(contactFetcherInterface);
- int maxAllocation = MaxSmfContactSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_providerSerialized,intfName,SmfContactGetFollowers,maxAllocation);
- }
- /**
- * Searches for a contact The searchContactFinished() signal
- * is emitted with SmfContactList once data is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void SmfContactFetcherPrivate::search(SmfContact* contact,int pageNum,int perPage)
- {
- //We need to pass Opcode and SmfProvider+SmfContact serialized into bytearray
-
- m_baseProvider = m_contactFetcher->getProvider();
- m_xtraInfoSerialized.clear();
- m_contact = contact;
- //serialize start
- QDataStream write(&m_providerSerialized,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<pageNum;
-
-
- //serialize xtra info
- QDataStream writeXtra(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- writeXtra<<*(m_contact);
-
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(contactFetcherInterface);
- int maxAllocation = MaxSmfContactSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_providerSerialized,intfName,SmfContactSearch,maxAllocation,m_xtraInfoSerialized);
- }
-
- /**
- * Searches for a contacts (friends) who are near the user.
- * Signal searchNearFinished() is emitted with SmfContactList once data is arrived.
- * Proximity defines accuracy level
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool SmfContactFetcherPrivate::searchNear(SmfLocation* location,SmfLocationSearchBoundary proximity,int pageNum,int perPage)
- {
- m_baseProvider = m_contactFetcher->getProvider();
- m_xtraInfoSerialized.clear();
- //serialize start
- QDataStream write(&m_providerSerialized,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<pageNum;
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
-
- //serialize xtra info
- QDataStream writeXtra(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- writeXtra<<*(location);
- writeXtra<<proximity;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- QString intfName(contactFetcherInterface);
- int maxAllocation = MaxSmfContactSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_providerSerialized,intfName,SmfContactSearchNear,maxAllocation,m_xtraInfoSerialized);
- }
-
-
- /**
- * Get the list of groups. The groupListAvailable() signal
- * is emitted with SmfGroupList once data is arrived. False might be returned
- * if this service doesn't support any mode of grouping (very rare).
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool SmfContactFetcherPrivate::groups(int pageNum,int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
-
- m_baseProvider = m_contactFetcher->getProvider();
- //serialize start
- QDataStream write(&m_providerSerialized,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoFlag = 0;
- write<<m_xtraInfoFlag;
- //serialize end
-
-
- QString intfName(contactFetcherInterface);
- int maxAllocation = MaxSmfGroupSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_providerSerialized,intfName,SmfContactGetGroups,maxAllocation);
- }
-
- /**
- * Searches for Smf Contacts in an Smf group.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- * @param group The group to be searcged in
- */
-bool SmfContactFetcherPrivate::searchInGroup(SmfGroup group,int pageNum,int perPage)
- {
- //We need to pass Opcode and SmfProvider+SmfGroup serialized into bytearray
-
- m_baseProvider = m_contactFetcher->getProvider();
- m_grp = group;
- //serialize start
- QDataStream write(&m_providerSerialized,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
-
- //serialize xtra info
- QDataStream writeXtra(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- writeXtra<<m_grp;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- //serialize end
-
-
- QString intfName(contactFetcherInterface);
- int maxAllocation = MaxSmfContactSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_providerSerialized,intfName,SmfContactSearchInGroup,maxAllocation);
- return 0;
- }
-void SmfContactFetcherPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
- {
- writeLog("SmfContactFetcherPrivate::resultsAvailable");
-
- QDataStream reader(&result,QIODevice::ReadOnly);
-
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfContactGetFriends:
- {
-
- if(m_contactList)
- {
- delete m_contactList;
- m_contactList = NULL;
- }
- m_contactList = new SmfContactList;
- m_frndist.clear();
- reader>>m_frndist;
- writeLog("m_frndist.count=");
- writeLog(QString::number(m_frndist.count()));
- //TODO:-After consulting with PM owner decide page serialization
- SmfResultPage page;
-
- emit m_contactFetcher->friendsListAvailable(&m_frndist,error,page);
-
- }
- break;
- case SmfContactGetFollowers:
- {
- if(m_contactList)
- {
- delete m_contactList;
- m_contactList = NULL;
- }
- m_contactList = new SmfContactList;
- reader>>*(m_contactList);
- //TODO:-After consulting with PM owner decide page serialization
- SmfResultPage page;
-
- emit m_contactFetcher->followersListAvailable(m_contactList,error,page);
-
- }
- break;
- case SmfContactGetGroups:
- {
- writeLog("Before m_grpList.clear=");
- m_grpList.clear();
- writeLog("Before reader>>m_grpList=");
- reader>>m_grpList ;
- /** @TODO:-After consulting with PM owner decide page serialization */
- SmfResultPage page;
- writeLog("m_grpList.count=");
- writeLog(QString::number(m_grpList.count()));
- emit m_contactFetcher->groupListAvailable(&m_grpList,error,page);
-
- }
- break;
- case SmfContactSearch:
- {
- if(m_contactList)
- {
- delete m_contactList;
- m_contactList = NULL;
- }
- m_contactList = new SmfContactList;
- reader>>*(m_contactList);
- /** @TODO:-After consulting with PM owner decide page serialization */
- SmfResultPage page;
- //searchContactFinished
- emit m_contactFetcher->searchContactFinished(m_contactList,error,page);
- }
- break;
- case SmfContactSearchNear:
- {
- if(m_contactList)
- {
- delete m_contactList;
- m_contactList = NULL;
- }
- m_contactList = new SmfContactList;
- reader>>*(m_contactList);
- /** @TODO:-After consulting with PM owner decide page serialization*/
- SmfResultPage page;
- //searchContactFinished
- emit m_contactFetcher->searchNearFinished(m_contactList,error,page);
- }
- break;
- case SmfContactSearchInGroup:
- {
- if(m_contactList)
- {
- delete m_contactList;
- m_contactList = NULL;
- }
- m_contactList = new SmfContactList;
- reader>>*(m_contactList);
- //TODO:-After consulting with PM owner decide page serialization
- SmfResultPage page;
- //searchContactFinished
- emit m_contactFetcher->searchInGroupFinished(m_contactList,error,page);
- }
- break;
- default:
- writeLog("!!!!!!!!!!default!!!!!!!!!!!!!!");
- }
-
- }
-void SmfContactFetcherPrivate::writeLog(QString log) const
- {
-#ifdef WRITE_LOG
- QFile file("c:\\data\\SmfClientLogs.txt");
- if (!file.open(QIODevice::Append | QIODevice::Text))
- return;
- QTextStream out(&file);
- out << log << "\n";
- file.close();
-#endif
- }
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfError &err )
- {
- quint32 errInt = (quint32)err;
- aDataStream<<errInt;
- return aDataStream;
- }
-
-
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfError &err )
- {
- quint32 errInt;
- aDataStream>>errInt;
- err = (SmfError)errInt;
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/client/smfcontactfetcher_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/**
- * 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
- */
-
-#ifndef SMFCLIENTPRIVATE_H_
-#define SMFCLIENTPRIVATE_H_
-/**
- * Private Qt wrapper
- * Provided to accomodate diff facilities in diff platforms.
- * Uses Symbian client-server for Symbian
- * QDbus for linux
- * QLocalserver for rest of the platforms
- * Note:- only symbian client-server impl is provided at the moment
- **/
-#include "smfprovider.h"
-#include "SmfClientGlobal.h"
-#include "smfGlobal.h"
-#include "SmfObserver.h"
-
-class SmfProvider;
-
-
-#include <QObject>
-#include <QDateTime>
-#include <QStringList>
-
-#include "SmfObserver.h"
-#include "smfcontactfetcher.h"
-#include "smfpostprovider.h"
-#include "smflocation.h"
-#ifdef Q_OS_SYMBIAN
-class CSmfClientSymbian;
-#else
-class SmfClientQt;
-#endif
-
-
-class SmfContactFetcherPrivate : public smfObserver
-{
- Q_OBJECT
-
-public:
-
-
- SmfContactFetcherPrivate(SmfContactFetcher* contactFetcher=0);
- ~SmfContactFetcherPrivate();
- //Note we need to expose the methods later through some macro
-public:
- /**
- * Get the friend listing asynchronously. The friendsListAvailable() signal
- * is emitted with SmfContactList once data is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool friends(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Get the list of followers asynchronously. The followersListAvailable() signal
- * is emitted with SmfContactList once data is arrived. Please note that some
- * service may not support followers/fans - FALSE is returned if not supported.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool followers(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE); // list of contact objects
-
- /**
- * Searches for a contact The searchContactFinished() signal
- * is emitted with SmfContactList once data is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void search(SmfContact* contact,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // list of contact objects
-
- /**
- * Searches for a contacts (friends) who are near the user.
- * Signal searchNearFinished() is emitted with SmfContactList once data is arrived.
- * Proximity defines accuracy level
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool searchNear(SmfLocation* location,SmfLocationSearchBoundary proximity,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
-
- /**
- * Get the list of groups. The groupListAvailable() signal
- * is emitted with SmfGroupList once data is arrived. False might be returned
- * if this service doesn't support any mode of grouping (very rare).
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- bool groups(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // list of group objects
-
- /**
- * Searches for Smf Contacts in an Smf group.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- * @param group The group to be searcged in
- */
- bool searchInGroup(SmfGroup group,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
- //from smfobserver
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
-private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider
- QByteArray m_providerSerialized;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
-#ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
-#endif
- bool m_connected;
- SmfContactFetcher* m_contactFetcher;
- SmfContactList* m_contactList;
- QList<SmfGroup> m_grpList;
- SmfContactList m_frndist;
- SmfContact* m_contact;
- SmfGroup m_grp;
- void writeLog(QString log) const;
- //debugging
-// SmfLogger* logger;
- //void writeLog(QString log) const;
-};
-
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfError &err );
-
-
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfError &err );
-#endif /* SMFCLIENTPRIVATE_H_ */
--- a/smf/smfservermodule/smfclient/client/smfgallery.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/**
- * 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:
- * The SmfGallery class
- *
- */
-
-#include "smfgallery.h"
-#include "smfgallery_p.h"
-
-
- SmfGallery::SmfGallery(SmfProvider* baseprovider):m_baseProvider(baseprovider)
- {
- //creating private impl wrapper
- m_private = new SmfGalleryPrivate(this);
- }
- SmfGallery::~SmfGallery()
- {
- if(m_private)
- {
- delete m_private;
- m_private = NULL;
- }
- }
-
- /**
- * Get the album listing asynchronously.
- * The albumsAvailable() signal is emitted with SmfPictureAlbumList once the albums have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param names the subject or any keywords to be used to filter albums with that name
- * @param user the user whose albums are requested
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
-void SmfGallery::albums(QStringList names, SmfContact* user, int pageNum,int perPage)
- {
- m_private->albums(names,user, pageNum, perPage);
- }
-
- /**
- * Get the picture listing asynchronously.
- * The picturesAvailable() signal is emitted with SmfPictureList once the pictures have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
-void SmfGallery::pictures(SmfPictureAlbumList &albums, int pageNum,int perPage)
- {
- m_private->pictures( albums, pageNum, perPage);
- }
-
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* SmfGallery::getProvider()
- {
- return m_baseProvider;
- }
-
- /**
- * Upload an image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param image the image to be uploaded
- */
-void SmfGallery::upload(SmfPicture* image, SmfPictureAlbum* album)
- {
- m_private->upload(image,album);
- }
-
- /**
- * Upload an list image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param images the list image to be uploaded
- */
-
-void SmfGallery::upload(SmfPictureList* images, SmfPictureAlbum* album)
- {
- m_private->upload(images,album);
- }
-
- /**
- * Posts a comment for an image. uploadFinished() signal is emitted
- * with success of the post once comment is posted.
- * @param image Image to comment on
- * @param comment Comment to post
- */
- void SmfGallery::postComment(SmfPicture image, SmfComment comment)
- {
- m_private->postComment(image,comment);
- }
-
-QString SmfGallery::description(SmfPicture& picture)
- {
- Q_UNUSED(picture);
- }
-/**
- * Request for a custom operation.
- * @param operationId OperationId
- * @param customData Custom data to be sent
- * Note:-Interpretation of operationId and customData is upto the concerned
- * plugin and client application. service provider should provide some
- * serializing-deserializing utilities for these custom data
- */
-void SmfGallery::customRequest(const int& operationId,QByteArray* customData)
- {
- /*to be implemented*/
- Q_UNUSED(operationId);
- Q_UNUSED(customData);
- }
--- a/smf/smfservermodule/smfclient/client/smfgallery.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/**
- * 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:
- * The SmfGallery class
- *
- */
-
-#ifndef SMFGALLERY_H
-#define SMFGALLERY_H
-
-#include "smfglobal.h"
-#include "smfprovider.h"
-#include "smfclientglobal.h"
-#include "smfpicture.h"
-#include "smfpicturealbum.h"
-#include "smfcomment.h"
-#include "smfcontact.h"
-
-#include <QObject>
-#include <QDateTime>
-#include <QStringList>
-
-#include <qmobilityglobal.h>
-
-
-
-class SmfGalleryPrivate;
-/**
- * @ingroup smf_client_group
- * Interface to a remote gallery service. This class
- * provides some basic gallery functionality to allow applications
- * to interact with a picture gallery in a social network.
- *
- * Note that branding information for the particular service implementation
- * is available from getProvider() API. See also:
- * SmfProvider::serviceName(), SmfProvider::serviceIcon()
- *
- * All of the functionality described here should be implemented by a service
- * specific plug-in object.
- * Interface name for SmfGallery org.symbian.smf.client.gallery
- */
-class SMFCLIENT_EXPORT SmfGallery : public QObject
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfGallery.
- * @param baseProvider The base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- be generated by SMF factory of some kind
- */
-
- SmfGallery(SmfProvider* baseprovider);
- ~SmfGallery();
-
- public slots:
- /**
- * Get the album listing asynchronously.
- * The albumsAvailable() signal is emitted with SmfPictureAlbumList once the albums have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param names the subject or any keywords to be used to filter albums with that name
- * @param user the user whose albums are requested
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void albums(QStringList names, SmfContact* user, int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
-
- /**
- * Get the picture listing asynchronously.
- * The picturesAvailable() signal is emitted with SmfPictureList once the pictures have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param albums album(s) whose pictures are being requested
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void pictures(SmfPictureAlbumList &albums, int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Returns a user title/caption for the picture
- */
- QString description(SmfPicture& picture);
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
- //friend so that it can directly emit SmfPostProvider's signal
- friend class SmfGalleryPrivate;
-public slots:
- /**
- * Upload an image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param image the image to be uploaded
- * @param album the optional destination album name
- */
- void upload(SmfPicture* image, SmfPictureAlbum* album=NULL) ;
-
- /**
- * Upload an list image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param images the list image to be uploaded
- * @param album the optional destination album name
- */
- void upload(SmfPictureList* images, SmfPictureAlbum* album=NULL) ;
-
- /**
- * Posts a comment for an image. uploadFinished() signal is emitted
- * with success of the post once comment is posted.
- * @param image Image to comment on
- * @param comment Comment to post
- */
- void postComment(SmfPicture image, SmfComment comment) ;
- /**
- * Request for a custom operation.
- * @param operationId OperationId
- * @param customData Custom data to be sent
- * Note:-Interpretation of operationId and customData is upto the concerned
- * plugin and client application. service provider should provide some
- * serializing-deserializing utilities for these custom data
- */
- void customRequest(const int& operationId,QByteArray* customData);
-signals:
-
- /*
- * Notification on arrival of list of SmfPictureAlbum as a result of call to @ref albums().
- * @param pics Picture list
- * @param error Error string
- * @param resultPage Page number info
- */
- void albumsAvailable(SmfPictureAlbumList* albums, SmfError error, SmfResultPage resultPage);
-
- /*
- * Notification on arrival of list of SmfPicture as a result of request.
- * Note if number of friends is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * through pictures().
- * @param pics Picture list
- * @param error Error string
- * @param resultPage Page number info
- */
- void picturesAvailable(SmfPictureList* pics, SmfError error, SmfResultPage resultPage);
-
- /**
- * Notification of the success of the uploading of image/comment
- * @param error The upload success result of each individual pictures
- */
- void uploadFinished(QList<SmfError> error);
- /**
- * Emitted when custom data is available
- * @param operationId Requested operation id
- * @param customData Custom data received, interpretation is not the responsibility of Smf
- */
- void customDataAvailable(int operationId, QByteArray* customData);
-
- /** friend so that it can directly emit SmfGallery's signal*/
- friend class SmfGalleryPrivate;
-
-
-private:
- SmfProvider* m_baseProvider;
- //private impl wrapper
- SmfGalleryPrivate* m_private;
-
-};
-
-SMF_SERVICE_NAME(SmfGallery, "org.symbian.smf.client.gallery\0.2")
-
-#endif // SMFGALLERY_H
-
--- a/smf/smfservermodule/smfclient/client/smfgallery_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-/**
- * 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 for SmfGallery class
- *
- */
-#include "smfgallery_p.h"
-//logging headers
-#ifdef WRITE_LOG
-#include <QTextStream>
-#include <QFile>
-#endif
-#ifdef Q_OS_SYMBIAN
-#include "smfclientsymbian.h"
-#else
-#include "SmfClientQt.h"
-#endif
-
- SmfGalleryPrivate::SmfGalleryPrivate(SmfGallery* gallery)
- : m_gallery(gallery)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #endif
- }
- SmfGalleryPrivate::~SmfGalleryPrivate()
- {
- if(m_SmfClientPrivate)
- {
- delete m_SmfClientPrivate;
- m_SmfClientPrivate = NULL;
- }
- }
-
- /**
- * Get the album listing asynchronously.
- * The albumsAvailable() signal is emitted with SmfPictureAlbumList once the albums have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param names the subject or any keywords to be used to filter albums with that name
- * @param user the user whose albums are requested
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
-void SmfGalleryPrivate::albums(QStringList names, SmfContact* user, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_gallery->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- //TODO:- use different opcode incase post retreival is for other user
- //serialize SmfContact if post retrieval is for other user
- if(user)
- {
- //now serialize SmfContact
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- Xtrawrite<<*(user);
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- }
- else
- {
- m_xtraInfoFlag = 0;
- write<<m_xtraInfoFlag;
- }
- QString intfName(galleryInterface);
- int maxalloc = MaxSmfPictureAlbumSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfPictureGetAlbums,maxalloc,m_xtraInfoSerialized);
- }
-
- /**
- * Get the picture listing asynchronously.
- * The picturesAvailable() signal is emitted with SmfPictureList once the pictures have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param albums album(s) whose pictures are being requested
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
-void SmfGalleryPrivate::pictures(SmfPictureAlbumList albums,int pageNum,int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_gallery->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- Xtrawrite<<albums;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(galleryInterface);
- int maxalloc = MaxSmfPictureSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfPictureGetPictures,maxalloc,m_xtraInfoSerialized);
- }
-
- /**
- * Upload an image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param image the image to be uploaded
- */
-void SmfGalleryPrivate::upload(SmfPicture* image, SmfPictureAlbum* album)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_gallery->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- Xtrawrite<<image;
- Xtrawrite<<album;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(galleryInterface);
- int maxalloc = 100;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfPictureUpload,maxalloc,m_xtraInfoSerialized);
- }
-
- /**
- * Upload an list image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param images the list image to be uploaded
- */
-void SmfGalleryPrivate::upload(SmfPictureList* images, SmfPictureAlbum* album)
- {
-
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_gallery->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- Xtrawrite<<images;
- Xtrawrite<<album;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(galleryInterface);
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfPictureMultiUpload,maxalloc,m_xtraInfoSerialized);
-
- }
-
- /**
- * Posts a comment for an image. uploadFinished() signal is emitted
- * with success of the post once comment is posted.
- * @param image Image to comment on
- * @param comment Comment to post
- */
- void SmfGalleryPrivate::postComment(SmfPicture image, SmfComment comment)
- {
-
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_gallery->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- Xtrawrite<<image;
- Xtrawrite<<comment;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(galleryInterface);
- int maxalloc = 100;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfPicturePostComment,maxalloc,m_xtraInfoSerialized);
-
- }
- //from smfobserver
- void SmfGalleryPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
- {
- writeLog("SmfPostProviderPrivate::resultsAvailable");
-
- //note:- "result" is serialized and we need to de-serialize it as per opcode
- //Order of serialization Error value followed by data
-
- QDataStream reader(&result,QIODevice::ReadOnly);
-
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfPictureGetPicturesComplete:
- {
- if(m_picList)
- {
- delete m_picList;
- m_picList = NULL;
- }
-
- m_picList = new SmfPictureList;
- reader>>*(m_picList);
- writeLog("m_picList.count=");
- writeLog(QString::number(m_picList->count()));
- //not incorporating paging now
- SmfResultPage page;
-
- emit m_gallery->picturesAvailable(m_picList,error,page);
-
- }
- break;
- case SmfPictureUpload:
- case SmfPicturePostComment:
- {
-
- int errInt;
- reader>>errInt;
- writeLog("success=");
- QList<SmfError> successList;
- SmfError success = (SmfError)errInt;
- successList.append(success);
- emit m_gallery->uploadFinished(successList);
-
- }
- break;
- case SmfPictureMultiUpload:
- {
- QList<int> successListInt;
- QList<SmfError> successList;
- reader>>successListInt;
- foreach(int success,successListInt)
- {
- successList.append((SmfError)success);
- }
- emit m_gallery->uploadFinished(successList);
-
- }
- break;
- default:
- User::Panic(_L("Gallerprivate="),opcode);
-
- }
-}
-
--- a/smf/smfservermodule/smfclient/client/smfgallery_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/**
- * 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 for SmfGallery class
- *
- */
-/**
- * Private Qt wrapper
- * Provided to accomodate diff facilities in diff platforms.
- * Uses Symbian client-server for Symbian
- * QDbus for linux
- * QLocalserver for rest of the platforms
- * Note:- only symbian client-server impl is provided at the moment
- **/
-#ifndef SMFGALLERY_P_H
-#define SMFGALLERY_P_H
-
-#include "smfprovider.h"
-#include "SmfClientGlobal.h"
-#include "smfGlobal.h"
-#include "SmfObserver.h"
-
-class SmfProvider;
-
-
-#include <QObject>
-#include <QDateTime>
-#include <QStringList>
-
-#include "SmfObserver.h"
-#include "smfgallery.h"
-#ifdef Q_OS_SYMBIAN
-class CSmfClientSymbian;
-#else
-class SmfClientQt;
-#endif
-class SmfGalleryPrivate : public smfObserver
-{
- Q_OBJECT
-
-public:
-
- SmfGalleryPrivate(SmfGallery* gallery=0);
- ~SmfGalleryPrivate();
-
- /**
- * Get the album listing asynchronously.
- * The albumsAvailable() signal is emitted with SmfPictureAlbumList once the albums have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param names the subject or any keywords to be used to filter albums with that name
- * @param user the user whose albums are requested
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void albums(QStringList names, SmfContact* user, int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
-
- /**
- * Get the picture listing asynchronously.
- * The picturesAvailable() signal is emitted with SmfPictureList once the pictures have arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param albums album(s) whose pictures are being requested
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void pictures(SmfPictureAlbumList albums, int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Upload an image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param image the image to be uploaded
- * @param album the optional destination album name
- */
- void upload(SmfPicture* image, SmfPictureAlbum* album=NULL) ;
-
- /**
- * Upload an list image.Implemented as slot to connect to UI controls more easily
- * uploadFinished() signal is emitted with the success value of the upload
- * @param images the list image to be uploaded
- * @param album the optional destination album name
- */
- void upload(SmfPictureList* images, SmfPictureAlbum* album=NULL) ;
-
- /**
- * Posts a comment for an image. uploadFinished() signal is emitted
- * with success of the post once comment is posted.
- * @param image Image to comment on
- * @param comment Comment to post
- */
- void postComment(SmfPicture image, SmfComment comment) ;
-
- /** from smfobserver */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
-
-
-private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- #ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
- #endif
- bool m_connected;
- SmfGallery* m_gallery;
- SmfPictureList* m_picList;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- void writeLog(QString log) const{};
-
-};
-#endif
-
-
-
-
-
-
--- a/smf/smfservermodule/smfclient/client/smfmusic.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-
-/**
- * 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:
- * Music related services
- */
-
-#include "smfmusic.h"
-#include "smfmusic_p.h"
-
-//SmfMusicService start
-SmfMusicService::SmfMusicService(SmfProvider *baseProvider)
-: m_baseProvider(baseProvider)
- {
- m_private = new SmfMusicServicePrivate(this);
- }
-SmfMusicService::~SmfMusicService()
- {
- if(m_private)
- {
- delete m_private;
- m_private = NULL;
- }
- }
-void SmfMusicService::userinfo()
- {
- m_private->userinfo();
- }
-void SmfMusicService::searchUser(SmfLocation venue, int pageNum, int perPage)
- {
- m_private->searchUser(venue,pageNum,perPage);
- }
-SmfProvider* SmfMusicService::getProvider()
- {
- return m_baseProvider;
- }
-//SmfMusicService end
-
-//SmfMusicSearch start
-SmfMusicSearch::SmfMusicSearch(SmfProvider *baseProvider)
-:m_baseProvider(baseProvider)
- {
- m_private = new SmfMusicSearchPrivate(this);
- }
-SmfMusicSearch::~SmfMusicSearch()
- {
-
- }
-void SmfMusicSearch::recommendations(SmfTrackInfo track, int pageNum, int perPage)
- {
- m_private->recommendations(track,pageNum,perPage);
- }
-void SmfMusicSearch::tracks(SmfTrackInfo track, int pageNum, int perPage)
- {
- m_private->tracks(track,pageNum,perPage);
- }
-void SmfMusicSearch::trackInfo(SmfMusicFingerPrint signature, int pageNum, int perPage)
- {
- m_private->trackInfo(signature,pageNum,perPage);
- }
-void SmfMusicSearch::stores(SmfTrackInfo track, int pageNum, int perPage)
- {
- m_private->stores(track,pageNum,perPage);
- }
-SmfProvider* SmfMusicSearch::getProvider()
- {
- return m_baseProvider;
- }
-void SmfMusicSearch::postCurrentPlaying(SmfTrackInfo track)
- {
- m_private->postCurrentPlaying(track);
- }
-void SmfMusicSearch::postRating(SmfTrackInfo track, SmfMusicRating rate)
- {
- m_private->postRating(track,rate);
- }
-void SmfMusicSearch::postComments(SmfTrackInfo track, SmfComment comment)
- {
- m_private->postComments(track,comment);
- }
-//SmfMusicSearch end
-
-//SmfPlaylistService start
-SmfPlaylistService::SmfPlaylistService(SmfProvider *baseProvider)
-: m_baseProvider(baseProvider)
- {
- m_private = new SmfPlaylistServicePrivate(this);
-
- }
-void SmfPlaylistService::playlists(int pageNum, int perPage)
- {
- m_private->playlists(pageNum,perPage);
- }
-void SmfPlaylistService::playlistsOf(SmfMusicProfile *user, int pageNum, int perPage)
- {
- m_private->playlistsOf(user,pageNum,perPage);
- }
-int SmfPlaylistService::addToPlaylist(SmfPlaylist plst, SmfTrackInfoList *tracks)
- {
- m_private->addToPlaylist(plst,tracks);
- }
-int SmfPlaylistService::postCurrentPlayingPlaylist(SmfPlaylist plst)
- {
- m_private->postCurrentPlayingPlaylist(plst);
- }
-SmfProvider* SmfPlaylistService::getProvider()
- {
- return m_baseProvider;
- }
-SmfPlaylistService::~SmfPlaylistService()
- {
-
- }
-//SmfPlaylistService end
-
-//SmfMusicEvents start
-SmfMusicEvents::SmfMusicEvents(SmfProvider *baseProvider)
-:m_baseProvider(baseProvider)
- {
- m_private = new SmfMusicEventsPrivate(this);
- }
-void SmfMusicEvents::events(QContactGeoLocation location, int pageNum, int perPage)
- {
- m_private->events(location,pageNum,perPage);
- }
-void SmfMusicEvents::events(SmfLocation venue, int pageNum, int perPage)
- {
- m_private->events(venue,pageNum,perPage);
- }
-void SmfMusicEvents::venues(QContactGeoLocation location, int pageNum, int perPage)
- {
- m_private->venues(location,pageNum,perPage);
- }
-void SmfMusicEvents::postEvents(SmfEventList events)
- {
- m_private->postEvents(events);
- }
-SmfProvider* SmfMusicEvents::getProvider()
- {
- return m_baseProvider;
- }
-SmfMusicEvents::~SmfMusicEvents()
- {
-
- }
-
-//SmfMusicEvents end
-
-
-//SmfLyricsService start
-SmfLyricsService::SmfLyricsService(SmfProvider *baseProvider)
-:m_baseProvider(baseProvider)
- {
- m_private = new SmfLyricsServicePrivate(this);
- }
-void SmfLyricsService::lyrics(SmfTrackInfo track, int pageNum, int perPage)
- {
- m_private->lyrics(track,pageNum,perPage);
- }
-void SmfLyricsService::subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter, int pageNum, int perPage)
- {
- m_private->subtitles(track,filter,pageNum,perPage);
- }
-SmfProvider* SmfLyricsService::getProvider()
- {
- return m_baseProvider;
- }
-
-SmfLyricsService::~SmfLyricsService()
- {
- }
-
-//SmfLyricsService end
-
-
--- a/smf/smfservermodule/smfclient/client/smfmusic.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,485 +0,0 @@
-/**
- * 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:
- * Music related services
- *
- */
-
-#ifndef SMFMUSIC_H
-#define SMFMUSIC_H
-
-#include <qmobilityglobal.h>
-#include <qgeopositioninfo.h>
-#include "smfglobal.h"
-#include "smfprovider.h"
-#include "smfcontact.h"
-#include "smfevent.h"
-#include "smfmusicfingerprint.h"
-#include "smfmusicrating.h"
-#include "smfcomment.h"
-#include "smfsubtitle.h"
-
-#include "smfmusicprofile.h"
-#include "smfalbum.h"
-#include "smfartists.h"
-#include "smfgroup.h"
-#include "smflyrics.h"
-#include "smfplaylist.h"
-#include "smftrackinfo.h"
-#include "smflocation.h"
-class SmfMusicServicePrivate;
-class SmfMusicSearchPrivate;
-class SmfLyricsServicePrivate;
-class SmfPlaylistServicePrivate;
-class SmfMusicEventsPrivate;
-
-using namespace QtMobility;
-
-typedef QList<SmfMusicProfile> SmfMusicProfileList;
-typedef QList<SmfTrackInfo> SmfTrackInfoList;
-typedef QList<SmfPlaylist> SmfPlaylistList;
-typedef QList<SmfLyrics> SmfLyricsList;
-typedef QList<SmfSubtitle> SmfSubtitleList;
-/**
- * @ingroup smf_client_group
- * Basic music service ("org.symbian.smf.client.music.service")
- */
-class SMFCLIENT_EXPORT SmfMusicService : public QObject
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfMusicService.
- * @param baseProvider The base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfMusicService(SmfProvider* baseProvider = 0);
- ~SmfMusicService();
-
-public slots:
-
- /**
- * Gets self profile information asynchronously.
- * userInfoAvailable() signal is emitted with SmfMusicProfile when the info is arrived
- */
- void userinfo() ;
-
- /**
- * Asynchronously searches information about other service users for a particular venue
- * searchInfoAvailable() signal is emitted with SmfMusicProfileList when the info is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void searchUser(SmfLocation venue,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
-
-
-signals:
- /**
- * Notification on arrival of the self profile as result of userinfo().
- * @param profile The self profile
- */
- void userInfoAvailable(SmfMusicProfile* profile, SmfError error);
- /**
- * Notification on arrival of search info
- * @param profileList List of music profiles
- */
- void searchInfoAvailable(SmfMusicProfileList& profileList, SmfError error,SmfResultPage resultPage);
-private:
- SmfProvider* m_baseProvider;
- SmfMusicServicePrivate* m_private;
- friend class SmfMusicServicePrivate;
-};
-SMF_SERVICE_NAME(SmfMusicService, "org.symbian.smf.client.music.service\0.2")
-
-
-/**
-* Provides service ("org.symbian.smf.client.music.search") for music search
-*/
-class SMFCLIENT_EXPORT SmfMusicSearch : public QObject
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfMusicSearch with base provider as arguement.
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
-
- SmfMusicSearch(SmfProvider* baseProvider = 0);
- ~SmfMusicSearch();
-
-public:
- /**
- * Searches for music recommendations similar to a particulartrack asynchronously.
- * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
- * once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param track The track for which similar recommendations need to be fetched.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void recommendations(SmfTrackInfo track,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // basic list of track objects
-
- /**
- * Searches for tracks similar to a given track asynchronously.
- * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
- * once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param track The search criteria, similar tracks are searched
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void tracks(SmfTrackInfo track,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // basic list of track objects
-
- /**
- * Searches for a track having similar finger print asynchronously.
- * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
- * once its arrived.
- * @param signature The search criteria,signature to be searched for
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void trackInfo(SmfMusicFingerPrint signature,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // search by fingerprint object
-
- /**
- * Search information about where to buy this song from asynchronously.
- * The signal storeSearchAvailable() is emitted with SmfProviderList once its arrived.
- * @param track The search criteria for stores
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void stores(SmfTrackInfo track,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
-
-
-public slots:
-
- /**
- * Posts currently playing track.
- * Success can be checked by checking the signal postFinished()
- * @param track Track to post
- */
- void postCurrentPlaying(SmfTrackInfo track) ;
- void postRating(SmfTrackInfo track, SmfMusicRating rate) ;
- void postComments(SmfTrackInfo track, SmfComment comment) ;
-
-signals:
- /**
- * Emitted when the search result for a track is available.
- * Note if number of tacks in the search is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param resultPage Page number info
- */
- void trackSearchAvailable(SmfTrackInfoList* result, SmfError error,SmfResultPage resultPage);
-
- /**
- * Emitted when the search result for a store is available.
- * Note if number of tacks in the search is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param resultPage Page number info
- */
- void storeSearchAvailable(SmfProviderList* result, SmfError error, SmfResultPage resultPage);
- void postfinished(SmfError error);
-private:
- SmfProvider* m_baseProvider;
- SmfMusicSearchPrivate* m_private;
- friend class SmfMusicSearchPrivate;
-};
-SMF_SERVICE_NAME(SmfMusicSearch, "org.symbian.smf.client.music.search\0.2")
-
-
-/**
- * provides service ("org.symbian.smf.client.music.playlist")
- *
- * Interface to a remote playlist service. This class
- * provides some basic functionality to allow applications
- * to interact with playlists in some music related service provider (e.g. last.fm).
- *
- * Note that branding information for the particular service implementation
- * is available from getProvider() API. See also:
- * SmfProvider::serviceName(), SmfProvider::serviceIcon()
- *
- * All of the functionality described here should be implemented by a service
- * specific plug-in object.
- *
- */
-class SMFCLIENT_EXPORT SmfPlaylistService : public QObject
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfPlaylistService with base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfPlaylistService(SmfProvider* baseProvider = 0);
- ~SmfPlaylistService();
-
-public:
-
- /**
- * Gets the list playlists for the logged-in user asynchronously.
- * The signal playlistsListAvailable() signal is emitted with
- * SmfPlaylistList once its arrived .
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void playlists(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // basic list of playlist objects
-
- /**
- * Gets the list playlists for the given user asynchronously.
- * The signal playlistsListAvailable() signal is emitted with
- * SmfPlaylistList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param user User for which to get the playlists
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void playlistsOf(SmfMusicProfile* user,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
-
-
-public slots:
-
- /**
- * Upload currently playing track to a playlist. Signal
- * playlistUpdated() can be checked for success value
- * @param plst The playlist to be added in
- * @param tracks The list of tracks to uploaded
- */
- int addToPlaylist(SmfPlaylist plst, SmfTrackInfoList* tracks) ;
-
- /**
- * Upload currently playing playlist . Signal
- * playlistUpdated() can be checked for success value
- * @param plst The playlist to be uploaded
- */
- int postCurrentPlayingPlaylist(SmfPlaylist plst) ;
-
-
-signals:
- /**
- * Notification of availability of list of playlists requested.
- * Note if number of list is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param resultPage Page number info
- */
- void playlistsListAvailable(SmfPlaylistList*, SmfError error, SmfResultPage resultPage);
- /**
- * Signals remote updation of playlist with success value
- */
- void playlistUpdated(SmfError success) ;
-private:
- SmfProvider* m_baseProvider;
- SmfPlaylistServicePrivate* m_private;
- friend class SmfPlaylistServicePrivate;
-};
-SMF_SERVICE_NAME(SmfPlaylistService, "org.symbian.smf.client.music.playlist\0.2")
-
-
-/**
-* provides service ("org.symbian.smf.client.music.events")
-*/
-class SMFCLIENT_EXPORT SmfMusicEvents : public QObject
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfMusicEvents with base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfMusicEvents(SmfProvider* baseProvider = 0);
- ~SmfMusicEvents();
-
-public:
-
- /**
- * Gets list of events in a particular location asynchronously.
- * eventsAvailable() signal is emitted with SmfEventsList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void events(QContactGeoLocation location,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
- /**
- * Gets list of venues of a particular location asynchronously.
- * venuesAvailable() signal is emitted with SmfLocationList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void venues(QContactGeoLocation location,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // basic list of venue objects
-
- /**
- * Gets list of events in a particular venue asynchronously.
- * eventsAvailable() signal is emitted with SmfEventsList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void events(SmfLocation venue,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // basic list of events objects
-
-
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
-
-
-public slots:
-
- /**
- * Updates events. Might not be supported by all service provider.
- * eventsUpdated() signal can be checked for success value.
- * @param SmfEventsList List of events to be posted
- */
- void postEvents(SmfEventList events);
-
-signals:
-
- /**
- * Notification of the success of request to post an event
- */
- void eventsUpdated(SmfError success);
-
- /**
- * Notification on arrival of event lists
- * Note if number of list is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param resultPage Page number info
- */
- void eventsAvailable(SmfEventList* list, SmfError error, SmfResultPage resultPage);
-
- /**
- * Notification on arrival of venues lists
- * Note if number of list is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param resultPage Page number info
- */
- void venuesAvailable(SmfLocationList* list, SmfError error, SmfResultPage resultPage);
-private:
- SmfProvider* m_baseProvider;
- SmfMusicEventsPrivate* m_private;
- friend class SmfMusicEventsPrivate;
-};
-SMF_SERVICE_NAME(SmfMusicEvents, "org.symbian.smf.client.music.events\0.2")
-
-
-/**
-* provides service ("org.symbian.smf.client.music.lyrics")
-*/
-class SMFCLIENT_EXPORT SmfLyricsService : public QObject
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfLyricsService with base provider info.
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
-
- SmfLyricsService(SmfProvider* baseProvider = 0);
- ~SmfLyricsService();
-
-public:
-
- /**
- * Get the lyrics lists asynchrnously, it fetches texts without time info.
- * lyricsAvailable() notification comes SmfLyricsList with when the data is available
- * @param track Track for which lyrics needs to be fetched.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void lyrics(SmfTrackInfo track,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
-
- /**
- * Get the lyrics lists asynchrnously, it fetches texts with time info.
- * Subtitle search filter can be applied
- * subtitleAvailable() notification comes SmfSubtitleList with when the data is available
- * @param track Track for which subtitle needs to be fetched.
- * @param filter Subtitle search filter
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // texts with time information
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() ;
-signals:
-
- /**
- * Notification on arrival of lyrics
- * Note if the list is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param resultPage Page number info
- */
- void lyricsAvailable(SmfLyricsList* list, SmfError error, SmfResultPage resultPage);
-
- /**
- * Notification on arrival of subtitle based on filter.
- * Note if the list is large, then it can download the list page by page.
- * In that case this signal is emitted multiple times.
- * @param resultPage Page number info
- */
- void subtitleAvailable(SmfSubtitleList* list, SmfError error, SmfResultPage resultPage);
-private:
- SmfProvider* m_baseProvider;
- SmfLyricsServicePrivate* m_private;
- friend class SmfLyricsServicePrivate;
-};
-SMF_SERVICE_NAME(SmfLyricsService, "org.symbian.smf.client.music.lyrics\0.2")
-
-#endif // SMFMUSIC_H
-
--- a/smf/smfservermodule/smfclient/client/smfmusic_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,791 +0,0 @@
-/**
- * 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:
- *
- */
-#include "smfmusic_p.h"
-
-
-SmfMusicServicePrivate::SmfMusicServicePrivate(SmfMusicService* aMusicService)
-:m_musicService(aMusicService)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #else
- //TODO:- Use private impl for other platforms or else Qt impl
- #endif
- }
-
-void SmfMusicServicePrivate::searchUser(SmfLocation venue, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicService->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfLocation
- Xtrawrite<<venue;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicServiceInterface);
- int maxalloc = SmfMusicProfileMaxSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicSearchUser,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicServicePrivate::userinfo()
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicService->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- m_xtraInfoSerialized.clear();
- m_xtraInfoFlag = 0;
- write<<m_xtraInfoFlag;
-
- QString intfName(musicServiceInterface);
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetUserInfo,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
- {
- //note:- "result" is serialized and we need to de-serialize it as per opcode
- //Order of serialization Error value followed by data
-
- QDataStream reader(&result,QIODevice::ReadOnly);
-
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfMusicGetUserInfo:
- {
- if(m_profile)
- {
- delete m_profile;
- m_profile = NULL;
- }
-
- m_profile = new SmfMusicProfile;
- //TODO:- serialization/deserialization of SmfMusicProfile
- reader>>*(m_profile);
- //not incorporating paging now
- SmfResultPage page;
-
- emit m_musicService->userInfoAvailable(m_profile,error);
-
- }
- break;
- case SmfMusicSearchUser:
- {
- m_profileList.clear();
- //TODO:- serialization/deserialization of SmfMusicProfile
- reader>>m_profileList;
- //not incorporating paging now
- SmfResultPage page;
-
- emit m_musicService->searchInfoAvailable(m_profileList,error,page);
-
- }
- break;
- }
- }
-
-SmfMusicServicePrivate::~SmfMusicServicePrivate()
- {
- if(m_SmfClientPrivate)
- {
- delete m_SmfClientPrivate;
- m_SmfClientPrivate = NULL;
- }
- }
-
-SmfMusicSearchPrivate::SmfMusicSearchPrivate(SmfMusicSearch *aMusicSearch)
-: m_musicSearch(aMusicSearch)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #else
- //TODO:- Use private impl for other platforms or else Qt impl
- #endif
- }
-
-SmfMusicSearchPrivate::~SmfMusicSearchPrivate()
- {
- if(m_SmfClientPrivate)
- {
- delete m_SmfClientPrivate;
- m_SmfClientPrivate = NULL;
- }
- }
-
-void SmfMusicSearchPrivate::stores(SmfTrackInfo track, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicSearch->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicSearchInterface);
- /** @TODO:-revisit all the maxalloc */
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetStores,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicSearchPrivate::recommendations(SmfTrackInfo track, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicSearch->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicSearchInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetRecommendations,maxalloc,m_xtraInfoSerialized);
- }
-
-void SmfMusicSearchPrivate::tracks(SmfTrackInfo track, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicSearch->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicSearchInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetTracks,maxalloc,m_xtraInfoSerialized);
- }
-
-void SmfMusicSearchPrivate::trackInfo(SmfMusicFingerPrint signature, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicSearch->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<signature;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicSearchInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetTrackInfo,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicSearchPrivate::postCurrentPlaying(SmfTrackInfo track)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicSearch->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicSearchInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicPostCurrentPlaying,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicSearchPrivate::postRating(SmfTrackInfo track, SmfMusicRating rate)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicSearch->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- Xtrawrite<<rate;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicSearchInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicPostRating,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicSearchPrivate::postComments(SmfTrackInfo track, SmfComment comment)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicSearch->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- Xtrawrite<<comment;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicSearchInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicPostComment,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicSearchPrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
- {
- //note:- "result" is serialized and we need to de-serialize it as per opcode
- //Order of serialization Error value followed by data
-
- QDataStream reader(&result,QIODevice::ReadOnly);
-
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfMusicGetStores:
- {
- if(m_providers)
- {
- delete m_providers;
- m_providers = NULL;
- }
-
- m_providers = new SmfProviderList;
- //TODO:- serialization/deserialization of SmfMusicProfile
- reader>>*(m_providers);
- //not incorporating paging now
- SmfResultPage page;
-
- emit m_musicSearch->storeSearchAvailable(m_providers,error,page);
-
- }
- break;
- case SmfMusicGetRecommendations:
- case SmfMusicGetTracks:
- case SmfMusicGetTrackInfo:
- {
-
- if(m_trackInfoList)
- {
- delete m_trackInfoList;
- m_trackInfoList = NULL;
- }
-
- m_trackInfoList = new SmfTrackInfoList;
- //TODO:- serialization/deserialization of SmfMusicProfile
- reader>>*(m_trackInfoList);
- //not incorporating paging now
- SmfResultPage page;
-
- emit m_musicSearch->trackSearchAvailable(m_trackInfoList,error,page);
-
- //trackSearchAvailable(SmfTrackInfoList* result
- }
- break;
- case SmfMusicPostCurrentPlaying:
- case SmfMusicPostRating:
- case SmfMusicPostComment:
- {
- emit m_musicSearch->postfinished(error);
- }
- break;
- }
- }
-
-SmfPlaylistServicePrivate::SmfPlaylistServicePrivate(SmfPlaylistService *aPlayLstSrvc)
-: m_playlstSrvc(aPlayLstSrvc)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #else
- //TODO:- Use private impl for other platforms or else Qt impl
- #endif
- }
-SmfPlaylistServicePrivate::~SmfPlaylistServicePrivate()
- {
-
- }
-int SmfPlaylistServicePrivate::postCurrentPlayingPlaylist(SmfPlaylist plst)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_playlstSrvc->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<plst;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(playlistServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicPostCurrentPlayingPlaylist,maxalloc,m_xtraInfoSerialized);
- }
-
-void SmfPlaylistServicePrivate::playlistsOf(SmfMusicProfile *user, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_playlstSrvc->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<*(user);
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(playlistServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetPlaylistsOfUser,maxalloc,m_xtraInfoSerialized);
- }
-
-
-void SmfPlaylistServicePrivate::playlists(int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_playlstSrvc->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- m_xtraInfoFlag = 0;
- write<<m_xtraInfoFlag;
-
- QString intfName(playlistServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetPlaylists,maxalloc);
- }
-
-
-
-int SmfPlaylistServicePrivate::addToPlaylist(SmfPlaylist plst, SmfTrackInfoList *tracks)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_playlstSrvc->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<plst;
- Xtrawrite<<*(tracks);
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(playlistServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicAddToPlaylist,maxalloc,m_xtraInfoSerialized);
- }
-void SmfPlaylistServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
- {
- //note:- "result" is serialized and we need to de-serialize it as per opcode
- //Order of serialization Error value followed by data
-
- QDataStream reader(&result,QIODevice::ReadOnly);
-
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfMusicPostCurrentPlayingPlaylist:
- case SmfMusicAddToPlaylist:
- {
- emit m_playlstSrvc->playlistUpdated(error);
- }
- break;
- case SmfMusicGetPlaylistsOfUser:
- case SmfMusicGetPlaylists:
- {
- if(m_playlistList)
- {
- delete m_playlistList;
- m_playlistList = NULL;
- }
-
- m_playlistList = new SmfPlaylistList;
- //TODO:- serialization/deserialization
- reader>>*(m_playlistList);
- SmfResultPage page;
- emit m_playlstSrvc->playlistsListAvailable(m_playlistList,error,page);
- }
- break;
- default:
- Q_ASSERT_X(1,"SmfPlaylistServicePrivate::resultsAvailable","default");
- }
- }
-
-SmfMusicEventsPrivate::SmfMusicEventsPrivate(SmfMusicEvents *aMusicEvent)
-:m_musicEvent(aMusicEvent)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #else
- //TODO:- Use private impl for other platforms or else Qt impl
- #endif
- }
-
-SmfMusicEventsPrivate::~SmfMusicEventsPrivate()
- {
-
- }
-
-void SmfMusicEventsPrivate::events(SmfLocation venue, int pageNum, int perPage)
- {
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicEvent->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<venue;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicEventServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetEventsOnVenue,maxalloc,m_xtraInfoSerialized);
- }
-
-void SmfMusicEventsPrivate::events(QContactGeoLocation location, int pageNum, int perPage)
-{
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicEvent->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- QString latLong;
- latLong += QString::number(location.latitude());
- latLong += ",";
- latLong += QString::number(location.longitude());
- Xtrawrite<<latLong;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicEventServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetEventsOnLoc,maxalloc,m_xtraInfoSerialized);
- }
-
-
-
-void SmfMusicEventsPrivate::venues(QContactGeoLocation location, int pageNum, int perPage)
-{
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicEvent->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- QString latLong;
- latLong += QString::number(location.latitude());
- latLong += ",";
- latLong += QString::number(location.longitude());
- Xtrawrite<<latLong;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicEventServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetVenueOnLoc,maxalloc,m_xtraInfoSerialized);
- }
-
-void SmfMusicEventsPrivate::postEvents(SmfEventList events)
-{
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_musicEvent->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
-
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<events;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(musicEventServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicPostEvents,maxalloc,m_xtraInfoSerialized);
- }
-void SmfMusicEventsPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
- {
- //note:- "result" is serialized and we need to de-serialize it as per opcode
- //Order of serialization Error value followed by data
-
- QDataStream reader(&result,QIODevice::ReadOnly);
-
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfMusicGetEventsOnVenue:
- {
- if(m_events)
- {
- delete m_events;
- m_events = NULL;
- }
- m_events = new SmfEventList;
- reader>>*(m_events);
- SmfResultPage page;
- m_musicEvent->eventsAvailable(m_events,error,page);
- }
- break;
- case SmfMusicGetVenueOnLoc:
- {
- if(m_venues)
- {
- delete m_venues;
- m_venues = NULL;
- }
- m_venues = new SmfLocationList;
- reader>>*(m_venues);
- SmfResultPage page;
- m_musicEvent->venuesAvailable(m_venues,error,page);
- }
- break;
- case SmfMusicPostEvents:
- {
- m_musicEvent->eventsUpdated(error);
- }
- break;
- case SmfMusicGetEventsOnLoc:
- {
- if(m_venues)
- {
- delete m_venues;
- m_venues = NULL;
- }
- m_venues = new SmfLocationList;
- reader>>*(m_venues);
- SmfResultPage page;
- m_musicEvent->venuesAvailable(m_venues,error,page);
- }
- break;
- default:
- Q_ASSERT_X(1,"SmfMusicEventsPrivate::resultsAvailable","default");
- }
- }
-SmfLyricsServicePrivate::SmfLyricsServicePrivate(SmfLyricsService *aLyricsSrvc)
-: m_lyricsSrvc(aLyricsSrvc)
-{
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #else
- //TODO:- Use private impl for other platforms or else Qt impl
- #endif
-}
-
-SmfLyricsServicePrivate::~SmfLyricsServicePrivate()
- {
-
- }
-
-
-
-void SmfLyricsServicePrivate::subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter, int pageNum, int perPage)
-{
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_lyricsSrvc->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- Xtrawrite<<filter;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(lyricsServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetSubtitle,maxalloc,m_xtraInfoSerialized);
- }
-
-void SmfLyricsServicePrivate::lyrics(SmfTrackInfo track, int pageNum, int perPage)
-{
- //We need to pass Opcode and SmfProvider serialized into bytearray
- m_baseProvider = m_lyricsSrvc->getProvider();
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //TODO:- provide serialization/deserialization of SmfTrackInfo
- Xtrawrite<<track;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
-
- QString intfName(lyricsServiceInterface);
- //TODO:-revisit all the maxalloc
- int maxalloc = 1000;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfMusicGetLyrics,maxalloc,m_xtraInfoSerialized);
- }
-void SmfLyricsServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
- {
- //note:- "result" is serialized and we need to de-serialize it as per opcode
-
- QDataStream reader(&result,QIODevice::ReadOnly);
-
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfMusicGetLyrics:
- {
- if(m_lyricsList)
- {
- delete m_lyricsList;
- m_lyricsList = NULL;
- }
- m_lyricsList = new SmfLyricsList;
- reader>>*(m_lyricsList);
- SmfResultPage page;
- emit m_lyricsSrvc->lyricsAvailable(m_lyricsList,error,page);
- }
- break;
- case SmfMusicGetSubtitle:
- {
- if(m_subList)
- {
- delete m_subList;
- m_subList = NULL;
- }
- m_subList = new SmfSubtitleList;
- reader>>*(m_subList);
- SmfResultPage page;
- emit m_lyricsSrvc->subtitleAvailable(m_subList,error,page);
- }
- break;
- default:
- Q_ASSERT_X(1,"SmfLyricsServicePrivate::resultsAvailable","default");
- }
- }
-
--- a/smf/smfservermodule/smfclient/client/smfmusic_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +0,0 @@
-/**
- * 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:
- *
- */
-
-#ifndef SMFMUSICPRIVATE_H_
-#define SMFMUSICPRIVATE_H_
-
-#include "smfmusic.h"
-#include "smfglobal.h"
-#include "smfobserver.h"
-#include "smfcomment.h"
-#ifdef Q_OS_SYMBIAN
-#include "smfclientsymbian.h"
-#else
-#include "smfclientqt.h"
-#endif
-class SmfMusicService;
-class SmfMusicSearch;
-class SmfPlaylistService;
-class SmfMusicEvents;
-class SmfLyricsService;
-
-class SmfMusicServicePrivate : public smfObserver
- {
- Q_OBJECT
-public:
- /**
- * Constructor
- */
- SmfMusicServicePrivate(SmfMusicService* aMusicService);
- ~SmfMusicServicePrivate();
- /**
- * Gets self profile information asynchronously.
- * userInfoAvailable() signal is emitted with SmfMusicProfile when the info is arrived
- */
- void userinfo() ;
-
- /**
- * Asynchronously searches information about other service users for a particular venue
- * searchInfoAvailable() signal is emitted with SmfMusicProfileList when the info is arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void searchUser(SmfLocation venue,int pageNum,int perPage) ;
-
- /** from smfobserver */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
-private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- #ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
- #endif
- bool m_connected;
- SmfMusicService* m_musicService;
- SmfMusicProfile* m_profile;
- SmfMusicProfileList m_profileList;
- };
-//SmfMusicSearch
-class SmfMusicSearchPrivate : public smfObserver
- {
- Q_OBJECT
-public:
- /**
- * Constructor
- */
- SmfMusicSearchPrivate(SmfMusicSearch* aMusicSearch);
- ~SmfMusicSearchPrivate();
-public:
- /**
- * Searches for music recommendations similar to a particulartrack asynchronously.
- * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
- * once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param track The track for which similar recommendations need to be fetched.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void recommendations(SmfTrackInfo track,int pageNum,int perPage) ; // basic list of track objects
-
- /**
- * Searches for tracks similar to a given track asynchronously.
- * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
- * once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param track The search criteria, similar tracks are searched
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void tracks(SmfTrackInfo track,int pageNum,int perPage) ; // basic list of track objects
-
- /**
- * Searches for a track having similar finger print asynchronously.
- * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
- * once its arrived.
- * @param signature The search criteria,signature to be searched for
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void trackInfo(SmfMusicFingerPrint signature,int pageNum,int perPage) ; // search by fingerprint object
-
- /**
- * Search information about where to buy this song from asynchronously.
- * The signal storeSearchAvailable() is emitted with SmfProviderList once its arrived.
- * @param track The search criteria for stores
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void stores(SmfTrackInfo track,int pageNum,int perPage) ;
- /**
- * Posts currently playing track.
- * Success can be checked by checking the signal postFinished()
- * @param track Track to post
- */
- void postCurrentPlaying(SmfTrackInfo track) ;
- void postRating(SmfTrackInfo track, SmfMusicRating rate) ;
- void postComments(SmfTrackInfo track, SmfComment comment) ;
- /** from smfobserver */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
-private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- #ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
- #endif
- bool m_connected;
- SmfMusicSearch* m_musicSearch;
- SmfMusicProfile* m_profile;
- SmfProviderList* m_providers;
- SmfTrackInfoList* m_trackInfoList;
- SmfMusicProfileList m_profileList;
- };
-class SmfPlaylistServicePrivate : public smfObserver
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfPlaylistService with base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfPlaylistServicePrivate(SmfPlaylistService* aPlayLstSrvc);
- ~SmfPlaylistServicePrivate();
-
-public:
-
- /**
- * Gets the list playlists for the logged-in user asynchronously.
- * The signal playlistsListAvailable() signal is emitted with
- * SmfPlaylistList once its arrived .
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void playlists(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ; // basic list of playlist objects
-
- /**
- * Gets the list playlists for the given user asynchronously.
- * The signal playlistsListAvailable() signal is emitted with
- * SmfPlaylistList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param user User for which to get the playlists
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void playlistsOf(SmfMusicProfile* user,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE) ;
- /**
- * Upload currently playing track to a playlist. Signal
- * playlistUpdated() can be checked for success value
- * @param plst The playlist to be added in
- * @param tracks The list of tracks to uploaded
- */
- int addToPlaylist(SmfPlaylist plst, SmfTrackInfoList* tracks) ;
-
- /**
- * Upload currently playing playlist . Signal
- * playlistUpdated() can be checked for success value
- * @param plst The playlist to be uploaded
- */
- int postCurrentPlayingPlaylist(SmfPlaylist plst) ;
- /** from smfobserver */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
-private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- #ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
- #endif
- bool m_connected;
- SmfPlaylistService* m_playlstSrvc;
- SmfPlaylistList* m_playlistList;
-};
-
-class SmfMusicEventsPrivate : public smfObserver
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfMusicEvents with base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfMusicEventsPrivate(SmfMusicEvents* aMusicEvent);
- ~SmfMusicEventsPrivate();
-
-public:
-
- /**
- * Gets list of events in a particular location asynchronously.
- * eventsAvailable() signal is emitted with SmfEventsList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void events(QContactGeoLocation location,int pageNum,int perPage) ;
-
- /**
- * Gets list of venues of a particular location asynchronously.
- * venuesAvailable() signal is emitted with SmfLocationList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void venues(QContactGeoLocation location,int pageNum,int perPage) ; // basic list of venue objects
-
- /**
- * Gets list of events in a particular venue asynchronously.
- * eventsAvailable() signal is emitted with SmfEventsList once its arrived.
- * When the list is big user can specify the page number and per page item data.
- * If not supplied by the user default values are used.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void events(SmfLocation venue,int pageNum,int perPage) ; // basic list of events objects
-
-/**
- * Updates events. Might not be supported by all service provider.
- * eventsUpdated() signal can be checked for success value.
- * @param SmfEventsList List of events to be posted
- */
- void postEvents(SmfEventList events);
- /** from smfobserver */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
- private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- #ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
- #endif
- bool m_connected;
- SmfMusicEvents* m_musicEvent;
- SmfEventList* m_events;
- SmfLocationList* m_venues;
-};
-
-/**
-* provides service ("org.symbian.smf.client.music.lyrics")
-*/
-class SmfLyricsServicePrivate : public smfObserver
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfLyricsService with base provider info.
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
-
- SmfLyricsServicePrivate(SmfLyricsService* aLyricsSrvc);
- ~SmfLyricsServicePrivate();
-
-public:
-
- /**
- * Get the lyrics lists asynchrnously, it fetches texts without time info.
- * lyricsAvailable() notification comes SmfLyricsList with when the data is available
- * @param track Track for which lyrics needs to be fetched.
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void lyrics(SmfTrackInfo track,int pageNum,int perPage) ;
-
- /**
- * Get the lyrics lists asynchrnously, it fetches texts with time info.
- * Subtitle search filter can be applied
- * subtitleAvailable() notification comes SmfSubtitleList with when the data is available
- * @param track Track for which subtitle needs to be fetched.
- * @param filter Subtitle search filter
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- */
- void subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter,int pageNum,int perPage) ; // texts with time information
- /** from smfobserver */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
-private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- #ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
- #endif
- bool m_connected;
- SmfLyricsService* m_lyricsSrvc;
- SmfLyricsList* m_lyricsList;
- SmfSubtitleList* m_subList;
-};
-#endif
--- a/smf/smfservermodule/smfclient/client/smfpostprovider.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/**
- * 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:
- * The SmfEvent class represents an event
- *
- */
-
-#include "smfpostprovider.h"
-#include <QVector>
-#include <QTextFormat>
-
- /**
- * Constructs SmfPostProvider.
- * @param baseProvider The base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfPostProvider::SmfPostProvider(SmfProvider* baseProvider)
- {
- m_baseProvider = baseProvider;
- //creating private impl wrapper
- m_private = new SmfPostProviderPrivate(this);
- }
- SmfPostProvider::~SmfPostProvider()
- {
-
- }
- /**
- * returns maximum no of chars (unicode) that service provider can post without truncation
- * negative value means no limit
- */
- qint32 SmfPostProvider::maxCharsInPost() const
- {
-
- }
- /**
- * returns maximum no of items that can be returned in a single query to getPosts
- * negative value means feature not supported.
- */
- qint32 SmfPostProvider::maxItems() const
- {
-
- }
-
- /**
- * returns all the formatting of posts that this service provider supports.
- * May return 0 items to mean only QString is supported.
- */
- QVector<QTextFormat> SmfPostProvider::supportedFormats () const
- {
-
- }
-
- /**
- * returns whether this SP supports Appearence @see SmfAppearenceInfo
- */
- bool SmfPostProvider::supportsAppearence () const
- {
-
- }
-
- /**
- * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
- * once the post lists are available
- * @param user user's contact in this SP, omit for self contact
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- * @see postsAvailable()
- */
- void SmfPostProvider::posts(SmfContact* user ,int pageNum,int perPage)
- {
- m_private->posts(user,pageNum,perPage);
- }
-
- /**
- * Updates a post to own area, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData data to be posted
- * @param location location data
- */
- void SmfPostProvider::post(SmfPost& postData,SmfLocation& location)
- {
- m_private->post(postData,location);
- }
- /**
- * Updates the last post to own area with new data, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData edited/new data to be posted
- * @param location location data
- */
- void SmfPostProvider::updatePost(SmfPost& postData)
- {
- m_private->updatePost(postData);
- }
-
- /**
- * Updates a post to a particular Smf contact. the success of the post can be checked with signal
- * updatePostFinished() signal.
- * @param postData data to be posted
- * @param contact contact to which the post is to be directed
- * @param location location data
- */
- void SmfPostProvider::postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location)
- {
- m_private->postDirected(postData,contact,location);
- }
-
- /**
- * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
- * @param appearence user appearance
- * @see SmfPresenceInfo
- * @return False on Failure/Not supported
- */
- bool SmfPostProvider::postAppearence(SmfAppearenceInfo appearence)
- {
- m_private->postAppearence(appearence);
- }
- /**
- * Share /a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
- * emits updatePostFinished() signal when done.
- * @param postData data to be posted
- * @param contact contact to which the post belonged
- * @param bool whether user changed items within the post
- */
- void SmfPostProvider::sharePost(SmfPost& postData,SmfContact& contact,bool edited)
- {
- m_private->sharePost(postData,contact,edited);
- }
-
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* SmfPostProvider::getProvider() const
- {
- return m_baseProvider;
- }
-
--- a/smf/smfservermodule/smfclient/client/smfpostprovider.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/**
- * 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:
- * SmfPostProvider
- *
- */
-#ifndef SMFPOSTPROVIDER_H
-#define SMFPOSTPROVIDER_H
-
-#include <QObject>
-#include <qmobilityglobal.h>
-#include <qgeopositioninfo.h>
-#include <QTextDocument>
-
-#include "smfglobal.h"
-#include "smfclientglobal.h"
-#include "smfprovider.h"
-#include "smfcontact.h"
-#include "smflocation.h"
-#include "smfpost.h"
-#include "smfpostprovider_p.h"
-
-/**
- * @ingroup smf_client_group
- * Interface to post scrap/tweet like info.
- * Note that branding information for the particular service implementation
- * is available from getProvider() API. See also:
- * SmfProvider::serviceName(), SmfProvider::serviceIcon(), SmfProvider::description()
- *
- * Interface name for SmfPostProvider is org.symbian.smf.client.contact.posts
- */
-class SMFCLIENT_EXPORT SmfPostProvider : public QObject
- {
- Q_OBJECT
-
-public:
- /**
- * Constructs SmfPostProvider.
- * @param baseProvider The base provider info
- * Seeing as this is a plug-in implementation, these will realistically
- * be generated by SMF factory of some kind
- */
- SmfPostProvider(SmfProvider* baseProvider);
- ~SmfPostProvider();
-
-
-public:
- /**
- * returns maximum no of chars (unicode) that service provider can post without truncation
- * negative value means no limit
- */
- qint32 maxCharsInPost() const;
- /**
- * returns maximum no of items that can be returned in a single query to getPosts
- * negative value means feature not supported.
- */
- qint32 maxItems() const;
-
- /**
- * returns all the formatting of posts that this service provider supports.
- * May return 0 items to mean only QString is supported.
- */
- QVector<QTextFormat> supportedFormats () const;
-
- /**
- * returns whether this SP supports Appearence @see SmfAppearenceInfo
- */
- bool supportsAppearence () const;
-
-public slots:
- /**
- * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
- * once the post lists are available
- * @param user user's contact in this SP, omit for self contact
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- * @see postsAvailable()
- */
- void posts(SmfContact* user = 0,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Updates a post to own area, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData data to be posted
- * @param location location data
- */
- void post(SmfPost& postData,SmfLocation& location) ;
- /**
- * Updates the last post to own area with new data, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData edited/new data to be posted
- * @param location location data
- */
- void updatePost(SmfPost& postData);
-
- /**
- * Updates a post to a particular Smf contact. the success of the post can be checked with signal
- * updatePostFinished() signal.
- * @param postData data to be posted
- * @param contact contact to which the post is to be directed
- * @param location location data
- */
- void postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location=0);
-
- /**
- * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
- * @param appearence user appearance
- * @see SmfPresenceInfo
- * @return False on Failure/Not supported
- */
- bool postAppearence(SmfAppearenceInfo appearence);
- /**
- * Share /a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
- * emits updatePostFinished() signal when done.
- * @param postData data to be posted
- * @param contact contact to which the post belonged
- * @param bool whether user changed items within the post
- */
- void sharePost(SmfPost& postData,SmfContact& contact,bool edited);
- /**
- * Request for a custom operation.
- * @param operationId OperationId
- * @param customData Custom data to be sent
- * Note:-Interpretation of operationId and customData is upto the concerned
- * plugin and client application. service provider should provide some
- * serializing-deserializing utilities for these custom data
- */
- void customRequest(const int& operationId,QByteArray* customData){/*to be implemented*/};
- //APIs to get/set base provider info (SmfProvider)
-
- /**
- * Gets the base provider info
- */
- SmfProvider* getProvider() const;
-
-signals:
-
- /**
- * Emitted when a request to getPosts() is finished
- * Note if number of posts is large, then it can download the list page by page
- * In that case this signal is emitted multiple times.
- * @param list list of posts
- * @param error error string
- * @param resultPage Page number info
- */
- void postsAvailable(SmfPostList* list, SmfError error, SmfResultPage resultPage);
-
- /**
- * Emitted when update post is finished.
- * @param success the success of the update
- */
- void postFinished(SmfError success);
- /**
- * Emitted when custom data is available
- * @param operationId Requested operation id
- * @param customData Custom data received, interpretation is not the responsibility of Smf
- */
- void customDataAvailable(int operationId, QByteArray* customData);
- //friend so that it can directly emit SmfPostProvider's signal
- friend class SmfPostProviderPrivate;
-private:
- SmfProvider* m_baseProvider;
- //private impl wrapper
- SmfPostProviderPrivate* m_private;
-};
-
-SMF_SERVICE_NAME(SmfPostProvider, "org.symbian.smf.client.contact.posts\0.2")
-#endif // SMFPOSTPROVIDER_H
--- a/smf/smfservermodule/smfclient/client/smfpostprovider_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/**
- * 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
- *
- *
- */
-
-#include "smfpostprovider_p.h"
-//logging headers
-#ifdef WRITE_LOG
-#include <QTextStream>
-#include <QFile>
-#endif
-#ifdef Q_OS_SYMBIAN
-#include "smfclientsymbian.h"
-#else
-#include "SmfClientQt.h"
-#endif
-SmfPostProviderPrivate::SmfPostProviderPrivate(SmfPostProvider* postProvider)
-: m_postProvider(postProvider),m_postList(NULL)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
- #endif
- }
-SmfPostProviderPrivate::~SmfPostProviderPrivate()
- {
- if(m_SmfClientPrivate)
- {
- delete m_SmfClientPrivate;
- m_SmfClientPrivate = NULL;
- }
- }
-/**
- * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
- * once the post lists are available
- * @param user user's contact in this SP, omit for self contact
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- * @see postsAvailable()
- */
-void SmfPostProviderPrivate::posts(SmfContact* user ,int pageNum,int perPage)
-{
- //We need to pass Opcode and SmfProvider+SmfContact
- // (when user is not NULL) serialized into bytearray
-
- m_baseProvider = m_postProvider->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 1;
- write<<m_pageInfoFlag;
- write<<pageNum;
- write<<perPage;
- //TODO:- use different opcode incase post retreival is for other user
- //serialize SmfContact if post retrieval is for other user
-
- if(user)
- {
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
- //now serialize SmfContact
- m_xtraInfoSerialized.clear();
- QDataStream Xtrawrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- Xtrawrite<<*(user);
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- }
- else
- {
- m_xtraInfoFlag = 0;
- write<<m_xtraInfoFlag;
- }
- //serialize end
- intfName.clear();
- intfName.append(postProviderInterface);
- int maxAllocation = MaxSmfPostSize*perPage;
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactRetrievePosts,maxAllocation,m_xtraInfoSerialized);
-
-}
-
-/**
- * Updates a post to own area, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData data to be posted
- * @param location location data
- */
-void SmfPostProviderPrivate::post(SmfPost& postData,SmfLocation& location)
- {
- m_xtraInfoSerialized.clear();
- m_baseProvider = m_postProvider->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- //SmfProvider
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
-
- QDataStream xtraInfoWrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //SmfPost
- xtraInfoWrite<<postData;
- //SmfPlace
- xtraInfoWrite<<location;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- //serialize end
- QString intfName(postProviderInterface);
- //we are not mentioning the max size, as we'll receive only bool
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactPost,10,m_xtraInfoSerialized);
- }
-/**
- * Updates the last post to own area with new data, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData edited/new data to be posted
- * @param location location data
- */
-void SmfPostProviderPrivate::updatePost(SmfPost& postData)
- {
- m_baseProvider = m_postProvider->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- //SmfProvider
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
-
- QDataStream xtraInfoWrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //SmfPost
- xtraInfoWrite<<postData;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- //serialize end
- QString intfName(postProviderInterface);
- //we are not mentioning the max size, as we'll receive only bool
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactUpdatePost,10,m_xtraInfoSerialized);
- }
-
-/**
- * Updates a post to a particular Smf contact. the success of the post can be checked with signal
- * updatePostFinished() signal.
- * @param postData data to be posted
- * @param contact contact to which the post is to be directed
- * @param location location data
- */
-void SmfPostProviderPrivate::postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location)
- {
-
- m_baseProvider = m_postProvider->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- //SmfProvider
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
-
- QDataStream xtraInfoWrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- //SmfPost
- xtraInfoWrite<<postData;
- //SmfContact
- xtraInfoWrite<<contact;
- //SmfPlace
- xtraInfoWrite<<location;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- //serialize end
-
- QString intfName(postProviderInterface);
- //we are not mentioning the max size, as we'll receive only bool
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactPostDirected,10,m_xtraInfoSerialized);
- }
-
-/**
- * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
- * @param appearence user appearance
- * @see SmfPresenceInfo
- * @return False on Failure/Not supported
- */
-//TODO:-How to return "supported" value? should it be synchronous?
-//Currently doing it asynchronously with the assumption of always supported
-//TODO:- implement some signal completion API
-bool SmfPostProviderPrivate::postAppearence(SmfAppearenceInfo appearence)
- {
- m_baseProvider = m_postProvider->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
- QDataStream xtraInfoWrite(&m_xtraInfoSerialized,QIODevice::WriteOnly);
- xtraInfoWrite<<appearence;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- QString intfName(postProviderInterface);
- //we are not mentioning the max size, as we'll receive only bool
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactPostAppearence,10,m_xtraInfoSerialized);
- }
-/**
- * Share /a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
- * emits updatePostFinished() signal when done.
- * @param postData data to be posted
- * @param contact contact to which the post belonged
- * @param bool whether user changed items within the post
- */
-void SmfPostProviderPrivate::sharePost(SmfPost& postData,SmfContact& contact,bool edited)
- {
- m_baseProvider = m_postProvider->getProvider();
- //serialize start
- QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
- write<<*(m_baseProvider);
- m_pageInfoFlag = 0;
- write<<m_pageInfoFlag;
- //m_xtraInfoFlag = 1;
- //write<<m_xtraInfoFlag;
-
- QDataStream xtraInfoWrite(&m_serializedDataToServer,QIODevice::WriteOnly);
- xtraInfoWrite<<postData;
- xtraInfoWrite<<contact;
- xtraInfoWrite<<edited;
- m_xtraInfoFlag = m_xtraInfoSerialized.size();
- write<<m_xtraInfoFlag;
- QString intfName(postProviderInterface);
- //we are not mentioning the max size, as we'll receive only bool
- //call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactSharePost,10,m_serializedDataToServer);
- }
-/**
-* From smfobserver
-*/
-void SmfPostProviderPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
- {
- writeLog("SmfPostProviderPrivate::resultsAvailable");
- writeLog("opcode=");
- writeLog(QString::number(opcode));
- QDataStream reader(&result,QIODevice::ReadOnly);
- //Now de-serialize it based on opcode
- switch(opcode)
- {
- case SmfContactRetrievePosts:
- {
- if(m_postList)
- {
- delete m_postList;
- m_postList = NULL;
- }
-
- m_postList = new SmfPostList;
- reader>>*(m_postList);
- writeLog("postList.count=");
- writeLog(QString::number(m_postList->count()));
- foreach(SmfPost post,*m_postList)
- {
- writeLog(post.description());
- }
- //not incorporating paging now
- SmfResultPage page;
-
- emit m_postProvider->postsAvailable(m_postList,error,page);
-
- }
- break;
- case SmfContactPost:
- {
- int errInt;
- reader>>errInt;
- writeLog("success=");
- SmfError success = (SmfError)errInt;
- emit m_postProvider->postFinished(success);
-
- }
- break;
- case SmfContactUpdatePost:
- case SmfContactPostDirected:
- case SmfContactSharePost:
- {
- int errInt;
- reader>>errInt;
- writeLog("success=");
- SmfError success = (SmfError)errInt;
- emit m_postProvider->postFinished(success);
- }
- default:
- Q_ASSERT_X(1,"SmfPostProviderPrivate::resultsAvailable","default case");
- }
- }
-void SmfPostProviderPrivate::writeLog(QString log) const
- {
-#ifdef WRITE_LOG
- QFile file("c:\\data\\SmfClientLogs.txt");
- if (!file.open(QIODevice::Append | QIODevice::Text))
- return;
- QTextStream out(&file);
- out << log << "\n";
- file.close();
-#endif
- }
--- a/smf/smfservermodule/smfclient/client/smfpostprovider_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/**
- * 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:
- *
- *
- */
-#ifndef SMFPOSTPROVIDER_P_H_
-#define SMFPOSTPROVIDER_P_H_
-
-#include "smfprovider.h"
-#include "SmfClientGlobal.h"
-#include "smfGlobal.h"
-#include "SmfObserver.h"
-
-class SmfProvider;
-class SmfPostProvider;
-
-#include <QObject>
-#include <QDateTime>
-#include <QStringList>
-
-#include "smfobserver.h"
-#include "smfpostprovider.h"
-#ifdef Q_OS_SYMBIAN
-class CSmfClientSymbian;
-#else
-class SmfClientQt;
-#endif
-
-/**
- * Data size limits
- */
-/**
- * Single Post-1 MB
- */
-const int KSmfPostMaxSize = 1000000;
-/**
- * Private Qt wrapper
- * Provided to accomodate diff facilities in diff platforms.
- * Uses Symbian client-server for Symbian
- * QDbus for linux
- * QLocalserver for rest of the platforms
- * Note:- only symbian client-server impl is provided at the moment
- **/
-class SmfPostProviderPrivate: public smfObserver
- {
- Q_OBJECT
-
-public:
-
- SmfPostProviderPrivate(SmfPostProvider* postProvider=0);
- ~SmfPostProviderPrivate();
- /**
- * From smfobserver
- */
- void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
- /**
- * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
- * once the post lists are available
- * @param user user's contact in this SP, omit for self contact
- * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
- * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
- * @see postsAvailable()
- */
- void posts(SmfContact* user = 0,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
-
- /**
- * Updates a post to own area, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData data to be posted
- * @param location location data
- */
- void post(SmfPost& postData,SmfLocation& location) ;
- /**
- * Updates the last post to own area with new data, the success of the post can be checked with signal
- * updatePostFinished() signal
- * @param postData edited/new data to be posted
- * @param location location data
- */
- void updatePost(SmfPost& postData);
-
- /**
- * Updates a post to a particular Smf contact. the success of the post can be checked with signal
- * updatePostFinished() signal.
- * @param postData data to be posted
- * @param contact contact to which the post is to be directed
- * @param location location data
- */
- void postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location=0);
-
- /**
- * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
- * @param appearence user appearance
- * @see SmfPresenceInfo
- * @return False on Failure/Not supported
- */
- bool postAppearence(SmfAppearenceInfo appearence);
- /**
- * Share /a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
- * emits updatePostFinished() signal when done.
- * @param postData data to be posted
- * @param contact contact to which the post belonged
- * @param bool whether user changed items within the post
- */
- void sharePost(SmfPost& postData,SmfContact& contact,bool edited);
-
- private:
- SmfProvider* m_baseProvider;
- //serialized byte array of provider+other info to be sent to the server
- //The order:- SmfProvider then params in order of their appearance in fn
- QByteArray m_serializedDataToServer;
- //serialized xtra info, order of serialization follows order of param
- QByteArray m_xtraInfoSerialized;
- #ifdef Q_OS_SYMBIAN
- CSmfClientSymbian* m_SmfClientPrivate;
- friend class CSmfClientSymbian;
- #else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
- #endif
- bool m_connected;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
- SmfPostProvider* m_postProvider;
- SmfPostList* m_postList;
- void writeLog(QString log) const;
- private:
- QString intfName;
- };
-#endif /* SMFPOSTPROVIDER_P_H_ */
--- a/smf/smfservermodule/smfclient/client/smfrelationmgr.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/**
- * 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
- */
-
-#include "smfrelationmgr.h"
-#include "smfrelationmgr_p.h"
-
-SmfRelationItem::SmfRelationItem(SmfProvider* provider)
- {
- m_provider = *(provider);
- }
-SmfProvider SmfRelationItem::getProvider() const
- {
- return m_provider;
- }
-void SmfRelationItem::setProvider(SmfProvider& provider)
- {
- m_provider = provider;
- }
-SmfContact SmfRelationItem::getContact() const
- {
- return m_contact;
- }
-void SmfRelationItem::setContact(SmfContact& contact)
- {
- m_contact = contact;
- }
-quint32 SmfRelationItem::getIndex() const
- {
- return m_index;
- }
-void SmfRelationItem::setIndex(quint32 index)
- {
- m_index = index;
- }
-QDataStream &operator<<( QDataStream &aDataStream,const SmfRelationItem &aRelnItem )
- {
- aDataStream<<aRelnItem.getProvider();
- aDataStream<<aRelnItem.getContact();
- aDataStream<<aRelnItem.getIndex();
- }
-
-QDataStream &operator>>( QDataStream &aDataStream,SmfRelationItem &aRelnItem)
- {
- SmfContact contact;
- SmfProvider provider;
- quint32 index;
-
- aDataStream>>provider;
- aDataStream>>contact;
- aDataStream>>index;
-
- aRelnItem.setProvider(provider);
- aRelnItem.setContact(contact);
- aRelnItem.setIndex(index);
- }
-SmfRelationMgr::SmfRelationMgr(QObject* parent):QObject(parent)
- {
- m_private = new SmfRelationMgrPrivate(this);
- }
-SmfRelationMgr::~SmfRelationMgr()
- {
- if(m_private)
- {
- delete m_private;
- m_private = NULL;
- }
- }
-SmfRelationId SmfRelationMgr::create(SmfProvider *provider, SmfContact *contact)
- {
- return m_private->create(provider,contact);
- }
-SmfError SmfRelationMgr::associate(const SmfRelationId& relation,const SmfContact* contact,SmfProvider* provider)
- {
- return m_private->associate(relation,contact,provider);
- }
-SmfError SmfRelationMgr::remove(SmfRelationId& relation,const SmfContact* contact)
- {
- return m_private->remove(relation,contact);
- }
-SmfRelationItem SmfRelationMgr::searchById(const SmfRelationId& relation)
- {
- return m_private->searchById(relation);
- }
-SmfRelationId SmfRelationMgr::searchByContact( SmfContact contact)
- {
- return m_private->searchByContact(contact);
- }
-uint SmfRelationMgr::count(SmfRelationId relation)
- {
- return m_private->count(relation);
- }
-SmfRelationItem SmfRelationMgr::get(SmfRelationId& relation, quint32 index)
- {
- return m_private->get(relation,index);
- }
-QList<SmfRelationItem> SmfRelationMgr::getAll(SmfRelationId& relation)
- {
- return m_private->getAll(relation);
- }
-QList<SmfRelationId> SmfRelationMgr::getAllRelations()
- {
- return m_private->getAllRelations();
- }
-SmfError SmfRelationMgr::Delete(SmfRelationId& relation)
- {
- return m_private->Delete(relation);
- }
--- a/smf/smfservermodule/smfclient/client/smfrelationmgr.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/**
- * 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:
- * Interface spefication for managing associations between various social contacts
- */
-#ifndef SMFRELATIONMGR_H
-#define SMFRELATIONMGR_H
-
-#include "smfprovider.h"
-#include "smfcontact.h"
-#include "smfglobal.h"
-
-/** implementaion constants */
-const int maxSmfRelationIdSize = 500;
-const int maxSmfRelationItemSize = 1000;
-const int maxRelationItems = 1000;
-
-
-/** forward*/
-class SmfRelationMgrPrivate;
-
-/**
- * persistent Id of a relation.
- */
-typedef QString SmfRelationId;
-
-/**
-* One record of a contact in a relation. Index specifies their position in the relationship.
-*/
-class SMFCLIENT_EXPORT SmfRelationItem : public SmfContact
- {
-public:
- SmfRelationItem(SmfProvider* provider=0);
-public:
- SmfProvider getProvider() const;
- void setProvider(SmfProvider& provider);
- SmfContact getContact() const;
- void setContact(SmfContact& contact);
- quint32 getIndex() const;
- void setIndex(quint32 index);
-private:
- SmfProvider m_provider;
- SmfContact m_contact;
- quint32 m_index;
- };
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfRelationItem &aRelnItem );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfRelationItem &aRelnItem);
-/**
- * All remote profiles (e.g. facebook, twitter, flicker) for a particular
- * person (or entity) constitutes a relation. Relation Manager stores
- * these relations in persistent memory.
- *
- * Relations and Items can be visualized in rows and columns.
- * Each row is identified by a RelationId.
- * Each column is identified by index of that Item in the relation
- * Each Items holds necessary information for SmfProvider and SmfContact.
- * In the diagram below C1, C2... could be local or remote contacts, which means
- * that C1, C2 .. could be contacts from device-resident phonebook. For example, for contact C1,
- * items at index 1,2,3.. in this relationship denotes C1's id in Facebook, Twitter, flickr,... .
- *
- * Relation Item Relation Item Relation Item Relation Item Relation Item
- * Index1 index2 index3 index4 index5
- * _______________________________________________________________________
- * | | | | | |
- * RelationId 1 | C1 | Remote | Remote | Remote | Remote |
- * | | Contact | Contact | Contact | Contact |
- * ------------------------------------------------------------------------------------------------------------------
- * | | | | | |
- * RelationId 2 | C2 | Remote | Remote | | |
- * | | Contact | Contact | | |
- * -----------------------------------------------------------------------------------------------------------------
- * | | | | | |
- * RelationId 3 | C3 | Remote | | | |
- * | | Contact | | | |
- * -----------------------------------------------------------------------------------------------------------------
- * | | | | | |
- * RelationId 4 | C4 | Remote | Remote | | |
- * | | Contact | Contact | | |
- * -----------------------------------------------------------------------------------------------------------------
- * | | | | | |
- * RelationId 5 | C5 | Remote | | | |
- * | | Contact | | | |
- * -----------------------------------------------------------------------------------------------------------------
- *
- * Items can be added (associated) to a given relation. So this is one-to-many
- * relationship. Typically no items be present in more than one relation.
- *
- * All functions are synchronous at this moment.
- */
-class SMFCLIENT_EXPORT SmfRelationMgr : public QObject
- {
- Q_OBJECT
-public:
- SmfRelationMgr(QObject* parent = 0);
- ~SmfRelationMgr();
-
-public slots:
-
- /** create a new relation. The contact provided is the first contact in this
- * relation.
- * Please note that contact should have valid Guid @ref QtMobility::QContactGuid
- * (used by Smf to store the unique id of user from facebook, etc.) and valid Url
- * @ref QtMobility::QContactUrl
- *
- * If the contact is already stored with ContactManager (e.g. contact exists in phonebook),
- * then it would have QtMobility::QContactId properly filled with managerUri and localId.
- * These two field would also be stored in SmfRelationMgr (for easily identifying the SmfContacts).
- *
- * After successful creation, a relationId would be returned. More and more SmfContacts can
- * be added to this relation using this RelationId
- */
- SmfRelationId create(SmfProvider *provider=NULL, SmfContact *contact=NULL);
-
- /** assign contact to a relation */
- SmfError associate( const SmfRelationId& relation,
- const SmfContact* contact,
- SmfProvider* provider);
-
- /** remove contact from a relation */
- SmfError remove(SmfRelationId& relation,
- const SmfContact* conact);
-
- /** 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:
- //private impl wrapper
- SmfRelationMgrPrivate* m_private;
- };
-
-#endif // SMFRELATIONMGR_H
--- a/smf/smfservermodule/smfclient/client/smfrelationmgr_p.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/**
- * 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:
- *
- */
-
-#include "smfrelationmgr_p.h"
-//logging headers
-#ifdef WRITE_LOG
-#include <QTextStream>
-#include <QFile>
-#endif
-#ifdef Q_OS_SYMBIAN
-#include "smfclientsymbian.h"
-#else
-#include "SmfClientQt.h"
-#endif
-
-SmfRelationMgrPrivate::SmfRelationMgrPrivate(SmfRelationMgr* relnMngr)
- {
- //private impl for symbian
- #ifdef Q_OS_SYMBIAN
- m_SmfClientPrivate = CSmfClientSymbian::NewL();
- #endif
- }
-SmfRelationMgrPrivate::~SmfRelationMgrPrivate()
- {
- if(m_SmfClientPrivate)
- {
- delete m_SmfClientPrivate;
- m_SmfClientPrivate = NULL;
- }
- }
-SmfRelationId SmfRelationMgrPrivate::create(SmfProvider *provider, SmfContact *contact)
- {
- m_dataForDSM.clear();
- QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
- writeStream<<*(provider);
- writeStream<<contact;
- m_dataFromDSM.clear();
- SmfError err=SmfNoError;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationCreate,m_dataForDSM,err,maxSmfRelationIdSize);
- if(err==SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- SmfRelationId relnId;
- readStream>>relnId;
- return relnId;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- }
-SmfError SmfRelationMgrPrivate::associate(const SmfRelationId& relation,const SmfContact* contact,SmfProvider* provider)
- {
- m_dataForDSM.clear();
- QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
- writeStream<<relation;
- writeStream<<contact;
- writeStream<<provider;
-
- m_dataFromDSM.clear();
- SmfError err = SmfNoError;
- int maxAlloc = 100;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationAssociate,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- int errInt;
- readStream>>errInt;
- err = (SmfError)errInt;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- return err;
- }
-SmfError SmfRelationMgrPrivate::remove(SmfRelationId& relation,const SmfContact* contact)
- {
- m_dataForDSM.clear();
- QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
- writeStream<<relation;
- writeStream<<*(contact);
-
- m_dataFromDSM.clear();
- SmfError err = SmfNoError;
- int maxAlloc = 100;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationRemove,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- int errInt;
- readStream>>errInt;
- err = (SmfError)errInt;
- }
- else
- {
- const QString errStr = QString::number(err);
- Q_ASSERT_X(1,"SmfRelationMgrPrivate::remove","error");
- }
- return err;
- }
-SmfRelationItem SmfRelationMgrPrivate::searchById(const SmfRelationId& relation)
- {
- m_dataForDSM.clear();
- QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
- writeStream<<relation;
-
- m_dataFromDSM.clear();
- int maxAlloc = MaxSmfContactSize;
- SmfError err=SmfNoError;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationSearchById,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- SmfRelationItem relnItem;
- readStream>>relnItem;
- return relnItem;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- }
-SmfRelationId SmfRelationMgrPrivate::searchByContact( SmfContact contact)
- {
- m_dataForDSM.clear();
- QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
- writeStream<<contact;
-
- m_dataFromDSM.clear();
- int maxAlloc = 1000;
- SmfError err=SmfNoError;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationSearchByContact,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- SmfRelationId relnId;
- readStream>>relnId;
- return relnId;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- }
-//number of contacts in a relation
-uint SmfRelationMgrPrivate::count(SmfRelationId relation)
- {
- m_dataForDSM.clear();
- QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
- writeStream<<relation;
-
- m_dataFromDSM.clear();
- SmfError err = SmfNoError;
- int maxAlloc = 100;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationCount,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataForDSM,QIODevice::ReadOnly);
- uint count;
- readStream>>count;
- return count;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- }
-
-SmfRelationItem SmfRelationMgrPrivate::get(SmfRelationId& relation, quint32 index)
- {
- m_dataForDSM.clear();
- QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
- writeStream<<relation;
-
- m_dataFromDSM.clear();
- SmfError err = SmfNoError;
- int maxAlloc = maxSmfRelationItemSize;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationGet,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- SmfRelationItem relationItem;
- readStream>>relationItem;
- return relationItem;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- }
-QList<SmfRelationItem> SmfRelationMgrPrivate::getAll(SmfRelationId& relation)
- {
- m_dataForDSM.clear();
-
- m_dataFromDSM.clear();
- SmfError err = SmfNoError;
- int maxAlloc = maxSmfRelationItemSize*maxRelationItems;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationGetAll,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- QList<SmfRelationItem> relationItemList;
- readStream>>relationItemList;
- return relationItemList;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- }
-QList<SmfRelationId> SmfRelationMgrPrivate::getAllRelations()
- {
- m_dataForDSM.clear();
-
- m_dataFromDSM.clear();
- SmfError err = SmfNoError;
- int maxAlloc = 1000*maxRelationItems;
- m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationGetAllRelations,m_dataForDSM,err,maxAlloc);
- if(err == SmfNoError)
- {
- QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
- QList<SmfRelationId> relationIdList;
- readStream>>relationIdList;
- return relationIdList;
- }
- else
- {
- User::Panic(_L("DSM err="),err);
- }
- }
-SmfError SmfRelationMgrPrivate::Delete(SmfRelationId& relation)
- {
-
- }
--- a/smf/smfservermodule/smfclient/client/smfrelationmgr_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/**
- * 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:
- *
- */
-#include "smfprovider.h"
-#include "SmfClientGlobal.h"
-#include "smfGlobal.h"
-#include "SmfObserver.h"
-
-#include <QStringList>
-#include "smfrelationmgr.h"
-class SmfProvider;
-#ifdef Q_OS_SYMBIAN
-class CSmfClientSymbian;
-#else
-class SmfClientQt;
-#endif
-class SmfRelationMgrPrivate
- {
-public:
- SmfRelationMgrPrivate(SmfRelationMgr* relnMngr);
- ~SmfRelationMgrPrivate();
- //create a relation with first contact (id optional)
- SmfRelationId create(SmfProvider *provider=NULL, SmfContact *contact=NULL);
- /** assign contact to a relation */
- SmfError associate( const SmfRelationId& relation,
- const SmfContact* contact,
- SmfProvider* provider);
-
- /** remove contact from a relation */
- SmfError remove(SmfRelationId& relation,
- const SmfContact* conact);
-
- /** 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;
- int m_xtraInfoFlag;
- int m_pageInfoFlag;
-#else
- SmfClientQt* m_SmfClientPrivate;
- friend class SmfClientQt;
-#endif
- QByteArray m_dataForDSM;
- QByteArray m_dataFromDSM;
- };
--- a/smf/smfservermodule/smfclient/common/common.pri Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-INCLUDEPATH += common \
- ./
-
-PUBLIC_HEADERS += \
- common/smfactions.h \
- common/smfalbum.h \
- common/smfartists.h \
- common/smfcomment.h \
- common/smfcontact.h \
- common/smfevent.h \
- common/smfgroup.h \
- common/smflocation.h \
- common/smflyrics.h \
- common/smfmusicfingerprint.h \
- common/smfmusicprofile.h \
- common/smfmusicrating.h \
- common/smfpicture.h \
- common/smfpicturealbum.h \
- common/smfplaylist.h \
- common/smfpluginutil.h \
- common/smfpost.h \
- common/smfprovider.h \
- common/smfsubtitle.h \
- common/smftrackinfo.h \
- common/smfurl.h \
- common/smfclientglobal.h \
- common/smfglobal.h \
- common/smfobserver.h
-
-PRIVATE_HEADERS += \
- common/smfactions_p.h \
- common/smfalbum_p.h \
- common/smfartists_p.h \
- common/smfcomment_p.h \
- common/smfcontact_p.h \
- common/smfevent_p.h \
- common/smfgroup_p.h \
- common/smflocation_p.h \
- common/smflyrics_p.h \
- common/smfmusicfingerprint_p.h \
- common/smfmusicprofile_p.h \
- common/smfmusicrating_p.h \
- common/smfpicture_p.h \
- common/smfpicturealbum_p.h \
- common/smfplaylist_p.h \
- common/smfpost_p.h \
- common/smfsubtitle_p.h \
- common/smftrackinfo_p.h \
- common/smfurl_p.h \
- common/smfobserver.h
-
-SOURCES += \
- common/smfactions.cpp \
- common/smfalbum.cpp \
- common/smfartists.cpp \
- common/smfcomment.cpp \
- common/smfcontact.cpp \
- common/smfevent.cpp \
- common/smfgroup.cpp \
- common/smflocation.cpp \
- common/smflyrics.cpp \
- common/smfmusicfingerprint.cpp \
- common/smfmusicprofile.cpp \
- common/smfmusicrating.cpp \
- common/smfpicture.cpp \
- common/smfpicturealbum.cpp \
- common/smfplaylist.cpp \
- common/smfpluginutil.cpp \
- common/smfpost.cpp \
- common/smfprovider.cpp \
- common/smfsubtitle.cpp \
- common/smftrackinfo.cpp \
- common/smfurl.cpp
-
-symbian: {
- BLD_INF_RULES.prj_exports += common/smfclientglobal.h
- BLD_INF_RULES.prj_exports += common/smfglobal.h
- BLD_INF_RULES.prj_exports += common/smfobserver.h
- BLD_INF_RULES.prj_exports += common/smfactions.h
- BLD_INF_RULES.prj_exports += common/smfactions_p.h
- BLD_INF_RULES.prj_exports += common/smfalbum.h
- BLD_INF_RULES.prj_exports += common/smfalbum_p.h
- BLD_INF_RULES.prj_exports += common/smfartists.h
- BLD_INF_RULES.prj_exports += common/smfartists_p.h
- BLD_INF_RULES.prj_exports += common/smfcomment.h
- BLD_INF_RULES.prj_exports += common/smfcomment_p.h
- BLD_INF_RULES.prj_exports += common/smfcontact.h
- BLD_INF_RULES.prj_exports += common/smfcontact_p.h
- BLD_INF_RULES.prj_exports += common/smfevent.h
- BLD_INF_RULES.prj_exports += common/smfevent_p.h
- BLD_INF_RULES.prj_exports += common/smfgroup.h
- BLD_INF_RULES.prj_exports += common/smfgroup_p.h
- BLD_INF_RULES.prj_exports += common/smflocation.h
- BLD_INF_RULES.prj_exports += common/smflocation_p.h
- BLD_INF_RULES.prj_exports += common/smflyrics.h
- BLD_INF_RULES.prj_exports += common/smflyrics_p.h
- BLD_INF_RULES.prj_exports += common/smfmusicfingerprint.h
- BLD_INF_RULES.prj_exports += common/smfmusicfingerprint_p.h
- BLD_INF_RULES.prj_exports += common/smfmusicprofile.h
- BLD_INF_RULES.prj_exports += common/smfmusicprofile_p.h
- BLD_INF_RULES.prj_exports += common/smfmusicrating.h
- BLD_INF_RULES.prj_exports += common/smfmusicrating_p.h
- BLD_INF_RULES.prj_exports += common/smfpicture.h
- BLD_INF_RULES.prj_exports += common/smfpicture_p.h
- BLD_INF_RULES.prj_exports += common/smfpicturealbum.h
- BLD_INF_RULES.prj_exports += common/smfpicturealbum_p.h
- BLD_INF_RULES.prj_exports += common/smfplaylist.h
- BLD_INF_RULES.prj_exports += common/smfplaylist_p.h
- BLD_INF_RULES.prj_exports += common/smfpluginutil.h
- BLD_INF_RULES.prj_exports += common/smfpost.h
- BLD_INF_RULES.prj_exports += common/smfpost_p.h
- BLD_INF_RULES.prj_exports += common/smfprovider.h
- BLD_INF_RULES.prj_exports += common/smfsubtitle.h
- BLD_INF_RULES.prj_exports += common/smfsubtitle_p.h
- BLD_INF_RULES.prj_exports += common/smftrackinfo.h
- BLD_INF_RULES.prj_exports += common/smftrackinfo_p.h
- BLD_INF_RULES.prj_exports += common/smfurl.h
- BLD_INF_RULES.prj_exports += common/smfurl_p.h
-}
--- a/smf/smfservermodule/smfclient/common/smfactions.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,440 +0,0 @@
-/**
- * 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:
- * Represents activities in terms similar to standard activity
- * stream http://activitystrea.ms/
- *
- */
-
-#include "smfactions.h"
-#include "smfactions_p.h"
-
-
-/**
- * Constructor
- */
-SmfActivityObject::SmfActivityObject( )
- {
- d = new SmfActivityObjectPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfActivityObject::SmfActivityObject( const SmfActivityObject &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfActivityObject& SmfActivityObject::operator=( const SmfActivityObject &aOther )
- {
- d->m_id = aOther.d->m_id;
- d->m_thumbnail = aOther.d->m_thumbnail;
- d->m_caption = aOther.d->m_caption;
- d->m_type = aOther.d->m_type;
- d->m_objData = aOther.d->m_objData;
- d->m_link = aOther.d->m_link;
- d->m_time = aOther.d->m_time;
- d->m_content = aOther.d->m_content;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfActivityObject::~SmfActivityObject( )
- {
- }
-
-
-/**
- * @return returns service specific Id of this object in the entry
- */
-QString SmfActivityObject::id( ) const
- {
- return d->m_id;
- }
-
-/**
- * @return returns thumbnail if availabel for this object in the entry
- */
-QImage SmfActivityObject::thumbnail( ) const
- {
- return d->m_thumbnail;
- }
-
-/**
- * @return Captions for this object
- */
-QString SmfActivityObject::caption( ) const
- {
- return d->m_caption;
- }
-
-/**
- * @return retruns the type of this object
- */
-SmfActivityObjectType SmfActivityObject::type( ) const
- {
- return d->m_type;
- }
-
-/**
- * @return returns data of the object - see type() for casting
- */
-QVariant SmfActivityObject::objData( ) const
- {
- return d->m_objData;
- }
-
-/**
- * @return url of this object, e.g. url of the image on which somebody commented
- */
-QString SmfActivityObject::link( ) const
- {
- return d->m_link;
- }
-
-/**
- * @return Time of creation of this object
- */
-QDateTime SmfActivityObject::time( ) const
- {
- return d->m_time;
- }
-
-/**
- * @return Description of the content of this object
- */
-QString SmfActivityObject::content( ) const
- {
- return d->m_content;
- }
-
-/**
- * Sets service specific id for this object
- * @param aId The id to be set
- */
-void SmfActivityObject::setId(const QString& aId)
- {
- d->m_id = aId;
- }
-
-/**
- * Sets thumbnail for this object , not mandatory
- * @param aIcon The thumbnail image
- */
-void SmfActivityObject::setThumbnail(const QImage& aIcon)
- {
- d->m_thumbnail = aIcon;
- }
-
-/**
- * Sets caption for this object
- * @param aCaption The caption to be set
- */
-void SmfActivityObject::setCaption(const QString& aCap)
- {
- d->m_caption = aCap;
- }
-
-/**
- * Sets type of this object - ObjData should be set next accordingly
- * @param aObjType The activity type to be set
- */
-void SmfActivityObject::setType(const SmfActivityObjectType& aObjType)
- {
- d->m_type = aObjType;
- }
-
-/**
- * Sets object data e,g, SmfImage, SmfComment, SmfMusic, SmfEvent etc
- * setType() with suitable type should have been called before
- * @param aData The object data to be set
- */
-void SmfActivityObject::setObjData( const QVariant& aData)
- {
- d->m_objData = aData;
- }
-
-/**
- * Sets the url for the object
- * @param aLink The Link to be set
- */
-void SmfActivityObject::setLink( const QString& aLink)
- {
- d->m_link = aLink;
- }
-
-/**
- * Sets the time of creation/last modification of the object
- * @param aTime The time to be set
- */
-void SmfActivityObject::setTime( const QDateTime& aTime)
- {
- d->m_time = aTime;
- }
-
-/**
- * Sets the description of the content of this object
- * @param aText The content to be set
- */
-void SmfActivityObject::setContent( const QString& aText)
- {
- d->m_content = aText;
- }
-
-/**
- * Method for Externalization. Writes the SmfActivityObject object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aObj The SmfActivityObject object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfActivityObject &aObj )
- {
- aDataStream<<aObj.d->m_id;
- aDataStream<<aObj.d->m_thumbnail;
- aDataStream<<aObj.d->m_caption;
- aDataStream<<aObj.d->m_type;
- aDataStream<<aObj.d->m_objData;
- aDataStream<<aObj.d->m_link;
- aDataStream<<aObj.d->m_time;
- aDataStream<<aObj.d->m_content;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfActivityObject object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aObj The SmfActivityObject object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfActivityObject &aObj)
- {
- aDataStream>>aObj.d->m_id;
- aDataStream>>aObj.d->m_thumbnail;
- aDataStream>>aObj.d->m_caption;
- int i;
- aDataStream>>i;
- aObj.d->m_type = (SmfActivityObjectType)i;
- aDataStream>>aObj.d->m_objData;
- aDataStream>>aObj.d->m_link;
- aDataStream>>aObj.d->m_time;
- aDataStream>>aObj.d->m_content;
-
- return aDataStream;
- }
-
-
-
-SmfActivityEntry::SmfActivityEntry()
- {
- d = new SmfActivityEntryPrivate;
- }
-SmfActivityEntry::SmfActivityEntry( const SmfActivityEntry &aOther )
- :d( aOther.d )
- {
- }
-SmfActivityEntry::~SmfActivityEntry()
- {
-
- }
-/**
- * @return Returns service specific id of the of entry
- */
-QString SmfActivityEntry::id() const
- {
- return d->m_id;
- }
-
-/**
- * @return Returns the title of the entry - mostly be a string
- */
-SmfPost SmfActivityEntry::title() const
- {
- return d->m_title;
- }
-
-/**
- * @return Returns detail descriptiopn of this entry in the activity list. might be absent if title is sufficient
- */
-SmfPost SmfActivityEntry::details() const
- {
- return d->m_details;
- }
-
-/**
- * @return Returns the author of the activity - the name and the uri field are most commonly used
- * Other information fields might be empty
- */
-SmfContact SmfActivityEntry::author() const
- {
- return d->m_author;
- }
-
-/**
- * @return Returns the verb of the activity ,e.g. Robin "marked" Joseph as a friend
- */
-SmfActivityVerb SmfActivityEntry::actionName() const
- {
- return d->m_actionName;
- }
-
-/**
- * There can be multiple objects in a single activity entry, though this may be rare - only for few verbs.
- * @return list of activity objects (mostly one object)
- */
-QList<SmfActivityObject> SmfActivityEntry::activities() const
- {
- return d->m_activities;
- }
-
-/**
- * @return Returns information about the target of the activity, for verbs that support a target.
- * For example, a target is a photo album to which photos were added
- */
-SmfActivityObject SmfActivityEntry::targetObj() const
- {
- return d->m_targetObj;
- }
-
-/**
- * Sets service specific id of the of entry
- * @param aId The id to be set
- */
-bool SmfActivityEntry::setId( const QString& aId)
- {
- d->m_id = aId;
- return true;
- }
-
-/**
- * Sets the title of the entry - mostly be a string
- * @param aTitle The title to be set
- */
-bool SmfActivityEntry::setTitle(const SmfPost& aTitle)
- {
- d->m_title = aTitle;
- return true;
- }
-
-/**
- * Sets detail description of this entry in the activity list. might be absent if title is sufficient
- * @param aDetails The details to be set
- */
-bool SmfActivityEntry::setDetails(const SmfPost& aDetails)
- {
- d->m_details = aDetails;
- return true;
- }
-
-/**
- * Sets the author of the activity - the name and the uri field are most commonly used
- * Oher information fields might be empty
- * @param aContact The author to be set
- */
-bool SmfActivityEntry::setAuthor(const SmfContact& aContact)
- {
- d->m_author = aContact;
- return true;
- }
-
-/**
- * Sets the verb of the activity ,e.g. Robin "marked" Joseph as a friend
- * @param aVerb The action name to be set
- */
-void SmfActivityEntry::setActionName(SmfActivityVerb aVerb)
- {
- d->m_actionName = aVerb;
- }
-
-/**
- * Sets single or multiple objects in a single activity entry, though multiple may be rare - only for few verbs.
- * @param list of activity objects (mostly one object)
- */
-bool SmfActivityEntry::setActivities(QList<SmfActivityObject>& aList)
- {
- d->m_activities = aList;
- return true;
- }
-
-/**
- * Returns information about the target of the activity, for verbs that support a target.
- * For example, a target is a photo album to which photos were added
- * @param aTarget The activity object to be set
- */
-bool SmfActivityEntry::setTargetObj(const SmfActivityObject& aTarget)
- {
- d->m_targetObj = aTarget;
- return true;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfActivityEntry object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aObj The SmfActivityEntry object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfActivityEntry &aObj )
- {
- aDataStream<<aObj.d->m_id;
- aDataStream<<aObj.d->m_title;
- aDataStream<<aObj.d->m_details;
- aDataStream<<aObj.d->m_author;
- aDataStream<<aObj.d->m_actionName;
- aDataStream<<aObj.d->m_activities;
- aDataStream<<aObj.d->m_targetObj;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfActivityEntry object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aObj The SmfActivityEntry object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfActivityEntry &aObj)
- {
- aDataStream>>aObj.d->m_id;
- aDataStream>>aObj.d->m_title;
- aDataStream>>aObj.d->m_details;
- aDataStream>>aObj.d->m_author;
- int i;
- aDataStream>>i;
- aObj.d->m_actionName = (SmfActivityVerb)i;
- aDataStream>>aObj.d->m_activities;
- aDataStream>>aObj.d->m_targetObj;
-
- return aDataStream;
- }
-
-
--- a/smf/smfservermodule/smfclient/common/smfactions.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/**
- * 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:
- * Represents activities in terms similar to standard activity stream http://activitystrea.ms/
- */
-
-#ifndef SMFACTIONS_H_
-#define SMFACTIONS_H_
-
-#include <QList>
-#include <QImage>
-#include <QDateTime>
-#include <QStringList>
-#include <QUrl>
-#include <qdatastream.h>
-#include <QSharedData>
-#include <QMetaType>
-
-#include "smfclientglobal.h"
-#include "smfpost.h"
-#include "smfcontact.h"
-
-/**
- * Implementation const
- */
-const int MaxSmfActivityEntrySize = 5000;
-
-/**
- * The actions in the activity based on Atom Activity Base Schema
- * see http://activitystrea.ms/schema/1.0/activity-schema-01.html
- */
-enum SmfActivityVerb
- {
- SmfActivityMarkAsFavorite,
- SmfActivityStartFollowing,
- SmfActivityMarkLiked,
- SmfActivityMakeFriend,
- SmfActivityJoin,
- SmfActivityPlay,
- SmfActivityPost,
- SmfActivitySave,
- SmfActivityShare,
- SmfActivityTag,
- SmfActivityUpdate
- };
-
-/**
- * The type of the object on which the activity is performed - as per Atom Activity Base Schema
- * see http://activitystrea.ms/schema/1.0/activity-schema-01.html
- */
-enum SmfActivityObjectType
- {
- SmfActivityObjTypeArticle,
- SmfActivityObjTypeAudio,
- SmfActivityObjTypeBookmark,
- SmfActivityObjTypeComment,
- SmfActivityObjTypeFile,
- SmfActivityObjTypeFolder,
- SmfActivityObjTypeGroup,
- SmfActivityObjTypeList,
- SmfActivityObjTypeNote,
- SmfActivityObjTypePerson,
- SmfActivityObjTypePhoto,
- SmfActivityObjTypePhotoAlbum,
- SmfActivityObjTypePlace,
- SmfActivityObjTypePlaylist,
- SmfActivityObjTypeProduct,
- SmfActivityObjTypeReview,
- SmfActivityObjTypeService,
- SmfActivityObjTypeStatus,
- SmfActivityObjTypeVideo,
- SmfActivityObjTypeMusic,
- SmfActivityObjTypeEvent,
- SmfActivityObjTypeAdvanced
- };
-
-enum SmfActivityFor
- {
- SmfActivitySelf,
- SmfActivityFriend,
- SmfActivityOthers
- };
-
-class SmfActivityObjectPrivate;
-/**
- * @ingroup smf_common_group
- * The object class represents an object in an activity (e.g.a picture or a music track on which somebody commented)
- */
-class SMFCLIENT_EXPORT SmfActivityObject
- {
-public:
- /**
- * Constructor
- */
- SmfActivityObject();
-
- /**
- * Copy Constructor
- */
- SmfActivityObject(const SmfActivityObject& aOther);
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
- SmfActivityObject& operator=( const SmfActivityObject &aOther );
-
- /**
- * Destructor
- */
- ~SmfActivityObject();
-
- /**
- * @return returns service specific Id of this object in the entry
- */
- QString id() const;
-
- /**
- * @return returns thumbnail if availabel for this object in the entry
- */
- QImage thumbnail() const;
-
- /**
- * @return Captions for this object
- */
- QString caption() const;
-
- /**
- * @return retruns the type of this object
- */
- SmfActivityObjectType type( ) const;
-
- /**
- * @return returns data of the object - see type() for casting
- */
- QVariant objData() const;
-
- /**
- * @return url of this object, e.g. url of the image on which somebody commented
- */
- QString link() const;
-
- /**
- * @return Time of creation of this object
- */
- QDateTime time() const;
-
- /**
- * @return Description of the content of this object
- */
- QString content() const;
-
- /**
- * Sets service specific id for this object
- * @param aId The id to be set
- */
- void setId(const QString& aId);
-
- /**
- * Sets thumbnail for this object , not mandatory
- * @param aIcon The thumbnail image
- */
- void setThumbnail(const QImage& aIcon);
-
- /**
- * Sets caption for this object
- * @param aCaption The caption to be set
- */
- void setCaption(const QString& aCap);
-
- /**
- * Sets type of this object - ObjData should be set next accordingly
- * @param aObjType The activity type to be set
- */
- void setType(const SmfActivityObjectType& aObjType);
-
- /**
- * Sets object data e,g, SmfImage, SmfComment, SmfMusic, SmfEvent etc
- * setType() with suitable type should have been called before
- * @param aData The object data to be set
- */
- void setObjData( const QVariant& aData);
-
- /**
- * Sets the url for the object
- * @param aLink The Link to be set
- */
- void setLink( const QString& aLink);
-
- /**
- * Sets the time of creation/last modification of the object
- * @param aTime The time to be set
- */
- void setTime( const QDateTime& aTime);
-
- /**
- * Sets the description of the content of this object
- * @param aText The content to be set
- */
- void setContent( const QString& aText) ;
-
-private:
- QSharedDataPointer<SmfActivityObjectPrivate> d;
-
- friend QDataStream& operator >> ( QDataStream &aOut, SmfActivityObject& aData);
- friend QDataStream& operator << ( QDataStream &aIn, const SmfActivityObject& aData);
- };
-
-SMFCLIENT_EXPORT QDataStream& operator >> ( QDataStream &aOut, SmfActivityObject& aData);
-SMFCLIENT_EXPORT QDataStream& operator << ( QDataStream &aIn, const SmfActivityObject& aData);
-
-// Make the class SmfActivityObject known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfActivityObject)
-
-
-
-
-class SmfActivityEntryPrivate;
-/**
- * @ingroup smf_common_group
- * The object class represents an entry in the list of activities
- */
-class SMFCLIENT_EXPORT SmfActivityEntry
- {
-
-public:
-
- SmfActivityEntry();
- SmfActivityEntry(const SmfActivityEntry& aOther);
- ~SmfActivityEntry();
-
- /**
- * @return Returns service specific id of the of entry
- */
- QString id() const;
- /**
- * @return Returns the title of the entry - mostly be a string
- */
- SmfPost title() const;
-
- /**
- * @return Returns detail descriptiopn of this entry in the activity list. might be absent if title is sufficient
- */
- SmfPost details() const;
-
- /**
- * @return Returns the author of the activity - the name and the uri field are most commonly used
- * Other information fields might be empty
- */
- SmfContact author() const;
-
- /**
- * @return Returns the verb of the activity ,e.g. Robin "marked" Joseph as a friend
- */
- SmfActivityVerb actionName() const;
-
- /**
- * There can be multiple objects in a single activity entry, though this may be rare - only for few verbs.
- * @return list of activity objects (mostly one object)
- */
- QList<SmfActivityObject> activities() const;
-
- /**
- * @return Returns information about the target of the activity, for verbs that support a target.
- * For example, a target is a photo album to which photos were added
- */
- SmfActivityObject targetObj() const;
-
- /**
- * Sets service specific id of the of entry
- * @param aId The id to be set
- */
- bool setId( const QString& aId);
-
- /**
- * Sets the title of the entry - mostly be a string
- * @param aTitle The title to be set
- */
- bool setTitle(const SmfPost& aTitle);
-
- /**
- * Sets detail description of this entry in the activity list. might be absent if title is sufficient
- * @param aDetails The details to be set
- */
- bool setDetails(const SmfPost& aDetails);
-
- /**
- * Sets the author of the activity - the name and the uri field are most commonly used
- * Oher information fields might be empty
- * @param aContact The author to be set
- */
- bool setAuthor(const SmfContact& aContact);
-
- /**
- * Sets the verb of the activity ,e.g. Robin "marked" Joseph as a friend
- * @param aVerb The action name to be set
- */
- void setActionName(SmfActivityVerb aVerb);
-
- /**
- * Sets single or multiple objects in a single activity entry, though multiple may be rare - only for few verbs.
- * @param list of activity objects (mostly one object)
- */
- bool setActivities(QList<SmfActivityObject>& aList);
-
- /**
- * Returns information about the target of the activity, for verbs that support a target.
- * For example, a target is a photo album to which photos were added
- * @param aTarget The activity object to be set
- */
- bool setTargetObj(const SmfActivityObject& aTarget);
-
-private:
- QSharedDataPointer<SmfActivityEntryPrivate> d;
-
- friend QDataStream& operator >> ( QDataStream &aOut, SmfActivityEntry& aData);
- friend QDataStream& operator << ( QDataStream &aIn, const SmfActivityEntry& aData);
- };
-
-SMFCLIENT_EXPORT QDataStream& operator >> ( QDataStream &aOut, const SmfActivityEntry& aData);
-SMFCLIENT_EXPORT QDataStream& operator << ( QDataStream &aIn, const SmfActivityEntry& aData);
-
-// Make the class SmfActivityEntry known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfActivityEntry)
-
-#endif /* SMFACTIONS_H_ */
--- a/smf/smfservermodule/smfclient/common/smfactions_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/**
- * 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:
- * Contains private implementation of the smfactions
- */
-
-#ifndef SMFACTIONS_P_H_
-#define SMFACTIONS_P_H_
-
-#include <QDateTime>
-#include <QSharedData>
-#include <QVariant>
-#include <QImage>
-#include <QDateTime>
-#include <QStringList>
-#include <QUrl>
-#include <qdatastream.h>
-#include <QSharedData>
-#include <QMetaType>
-
-#include "smfactions.h"
-#include "smfpost.h"
-#include "smfcontact.h"
-
-class SmfActivityObjectPrivate: public QSharedData
- {
-public:
- SmfActivityObjectPrivate( ) {
- m_id.clear();
- m_caption.clear();
- m_link.clear();
- m_content.clear();
- }
-
- SmfActivityObjectPrivate( const SmfActivityObjectPrivate& aOther ) :
- QSharedData (aOther),
- m_id (aOther.m_id),
- m_thumbnail (aOther.m_thumbnail),
- m_caption (aOther.m_caption),
- m_type (aOther.m_type),
- m_objData (aOther.m_objData),
- m_link (aOther.m_link),
- m_time (aOther.m_time),
- m_content (aOther.m_content) { }
-
- ~SmfActivityObjectPrivate( ) {}
-
- /**
- * Data members
- */
- QString m_id;
- QImage m_thumbnail;
- QString m_caption;
- SmfActivityObjectType m_type;
- QVariant m_objData;
- QString m_link;
- QDateTime m_time;
- QString m_content;
- };
-
-class SmfActivityEntryPrivate: public QSharedData
- {
-public:
- SmfActivityEntryPrivate( ) {
- m_id.clear();
- }
-
- SmfActivityEntryPrivate( const SmfActivityEntryPrivate& aOther ) :
- QSharedData (aOther),
- m_id (aOther.m_id),
- m_title (aOther.m_title),
- m_details (aOther.m_details),
- m_author (aOther.m_author),
- m_actionName (aOther.m_actionName),
- m_activities (aOther.m_activities),
- m_targetObj (aOther.m_targetObj) { }
-
- ~SmfActivityEntryPrivate( ) { }
-
- /**
- * Data members
- */
- QString m_id;
- SmfPost m_title;
- SmfPost m_details;
- SmfContact m_author;
- SmfActivityVerb m_actionName;
- QList<SmfActivityObject> m_activities;
- SmfActivityObject m_targetObj;
- };
-
-#endif /* SMFACTIONS_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfalbum.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/**
- * 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:
- * The SmfAlbum class represents a music album
- *
- */
-
-#include <smfalbum.h>
-#include <smfalbum_p.h>
-
-
-/**
- * Constructor with default argument
- */
-SmfAlbum::SmfAlbum( )
- {
- d = new SmfAlbumPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfAlbum::SmfAlbum( const SmfAlbum &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfAlbum& SmfAlbum::operator=( const SmfAlbum &aOther )
- {
- d->m_name = aOther.d->m_name;
- d->m_image = aOther.d->m_image;
- d->m_artists = aOther.d->m_artists;
- d->m_albumId = aOther.d->m_albumId;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfAlbum::~SmfAlbum( )
- {
- }
-
-/**
- * Method to get the album name
- * @return The album name
- */
-QString SmfAlbum::name( ) const
- {
- return d->m_name;
- }
-
-/**
- * Method to get the album's image
- * @return The album's image
- */
-QImage SmfAlbum::image( ) const
- {
- return d->m_image;
- }
-
-/**
- * Method to get the artist names
- * @return The list of artists in the album
- */
-SmfArtists SmfAlbum::artists( ) const
- {
- return d->m_artists;
- }
-
-/**
- * Method to get the id of the album
- * @return The ID value
- */
-QString SmfAlbum::id( ) const
- {
- return d->m_albumId;
- }
-
-/**
- * Method to set the album name
- * @param aName The album name
- */
-void SmfAlbum::setName( const QString &aName )
- {
- d->m_name = aName;
- }
-
-/**
- * Method to set the album's image
- * @param aImage The album's image
- */
-void SmfAlbum::setImage( const QImage &aImage )
- {
- d->m_image = aImage;
- }
-
-/**
- * Method to set the artist names
- * @param aArtists The list of artists in the album
- */
-void SmfAlbum::setArtists( const SmfArtists &aArtists )
- {
- d->m_artists = aArtists;
- }
-
-/**
- * Method to set the id of the album
- * @param aId The ID value
- */
-void SmfAlbum::setId( const QString &aId )
- {
- d->m_albumId = aId;
- }
-
-/**
- * Method for Externalization. Writes the SmfAlbum object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aAlbum The SmfAlbum object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfAlbum &aAlbum )
- {
- // Serialize d->m_name
- aDataStream<<aAlbum.d->m_name;
-
- // Serialize d->m_image
- aDataStream<<aAlbum.d->m_image;
-
- // Serialize d->m_artists
- aDataStream<<aAlbum.d->m_artists;
-
- // Serialize d->m_albumId
- aDataStream<<aAlbum.d->m_albumId;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfAlbum object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aAlbum The SmfAlbum object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfAlbum &aAlbum)
- {
- // Deserialize d->m_name
- aDataStream>>aAlbum.d->m_name;
-
- // Deserialize d->m_image
- aDataStream>>aAlbum.d->m_image;
-
- // Deserialize d->m_artists
- aDataStream>>aAlbum.d->m_artists;
-
- // Deserialize d->m_albumId
- aDataStream>>aAlbum.d->m_albumId;
-
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smfalbum.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/**
- * 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:
- * The SmfAlbum class represents a music album
- *
- */
-#ifndef SMFALBUM_H_
-#define SMFALBUM_H_
-
-#include <QImage>
-#include <qdatastream.h>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-
-class SmfAlbumPrivate;
-class SmfArtists;
-
-/**
- * @ingroup smf_common_group
- * The SmfAlbum class represents a music album
- */
-class SMFCLIENT_EXPORT SmfAlbum
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfAlbum( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfAlbum( const SmfAlbum &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
- SmfAlbum& operator=( const SmfAlbum &aOther );
-
- /**
- * Destructor
- */
- ~SmfAlbum( );
-
- /**
- * Method to get the album name
- * @return The album name
- */
- QString name( ) const;
-
- /**
- * Method to get the album's image
- * @return The album's image
- */
- QImage image( ) const;
-
- /**
- * Method to get the artist names
- * @return The list of artists in the album
- */
- SmfArtists artists( ) const;
-
- /**
- * Method to get the id of the album
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the album name
- * @param aName The album name
- */
- void setName( const QString &aName );
-
- /**
- * Method to set the album's image
- * @param aImage The album's image
- */
- void setImage( const QImage &aImage );
-
- /**
- * Method to set the artist names
- * @param aArtists The list of artists in the album
- */
- void setArtists( const SmfArtists &aArtists );
-
- /**
- * Method to set the id of the album
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfAlbumPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfAlbum &aAlbum );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfAlbum &aAlbum );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfAlbum object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aAlbum The SmfAlbum object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfAlbum &aAlbum );
-
-/**
- * Method for Internalization. Reads a SmfAlbum object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aAlbum The SmfAlbum object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfAlbum &aAlbum);
-
-// Make the class SmfAlbum known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfAlbum)
-
-#endif /* SMFALBUM_H_ */
--- a/smf/smfservermodule/smfclient/common/smfalbum_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfAlbum class
- *
- */
-
-#ifndef SMFALBUM_P_H_
-#define SMFALBUM_P_H_
-
-#include <smfartists.h>
-#include <QStringList>
-#include <QSharedData>
-
-class SmfAlbumPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfAlbumPrivate( ) {
- m_name.clear();
- m_albumId.clear();
-
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfAlbumPrivate( const SmfAlbumPrivate &aOther ) :
- QSharedData ( aOther ),
- m_name ( aOther.m_name ),
- m_image ( aOther.m_image ),
- m_artists ( aOther.m_artists ),
- m_albumId ( aOther.m_albumId ) { }
-
- /**
- * Destructor
- */
- ~SmfAlbumPrivate( )
- {
- }
-
- QString m_name; // album name
- QImage m_image; // album image
- SmfArtists m_artists; // album's artists
- QString m_albumId; // album Id
-
-};
-
-#endif /* SMFALBUM_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfartists.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/**
- * 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:
- * The SmfArtists class represents the artists in a track or an album
- *
- */
-
-#include <smfartists.h>
-#include <smfartists_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfArtists::SmfArtists( )
- {
- d = new SmfArtistsPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfArtists::SmfArtists( const SmfArtists &aOther )
- :d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfArtists& SmfArtists::operator=( const SmfArtists &aOther )
- {
- d->m_names = aOther.d->m_names;
- d->m_image = aOther.d->m_image;
- d->m_url = aOther.d->m_url;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfArtists::~SmfArtists( )
- {
- }
-
-/**
- * Method to get the artists names
- * @return The list of artists
- */
-QStringList SmfArtists::names( ) const
- {
- return d->m_names;
- }
-
-/**
- * Method to get the image of the artists
- * @return The image of te artists
- */
-QImage SmfArtists::image( ) const
- {
- return d->m_image;
- }
-
-/**
- * Method to get the url of the artists
- * @return The url of the artists
- */
-QUrl SmfArtists::url( ) const
- {
- return d->m_url;
- }
-
-/**
- * Method to set the artists names
- * @param aList The list of artists names
- */
-void SmfArtists::setNames( const QStringList &aList )
- {
- d->m_names = aList;
- }
-
-/**
- * Method to set the image of the artists
- * @param aImage The image of the artists
- */
-void SmfArtists::setImage( const QImage &aImage )
- {
- d->m_image = aImage;
- }
-
-/**
- * Method to set the url of the artists
- * @param aUrl The url of the artists
- */
-void SmfArtists::setUrl( const QUrl &aUrl )
- {
- d->m_url = aUrl;
- }
-
-/**
- * Method for Externalization. Writes the SmfArtists object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aArtists The SmfArtists object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfArtists &aArtists )
- {
- // Serialize d->m_image
- aDataStream<<aArtists.d->m_image;
-
- // Serialize d->m_names
- aDataStream<<aArtists.d->m_names;
-
- // Serialize d->m_url
- aDataStream<<aArtists.d->m_url;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfArtists object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aArtists The SmfArtists object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfArtists &aArtists)
- {
- // Deserialize d->m_image
- aDataStream>>aArtists.d->m_image;
-
- // Deserialize d->m_names
- aDataStream>>aArtists.d->m_names;
-
- // Deserialize d->m_url
- aDataStream>>aArtists.d->m_url;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfartists.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/**
- * 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:
- * The SmfArtists class represents the artists in a track or an album
- *
- */
-
-#ifndef SMFARTISTS_H_
-#define SMFARTISTS_H_
-
-#include <QImage>
-#include <QUrl>
-#include <qdatastream.h>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-
-class SmfArtistsPrivate;
-
-/**
- * @ingroup smf_common_group
- * The SmfArtists class represents the artists in a track or an album
- */
-class SMFCLIENT_EXPORT SmfArtists
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfArtists( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfArtists( const SmfArtists &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfArtists& operator=( const SmfArtists &aOther );
-
- /**
- * Destructor
- */
- ~SmfArtists( );
-
- /**
- * Method to get the artists names
- * @return The list of artists
- */
- QStringList names( ) const;
-
- /**
- * Method to get the image of the artists
- * @return The image of te artists
- */
- QImage image( ) const;
-
- /**
- * Method to get the url of the artists
- * @return The url of the artists
- */
- QUrl url( ) const;
-
- /**
- * Method to set the artists names
- * @param aList The list of artists names
- */
- void setNames( const QStringList &aList );
-
- /**
- * Method to set the image of the artists
- * @param aImage The image of the artists
- */
- void setImage( const QImage &aImage );
-
- /**
- * Method to set the url of the artists
- * @param aUrl The url of the artists
- */
- void setUrl( const QUrl &aUrl );
-
-private:
- QSharedDataPointer<SmfArtistsPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfArtists &aArtists );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfArtists &aArtists );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfArtists object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aArtists The SmfArtists object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfArtists &aArtists );
-
-/**
- * Method for Internalization. Reads a SmfArtists object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aArtists The SmfArtists object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfArtists &aArtists);
-
-// Make the class SmfArtists known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfArtists)
-
-#endif /* SMFARTISTS_H_ */
--- a/smf/smfservermodule/smfclient/common/smfartists_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfArtists class
- *
- */
-
-#ifndef SMFARTISTS_P_H_
-#define SMFARTISTS_P_H_
-
-#include <QImage>
-#include <QUrl>
-#include <QStringList>
-#include <QSharedData>
-
-class SmfArtistsPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfArtistsPrivate( ) {
- m_names.clear();
- m_url.clear();
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfArtistsPrivate( const SmfArtistsPrivate &aOther ) :
- QSharedData ( aOther ),
- m_names ( aOther.m_names ),
- m_image ( aOther.m_image ),
- m_url ( aOther.m_url ) { }
-
- /**
- * Destructor
- */
- ~SmfArtistsPrivate( )
- {
- }
-
- QStringList m_names; // artist names
- QImage m_image; // image
- QUrl m_url; // url
-};
-
-
-#endif /* SMFARTISTS_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfclientglobal.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/**
- * 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:
- * Client DLL macro and server executable name
- *
- */
-
-#ifndef SMFCLIENTGLOBAL_H_
-#define SMFCLIENTGLOBAL_H_
-
- #include <QtCore/QtGlobal>
-#include <QString>
-#ifdef Q_OS_SYMBIAN
-_LIT(KSmfServerName,"smfserver");
-_LIT(KSmfServerSemaphoreName,"smfserverSemaphore");
-_LIT(KSmfServerFilename,"smfserver");
-#else
-const QString KSmfServerName("smfserver");
-const QString KSmfServerSemaphoreName("smfserverSemaphore");
-const QString KSmfServerFilename("smfserver");
-#endif
-//TUid KSmfServerUID3 = { 0xE37E0269 };
-
- #ifdef SMFCLIENT_LIB_EXPORT
- # define SMFCLIENT_EXPORT Q_DECL_EXPORT
- #else
- # define SMFCLIENT_EXPORT Q_DECL_IMPORT
- #endif
-
-/**
- * To be designed later
- */
-#define SMF_GETSERVICES(INTERFACE,INTERFACESTRING) ;
-#endif /* SMFCLIENTDEFS_H_ */
--- a/smf/smfservermodule/smfclient/common/smfcomment.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/**
- * 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:
- * The comment class represents a comment (on a picture or a music track etc)
- *
- */
-
-
-#include "smfcomment.h"
-#include "smfcomment_p.h"
-
-/**
- * Constructor with default argument
- */
-SmfComment::SmfComment()
- {
- d = new SmfCommentPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfComment::SmfComment( const SmfComment &aOther )
- :d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The current object reference
- */
-SmfComment& SmfComment::operator=(const SmfComment &aOther)
- {
- d->m_text = aOther.d->m_text;
- d->m_timeStamp = aOther.d->m_timeStamp;
- d->m_commentId = aOther.d->m_commentId;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfComment::~SmfComment( )
- {
- }
-
-/**
- * Method to get the comment text
- * @return The comment text
- */
-QString SmfComment::text( ) const
- {
- return d->m_text;
- }
-
-/**
- * Method to get the comment time stamp
- * @return The comment time stamp value
- */
-QDateTime SmfComment::timeStamp( ) const
- {
- return d->m_timeStamp;
- }
-
-/**
- * Method to get the id of the comment
- * @return The ID value
- */
-QString SmfComment::id( ) const
- {
- return d->m_commentId;
- }
-
-/**
- * Method to set the comment text
- * @param aText The comment text to be set
- */
-void SmfComment::setText( const QString &aText )
- {
- d->m_text = aText;
- }
-
-/**
- * Method to set the time stamp
- * @param aDateTime The comment time stamp value to be set
- */
-void SmfComment::setTimeStamp( const QDateTime &aDateTime )
- {
- d->m_timeStamp = aDateTime;
- }
-
-/**
- * Method to set the id of the comment
- * @param aId The ID value to be set
- */
-void SmfComment::setId( const QString &aId )
- {
- d->m_commentId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfComment object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aComment The SmfComment object to be externalized
- * @return reference to the written stream
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfComment &aComment )
- {
- // Serialize d->m_text
- aDataStream<<aComment.d->m_text;
-
- // Serialize d->m_timeStamp
- aDataStream<<aComment.d->m_timeStamp;
-
- // Serialize d->m_commentId
- aDataStream<<aComment.d->m_commentId;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfComment object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aComment The SmfComment object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfComment &aComment)
- {
- // Deserialize d->m_text
- aDataStream>>aComment.d->m_text;
-
- // Deserialize d->m_timeStamp
- aDataStream>>aComment.d->m_timeStamp;
-
- // Deserialize d->m_commentId
- aDataStream>>aComment.d->m_commentId;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfcomment.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/**
- * 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:
- * The comment class represents a comment (on a picture or a music track etc)
- *
- */
-
-#ifndef SMFCOMMENT_H_
-#define SMFCOMMENT_H_
-
-#include <QDateTime>
-#include <qdatastream.h>
-#include <QSharedData>
-#include "smfclientglobal.h"
-#include <QMetaType>
-
-class SmfCommentPrivate;
-
-/**
- * @ingroup smf_common_group
- * The comment class represents a comment (on a picture or a music track etc)
- */
-class SMFCLIENT_EXPORT SmfComment
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfComment( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfComment( const SmfComment &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The current object reference
- */
- SmfComment& operator=(const SmfComment &aOther);
-
- /**
- * Destructor
- */
- ~SmfComment( );
-
- /**
- * Method to get the comment text
- * @return The comment text
- */
- QString text( ) const;
-
- /**
- * Method to get the comment time stamp
- * @return The comment time stamp value
- */
- QDateTime timeStamp( ) const;
-
- /**
- * Method to get the id of the comment
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the comment text
- * @param aText The comment text to be set
- */
- void setText( const QString &aText );
-
- /**
- * Method to set the time stamp
- * @param aDateTime The comment time stamp value to be set
- */
- void setTimeStamp( const QDateTime &aDateTime );
-
- /**
- * Method to set the id of the comment
- * @param aId The ID value to be set
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfCommentPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfComment &aComment );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfComment &aComment );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfComment object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aComment The SmfComment object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfComment &aComment );
-
-/**
- * Method for Internalization. Reads a SmfComment object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aComment The SmfComment object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfComment &aComment);
-
-
-// Make the class SmfComment known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfComment)
-
-
-#endif /* SMFCOMMENT_H_ */
--- a/smf/smfservermodule/smfclient/common/smfcomment_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfComment class
- *
- */
-
-#ifndef SMFCOMMENT_P_H_
-#define SMFCOMMENT_P_H_
-
-#include <QDateTime>
-#include <QSharedData>
-
-class SmfCommentPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfCommentPrivate( ) { m_text.clear(); m_commentId.clear(); }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfCommentPrivate( const SmfCommentPrivate &aOther ) :
- QSharedData ( aOther ),
- m_text ( aOther.m_text ),
- m_timeStamp ( aOther.m_timeStamp ),
- m_commentId ( aOther.m_commentId ) { }
-
- /**
- * Destructor
- */
- ~SmfCommentPrivate( )
- {
- }
-
- QString m_text; // comment text
- QDateTime m_timeStamp; // comment time stamp
- QString m_commentId; // comment Id
-
-};
-
-#endif /* SMFCOMMENT_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfcontact.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1108 +0,0 @@
-/**
- * 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:
- * The contact class represents a social contact
- * Note: This class has dependencies on QtMobility project
- *
- */
-
-#include <QFile>
-#include <QTextStream>
-
-#include "smfcontact.h"
-
-/**
- * Constructor with default argument
- * @param aParent The parent object
- */
-SmfContact::SmfContact( QObject *aParent)
- {
- Q_UNUSED(aParent);
- d = new SmfContactPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfContact::SmfContact( const SmfContact &aOther ): d (aOther.d)
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfContact& SmfContact::operator=( const SmfContact &aOther )
- {
- d->m_details = aOther.d->m_details;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfContact::~SmfContact( )
- {
- }
-
-/**
- * Method to get the available sub fields for contacts.
- * The following are the available sub types of a contact
- * QtMobility::QContactAddress Address;
- * QtMobility::QContactAnniversary Anniversary;
- * QtMobility::QContactAvatar Avatar;
- * QtMobility::QContactBirthday Birthday;
- * QtMobility::QContactId ContactId;
- * QtMobility::QContactEmailAddress EmailAddress;
- * QtMobility::QContactGender Gender;
- * QtMobility::QContactGeoLocation Geolocation;
- * QtMobility::QContactGuid Guid;
- * QtMobility::QContactName Name;
- * QtMobility::QContactNickname Nickname;
- * QtMobility::QContactNote Note;
- * QtMobility::QContactOnlineAccount OnlineAccount;
- * QtMobility::QContactOrganization Organization;
- * QtMobility::QContactPhoneNumber PhoneNumber;
- * QtMobility::QContactPresence Presence;
- * QtMobility::QContactThumbnail Thumbnail;
- * QtMobility::QContactTimestamp Timestamp;
- * QtMobility::QContactType Type;
- * QtMobility::QContactUrl Url;
- * @return The Available sub fields for this contact
- */
-QStringList SmfContact::subTypes( ) const
- {
- QStringList list = d->m_details.uniqueKeys();
- return list;
- }
-
-/**
- * Method to convert an SmfContact to a QContact
- * Changes made to the returned QContact will not be reflected
- * in its parent SmfContact object
- * @param aContact QContact corresponding to SmfContact
- */
-void SmfContact::convert( QContact &aContact ) const
- {
-// TODO:-
- Q_UNUSED(aContact);
- }
-
-/**
- * Method to get the value of a sub field for this contact
- * @param aSubType The sub field type
- * @return The value of the sub field subType
- * @see subTypes()
- */
-QVariant SmfContact::value( const QString& aSubType ) const
- {
- if(d->m_details.contains(aSubType))
- return d->m_details.value(aSubType);
- else
- return QString();
- }
-
-/**
- * Method to set value for a subtype
- * @param aSubType The subtype string
- * @param value Thhe value to be set for the subtype
- */
-void SmfContact::setValue(const QString& aSubType,QVariant& value)
- {
- d->m_details.insert(aSubType,value);
- }
-
-/**
- * Method for Externalization. Writes the SmfContact object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aContact The SmfContact object to be externalized
- * @return reference to the written stream
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfContact& aContact )
- {
- QContactAddress address = aContact.value("Address").value<QContactAddress>();
- aDataStream<<address;
-
- QContactAnniversary anniver = aContact.value("Anniversary").value<QContactAnniversary>();
- aDataStream<<anniver;
-
- QContactAvatar avatar = aContact.value("Avatar").value<QContactAvatar>();
- aDataStream<<avatar;
-
- QContactBirthday bday = aContact.value("Birthday").value<QContactBirthday>();
- aDataStream<<bday;
-
- QContactId contactId = aContact.value("ContactId").value<QContactId>();
- aDataStream<<contactId;
-
- QContactEmailAddress email = aContact.value("EmailAddress").value<QContactEmailAddress>();
- aDataStream<<email;
-
- QContactGender gender = aContact.value("Gender").value<QContactGender>();
- aDataStream<<gender;
-
- QContactGeoLocation geoloc = aContact.value("Geolocation").value<QContactGeoLocation>();
- aDataStream<<geoloc;
-
- QContactGuid guid = aContact.value("Guid").value<QContactGuid>();
- aDataStream<<guid;
-
- QContactName name = aContact.value("Name").value<QContactName>();
- aDataStream<<name;
-
- QContactNickname nickname = aContact.value("Nickname").value<QContactNickname>();
- aDataStream<<nickname;
-
- QContactNote note = aContact.value("Note").value<QContactNote>();
- aDataStream<<note;
-
- QContactOnlineAccount account = aContact.value("OnlineAccount").value<QContactOnlineAccount>();
- aDataStream<<account;
-
- QContactOrganization org = aContact.value("Organization").value<QContactOrganization>();
- aDataStream<<org;
-
- QContactPhoneNumber number = aContact.value("PhoneNumber").value<QContactPhoneNumber>();
- aDataStream<<number;
-
- QContactPresence presence = aContact.value("Presence").value<QContactPresence>();
- aDataStream<<presence;
-
- QContactThumbnail thumbnail = aContact.value("Thumbnail").value<QContactThumbnail>();
- aDataStream<<thumbnail;
-
- QContactTimestamp time = aContact.value("Timestamp").value<QContactTimestamp>();
- aDataStream<<time;
-
- QContactType type = aContact.value("Type").value<QContactType>();
- aDataStream<<type;
-
- QContactUrl url = aContact.value("Url").value<QContactUrl>();
- aDataStream<<url;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfContact object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aContact The SmfContact object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfContact& aContact )
- {
- QContactAddress address;
- aDataStream>>address;
- QVariant var1 = QVariant::fromValue(address);
- aContact.setValue("Address",var1);
-
- QContactAnniversary anniver;
- aDataStream>>anniver;
- QVariant var2 = QVariant::fromValue(anniver);
- aContact.setValue("Anniversary",var2);
-
- QContactAvatar avatar;
- aDataStream>>avatar;
- QVariant var3 = QVariant::fromValue(avatar);
- aContact.setValue("Avatar",var3);
-
- QContactBirthday bday;
- aDataStream>>bday;
- QVariant var4 = QVariant::fromValue(bday);
- aContact.setValue("Birthday",var4);
-
- QContactId id;
- aDataStream>>id;
- QVariant var5 = QVariant::fromValue(id);
- aContact.setValue("ContactId",var5);
-
- QContactEmailAddress email;
- aDataStream>>email;
- QVariant var6 = QVariant::fromValue(email);
- aContact.setValue("EmailAddress",var6);
-
- QContactGender gender;
- aDataStream>>gender;
- QVariant var7 = QVariant::fromValue(gender);
- aContact.setValue("Gender",var7);
-
- QContactGeoLocation geo;
- aDataStream>>geo;
- QVariant var8 = QVariant::fromValue(geo);
- aContact.setValue("Geolocation",var8);
-
- QContactGuid guid;
- aDataStream>>guid;
- QVariant var9 = QVariant::fromValue(guid);
- aContact.setValue("Guid",var9);
-
- QContactName name1;
- aDataStream>>name1;
- QVariant var10 = QVariant::fromValue(name1);
- aContact.setValue("Name",var10);
-
- QContactNickname nickname;
- aDataStream>>nickname;
- QVariant var11 = QVariant::fromValue(nickname);
- aContact.setValue("Nickname",var11);
-
- QContactNote note;
- aDataStream>>note;
- QVariant var12 = QVariant::fromValue(note);
- aContact.setValue("Note",var12);
-
- QContactOnlineAccount account;
- aDataStream>>account;
- QVariant var13 = QVariant::fromValue(account);
- aContact.setValue("OnlineAccount",var13);
-
- QContactOrganization org;
- aDataStream>>org;
- QVariant var14 = QVariant::fromValue(org);
- aContact.setValue("Organization",var14);
-
- QContactPhoneNumber number;
- aDataStream>>number;
- QVariant var15 = QVariant::fromValue(number);
- aContact.setValue("PhoneNumber",var15);
-
- QContactPresence presence;
- aDataStream>>presence;
- QVariant var16 = QVariant::fromValue(presence);
- aContact.setValue("Presence",var16);
-
- QContactThumbnail thumbnail;
- aDataStream>>thumbnail;
- QVariant var17 = QVariant::fromValue(thumbnail);
- aContact.setValue("Thumbnail",var17);
-
- QContactTimestamp time;
- aDataStream>>time;
- QVariant var18 = QVariant::fromValue(time);
- aContact.setValue("Timestamp",var18);
-
- QContactType type;
- aDataStream>>type;
- QVariant var19 = QVariant::fromValue(type);
- aContact.setValue("Type",var19);
-
- QContactUrl url;
- aDataStream>>url;
- QVariant var20 = QVariant::fromValue(url);
- aContact.setValue("Url",var20);
-
- return aDataStream;
- }
-
-
-
-
-/**
- * Serialization support for QtMobility::QContactAddress
- */
-QDataStream& operator<<( QDataStream &aDataStream,
- const QContactAddress &aAddress )
- {
- aDataStream<<aAddress.country();
- aDataStream<<aAddress.locality();
- aDataStream<<aAddress.postOfficeBox();
- aDataStream<<aAddress.postcode();
- aDataStream<<aAddress.region();
- aDataStream<<aAddress.street();
- aDataStream<<aAddress.subTypes();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactAddress
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactAddress &aAddress )
- {
- QString str;
-
- // First one to be deserialized is country
- aDataStream>>str;
- aAddress.setCountry(str);
-
- // Next one to be deserialized is locality
- str.clear();
- aDataStream>>str;
- aAddress.setLocality(str);
-
- // Next one to be deserialized is postOfficeBox
- str.clear();
- aDataStream>>str;
- aAddress.setPostOfficeBox(str);
-
- // Next one to be deserialized is postCode
- str.clear();
- aDataStream>>str;
- aAddress.setPostcode(str);
-
- // Next one to be deserialized is region
- str.clear();
- aDataStream>>str;
- aAddress.setRegion(str);
-
- // Next one to be deserialized is street
- str.clear();
- aDataStream>>str;
- aAddress.setStreet(str);
-
- // Next one to be deserialized is subtypes
- QStringList list;
- list.clear();
- aDataStream>>list;
- aAddress.setSubTypes(list);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactAnniversary
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactAnniversary &aAnniversary )
- {
- aDataStream<<aAnniversary.calendarId();
- aDataStream<<aAnniversary.event();
- aDataStream<<aAnniversary.originalDate();
- aDataStream<<aAnniversary.subType();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactAnniversary
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactAnniversary &aAnniversary)
- {
- QString str;
- QDate date;
-
- // First one to be deserialized is calendarId
- aDataStream>>str;
- aAnniversary.setCalendarId(str);
-
- // Next one to be deserialized is event
- str.clear();
- aDataStream>>str;
- aAnniversary.setEvent(str);
-
- // Next one to be deserialized is originalDate
- aDataStream>>date;
- aAnniversary.setOriginalDate(date);
-
- // Next one to be deserialized is subType
- str.clear();
- aDataStream>>str;
- aAnniversary.setSubType(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactAvatar
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactAvatar &aAvatar )
- {
- //TODO:- QContactAvatar derives from QContactDetail,so internalization/externalization
- //for the same should be provided
-
- //Qt mobility introduces API compatibility break
-#ifdef OLDER_QT_MOBILITY
- aDataStream<<aAvatar.avatar();
-
-#else
- aDataStream<<aAvatar.imageUrl();
- aDataStream<<aAvatar.videoUrl();
-#endif
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactAvatar
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactAvatar &aAvatar)
- {
-#ifdef OLDER_QT_MOBILITY
- QString avatarPath;
- aDataStream>>avatarPath;
- aAvatar.setAvatar(avatarPath);
-#else
- QUrl url;
- aDataStream>>url;
- aAvatar.setImageUrl(url);
-
- url.clear();
- aDataStream>>url;
- aAvatar.setVideoUrl(url);
-#endif
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactBirthday
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactBirthday &aBirthday )
- {
- aDataStream<<aBirthday.date();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactBirthday
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactBirthday &aBirthday)
- {
- QDate date;
- aDataStream>>date;
- aBirthday.setDate(date);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactId
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactId &aContactId )
- {
- aDataStream<<aContactId.localId();
- aDataStream<<aContactId.managerUri();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactId
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactId &aContactId)
- {
- QContactLocalId localId;
- QString str;
-
- // First one to be deserialized is localId
- aDataStream>>localId;
- aContactId.setLocalId(localId);
-
- // Next one to be deserialized is managerUri
- aDataStream>>str;
- aContactId.setManagerUri(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactEmailAddress
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactEmailAddress &aEMail )
- {
- aDataStream<<aEMail.emailAddress();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactEmailAddress
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactEmailAddress &aEMail)
- {
- QString str;
- aDataStream>>str;
- aEMail.setEmailAddress(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactGender
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGender &aGender )
- {
- aDataStream<<aGender.gender();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactGender
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactGender &aGender)
- {
- QString str;
- aDataStream>>str;
- aGender.setGender(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactGeoLocation
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGeoLocation &aGeolocation )
- {
- aDataStream<<aGeolocation.accuracy();
- aDataStream<<aGeolocation.altitude();
- aDataStream<<aGeolocation.altitudeAccuracy();
- aDataStream<<aGeolocation.heading();
- aDataStream<<aGeolocation.label();
- aDataStream<<aGeolocation.latitude();
- aDataStream<<aGeolocation.longitude();
- aDataStream<<aGeolocation.speed();
- aDataStream<<aGeolocation.timestamp();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactGeoLocation
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactGeoLocation &aGeolocation)
- {
- double val;
- QString str;
- QDateTime date;
-
- // First one to be deserialized is accuracy
- val = 0;
- aDataStream>>val;
- aGeolocation.setAccuracy(val);
-
- // Next one to be deserialized is altitude
- val = 0;
- aDataStream>>val;
- aGeolocation.setAltitude(val);
-
- // Next one to be deserialized is altitudeAccuracy
- val = 0;
- aDataStream>>val;
- aGeolocation.setAltitudeAccuracy(val);
-
- // Next one to be deserialized is heading
- val = 0;
- aDataStream>>val;
- aGeolocation.setHeading(val);
-
- // First one to be deserialized is label
- aDataStream>>str;
- aGeolocation.setLabel(str);
-
- // Next one to be deserialized is latitude
- val = 0;
- aDataStream>>val;
- aGeolocation.setLatitude(val);
-
- // Next one to be deserialized is longitude
- val = 0;
- aDataStream>>val;
- aGeolocation.setLongitude(val);
-
- // Next one to be deserialized is speed
- val = 0;
- aDataStream>>val;
- aGeolocation.setSpeed(val);
-
- // Next one to be deserialized is timestamp
- aDataStream>>date;
- aGeolocation.setTimestamp(date);
-
- return aDataStream;
- }
-
-/**
- * Serialization support for QtMobility::QContactGuid
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGuid &aGuid )
- {
- aDataStream<<aGuid.guid();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactGuid
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactGuid &aGuid)
- {
- QString str;
- aDataStream>>str;
- aGuid.setGuid(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactName
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactName &aContact )
- {
- //Qt mobility introduces API compatibility break
-#ifdef OLDER_QT_MOBILITY
- aDataStream<<aContact.first();
- aDataStream<<aContact.last();
-#else
- aDataStream<<aContact.customLabel();
- aDataStream<<aContact.firstName();
- aDataStream<<aContact.lastName();
- aDataStream<<aContact.middleName();
- aDataStream<<aContact.prefix();
- aDataStream<<aContact.suffix();
-#endif
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactName
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactName &aContact )
- {
- QString str;
-
- // First one to be deserialized is customlabel
- str.clear();
- aDataStream>>str;
- aContact.setCustomLabel(str);
-
- // Next one to be deserialized is firstname
- str.clear();
- aDataStream>>str;
-#ifdef OLDER_QT_MOBILITY
- aContact.setFirst(str);
-#else
- aContact.setFirstName(str);
-#endif
-
- // Next one to be deserialized is lastName
- str.clear();
- aDataStream>>str;
-#ifdef OLDER_QT_MOBILITY
- aContact.setLast(str);
-#else
- aContact.setLastName(str);
-#endif
-
-
-
- // Next one to be deserialized is middlename
- str.clear();
- aDataStream>>str;
- aContact.setMiddleName(str);
-
- // Next one to be deserialized is prefix
- str.clear();
- aDataStream>>str;
- aContact.setPrefix(str);
-
- // Next one to be deserialized is suffix
- str.clear();
- aDataStream>>str;
- aContact.setSuffix(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactNickname
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactNickname &aNickname )
- {
- aDataStream<<aNickname.nickname();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactNickname
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactNickname &aNickname)
- {
- QString str;
- aDataStream>>str;
- aNickname.setNickname(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactNote
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactNote &aNote )
- {
- aDataStream<<aNote.note();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactNote
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactNote &aNote)
- {
- QString str;
- aDataStream>>str;
- aNote.setNote(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactOnlineAccount
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactOnlineAccount &aOnlineAccount )
- {
- aDataStream<<aOnlineAccount.accountUri();
- aDataStream<<aOnlineAccount.capabilities();
- aDataStream<<aOnlineAccount.serviceProvider();
- aDataStream<<aOnlineAccount.subTypes();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactOnlineAccount
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactOnlineAccount &aOnlineAccount)
- {
- QString str;
- QStringList list;
-
- // First one to be deserialized is accountUri
- aDataStream>>str;
- aOnlineAccount.setAccountUri(str);
-
- // Next one to be deserialized is capabilities
- aDataStream>>list;
- aOnlineAccount.setCapabilities(list);
-
- // Next one to be deserialized is serviceProvider
- str.clear();
- aDataStream>>str;
- aOnlineAccount.setServiceProvider(str);
-
- // Next one to be deserialized is subTypes
- list.clear();
- aDataStream>>list;
- aOnlineAccount.setSubTypes(list);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactOrganization
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactOrganization &aOrganization )
- {
- aDataStream<<aOrganization.assistantName();
- aDataStream<<aOrganization.department();
- aDataStream<<aOrganization.location();
- aDataStream<<aOrganization.logoUrl();
- aDataStream<<aOrganization.name();
- aDataStream<<aOrganization.role();
- aDataStream<<aOrganization.title();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactOrganization
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactOrganization &aOrganization )
- {
- QString str;
- QStringList list;
- QUrl url;
-
- // First one to be deserialized is assistantName
- aDataStream>>str;
- aOrganization.setAssistantName(str);
-
- // Next one to be deserialized is department
- aDataStream>>list;
- aOrganization.setDepartment(list);
-
- // Next one to be deserialized is location
- str.clear();
- aDataStream>>str;
- aOrganization.setLocation(str);
-
- // Next one to be deserialized is logoUrl
- aDataStream>>url;
- aOrganization.setLogoUrl(url);
-
- // Next one to be deserialized is name
- str.clear();
- aDataStream>>str;
- aOrganization.setName(str);
-
- // Next one to be deserialized is role
- str.clear();
- aDataStream>>str;
- aOrganization.setRole(str);
-
- // Next one to be deserialized is title
- str.clear();
- aDataStream>>str;
- aOrganization.setTitle(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactPhoneNumber
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactPhoneNumber &aPhoneNumber )
- {
- aDataStream<<aPhoneNumber.number();
- aDataStream<<aPhoneNumber.subTypes();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactPhoneNumber
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactPhoneNumber &aPhoneNumber )
- {
- QString str;
- QStringList list;
-
- // First one to be deserialized is number
- aDataStream>>str;
- aPhoneNumber.setNumber(str);
-
- // Next one to be deserialized is subTypes
- aDataStream>>list;
- aPhoneNumber.setSubTypes(list);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactPresence
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactPresence &aPresence )
- {
- aDataStream<<aPresence.customMessage();
- aDataStream<<aPresence.nickname();
- aDataStream<<aPresence.presenceState();
- aDataStream<<aPresence.presenceStateImageUrl();
- aDataStream<<aPresence.presenceStateText();
- aDataStream<<aPresence.timestamp();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactPresence
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactPresence &aPresence )
- {
- QString str;
- QUrl url;
- QDateTime date;
-
- // First one to be deserialized is customMessage
- aDataStream>>str;
- aPresence.setCustomMessage(str);
-
- // Next one to be deserialized is nickname
- str.clear();
- aDataStream>>str;
- aPresence.setNickname(str);
-
- // Next one to be deserialized is presenceState
- int val;
- aDataStream>>val;
- QContactPresence::PresenceState state = (QContactPresence::PresenceState)val;
- aPresence.setPresenceState(state);
-
- // Next one to be deserialized is presenceStateImageUrl
- aDataStream>>url;
- aPresence.setPresenceStateImageUrl(url);
-
- // Next one to be deserialized is presenceStateText
- str.clear();
- aDataStream>>str;
- aPresence.setPresenceStateText(str);
-
- // Next one to be deserialized is timestamp
- aDataStream>>date;
- aPresence.setTimestamp(date);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactThumbnail
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactThumbnail &aThumbnail )
- {
- aDataStream<<aThumbnail.thumbnail();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactThumbnail
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactThumbnail &aThumbnail )
- {
- QImage image;
- aDataStream>>image;
- aThumbnail.setThumbnail(image);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactTimestamp
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactTimestamp &aTimestamp )
- {
- aDataStream<<aTimestamp.created();
- aDataStream<<aTimestamp.lastModified();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactTimestamp
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactTimestamp &aTimestamp )
- {
- QDateTime date1, date2;
-
- // First one to be deserialized is created
- aDataStream>>date1;
- aTimestamp.setCreated(date1);
-
- // Next one to be deserialized is lastModified
- aDataStream>>date2;
- aTimestamp.setLastModified(date2);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactType
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactType &aType )
- {
- aDataStream<<aType.type();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactType
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactType &aType )
- {
- QString str;
- aDataStream>>str;
- aType.setType(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactUrl
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactUrl &aUrl )
- {
- aDataStream<<aUrl.subType();
- aDataStream<<aUrl.url();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactUrl
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactUrl &aUrl)
- {
- QString str;
-
- // First one to be deserialized is subType
- aDataStream>>str;
- aUrl.setSubType(str);
-
- // Next one to be deserialized is url
- str.clear();
- aDataStream>>str;
- aUrl.setUrl(str);
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfcontact.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +0,0 @@
-/**
- * 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:
- * The contact class represents a social contact
- * Note: This class has dependencies on QtMobility project
- *
- */
-
-#ifndef SMFCONTACT_H_
-#define SMFCONTACT_H_
-
-#include <qtcontacts.h>
-#include <qdatastream.h>
-#include <QSharedData>
-#include <QVariant>
-#include "smfclientglobal.h"
-
-#include "smfcontact_p.h"
-
-using namespace QtMobility;
-
-/**
- * Max size for one SmfContact
- */
-const int MaxSmfContactSize = 1000;
-
-/**
- * @ingroup smf_common_group
- * The contact class represents a social contact
- *
- * Note: This class has dependencies on QtMobility project
- */
-class SMFCLIENT_EXPORT SmfContact
- {
-public:
- /**
- * Constructor with default argument
- * @param aParent The parent object
- */
- SmfContact( QObject *aParent = 0 );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfContact( const SmfContact &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
- SmfContact& operator=( const SmfContact &aOther );
-
- /**
- * Destructor
- */
- ~SmfContact( );
-
-public slots:
- /**
- * Method to get the available sub fields for contacts.
- * The following are the available sub types of a contact
- * QtMobility::QContactAddress Address;
- * QtMobility::QContactAnniversary Anniversary;
- * QtMobility::QContactAvatar Avatar;
- * QtMobility::QContactBirthday Birthday;
- * QtMobility::QContactId ContactId;
- * QtMobility::QContactEmailAddress EmailAddress;
- * QtMobility::QContactGender Gender;
- * QtMobility::QContactGeoLocation Geolocation;
- * QtMobility::QContactGuid Guid;
- * QtMobility::QContactName Name;
- * QtMobility::QContactNickname Nickname;
- * QtMobility::QContactNote Note;
- * QtMobility::QContactOnlineAccount OnlineAccount;
- * QtMobility::QContactOrganization Organization;
- * QtMobility::QContactPhoneNumber PhoneNumber;
- * QtMobility::QContactPresence Presence;
- * QtMobility::QContactThumbnail Thumbnail;
- * QtMobility::QContactTimestamp Timestamp;
- * QtMobility::QContactType Type;
- * QtMobility::QContactUrl Url;
- * @return The Available sub fields for this contact
- */
- QStringList subTypes( ) const;
-
- /**
- * Method to convert an SmfContact to a QContact
- * Changes made to the returned QContact will not be reflected
- * in its parent SmfContact object
- * @param aContact QContact corresponding to SmfContact
- */
- void convert( QContact &aContact ) const;
-
- /**
- * Method to get the value of a sub field for this contact
- * @param aSubType The sub field type
- * @return The value of the sub field subType
- * @see subTypes()
- */
- QVariant value( const QString& aSubType ) const;
-
- /**
- * Method to set value for a subtype
- * @param aSubType The subtype string
- * @param value Thhe value to be set for the subtype
- */
- void setValue(const QString& aSubType,QVariant& value);
-
-private:
- QSharedDataPointer<SmfContactPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfContact &aContact );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfContact &aContact );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfContact object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aContact The SmfContact object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfContact &aContact );
-
-/**
- * Method for Internalization. Reads a SmfContact object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aContact The SmfContact object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfContact &aContact );
-
-
-typedef QList<SmfContact> SmfContactList;
-
-
-/**
- * Serialization support for QtMobility QContact classes
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactAddress &aAddress );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactAddress &aAddress );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactAnniversary &aAnniversary );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactAnniversary &aAnniversary );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactAvatar &aAvatar );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactAvatar &aAvatar );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactBirthday &aBirthday );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactBirthday &aBirthday );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactEmailAddress &aEMail );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactEmailAddress &aEMail );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGender &aGender );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactGender &aGender );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGeoLocation &aGeolocation );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactGeoLocation &aGeolocation );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGuid &aGuid );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactGuid &aGuid );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactId &aContactId );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactId &aContactId );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactName &aName );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactName &aName );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactNickname &aNickname );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactNickname &aNickname );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactNote &aNote );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactNote &aNote );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactOnlineAccount &aOnlineAccount );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactOnlineAccount &aOnlineAccount );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactOrganization &aOrganization );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactOrganization &aOrganization );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactPhoneNumber &aPhoneNumber );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactPhoneNumber &aPhoneNumber );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactPresence &aPresence );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactPresence &aPresence );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactThumbnail &aThumbnail );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactThumbnail &aThumbnail );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactTimestamp &aTimestamp );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactTimestamp &aTimestamp );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactType &aType );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactType &aType );
-
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const QContactUrl &aUrl );
-
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- QContactUrl &aUrl );
-
-
-// Make the class SmfContact known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfContact)
-Q_DECLARE_METATYPE(QList<SmfContact>)
-
-//make qt mobility related classes known to moc
-Q_DECLARE_METATYPE(QContactAddress)
-Q_DECLARE_METATYPE(QContactAnniversary)
-Q_DECLARE_METATYPE(QContactAvatar)
-Q_DECLARE_METATYPE(QContactBirthday)
-Q_DECLARE_METATYPE(QContactId)
-Q_DECLARE_METATYPE(QContactEmailAddress)
-Q_DECLARE_METATYPE(QContactGender)
-Q_DECLARE_METATYPE(QContactGeoLocation)
-Q_DECLARE_METATYPE(QContactGuid)
-Q_DECLARE_METATYPE(QContactName)
-Q_DECLARE_METATYPE(QContactNickname)
-Q_DECLARE_METATYPE(QContactNote)
-Q_DECLARE_METATYPE(QContactOnlineAccount)
-Q_DECLARE_METATYPE(QContactOrganization)
-Q_DECLARE_METATYPE(QContactPhoneNumber)
-Q_DECLARE_METATYPE(QContactPresence)
-Q_DECLARE_METATYPE(QContactThumbnail)
-Q_DECLARE_METATYPE(QContactTimestamp)
-Q_DECLARE_METATYPE(QContactType)
-Q_DECLARE_METATYPE(QContactUrl)
-
-#endif /* SMFCONTACT_H_ */
--- a/smf/smfservermodule/smfclient/common/smfcontact_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfContact class
- *
- */
-
-#ifndef SMFCONTACT_P_H_
-#define SMFCONTACT_P_H_
-
-#include <QSharedData>
-
-using namespace QtMobility;
-
-class SmfContactPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfContactPrivate( ) { m_details.clear(); }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfContactPrivate( const SmfContactPrivate &aOther ) :
- QSharedData ( aOther ),
- m_details ( aOther.m_details ) { }
-
- /**
- * Destructor
- */
- ~SmfContactPrivate( ){};
-
- QVariantMap m_details;// contact details
-
-};
-
-#endif /* SMFCONTACT_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfevent.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/**
- * 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:
- * The SmfEvent class represents an event
- *
- */
-
-#include <smfevent.h>
-#include <smfevent_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfEvent::SmfEvent( )
- {
- d = new SmfEventPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfEvent::SmfEvent( const SmfEvent &aOther )
- :d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfEvent& SmfEvent::operator=( const SmfEvent &aOther )
- {
- d->m_name = aOther.d->m_name;
- d->m_dateTime = aOther.d->m_dateTime;
- d->m_duration = aOther.d->m_duration;
- d->m_artists = aOther.d->m_artists;
- d->m_venue = aOther.d->m_venue;
- d->m_url = aOther.d->m_url;
- d->m_eventId = aOther.d->m_eventId;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfEvent::~SmfEvent( )
- {
- }
-
-/**
- * Method to get the event name
- * @return The event name
- */
-QString SmfEvent::title( ) const
- {
- return d->m_name;
- }
-
-/**
- * Method to get the event date and time
- * @return The date and time of the event
- */
-QDateTime SmfEvent::eventDateTime( ) const
- {
- return d->m_dateTime;
- }
-
-/**
- * Method to get the event duration
- * @return The duration of the event
- */
-QTime SmfEvent::duration( ) const
- {
- return d->m_duration;
- }
-
-/**
- * Method to get the artist names
- * @return The list of artists in the event
- */
-SmfArtists SmfEvent::artists( ) const
- {
- return d->m_artists;
- }
-
-/**
- * Method to get the venue of the event
- * @return The venue of the event
- */
-SmfLocation SmfEvent::venue( ) const
- {
- return d->m_venue;
- }
-
-/**
- * Method to get the URL for getting tickets for the event
- * @return The Url for getting ticket for the event
- */
-QUrl SmfEvent::ticketUrl( ) const
- {
- return d->m_url;
- }
-
-/**
- * Method to get the id of the event
- * @return The ID value
- */
-QString SmfEvent::id( ) const
- {
- return d->m_eventId;
- }
-
-/**
- * Method to set the event name
- * @param aName The new event name
- */
-void SmfEvent::setTitle( const QString &aName )
- {
- d->m_name = aName;
- }
-
-/**
- * Method to set the event date and time
- * @param aDateTime The new date and time of the event
- *
- */
-void SmfEvent::setEventDateTime( const QDateTime &aDateTime )
- {
- d->m_dateTime = aDateTime;
- }
-
-/**
- * Method to set the event duration
- * @param aDuration The new duration of the event
- *
- */
-void SmfEvent::setDuration( const QTime &aDuration )
- {
- d->m_duration = aDuration;
- }
-
-/**
- * Method to set the artist
- * @param aArtists The new artists in the event
- */
-void SmfEvent::setArtists( const SmfArtists &aArtists )
- {
- d->m_artists = aArtists;
- }
-
-/**
- * Method to set the venue name
- * @param aVenue The new venue of the event
- */
-void SmfEvent::setVenue( const SmfLocation &aVenue )
- {
- d->m_venue = aVenue;
- }
-
-/**
- * Method to set the URL for getting tickets for the event
- * @param aUrl The new Url for getting ticket for the event
- */
-void SmfEvent::setTicketUrl( const QUrl &aUrl )
- {
- d->m_url = aUrl;
- }
-
-/**
- * Method to set the id of the event
- * @param aId The ID value
- */
-void SmfEvent::setId( const QString &aId )
- {
- d->m_eventId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfEvent object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aEvent The SmfEvent object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfEvent &aEvent )
- {
- // Serialize d->m_name
- aDataStream<<aEvent.d->m_name;
-
- // Serialize d->m_dateTime
- aDataStream<<aEvent.d->m_dateTime;
-
- // Serialize d->m_duration
- aDataStream<<aEvent.d->m_duration;
-
- // Serialize d->m_artists
- aDataStream<<aEvent.d->m_artists;
-
- // Serialize d->m_venue
- aDataStream<<aEvent.d->m_venue;
-
- // Serialize d->m_url
- aDataStream<<aEvent.d->m_url;
-
- // Serialize d->m_eventId
- aDataStream<<aEvent.d->m_eventId;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfEvent object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aEvent The SmfEvent object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfEvent &aEvent)
- {
- // Deserialize d->m_name
- aDataStream>>aEvent.d->m_name;
-
- // Deserialize d->m_dateTime
- aDataStream>>aEvent.d->m_dateTime;
-
- // Deserialize d->m_duration
- aDataStream>>aEvent.d->m_duration;
-
- // Deserialize d->m_artists
- aDataStream>>aEvent.d->m_artists;
-
- // Deserialize d->m_venue
- aDataStream>>aEvent.d->m_venue;
-
- // Deserialize d->m_url
- aDataStream>>aEvent.d->m_url;
-
- // Deserialize d->m_eventId
- aDataStream>>aEvent.d->m_eventId;
-
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smfevent.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/**
- * 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:
- * The SmfEvent class represents an event
- *
- */
-
-#ifndef SMFEVENT_H_
-#define SMFEVENT_H_
-
-#include "smflocation.h"
-#include "smfartists.h"
-#include <QStringList>
-#include <QDatastream>
-#include <QSharedData>
-#include "smfclientglobal.h"
-#include <QMetaType>
-
-class SmfEventPrivate;
-
-/**
- * @ingroup smf_common_group
- * The event class represents an event
- */
-class SMFCLIENT_EXPORT SmfEvent
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfEvent( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfEvent( const SmfEvent &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The current object reference
- */
- SmfEvent& operator=( const SmfEvent &aOther );
-
- /**
- * Destructor
- */
- ~SmfEvent( );
-
- /**
- * Method to get the event name
- * @return The event name
- */
- QString title( ) const;
-
- /**
- * Method to get the event date and time
- * @return The date and time of the event
- */
- QDateTime eventDateTime( ) const;
-
- /**
- * Method to get the event duration
- * @return The duration of the event
- */
- QTime duration( ) const;
-
- /**
- * Method to get the artist names
- * @return The list of artists in the event
- */
- SmfArtists artists( ) const;
-
- /**
- * Method to get the venue of the event
- * @return The venue of the event
- */
- SmfLocation venue( ) const;
-
- /**
- * Method to get the URL for getting tickets for the event
- * @return The Url for getting ticket for the event
- */
- QUrl ticketUrl( ) const;
-
- /**
- * Method to get the id of the event
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the event name
- * @param aName The new event name
- */
- void setTitle( const QString &aName );
-
- /**
- * Method to set the event date and time
- * @param aDateTime The new date and time of the event
- *
- */
- void setEventDateTime( const QDateTime &aDateTime );
-
- /**
- * Method to set the event duration
- * @param aDuration The new duration of the event
- *
- */
- void setDuration( const QTime &aDuration );
-
- /**
- * Method to set the artist
- * @param aArtists The new artists in the event
- */
- void setArtists( const SmfArtists &aArtists );
-
- /**
- * Method to set the venue name
- * @param aVenue The new venue of the event
- */
- void setVenue( const SmfLocation &aVenue );
-
- /**
- * Method to set the URL for getting tickets for the event
- * @param aUrl The new Url for getting ticket for the event
- */
- void setTicketUrl( const QUrl &aUrl );
-
- /**
- * Method to set the id of the event
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfEventPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfEvent &aEvent );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfEvent &aEvent );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfEvent object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aEvent The SmfEvent object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfEvent &aEvent );
-
-/**
- * Method for Internalization. Reads a SmfEvent object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aEvent The SmfEvent object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfEvent &aEvent);
-
-
-typedef QList<SmfEvent> SmfEventList;
-
-// Make the class SmfEvent known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfEvent)
-Q_DECLARE_METATYPE(QList<SmfEvent>)
-
-
-#endif /* SMFEVENT_H_ */
--- a/smf/smfservermodule/smfclient/common/smfevent_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfEvent class
- *
- */
-
-#ifndef SMFEVENT_P_H_
-#define SMFEVENT_P_H_
-
-
-#include <smflocation.h>
-#include <smfartists.h>
-#include <QStringList>
-#include <QSharedData>
-
-class SmfEventPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfEventPrivate( ) {
- m_name.clear();
- m_url.clear();
- m_eventId.clear();
-
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfEventPrivate( const SmfEventPrivate &aOther ) :
- QSharedData ( aOther ),
- m_name ( aOther.m_name ),
- m_dateTime ( aOther.m_dateTime ),
- m_duration ( aOther.m_duration ),
- m_artists ( aOther.m_artists ),
- m_venue ( aOther.m_venue ),
- m_url ( aOther.m_url ),
- m_eventId ( aOther.m_eventId ) { }
-
- /**
- * Destructor
- */
- ~SmfEventPrivate( )
- {
- }
-
- QString m_name; // event name
- QDateTime m_dateTime; // event date and time
- QTime m_duration; // event duration
- SmfArtists m_artists; // event artist names
- SmfLocation m_venue; // event venue
- QUrl m_url; // ticket url
- QString m_eventId; // event Id
-
-};
-
-#endif /* SMFEVENT_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfglobal.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/**
- * 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:
- * SMF wide global const and macros, to be shared among SMF components
- * and SMF clients
- *
- */
-
-#ifndef SMFGLOBAL_H
-#define SMFGLOBAL_H
-
-#ifdef Q_OS_SYMBIAN
-#include <e32cmn.h>
-#endif
-
-#include <qglobal.h>
-#include <QBuffer>
-#include <QNetworkRequest>
-#include <QNetworkAccessManager>
-/**
- * Server name
- */
-
-/**
- * Exact definition to be decided later
- */
-#define SMF_SERVICE_NAME(INTERFACE,INTERFACENAME)
-
-/**
- * Indicates first page for a web query
- */
-const int SMF_FIRST_PAGE=0;
-
-/**
- * Default value for per page item for web queries
- */
-const int SMF_ITEMS_PER_PAGE=10;
-#ifdef Q_OS_SYMBIAN
-class SmfServerSymbianSession;
-#else
-class SmfServerQtSession;
-#endif
-
-/**
- * The enumeration used to denote errors reported by plugin
- * Smf can't continue without handling these errors
- */
-enum SmfPluginError
- {
- SmfPluginErrNone = 0,
- SmfPluginErrTooManyRequest,
- SmfPluginErrRequestQuotaExceeded,
- SmfPluginErrInvalidRequest,
- SmfPluginErrUserNotLoggedIn,
- SmfPluginErrAuthenticationExpired,
- SmfPluginErrPermissionDenied,
- SmfPluginErrInvalidApplication,
- SmfPluginErrServiceUnavailable,
- SmfPluginErrServiceTemporaryUnavailable,
- SmfPluginErrFormatNotSupported,
- SmfPluginErrDataSizeExceeded,
- SmfPluginErrServiceNotSupported,
- SmfPluginErrInvalidArguments,
- SmfPluginErrRequestNotCreated,
- SmfPluginErrParsingFailed,
- SmfPluginErrNetworkError,
- SmfPluginErrCancelComplete
- };
-
-/**
- * The enumeration used to track the plugin methods return type
- */
-enum SmfPluginRetType
- {
- SmfSendRequestAgain = 0,
- SmfRequestComplete,
- SmfRequestError
- };
-
-
-/**
- * The enumeration used to indicate the type of network operation done
- */
-enum SmfRequestTypeID
- {
- SmfGetService,
- SmfGetServiceComplete,
- SmfTest,
- SmfTestComplete,
- SmfContactGetFriends,
- SmfContactGetFollowers,
- SmfContactSearch,
- SmfContactSearchNear,
- SmfContactGetGroups,
- SmfContactSearchInGroup,
- SmfContactCustomRequest,
- SmfContactRetrievePosts,
- SmfContactPost,
- SmfContactUpdatePost,
- SmfContactPostDirected,
- SmfContactCommentOnAPost,
- SmfContactPostAppearence,
- SmfContactSharePost,
- SmfContactPostCustomRequest,
- SmfMusicGetLyrics,
- SmfMusicGetSubtitle,
- SmfMusicLyricsCustomRequest,
- SmfMusicGetEventsOnLoc,
- SmfMusicGetVenueOnLoc,
- SmfMusicGetEventsOnVenue,
- SmfMusicPostEvents,
- SmfMusicEventsCustomRequest,
- SmfMusicGetRecommendations,
- SmfMusicGetTracks,
- SmfMusicGetTrackInfo,
- SmfMusicGetStores,
- SmfMusicPostCurrentPlaying,
- SmfMusicPostRating,
- SmfMusicPostComment,
- SmfMusicSearchCustomRequest,
- SmfMusicGetUserInfo,
- SmfMusicSearchUser,
- SmfMusicServiceCustomRequest,
- SmfMusicGetPlaylists,
- SmfMusicGetPlaylistsOfUser,
- SmfMusicAddToPlaylist,
- SmfMusicPostCurrentPlayingPlaylist,
- SmfMusicPlaylistCustomRequest,
- SmfPictureGetAlbums,
- SmfPictureGetPictures,
- SmfPictureDescription,
- SmfPictureUpload,
- SmfPictureMultiUpload,
- SmfPicturePostComment,
- SmfPictureCustomRequest,
- SmfActivityFriendsActivities, //SmfActivityFetcher start
- SmfActivityFiltered,
- SmfActivitySelfActivity,
- SmfActivityCustomRequest,//SmfActivityFetcher end
- SmfContactGetFriendsComplete,
- SmfContactGetFollowersComplete,
- SmfContactSearchComplete,
- SmfContactSearchNearComplete,
- SmfContactGetGroupsComplete,
- SmfContactSearchInGroupComplete,
- SmfContactRetrievePostsComplete,
- SmfContactPostComplete,
- SmfContactUpdatePostComplete,
- SmfContactPostDirectedComplete,
- SmfContactCommentOnAPostComplete,
- SmfContactPostAppearenceComplete,
- SmfContactSharePostComplete,
- SmfMusicGetLyricsComplete,
- SmfMusicGetSubtitleComplete,
- SmfMusicGetEventsOnLocComplete,
- SmfMusicGetVenueOnLocComplete,
- SmfMusicGetEventsOnVenueComplete,
- SmfMusicPostEventsComplete,
- SmfMusicGetRecommendationsComplete,
- SmfMusicGetTracksComplete,
- SmfMusicGetTrackInfoComplete,
- SmfMusicGetStoresComplete,
- SmfMusicPostCurrentPlayingComplete,
- SmfMusicGetUserInfoComplete,
- SmfMusicSearchUserComplete,
- SmfMusicGetPlaylistsComplete,
- SmfMusicGetPlaylistsOfUserComplete,
- SmfMusicAddToPlaylistComplete,
- SmfMusicPostCurrentPlayingPlaylistComplete,
- SmfPictureGetPicturesComplete,
- SmfPictureDescriptionComplete,
- SmfPictureUploadComplete,
- SmfPictureMultiUploadComplete,
- SmfPicturePostCommentComplete,
- SmfRelationCreate,//SmfRelationMngr start
- SmfRelationAssociate,
- SmfRelationRemove,
- SmfRelationSearchById,
- SmfRelationSearchByContact,
- SmfRelationCount,
- SmfRelationGet,
- SmfRelationGetAll,
- SmfRelationGetAllRelations//SmfRelationMngr end
-
- };
-
-/**
- * The enumeration used to indicate result of transport to the plugins
- */
-enum SmfTransportResult
- {
- SmfTransportOpNoError = 0,
- SmfTransportOpConnectionRefusedError,
- SmfTransportOpRemoteHostClosedError,
- SmfTransportOpHostNotFoundError,
- SmfTransportOpTimeoutError,
- SmfTransportOpOperationCanceledError,
- SmfTransportOpSslHandshakeFailedError,
- SmfTransportOpProxyConnectionRefusedError,
- SmfTransportOpProxyConnectionClosedError,
- SmfTransportOpProxyNotFoundError,
- SmfTransportOpProxyTimeoutError,
- SmfTransportOpProxyAuthenticationRequiredError,
- SmfTransportOpContentAccessDenied,
- SmfTransportOpContentOperationNotPermittedError,
- SmfTransportOpContentNotFoundError,
- SmfTransportOpAuthenticationRequiredError,
- SmfTransportOpContentReSendError,
- SmfTransportOpProtocolUnknownError,
- SmfTransportOpProtocolInvalidOperationError,
- SmfTransportOpUnknownNetworkError,
- SmfTransportOpUnknownProxyError,
- SmfTransportOpUnknownContentError,
- SmfTransportOpProtocolFailure,
- SmfTransportOpUnknownError,
- SmfTransportOpIAPChanged,
- SmfTransportOpCancelled,
- SmfTransportOpUnsupportedContentEncodingFormat,
- SmfTransportOpGzipError
- };
-
-/**
- * The structure used to hold the request created by the plugins
- */
-struct SmfPluginRequestData
- {
- /**
- * Indicates the type of operation performed, like getting Friends
- * list, upload image etc
- */
- SmfRequestTypeID iRequestType;
-
- /**
- * The QNetworkRequest that has to be filled up by the plugins
- */
- QNetworkRequest iNetworkRequest;
-
- /**
- * The data to be posted in case of HTTP POST operation
- */
- QBuffer *iPostData;
-
- /**
- * The type of HTTP transaction, like GET, POST etc
- */
- QNetworkAccessManager::Operation iHttpOperationType;
-
- };
-
-/**
- * The structure used to hold the request created by the plugins
- */
-struct SmfResultPage
- {
- /**
- * The total number of items
- */
- uint iTotalItems;
-
- /**
- * The number of items per page
- */
- uint iItemsPerPage;
-
- /**
- * The total number of pages
- */
- uint iTotalPages;
-
- /**
- * The current fetched page number
- */
- uint iPageNum;
- };
-
-
-struct SmfClientAuthID
- {
-#ifdef Q_OS_SYMBIAN
- TSecureId pid;
- SmfServerSymbianSession* session;
-#else
- QString pid;
- SmfServerQtSession* session;
-#endif
-
- };
-
-/**
- * Smf wide errors
- */
-enum SmfError
- {
- SmfNoError = 0,
- SmfInvalidInterface, //1
- SmfNoAuthorizedPlugin, //2
- SmfClientAuthFailed, //3
- SmfPMPluginNotFound, //4
- SmfPMPluginNotLoaded, //5
- SmfPMPluginLoadError, //6
- SmfPMPluginNotAuthorised, //7
- SmfPMPluginRequestCreationFailed, //8
- SmfPMPluginUnknownPluginService, //9
- SmfPMPluginUnknownHttpService, //10
- SmfPMPluginRequestSendingFailed, //11
- SmfPMPluginSOPCheckFailed, //12
- SmfPMPluginSendRequestAgain, //13
- SmfPluginErrorTooManyRequest, //14
- SmfPluginErrorRequestQuotaExceeded, //15
- SmfPluginErrorInvalidRequest, //16
- SmfPluginErrorUserNotLoggedIn, //17
- SmfPluginErrorAuthenticationExpired, //18
- SmfPluginErrorPermissionDenied, //19
- SmfPluginErrorInvalidApplication, //20
- SmfPluginErrorServiceUnavailable, //21
- SmfPluginErrorServiceTemporaryUnavailable, //22
- SmfPluginErrorFormatNotSupported, //23
- SmfPluginErrorDataSizeExceeded , //24
- SmfPluginErrorInvalidArguments, //25
- SmfPluginErrorParsingFailed, //26
- SmfPluginErrorNetworkError, //27
- SmfPluginErrorCancelComplete, //28
- SmfTMConnectionRefusedError, //29
- SmfTMRemoteHostClosedError, //30
- SmfTMHostNotFoundError, //31
- SmfTMTimeoutError, //32
- SmfTMOperationCanceledError, //33
- SmfTMSslHandshakeFailedError, //34
- SmfTMProxyConnectionRefusedError, //35
- SmfTMProxyConnectionClosedError, //36
- SmfTMProxyNotFoundError, //37
- SmfTMProxyTimeoutError, //38
- SmfTMProxyAuthenticationRequiredError, //39
- SmfTMContentAccessDenied, //40
- SmfTMContentOperationNotPermittedError, //41
- SmfTMContentNotFoundError, //42
- SmfTMAuthenticationRequiredError, //43
- SmfTMContentReSendError, //44
- SmfTMProtocolUnknownError, //45
- SmfTMProtocolInvalidOperationError, //46
- SmfTMUnknownNetworkError, //47
- SmfTMUnknownProxyError, //48
- SmfTMUnknownContentError, //49
- SmfTMProtocolFailure, //50
- SmfTMUnknownError, //51
- SmfTMIAPChanged, //52
- SmfTMCancelled, //53
- SmfTMUnsupportedContentEncodingFormat, //54
- SmfTMInitNetworkNotAvailable , //55
- SmfTMInitRoamingNetworkUsageNotEnabled, //56
- SmfTMGzipMemoryError, //57
- SmfTMGzipStreamError, //58
- SmfTMGzipDataError, //59
- SmfMemoryAllocationFailure, //60
- SmfDbOpeningError, //61
- SmfDbQueryExecutonError, //61
- SmfDbContactNotExist, //63
- SmfErrItemNotInRelation, //64
- SmfErrInvalidRelation, //65
- SmfUnknownError //66
-
- };
-
-/**
- * Smf wide panics
- */
-enum SmfPanic
- {
- SmfRequestPending//to allow one outstanding request per session
- };
-
-//interface names
-const QString contactFetcherInterface("org.symbian.smf.plugin.contact.fetcher\0.2");
-const QString postProviderInterface("org.symbian.smf.plugin.contact.posts\0.2");
-const QString galleryInterface("org.symbian.smf.plugin.gallery\0.2");
-const QString musicServiceInterface("org.symbian.smf.plugin.music.service\0.2");
-const QString musicSearchInterface("org.symbian.smf.client.music.search\0.2");
-const QString playlistServiceInterface("org.symbian.smf.plugin.music.playlist\0.2");
-const QString musicEventServiceInterface("org.symbian.smf.plugin.music.events\0.2");
-const QString lyricsServiceInterface("org.symbian.smf.plugin.music.lyrics\0.2");
-const QString activityFetcherInterface("org.symbian.smf.plugin.activity.fetcher\0.2");
-
-#endif /* SMFGLOBAL_H_ */
--- a/smf/smfservermodule/smfclient/common/smfgroup.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/**
- * 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:
- * The group class represents an instance of a group as per SN site terminolgy
- */
-
-#include "smfgroup.h"
-//private impl
-#include "smfgroup_p.h"
-
-/**
- * Constructor with default argument
- * @param list The list of members in the group
- */
- SmfGroup::SmfGroup( QList<SmfContact>* list )
- {
- d = new SmfGroupPrivate;
- if(list)
- d->m_members = list;
- }
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfGroup::SmfGroup( const SmfGroup &aOther ): d(aOther.d)
- {
-
- }
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfGroup& SmfGroup::operator=( const SmfGroup &aOther )
- {
- d->m_members = aOther.d->m_members;
- d->m_groupName = aOther.d->m_groupName;
- d->m_groupId = aOther.d->m_groupId;
- return *this;
- }
-
-/**
- * Destructor
- */
- SmfGroup::~SmfGroup( )
- {
-
- }
-
- /**
- * Method to get the list of members in the group
- * @return The list of members in the group
- */
- QList<SmfContact> SmfGroup::members( ) const
- {
- return *(d->m_members) ;
- }
-
- /**
- * Method to set members
- *
- */
- void SmfGroup::setMembers(QList<SmfContact>* mems)
- {
- d->m_members = mems;
- }
- /**
- * Method to get the name of the group
- * @return The name of the group
- */
- QString SmfGroup::name( ) const
- {
- return d->m_groupName;
- }
-
- /**
- * Method to set name
- */
- void SmfGroup::setName(QString& name)
- {
- d->m_groupName = name;
- }
-
- /**
- * Method to get the id of the group
- * @return The ID value
- */
- QString SmfGroup::id( ) const
- {
- return d->m_groupId;
- }
-
- /**
- * Method to set id
- */
- void SmfGroup::setId(QString& id)
- {
- d->m_groupId = id;
-
- }
- /**
- * Method for Externalization. Writes the SmfGroup object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aGroup The SmfGroup object to be externalized
- * @return reference to the written stream
- */
- //TODO:- implement
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfGroup &aGroup )
- {
- //aDataStream<<aGroup.members();
- aDataStream<<aGroup.name();
- aDataStream<<aGroup.id();
- return aDataStream;
- }
-
- /**
- * Method for Internalization. Reads a SmfGroup object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aGroup The SmfGroup object to be internalized
- * @return reference to the stream
- */
- //TODO:- implement
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfGroup &aGroup)
- {
-
- //aDataStream>>aGroup.d->m_members;
- QString grpname;
- aDataStream>>grpname;
- aGroup.d->m_groupName = grpname;
- QString grpId;
- aDataStream>>grpId;
- aGroup.d->m_groupId = grpId;
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smfgroup.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/**
- * 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:
- * The group class represents an instance of a group as per SN site terminolgy
- *
- */
-
-#ifndef SMFGROUP_H_
-#define SMFGROUP_H_
-
-#include "smfcontact.h"
-#include <qdatastream.h>
-#include <QSharedData>
-#include "smfclientglobal.h"
-#include <QMetaType>
-#include "smfgroup_p.h"
-
-/**
- * Max number of members per group
- */
-const int MaxMemberPerGroup = 1000;
-/**
- * Max size for one SmfGroup
- */
-const int MaxSmfGroupSize = MaxSmfContactSize*MaxMemberPerGroup;
-/**
- * @ingroup smf_common_group
- * The group class represents an instance of a group as per SN site terminolgy
- */
-
-class SMFCLIENT_EXPORT SmfGroup //: public QObject
- {
- //Q_OBJECT
-public:
- /**
- * Constructor with default argument
- * @param list The list of members in the group
- */
- SmfGroup( QList<SmfContact>* list = 0 );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfGroup( const SmfGroup &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfGroup& operator=( const SmfGroup &aOther );
-
- /**
- * Destructor
- */
- ~SmfGroup( );
-
-public slots:
- /**
- * Method to get the list of members in the group
- * @return The list of members in the group
- */
- QList<SmfContact> members( ) const;
-
- /**
- * Method to set members
- *
- */
- void setMembers(QList<SmfContact>* mems);
- /**
- * Method to get the name of the group
- * @return The name of the group
- */
- QString name( ) const;
-
- /**
- * Method to set name
- */
- void setName(QString& name);
-
- /**
- * Method to get the id of the group
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set id
- */
- void setId(QString& id);
-
-private:
- QSharedDataPointer<SmfGroupPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfGroup &aGroup );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfGroup &aGroup );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfGroup object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aGroup The SmfGroup object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfGroup &aGroup );
-
-/**
- * Method for Internalization. Reads a SmfGroup object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aGroup The SmfGroup object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfGroup &aGroup);
-
-typedef QList<SmfGroup> SmfGroupList;
-
-// Make the class SmfGroup known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfGroup)
-Q_DECLARE_METATYPE(QList<SmfGroup>)
-
-#endif /* SMFGROUP_H_ */
--- a/smf/smfservermodule/smfclient/common/smfgroup_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfGroup class
- *
- */
-
-#ifndef SMFGROUP_P_H_
-#define SMFGROUP_P_H_
-
-#include <smfcontact.h>
-#include <QSharedData>
-
-class SmfGroupPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfGroupPrivate( ) { m_members = NULL; m_groupName.clear(); m_groupId.clear(); }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfGroupPrivate( const SmfGroupPrivate &aOther ) :
- QSharedData ( aOther ),
- m_members ( aOther.m_members ),
- m_groupName ( aOther.m_groupName ),
- m_groupId ( aOther.m_groupId ) { }
-
- /**
- * Destructor
- */
- ~SmfGroupPrivate( ){};
-
- QList<SmfContact> *m_members; // members in the group
- QString m_groupName;
- QString m_groupId;
- // Other details to be added
-};
-
-
-#endif /* SMFGROUP_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smflocation.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,287 +0,0 @@
-/**
- * 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:
- * The SmfLocation class represents a location and its related information
- * Note: This class has dependencies on QtMobility project
- *
- */
-
-
-#include <smflocation.h>
-#include <smflocation_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfLocation::SmfLocation( )
- {
- d = new SmfLocationPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfLocation::SmfLocation( const SmfLocation &aOther )
- :d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- */
-SmfLocation& SmfLocation::operator=( const SmfLocation &aOther )
- {
- d->m_name = aOther.d->m_name;
- d->m_city = aOther.d->m_city;
- d->m_street = aOther.d->m_street;
- d->m_zipcode = aOther.d->m_zipcode;
- d->m_country = aOther.d->m_country;
- d->m_geo = aOther.d->m_geo;
- d->m_url = aOther.d->m_url;
- d->m_placeId = aOther.d->m_placeId;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfLocation::~SmfLocation( )
- {
- }
-
-/**
- * Method to get the place name
- * @return The place name
- */
-QString SmfLocation::name( ) const
- {
- return d->m_name;
- }
-
-/**
- * Method to get the city of place
- * @return The city of the place
- */
-QString SmfLocation::city( ) const
- {
- return d->m_city;
- }
-
-/**
- * Method to get the street information of place
- * @return The street information of the place
- */
-QString SmfLocation::street( ) const
- {
- return d->m_street;
- }
-
-/**
- * Method to get the zip code of place
- * @return The zip code of place
- */
-QString SmfLocation::zipCode( ) const
- {
- return d->m_zipcode;
- }
-
-/**
- * Method to get the country of place
- * @return The country of place
- */
-QString SmfLocation::country( ) const
- {
- return d->m_country;
- }
-
-/**
- * Method to get the Geo Position information (like information gathered
- * on a global position, direction and velocity at a particular point
- * in time) of the place.
- * @return The Geo Position information of place
- */
-QGeoPositionInfo SmfLocation::geoPositionInfo( ) const
- {
- return d->m_geo;
- }
-
-/**
- * Method to get the url indicating the place
- * @return The url indicating the place
- */
-QUrl SmfLocation::url( ) const
- {
- return d->m_url;
- }
-
-/**
- * Method to get the id of the place
- * @return The ID value
- */
-QString SmfLocation::id( ) const
- {
- return d->m_placeId;
- }
-
-/**
- * Method to set the place name
- * @param aPlace The new place name
- */
-void SmfLocation::setName( const QString& aPlace )
- {
- d->m_name = aPlace;
- }
-
-/**
- * Method to set the city of place
- * @param aCity The new city of the place
- */
-void SmfLocation::setCity( const QString& aCity )
- {
- d->m_city = aCity;
- }
-
-/**
- * Method to set the street information of place
- * @param aStreet The new street information of the place
- */
-void SmfLocation::setStreet( const QString& aStreet )
- {
- d->m_street = aStreet;
- }
-
-/**
- * Method to set the zip code of place
- * @param aZipCode The new zip code of place
- */
-void SmfLocation::setZipCode( const QString& aZipCode )
- {
- d->m_zipcode = aZipCode;
- }
-
-/**
- * Method to set the country of place
- * @param aCountry The new country of place
- */
-void SmfLocation::setCountry( const QString& aCountry )
- {
- d->m_country = aCountry;
- }
-
-/**
- * Method to set the Geo Postion information (like information gathered
- * on a global position, direction and velocity at a particular point
- * in time) of the place.
- * @param aGeoPosInfo The new Geo Position information of place
- */
-void SmfLocation::setGeoPositionInfo( const QGeoPositionInfo& aGeoPosInfo )
- {
- d->m_geo = aGeoPosInfo;
- }
-
-/**
- * Method to set the url indicating the place
- * @param aUrl The new url indicating the place
- */
-void SmfLocation::setUrl( const QUrl& aUrl )
- {
- d->m_url = aUrl;
- }
-
-/**
- * Method to set the id of the place
- * @return The ID value
- */
-void SmfLocation::setId( const QString &aId )
- {
- d->m_placeId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfLocation object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPlace The SmfLocation object to be externalized
- * @return reference to the written stream
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfLocation &aPlace )
- {
- // Serialize d->m_name
- aDataStream<<aPlace.d->m_name;
-
- // Serialize d->m_city
- aDataStream<<aPlace.d->m_city;
-
- // Serialize d->m_street
- aDataStream<<aPlace.d->m_street;
-
- // Serialize d->m_zipcode
- aDataStream<<aPlace.d->m_zipcode;
-
- // Serialize d->m_country
- aDataStream<<aPlace.d->m_country;
-
- // Serialize d->m_geo
- aDataStream<<aPlace.d->m_geo;
-
- // Serialize d->m_url
- aDataStream<<aPlace.d->m_url;
-
- // Serialize d->m_placeId
- aDataStream<<aPlace.d->m_placeId;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfLocation object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPlace The SmfLocation object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfLocation &aPlace)
- {
- // Deserialize d->m_name
- aDataStream>>aPlace.d->m_name;
-
- // Deserialize d->m_city
- aDataStream>>aPlace.d->m_city;
-
- // Deserialize d->m_street
- aDataStream>>aPlace.d->m_street;
-
- // Deserialize d->m_zipcode
- aDataStream>>aPlace.d->m_zipcode;
-
- // Deserialize d->m_country
- aDataStream>>aPlace.d->m_country;
-
- // Deserialize d->m_geo
- aDataStream>>aPlace.d->m_geo;
-
- // Deserialize d->m_url
- aDataStream>>aPlace.d->m_url;
-
- // Deserialize d->m_placeId
- aDataStream>>aPlace.d->m_placeId;
-
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smflocation.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/**
- * 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:
- * The SmfLocation class represents a place and its related information
- * Note: This class has dependencies on QtMobility project
- *
- */
-
-#ifndef SMFLOCATION_H_
-#define SMFLOCATION_H_
-
-#include <QUrl>
-#include <qgeopositioninfo.h> // Qt mobility class
-#include <qdatastream.h>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-
-// Qt mobility - namespace
-using namespace QtMobility;
-
-enum SmfLocationSearchBoundary
-{
- SearchByStreet = 0x00,
- SearchByLocality,
- SearchByPostOffice,
- SearchByTown,
- SearchByRegion,
- SearchByState,
- SearchByCountry
-};
-
-class SmfLocationPrivate;
-
-/**
- * @ingroup smf_common_group
- * The SmfLocation class represents a location and its related information.
- *
- * Note: This class has dependencies on QtMobility project
- */
-class SMFCLIENT_EXPORT SmfLocation
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfLocation( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfLocation( const SmfLocation &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The current object reference
- */
- SmfLocation& operator=( const SmfLocation &aOther );
-
- /**
- * Destructor
- */
- ~SmfLocation( );
-
- /**
- * Method to get the place name
- * @return The place name
- */
- QString name( ) const;
-
- /**
- * Method to get the city of place
- * @return The city of the place
- */
- QString city( ) const;
-
- /**
- * Method to get the street information of place
- * @return The street information of the place
- */
- QString street( ) const;
-
- /**
- * Method to get the zip code of place
- * @return The zip code of place
- */
- QString zipCode( ) const;
-
- /**
- * Method to get the country of place
- * @return The country of place
- */
- QString country( ) const;
-
- /**
- * Method to get the Geo Position information (like information gathered
- * on a global position, direction and velocity at a particular point
- * in time) of the place.
- * @return The Geo Position information of place
- */
- QGeoPositionInfo geoPositionInfo( ) const;
-
- /**
- * Method to get the url indicating the place
- * @return The url indicating the place
- */
- QUrl url( ) const;
-
- /**
- * Method to get the id of the place
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the place name
- * @param aPlace The new place name
- */
- void setName( const QString &aPlace );
-
- /**
- * Method to set the city of place
- * @param aCity The new city of the place
- */
- void setCity( const QString &aCity );
-
- /**
- * Method to set the street information of place
- * @param aStreet The new street information of the place
- */
- void setStreet( const QString &aStreet );
-
- /**
- * Method to set the zip code of place
- * @param aZipCode The new zip code of place
- */
- void setZipCode( const QString &aZipCode );
-
- /**
- * Method to set the country of place
- * @param aCountry The new country of place
- */
- void setCountry( const QString &aCountry );
-
- /**
- * Method to set the Geo Postion information (like information gathered
- * on a global position, direction and velocity at a particular point
- * in time) of the place.
- * @param aGeoPosInfo The new Geo Position information of place
- */
- void setGeoPositionInfo( const QGeoPositionInfo &aGeoPosInfo );
-
- /**
- * Method to set the url indicating the place
- * @param aUrl The new url indicating the place
- */
- void setUrl( const QUrl &aUrl );
-
- /**
- * Method to set the id of the place
- * @return The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfLocationPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfLocation &aPlace );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfLocation &aPlace );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfLocation object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPlace The SmfLocation object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfLocation &aPlace );
-
-/**
- * Method for Internalization. Reads a SmfLocation object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPlace The SmfLocation object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfLocation &aPlace);
-
-typedef QList<SmfLocation> SmfLocationList;
-
-// Make the class SmfLocation known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfLocation)
-Q_DECLARE_METATYPE(QList<SmfLocation>)
-
-#endif /* SMFLOCATION_H_ */
--- a/smf/smfservermodule/smfclient/common/smflocation_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfLocation class
- * Note: This class has dependencies on QtMobility project
- *
- */
-
-#ifndef SMFLOCATION_P_H_
-#define SMFLOCATION_P_H_
-
-#include <QUrl>
-#include <qgeopositioninfo.h> // Qt mobility class
-#include <QSharedData>
-
-// Qt mobility - namespace
-using namespace QtMobility;
-
-class SmfLocationPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfLocationPrivate( ) {
- m_name.clear();
- m_city.clear();
- m_street.clear();
- m_zipcode.clear();
- m_country.clear();
- m_url.clear();
- m_placeId.clear(); }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfLocationPrivate( const SmfLocationPrivate &aOther ) :
- QSharedData ( aOther ),
- m_name ( aOther.m_name ),
- m_city ( aOther.m_city ),
- m_street ( aOther.m_street ),
- m_zipcode ( aOther.m_zipcode ),
- m_country ( aOther.m_country ),
- m_geo ( aOther.m_geo ),
- m_url ( aOther.m_url ),
- m_placeId ( aOther.m_placeId ) { }
-
- /**
- * Destructor
- */
- ~SmfLocationPrivate( )
- {
- }
-
- QString m_name; // place name
- QString m_city; // city of place
- QString m_street; // street of place
- QString m_zipcode; // zip code of place
- QString m_country; // country of place
- QGeoPositionInfo m_geo; // place geo position information
- QUrl m_url; // url indicating the place
- QString m_placeId; // place id
-
-};
-
-#endif /* SMFLOCATION_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smflyrics.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/**
- * 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:
- * The SmfLyrics class represents an instance of a music track's lyrics
- *
- */
-
-#include <smflyrics.h>
-#include <smflyrics_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfLyrics::SmfLyrics( )
- {
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfLyrics::SmfLyrics( const SmfLyrics &aOther )
- :d ( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfLyrics& SmfLyrics::operator=( const SmfLyrics &aOther )
- {
- d->m_lyrics = aOther.d->m_lyrics;
- d->m_language = aOther.d->m_language;
- d->m_releaseYr = aOther.d->m_releaseYr;
- d->m_lyricsId = aOther.d->m_lyricsId;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfLyrics::~SmfLyrics( )
- {
- }
-
-/**
- * Method to get the lyrics
- * @return The lyrics data
- */
-QByteArray SmfLyrics::lyrics( ) const
- {
- return d->m_lyrics;
- }
-
-/**
- * Method to get the language
- * @return The language
- */
-QString SmfLyrics::language( ) const
- {
- return d->m_language;
- }
-
-/**
- * Method to get the release year
- * @return The release year
- */
-QDateTime SmfLyrics::releaseYear( ) const
- {
- return d->m_releaseYr;
- }
-
-/**
- * Method to get the id of the lyrics
- * @return The ID value
- */
-QString SmfLyrics::id( ) const
- {
- return d->m_lyricsId;
- }
-
-/**
- * Method to set the lyrics
- * @param aLyrics The lyrics data
- */
-void SmfLyrics::setLyrics( const QByteArray &aLyrics )
- {
- d->m_lyrics = aLyrics;
- }
-
-/**
- * Method to set the language
- * @param aLang The language
- */
-void SmfLyrics::setLanguage( const QString &aLang )
- {
- d->m_language = aLang;
- }
-
-/**
- * Method to set the release year
- * @param aRelYear The release year
- */
-void SmfLyrics::setReleaseYear( const QDateTime &aRelYear )
- {
- d->m_releaseYr = aRelYear;
- }
-
-/**
- * Method to set the id of the lyrics
- * @param aId The ID value
- */
-void SmfLyrics::setId( const QString &aId )
- {
- d->m_lyricsId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfLyrics object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aLyrics The SmfLyrics object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfLyrics &aLyrics )
- {
- // Serialize d->m_lyrics
- aDataStream<<aLyrics.d->m_lyrics;
-
- // Serialize d->m_language
- aDataStream<<aLyrics.d->m_language;
-
- // Serialize d->m_releaseYr
- aDataStream<<aLyrics.d->m_releaseYr;
-
- // Serialize d->m_lyricsId
- aDataStream<<aLyrics.d->m_lyricsId;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfLyrics object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aLyrics The SmfLyrics object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfLyrics &aLyrics)
- {
- // Deserialize d->m_lyrics
- aDataStream>>aLyrics.d->m_lyrics;
-
- // Deserialize d->m_language
- aDataStream>>aLyrics.d->m_language;
-
- // Deserialize d->m_releaseYr
- aDataStream>>aLyrics.d->m_releaseYr;
-
- // Deserialize d->m_lyricsId
- aDataStream>>aLyrics.d->m_lyricsId;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smflyrics.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/**
- * 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:
- * The SmfLyrics class represents an instance of a music track's lyrics
- *
- */
-
-#ifndef SMFLYRICS_H_
-#define SMFLYRICS_H_
-
-#include <qdatastream.h>
-#include <QDateTime>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-
-class SmfLyricsPrivate;
-
-/**
- * @ingroup smf_common_group
- * The lyrics class represents an instance of a music track's lyrics
- */
-class SMFCLIENT_EXPORT SmfLyrics
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfLyrics( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfLyrics( const SmfLyrics &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The current object reference
- */
- SmfLyrics& operator=( const SmfLyrics &aOther );
-
- /**
- * Destructor
- */
- ~SmfLyrics( );
-
- /**
- * Method to get the lyrics
- * @return The lyrics data
- */
- QByteArray lyrics( ) const;
-
- /**
- * Method to get the language
- * @return The language
- */
- QString language( ) const;
-
- /**
- * Method to get the release year
- * @return The release year
- */
- QDateTime releaseYear( ) const;
-
- /**
- * Method to get the id of the lyrics
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the lyrics
- * @param aLyrics The lyrics data
- */
- void setLyrics( const QByteArray &aLyrics );
-
- /**
- * Method to set the language
- * @param aLang The language
- */
- void setLanguage( const QString &aLang );
-
- /**
- * Method to set the release year
- * @param aRelYear The release year
- */
- void setReleaseYear( const QDateTime &aRelYear );
-
- /**
- * Method to set the id of the lyrics
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfLyricsPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfLyrics &aLyrics );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfLyrics &aLyrics );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfLyrics object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aLyrics The SmfLyrics object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfLyrics &aLyrics );
-
-/**
- * Method for Internalization. Reads a SmfLyrics object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aLyrics The SmfLyrics object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfLyrics &aLyrics);
-
-
-typedef QList<SmfLyrics> SmfLyricsList;
-
-// Make the class SmfLyrics known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfLyrics)
-Q_DECLARE_METATYPE(QList<SmfLyrics>)
-
-
-#endif /* SMFLYRICS_H_ */
--- a/smf/smfservermodule/smfclient/common/smflyrics_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfLyrics class
- *
- */
-
-#ifndef SMFLYRICS_P_H_
-#define SMFLYRICS_P_H_
-
-#include <QDateTime>
-#include <QSharedData>
-
-class SmfLyricsPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfLyricsPrivate( ) {
- m_lyrics.clear();
- m_language.clear();
- m_lyricsId.clear();
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfLyricsPrivate( const SmfLyricsPrivate &aOther ) :
- QSharedData ( aOther ),
- m_lyrics ( aOther.m_lyrics ),
- m_language ( aOther.m_language ),
- m_releaseYr ( aOther.m_releaseYr ),
- m_lyricsId ( aOther.m_lyricsId ) { }
-
- /**
- * Destructor
- */
- ~SmfLyricsPrivate( )
- {
- }
-
- QByteArray m_lyrics; // lyrics data
- QString m_language; // language
- QDateTime m_releaseYr; // release year
- QString m_lyricsId; // lyrics id
-
-};
-
-#endif /* SMFLYRICS_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfmusicfingerprint.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/**
- * 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:
- * The SmfMusicFingerPrint class represents a music finger print used in searches
- *
- */
-
-#include <smfmusicfingerprint.h>
-#include <smfmusicfingerprint_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfMusicFingerPrint::SmfMusicFingerPrint( )
- {
- d = new SmfMusicFingerPrintPrivate;
- }
-
-/**
- * Constructor with default argument
- * @param aParent The parent object
- */
-SmfMusicFingerPrint::SmfMusicFingerPrint( const SmfMusicFingerPrint &aOther )
- :d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfMusicFingerPrint& SmfMusicFingerPrint::operator=( const SmfMusicFingerPrint &aOther )
- {
- d->m_fingerPrintData = aOther.d->m_fingerPrintData;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfMusicFingerPrint::~SmfMusicFingerPrint( )
- {
- }
-
-/**
- * GEt the music finger print data
- * @return The music finger print data
- */
-QByteArray SmfMusicFingerPrint::musicFingerPrint ( ) const
- {
- return d->m_fingerPrintData;
- }
-
-/**
- * Method to set the music finger print data
- * @param aFp The music finger print data
- */
-void SmfMusicFingerPrint::setMusicFingerPrint ( const QByteArray &aFp)
- {
- d->m_fingerPrintData = aFp;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfMusicFingerPrint object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aMFP The SmfMusicFingerPrint object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicFingerPrint &aMFP )
- {
- // Serialize d->m_fingerPrintData
- aDataStream<<aMFP.d->m_fingerPrintData;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfMusicFingerPrint object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aMFP The SmfMusicFingerPrint object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicFingerPrint &aMFP)
- {
- // Deserialize d->m_fingerPrintData
- aDataStream>>aMFP.d->m_fingerPrintData;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfmusicfingerprint.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/**
- * 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:
- * The SmfMusicFingerPrint class represents a music finger print used in searches
- *
- */
-
-#ifndef SMFMUSICFINGERPRINT_H_
-#define SMFMUSICFINGERPRINT_H_
-
-#include <QDataStream>
-#include <QSharedData>
-#include "smfclientglobal.h"
-#include <QMetaType>
-
-class SmfMusicFingerPrintPrivate;
-
-/**
- * @ingroup smf_common_group
- * The musicfingerprint class represents a music finger print used in searches
- */
-class SMFCLIENT_EXPORT SmfMusicFingerPrint
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfMusicFingerPrint( );
-
- /**
- * Constructor with default argument
- * @param aParent The parent object
- */
- SmfMusicFingerPrint( const SmfMusicFingerPrint &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfMusicFingerPrint& operator=( const SmfMusicFingerPrint &aOther );
-
- /**
- * Destructor
- */
- ~SmfMusicFingerPrint( );
-
- /**
- * Method to get the music finger print data
- * @return The music finger print data
- */
- QByteArray musicFingerPrint ( ) const;
-
- /**
- * Method to set the music finger print data
- * @param aFp The music finger print data
- */
- void setMusicFingerPrint ( const QByteArray &aFp);
-
-private:
- QSharedDataPointer<SmfMusicFingerPrintPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicFingerPrint &aMFP );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicFingerPrint &aMFP );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfMusicFingerPrint object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aMFP The SmfMusicFingerPrint object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicFingerPrint &aMFP );
-
-/**
- * Method for Internalization. Reads a SmfMusicFingerPrint object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aMFP The SmfMusicFingerPrint object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicFingerPrint &aMFP);
-
-
-// Make the class SmfMusicFingerPrint known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfMusicFingerPrint)
-
-
-#endif /* SMFMUSICFINGERPRINT_H_ */
--- a/smf/smfservermodule/smfclient/common/smfmusicfingerprint_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfMusicFingerPrint class
- *
- */
-
-#ifndef SMFMUSICFINGERPRINT_P_H_
-#define SMFMUSICFINGERPRINT_P_H_
-
-#include <QSharedData>
-
-class SmfMusicFingerPrintPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfMusicFingerPrintPrivate( )
- {
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfMusicFingerPrintPrivate( const SmfMusicFingerPrintPrivate &aOther ) :
- QSharedData ( aOther ),
- m_fingerPrintData ( aOther.m_fingerPrintData ) { }
-
- /**
- * Destructor
- */
- ~SmfMusicFingerPrintPrivate( )
- {
- }
-
- QByteArray m_fingerPrintData; // Finger print data
-
-};
-
-
-#endif /* SMFMUSICFINGERPRINT_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfmusicprofile.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/**
- * 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:
- * The music profile class represents a user's profile in music site
- *
- */
-
-#include <smfmusicprofile.h>
-#include <smfmusicprofile_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfMusicProfile::SmfMusicProfile( )
- {
- d = new SmfMusicProfilePrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfMusicProfile::SmfMusicProfile( const SmfMusicProfile &aOther )
- :d ( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfMusicProfile& SmfMusicProfile::operator=( const SmfMusicProfile &aOther )
- {
- d->m_usage = aOther.d->m_usage;
- d->m_interest = aOther.d->m_interest;
- d->m_events = aOther.d->m_events;
- d->m_profileId = aOther.d->m_profileId;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfMusicProfile::~SmfMusicProfile( )
- {
- }
-
-/**
- * Method to get the user's used tracks
- * @return The users track list
- */
-QList<SmfTrackInfo> SmfMusicProfile::musicUsageInfo( ) const
- {
- return d->m_usage;
- }
-
-/**
- * Method to get the user's interested tracks
- * @return The users interested track list
- */
-QList<SmfTrackInfo> SmfMusicProfile::interestInfo( ) const
- {
- return d->m_interest;
- }
-
-/**
- * Method to get the user events as list of SmfEvents
- * @return The list of events
- */
-QList<SmfEvent> SmfMusicProfile::userEvents( ) const
- {
- return d->m_events;
- }
-
-/**
- * Method to get the id of the music profile
- * @return The ID value
- */
-QString SmfMusicProfile::id( ) const
- {
- return d->m_profileId;
- }
-
-/**
- * Method to set the user's used tracks
- * @param aUsage The users new track list
- */
-void SmfMusicProfile::setMusicUsageInfo( const QList<SmfTrackInfo>& aUsage )
- {
- d->m_usage = aUsage;
- }
-
-/**
- * Method to set the user's interested tracks
- * @param aInterest The users new interested track list
- */
-void SmfMusicProfile::setInterestInfo( const QList<SmfTrackInfo>& aInterest )
- {
- d->m_interest = aInterest;
- }
-
-/**
- * Method to set the user events as list of SmfEvents
- * @param aList The list of events
- */
-void SmfMusicProfile::setUserEvents( const QList<SmfEvent> &aList )
- {
- d->m_events = aList;
- }
-
-/**
- * Method to set the id of the music profile
- * @param aId The ID value
- */
-void SmfMusicProfile::setId( const QString &aId )
- {
- d->m_profileId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfMusicProfile object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aProfile The SmfMusicProfile object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicProfile &aProfile )
- {
- // Serialize d->m_usage
- aDataStream<<aProfile.d->m_usage;
-
- // Serialize d->m_interest
- aDataStream<<aProfile.d->m_interest;
-
- // Serialize d->m_events
- aDataStream<<aProfile.d->m_events;
-
- // Serialize d->m_profileId
- aDataStream<<aProfile.d->m_profileId;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfMusicProfile object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aProfile The SmfMusicProfile object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicProfile &aProfile)
- {
- // Deserialize d->m_usage
- aDataStream>>aProfile.d->m_usage;
-
- // Deserialize d->m_interest
- aDataStream>>aProfile.d->m_interest;
-
- // Deserialize d->m_events
- aDataStream>>aProfile.d->m_events;
-
- // Deserialize d->m_profileId
- aDataStream>>aProfile.d->m_profileId;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfmusicprofile.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/**
- * 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:
- * The music profile class represents a user's profile in music site
- *
- */
-
-#ifndef SMFMUSICPROFILE_H_
-#define SMFMUSICPROFILE_H_
-
-#include "smftrackinfo.h"
-#include "smfevent.h"
-#include <qdatastream.h>
-#include <QSharedData>
-#include "smfclientglobal.h"
-#include <QMetaType>
-
-class SmfMusicProfilePrivate;
-/**
- * Implementation constants
- */
-const int SmfMusicProfileMaxSize = 20000;
-/**
- * @ingroup smf_common_group
- * The music profile class represents a user's profile in music site
- */
-class SMFCLIENT_EXPORT SmfMusicProfile
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfMusicProfile( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfMusicProfile( const SmfMusicProfile &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfMusicProfile& operator=( const SmfMusicProfile &aOther );
-
- /**
- * Destructor
- */
- ~SmfMusicProfile( );
-
- /**
- * Method to get the user's used tracks
- * @return The users track list
- */
- QList<SmfTrackInfo> musicUsageInfo( ) const;
-
- /**
- * Method to get the user's interested tracks
- * @return The users interested track list
- */
- QList<SmfTrackInfo> interestInfo( ) const;
-
- /**
- * Method to get the user events as list of SmfEvents
- * @return The list of events
- */
- QList<SmfEvent> userEvents( ) const;
-
- /**
- * Method to get the id of the music profile
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the user's used tracks
- * @param aUsage The users new track list
- */
- void setMusicUsageInfo( const QList<SmfTrackInfo>& aUsage );
-
- /**
- * Method to set the user's interested tracks
- * @param aInterest The users new interested track list
- */
- void setInterestInfo( const QList<SmfTrackInfo>& aInterest );
-
- /**
- * Method to set the user events as list of SmfEvents
- * @param aList The list of events
- */
- void setUserEvents( const QList<SmfEvent> &aList );
-
- /**
- * Method to set the id of the music profile
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfMusicProfilePrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicProfile &aProfile );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicProfile &aProfile );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfMusicProfile object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aProfile The SmfMusicProfile object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicProfile &aProfile );
-
-/**
- * Method for Internalization. Reads a SmfMusicProfile object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aProfile The SmfMusicProfile object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicProfile &aProfile);
-
-typedef QList<SmfMusicProfile> SmfMusicProfileList;
-
-// Make the class SmfMusicProfile known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfMusicProfile)
-Q_DECLARE_METATYPE(QList<SmfMusicProfile>)
-
-#endif /* SMFMUSICPROFILE_H_ */
--- a/smf/smfservermodule/smfclient/common/smfmusicprofile_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfMusicProfile class
- *
- */
-
-#ifndef SMFMUSICPROFILE_P_H_
-#define SMFMUSICPROFILE_P_H_
-
-
-#include <smftrackinfo.h>
-#include <smfevent.h>
-#include <QSharedData>
-
-class SmfMusicProfilePrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfMusicProfilePrivate( ) {
- m_usage.clear();
- m_interest.clear();
- m_events.clear();
- m_profileId.clear();
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfMusicProfilePrivate( const SmfMusicProfilePrivate &aOther ) :
- QSharedData ( aOther ),
- m_usage ( aOther.m_usage ),
- m_interest ( aOther.m_interest ),
- m_events ( aOther.m_events ),
- m_profileId ( aOther.m_profileId ) { }
-
- /**
- * Destructor
- */
- ~SmfMusicProfilePrivate( )
- {
- }
-
- QList<SmfTrackInfo> m_usage; // usage tracks
- QList<SmfTrackInfo> m_interest; // interested tracks
- QList<SmfEvent> m_events; // events list
- QString m_profileId; // profile Id
-
-};
-
-#endif /* SMFMUSICPROFILE_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfmusicrating.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/**
- * 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:
- * The music rating class represents an instance of rating
- * about a music track
- *
- */
-
-#include "smfmusicrating.h"
-#include "smfmusicrating_p.h"
-
-/**
- * Constructor with default argument
- * @param aParent The SmfTrackInfo instance
- */
-SmfMusicRating::SmfMusicRating( SmfTrackInfo *aParent )
- {
- Q_UNUSED(aParent)
- d = new SmfMusicRatingPrivate();
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfMusicRating::SmfMusicRating( const SmfMusicRating &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- */
-SmfMusicRating& SmfMusicRating::operator=( const SmfMusicRating &aOther )
- {
- d->m_rating = aOther.d->m_rating;
- d->m_max = aOther.d->m_max;
- d->m_min = aOther.d->m_min;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfMusicRating::~SmfMusicRating( )
- {
- }
-
-/**
- * Method to get the rating
- * @return The rating value
- */
-int SmfMusicRating::rating( ) const
- {
- return d->m_rating;
- }
-
-/**
- * Method to get the max rating
- * @return The max rating value
- */
-int SmfMusicRating::maxRating( ) const
- {
- return d->m_max;
- }
-
-/**
- * Method to get the min rating
- * @return The min rating value
- */
-int SmfMusicRating::minRating( ) const
- {
- return d->m_min;
- }
-
-/**
- * Method to set the rating
- * @param aRating The rating value
- */
-void SmfMusicRating::setRating( const int &aRating )
- {
- d->m_rating = aRating;
- }
-
-/**
- * Method to set the max rating
- * @param aMax The max rating value
- */
-void SmfMusicRating::setMaxRating( const int &aMax )
- {
- d->m_max = aMax;
- }
-
-/**
- * Method to set the min rating
- * @param aMin The min rating value
- */
-void SmfMusicRating::setMinRating( const int &aMin )
- {
- d->m_min = aMin;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfMusicRating object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aMusicRating The SmfMusicRating object to be externalized
- * @return reference to the written stream
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicRating &aMusicRating )
- {
- // Serialize d->m_rating
- aDataStream<<aMusicRating.d->m_rating;
-
- // Serialize d->m_max
- aDataStream<<aMusicRating.d->m_max;
-
- // Serialize d->m_min
- aDataStream<<aMusicRating.d->m_min;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfMusicRating object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aMusicRating The SmfMusicRating object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicRating &aMusicRating)
- {
- // Deserialize d->m_rating
- aDataStream>>aMusicRating.d->m_rating;
-
- // Deserialize d->m_max
- aDataStream>>aMusicRating.d->m_max;
-
- // Deserialize d->m_min
- aDataStream>>aMusicRating.d->m_min;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfmusicrating.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/**
- * 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:
- * The music rating class represents an instance of rating
- * about a music track
- *
- */
-
-#ifndef SMFMUSICRATING_H_
-#define SMFMUSICRATING_H_
-
-#include <QSharedData>
-#include "smfclientglobal.h"
-#include <QMetaType>
-
-class SmfTrackInfo;
-class SmfMusicRatingPrivate;
-
-/**
- * Indicates range of values to represent ratings,
- * SP should normalize their rating value to this scale
- */
-const int SMF_MAX_RATING = 10;
-const int SMF_MIN_RATING = 0;
-
-/**
- * @ingroup smf_common_group
- * The music rating class represents an instance of rating
- * about a music track
- */
-class SMFCLIENT_EXPORT SmfMusicRating
- {
-public:
- /**
- * Constructor with default argument
- * @param aParent The SmfTrackInfo instance
- */
- SmfMusicRating( SmfTrackInfo *aParent = 0 );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfMusicRating( const SmfMusicRating &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfMusicRating& operator=( const SmfMusicRating &aOther );
-
- /**
- * Destructor
- */
- ~SmfMusicRating( );
-
- /**
- * Method to get the rating
- * @return The rating value
- */
- int rating( ) const;
-
- /**
- * Method to get the max rating
- * @return The max rating value
- */
- int maxRating( ) const;
-
- /**
- * Method to get the min rating
- * @return The min rating value
- */
- int minRating( ) const;
-
- /**
- * Method to set the rating
- * @param aRating The rating value
- */
- void setRating( const int &aRating );
-
- /**
- * Method to set the max rating
- * @param aMax The max rating value
- */
- void setMaxRating( const int &aMax );
-
- /**
- * Method to set the min rating
- * @param aMin The min rating value
- */
- void setMinRating( const int &aMin );
-
-private:
- QSharedDataPointer<SmfMusicRatingPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicRating &aMusicRating );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicRating &aMusicRating );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfMusicRating object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aMusicRating The SmfMusicRating object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfMusicRating &aMusicRating );
-
-/**
- * Method for Internalization. Reads a SmfMusicRating object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aMusicRating The SmfMusicRating object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfMusicRating &aMusicRating);
-
-
-// Make the class SmfMusicRating known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfMusicRating)
-
-
-#endif /* SMFMUSICRATING_H_ */
--- a/smf/smfservermodule/smfclient/common/smfmusicrating_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfMusicRating class
- *
- */
-
-#ifndef SMFMUSICRATING_P_H_
-#define SMFMUSICRATING_P_H_
-
-#include <QSharedData>
-#include <smfmusicrating.h>
-
-class SmfMusicRatingPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfMusicRatingPrivate( ) {
- m_rating = 0;
- m_max = SMF_MAX_RATING;
- m_min = SMF_MIN_RATING;
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfMusicRatingPrivate( const SmfMusicRatingPrivate &aOther ) :
- QSharedData ( aOther ),
- m_rating ( aOther.m_rating ),
- m_max ( aOther.m_max ),
- m_min ( aOther.m_min ) { }
-
- /**
- * Destructor
- */
- ~SmfMusicRatingPrivate( )
- {
- }
-
- qint32 m_rating; // rating
- qint32 m_max; // max rating
- qint32 m_min; // min rating
-
-};
-
-#endif /* SMFMUSICRATING_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfobserver.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-
-/**
- * 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:
- * Observer class to notify availability of asynchronous requests
- *
- */
-
-#ifndef SMFOBSERVER_H_
-#define SMFOBSERVER_H_
-class QByteArray;
-#include "smfglobal.h"
-#include <QObject>
-/**
- * Observer class to notify availability of asynchronous requests
- */
-class smfObserver : public QObject
- {
-public:
- /**
- * To notify availibility of asynchronous requests.
- * @param result Requested result, before using must check error param.
- * @param opcode Requested opcode, for which the result has arrived.
- *
- */
- virtual void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error)= 0;
- };
-
-#endif
--- a/smf/smfservermodule/smfclient/common/smfpicture.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,348 +0,0 @@
-/**
- * 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:
- * The picture class represents an instance of a picture
- *
- */
-
-#include "smfpicture.h"
-#include "smfpicture_p.h"
-
-/**
- * Constructor with default argument
- */
-SmfPicture::SmfPicture(/*bool aDownloaded*/)
- {
- d = new SmfPicturePrivate;
- //d->isDownloaded = aDownloaded;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfPicture::SmfPicture( const SmfPicture &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * CConstructs SmfPicture from QImage
- * @param aOther The QImage
- */
-SmfPicture::SmfPicture( const QImage &aImage )
- {
- d = new SmfPicturePrivate(aImage);
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfPicture& SmfPicture::operator=( const SmfPicture &aOther )
- {
- d->m_photoId = aOther.d->m_photoId;
- d->m_owner = aOther.d->m_owner;
- d->m_title = aOther.d->m_title;
- d->m_description = aOther.d->m_description;
- d->m_picVisibility = aOther.d->m_picVisibility;
- d->m_postedOn = aOther.d->m_postedOn;
- d->m_comments = aOther.d->m_comments;
- d->m_tags = aOther.d->m_tags;
- d->m_url = aOther.d->m_url;
- d->m_picture = aOther.d->m_picture;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfPicture::~SmfPicture( )
- {
- }
-
-/**
- * Method to get a picture owner
- * @return The owner of the picture
- */
-QString SmfPicture::owner( ) const
- {
- return d->m_owner;
- }
-
-/**
- * Method to get a picture title
- * @return The title of the picture
- */
-QString SmfPicture::title( ) const
- {
- return d->m_title;
- }
-
-/**
- * Method to get a picture description
- * @return The description of the picture
- */
-QString SmfPicture::description( ) const
- {
- return d->m_description;
- }
-
-/**
- * Method to get a visibility of a picture for public
- * @return The visibility mode of this picture for others
- */
-SmfPictureVisibility SmfPicture::visibility( ) const
- {
- return d->m_picVisibility;
- }
-
-/**
- * Method to get the date of posting the picture
- * @return The posted date of the picture
- */
-QDateTime SmfPicture::postedDate( ) const
- {
- return d->m_postedOn;
- }
-
-/**
- * Method to get the comments for the picture
- * @return The comments for the picture
- */
-QList<SmfComment> SmfPicture::comments( ) const
- {
- return d->m_comments;
- }
-
-/**
- * Method to get the tags for the picture
- * @return The tags for the picture
- */
-QStringList SmfPicture::tags( ) const
- {
- return d->m_tags;
- }
-
-/**
- * Method to get the url of the picture
- * @return The url of the picture
- */
-QUrl SmfPicture::url( ) const
- {
- return d->m_url;
- }
-
-/**
- * Method to get the picture data as QImage
- * @return The picture as QImage
- */
-QImage SmfPicture::picture( ) const
- {
- return d->m_picture;
- }
-
-/**
- * Method to get the id of the picture
- * @return The ID value
- */
-QString SmfPicture::id( ) const
- {
- return d->m_photoId;
- }
-bool SmfPicture::downloadFlag()
- {
- return d->isDownloaded;
- }
-/**
- * Method to set a picture owner
- * @param aOwner The owner of the picture
- */
-void SmfPicture::setOwner( const QString &aOwner )
- {
- d->m_owner = aOwner;
- }
-
-/**
- * Method to set a picture title
- * @param aTitle The title of the picture
- */
-void SmfPicture::setTitle( const QString &aTitle )
- {
- d->m_title = aTitle;
- }
-
-/**
- * Method to set a picture description
- * @param aDescription The description of the picture
- */
-void SmfPicture::setDescription( const QString &aDescription )
- {
- d->m_description = aDescription;
- }
-
-/**
- * Method to set a visibility of a picture for public
- * @param aVisibility aVisibility The visibility mode of
- * this picture for others
- */
-void SmfPicture::setVisibility( const SmfPictureVisibility &aVisibility )
- {
- d->m_picVisibility = aVisibility;
- }
-
-/**
- * Method to set the date of posting the picture
- * @param aDate The post date of the picture
- */
-void SmfPicture::setPostedDate( const QDateTime &aDate )
- {
- d->m_postedOn = aDate;
- }
-
-/**
- * Method to add comment on the picture
- * @param aComment The comment for the picture
- */
-void SmfPicture::addComment( const SmfComment &aComment )
- {
- d->m_comments.append(aComment);
- }
-
-/**
- * Method to add tags for the picture
- * @param aTag The tag for the picture
- */
-void SmfPicture::addTags( const QStringList &aTags )
- {
- d->m_tags = aTags;
- }
-
-/**
- * Method to set the url of the picture
- * @param aUrl The url of the picture
- */
-void SmfPicture::setUrl( const QUrl &aUrl )
- {
- d->m_url = aUrl;
- }
-
-/**
- * Method to set the picture data as QImage
- * @param aData The picture as QImage
- */
-void SmfPicture::setPicture( const QImage &aData )
- {
- d->m_picture = aData;
- }
-
-/**
- * Method to set the id of the picture
- * @param aId The ID value
- */
-void SmfPicture::setId( const QString &aId )
- {
- d->m_photoId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfPicture object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPic The SmfPicture object to be externalized
- * @return reference to the written stream
- */
-QDataStream& operator<<( QDataStream &aDataStream,
- const SmfPicture &aPic )
- {
- // Serialize d->m_photoId
- aDataStream<<aPic.d->m_photoId;
-
- // Serialize d->m_owner
- aDataStream<<aPic.d->m_owner;
-
- // Serialize d->m_title
- aDataStream<<aPic.d->m_title;
-
- // Serialize d->m_description
- aDataStream<<aPic.d->m_description;
-
- // Serialize d->m_picVisibility
- aDataStream<<aPic.d->m_picVisibility;
-
- // Serialize d->m_postedOn
- aDataStream<<aPic.d->m_postedOn;
-
- // Serialize d->m_comments
- aDataStream<<aPic.d->m_comments;
-
- // Serialize d->m_tags
- aDataStream<<aPic.d->m_tags;
-
- // Serialize d->m_url
- aDataStream<<aPic.d->m_url;
-
- // Serialize d->m_picture
- aDataStream<<aPic.d->m_picture;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfPicture object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPic The SmfPicture object to be internalized
- * @return reference to the stream
- */
-QDataStream& operator>>( QDataStream &aDataStream,
- SmfPicture &aPic)
- {
- // Deserialize d->m_photoId
- aDataStream>>aPic.d->m_photoId;
-
- // Deserialize d->m_owner
- aDataStream>>aPic.d->m_owner;
-
- // Deserialize d->m_title
- aDataStream>>aPic.d->m_title;
-
- // Deserialize d->m_description
- aDataStream>>aPic.d->m_description;
-
- // Deserialize d->m_picVisibility
- quint32 val = 0;
- aDataStream>>val;
- aPic.d->m_picVisibility = (SmfPictureVisibility)val;
-
- // Deserialize d->m_postedOn
- aDataStream>>aPic.d->m_postedOn;
-
- // Deserialize d->m_comments
- aDataStream>>aPic.d->m_comments;
-
- // Deserialize d->m_tags
- aDataStream>>aPic.d->m_tags;
-
- // Deserialize d->m_url
- aDataStream>>aPic.d->m_url;
-
- // Deserialize d->m_picture
- aDataStream>>aPic.d->m_picture;
-
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smfpicture.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/**
- * 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:
- * The picture class represents an instance of a picture
- *
- */
-
-#ifndef SMFPICTURE_H_
-#define SMFPICTURE_H_
-
-#include <QImage>
-#include <QDateTime>
-#include <QStringList>
-#include <QUrl>
-#include <qdatastream.h>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-#include <smfcomment.h>
-
-class SmfPicturePrivate;
-/**
- * Max size for one SmfPicture
- */
-const int MaxSmfPictureSize = 1000;
-/**
- * SmfPictureVisibility enumeration
- */
-enum SmfPictureVisibility
- {
- SMFVisibilityFriend,
- SMFVisibilityPersonal,
- SMFVisibilityFamily,
- SMFVisibilityGroup,
- SMFVisibilityPublic
- };
-
-/**
- * @ingroup smf_common_group
- * The picture class represents an instance of a picture
- */
-class SMFCLIENT_EXPORT SmfPicture
- {
-public:
- /**
- * Constructor with default argument.
- * @param aDownloaded This flag is to know whether the content is downloaded
- * in the device(if true). If false it signifies that SmfPicture contains
- * a link/url to the location of the content
- */
- SmfPicture(/*bool aDownloaded = false*/ );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfPicture( const SmfPicture &aOther );
-
- /**
- * CConstructs SmfPicture from QImage
- * @param aImage The QImage
- */
- SmfPicture( const QImage &aImage );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The current object reference
- */
- SmfPicture& operator=(const SmfPicture &aOther);
-
- /**
- * Destructor
- */
- ~SmfPicture( );
-
- /**
- * Method to get a picture owner
- * @return The owner of the picture
- */
- QString owner( ) const;
-
- /**
- * Method to get a picture title
- * @return The title of the picture
- */
- QString title( ) const;
-
- /**
- * Method to get a picture description
- * @return The description of the picture
- */
- QString description( ) const;
-
- /**
- * Method to get a visibility of a picture for public
- * @return The visibility mode of this picture for others
- */
- SmfPictureVisibility visibility( ) const;
-
- /**
- * Method to get the date of posting the picture
- * @return The posted date of the picture
- */
- QDateTime postedDate( ) const;
-
- /**
- * Method to get the comments for the picture
- * @return The comments for the picture
- */
- QList<SmfComment> comments( ) const;
-
- /**
- * Method to get the tags for the picture
- * @return The tags for the picture
- */
- QStringList tags( ) const;
-
- /**
- * Method to get the url of the picture
- * @return The url of the picture
- */
- QUrl url( ) const;
-
- /**
- * Method to get the picture data as QImage
- * @return The picture as QImage
- */
- QImage picture( ) const;
-
- /**
- * Method to get the id of the picture
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Gets download flag. This flag is to know whether the content is downloaded
- * in the device(if true). If false it signifies that SmfPicture contains
- * a link/url to the location of the content
- */
- bool downloadFlag();
-
- /**
- * Method to set a picture owner
- * @param aOwner The owner of the picture
- */
- void setOwner( const QString &aOwner );
-
- /**
- * Method to set a picture title
- * @param aTitle The title of the picture
- */
- void setTitle( const QString &aTitle );
-
- /**
- * Method to set a picture description
- * @param aDescription The description of the picture
- */
- void setDescription( const QString &aDescription );
-
- /**
- * Method to set a visibility of a picture for public
- * @param aVisibility aVisibility The visibility mode of
- * this picture for others
- */
- void setVisibility( const SmfPictureVisibility &aVisibility );
-
- /**
- * Method to set the date of posting the picture
- * @param aDate The post date of the picture
- */
- void setPostedDate( const QDateTime &aDate );
-
- /**
- * Method to add comment on the picture
- * @param aComment The comment for the picture
- */
- void addComment( const SmfComment &aComment );
-
- /**
- * Method to add tags for the picture
- * @param aTag The tag for the picture
- */
- void addTags( const QStringList &aTags );
-
- /**
- * Method to set the url of the picture
- * @param aUrl The url of the picture
- */
- void setUrl( const QUrl &aUrl );
-
- /**
- * Method to set the picture data as QImage
- * @param aData The picture as QImage
- */
- void setPicture( const QImage &aData );
-
- /**
- * Method to set the id of the picture
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfPicturePrivate> d;
-
- friend QDataStream& operator<<( QDataStream &aDataStream,
- const SmfPicture &aPic );
-
- friend QDataStream& operator>>( QDataStream &aDataStream,
- SmfPicture &aPic );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfPicture object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPic The SmfPicture object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream& operator<<( QDataStream &aDataStream,
- const SmfPicture &aPic );
-
-/**
- * Method for Internalization. Reads a SmfPicture object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPic The SmfPicture object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream& operator>>( QDataStream &aDataStream,
- SmfPicture &aPic);
-
-typedef QList<SmfPicture> SmfPictureList;
-
-// Make the class SmfPicture known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfPicture)
-Q_DECLARE_METATYPE(QList<SmfPicture>)
-
-#endif /* SMFPICTURE_H_ */
--- a/smf/smfservermodule/smfclient/common/smfpicture_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfPicture class
- *
- */
-
-#ifndef SMFPICTURE_P_H_
-#define SMFPICTURE_P_H_
-
-
-#include <QDateTime>
-#include <QStringList>
-#include <QUrl>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <smfpicture.h>
-
-class SmfPicturePrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfPicturePrivate( ) {
- m_photoId.clear();
- m_owner.clear();
- m_title.clear();
- m_description.clear();
- m_comments.clear();
- m_tags.clear();
- m_url.clear();
- isDownloaded = false;
- }
- /**
- * Constructor
- */
- SmfPicturePrivate( const QImage &aImage ) {
- m_photoId.clear();
- m_owner.clear();
- m_title.clear();
- m_description.clear();
- m_comments.clear();
- m_tags.clear();
- m_url.clear();
- m_picture = aImage;
- //false by default
- isDownloaded = false;
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfPicturePrivate( const SmfPicturePrivate &aOther ) :
- QSharedData ( aOther ),
- m_photoId ( aOther.m_photoId ),
- m_owner ( aOther.m_owner ),
- m_title ( aOther.m_title ),
- m_description ( aOther.m_description ),
- m_picVisibility ( aOther.m_picVisibility ),
- m_postedOn ( aOther.m_postedOn ),
- m_comments ( aOther.m_comments ),
- m_tags ( aOther.m_tags ),
- m_url ( aOther.m_url ),
- m_picture ( aOther.m_picture ),
- isDownloaded(aOther.isDownloaded)
- {
-
- }
-
- /**
- * Destructor
- */
- ~SmfPicturePrivate( )
- {
- }
-
- QString m_photoId; // unique ID of the picture, service provider specific
- QString m_owner; // owner of the picture
- QString m_title; // picture title
- QString m_description; // description
- SmfPictureVisibility m_picVisibility;// picture visibility
- QDateTime m_postedOn; // date posted
- QList<SmfComment> m_comments; // comments
- QStringList m_tags; // tags
- QUrl m_url; // url
- QImage m_picture; // picture data as bytearray
- /**
- * Flag whether the content is actually available in device -
- * if this is false then only the url/link to the media is available
- * in the class - clients can use the link to download the content/visit
- * the site.
- */
- bool isDownloaded;
-};
-
-#endif /* SMFPICTURE_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfpicturealbum.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/**
- * 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:
- * The album to contain a set pf pictures
- *
- */
-
-#include <smfpicturealbum.h>
-#include <smfpicturealbum_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfPictureAlbum::SmfPictureAlbum( )
- {
- d = new SmfPictureAlbumPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfPictureAlbum::SmfPictureAlbum( const SmfPictureAlbum &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfPictureAlbum& SmfPictureAlbum::operator=( const SmfPictureAlbum &aOther )
- {
- d->m_albumId = aOther.d->m_albumId;
- d->m_title = aOther.d->m_title;
- d->m_description = aOther.d->m_description;
- d->m_albumVisibility = aOther.d->m_albumVisibility;
- d->m_postedOn = aOther.d->m_postedOn;
- d->m_comments = aOther.d->m_comments;
- d->m_keywords = aOther.d->m_keywords;
- d->m_url = aOther.d->m_url;
- d->m_picCount =aOther.d->m_picCount;
- d->m_thumbnail = aOther.d->m_thumbnail ;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfPictureAlbum::~SmfPictureAlbum( )
- {
-
- }
-
-
-/**
- * Method to get a album title
- * @return The title of the album
- */
-QString SmfPictureAlbum::title( ) const
- {
- return d->m_title;
- }
-
-/**
- * Method to get a album description
- * @return The description of the album
- */
-QString SmfPictureAlbum::description( ) const
- {
- return d->m_description;
- }
-
-/**
- * Method to get a visibility of a album for public
- * @return The visibility mode of this album for others
- */
-SmfPictureVisibility SmfPictureAlbum::visibility( ) const
- {
- return d->m_albumVisibility;
- }
-
-/**
- * Method to get the date of posting the album
- * @return The posted date of the album
- */
-QDateTime SmfPictureAlbum::postedDate( ) const
- {
- return d->m_postedOn;
- }
-
-/**
- * Method to get the comments for the album
- * @return The comments for the album
- */
-QList<SmfComment> SmfPictureAlbum::comments( ) const
- {
- return d->m_comments;
- }
-
-/**
- * Method to get the tags for the album
- * @return The tags for the album
- */
-QStringList SmfPictureAlbum::keywords( ) const
- {
- return d->m_keywords;
- }
-
-/**
- * Method to get the url of the album
- * @return The url of the album
- */
-QUrl SmfPictureAlbum::url( ) const
- {
- return d->m_url;
- }
-
-/**
- * Method to get the album data as QImage
- * @return The album as QImage
- */
-qint32 SmfPictureAlbum::pictureCount( ) const
- {
- return d->m_picCount;
- }
-
-/**
- * Method to get the id of the album
- * @return The ID value
- */
-QString SmfPictureAlbum::id( ) const
- {
- return d->m_albumId;
- }
-
-
-/**
- * Method to set a album title
- * @param aTitle The title of the album
- */
-void SmfPictureAlbum::setTitle( const QString &aTitle )
- {
- d->m_title = aTitle;
- }
-
-/**
- * Method to set a album description
- * @param aDescription The description of the album
- */
-void SmfPictureAlbum::setDescription( const QString &aDescription )
- {
- d->m_description = aDescription;
- }
-
-/**
- * Method to set a visibility of a album for public
- * @param aVisibility aVisibility The visibility mode of
- * this album for others
- */
-void SmfPictureAlbum::setVisibility( const SmfPictureVisibility &aVisibility )
- {
- d->m_albumVisibility = aVisibility;
- }
-
-/**
- * Method to set the date of posting the album
- * @param aDate The post date of the album
- */
-void SmfPictureAlbum::setPostedDate( const QDateTime &aDate )
- {
- d->m_postedOn = aDate;
- }
-
-/**
- * Method to add comment on the album
- * @param aComment The comment for the album
- */
-void SmfPictureAlbum::addComment( const SmfComment &aComment )
- {
- d->m_comments.append(aComment);
- }
-
-/**
- * Method to add tags for the album
- * @param aTag The tag for the album
- */
-void SmfPictureAlbum::addKeywords(const QStringList &aKeywords )
- {
- d->m_keywords = aKeywords;
- }
-
-/**
- * Method to set the url of the album
- * @param aUrl The url of the album
- */
-void SmfPictureAlbum::setUrl( const QUrl &aUrl )
- {
- d->m_url = aUrl;
- }
-
-/**
- * Method to set the album data as QImage
- * @param aData The album as QImage
- */
-void SmfPictureAlbum::setThumbnail( const QImage &aData )
- {
- d->m_thumbnail = aData;
- }
-
-/**
- * Method to set the id of the album
- * @param aId The ID value
- */
-void SmfPictureAlbum::setId( const QString &aId )
- {
- d->m_albumId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfPictureAlbum object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPic The SmfPictureAlbum object to be externalized
- * @return reference to the written stream
- */
-QDataStream& operator<<( QDataStream &aDataStream,
- const SmfPictureAlbum &aAlbm )
- {
- //serialize d->m_albumId;
- aDataStream << aAlbm.d->m_albumId;
-
- //serialize d->m_title;
- aDataStream << aAlbm.d->m_title;
-
- //serialize d->m_description;
- aDataStream << aAlbm.d->m_description;
-
- //serialize d->m_albumVisibility;
- quint32 val = aAlbm.d->m_albumVisibility;
- aDataStream << val;
-
- //serialize d->m_postedOn;
- aDataStream << aAlbm.d->m_postedOn;
-
- //serialize d->m_comments;
- aDataStream << aAlbm.d->m_comments;
-
- //serialize d->m_keywords;
- aDataStream << aAlbm.d->m_keywords;
-
- //serialize d->m_url;
- aDataStream << aAlbm.d->m_url;
-
- //serialize d->m_picCount;
- aDataStream << aAlbm.d->m_picCount;
-
- //serialize d->m_thumbnail ;
- aDataStream << aAlbm.d->m_thumbnail ;
-
-
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfPictureAlbum object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPic The SmfPictureAlbum object to be internalized
- * @return reference to the stream
- */
-QDataStream& operator>>( QDataStream &aDataStream,
- SmfPictureAlbum &aAlbm)
- {
- //deserialize d->m_albumId;
- aDataStream >> aAlbm.d->m_albumId;
-
- //deserialize d->m_title;
- aDataStream >> aAlbm.d->m_title;
-
- //deserialize d->m_description;
- aDataStream >> aAlbm.d->m_description;
-
- //deserialize d->m_albumVisibility;
- quint32 val = 0;
- aDataStream >>val;
- aAlbm.d->m_albumVisibility = (SmfPictureVisibility)val;
-
- //deserialize d->m_postedOn;
- aDataStream >> aAlbm.d->m_postedOn;
-
- //deserialize d->m_comments;
- aDataStream >> aAlbm.d->m_comments;
-
- //deserialize d->m_keywords;
- aDataStream >> aAlbm.d->m_keywords;
-
- //deserialize d->m_url;
- aDataStream >> aAlbm.d->m_url;
-
- //deserialize d->m_picCount;
- aDataStream >> aAlbm.d->m_picCount;
-
- //deserialize d->m_thumbnail ;
- aDataStream >> aAlbm.d->m_thumbnail ;
-
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smfpicturealbum.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/**
- * 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:
- * The album class represents an online picture album (collection/gallery)
- *
- */
-
-#ifndef SMFPICTUREALBUM_H_
-#define SMFPICTUREALBUM_H_
-
-#include <QImage>
-#include <QDateTime>
-#include <QStringList>
-#include <QUrl>
-#include <qdatastream.h>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-#include <smfcomment.h>
-#include <smfpicture.h>
-
-class SmfPictureAlbumPrivate;
-/**Implementation const */
-const int MaxSmfPictureAlbumSize = 20000;//20KB
-/**
- * @ingroup smf_common_group
- * album class represents an online picture album (collection)
- */
-class SMFCLIENT_EXPORT SmfPictureAlbum
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfPictureAlbum( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfPictureAlbum( const SmfPictureAlbum &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The current object reference
- */
- SmfPictureAlbum& operator=(const SmfPictureAlbum &aOther);
-
- /**
- * Destructor
- */
- ~SmfPictureAlbum( );
-
- /**
- * Method to get a album title
- * @return The title of the album
- */
- QString title( ) const;
-
- /**
- * Method to get a album description
- * @return The description of the album
- */
- QString description( ) const;
-
- /**
- * Method to get a visibility of a album for public
- * @return The visibility mode of this album for others
- */
- SmfPictureVisibility visibility( ) const;
-
- /**
- * Method to get the date of posting the album
- * @return The posted date of the album
- */
- QDateTime postedDate( ) const;
-
- /**
- * Method to get the comments for the album
- * @return The comments for the album
- */
- QList<SmfComment> comments( ) const;
-
- /**
- * Method to get the keywords for the album
- * @return The keywords for the album
- */
- QStringList keywords( ) const;
-
- /**
- * Method to get the url of the album
- * @return The url of the album
- */
- QUrl url( ) const;
-
- /**
- * Method to get the thumbnail for this album as QImage
- * @return The picture as QImage
- */
- QImage thumbnail( ) const;
-
- /**
- * Method to get the number of pictures in this album
- * @return number of pictures in this album
- */
- qint32 pictureCount( ) const;
-
- /**
- * Method to get the id of the album
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set a album title
- * @param aTitle The title of the album
- */
- void setTitle( const QString &aTitle );
-
- /**
- * Method to set a album description
- * @param aDescription The description of the album
- */
- void setDescription( const QString &aDescription );
-
- /**
- * Method to set a visibility of a album for public
- * @param aVisibility aVisibility The visibility mode of
- * this album for others
- */
- void setVisibility( const SmfPictureVisibility &aVisibility );
-
- /**
- * Method to set the date of posting the album
- * @param aDate The post date of the album
- */
- void setPostedDate( const QDateTime &aDate );
-
- /**
- * Method to add comment on the album
- * @param aComment The comment for the album
- */
- void addComment( const SmfComment &aComment );
-
- /**
- * Method to add keywords for the album
- * @param aTag The tag for the album
- */
- void addKeywords( const QStringList &aWords );
-
- /**
- * Method to set the url of the album
- * @param aUrl The url of the album
- */
- void setUrl( const QUrl &aUrl );
-
- /**
- * Method to set the thumbnail for this album as QImage
- * @return The picture as QImage
- */
- void setThumbnail(const QImage &aImage );
-
- /**
- * Method to get the number of pictures in this album
- * @return number of pictures in this album
- */
- void setPictureCount( const qint32 aCount);
-
- /**
- * Method to set the id of the album
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfPictureAlbumPrivate> d;
-
- friend QDataStream& operator<<( QDataStream &aDataStream,
- const SmfPictureAlbum &aAlbm );
-
- friend QDataStream& operator>>( QDataStream &aDataStream,
- SmfPictureAlbum &aAlbm );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfPictureAlbum object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aAlbm The SmfPictureAlbum object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream& operator<<( QDataStream &aDataStream,
- const SmfPictureAlbum &aAlbm );
-
-/**
- * Method for Internalization. Reads a SmfPictureAlbum object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aAlbm The SmfPictureAlbum object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream& operator>>( QDataStream &aDataStream,
- SmfPictureAlbum &aAlbm);
-
-typedef QList<SmfPictureAlbum> SmfPictureAlbumList;
-
-// Make the class SmfPictureAlbum known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfPictureAlbum)
-Q_DECLARE_METATYPE(QList<SmfPictureAlbum>)
-
-#endif /* SMFPICTUREALBUM_H_ */
--- a/smf/smfservermodule/smfclient/common/smfpicturealbum_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfPictureAlbum class
- *
- */
-
-#ifndef SMFPICTUREALBUM_P_H_
-#define SMFPICTUREALBUM_P_H_
-
-
-#include <QDateTime>
-#include <QStringList>
-#include <QUrl>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <smfpicturealbum.h>
-
-class SmfPictureAlbumPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfPictureAlbumPrivate( ) {
- m_title.clear(); // album title
- m_description.clear(); // description
- m_albumVisibility = SMFVisibilityPublic;// album visibility
- m_comments.clear(); // comments
- m_keywords.clear(); // tags
- m_url.clear(); // url
- m_picCount=0; //count of pictures
- m_albumId.clear(); // unique ID of the album, service provider specific
- }
-
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfPictureAlbumPrivate( const SmfPictureAlbumPrivate &aOther ) :
- QSharedData ( aOther ),
- m_albumId ( aOther.m_albumId),
- m_title ( aOther.m_title ),
- m_description ( aOther.m_description ),
- m_albumVisibility ( aOther.m_albumVisibility ),
- m_postedOn ( aOther.m_postedOn ),
- m_comments ( aOther.m_comments ),
- m_keywords ( aOther.m_keywords ),
- m_url ( aOther.m_url ),
- m_picCount (aOther.m_picCount),
- m_thumbnail ( aOther.m_thumbnail ) { }
-
- /**
- * Destructor
- */
- ~SmfPictureAlbumPrivate( )
- {
- }
-
- /**
- * Member variables
- */
- QString m_title; // album title
- QString m_description; // description
- SmfPictureVisibility m_albumVisibility;// album visibility
- QDateTime m_postedOn; // date posted
- QList<SmfComment> m_comments; // comments
- QStringList m_keywords; // tags
- QUrl m_url; // url
- QImage m_thumbnail; // thumbnail data
- quint32 m_picCount; //count of pictures
- QString m_albumId; // unique ID of the album, service provider specific
-};
-
-#endif /* SMFPICTUREALBUM_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfplaylist.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-/**
- * 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:
- * The playlist class represents an instance of a playlist.
- * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF)
- * as mentioned in http://xspf.org/xspf-v1.html
- *
- */
-
-#include <smfplaylist.h>
-#include <smfplaylist_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfPlaylist::SmfPlaylist( )
- {
- d = new SmfPlaylistPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfPlaylist::SmfPlaylist( const SmfPlaylist &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfPlaylist& SmfPlaylist::operator=( const SmfPlaylist &aOther )
- {
- d->m_version = aOther.d->m_version;
- d->m_title = aOther.d->m_title;
- d->m_author = aOther.d->m_author;
- d->m_comments = aOther.d->m_comments;
- d->m_info = aOther.d->m_info;
- d->m_location = aOther.d->m_location;
- d->m_playlistId = aOther.d->m_playlistId;
- d->m_image = aOther.d->m_image;
- d->m_creationDate = aOther.d->m_creationDate;
- d->m_license = aOther.d->m_license;
- d->m_attribution = aOther.d->m_attribution;
- d->m_metadata = aOther.d->m_metadata;
- d->m_extension = aOther.d->m_extension;
- d->m_trackList = aOther.d->m_trackList;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfPlaylist::~SmfPlaylist( )
- {
- }
-
-/**
- * Method to get the version of the playlist
- * @return The version of the playlist
- */
-QString SmfPlaylist::version( ) const
- {
- return d->m_version;
- }
-
-/**
- * Method to get the playlist title
- * @return The title of the playlist
- */
-QString SmfPlaylist::playListTitle( ) const
- {
- return d->m_title;
- }
-
-/**
- * Method to get the author of the playlist
- * @return The author of the playlist
- */
-QString SmfPlaylist::author( ) const
- {
- return d->m_author;
- }
-
-/**
- * Method to get the comments on the playlist
- * @return The comments on the playlist
- */
-QList<SmfComment> SmfPlaylist::comments( ) const
- {
- return d->m_comments;
- }
-
-/**
- * Method to get the URI of a web page to find out more about this playlist
- * @return The info Url
- */
-QUrl SmfPlaylist::info( ) const
- {
- return d->m_info;
- }
-
-/**
- * Method to get the Source URI for this playlist
- * @return The Source URI for this playlist
- */
-QUrl SmfPlaylist::location( ) const
- {
- return d->m_location;
- }
-
-/**
- * Method to get the id of the playlist
- * @return The ID value
- */
-QString SmfPlaylist::id( ) const
- {
- return d->m_playlistId;
- }
-
-/**
- * Method to get the URI of an image to display in the absence
- * of an image for playlist's tracks
- * @return The deafult image Url
- */
-QUrl SmfPlaylist::image( ) const
- {
- return d->m_image;
- }
-
-/**
- * Method to get the creation date of the playlist
- * @return The date and time of creation of the playlist
- */
-QDateTime SmfPlaylist::creationDate( ) const
- {
- return d->m_creationDate;
- }
-
-/**
- * Method to get the URI of a resource that describes the license
- * under which this playlist was released
- * @return The license Url
- */
-QUrl SmfPlaylist::license( ) const
- {
- return d->m_license;
- }
-
-/**
- * Method to get the ordered list of URIs. The purpose is to satisfy
- * licenses allowing modification but requiring attribution
- * @return The list of license Urls
- */
-QList<QUrl> SmfPlaylist::attribution( ) const
- {
- return d->m_attribution;
- }
-
-/**
- * Method to get the meta element that allows metadata fields to be added to XSPF
- * @return The meta elements as a QVarintMap
- */
-QVariantMap SmfPlaylist::metadata( ) const
- {
- return d->m_metadata;
- }
-
-/**
- * Method to get the extension element that allows non-XSPF XML
- * to be included in XSPF documents
- * @return The extension elements as a QVarintMap
- */
-QVariantMap SmfPlaylist::extension( ) const
- {
- return d->m_extension;
- }
-
-/**
- * Method to get the list of tracks in the playlist
- * @return The list of tracks in the playlist
- */
-QList<SmfTrackInfo> SmfPlaylist::trackList( ) const
- {
- return d->m_trackList;
- }
-
-/**
- * Method to set the version of the playlist
- * @param aVersion The version of the playlist
- */
-void SmfPlaylist::setVersion( const QString& aVersion )
- {
- d->m_version = aVersion;
- }
-
-/**
- * Method to set the playlist title
- * @param aTitle The title of the playlist
- */
-void SmfPlaylist::setPlayListTitle( const QString &aTitle )
- {
- d->m_title = aTitle;
- }
-
-/**
- * Method to set the author of the playlist
- * @param aAuthor The author of the playlist
- */
-void SmfPlaylist::setAuthor( const QString& aAuthor )
- {
- d->m_author = aAuthor;
- }
-
-/**
- * Method to set the comments on the playlist
- * @param aComments The comments on the playlist
- */
-void SmfPlaylist::setComments( const QList<SmfComment>& aComments )
- {
- d->m_comments = aComments;
- }
-
-/**
- * Method to set the URI of a web page to find out more about this playlist
- * @param aInfoUrl The info Url
- */
-void SmfPlaylist::setInfo( const QUrl& aInfoUrl )
- {
- d->m_info = aInfoUrl;
- }
-
-/**
- * Method to set the Source URI for this playlist
- * @param aLocation The Source URI for this playlist
- */
-void SmfPlaylist::setLocation( const QUrl& aLocation )
- {
- d->m_location = aLocation;
- }
-
-/**
- * Method to set the id of the playlist
- * @param aId The ID value
- */
-void SmfPlaylist::setId( const QString &aId)
- {
- d->m_playlistId = aId;
- }
-
-/**
- * Method to set the URI of an image to display in the absence
- * of an image for playlist's tracks
- * @param aImage The default image Url
- */
-void SmfPlaylist::setImage( const QUrl& aImage )
- {
- d->m_image = aImage;
- }
-
-/**
- * Method to set the creation date of the playlist
- * @param aDate The date and time of creation of the playlist
- */
-void SmfPlaylist::setCreationDate( const QDateTime& aDate )
- {
- d->m_creationDate = aDate;
- }
-
-/**
- * Method to set the URI of a resource that describes the license
- * under which this playlist was released
- * @param aLicense The license Url
- */
-void SmfPlaylist::setLicense( const QUrl& aLicense )
- {
- d->m_license = aLicense;
- }
-
-/**
- * Method to set the ordered list of URIs. The purpose is to satisfy
- * licenses allowing modification but requiring attribution
- * @param aAttribution The list of license Urls
- */
-void SmfPlaylist::setAttribution( const QList<QUrl>& aAttribution )
- {
- d->m_attribution = aAttribution;
- }
-
-/**
- * Method to set the meta element that allows metadata fields to be added to XSPF
- * @param aMetaData The meta elements as a QVarintMap
- */
-void SmfPlaylist::setMetadata( const QVariantMap& aMetaData )
- {
- d->m_metadata = aMetaData;
- }
-
-/**
- * Method to set the extension element that allows non-XSPF XML
- * to be included in XSPF documents
- * @param aExtension The extension elements as a QVarintMap
- */
-void SmfPlaylist::setExtension( const QVariantMap& aExtension )
- {
- d->m_extension = aExtension;
- }
-
-/**
- * Method to set the list of tracks in the playlist
- * @param aList The new list of tracks in the playlist
- */
-void SmfPlaylist::setTrackList( const QList<SmfTrackInfo> &aList )
- {
- d->m_trackList = aList;
- }
-
-/**
- * Method for Externalization. Writes the SmfPlaylist object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPlaylist The SmfPlaylist object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfPlaylist &aPlaylist )
- {
- // Serialize d->m_version
- aDataStream<<aPlaylist.d->m_version;
-
- // Serialize d->m_title
- aDataStream<<aPlaylist.d->m_title;
-
- // Serialize d->m_author
- aDataStream<<aPlaylist.d->m_author;
-
- // Serialize d->m_comments
- aDataStream<<aPlaylist.d->m_comments;
-
- // Serialize d->m_info
- aDataStream<<aPlaylist.d->m_info;
-
- // Serialize d->m_location
- aDataStream<<aPlaylist.d->m_location;
-
- // Serialize d->m_playlistId
- aDataStream<<aPlaylist.d->m_playlistId;
-
- // Serialize d->m_image
- aDataStream<<aPlaylist.d->m_image;
-
- // Serialize d->m_creationDate
- aDataStream<<aPlaylist.d->m_creationDate;
-
- // Serialize d->m_license
- aDataStream<<aPlaylist.d->m_license;
-
- // Serialize d->m_attribution
- aDataStream<<aPlaylist.d->m_attribution;
-
- // Serialize d->m_metadata
- aDataStream<<aPlaylist.d->m_metadata;
-
- // Serialize d->m_extension
- aDataStream<<aPlaylist.d->m_extension;
-
- // Serialize d->m_trackList
- aDataStream<<aPlaylist.d->m_trackList;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfPlaylist object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPlaylist The SmfPlaylist object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfPlaylist &aPlaylist)
- {
- // Deserialize d->m_version
- aDataStream>>aPlaylist.d->m_version;
-
- // Deserialize d->m_title
- aDataStream>>aPlaylist.d->m_title;
-
- // Deserialize d->m_author
- aDataStream>>aPlaylist.d->m_author;
-
- // Deserialize d->m_comments
- aDataStream>>aPlaylist.d->m_comments;
-
- // Deserialize d->m_info
- aDataStream>>aPlaylist.d->m_info;
-
- // Deserialize d->m_location
- aDataStream>>aPlaylist.d->m_location;
-
- // Deserialize d->m_playlistId
- aDataStream>>aPlaylist.d->m_playlistId;
-
- // Deserialize d->m_image
- aDataStream>>aPlaylist.d->m_image;
-
- // Deserialize d->m_creationDate
- aDataStream>>aPlaylist.d->m_creationDate;
-
- // Deserialize d->m_license
- aDataStream>>aPlaylist.d->m_license;
-
- // Deserialize d->m_attribution
- aDataStream>>aPlaylist.d->m_attribution;
-
- // Deserialize d->m_metadata
- aDataStream>>aPlaylist.d->m_metadata;
-
- // Deserialize d->m_extension
- aDataStream>>aPlaylist.d->m_extension;
-
- // Deserialize d->m_trackList
- aDataStream>>aPlaylist.d->m_trackList;
-
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smfplaylist.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/**
- * 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:
- * The playlist class represents an instance of a playlist.
- * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF)
- * as mentioned in http://xspf.org/xspf-v1.html
- *
- */
-
-#ifndef SMFPLAYLIST_H_
-#define SMFPLAYLIST_H_
-
-#include <qdatastream.h>
-#include <QSharedData>
-#include <QMetaType>
-#include <QVariant>
-
-#include "smfclientglobal.h"
-#include "smftrackinfo.h"
-#include "smfcomment.h"
-
-class SmfPlaylistPrivate;
-
-/**
- * @ingroup smf_common_group
- * The playlist class represents an instance of a playlist.
- * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF)
- * as mentioned in http://xspf.org/xspf-v1.html
- */
-class SMFCLIENT_EXPORT SmfPlaylist
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfPlaylist( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfPlaylist( const SmfPlaylist &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfPlaylist& operator=( const SmfPlaylist &aOther );
-
- /**
- * Destructor
- */
- ~SmfPlaylist( );
-
- /**
- * Method to get the version of the playlist
- * @return The version of the playlist
- */
- QString version( ) const;
-
- /**
- * Method to get the playlist title
- * @return The title of the playlist
- */
- QString playListTitle( ) const;
-
- /**
- * Method to get the author of the playlist
- * @return The author of the playlist
- */
- QString author( ) const;
-
- /**
- * Method to get the comments on the playlist
- * @return The comments on the playlist
- */
- QList<SmfComment> comments( ) const;
-
- /**
- * Method to get the URI of a web page to find out more about this playlist
- * @return The info Url
- */
- QUrl info( ) const;
-
- /**
- * Method to get the Source URI for this playlist
- * @return The Source URI for this playlist
- */
- QUrl location( ) const;
-
- /**
- * Method to get the id of the playlist
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to get the URI of an image to display in the absence
- * of an image for playlist's tracks
- * @return The deafult image Url
- */
- QUrl image( ) const;
-
- /**
- * Method to get the creation date of the playlist
- * @return The date and time of creation of the playlist
- */
- QDateTime creationDate( ) const;
-
- /**
- * Method to get the URI of a resource that describes the license
- * under which this playlist was released
- * @return The license Url
- */
- QUrl license( ) const;
-
- /**
- * Method to get the ordered list of URIs. The purpose is to satisfy
- * licenses allowing modification but requiring attribution
- * @return The list of license Urls
- */
- QList<QUrl> attribution( ) const;
-
- /**
- * Method to get the meta element that allows metadata fields to be added to XSPF
- * @return The meta elements as a QVarintMap
- */
- QVariantMap metadata( ) const;
-
- /**
- * Method to get the extension element that allows non-XSPF XML
- * to be included in XSPF documents
- * @return The extension elements as a QVarintMap
- */
- QVariantMap extension( ) const;
-
- /**
- * Method to get the list of tracks in the playlist
- * @return The list of tracks in the playlist
- */
- QList<SmfTrackInfo> trackList( ) const;
-
- /**
- * Method to set the version of the playlist
- * @param aVersion The version of the playlist
- */
- void setVersion( const QString& aVersion );
-
- /**
- * Method to set the playlist title
- * @param aTitle The title of the playlist
- */
- void setPlayListTitle( const QString &aTitle );
-
- /**
- * Method to set the author of the playlist
- * @param aAuthor The author of the playlist
- */
- void setAuthor( const QString& aAuthor );
-
- /**
- * Method to set the comments on the playlist
- * @param aComments The comments on the playlist
- */
- void setComments( const QList<SmfComment>& aComments );
-
- /**
- * Method to set the URI of a web page to find out more about this playlist
- * @param aInfoUrl The info Url
- */
- void setInfo( const QUrl& aInfoUrl );
-
- /**
- * Method to set the Source URI for this playlist
- * @param aLocation The Source URI for this playlist
- */
- void setLocation( const QUrl& aLocation );
-
- /**
- * Method to set the id of the playlist
- * @param aId The ID value
- */
- void setId( const QString &aId);
-
- /**
- * Method to set the URI of an image to display in the absence
- * of an image for playlist's tracks
- * @param aImage The default image Url
- */
- void setImage( const QUrl& aImage );
-
- /**
- * Method to set the creation date of the playlist
- * @param aDate The date and time of creation of the playlist
- */
- void setCreationDate( const QDateTime& aDate );
-
- /**
- * Method to set the URI of a resource that describes the license
- * under which this playlist was released
- * @param aLicense The license Url
- */
- void setLicense( const QUrl& aLicense );
-
- /**
- * Method to set the ordered list of URIs. The purpose is to satisfy
- * licenses allowing modification but requiring attribution
- * @param aAttribution The list of license Urls
- */
- void setAttribution( const QList<QUrl>& aAttribution );
-
- /**
- * Method to set the meta element that allows metadata fields to be added to XSPF
- * @param aMetaData The meta elements as a QVarintMap
- */
- void setMetadata( const QVariantMap& aMetaData );
-
- /**
- * Method to set the extension element that allows non-XSPF XML
- * to be included in XSPF documents
- * @param aExtension The extension elements as a QVarintMap
- */
- void setExtension( const QVariantMap& aExtension );
-
- /**
- * Method to set the list of tracks in the playlist
- * @param aList The new list of tracks in the playlist
- */
- void setTrackList( const QList<SmfTrackInfo> &aList );
-
-private:
- QSharedDataPointer<SmfPlaylistPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfPlaylist &aPlaylist );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfPlaylist &aPlaylist );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfPlaylist object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPlaylist The SmfPlaylist object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfPlaylist &aPlaylist );
-
-/**
- * Method for Internalization. Reads a SmfPlaylist object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPlaylist The SmfPlaylist object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfPlaylist &aPlaylist);
-
-typedef QList<SmfPlaylist> SmfPlaylistList;
-
-// Make the class SmfPlaylist known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfPlaylist)
-Q_DECLARE_METATYPE(QList<SmfPlaylist>)
-
-#endif /* SMFPLAYLIST_H_ */
-
--- a/smf/smfservermodule/smfclient/common/smfplaylist_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfPlaylist class
- *
- */
-
-#ifndef SMFPLAYLIST_P_H_
-#define SMFPLAYLIST_P_H_
-
-#include <smftrackinfo.h>
-#include <QSharedData>
-
-class SmfPlaylistPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfPlaylistPrivate( ) {
- m_version.clear();
- m_title.clear();
- m_author.clear();
- m_comments.clear();
- m_info.clear();
- m_location.clear();
- m_playlistId.clear();
- m_image.clear();
- m_license.clear();
- m_attribution.clear();
- m_trackList.clear();
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfPlaylistPrivate( const SmfPlaylistPrivate &aOther ) :
- QSharedData ( aOther ),
- m_version ( aOther.m_version ),
- m_title ( aOther.m_title ),
- m_author ( aOther.m_author ),
- m_comments ( aOther.m_comments ),
- m_info ( aOther.m_info ),
- m_location ( aOther.m_location ),
- m_playlistId ( aOther.m_playlistId ),
- m_image ( aOther.m_image ),
- m_creationDate ( aOther.m_creationDate ),
- m_license ( aOther.m_license ),
- m_attribution ( aOther.m_attribution ),
- m_metadata ( aOther.m_metadata ),
- m_extension ( aOther.m_extension ),
- m_trackList ( aOther.m_trackList ) { }
-
- /**
- * Destructor
- */
- ~SmfPlaylistPrivate( )
- {
- }
-
- /**
- * Data members
- */
- QString m_version; // playlist version
- QString m_title; // playlist title
- QString m_author; // playlist creator
- QList<SmfComment> m_comments; // comments about the playlist
- QUrl m_info; // URI of a web page to find out more about this playlist
- QUrl m_location; // The Source URI for this playlist
- QString m_playlistId; // The playlist ID
- QUrl m_image; // URI of an image to display in the absence of an
- // image for playlist's tracks
- QDateTime m_creationDate; // creation date of the playlist
- QUrl m_license; // URI of a resource that describes the license under
- // which this playlist was released
- QList<QUrl> m_attribution; // An ordered list of URIs. The purpose is to satisfy licenses
- // allowing modification but requiring attribution
- QVariantMap m_metadata; // The meta element allows metadata fields to be added to XSPF
- QVariantMap m_extension; // The extension element allows non-XSPF XML
- // to be included in XSPF documents
- QList<SmfTrackInfo> m_trackList;// list of tracks in the playlist
-
-};
-
-#endif /* SMFPLAYLIST_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfpluginutil.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/**
- * 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:
- * The Plugin util class provides the information required for the
- * plugins from Smf framework
- *
- */
-
-#include <smfpluginutil.h>
-
-// Static data initialisation
-SmfPluginUtil* SmfPluginUtil::m_myInstance = NULL;
-
-/**
- * Method to get the instance of SmfPluginUtil class
- * @return The instance of SmfPluginUtil class
- */
-SmfPluginUtil* SmfPluginUtil::getInstance ( )
- {
- if(NULL == m_myInstance)
- m_myInstance = new SmfPluginUtil();
- return m_myInstance;
- }
-
-/**
- * Constructor with default argument
- */
-SmfPluginUtil::SmfPluginUtil ( )
- {
- m_jsonParser = new QJson::Parser;
- }
-
-/**
- * Destructor
- */
-SmfPluginUtil::~SmfPluginUtil ( )
- {
- if(m_jsonParser)
- delete m_jsonParser;
-
- if(m_myInstance)
- delete m_myInstance;
- }
-
-
-/**
-* Read JSON string from the I/O Device and converts it to a QVariant object
-* @param io Input output device
-* @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
-* @returns a QVariant object generated from the JSON string
-*/
-QVariant SmfPluginUtil::parse ( QIODevice* io, bool* ok )
- {
- return m_jsonParser->parse(io, ok);
- }
-
-/**
-* This is a method provided for convenience.
-* @param jsonData data containing the JSON object representation
-* @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
-* @returns a QVariant object generated from the JSON string
-* @sa errorString
-* @sa errorLine
-*/
-QVariant SmfPluginUtil::parse ( const QByteArray& jsonData, bool* ok )
- {
- return m_jsonParser->parse(jsonData, ok);
- }
-
-/**
-* This method returns the error message tha ocuured during last parsing
-* @returns a QString object containing the error message of the last parse operation
-*/
-QString SmfPluginUtil::errorString ( ) const
- {
- return m_jsonParser->errorString();
- }
-
-/**
-* This method returns line number where the last QJson parsing error occurred
-* @returns the line number where the error occurred
- */
-int SmfPluginUtil::errorLine ( ) const
- {
- return m_jsonParser->errorLine();
- }
-
-/**
- * Method called by plugins to get the OAuth Keys. The PM sends the
- * keys only if the pluginID is that of a currently loaded plugin
- * @param aKeys [out] The OAuth keys
- * @param aRegToken The plugin's registration token
- * @param aPluginID The ID of the plugin that requests for
- * the OAuth keys
- */
-void SmfPluginUtil::getAuthKeys( QMap<QString, QString> &aKeys,
- const QString aRegToken,
- const QString aPluginID )
- {
- Q_UNUSED(aKeys)
- Q_UNUSED(aRegToken)
- Q_UNUSED(aPluginID)
- //// Call Credential manager function to get the keys passing the
- //// registration token and the plugin
- }
-
-/**
- * Method called by plugins to get the Nonce value
- * @param aNonceString [out] The Nonce string
- */
-void SmfPluginUtil::getNonce( QString &aNonceString )
- {
- Q_UNUSED(aNonceString)
- //// Call Credential manager function to get the nonce string
- }
-
-/**
- * Method called by plugins to generate a parameters string required to
- * access Protected Resources using OAuth authorization.
- * @param aRequestUrl The request URL
- * @param aOperation The type of http operation
- * @param aToken The access token
- * @param aTokenSecret The token secret
- * @param aSignatureMethod The signature method to be used
- * @param aParams A map of parameters to its values
- * @param aMode The mode of creation of the request
- * @return The cretd parameter string
- */
-QByteArray SmfPluginUtil::createParameterString( const QString &aRequestUrl,
- QNetworkAccessManager::Operation aOperation,
- const QByteArray &aToken,
- const QByteArray &aTokenSecret,
- const SmfSignatureMethod aSignatureMethod,
- const QMultiMap<QByteArray, QByteArray> &aParams,
- const SmfParsingMode aMode)
- {
- Q_UNUSED(aRequestUrl)
- Q_UNUSED(aOperation)
- Q_UNUSED(aToken)
- Q_UNUSED(aTokenSecret)
- Q_UNUSED(aSignatureMethod)
- Q_UNUSED(aParams)
- Q_UNUSED(aMode)
- return QByteArray();
- //// Call Credential manager function to create and sign the parameter string
- }
-
--- a/smf/smfservermodule/smfclient/common/smfpluginutil.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/**
- * 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:
- * The Plugin util class provides the information required for the
- * plugins from Smf framework
- *
- */
-
-#ifndef SMFPLUGINUTIL_H_
-#define SMFPLUGINUTIL_H_
-
-#include <QNetworkAccessManager>
-#include <QMap>
-#include <QVariant>
-#include <parser.h>
-#include <smfclientglobal.h>
-
-enum SmfSignatureMethod
- {
- HMAC_SHA1,
- RSA_SHA1,
- PLAINTEXT
- };
-
-enum SmfParsingMode
- {
- ParseForRequestContent, //Inline query format (foo=bar&bar=baz&baz=foo ...), suitable for POST requests.
- ParseForInlineQuery, // Same as ParseForRequestContent, but prepends the string with a question mark -
- // suitable for GET requests (appending parameters to the request URL)
- ParseForHeaderArguments // HTTP request header format (parameters to be put inside a request header).
- };
-
-/**
- * The Plugin util class provides the information required for the
- * plugins from Smf framework
- */
-class SMFCLIENT_EXPORT SmfPluginUtil
- {
-public:
- /**
- * Method to get the instance of SmfPluginUtil class
- * @return The instance of SmfPluginUtil class
- */
- static SmfPluginUtil* getInstance ( );
-
- /**
- * Destructor
- */
- ~SmfPluginUtil ( );
-
- /**
- * Read JSON string from the I/O Device and converts it to a QVariant object
- * @param io Input output device
- * @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
- * @returns a QVariant object generated from the JSON string
- */
- QVariant parse ( QIODevice* io, bool* ok = 0 );
-
- /**
- * This is a method provided for convenience.
- * @param jsonData data containing the JSON object representation
- * @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
- * @returns a QVariant object generated from the JSON string
- * @sa errorString
- * @sa errorLine
- */
- QVariant parse ( const QByteArray& jsonData, bool* ok = 0 );
-
- /**
- * This method returns the error message tha ocuured during last parsing
- * @returns a QString object containing the error message of the last parse operation
- */
- QString errorString ( ) const;
-
- /**
- * This method returns line number where the last QJson parsing error occurred
- * @returns the line number where the error occurred
- */
- int errorLine ( ) const;
-
- /**
- * Method called by plugins to get the OAuth Keys. The PM sends the
- * keys only if the pluginID is that of a currently loaded plugin
- * @param aKeys [out] The OAuth keys
- * @param aRegToken The plugin's registration token
- * @param aPluginID The ID of the plugin that requests for
- * the OAuth keys
- */
- void getAuthKeys( QMap<QString, QString> &aKeys,
- const QString aRegToken,
- const QString aPluginID );
-
- /**
- * Method called by plugins to get the Nonce value
- * @param aNonceString [out] The Nonce string
- */
- void getNonce( QString &aNonceString );
-
- /**
- * Method called by plugins to generate a parameters string required to
- * access Protected Resources using OAuth authorization.
- * @param aRequestUrl The request URL
- * @param aOperation The type of http operation
- * @param aToken The access token
- * @param aTokenSecret The token secret
- * @param aSignatureMethod The signature method to be used
- * @param aParams A map of parameters to its values
- * @param aMode The mode of creation of the request
- * @return The cretd parameter string
- */
- QByteArray createParameterString( const QString &aRequestUrl,
- QNetworkAccessManager::Operation aOperation,
- const QByteArray &aToken,
- const QByteArray &aTokenSecret,
- const SmfSignatureMethod aSignatureMethod,
- const QMultiMap<QByteArray, QByteArray> &aParams,
- const SmfParsingMode aMode);
-
-private:
- /**
- * Constructor with default argument
- */
- SmfPluginUtil ( );
-
-
-private:
- /**
- * The single instance of SmfPluginUtil
- */
- static SmfPluginUtil* m_myInstance;
-
- /**
- * The instance of QJson::Parser
- */
- QJson::Parser *m_jsonParser;
-
- };
-
-#endif /* SMFPLUGINUTIL_H_ */
--- a/smf/smfservermodule/smfclient/common/smfpost.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/**
-* 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:
-* The post class represents an instance of a post to a SN site
-*
-*/
-
-#include "smfpost.h"
-#include "smfpost_p.h"
-
-/**
- * Constructor with default argument
- * @param text Text
- */
-SmfPost::SmfPost( )
- {
- d = new SmfPostPrivate();
- }
-
-/**
- * Constructor
- * @param aText The post's text
- * @param aImage The post's image
- * @param aUrl The post's url
- */
-SmfPost::SmfPost( SmfContact aOwner,QString aTitle, QString aDesc, QImage aImage, QUrl aUrl )
- {
- d = new SmfPostPrivate(aOwner,aTitle, aDesc, aImage, aUrl);
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfPost::SmfPost( const SmfPost &aOther )
-: d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfPost& SmfPost::operator=( const SmfPost &aOther )
- {
- d->m_title = aOther.d->m_title;
- d->m_desc = aOther.d->m_desc;
- d->m_image = aOther.d->m_image;
- d->m_url = aOther.d->m_url;
- d->m_postId = aOther.d->m_postId;
- return *this;
- }
-/**
- * Destructor
- */
-SmfPost::~SmfPost( )
- {
- }
-SmfContact SmfPost::owner() const
- {
- return d->m_owner;
- }
-/**
- * Method to get the title of the post
- * @return The post's title
- */
-QString SmfPost::title( ) const
- {
- return d->m_title;
- }
-
-/**
- * Method to get the description of the post
- * @return The post's description
- */
-QString SmfPost::description( ) const
- {
- return d->m_desc;
- }
-
-/**
- * Method to get the image of the post
- * @return The post's image
- */
-QImage SmfPost::image( ) const
- {
- return d->m_image;
- }
-
-/**
- * Method to get the url of the post
- * @return The post's url
- */
-QUrl SmfPost::url( ) const
- {
- return d->m_url;
- }
-void SmfPost::setOwner(const SmfContact& aOwner)
- {
- d->m_owner = aOwner;
- }
-/**
- * Method to get the id of the post
- * @return The ID value
- */
-QString SmfPost::id( ) const
- {
- return d->m_postId;
- }
-void SmfPost::setId(QString aPostId)
- {
- d->m_postId = aPostId;
- }
-/**
- * Method to set the title of the post
- * @param aTitle The post's new title
- */
-void SmfPost::setTitle( const QString &aTitle )
- {
- d->m_title = aTitle;
- }
-
-/**
- * Method to set the description of the post
- * @param aDesc The post's new description
- */
-void SmfPost::setDescription( const QString &aDesc )
- {
- d->m_desc = aDesc;
- }
-
-/**
- * Method to set the image of the post
- * @param aPic The post's image
- */
-void SmfPost::setImage( const QImage& aPic )
- {
- d->m_image = aPic;
- }
-
-/**
- * Method to set the url of the post
- * @param aUrl The post's url
- */
-void SmfPost::setUrl( QUrl& aUrl )
- {
- d->m_url = aUrl;
- }
-
-
-
-/**
- * Method for Externalization. Writes the SmfPost object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPost The SmfPost object to be externalized
- * @return reference to the written stream
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfPost &aPost )
- {
- aDataStream<<aPost.owner();
- aDataStream<<aPost.title();
- aDataStream<<aPost.description();
- aDataStream<<aPost.image();
- aDataStream<<aPost.url();
- aDataStream<<aPost.id();
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfPost object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPost The SmfPost object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfPost &aPost)
- {
- SmfContact owner;
- aDataStream>>owner;
- aPost.setOwner(owner);
- QString title;
- aDataStream>>title;
- aPost.setTitle(title);
-
- QString desc;
- aDataStream>>desc;
- aPost.setDescription(desc);
-
- QImage img;
- aDataStream>>img;
- aPost.setImage(img);
-
- QUrl url;
- aDataStream>>url;
- aPost.setUrl(url);
-
- QString id;
- aDataStream>>id;
- aPost.setId(id);
-
- return aDataStream;
- }
--- a/smf/smfservermodule/smfclient/common/smfpost.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/**
- * 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:
- * The post class represents an instance of a post to a SN site
- *
- */
-
-#ifndef SMFPOST_H_
-#define SMFPOST_H_
-
-#include <QImage>
-#include <QUrl>
-#include <qdatastream.h>
-#include <QMetaType>
-#include <QSharedData>
-#include <QTextDocument>
-#include <smfclientglobal.h>
-
-#include "smfpost_p.h"
-const int MaxSmfPostSize=1000;
-/**
- * Presence info of the user
- */
-enum SmfAppearenceInfo
- {
- EAppearanceNotSupported,
- EOnline,
- EOffline,
- EBusy,
- EDoNotDisturb,
- EAppearOffline,
- EOther
- };
-//To sort out conflict betwn client and PM, later should be removed
-typedef SmfAppearenceInfo SmfPresenceInfo;
-/**
- * @ingroup smf_common_group
- * The post class represents an instance of a post to a SN site
- */
-class SMFCLIENT_EXPORT SmfPost //: public QTextDocument
- {
-public:
- /**
- * Constructor with default argument
- * @param text Text
- */
- SmfPost( );
-
- /**
- * Constructor
- * @param aOwner Owner of the post(who posted this message) of type SmfContact
- * @param aText The post's text
- * @param aImage The post's image
- * @param aUrl The post's url
- */
- SmfPost(SmfContact aOwner, QString aTitle, QString aDesc, QImage aImage, QUrl aUrl );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfPost( const SmfPost &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
- SmfPost& operator=( const SmfPost &aOther );
-
- /**
- * Destructor
- */
- ~SmfPost( );
- /**
- * Returns the owner(who posted this message)
- */
- SmfContact owner() const;
- /**
- * Method to get the title of the post
- * @return The post's title
- */
- QString title( ) const;
-
- /**
- * Method to get the description of the post
- * @return The post's description
- */
- QString description( ) const;
-
- /**
- * Method to get the image of the post
- * @return The post's image
- */
- QImage image( ) const;
-
- /**
- * Method to get the url of the post
- * @return The post's url
- */
- QUrl url( ) const;
-
- /**
- * Method to get the id of the post
- * @return The ID value
- */
- QString id( ) const;
- /**
- * sets the owner of the post
- */
- void setOwner(const SmfContact& aOwner);
- /**
- * Method to set the title of the post
- * @param aTitle The post's new title
- */
- void setTitle( const QString &aTitle );
-
- /**
- * Method to set the description of the post
- * @param aDesc The post's new description
- */
- void setDescription( const QString &aDesc );
-
- /**
- * Method to set the image of the post
- * @param aPic The post's image
- */
- void setImage( const QImage& aPic );
-
- /**
- * Method to set the url of the post
- * @param aUrl The post's url
- */
- void setUrl( QUrl& aUrl );
- /**
- * Method to get the id of the post
- */
- void setId(QString aPostId);
-
-private:
- QSharedDataPointer<SmfPostPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfPost &aPost );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfPost &aPost );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfPost object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aPost The SmfPost object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfPost &aPost );
-
-/**
- * Method for Internalization. Reads a SmfPost object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aPost The SmfPost object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfPost &aPost);
-
-typedef QList<SmfPost> SmfPostList;
-
-// Make the class SmfPost known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfPost)
-Q_DECLARE_METATYPE(SmfPostList)
-
-#endif /* SMFPOST_H_ */
--- a/smf/smfservermodule/smfclient/common/smfpost_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfPost class
- *
- */
-
-#ifndef SMFPOST_P_H_
-#define SMFPOST_P_H_
-
-#include <QSharedData>
-#include "smfcontact.h"
-class SmfPostPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfPostPrivate( ) { m_title.clear(); m_desc.clear(); m_url.clear(); m_postId.clear(); }
-
- /**
- * Constructor
- */
- SmfPostPrivate(SmfContact aOwner, QString aTitle, QString aDesc, QImage aImage, QUrl aUrl )
- {
- m_owner = aOwner;
- m_title = aTitle;
- m_desc = aDesc;
- m_image = aImage;
- m_url = aUrl;
- m_postId.clear();
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfPostPrivate( const SmfPostPrivate &aOther ) :
- QSharedData ( aOther ),
- m_title ( aOther.m_title ),
- m_desc ( aOther.m_desc ),
- m_image ( aOther.m_image ),
- m_url ( aOther.m_url ),
- m_postId ( aOther.m_postId ) { }
-
- /**
- * Destructor
- */
- ~SmfPostPrivate( )
- {
- }
- SmfContact m_owner; //owner of the post(who posted this message)
- QString m_title; // title
- QString m_desc; // description
- QImage m_image; // image
- QUrl m_url; // url
- QString m_postId; // post's unique Id
-
-};
-
-#endif /* SMFPOST_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfprovider.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/**
- * 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:
- * Interface for a base service provider
- *
- */
-#include "smfprovider.h"
-
- SmfProvider::SmfProvider()
- {
-
- }
- SmfProvider::~SmfProvider()
- {
-
- }
-QString SmfProvider::serviceName() const
- {
- return m_serviceName;
- }
-QImage SmfProvider::serviceIcon() const
- {
- return m_serviceIcon;
- }
-QString SmfProvider::description() const
- {
- return m_description;
- }
-QUrl SmfProvider::serviceUrl() const
- {
- return m_serviceUrl;
- }
-QUrl SmfProvider::applicationUrl() const
- {
- return m_appUrl;
- }
-QList<QString> SmfProvider::supportedInterfaces() const
- {
- return m_serviceTypes;
- }
-/**
- * List of languages supported by this service provider
- * @return a QStringList of languages supported by this service
- * provider in 2 letter ISO 639-1 format.
- */
-QStringList SmfProvider::supportedLanguages() const
- {
- return m_supportedLanguages;
- }
-void SmfProvider::setServiceName(QString& name)
- {
- m_serviceName = name;
- }
-void SmfProvider::setServiceIcon(QImage& image)
- {
- m_serviceIcon = image;
- }
-void SmfProvider::setDescription(QString& desc)
- {
- m_description = desc;
- }
-void SmfProvider::setServiceUrl(QUrl& url)
- {
- m_serviceUrl = url;
- }
-void SmfProvider::setApplicationUrl(QUrl& url)
- {
- m_appUrl = url;
- }
-void SmfProvider::setSupportedInterfaces( QStringList& types)
- {
- m_serviceTypes = types;
- }
-/**
- * Sets the list of languages supported by this service provider
- * @param lang A QStringList of languages supported by this service
- * provider in 2 letter ISO 639-1 format.
- */
-void SmfProvider::setSupportedLanguages( QStringList& lang )
- {
- m_supportedLanguages = lang;
- }
-
-QDataStream &operator<<(QDataStream& out, const SmfProvider& base)
- {
- out<<base.m_serviceName;
- out<<base.m_serviceIcon;
- out<<base.m_description;
- out<<base.m_serviceUrl;
- out<<base.m_appUrl;
- return out;
- }
-QDataStream &operator>>(QDataStream& in, SmfProvider& base)
- {
- in>>base.m_serviceName;
- in>>base.m_serviceIcon;
- in>>base.m_description;
- in>>base.m_serviceUrl;
- in>>base.m_appUrl;
- return in;
- }
--- a/smf/smfservermodule/smfclient/common/smfprovider.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/**
- * 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:
- * Interface for a base service provider
- *
- */
-
-#ifndef SMFPROVIDER_H
-#define SMFPROVIDER_H
-
-#include <QObject>
-#include <QImage>
-#include <QUrl>
-#include <QStringList>
-#include <QMetaType>
-
-#include "smfclientglobal.h"
-/**
- * @ingroup smf_client_group
- * Interface for a base service provider. Other service provider classes contains
- * implementation of this base class so that each has access to service provider
- * information.
- * All of the functionality described here should be implemented by a service
- * specific plug-in object.
- */
-class SMFCLIENT_EXPORT SmfProvider
-{
-
-public:
-
- /**
- * Constructor
- */
- SmfProvider();
- /**
- * Destructor
- */
- ~SmfProvider();
-
-public:
- /**
- * Localizable name of the service
- * @return service name
- */
- QString serviceName() const;
-
- /**
- * Logo of the service
- * @return logo image of the service
- */
- QImage serviceIcon() const;
-
- /**
- * Readable service description
- * @return service description
- */
- QString description() const;
-
- /*
- * Website of the service
- */
- QUrl serviceUrl() const;
-
- /**
- * URL of the application providing this service
- */
- QUrl applicationUrl() const; //
-
- /**
- * List of interfaces that this provider support
- */
- QList<QString> supportedInterfaces() const;
-
- /**
- * List of languages supported by this service provider
- * @return a QStringList of languages supported by this service
- * provider in 2 letter ISO 639-1 format.
- */
- QStringList supportedLanguages() const;
-
- /**
- * Sets Localizable name of the service
- *
- */
- void setServiceName(QString& name);
-
- /**
- * Sets Logo of the service
- *
- */
- void setServiceIcon(QImage& image) ;
-
- /**
- * Sets Readable service description
- *
- */
- void setDescription(QString& desc) ;
-
- /*
- * Sets Website of the service
- */
- void setServiceUrl(QUrl& url) ;
-
- /**
- * Sets URL of the application providing this service
- */
- void setApplicationUrl(QUrl& url) ;
-
- /**
- * Sets list of interfaces that this provider supports
- */
- void setSupportedInterfaces( QStringList& types);
-
- /**
- * Sets the list of languages supported by this service provider
- * @param lang A QStringList of languages supported by this service
- * provider in 2 letter ISO 639-1 format.
- */
- void setSupportedLanguages( QStringList& lang );
-
-private:
- QString m_serviceName;
- QImage m_serviceIcon;
- QString m_description;
- QUrl m_serviceUrl;
- QUrl m_appUrl;
- QStringList m_serviceTypes;
- QStringList m_supportedLanguages;
- friend QDataStream &operator<<(QDataStream &, const SmfProvider&);
- friend QDataStream &operator>>(QDataStream &, SmfProvider&);
-};
-/**
-* Externalization
-*/
-SMFCLIENT_EXPORT QDataStream &operator<<(QDataStream &, const SmfProvider&);
-/**
- * Internalization
- */
-SMFCLIENT_EXPORT QDataStream &operator>>(QDataStream &, SmfProvider&);
-
-typedef QList<SmfProvider> SmfProviderList;
-
-// Make the class SmfProvider known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfProvider)
-Q_DECLARE_METATYPE(QList<SmfProvider>)
-
-#endif // SMFPROVIDER_H
--- a/smf/smfservermodule/smfclient/common/smfsubtitle.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/**
- * 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:
- * The subtitle class represents information about a track's subtitle
- *
- */
-
-#include <smfsubtitle.h>
-#include <smfsubtitle_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfSubtitle::SmfSubtitle( )
- {
- d = new SmfSubtitlePrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfSubtitle::SmfSubtitle( const SmfSubtitle &aOther )
- :d(aOther.d)
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfSubtitle& SmfSubtitle::operator=( const SmfSubtitle &aOther )
- {
- d->m_subtitle = aOther.d->m_subtitle;
- d->m_language = aOther.d->m_language;
- d->m_frameRate = aOther.d->m_frameRate;
- d->m_duration = aOther.d->m_duration;
- d->m_releaseYr = aOther.d->m_releaseYr;
- d->m_subtitleId = aOther.d->m_subtitleId;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfSubtitle::~SmfSubtitle( )
- {
- }
-
-/**
- * Method to get the subtitle as a bytearray
- * @return The subtitle content
- */
-QByteArray SmfSubtitle::subtitle( ) const
- {
- return d->m_subtitle;
- }
-
-/**
- * Method to get the language
- * @return The language
- */
-QString SmfSubtitle::language( ) const
- {
- return d->m_language;
- }
-
-/**
- * Method to get the frame rate
- * @return the frame rate
- */
-double SmfSubtitle::frameRate( ) const
- {
- return d->m_frameRate;
- }
-
-/**
- * Method to get the duration
- * @return the duration
- */
-double SmfSubtitle::duration( ) const
- {
- return d->m_duration;
- }
-
-/**
- * Method to get the release year
- * @return The release year
- */
-QDateTime SmfSubtitle::releaseYear( ) const
- {
- return d->m_releaseYr;
- }
-
-/**
- * Method to get the id of the subtitle
- * @return The ID value
- */
-QString SmfSubtitle::id( ) const
- {
- return d->m_subtitleId;
- }
-
-/**
- * Method to set the subtitle as a bytearray
- * @param aSubtitle The subtitle content
- */
-void SmfSubtitle::setSubtitle( const QByteArray &aSubtitle )
- {
- d->m_subtitle = aSubtitle;
- }
-
-/**
- * Method to set the language
- * @param aLang The language
- */
-void SmfSubtitle::setLanguage( const QString &aLang )
- {
- d->m_language = aLang;
- }
-
-/**
- * Method to set the frame rate
- * @param aFramerate the frame rate
- */
-void SmfSubtitle::setFrameRate( const double &aFramerate )
- {
- d->m_frameRate = aFramerate;
- }
-
-/**
- * Method to set the duration
- * @param aDuration the duration
- */
-void SmfSubtitle::setDuration( const double &aDuration )
- {
- d->m_duration = aDuration;
- }
-
-/**
- * Method to set the release year
- * @param aRelYear The release year
- */
-void SmfSubtitle::setReleaseYear( const QDateTime &aRelYear )
- {
- d->m_releaseYr = aRelYear;
- }
-
-/**
- * Method to set the id of the subtitle
- * @param aId The ID value
- */
-void SmfSubtitle::setId( const QString &aId )
- {
- d->m_subtitleId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfSubtitle object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aSubtitle The SmfSubtitle object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfSubtitle &aSubtitle )
- {
- // Serialize m_subtitle
- aDataStream<<aSubtitle.d->m_subtitle;
-
- // Serialize m_language
- aDataStream<<aSubtitle.d->m_language;
-
- // Serialize m_frameRate
- aDataStream<<aSubtitle.d->m_frameRate;
-
- // Serialize m_duration
- aDataStream<<aSubtitle.d->m_duration;
-
- // Serialize m_releaseYr
- aDataStream<<aSubtitle.d->m_releaseYr;
-
- // Serialize m_subtitleId
- aDataStream<<aSubtitle.d->m_subtitleId;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfSubtitle object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aSubtitle The SmfSubtitle object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfSubtitle &aSubtitle)
- {
- // Deserialize m_subtitle
- aDataStream>>aSubtitle.d->m_subtitle;
-
- // Deserialize m_language
- aDataStream>>aSubtitle.d->m_language;
-
- // Deserialize m_frameRate
- aDataStream>>aSubtitle.d->m_frameRate;
-
- // Deserialize m_duration
- aDataStream>>aSubtitle.d->m_duration;
-
- // Deserialize m_releaseYr
- aDataStream>>aSubtitle.d->m_releaseYr;
-
- // Deserialize m_subtitleId
- aDataStream>>aSubtitle.d->m_subtitleId;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfsubtitle.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/**
- * 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:
- * The subtitle class represents information about a track's subtitle
- *
- */
-
-#ifndef SMFSUBTITLE_H_
-#define SMFSUBTITLE_H_
-
-#include <qdatastream.h>
-#include <QDateTime>
-#include <QSharedData>
-#include "smfclientglobal.h"
-#include <QMetaType>
-
-enum SmfSubtitleSearchFilter
- {
- SubtitleLanguage = 0,
- SubtitleFrameRate, // value = 1
- SubtitleDuration, // value = 2
- SubtitleReleaseYear, // value = 3
- SubtitleAll = SubtitleLanguage | SubtitleFrameRate |
- SubtitleDuration | SubtitleReleaseYear
- };
-
-class SmfSubtitlePrivate;
-
-/**
- * @ingroup smf_common_group
- * The subtitle class represents information about a track's subtitle
- */
-class SMFCLIENT_EXPORT SmfSubtitle
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfSubtitle( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfSubtitle( const SmfSubtitle &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfSubtitle& operator=( const SmfSubtitle &aOther );
-
- /**
- * Destructor
- */
- ~SmfSubtitle( );
-
- /**
- * Method to get the subtitle as a bytearray
- * @return The subtitle content
- */
- QByteArray subtitle( ) const;
-
- /**
- * Method to get the language
- * @return The language
- */
- QString language( ) const;
-
- /**
- * Method to get the frame rate
- * @return the frame rate
- */
- double frameRate( ) const;
-
- /**
- * Method to get the duration
- * @return the duration
- */
- double duration( ) const;
-
- /**
- * Method to get the release year
- * @return The release year
- */
- QDateTime releaseYear( ) const;
-
- /**
- * Method to get the id of the subtitle
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the subtitle as a bytearray
- * @param aSubtitle The subtitle content
- */
- void setSubtitle( const QByteArray &aSubtitle );
-
- /**
- * Method to set the language
- * @param aLang The language
- */
- void setLanguage( const QString &aLang );
-
- /**
- * Method to set the frame rate
- * @param aFramerate the frame rate
- */
- void setFrameRate( const double &aFramerate );
-
- /**
- * Method to set the duration
- * @param aDuration the duration
- */
- void setDuration( const double &aDuration );
-
- /**
- * Method to set the release year
- * @param aRelYear The release year
- */
- void setReleaseYear( const QDateTime &aRelYear );
-
- /**
- * Method to set the id of the subtitle
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfSubtitlePrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfSubtitle &aSubtitle );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfSubtitle &aSubtitle );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfSubtitle object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aSubtitle The SmfSubtitle object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfSubtitle &aSubtitle );
-
-/**
- * Method for Internalization. Reads a SmfSubtitle object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aSubtitle The SmfSubtitle object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfSubtitle &aSubtitle);
-
-
-typedef QList<SmfSubtitle> SmfSubtitleList;
-
-// Make the class SmfSubtitle known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfSubtitle)
-Q_DECLARE_METATYPE(QList<SmfSubtitle>)
-
-#endif /* SMFSUBTITLE_H_ */
--- a/smf/smfservermodule/smfclient/common/smfsubtitle_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfSubtitle class
- *
- */
-
-#ifndef SMFSUBTITLE_P_H_
-#define SMFSUBTITLE_P_H_
-
-#include <QDateTime>
-#include <QSharedData>
-
-class SmfSubtitlePrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfSubtitlePrivate( ) {
- m_language.clear();
- m_frameRate = 0;
- m_duration = 0;
- m_subtitleId.clear();
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfSubtitlePrivate( const SmfSubtitlePrivate &aOther ) :
- QSharedData ( aOther ),
- m_subtitle ( aOther.m_subtitle ),
- m_language ( aOther.m_language ),
- m_frameRate ( aOther.m_frameRate ),
- m_duration ( aOther.m_duration ),
- m_releaseYr ( aOther.m_releaseYr ),
- m_subtitleId ( aOther.m_subtitleId ) { }
-
- /**
- * Destructor
- */
- ~SmfSubtitlePrivate( )
- {
- }
-
- QByteArray m_subtitle; // subtitle data
- QString m_language; // language
- double m_frameRate; // frame rate
- double m_duration; // duration
- QDateTime m_releaseYr; // release year
- QString m_subtitleId; // subtitle id
-
-};
-
-#endif /* SMFSUBTITLE_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smftrackinfo.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/**
- * 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:
- * The track info class represents information about a music track
- *
- */
-
-#include <smftrackinfo.h>
-#include <smftrackinfo_p.h>
-
-/**
- * Constructor with default argument
- */
-SmfTrackInfo::SmfTrackInfo( )
- {
- d = new SmfTrackInfoPrivate( );
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfTrackInfo::SmfTrackInfo( const SmfTrackInfo &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfTrackInfo& SmfTrackInfo::operator=( const SmfTrackInfo &aOther )
- {
- d->m_trackId = aOther.d->m_trackId;
- d->m_title = aOther.d->m_title;
- d->m_album = aOther.d->m_album;
- d->m_artists = aOther.d->m_artists;
- d->m_genre = aOther.d->m_genre;
- d->m_tags = aOther.d->m_tags;
- d->m_year = aOther.d->m_year;
- d->m_rating = aOther.d->m_rating;
- d->m_comments = aOther.d->m_comments;
- d->m_duration = aOther.d->m_duration;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfTrackInfo::~SmfTrackInfo( )
- {
- }
-
-/**
- * Method to get the track title
- * @return The title of the track
- */
-QString SmfTrackInfo::title( ) const
- {
- return d->m_title;
- }
-
-/**
- * Method to get the track album
- * @return The album of the track
- */
-SmfAlbum SmfTrackInfo::album( ) const
- {
- return d->m_album;
- }
-
-/**
- * Method to get the track's artists
- * @return The artists of the track
- */
-SmfArtists SmfTrackInfo::artists( ) const
- {
- return d->m_artists;
- }
-
-/**
- * Method to get the genre of the track
- * @return The genre of the track
- */
-QString SmfTrackInfo::genre( ) const
- {
- return d->m_genre;
- }
-
-/**
- * Method to get the track's tag
- * @return The tag of the track
- */
-QStringList SmfTrackInfo::tags( ) const
- {
- return d->m_tags;
- }
-
-/**
- * Method to get the release year of the track
- * @return The release year of the track
- */
-QDateTime SmfTrackInfo::year( ) const
- {
- return d->m_year;
- }
-
-/**
- * Method to get the track's rating
- * @return The rating of the track
- */
-SmfMusicRating SmfTrackInfo::rating( ) const
- {
- return d->m_rating;
- }
-
-/**
- * Method to get the comments on the track
- * @return The comments on the track
- */
-QList<SmfComment> SmfTrackInfo::comments( ) const
- {
- return d->m_comments;
- }
-
-/**
- * Method to get the track's duration
- * @return The duration of the track
- */
-QTime SmfTrackInfo::duration( ) const
- {
- return d->m_duration;
- }
-
-/**
- * Method to get the id of the track
- * @return The ID value
- */
-QString SmfTrackInfo::id( ) const
- {
- return d->m_trackId;
- }
-
-/**
- * Method to set the track title
- * @param aTitle The new title of the track
- */
-void SmfTrackInfo::setTitle( const QString &aTitle )
- {
- d->m_title = aTitle;
- }
-
-/**
- * Method to set the track album
- * @param aAlbum The new album of the track
- */
-void SmfTrackInfo::setAlbum( const SmfAlbum &aAlbum )
- {
- d->m_album = aAlbum;
- }
-
-/**
- * Method to set the track's artists
- * @param aArtists The new artists of the track
- */
-void SmfTrackInfo::setArtists( const SmfArtists &aArtists )
- {
- d->m_artists = aArtists;
- }
-
-/**
- * Method to set the genre of the track
- * @param aGenre The new genre of the track
- */
-void SmfTrackInfo::setGenre( const QString &aGenre )
- {
- d->m_genre = aGenre;
- }
-
-/**
- * Method to set the track's tag
- * @param aTag The tag of the track
- */
-void SmfTrackInfo::setTags( const QStringList &aTags )
- {
- d->m_tags = aTags;
- }
-
-/**
- * Method to set the release year of the track
- * @param aYear The new release year of the track
- */
-void SmfTrackInfo::setYear( const QDateTime &aYear )
- {
- d->m_year = aYear;
- }
-
-/**
- * Method to set the track's rating
- * @param aRating The new rating of the track
- */
-void SmfTrackInfo::setRating( const SmfMusicRating &aRating )
- {
- d->m_rating = aRating;
- }
-
-/**
- * Method to set the comments on the track
- * @param aComment The new comment of the track
- */
-void SmfTrackInfo::setComment( const QList<SmfComment> &aComments )
- {
- d->m_comments = aComments;
- }
-
-/**
- * Method to set the duration of the track
- * @param aDuration The new duration of the track
- */
-void SmfTrackInfo::setDuration( const QTime &aDuration )
- {
- d->m_duration = aDuration;
- }
-
-/**
- * Method to set the id of the track
- * @param aId The ID value
- */
-void SmfTrackInfo::setId( const QString &aId )
- {
- d->m_trackId = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfTrackInfo object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aTrackInfo The SmfTrackInfo object to be externalized
- * @return reference to the written stream
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfTrackInfo &aTrackInfo )
- {
- // Serialize d->m_trackId
- aDataStream<<aTrackInfo.d->m_trackId;
-
- // Serialize d->m_title
- aDataStream<<aTrackInfo.d->m_title;
-
- // Serialize d->m_album
- aDataStream<<aTrackInfo.d->m_album;
-
- // Serialize d->m_artists
- aDataStream<<aTrackInfo.d->m_artists;
-
- // Serialize d->m_genre
- aDataStream<<aTrackInfo.d->m_genre;
-
- // Serialize d->m_tags
- aDataStream<<aTrackInfo.d->m_tags;
-
- // Serialize d->m_year
- aDataStream<<aTrackInfo.d->m_year;
-
- // Serialize d->m_rating
- aDataStream<<aTrackInfo.d->m_rating;
-
- // Serialize d->m_comments
- aDataStream<<aTrackInfo.d->m_comments;
-
- // Serialize d->m_duration
- aDataStream<<aTrackInfo.d->m_duration;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfTrackInfo object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aTrackInfo The SmfTrackInfo object to be internalized
- * @return reference to the stream
- */
- QDataStream &operator>>( QDataStream &aDataStream,
- SmfTrackInfo &aTrackInfo)
- {
- // Deserialize d->m_trackId
- aDataStream>>aTrackInfo.d->m_trackId;
-
- // Deserialize d->m_title
- aDataStream>>aTrackInfo.d->m_title;
-
- // Deserialize d->m_album
- aDataStream>>aTrackInfo.d->m_album;
-
- // Deserialize d->m_artists
- aDataStream>>aTrackInfo.d->m_artists;
-
- // Deserialize d->m_genre
- aDataStream>>aTrackInfo.d->m_genre;
-
- // Deserialize d->m_tags
- aDataStream>>aTrackInfo.d->m_tags;
-
- // Deserialize d->m_year
- aDataStream>>aTrackInfo.d->m_year;
-
- // Deserialize d->m_rating
- aDataStream>>aTrackInfo.d->m_rating;
-
- // Deserialize d->m_comments
- aDataStream>>aTrackInfo.d->m_comments;
-
- // Deserialize d->m_duration
- aDataStream>>aTrackInfo.d->m_duration;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smftrackinfo.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/**
- * 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:
- * The track info class represents information about a music track
- *
- */
-
-#ifndef SMFTRACKINFO_H_
-#define SMFTRACKINFO_H_
-
-#include <QTime>
-#include <qdatastream.h>
-#include <smfmusicrating.h>
-#include <smfartists.h>
-#include "smfalbum.h"
-#include <smfcomment.h>
-#include <QStringList>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-
-class SmfTrackInfoPrivate;
-
-/**
- * @ingroup smf_common_group
- * The track info class represents information about a music track
- */
-class SMFCLIENT_EXPORT SmfTrackInfo
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfTrackInfo( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfTrackInfo( const SmfTrackInfo &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfTrackInfo& operator=( const SmfTrackInfo &aOther );
-
- /**
- * Destructor
- */
- ~SmfTrackInfo( );
-
- /**
- * Method to get the track title
- * @return The title of the track
- */
- QString title( ) const;
-
- /**
- * Method to get the track album
- * @return The album of the track
- */
- SmfAlbum album( ) const;
-
- /**
- * Method to get the track's artists
- * @return The artists of the track
- */
- SmfArtists artists( ) const;
-
- /**
- * Method to get the genre of the track
- * @return The genre of the track
- */
- QString genre( ) const;
-
- /**
- * Method to get the track's tag
- * @return The tag of the track
- */
- QStringList tags( ) const;
-
- /**
- * Method to get the release year of the track
- * @return The release year of the track
- */
- QDateTime year( ) const;
-
- /**
- * Method to get the track's rating
- * @return The rating of the track
- */
- SmfMusicRating rating( ) const;
-
- /**
- * Method to get the comments on the track
- * @return The comments on the track
- */
- QList<SmfComment> comments( ) const;
-
- /**
- * Method to get the track's duration
- * @return The duration of the track
- */
- QTime duration( ) const;
-
- /**
- * Method to get the id of the track
- * @return The ID value
- */
- QString id( ) const;
-
- /**
- * Method to set the track title
- * @param aTitle The new title of the track
- */
- void setTitle( const QString &aTitle );
-
- /**
- * Method to set the track album
- * @param aAlbum The new album of the track
- */
- void setAlbum( const SmfAlbum &aAlbum );
-
- /**
- * Method to set the track's artists
- * @param aArtists The new artists of the track
- */
- void setArtists( const SmfArtists &aArtists );
-
- /**
- * Method to set the genre of the track
- * @param aGenre The new genre of the track
- */
- void setGenre( const QString &aGenre );
-
- /**
- * Method to set the track's tag
- * @param aTag The tag of the track
- */
- void setTags( const QStringList &aTags );
-
- /**
- * Method to set the release year of the track
- * @param aYear The new release year of the track
- */
- void setYear( const QDateTime &aYear );
-
- /**
- * Method to set the track's rating
- * @param aRating The new rating of the track
- */
- void setRating( const SmfMusicRating &aRating );
-
- /**
- * Method to set the comments on the track
- * @param aComment The new comment of the track
- */
- void setComment( const QList<SmfComment> &aComments );
-
- /**
- * Method to set the duration of the track
- * @param aDuration The new duration of the track
- */
- void setDuration( const QTime &aDuration );
-
- /**
- * Method to set the id of the track
- * @param aId The ID value
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfTrackInfoPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfTrackInfo &aTrackInfo );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfTrackInfo &aTrackInfo );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfTrackInfo object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aTrackInfo The SmfTrackInfo object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfTrackInfo &aTrackInfo );
-
-/**
- * Method for Internalization. Reads a SmfTrackInfo object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aTrackInfo The SmfTrackInfo object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfTrackInfo &aTrackInfo);
-
-
-typedef QList<SmfTrackInfo> SmfTrackInfoList;
-
-// Make the class SmfTrackInfo known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfTrackInfo)
-Q_DECLARE_METATYPE(QList<SmfTrackInfo>)
-
-#endif /* SMFTRACKINFO_H_ */
--- a/smf/smfservermodule/smfclient/common/smftrackinfo_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfTrackInfo class
- *
- */
-
-#ifndef SMFTRACKINFO_P_H_
-#define SMFTRACKINFO_P_H_
-
-#include <QTime>
-#include <smfmusicrating.h>
-#include <smfcomment.h>
-#include <QStringList>
-#include <QSharedData>
-
-class SmfTrackInfoPrivate : public QSharedData
-{
-public:
- /**
- * Constructor
- */
- SmfTrackInfoPrivate( ) : m_rating( )
- {
- m_trackId.clear();
- m_title.clear();
- m_genre.clear();
- m_tags.clear();
- m_comments.clear();
- }
-
- /**
- * Copy Constructor
- * @param aOther The reference object to be copy constructed
- */
- SmfTrackInfoPrivate( const SmfTrackInfoPrivate &aOther ) :
- QSharedData ( aOther ),
- m_trackId ( aOther.m_trackId ),
- m_title ( aOther.m_title ),
- m_album ( aOther.m_album ),
- m_artists ( aOther.m_artists ),
- m_genre ( aOther.m_genre ),
- m_tags ( aOther.m_tags ),
- m_year ( aOther.m_year ),
- m_rating ( aOther.m_rating ),
- m_comments ( aOther.m_comments ),
- m_duration ( aOther.m_duration ) { }
-
- /**
- * Destructor
- */
- ~SmfTrackInfoPrivate( )
- {
- }
-
- QString m_trackId; // track id
- QString m_title; // title
- SmfAlbum m_album; // album
- SmfArtists m_artists; // artist name
- QString m_genre; // genre information
- QStringList m_tags; // tag information
- QDateTime m_year; // release year
- SmfMusicRating m_rating;// rating
- QList<SmfComment> m_comments; // comments
- QTime m_duration; // duration
-
-};
-
-#endif /* SMFTRACKINFO_P_H_ */
--- a/smf/smfservermodule/smfclient/common/smfurl.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/**
- * 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:
- * The SmfUrl class represents an URL. This class has been constructed based on
- * the link element of the The Atom Syndication Format
- * (refer http://tools.ietf.org/html/rfc4287)
- * For detailed description about atom link relations, refer
- * "http://www.iana.org/assignments/link-relations/link-relations.xhtml"
- *
- */
-
-#include <QUrl>
-
-#include "smfurl.h"
-#include "smfurl_p.h"
-
-/**
- * Constructor with default argument
- */
-SmfUrl::SmfUrl( )
- {
- d = new SmfUrlPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfUrl::SmfUrl( const SmfUrl &aOther )
- : d( aOther.d )
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfUrl& SmfUrl::operator=( const SmfUrl &aOther )
- {
- d->m_id = aOther.d->m_id;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfUrl::~SmfUrl( )
- {
- }
-
-
-/**
- * Method to get the href attribute of the link
- * @return The href attribute of the link
- */
-QUrl SmfUrl::href( ) const
- {
- return d->m_href;
- }
-
-/**
- * Method to get the rel attribute of the link
- * @return The rel attribute of the link
- */
-QString SmfUrl::rel( ) const
- {
- return d->m_rel;
- }
-
-/**
- * Method to get the type attribute of the link
- * @return The type attribute of the link
- */
-QString SmfUrl::type( ) const
- {
- return d->m_type;
- }
-
-/**
- * Method to get the hreflang attribute of the link
- * @return The hreflang attribute of the link
- */
-QString SmfUrl::hreflang( ) const
- {
- return d->m_hreflang;
- }
-
-/**
- * Method to get the title attribute of the link
- * @return The title attribute of the link
- */
-QString SmfUrl::title( ) const
- {
- return d->m_title;
- }
-
-/**
- * Method to get the length attribute of the link
- * @return The length attribute of the link
- */
-QString SmfUrl::length( ) const
- {
- return d->m_length;
- }
-
-/**
- * Method to get the id of the URL
- * @return The ID of the URL
- */
-QString SmfUrl::id( ) const
- {
- return d->m_id;
- }
-
-/**
- * Method to set the href attribute of the link
- * @param aData The href attribute of the link
- */
-void SmfUrl::setHref( const QUrl& aData )
- {
- d->m_href = aData;
- }
-
-/**
- * Method to set the rel attribute of the link
- * @param aData The rel attribute of the link
- */
-void SmfUrl::setRel( const QString &aData )
- {
- d->m_rel = aData;
- }
-
-/**
- * Method to set the type attribute of the link
- * @param aData The type attribute of the link
- */
-void SmfUrl::setType( const QString &aData )
- {
- d->m_type = aData;
- }
-
-/**
- * Method to set the hreflang attribute of the link
- * @param aData The hreflang attribute of the link
- */
-void SmfUrl::setHhreflang( const QString &aData )
- {
- d->m_hreflang = aData;
- }
-
-/**
- * Method to set the title attribute of the link
- * @param aData The title attribute of the link
- */
-void SmfUrl::setTitle( const QString &aData )
- {
- d->m_title = aData;
- }
-
-/**
- * Method to set the length attribute of the link
- * @param aData The length attribute of the link
- */
-void SmfUrl::setLength( const QString &aData )
- {
- d->m_length = aData;
- }
-
-/**
- * Method to set the id of the URL
- * @param aId The ID of the URL
- */
-void SmfUrl::setId( const QString &aId )
- {
- d->m_id = aId;
- }
-
-
-/**
- * Method for Externalization. Writes the SmfUrl object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aUrl The SmfUrl object to be externalized
- * @return reference to the written stream
- */
- QDataStream &operator<<( QDataStream &aDataStream,
- const SmfUrl &aUrl )
- {
- // Serialize d->m_href
- aDataStream<<aUrl.d->m_href;
-
- // Serialize d->m_rel
- aDataStream<<aUrl.d->m_rel;
-
- // Serialize d->m_type
- aDataStream<<aUrl.d->m_type;
-
- // Serialize d->m_hreflang
- aDataStream<<aUrl.d->m_hreflang;
-
- // Serialize d->m_title
- aDataStream<<aUrl.d->m_title;
-
- // Serialize d->m_length
- aDataStream<<aUrl.d->m_length;
-
- // Serialize d->m_id
- aDataStream<<aUrl.d->m_id;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfUrl object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aUrl The SmfUrl object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfUrl &aUrl)
- {
- // Deserialize d->m_href
- aDataStream>>aUrl.d->m_href;
-
- // Deserialize d->m_rel
- aDataStream>>aUrl.d->m_rel;
-
- // Deserialize d->m_type
- aDataStream>>aUrl.d->m_type;
-
- // Deserialize d->m_hreflang
- aDataStream>>aUrl.d->m_hreflang;
-
- // Deserialize d->m_title
- aDataStream>>aUrl.d->m_title;
-
- // Deserialize d->m_length
- aDataStream>>aUrl.d->m_length;
-
- // Deserialize d->m_id
- aDataStream>>aUrl.d->m_id;
-
- return aDataStream;
- }
-
--- a/smf/smfservermodule/smfclient/common/smfurl.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/**
- * 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:
- * The SmfUrl class represents an URL. This class has been constructed based on
- * the link element of the The Atom Syndication Format
- * (refer http://tools.ietf.org/html/rfc4287).
- * For detailed description about atom link relations, refer
- * "http://www.iana.org/assignments/link-relations/link-relations.xhtml"
- *
- */
-
-#ifndef SMFURL_H_
-#define SMFURL_H_
-
-#include <qdatastream.h>
-#include <QSharedData>
-#include <smfclientglobal.h>
-#include <QMetaType>
-
-class SmfUrlPrivate;
-
-/**
- * @ingroup smf_common_group
- * The SmfUrl class represents an URL. This class has been constructed based on
- * the link element of the The Atom Syndication Format
- * (refer http://tools.ietf.org/html/rfc4287)
- * For detailed description about atom link relations, refer
- * "http://www.iana.org/assignments/link-relations/link-relations.xhtml"
- */
-class SMFCLIENT_EXPORT SmfUrl
- {
-public:
- /**
- * Constructor with default argument
- */
- SmfUrl( );
-
- /**
- * Copy Constructor
- * @param aOther The reference object
- */
- SmfUrl( const SmfUrl &aOther );
-
- /**
- * Overloaded = operator
- * @param aOther The reference object
- */
- SmfUrl& operator=( const SmfUrl &aOther );
-
- /**
- * Destructor
- */
- ~SmfUrl( );
-
- /**
- * Method to get the href attribute of the link
- * @return The href attribute of the link
- */
- QUrl href( ) const;
-
- /**
- * Method to get the rel attribute of the link
- * @return The rel attribute of the link
- */
- QString rel( ) const;
-
- /**
- * Method to get the type attribute of the link
- * @return The type attribute of the link
- */
- QString type( ) const;
-
- /**
- * Method to get the hreflang attribute of the link
- * @return The hreflang attribute of the link
- */
- QString hreflang( ) const;
-
- /**
- * Method to get the title attribute of the link
- * @return The title attribute of the link
- */
- QString title( ) const;
-
- /**
- * Method to get the length attribute of the link
- * @return The length attribute of the link
- */
- QString length( ) const;
-
- /**
- * Method to get the id of the URL
- * @return The ID of the URL
- */
- QString id( ) const;
-
- /**
- * Method to set the href attribute of the link
- * @param aData The href attribute of the link
- */
- void setHref( const QUrl& aData );
-
- /**
- * Method to set the rel attribute of the link
- * @param aData The rel attribute of the link
- */
- void setRel( const QString &aData );
-
- /**
- * Method to set the type attribute of the link
- * @param aData The type attribute of the link
- */
- void setType( const QString &aData );
-
- /**
- * Method to set the hreflang attribute of the link
- * @param aData The hreflang attribute of the link
- */
- void setHhreflang( const QString &aData );
-
- /**
- * Method to set the title attribute of the link
- * @param aData The title attribute of the link
- */
- void setTitle( const QString &aData );
-
- /**
- * Method to set the length attribute of the link
- * @param aData The length attribute of the link
- */
- void setLength( const QString &aData );
-
- /**
- * Method to set the id of the URL
- * @param aId The ID of the URL
- */
- void setId( const QString &aId );
-
-private:
- QSharedDataPointer<SmfUrlPrivate> d;
-
- friend QDataStream &operator<<( QDataStream &aDataStream,
- const SmfUrl &aUrl );
-
- friend QDataStream &operator>>( QDataStream &aDataStream,
- SmfUrl &aUrl );
-
- };
-
-
-/**
- * Method for Externalization. Writes the SmfUrl object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aUrl The SmfUrl object to be externalized
- * @return reference to the written stream
- */
-SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
- const SmfUrl &aUrl );
-
-/**
- * Method for Internalization. Reads a SmfUrl object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aUrl The SmfUrl object to be internalized
- * @return reference to the stream
- */
-SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
- SmfUrl &aUrl);
-
-typedef QList<SmfUrl> SmfUrlList;
-
-// Make the class SmfUrl known to QMetaType, so that as to register it.
-Q_DECLARE_METATYPE(SmfUrl)
-Q_DECLARE_METATYPE(QList<SmfUrl>)
-
-#endif /* SMFURL_H_ */
-
--- a/smf/smfservermodule/smfclient/common/smfurl_p.h Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/**
- * 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 class implemented for implicit sharing of SmfUrl class
- *
- */
-
-#ifndef SMFURL_P_H_
-#define SMFURL_P_H_
-
-#include <QSharedData>
-#include <QUrl>
-
-class SmfUrlPrivate : public QSharedData
- {
-public:
- /**
- * Constructor
- */
- SmfUrlPrivate( ) {
- m_id.clear();
- }
-
- /**
- * Copy Consturctor
- * @param aOther The reference object to be copy constructed
- */
- SmfUrlPrivate( const SmfUrlPrivate &aOther ) :
- QSharedData ( aOther ),
- m_id ( aOther.m_id ) { }
-
- /**
- * Destructor
- */
- ~SmfUrlPrivate( )
- {
- }
-
- /**
- * Data members
- */
- QUrl m_href; // The href attribute of an Atom link element, contains the link's IRI
- QString m_rel; // The rel attribute that indicates the link relation type
- QString m_type; // The type attribute. It is a hint about the type of the
- // representation that is expected to be returned when the
- // value of the href attribute is dereferenced
- QString m_hreflang; // The hreflang attribute describes the language of the resource
- // pointed to by the href attribute
- QString m_title; // The title attribute conveys human-readable information about the link
- QString m_length; // The length attribute indicates an advisory length
- // of the linked content in octets
- QString m_id; // The url ID
-
- };
-
-#endif /* SMFURL_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/eabi/smfclientu.def Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,268 @@
+EXPORTS
+ _ZN10SmfGallery11descriptionER10SmfPicture @ 1 NONAME
+ _ZN10SmfGallery11postCommentE10SmfPicture10SmfComment @ 2 NONAME
+ _ZN10SmfGallery11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
+ _ZN10SmfGallery11qt_metacastEPKc @ 4 NONAME
+ _ZN10SmfGallery13customRequestERKiP10QByteArray @ 5 NONAME
+ _ZN10SmfGallery14uploadFinishedE5QListI8SmfErrorE @ 6 NONAME
+ _ZN10SmfGallery15albumsAvailableEP5QListI15SmfPictureAlbumE8SmfError13SmfResultPage @ 7 NONAME
+ _ZN10SmfGallery16staticMetaObjectE @ 8 NONAME DATA 16
+ _ZN10SmfGallery17picturesAvailableEP5QListI10SmfPictureE8SmfError13SmfResultPage @ 9 NONAME
+ _ZN10SmfGallery19customDataAvailableEiP10QByteArray @ 10 NONAME
+ _ZN10SmfGallery19getStaticMetaObjectEv @ 11 NONAME
+ _ZN10SmfGallery20descriptionAvailableE7QString8SmfError @ 12 NONAME
+ _ZN10SmfGallery6albumsE11QStringListP10SmfContactii @ 13 NONAME
+ _ZN10SmfGallery6uploadEP10SmfPictureP15SmfPictureAlbum @ 14 NONAME
+ _ZN10SmfGallery6uploadEP5QListI10SmfPictureEP15SmfPictureAlbum @ 15 NONAME
+ _ZN10SmfGallery8picturesER5QListI15SmfPictureAlbumEii @ 16 NONAME
+ _ZN10SmfGalleryC1EP11SmfProvider @ 17 NONAME
+ _ZN10SmfGalleryC2EP11SmfProvider @ 18 NONAME
+ _ZN10SmfGalleryD0Ev @ 19 NONAME
+ _ZN10SmfGalleryD1Ev @ 20 NONAME
+ _ZN10SmfGalleryD2Ev @ 21 NONAME
+ _ZN14SmfMusicEvents10postEventsE5QListI8SmfEventE @ 22 NONAME
+ _ZN14SmfMusicEvents11qt_metacallEN11QMetaObject4CallEiPPv @ 23 NONAME
+ _ZN14SmfMusicEvents11qt_metacastEPKc @ 24 NONAME
+ _ZN14SmfMusicEvents13customRequestERKiP10QByteArray @ 25 NONAME
+ _ZN14SmfMusicEvents13eventsUpdatedE8SmfError @ 26 NONAME
+ _ZN14SmfMusicEvents15eventsAvailableEP5QListI8SmfEventE8SmfError13SmfResultPage @ 27 NONAME
+ _ZN14SmfMusicEvents15venuesAvailableEP5QListI11SmfLocationE8SmfError13SmfResultPage @ 28 NONAME
+ _ZN14SmfMusicEvents16staticMetaObjectE @ 29 NONAME DATA 16
+ _ZN14SmfMusicEvents19customDataAvailableERKiP10QByteArray @ 30 NONAME
+ _ZN14SmfMusicEvents19getStaticMetaObjectEv @ 31 NONAME
+ _ZN14SmfMusicEvents6eventsE11SmfLocationii @ 32 NONAME
+ _ZN14SmfMusicEvents6venuesE11SmfLocationii @ 33 NONAME
+ _ZN14SmfMusicEventsC1EP11SmfProvider @ 34 NONAME
+ _ZN14SmfMusicEventsC2EP11SmfProvider @ 35 NONAME
+ _ZN14SmfMusicEventsD0Ev @ 36 NONAME
+ _ZN14SmfMusicEventsD1Ev @ 37 NONAME
+ _ZN14SmfMusicEventsD2Ev @ 38 NONAME
+ _ZN14SmfMusicSearch11qt_metacallEN11QMetaObject4CallEiPPv @ 39 NONAME
+ _ZN14SmfMusicSearch11qt_metacastEPKc @ 40 NONAME
+ _ZN14SmfMusicSearch13customRequestERKiP10QByteArray @ 41 NONAME
+ _ZN14SmfMusicSearch15recommendationsE12SmfTrackInfoii @ 42 NONAME
+ _ZN14SmfMusicSearch16staticMetaObjectE @ 43 NONAME DATA 16
+ _ZN14SmfMusicSearch19customDataAvailableERKiP10QByteArray @ 44 NONAME
+ _ZN14SmfMusicSearch19getStaticMetaObjectEv @ 45 NONAME
+ _ZN14SmfMusicSearch20storeSearchAvailableEP5QListI11SmfProviderE8SmfError13SmfResultPage @ 46 NONAME
+ _ZN14SmfMusicSearch20trackSearchAvailableEP5QListI12SmfTrackInfoE8SmfError13SmfResultPage @ 47 NONAME
+ _ZN14SmfMusicSearch6storesE12SmfTrackInfoii @ 48 NONAME
+ _ZN14SmfMusicSearch6tracksE12SmfTrackInfoii @ 49 NONAME
+ _ZN14SmfMusicSearch9trackInfoE19SmfMusicFingerPrintii @ 50 NONAME
+ _ZN14SmfMusicSearchC1EP11SmfProvider @ 51 NONAME
+ _ZN14SmfMusicSearchC2EP11SmfProvider @ 52 NONAME
+ _ZN14SmfMusicSearchD0Ev @ 53 NONAME
+ _ZN14SmfMusicSearchD1Ev @ 54 NONAME
+ _ZN14SmfMusicSearchD2Ev @ 55 NONAME
+ _ZN14SmfRelationMgr10searchByIdERK7QString @ 56 NONAME
+ _ZN14SmfRelationMgr11qt_metacallEN11QMetaObject4CallEiPPv @ 57 NONAME
+ _ZN14SmfRelationMgr11qt_metacastEPKc @ 58 NONAME
+ _ZN14SmfRelationMgr15getAllRelationsEv @ 59 NONAME
+ _ZN14SmfRelationMgr15searchByContactE10SmfContact @ 60 NONAME
+ _ZN14SmfRelationMgr16staticMetaObjectE @ 61 NONAME DATA 16
+ _ZN14SmfRelationMgr19getStaticMetaObjectEv @ 62 NONAME
+ _ZN14SmfRelationMgr3getER7QStringj @ 63 NONAME
+ _ZN14SmfRelationMgr5countE7QString @ 64 NONAME
+ _ZN14SmfRelationMgr6DeleteER7QString @ 65 NONAME
+ _ZN14SmfRelationMgr6createEP11SmfProviderP10SmfContact @ 66 NONAME
+ _ZN14SmfRelationMgr6getAllER7QString @ 67 NONAME
+ _ZN14SmfRelationMgr6removeER7QStringPK10SmfContact @ 68 NONAME
+ _ZN14SmfRelationMgr9associateER7QStringPK10SmfContactP11SmfProvider @ 69 NONAME
+ _ZN14SmfRelationMgrC1EP7QObject @ 70 NONAME
+ _ZN14SmfRelationMgrC2EP7QObject @ 71 NONAME
+ _ZN14SmfRelationMgrD0Ev @ 72 NONAME
+ _ZN14SmfRelationMgrD1Ev @ 73 NONAME
+ _ZN14SmfRelationMgrD2Ev @ 74 NONAME
+ _ZN15SmfMusicService10postRatingE12SmfTrackInfo14SmfMusicRating @ 75 NONAME
+ _ZN15SmfMusicService10searchUserE11SmfLocationii @ 76 NONAME
+ _ZN15SmfMusicService11qt_metacallEN11QMetaObject4CallEiPPv @ 77 NONAME
+ _ZN15SmfMusicService11qt_metacastEPKc @ 78 NONAME
+ _ZN15SmfMusicService12postCommentsE12SmfTrackInfo10SmfComment @ 79 NONAME
+ _ZN15SmfMusicService12postfinishedE8SmfError @ 80 NONAME
+ _ZN15SmfMusicService13customRequestERKiP10QByteArray @ 81 NONAME
+ _ZN15SmfMusicService16staticMetaObjectE @ 82 NONAME DATA 16
+ _ZN15SmfMusicService17userInfoAvailableEP15SmfMusicProfile8SmfError @ 83 NONAME
+ _ZN15SmfMusicService18postCurrentPlayingE12SmfTrackInfo @ 84 NONAME
+ _ZN15SmfMusicService19customDataAvailableERKiP10QByteArray @ 85 NONAME
+ _ZN15SmfMusicService19getStaticMetaObjectEv @ 86 NONAME
+ _ZN15SmfMusicService19searchInfoAvailableEP5QListI15SmfMusicProfileE8SmfError13SmfResultPage @ 87 NONAME
+ _ZN15SmfMusicService8userinfoEv @ 88 NONAME
+ _ZN15SmfMusicServiceC1EP11SmfProvider @ 89 NONAME
+ _ZN15SmfMusicServiceC2EP11SmfProvider @ 90 NONAME
+ _ZN15SmfMusicServiceD0Ev @ 91 NONAME
+ _ZN15SmfMusicServiceD1Ev @ 92 NONAME
+ _ZN15SmfMusicServiceD2Ev @ 93 NONAME
+ _ZN15SmfPostProvider10updatePostER7SmfPost @ 94 NONAME
+ _ZN15SmfPostProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 95 NONAME
+ _ZN15SmfPostProvider11qt_metacastEPKc @ 96 NONAME
+ _ZN15SmfPostProvider12postDirectedER7SmfPostR10SmfContactP11SmfLocation @ 97 NONAME
+ _ZN15SmfPostProvider12postFinishedE8SmfError @ 98 NONAME
+ _ZN15SmfPostProvider13customRequestERKiP10QByteArray @ 99 NONAME
+ _ZN15SmfPostProvider14commentOnAPostER7SmfPostS1_P11SmfLocation @ 100 NONAME
+ _ZN15SmfPostProvider14postAppearenceE17SmfAppearenceInfoRK7QString @ 101 NONAME
+ _ZN15SmfPostProvider14postsAvailableEP5QListI7SmfPostE8SmfError13SmfResultPage @ 102 NONAME
+ _ZN15SmfPostProvider16staticMetaObjectE @ 103 NONAME DATA 16
+ _ZN15SmfPostProvider19customDataAvailableEiP10QByteArray @ 104 NONAME
+ _ZN15SmfPostProvider19getStaticMetaObjectEv @ 105 NONAME
+ _ZN15SmfPostProvider4postER7SmfPostR11SmfLocation @ 106 NONAME
+ _ZN15SmfPostProvider5postsEP10SmfContactii @ 107 NONAME
+ _ZN15SmfPostProvider9sharePostER7SmfPostR10SmfContactb @ 108 NONAME
+ _ZN15SmfPostProviderC1EP11SmfProvider @ 109 NONAME
+ _ZN15SmfPostProviderC2EP11SmfProvider @ 110 NONAME
+ _ZN15SmfPostProviderD0Ev @ 111 NONAME
+ _ZN15SmfPostProviderD1Ev @ 112 NONAME
+ _ZN15SmfPostProviderD2Ev @ 113 NONAME
+ _ZN15SmfRelationItem10setContactER10SmfContact @ 114 NONAME
+ _ZN15SmfRelationItem11setProviderER11SmfProvider @ 115 NONAME
+ _ZN15SmfRelationItem8setIndexEj @ 116 NONAME
+ _ZN15SmfRelationItemC1EP11SmfProvider @ 117 NONAME
+ _ZN15SmfRelationItemC2EP11SmfProvider @ 118 NONAME
+ _ZN16SmfLyricsService11qt_metacallEN11QMetaObject4CallEiPPv @ 119 NONAME
+ _ZN16SmfLyricsService11qt_metacastEPKc @ 120 NONAME
+ _ZN16SmfLyricsService13customRequestERKiP10QByteArray @ 121 NONAME
+ _ZN16SmfLyricsService15lyricsAvailableEP5QListI9SmfLyricsE8SmfError13SmfResultPage @ 122 NONAME
+ _ZN16SmfLyricsService16staticMetaObjectE @ 123 NONAME DATA 16
+ _ZN16SmfLyricsService17subtitleAvailableEP5QListI11SmfSubtitleE8SmfError13SmfResultPage @ 124 NONAME
+ _ZN16SmfLyricsService19customDataAvailableERKiP10QByteArray @ 125 NONAME
+ _ZN16SmfLyricsService19getStaticMetaObjectEv @ 126 NONAME
+ _ZN16SmfLyricsService6lyricsE12SmfTrackInfoii @ 127 NONAME
+ _ZN16SmfLyricsService9subtitlesE12SmfTrackInfo23SmfSubtitleSearchFilterii @ 128 NONAME
+ _ZN16SmfLyricsServiceC1EP11SmfProvider @ 129 NONAME
+ _ZN16SmfLyricsServiceC2EP11SmfProvider @ 130 NONAME
+ _ZN16SmfLyricsServiceD0Ev @ 131 NONAME
+ _ZN16SmfLyricsServiceD1Ev @ 132 NONAME
+ _ZN16SmfLyricsServiceD2Ev @ 133 NONAME
+ _ZN17SmfContactFetcher10searchNearEP11SmfLocation25SmfLocationSearchBoundaryii @ 134 NONAME
+ _ZN17SmfContactFetcher11qt_metacallEN11QMetaObject4CallEiPPv @ 135 NONAME
+ _ZN17SmfContactFetcher11qt_metacastEPKc @ 136 NONAME
+ _ZN17SmfContactFetcher13customRequestERKiP10QByteArray @ 137 NONAME
+ _ZN17SmfContactFetcher13searchInGroupE8SmfGroupii @ 138 NONAME
+ _ZN17SmfContactFetcher16staticMetaObjectE @ 139 NONAME DATA 16
+ _ZN17SmfContactFetcher18groupListAvailableEP5QListI8SmfGroupE8SmfError13SmfResultPage @ 140 NONAME
+ _ZN17SmfContactFetcher18searchNearFinishedEP5QListI10SmfContactE8SmfError13SmfResultPage @ 141 NONAME
+ _ZN17SmfContactFetcher19customDataAvailableEiP10QByteArray @ 142 NONAME
+ _ZN17SmfContactFetcher19getStaticMetaObjectEv @ 143 NONAME
+ _ZN17SmfContactFetcher20friendsListAvailableEP5QListI10SmfContactE8SmfError13SmfResultPage @ 144 NONAME
+ _ZN17SmfContactFetcher21searchContactFinishedEP5QListI10SmfContactE8SmfError13SmfResultPage @ 145 NONAME
+ _ZN17SmfContactFetcher21searchInGroupFinishedEP5QListI10SmfContactE8SmfError13SmfResultPage @ 146 NONAME
+ _ZN17SmfContactFetcher22followersListAvailableEP5QListI10SmfContactE8SmfError13SmfResultPage @ 147 NONAME
+ _ZN17SmfContactFetcher6groupsEii @ 148 NONAME
+ _ZN17SmfContactFetcher6searchEP10SmfContactii @ 149 NONAME
+ _ZN17SmfContactFetcher7friendsEii @ 150 NONAME
+ _ZN17SmfContactFetcher9followersEii @ 151 NONAME
+ _ZN17SmfContactFetcherC1EP11SmfProvider @ 152 NONAME
+ _ZN17SmfContactFetcherC1EP11SmfProviderP10SmfContact @ 153 NONAME
+ _ZN17SmfContactFetcherC2EP11SmfProvider @ 154 NONAME
+ _ZN17SmfContactFetcherC2EP11SmfProviderP10SmfContact @ 155 NONAME
+ _ZN17SmfContactFetcherD0Ev @ 156 NONAME
+ _ZN17SmfContactFetcherD1Ev @ 157 NONAME
+ _ZN17SmfContactFetcherD2Ev @ 158 NONAME
+ _ZN18SmfActivityFetcher11qt_metacallEN11QMetaObject4CallEiPPv @ 159 NONAME
+ _ZN18SmfActivityFetcher11qt_metacastEPKc @ 160 NONAME
+ _ZN18SmfActivityFetcher13customRequestERKiP10QByteArray @ 161 NONAME
+ _ZN18SmfActivityFetcher14selfActivitiesEii @ 162 NONAME
+ _ZN18SmfActivityFetcher16resultsAvailableEP5QListI16SmfActivityEntryE8SmfError13SmfResultPage @ 163 NONAME
+ _ZN18SmfActivityFetcher16staticMetaObjectE @ 164 NONAME DATA 16
+ _ZN18SmfActivityFetcher17friendsActivitiesERK10SmfContactii @ 165 NONAME
+ _ZN18SmfActivityFetcher19customDataAvailableERKiP10QByteArray @ 166 NONAME
+ _ZN18SmfActivityFetcher19getStaticMetaObjectEv @ 167 NONAME
+ _ZN18SmfActivityFetcher8filteredE5QListI21SmfActivityObjectTypeEii @ 168 NONAME
+ _ZN18SmfActivityFetcherC1EP11SmfProvider @ 169 NONAME
+ _ZN18SmfActivityFetcherC2EP11SmfProvider @ 170 NONAME
+ _ZN18SmfActivityFetcherD0Ev @ 171 NONAME
+ _ZN18SmfActivityFetcherD1Ev @ 172 NONAME
+ _ZN18SmfActivityFetcherD2Ev @ 173 NONAME
+ _ZN18SmfPlaylistService11playlistsOfEP15SmfMusicProfileii @ 174 NONAME
+ _ZN18SmfPlaylistService11qt_metacallEN11QMetaObject4CallEiPPv @ 175 NONAME
+ _ZN18SmfPlaylistService11qt_metacastEPKc @ 176 NONAME
+ _ZN18SmfPlaylistService13addToPlaylistE11SmfPlaylistP5QListI12SmfTrackInfoE @ 177 NONAME
+ _ZN18SmfPlaylistService13customRequestERKiP10QByteArray @ 178 NONAME
+ _ZN18SmfPlaylistService15playlistUpdatedE8SmfError @ 179 NONAME
+ _ZN18SmfPlaylistService16staticMetaObjectE @ 180 NONAME DATA 16
+ _ZN18SmfPlaylistService19customDataAvailableERKiP10QByteArray @ 181 NONAME
+ _ZN18SmfPlaylistService19getStaticMetaObjectEv @ 182 NONAME
+ _ZN18SmfPlaylistService22playlistsListAvailableEP5QListI11SmfPlaylistE8SmfError13SmfResultPage @ 183 NONAME
+ _ZN18SmfPlaylistService26postCurrentPlayingPlaylistE11SmfPlaylist @ 184 NONAME
+ _ZN18SmfPlaylistService9playlistsEii @ 185 NONAME
+ _ZN18SmfPlaylistServiceC1EP11SmfProvider @ 186 NONAME
+ _ZN18SmfPlaylistServiceC2EP11SmfProvider @ 187 NONAME
+ _ZN18SmfPlaylistServiceD0Ev @ 188 NONAME
+ _ZN18SmfPlaylistServiceD1Ev @ 189 NONAME
+ _ZN18SmfPlaylistServiceD2Ev @ 190 NONAME
+ _ZN9SmfClient11GetServicesERK7QString @ 191 NONAME
+ _ZN9SmfClientC1Ev @ 192 NONAME
+ _ZN9SmfClientC2Ev @ 193 NONAME
+ _ZN9SmfClientD1Ev @ 194 NONAME
+ _ZN9SmfClientD2Ev @ 195 NONAME
+ _ZNK10SmfGallery10metaObjectEv @ 196 NONAME
+ _ZNK10SmfGallery11getProviderEv @ 197 NONAME
+ _ZNK14SmfMusicEvents10metaObjectEv @ 198 NONAME
+ _ZNK14SmfMusicEvents11getProviderEv @ 199 NONAME
+ _ZNK14SmfMusicSearch10metaObjectEv @ 200 NONAME
+ _ZNK14SmfMusicSearch11getProviderEv @ 201 NONAME
+ _ZNK14SmfRelationMgr10metaObjectEv @ 202 NONAME
+ _ZNK15SmfMusicService10metaObjectEv @ 203 NONAME
+ _ZNK15SmfMusicService11getProviderEv @ 204 NONAME
+ _ZNK15SmfPostProvider10metaObjectEv @ 205 NONAME
+ _ZNK15SmfPostProvider11getProviderEv @ 206 NONAME
+ _ZNK15SmfPostProvider14maxCharsInPostEv @ 207 NONAME
+ _ZNK15SmfPostProvider16supportedFormatsEv @ 208 NONAME
+ _ZNK15SmfPostProvider18supportsAppearenceEv @ 209 NONAME
+ _ZNK15SmfPostProvider8maxItemsEv @ 210 NONAME
+ _ZNK15SmfRelationItem10getContactEv @ 211 NONAME
+ _ZNK15SmfRelationItem11getProviderEv @ 212 NONAME
+ _ZNK15SmfRelationItem8getIndexEv @ 213 NONAME
+ _ZNK16SmfLyricsService10metaObjectEv @ 214 NONAME
+ _ZNK16SmfLyricsService11getProviderEv @ 215 NONAME
+ _ZNK17SmfContactFetcher10metaObjectEv @ 216 NONAME
+ _ZNK17SmfContactFetcher11getProviderEv @ 217 NONAME
+ _ZNK18SmfActivityFetcher10metaObjectEv @ 218 NONAME
+ _ZNK18SmfActivityFetcher11getProviderEv @ 219 NONAME
+ _ZNK18SmfPlaylistService10metaObjectEv @ 220 NONAME
+ _ZNK18SmfPlaylistService11getProviderEv @ 221 NONAME
+ _ZNK9SmfClient11errorStringERK8SmfError @ 222 NONAME
+ _ZTI10SmfGallery @ 223 NONAME
+ _ZTI14SmfMusicEvents @ 224 NONAME
+ _ZTI14SmfMusicSearch @ 225 NONAME
+ _ZTI14SmfRelationMgr @ 226 NONAME
+ _ZTI15SmfMusicService @ 227 NONAME
+ _ZTI15SmfPostProvider @ 228 NONAME
+ _ZTI16SmfClientPrivate @ 229 NONAME
+ _ZTI16SmfLyricsService @ 230 NONAME
+ _ZTI17CSmfClientSymbian @ 231 NONAME
+ _ZTI17SmfContactFetcher @ 232 NONAME
+ _ZTI17SmfGalleryPrivate @ 233 NONAME
+ _ZTI18SmfActivityFetcher @ 234 NONAME
+ _ZTI18SmfPlaylistService @ 235 NONAME
+ _ZTI21SmfMusicEventsPrivate @ 236 NONAME
+ _ZTI21SmfMusicSearchPrivate @ 237 NONAME
+ _ZTI22SmfMusicServicePrivate @ 238 NONAME
+ _ZTI22SmfPostProviderPrivate @ 239 NONAME
+ _ZTI23SmfLyricsServicePrivate @ 240 NONAME
+ _ZTI24SmfContactFetcherPrivate @ 241 NONAME
+ _ZTI25SmfActivityFetcherPrivate @ 242 NONAME
+ _ZTI25SmfPlaylistServicePrivate @ 243 NONAME
+ _ZTV10SmfGallery @ 244 NONAME
+ _ZTV14SmfMusicEvents @ 245 NONAME
+ _ZTV14SmfMusicSearch @ 246 NONAME
+ _ZTV14SmfRelationMgr @ 247 NONAME
+ _ZTV15SmfMusicService @ 248 NONAME
+ _ZTV15SmfPostProvider @ 249 NONAME
+ _ZTV16SmfClientPrivate @ 250 NONAME
+ _ZTV16SmfLyricsService @ 251 NONAME
+ _ZTV17CSmfClientSymbian @ 252 NONAME
+ _ZTV17SmfContactFetcher @ 253 NONAME
+ _ZTV17SmfGalleryPrivate @ 254 NONAME
+ _ZTV18SmfActivityFetcher @ 255 NONAME
+ _ZTV18SmfPlaylistService @ 256 NONAME
+ _ZTV21SmfMusicEventsPrivate @ 257 NONAME
+ _ZTV21SmfMusicSearchPrivate @ 258 NONAME
+ _ZTV22SmfMusicServicePrivate @ 259 NONAME
+ _ZTV22SmfPostProviderPrivate @ 260 NONAME
+ _ZTV23SmfLyricsServicePrivate @ 261 NONAME
+ _ZTV24SmfContactFetcherPrivate @ 262 NONAME
+ _ZTV25SmfActivityFetcherPrivate @ 263 NONAME
+ _ZTV25SmfPlaylistServicePrivate @ 264 NONAME
+ _ZlsR11QDataStreamRK15SmfRelationItem @ 265 NONAME
+ _ZrsR11QDataStreamR15SmfRelationItem @ 266 NONAME
+
--- a/smf/smfservermodule/smfclient/main.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/**
- * 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
- * */
-
-#include <QtCore>
-#include <QCoreApplication>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication a(argc, argv);
-
- return a.exec();
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfactivityfetcher.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,61 @@
+/**
+ * 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:
+ * Represents activity in terms similar to standard activity stream http://activitystrea.ms/
+ *
+ */
+
+#include <smfprovider.h>
+#include <smfcontact.h>
+
+#include "smfactivityfetcher.h"
+#include "smfactivityfetcher_p.h"
+
+
+SmfActivityFetcher::SmfActivityFetcher(SmfProvider *baseprovider)
+ :m_baseProvider(baseprovider)
+ {
+ //creating private impl wrapper
+ m_private = new SmfActivityFetcherPrivate(this);
+ }
+
+SmfActivityFetcher::~SmfActivityFetcher()
+ {
+ }
+
+void SmfActivityFetcher::selfActivities(int pageNum, int perPage)
+ {
+ m_private->selfActivities(pageNum,perPage);
+ }
+
+void SmfActivityFetcher::friendsActivities(const SmfContact & aFriend, int pageNum, int perPage)
+ {
+ m_private->friendsActivities(aFriend,pageNum,perPage);
+ }
+
+void SmfActivityFetcher::filtered(QList<SmfActivityObjectType> filters, int pageNum, int perPage)
+ {
+ m_private->filtered(filters,pageNum,perPage);
+ }
+
+void SmfActivityFetcher::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+SmfProvider* SmfActivityFetcher::getProvider() const
+ {
+ return m_baseProvider;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfactivityfetcher.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,110 @@
+/**
+ * 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:
+ * Represents activity in terms similar to standard activity stream http://activitystrea.ms/
+ *
+ */
+
+#ifndef SMFACTIVITYFETCHER_H_
+#define SMFACTIVITYFETCHER_H_
+
+#include <QList>
+#include <smfglobal.h>
+#include <smfactions.h>
+
+// Forward declaration
+class SmfActivityFetcherPrivate;
+class SmfProvider;
+class SmfContact;
+
+
+/**
+ * @ingroup smf_client_group
+ * Basic activity service ("org.symbian.smf.client.activity.fetcher")
+ */
+class SMFCLIENT_EXPORT SmfActivityFetcher : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfActivity.
+ * @param baseProvider The base provider info
+ */
+ SmfActivityFetcher(SmfProvider* baseprovider = 0);
+
+ /**
+ * Destructor
+ */
+ ~SmfActivityFetcher();
+
+public slots:
+ /**
+ * Emits signal resultsAvailable() when list of activities for the user is available
+ */
+ void selfActivities(int pageNum = SMF_FIRST_PAGE,int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Emits signal resultsAvailable() when list of activities for other contact is available
+ */
+ void friendsActivities(const SmfContact& aFriend, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * returns only those activities (self) which are from @arg filters
+ */
+ void filtered(QList<SmfActivityObjectType> filters, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+signals:
+ /**
+ * Signals availability of the result of the previous query
+ */
+ void resultsAvailable(SmfActivityEntryList* entries, SmfError error, SmfResultPage resultPage);
+
+ /**
+ * Signals availability of the result of the customRequest
+ */
+ void customDataAvailable( const int& operationId, QByteArray* customData );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+// Friend Class
+ friend class SmfActivityFetcherPrivate;
+
+private:
+ SmfActivityFetcherPrivate* m_private;
+ SmfProvider* m_baseProvider;
+
+ };
+
+SMF_SERVICE_NAME(SmfActivityFetcher, "org.symbian.smf.client.activity.fetcher\0.2")
+
+#endif /* SMFACTIVITYFETCHER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfactivityfetcher_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,193 @@
+/**
+ * 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 SmfActivityFetcher
+ *
+ */
+
+#include <QDebug>
+
+#include "smfactivityfetcher.h"
+#include "smfactivityfetcher_p.h"
+#ifdef Q_OS_SYMBIAN
+ #include "smfclientsymbian.h"
+#else
+ #include "smfclientqt.h"
+#endif
+
+
+SmfActivityFetcherPrivate::SmfActivityFetcherPrivate(SmfActivityFetcher *activityFetcher)
+ :m_activityFetcher(activityFetcher)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#else
+ //TODO:- Qt private impl
+#endif
+ }
+
+SmfActivityFetcherPrivate::~SmfActivityFetcherPrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+void SmfActivityFetcherPrivate::selfActivities(int pageNum, int perPage)
+ {
+ SmfProvider* m_baseProvider = m_activityFetcher->getProvider();
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ //SmfProvider
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+ //serialize end
+
+ QString intfName(activityFetcherInterface);
+ int max = MaxSmfActivityEntrySize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfActivitySelfActivity, max);
+ }
+
+void SmfActivityFetcherPrivate::friendsActivities(const SmfContact & aFriend, int pageNum, int perPage)
+ {
+ SmfProvider* m_baseProvider = m_activityFetcher->getProvider();
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ //SmfProvider
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<aFriend;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(activityFetcherInterface);
+ int max = MaxSmfActivityEntrySize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfActivityFriendsActivities, max);
+ }
+
+void SmfActivityFetcherPrivate::filtered(QList<SmfActivityObjectType> filters, int pageNum, int perPage)
+ {
+ SmfProvider* m_baseProvider = m_activityFetcher->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ //SmfProvider
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<filters;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(activityFetcherInterface);
+ int max = MaxSmfActivityEntrySize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfActivityFiltered, max);
+ }
+
+void SmfActivityFetcherPrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ SmfProvider* m_baseProvider = m_activityFetcher->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<operationId;
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(activityFetcherInterface);
+//ToDo:- How much size to allocate for custom data? keeping MaxSmfActivityEntrySize for now
+ int maxAllocation = MaxSmfActivityEntrySize;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfActivityCustomRequest, maxAllocation);
+ }
+
+void SmfActivityFetcherPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error)
+ {
+ qDebug()<<"SmfActivityFetcherPrivate::resultsAvailable";
+ qDebug()<<"opcode = "<<opcode;
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfActivitySelfActivity:
+ case SmfActivityFriendsActivities:
+ case SmfActivityFiltered:
+ {
+ SmfActivityEntryList* m_entries = new SmfActivityEntryList;
+ reader>>*m_entries;
+ qDebug()<<"m_entries.count = "<<m_entries->count();
+
+ //ToDo:- not incorporating paging now
+ SmfResultPage page;
+
+ emit m_activityFetcher->resultsAvailable(m_entries,error,page);
+ }
+ break;
+
+ case SmfActivityCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_activityFetcher->customDataAvailable(operationId, data);
+ }
+ break;
+ default:
+ Q_ASSERT_X(1,"Activity Private Unknown opcode","default case");
+ }
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfactivityfetcher_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,104 @@
+/**
+ * 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 SmfActivityFetcher
+ *
+ */
+
+#ifndef SMFACTIVITYFETCHER_P_H_
+#define SMFACTIVITYFETCHER_P_H_
+
+#include <QList>
+#include <smfglobal.h>
+#include <smfactions.h>
+#include <smfobserver.h>
+
+class SmfActivityFetcher;
+class SmfProvider;
+class SmfContact;
+#ifdef Q_OS_SYMBIAN
+ class CSmfClientSymbian;
+#else
+ class SmfClientQt;
+#endif
+
+
+class SmfActivityFetcherPrivate : public smfObserver
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfActivityFetcherPrivate.
+ */
+ SmfActivityFetcherPrivate(SmfActivityFetcher* activityFetcher);
+
+ /**
+ * Destructor
+ */
+ ~SmfActivityFetcherPrivate();
+
+ /**
+ * Emits signal resultsAvailable() when list of activities for the user is available
+ */
+ void selfActivities(int pageNum, int perPage);
+
+ /**
+ * Emits signal resultsAvailable() when list of activities for other contact is available
+ */
+ void friendsActivities(const SmfContact& aFriend, int pageNum, int perPage);
+
+ /**
+ * returns only those activities (self) which are from @arg filters
+ */
+ void filtered(QList<SmfActivityObjectType> filters, int pageNum, int perPage);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public: //From smfObserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
+
+private:
+ SmfActivityFetcher* m_activityFetcher;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ int m_argFlag;
+ //serialized byte array of provider+other info to be sent to the server
+ //The order:- SmfProvider then params in order of their appearance in fn
+ QByteArray m_serializedDataToServer;
+
+ };
+
+#endif /* SMFACTIVITYFETCHER_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclient.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,347 @@
+/**
+ * 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:
+ * The SmfClient class provides a set of APIs to get list of service provider
+ * who implement the given interface. Calling GetServices of the instance of this
+ * class is mandatory before using any other interface.
+ *
+ */
+
+#include <qdebug.h>
+
+#include "smfclient.h"
+#include "smfclient_p.h"
+
+SmfClient::SmfClient()
+ {
+ qDebug()<<"Inside SmfClient::SmfClient()";
+
+ //Create instance of the private wrapper
+ m_private = new SmfClientPrivate(this);
+ m_providerList = NULL;
+ }
+
+SmfClient::~SmfClient()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+QList<SmfProvider>* SmfClient::GetServices(const QString& serviceName)
+ {
+ qDebug()<<"Inside SmfClient::GetServices()";
+
+ if(m_providerList)
+ {
+ delete m_providerList;
+ m_providerList = NULL;
+ }
+ qDebug()<<"Before m_private->GetServices";
+
+ //Getting the data synchronously
+ m_providerList = m_private->GetServices(serviceName);
+ qDebug()<<"After m_private->GetServices";
+
+ return m_providerList;
+ }
+
+
+/**
+* This method returns the error message for the mentioned argument error code
+* @param aErrorCode The SmfError code for which the error string is required
+* @returns a QString object containing the required error message
+*/
+QString SmfClient::errorString ( const SmfError &aErrorCode ) const
+ {
+ QString str;
+ str.clear();
+
+ switch(aErrorCode)
+ {
+ case SmfNoError: //0
+ str.append("No Error");
+ break;
+
+ case SmfInvalidInterface: //1
+ str.append("Smf Error : Invalid interface name");
+ break;
+
+ case SmfNoAuthorizedPlugin: //2
+ str.append("Smf Error : No Authorised plugins are available");
+ break;
+
+ case SmfClientAuthFailed: //3
+ str.append("Smf Error : Smf Client authorisation failed");
+ break;
+
+ case SmfPMPluginNotFound: //4
+ str.append("Smf Error : Plugin not found");
+ break;
+
+ case SmfPMPluginNotLoaded: //5
+ str.append("Smf Error : Plugin could not be loaded");
+ break;
+
+ case SmfPMPluginLoadError: //6
+ str.append("Smf Error : Plugin Load failed");
+ break;
+
+ case SmfPMPluginNotAuthorised: //7
+ str.append("Smf Error : Plugin not authorised");
+ break;
+
+ case SmfPMPluginRequestCreationFailed: //8
+ str.append("Smf Error : Plugin request creation failed");
+ break;
+
+ case SmfPMPluginUnknownPluginService: //9
+ str.append("Smf Error : Requested Plugin service not supported");
+ break;
+
+ case SmfPMPluginUnknownHttpService: //10
+ str.append("Smf Error : Unknown http service requested by plugin");
+ break;
+
+ case SmfPMPluginRequestSendingFailed: //11
+ str.append("Smf Error : Request created by plugin could not be send");
+ break;
+
+ case SmfPMPluginSOPCheckFailed: //12
+ str.append("Smf Error : Same Origin Policy violation by plugin");
+ break;
+
+ case SmfPMPluginSendRequestAgain: //13
+ str.append("Smf Error : Send request again");
+ break;
+
+ case SmfPluginErrorTooManyRequest: //14
+ str.append("Plugin Error: Too many requests");
+ break;
+
+ case SmfPluginErrorRequestQuotaExceeded: //15
+ str.append("Plugin Error: Request Quota Exceeded");
+ break;
+
+ case SmfPluginErrorInvalidRequest: //16
+ str.append("Plugin Error: Invalid Request");
+ break;
+
+ case SmfPluginErrorUserNotLoggedIn: //17
+ str.append("Plugin Error: User not logged in");
+ break;
+
+ case SmfPluginErrorAuthenticationExpired: //18
+ str.append("Plugin Error: Authentication Expired");
+ break;
+
+ case SmfPluginErrorPermissionDenied: //19
+ str.append("Plugin Error: Permission denied");
+ break;
+
+ case SmfPluginErrorInvalidApplication: //20
+ str.append("Plugin Error: Request Quota Exceeded");
+ break;
+
+ case SmfPluginErrorServiceUnavailable: //21
+ str.append("Plugin Error: Service unavailable");
+ break;
+
+ case SmfPluginErrorServiceTemporaryUnavailable: //22
+ str.append("Plugin Error: Service temporarily unavailable");
+ break;
+
+ case SmfPluginErrorFormatNotSupported: //23
+ str.append("Plugin Error: Format not supported");
+ break;
+
+ case SmfPluginErrorDataSizeExceeded : //24
+ str.append("Plugin Error: Data Size exceeded");
+ break;
+
+ case SmfPluginErrorInvalidArguments: //25
+ str.append("Plugin Error: Invalid request arguments");
+ break;
+
+ case SmfPluginErrorParsingFailed: //26
+ str.append("Plugin Error: Parsing failed");
+ break;
+
+ case SmfPluginErrorNetworkError: //27
+ str.append("Plugin Error: Network Error");
+ break;
+
+ case SmfPluginErrorCancelComplete: //28
+ str.append("Smf : Operation Cancelled");
+ break;
+
+ case SmfTMConnectionRefusedError: //29
+ str.append("Network Error: Connection Refused");
+ break;
+
+ case SmfTMRemoteHostClosedError: //30
+ str.append("Network Error: Remote Host Closed");
+ break;
+
+ case SmfTMHostNotFoundError: //31
+ str.append("Network Error: Host Not Found");
+ break;
+
+ case SmfTMTimeoutError: //32
+ str.append("Network Error: Time Out");
+ break;
+
+ case SmfTMOperationCanceledError: //33
+ str.append("Network Error: Operation cancelled");
+ break;
+
+ case SmfTMSslHandshakeFailedError: //34
+ str.append("Network Error: Handshake Failed");
+ break;
+
+ case SmfTMProxyConnectionRefusedError: //35
+ str.append("Network Error: Proxy Connection Refused");
+ break;
+
+ case SmfTMProxyConnectionClosedError: //36
+ str.append("Network Error: Proxy Connection Closed");
+ break;
+
+ case SmfTMProxyNotFoundError: //37
+ str.append("Network Error: Proxy Not Found");
+ break;
+
+ case SmfTMProxyTimeoutError: //38
+ str.append("Network Error: Proxy Timeout");
+ break;
+
+ case SmfTMProxyAuthenticationRequiredError: //39
+ str.append("Network Error: Proxy Authentication Required");
+ break;
+
+ case SmfTMContentAccessDenied: //40
+ str.append("Network Error: Content Access Denied");
+ break;
+
+ case SmfTMContentOperationNotPermittedError: //41
+ str.append("Network Error: Content Operation Not Permitted");
+ break;
+
+ case SmfTMContentNotFoundError: //42
+ str.append("Network Error: Content Not Found");
+ break;
+
+ case SmfTMAuthenticationRequiredError: //43
+ str.append("Network Error: Remote Server Required Authentication");
+ break;
+
+ case SmfTMContentReSendError: //44
+ str.append("Network Error: Content Resend Error");
+ break;
+
+ case SmfTMProtocolUnknownError: //45
+ str.append("Network Error: Protocol Unknown");
+ break;
+
+ case SmfTMProtocolInvalidOperationError: //46
+ str.append("Network Error: Protocol Invalid Operation");
+ break;
+
+ case SmfTMUnknownNetworkError: //47
+ str.append("Network Error: Unknown Network Error");
+ break;
+
+ case SmfTMUnknownProxyError: //48
+ str.append("Network Error: Unknown Proxy Error");
+ break;
+
+ case SmfTMUnknownContentError: //49
+ str.append("Network Error: Unknown Content Error");
+ break;
+
+ case SmfTMProtocolFailure: //50
+ str.append("Network Error: Protocol Failure");
+ break;
+
+ case SmfTMUnknownError: //51
+ str.append("Network Error: Unknown Error");
+ break;
+
+ case SmfTMIAPChanged: //52
+ str.append("Network Error: IAP Changed");
+ break;
+
+ case SmfTMCancelled: //53
+ str.append("Network Error: Cancelled");
+ break;
+
+ case SmfTMUnsupportedContentEncodingFormat: //54
+ str.append("Smf Error: Unsupported Content Encoding Format");
+ break;
+
+ case SmfTMInitNetworkNotAvailable : //55
+ str.append("Smf Error: Network Not Available");
+ break;
+
+ case SmfTMInitRoamingNetworkUsageNotEnabled: //56
+ str.append("Smf Error: Network Usage While Roaming is Disabled");
+ break;
+
+ case SmfTMGzipMemoryError: //57
+ str.append("Smf Error: Gzip Memory Error");
+ break;
+
+ case SmfTMGzipStreamError: //58
+ str.append("Smf Error: Gzip Stream Error");
+ break;
+
+ case SmfTMGzipDataError: //59
+ str.append("Smf Error: Gzip Data Error");
+ break;
+
+ case SmfMemoryAllocationFailure: //60
+ str.append("Smf Error: Memory failed");
+ break;
+
+ case SmfDbOpeningError: //61
+ str.append("Smf Database Error: Opening Error");
+ break;
+
+ case SmfDbQueryExecutonError: //61
+ str.append("Smf Database Error: Query Error");
+ break;
+
+ case SmfDbContactNotExist: //63
+ str.append("Smf Database Error: No contacts in Database");
+ break;
+
+ case SmfErrItemNotInRelation: //64
+ str.append("Smf Error: Item not in relation");
+ break;
+
+ case SmfErrInvalidRelation: //65
+ str.append("Smf Error: Invalid relation");
+ break;
+
+ case SmfUnknownError: //66
+ default:
+ str.append("Smf Error: Unknown Error");
+ }
+
+ return str;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclient.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,87 @@
+/**
+ * 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:
+ * The SmfClient class provides a set of APIs to get list of service provider
+ * who implement the given interface. Calling GetServices of the instance of this
+ * class is mandatory before using any other interface.
+ *
+ */
+
+#ifndef SMFCLIENT_H
+#define SMFCLIENT_H
+
+#include <QObject>
+
+#include "smfclientglobal.h"
+#include "smfglobal.h"
+
+//Forward declarations
+class SmfProvider;
+class SmfClientPrivate;
+
+/**
+ * @ingroup smf_client_group
+ * Interface for a base service provider. Other service provider classes contains
+ * implementation of this base class so that each has access to service provider
+ * information.
+ * All of the functionality described here should be implemented by a service
+ * specific plug-in object.
+ */
+class SMFCLIENT_EXPORT SmfClient
+ {
+public:
+ /**
+ * Constructs SmfClient
+ */
+ SmfClient();
+
+ /**
+ * Destructor
+ */
+ ~SmfClient();
+
+ /**
+ * Method to get the list of services for a given service (interface name)
+ * @param serviceName The name of the service
+ * @return Service provider's list (ownership of memory is transferred
+ * to the calling party)
+ */
+ QList<SmfProvider>* GetServices(const QString& serviceName);
+
+ // ToDo :- More overloaded APIs will be provided later
+ //QList<SmfProvider>* GetServices(const QString& serviceName, const QString& providerName);
+ //QList<SmfProvider>* GetServices(const QString& serviceName, const SmfProvider& provider);
+
+ /**
+ * This method returns the error message for the mentioned argument error code
+ * @param aErrorCode The SmfError code for which the error string is required
+ * @returns a QString object containing the required error message
+ */
+ QString errorString ( const SmfError &aErrorCode ) const;
+
+private:
+ /**
+ * Private impl wrapper.
+ */
+ SmfClientPrivate* m_private;
+
+ /**
+ * List of SmfProvider to be returned to the requested code
+ */
+ QList<SmfProvider>* m_providerList;
+
+ };
+
+#endif // SMFCLIENT_H
--- a/smf/smfservermodule/smfclient/smfclient.pkg Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfclient/smfclient.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -1,4 +1,4 @@
-; SmfClientIntf_template.pkg generated by qmake at 2010-04-21T19:01:17
+; smfclient.pkg generated by qmake at 2010-04-21T19:01:17
; This file is generated by qmake and should not be modified by the user
;
@@ -6,7 +6,8 @@
&EN
; SIS header: name, uid, version
-#{"smfclient"},(0xE3E6303C),1,0,0
+#{"smfclient"},(0xE08059D4),1,0,0
+
; Localised Vendor name
%{"Vendor"}
@@ -22,10 +23,12 @@
[0x1028315F],0,0,0,{"S60ProductID"}
; Default dependency to Qt libraries
-(0x2001E61C), 4, 6, 1, {"Qt"}
+(0x2001E61C), 4, 6, 2, {"Qt"}
+; Default dependency to QtMobility libraries
+(0x2002AC89), 1, 0, 0, {"QtMobility"}
; Executable and default resource files
; DEPLOYMENT, shoudn't be hard coded
-"E:/Symbian/S60_5th_Edition_SDK_v1.0_2/epoc32/release/$(PLATFORM)/$(TARGET)/smfclient.dll" - "!:\sys\bin\smfclient.dll"
+"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/release/$(PLATFORM)/$(TARGET)/smfclient.dll" - "!:\sys\bin\smfclient.dll"
; Manual PKG post-rules from PRO files
--- a/smf/smfservermodule/smfclient/smfclient.pro Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfclient/smfclient.pro Thu Aug 05 16:48:48 2010 +0530
@@ -6,28 +6,76 @@
CONFIG += mobility
MOBILITY += contacts \
location
-DEFINES += WRITE_LOG \
- SMFCLIENT_LIB_EXPORT
-
-include(client/client.pri)
-include(common/common.pri)
-
-!symbian {
+DEFINES += SMFCLIENT_LIB_EXPORT
+PUBLIC_HEADERS += smfclient.h \
+ smfcontactfetcher.h \
+ smfpostprovider.h \
+ smfgallery.h \
+ smfrelationmgr.h \
+ smfmusic.h \
+ smfactivityfetcher.h
+PRIVATE_HEADERS += smfclient_p.h \
+ smfcontactfetcher_p.h \
+ smfpostprovider_p.h \
+ smfgallery_p.h \
+ smfrelationmgr_p.h \
+ smfmusic_p.h \
+ smfactivityfetcher_p.h
+SOURCES += \
+ smfrelationmgr_p.cpp \
+ smfrelationmgr.cpp \
+ smfgallery.cpp \
+ smfgallery_p.cpp \
+ smfpostprovider.cpp \
+ smfpostprovider_p.cpp \
+ smfmusic.cpp \
+ smfclient.cpp \
+ smfclient_p.cpp \
+ smfcontactfetcher.cpp \
+ smfcontactfetcher_p.cpp \
+ smfmusic_p.cpp \
+ smfactivityfetcher.cpp \
+ smfactivityfetcher_p.cpp
+HEADERS += $$PUBLIC_HEADERS \
+ $$PRIVATE_HEADERS
+!symbian {
include(../../desktop.pri)
LIBS += -lqjson
}
-
-HEADERS += $$PUBLIC_HEADERS \
- $$PRIVATE_HEADERS
symbian: {
TARGET.UID3 = 0xE08059D4
TARGET.CAPABILITY = NetworkServices \
- ReadUserData \
+ ReadUserData \
WriteUserData \
LocalServices \
UserEnvironment \
ReadDeviceData \
WriteDeviceData
TARGET.EPOCALLOWDLLDATA = 1
- LIBS += -lqjson.dll
+ LIBS += -lsmfcommon
+ BLD_INF_RULES.prj_exports += smfclient.h
+ BLD_INF_RULES.prj_exports += smfclient_p.h
+ BLD_INF_RULES.prj_exports += smfcontactfetcher.h
+ BLD_INF_RULES.prj_exports += smfcontactfetcher_p.h
+ BLD_INF_RULES.prj_exports += smfclientsymbian.h
+ BLD_INF_RULES.prj_exports += smfclientsymbiansession.h
+ BLD_INF_RULES.prj_exports += smfpostprovider.h
+ BLD_INF_RULES.prj_exports += smfpostprovider_p.h
+ BLD_INF_RULES.prj_exports += smfgallery.h
+ BLD_INF_RULES.prj_exports += smfgallery_p.h
+ BLD_INF_RULES.prj_exports += smfrelationmgr.h
+ BLD_INF_RULES.prj_exports += smfrelationmgr_p.h
+ BLD_INF_RULES.prj_exports += smfmusic.h
+ BLD_INF_RULES.prj_exports += smfmusic_p.h
+ BLD_INF_RULES.prj_exports += smfactivityfetcher.h
+ BLD_INF_RULES.prj_exports += smfactivityfetcher_p.h
}
+symbian: {
+ PUBLIC_HEADERS += smfclientsymbian.h \
+ smfclientsymbiansession.h
+ SOURCES += smfclientsymbian.cpp
+}
+else {
+ PRIVATE_HEADERS += smfclientqt.h
+ SOURCES += smfclientqt.cpp
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclient_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,68 @@
+/**
+ * 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
+ *
+ * Private Qt wrapper
+ */
+
+#include <qdebug.h>
+
+#include "smfclient_p.h"
+
+SmfClientPrivate::SmfClientPrivate(SmfClient* client):m_client(client)
+ {
+ qDebug()<<"Inside SmfClientPrivate::SmfClientPrivate()";
+
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#else
+ m_SmfClientPrivate = new SmfClientQt(this);
+#endif
+ }
+
+
+QList<SmfProvider>* SmfClientPrivate::GetServices(const QString serviceName)
+ {
+ qDebug()<<"Inside SmfClientPrivate::GetServices()";
+ m_baseProvider = NULL;
+
+ QString intfName(serviceName);
+ m_providerSerialized.clear();
+
+ //Getting the serialized list of SmfProvider synchronously
+ //TODO:- Max size for SmfProviderList 1000
+ qDebug()<<"Before m_SmfClientPrivate->sendRequest";
+ QByteArray notused;
+ m_providerSerialized = m_SmfClientPrivate->sendSyncRequest(intfName,SmfGetService,1000, notused);
+
+ if(m_baseProvider)
+ {
+ delete m_baseProvider;
+ m_baseProvider = NULL;
+ }
+ m_baseProvider = new QList<SmfProvider>;
+
+ //De-serialize it into QList<SmfProvider>
+ QDataStream reader(&m_providerSerialized,QIODevice::ReadOnly);
+ reader>>*(m_baseProvider);
+ return m_baseProvider;
+ }
+
+//This api is not reqd as result will be synchronous
+void SmfClientPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
+ {
+ Q_UNUSED(result)
+ Q_UNUSED(opcode)
+ Q_UNUSED(error)
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclient_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,93 @@
+/**
+ * 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
+ *
+ * Private Qt wrapper
+ */
+
+#ifndef SMFCLIENT_P_H_
+#define SMFCLIENT_P_H_
+
+#include <QObject>
+#include <QDateTime>
+#include <QStringList>
+
+#include "smfclient.h"
+#include "smfclientglobal.h"
+#include "smfglobal.h"
+#include "smfprovider.h"
+#include "smfobserver.h"
+#ifdef Q_OS_SYMBIAN
+ #include "smfclientsymbian.h"
+#else
+ #include "smfclientqt.h"
+#endif
+
+
+/**
+ * Private Qt wrapper
+ * Provided to accomodate diff facilities in diff platforms.
+ * Uses Symbian client-server for Symbian
+ * QDbus for linux
+ * QLocalserver for rest of the platforms
+ * Note:- only symbian client-server impl is provided at the moment
+ */
+class SmfClientPrivate : public smfObserver
+{
+ Q_OBJECT
+
+public:
+
+ /**
+ * Constructs SmfClientPrivate
+ * @param client SmfClient instance, so that it can directly emit SmfClient's signal
+ */
+ SmfClientPrivate(SmfClient* client = 0);
+
+ /**
+ * Destructor
+ */
+ ~SmfClientPrivate(){};
+
+public:
+ /**
+ * Corresponds to SmfClient::GetServices(const QString )
+ */
+ QList<SmfProvider>* GetServices(const QString serviceName);
+
+ /**
+ * From smfobserver.
+ * This callback is invoked when requested result is available from
+ * other components of Smf (specially from plugin manager).
+ * @param result Parsed and serialized result.
+ * @param opcode Request code.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
+
+private:
+ SmfClient* m_client;
+ QList<SmfProvider>* m_baseProvider;
+ QByteArray m_providerSerialized; // serialized byte array of provider
+
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+
+ };
+
+#endif /* SMFCLIENT_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclientqt.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,116 @@
+/**
+ * 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
+ */
+
+#include "smfclientqt.h"
+
+SmfClientQt::SmfClientQt(QObject *parent)
+ : QObject(parent)
+{
+ m_serverConnection = new QLocalSocket();
+
+ connect(m_serverConnection, SIGNAL(connected()), this, SLOT(connectionEstablished()));
+ connect(m_serverConnection, SIGNAL(readyRead()), this, SLOT(readIncomingData()));
+ connect(m_serverConnection, SIGNAL(error(QLocalSocket::LocalSocketError)),
+ this, SLOT(handleError(QLocalSocket::LocalSocketError)));
+
+ m_serverConnection->connectToServer("SmfServerQt", QIODevice::ReadWrite);
+}
+
+SmfClientQt::~SmfClientQt()
+{
+ m_serverConnection->close();
+ delete m_serverConnection;
+}
+
+/**
+ * Send a request to the server.
+ * @param aSerializedData serialized by the caller.
+ * @param aInterfaceName Interface name
+ * @param requestType Opcode
+ */
+int SmfClientQt::sendRequest(QByteArray& serializedData, QString interfaceName,
+ SmfRequestTypeID requestType)
+{
+ QDataStream out(m_serverConnection);
+ out << requestType;
+ out << interfaceName;
+ out << serializedData.size();
+ out << serializedData;
+}
+
+/**
+ * This overloaded API is for ESmfGetServices, where data should be
+ * fetched synchronously
+ */
+QByteArray SmfClientQt::sendRequest(QString interfaceName,
+ SmfRequestTypeID requestType)
+{
+ QDataStream out(m_serverConnection);
+ out << requestType;
+ out << interfaceName;
+
+ // TODO: This needs to be asynchronous. Remove this wait when user API is updated.
+ m_serverConnection->waitForBytesWritten(-1);
+
+ QByteArray in;
+ out >> in;
+ return in;
+}
+
+/**
+ * For testing purpose only
+ */
+int SmfClientQt::sendDummyRequest(QByteArray* provider,QString aInterfaceName,
+ SmfRequestTypeID requestType)
+{
+ Q_UNUSED(provider);
+ Q_UNUSED(aInterfaceName);
+ Q_UNUSED(requestType);
+ // ToDo :-
+}
+
+/**
+* CancelRequest.
+* Cancels an outstanding request.
+*/
+void SmfClientQt::CancelRequest()
+{
+// ToDo :-
+}
+
+void SmfClientQt::connectionEstablished()
+{
+ qDebug() << "Connected to server successfully.";
+ // ToDo :-
+}
+
+void SmfClientQt::readIncomingData()
+{
+ // ToDo :-
+}
+
+void SmfClientQt::handleError(QLocalSocket::LocalSocketError error)
+{
+ switch(error)
+ {
+ case QLocalSocket::ServerNotFoundError:
+ qDebug() << "Server not found.";
+ break;
+
+ default:
+ qDebug() << "Unhandled socket error";
+ break;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclientqt.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,74 @@
+/**
+ * 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
+ */
+
+#ifndef SMFCLIENTQT_H
+#define SMFCLIENTQT_H
+
+#include <QObject>
+#include <QByteArray>
+#include <QString>
+#include <QLocalSocket>
+
+#include "smfglobal.h"
+
+class SmfClientQt : public QObject
+ {
+Q_OBJECT
+
+public:
+ explicit SmfClientQt(QObject *parent = 0);
+
+ ~SmfClientQt();
+
+public:
+ /**
+ * Send a request to the server.
+ * @param aSerializedData serialized by the caller.
+ * @param aInterfaceName Interface name
+ * @param requestType Opcode
+ */
+ int sendRequest(QByteArray& aSerializedData,
+ QString aInterfaceName,
+ SmfRequestTypeID requestType);
+
+ /**
+ * This overloaded API is for ESmfGetServices, where data should be
+ * fetched synchronously
+ */
+ QByteArray sendRequest(QString aInterfaceName,
+ SmfRequestTypeID requestType);
+
+ /**
+ * For testing purpose only
+ */
+ int sendDummyRequest(QByteArray* provider,QString aInterfaceName,
+ SmfRequestTypeID requestType);
+
+ /**
+ * CancelRequest.
+ * Cancels an outstanding request.
+ */
+ void CancelRequest();
+
+private slots:
+ void connectionEstablished();
+ void readIncomingData();
+ void handleError(QLocalSocket::LocalSocketError error);
+
+private:
+ QLocalSocket *m_serverConnection;
+ };
+
+#endif // SMFCLIENTQT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclientsymbian.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,543 @@
+/**
+ * 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
+ */
+
+
+#include <e32cmn.h>
+#include <QtGlobal>
+#include <e32svr.h>
+#include <e32base.h>
+#include <QByteArray>
+#include <qdebug.h>
+
+#include "smfclientsymbian.h"
+
+// Function Declaration - For starting the server process
+static TInt StartServerL();
+static TInt CreateServerProcessL();
+
+
+CSmfClientSymbian* CSmfClientSymbian::NewL(smfObserver* aObserver )
+ {
+ CSmfClientSymbian* self = NewLC( aObserver );
+ CleanupStack::Pop( self );
+ return( self ) ;
+ }
+
+CSmfClientSymbian* CSmfClientSymbian::NewLC(smfObserver* aObserver )
+ {
+ CSmfClientSymbian* self = new ( ELeave ) CSmfClientSymbian( aObserver );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+CSmfClientSymbian::CSmfClientSymbian(smfObserver* aObserver)
+ : iObserver(aObserver),
+ CActive( EPriorityStandard ),
+ iDataPtr(NULL, 0, 0)
+ {
+ CActiveScheduler::Add(this);
+ }
+
+void CSmfClientSymbian::ConstructL()
+ {
+ qDebug()<<"Inside CSmfClientSymbian::ConstructL()";
+ User::LeaveIfError(iSession.connectToServer());
+ }
+
+CSmfClientSymbian::~CSmfClientSymbian()
+ {
+ qDebug()<<"~CSmfClientSymbian";
+ Cancel(); // Causes call to DoCancel()
+ iSession.Close();
+ }
+
+void CSmfClientSymbian::DoCancel()
+ {
+ Cancel();
+ }
+
+TInt CSmfClientSymbian::RunError(TInt aError)
+ {
+ qDebug()<<"Inside CSmfClientSymbian::RunError(), error = "<<aError;
+ return KErrNone;
+ }
+
+void CSmfClientSymbian::RunL()
+ {
+ qDebug()<<"Inside CSmfClientSymbian::RunL()";
+ qDebug()<<"iStatus = "<<iStatus.Int();
+
+ switch ( iStatus.Int() )
+ {
+ case KErrCancel:
+ // The request was canceled
+ qDebug()<<"KErrCancel";
+ break ;
+
+ case KErrNotReady:
+ qDebug()<<"KErrNotReady";
+ break;
+
+ default:
+ {
+ qDebug()<<"RunL :- default";
+ //This contains error followed by actual data
+ QByteArray receivedData(reinterpret_cast<const char*>(iSession.iDataPtr8.Ptr()),iSession.iDataPtr8.Length());
+ qDebug()<<"receivedData size = "<<receivedData.size();
+
+ SmfError errVal;
+ int errInt;
+ QByteArray data;
+ QDataStream reader(&receivedData,QIODevice::ReadOnly);
+ reader>>errInt;
+ qDebug()<<"errInt = "<<errInt;
+
+ errVal = (SmfError)errInt;
+ reader>>data;
+ qDebug()<<"data size = "<<data.size();
+
+ SmfRequestTypeID opcode = (SmfRequestTypeID)iSession.getLastRequest();
+ if(iObserver)
+ {
+ iObserver->resultsAvailable(data,opcode,errVal);
+ }
+ }
+ break;
+ }
+ }
+
+// Sync request for server other than getservices
+QByteArray CSmfClientSymbian::sendRequest(QString aInterfaceName,
+ SmfRequestTypeID requestType,
+ TInt aMaxAllocation,
+ QByteArray& aSerializedData)
+ {
+ qDebug()<<"Inside CSmfClientSymbian::sendRequest() for intf = "<<aInterfaceName;
+
+ //Gets data synchronously from the server
+ TPtr8 symbianBuf(iSession.sendSyncRequest(aInterfaceName,requestType, aMaxAllocation, aSerializedData));
+ //convert this into bytearray
+ QByteArray receivedData(reinterpret_cast<const char*>(symbianBuf.Ptr()),symbianBuf.Length());
+ return receivedData;
+ }
+
+QByteArray CSmfClientSymbian::sendSyncRequest(QString aInterfaceName,
+ SmfRequestTypeID requestType,TInt maxSize,
+ QByteArray& aSerializedData )
+ {
+ //This will be a synchronous request
+ //note session is opened in ctor and closed in dtor
+ qDebug()<<"Inside CSmfClientSymbian::sendSyncRequest()";
+ qDebug()<<"Interface name = "<<aInterfaceName;
+
+ //Gets data synchronously from the server
+ TPtr8 symbianBuf(iSession.sendSyncRequest(aInterfaceName,requestType,maxSize, aSerializedData));
+ //convert this into bytearray
+ QByteArray receivedData(reinterpret_cast<const char*>(symbianBuf.Ptr()),symbianBuf.Length());
+ return receivedData;
+ }
+
+QByteArray CSmfClientSymbian::sendDSMSyncRequest(SmfRequestTypeID requestType,QByteArray& aSerializedData,SmfError& aErr,TInt maxSize)
+ {
+ Q_UNUSED(aErr)
+
+ qDebug()<<"CSmfClientSymbian::sendDSMSyncRequest for : "<<requestType;
+ SmfError err = SmfNoError;
+ //Gets data synchronously from the server
+ TPtr8 symbianBuf(iSession.sendDSMSyncRequest(requestType,aSerializedData,err,maxSize));
+ //convert this into bytearray
+ QByteArray receivedData(reinterpret_cast<const char*>(symbianBuf.Ptr()),symbianBuf.Length());
+ qDebug()<<"receivedData size="<<receivedData.size();
+ return receivedData;
+ }
+
+TInt CSmfClientSymbian::sendRequest( QByteArray& aSerializedData, QString aInterfaceName,
+ SmfRequestTypeID requestType, TInt aMaxAllocation)
+ {
+ //RSessionBase objects sendreceive is called
+ iSession.sendAsyncRequest(aSerializedData,aInterfaceName,requestType,iStatus,aMaxAllocation);
+ SetActive();
+
+ return KErrNone;
+ }
+
+
+
+
+RSmfClientSymbianSession::RSmfClientSymbianSession()
+ :iDataPtr8(NULL, 0, 0),iDataPtr16(NULL,0),
+ iIntfNamePtr(NULL,0),iIntfNamePtr8(NULL,0),
+ iPtrProvider(NULL,0),iPtrProvider8(NULL,0),
+ iPtrToXtraInfo8(NULL,0),iPtrToXtraInfo(NULL, 0),
+ iPtr8ToSlot0(NULL,0)
+ {
+ // No implementation required
+ }
+
+TInt RSmfClientSymbianSession::connectToServer()
+ {
+ qDebug()<<"Inside RSmfClientSymbianSession::connectToServer()";
+
+ TInt error = ::StartServerL();
+ qDebug()<<"StartServerL = "<<error;
+
+ if ( KErrNone == error )
+ {
+ error = CreateSession(KSmfServerName,
+ Version(),
+ 4 ); // 4 slots used
+ qDebug()<<"CreateSession = "<<error;
+ }
+ return error;
+ }
+
+TPtr8 RSmfClientSymbianSession::sendSyncRequest(QByteArray& aSerializedData,
+ QString aInterfaceName, SmfRequestTypeID aRequestType, TInt maxSize)
+ {
+ qDebug()<<"Inside RSmfClientSymbianSession::sendSyncRequest() for plugins";
+ qDebug()<<"iInterfaceName = "<<aInterfaceName;
+ iLastRequest = aRequestType;
+ /**
+ * The message body consists of.-
+ * 1. Serialized data to server SmfProvider+page information+extra information
+ * 2. Interface name as string ("org.symbian.smf.client.gallery")
+ * 3. Data pointer to be filled by serialized data(QList<smfProvider>)
+ * 4. Xtra information if any
+ */
+ if(iProviderBuf8)
+ {
+ delete iProviderBuf8;
+ iProviderBuf8 = NULL;
+ }
+ iProviderBuf8 = HBufC8::NewL(aSerializedData.size());
+ iPtrProvider8.Set(iProviderBuf8->Des());
+ iPtrProvider8.Copy(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
+
+ //convert the QByteArray into TPtr
+ TPtrC8 ptrSlot0(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
+ qDebug()<<"ptrSlot0 size = "<<ptrSlot0.Size();
+
+
+ iInterfaceNamebyte.clear();
+ //Pass serialized QString for interface name
+ QDataStream intfNameStream(&iInterfaceNamebyte,QIODevice::WriteOnly);
+ intfNameStream<<aInterfaceName;
+ qDebug()<<"iInterfaceNamebyte size = "<<iInterfaceNamebyte.size();
+ if(iIntfNameBuffer8)
+ {
+ delete iIntfNameBuffer8;
+ iIntfNameBuffer8 = NULL;
+ }
+ iIntfNameBuffer8 = HBufC8::NewL(iInterfaceNamebyte.size());
+ iIntfNamePtr8.Set(iIntfNameBuffer8->Des());
+ iIntfNamePtr8.Copy(reinterpret_cast<const TText8*>(iInterfaceNamebyte.constData()),iInterfaceNamebyte.length());
+ qDebug()<<"After iIntfNamePtr8.Copy";
+
+ if(iBuffer8)
+ {
+ delete iBuffer8;
+ iBuffer8 = NULL;
+ }
+ iBuffer8 = HBufC8::NewL(maxSize);
+ iDataPtr8.Set(iBuffer8->Des());
+ qDebug()<<"After iDataPtr8.Set";
+
+ TIpcArgs args;
+
+ //filling the slots
+ args.Set(0, &iPtrProvider8);
+ args.Set(1, &iIntfNamePtr8);
+ args.Set(2, &iDataPtr8);
+ qDebug()<<"After setting 0,1,2 slots";
+
+ TInt err(KErrBadHandle);
+ qDebug()<<"Before handle";
+ if (Handle())
+ {
+ err = KErrNone;
+ qDebug()<<"Before sendreceive";
+ //synchronous request
+ TInt sendErr = SendReceive(aRequestType, args);
+ if(sendErr)
+ qDebug()<<"SendReceive error = "<<sendErr;
+ }
+ return iDataPtr8;
+ }
+
+
+
+TPtr8 RSmfClientSymbianSession::sendSyncRequest(QString aInterfaceName,
+ SmfRequestTypeID aRequestType,
+ TInt maxSize,
+ QByteArray& aSerializedData)
+ {
+ qDebug()<<"Inside RSmfClientSymbianSession::sendSyncRequest()";
+ qDebug()<<"aInterfaceName = "<<aInterfaceName;
+
+ iLastRequest = aRequestType;
+ /**
+ * The message body consists of.-
+ * slot 0 = SmfProvider + argument flag + argument + etc
+ * slot 1 = Interface name serialized
+ * slot 2 = Data pointer to be filled by server
+ * slot 3 = not used now
+ */
+
+ //Convert the interface name into TPtr
+ //lets pass serialized QString
+ iInterfaceNamebyte.clear();
+ QDataStream intfNameStream(&iInterfaceNamebyte,QIODevice::WriteOnly);
+ intfNameStream<<aInterfaceName;
+ qDebug()<<"iInterfaceNamebyte size = "<<iInterfaceNamebyte.size();
+ if(iIntfNameBuffer8)
+ {
+ delete iIntfNameBuffer8;
+ iIntfNameBuffer8 = NULL;
+ }
+ iIntfNameBuffer8 = HBufC8::NewL(iInterfaceNamebyte.size());
+ iIntfNamePtr8.Set(iIntfNameBuffer8->Des());
+ iIntfNamePtr8.Copy(reinterpret_cast<TUint8*>(iInterfaceNamebyte.data()),iInterfaceNamebyte.length());
+ qDebug()<<"iIntfNamePtr8 size = "<<iIntfNamePtr8.Size();
+
+ if(iBuffer8)
+ {
+ delete iBuffer8;
+ iBuffer8 = NULL;
+ }
+ qDebug()<<"Allocated for output = "<<maxSize;
+ iBuffer8 = HBufC8::NewL(maxSize);
+ iDataPtr8.Set(iBuffer8->Des());
+ qDebug()<<"After iDataPtr8.Set";
+
+ if(iProviderBuf8)
+ {
+ delete iProviderBuf8;
+ iProviderBuf8 = NULL;
+ }
+ iProviderBuf8 = HBufC8::NewL(aSerializedData.size());
+ iPtrProvider8.Set(iProviderBuf8->Des());
+ iPtrProvider8.Copy(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
+
+ //convert the QByteArray into TPtr
+ TPtrC8 ptrSlot0(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
+ qDebug()<<"ptrSlot0 size = "<<ptrSlot0.Size();
+
+ TIpcArgs args;
+ args.Set(0, &iPtrProvider8);
+ args.Set(1, &iIntfNamePtr8);
+ args.Set(2, &iDataPtr8);
+
+ TInt err(KErrBadHandle);
+ qDebug()<<"Before handle";
+ if (Handle())
+ {
+ err = KErrNone;
+ qDebug()<<"Before sendreceive";
+ TInt sendErr = SendReceive(aRequestType, args);
+ if(sendErr)
+ qDebug()<<"SendReceive error = "<<sendErr;
+ }
+ return iDataPtr8;
+ }
+
+/**
+ * Sends sync DSM request to the Smf server
+ */
+TPtr8 RSmfClientSymbianSession::sendDSMSyncRequest(SmfRequestTypeID aRequestType,
+ QByteArray& aSerializedData, SmfError aErr, TInt maxSize)
+ {
+ /**
+ * Slot 0:- Data to be passed to DSM
+ * Slot 1:- Data returned from DSM
+ * Slot 2:- Error
+ */
+ qDebug()<<"Inside RSmfClientSymbianSession::sendDSMSyncRequest()";
+ iLastRequest = aRequestType;
+ if(iSlot0Buffer8)
+ {
+ delete iSlot0Buffer8;
+ iSlot0Buffer8 = NULL;
+ }
+ iSlot0Buffer8 = HBufC8::NewL(aSerializedData.size());
+ iPtr8ToSlot0.Set(iSlot0Buffer8->Des());
+
+ if(iBuffer8)
+ {
+ delete iBuffer8;
+ iBuffer8 = NULL;
+ }
+ iBuffer8 = HBufC8::NewL(maxSize);
+ iDataPtr8.Set(iBuffer8->Des());
+
+ TIpcArgs args;
+ args.Set(0, &iPtr8ToSlot0);
+ args.Set(1, &iDataPtr8);
+ iDSMErr.Zero();
+ args.Set(2,&iDSMErr);
+
+ TInt sendErr = SendReceive(aRequestType,args);
+ qDebug()<<"DSM SendReceive = "<<sendErr;
+ TInt numIndex;
+ TLex iLex(iDSMErr);
+
+ iLex.Val(numIndex);
+ aErr = (SmfError)numIndex;
+ return iDataPtr8;
+ }
+
+/**
+ * sendAsyncRequest()
+ * Calls SendReceive() after converting into symbian descriptors
+ */
+void RSmfClientSymbianSession::sendAsyncRequest(QByteArray& aSerializedData,
+ QString aInterfaceName,
+ SmfRequestTypeID aRequestType,
+ TRequestStatus& aStatus,
+ TInt aMaxAllocation )
+ {
+ /**
+ * The message body consists of.-
+ * slot 0 = SmfProvider + argument flag + argument + etc
+ * slot 1 = Interface name serialized
+ * slot 2 = Data pointer to be filled by server
+ * slot 3 = not used now
+ */
+ qDebug()<<"Inside RSmfClientSymbianSession::sendAsyncRequest()";
+ qDebug()<<"iInterfaceName = "<<aInterfaceName;
+ iLastRequest = aRequestType;
+
+ if(iProviderBuf8)
+ {
+ delete iProviderBuf8;
+ iProviderBuf8 = NULL;
+ }
+ iProviderBuf8 = HBufC8::NewL(aSerializedData.size());
+ iPtrProvider8.Set(iProviderBuf8->Des());
+ iPtrProvider8.Copy(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
+
+ //convert the QByteArray into TPtr
+ TPtrC8 ptrSlot0(reinterpret_cast<const TText8*>(aSerializedData.constData()),aSerializedData.length());
+ qDebug()<<"ptrSlot0 size = "<<ptrSlot0.Size();
+
+ //Convert the interface name into TPtr
+ //Pass serialized QString for interface name
+ iInterfaceNamebyte.clear();
+ QDataStream intfNameStream(&iInterfaceNamebyte,QIODevice::WriteOnly);
+ intfNameStream<<aInterfaceName;
+ qDebug()<<"iInterfaceNamebyte size = "<<iInterfaceNamebyte.size();
+ if(iIntfNameBuffer8)
+ {
+ delete iIntfNameBuffer8;
+ iIntfNameBuffer8 = NULL;
+ }
+ iIntfNameBuffer8 = HBufC8::NewL(iInterfaceNamebyte.size());
+ iIntfNamePtr8.Set(iIntfNameBuffer8->Des());
+ iIntfNamePtr8.Copy(reinterpret_cast<const TText8*>(iInterfaceNamebyte.constData()),iInterfaceNamebyte.length());
+ qDebug()<<"After iIntfNamePtr8.Copy";
+
+ if(iBuffer8)
+ {
+ delete iBuffer8;
+ iBuffer8 = NULL;
+ }
+ iBuffer8 = HBufC8::NewL(aMaxAllocation);
+ iDataPtr8.Set(iBuffer8->Des());
+ qDebug()<<"After iDataPtr.Set";
+
+
+ TIpcArgs args;
+
+ //filling the slots
+ args.Set(0, &iPtrProvider8);
+ args.Set(1, &iIntfNamePtr8);
+ args.Set(2, &iDataPtr8);
+ qDebug()<<"After setting 0,1,2 slots";
+
+ TInt err(KErrBadHandle);
+ qDebug()<<"Before Handle()";
+ if (Handle())
+ {
+ err = KErrNone;
+ qDebug()<<"Before sendreceive";
+ SendReceive(aRequestType, args, aStatus);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CreateServerProcessL()
+// Creates a server process
+// -----------------------------------------------------------------------------
+//
+static TInt CreateServerProcessL()
+ {
+ TInt result;
+ TUid KSmfServerUID3 = { 0xE5027327 };
+ const TUidType serverUid( KNullUid, KNullUid, KSmfServerUID3 );
+
+ RProcess server;
+
+ result = server.Create( KSmfServerFilename, KNullDesC, serverUid );
+ if ( result != KErrNone )
+ {
+ return result;
+ }
+
+ server.Resume();
+ server.Close();
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// StartServerL()
+// Starts the server - Internally creates a server process
+// -----------------------------------------------------------------------------
+//
+static TInt StartServerL()
+ {
+ TInt result;
+
+ TFindServer findSmfServer( KSmfServerFilename );
+ TFullName name;
+
+ result = findSmfServer.Next( name );
+
+ if ( result == KErrNone )
+ {
+ // Server already running
+ return KErrNone;
+ }
+
+ RSemaphore semaphore;
+ result = semaphore.CreateGlobal( KSmfServerSemaphoreName, 0 );
+
+ if ( result != KErrNone )
+ {
+ return result;
+ }
+
+ result = CreateServerProcessL();
+ qDebug()<<"CreateServerProcessL = "<<result;
+
+ if ( result != KErrNone )
+ {
+ return result;
+ }
+
+ semaphore.Wait();
+ semaphore.Close();
+
+ return KErrNone;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclientsymbian.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,168 @@
+/**
+ * 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
+ *
+ * Describes the classes that implement the symbian client part of Smf server.
+ * Private client implementation for Symbian.
+ *
+ */
+
+#ifndef SMFCLIENTSYMBIAN_H_
+#define SMFCLIENTSYMBIAN_H_
+
+#include <e32base.h>
+#include <e32cmn.h>
+#include <QStringList>
+#include <smfglobal.h>
+#include <smfobserver.h>
+#include <smfprovider.h>
+
+#include "smfclientsymbiansession.h"
+
+/**
+ * Private client implementation for Symbian.
+ */
+class CSmfClientSymbian : public CActive
+{
+
+public: // Constructors and destructors
+ /**
+ * Two phase contruction - NewL
+ * @param aObserver For callback
+ */
+ static CSmfClientSymbian* NewL(smfObserver* aObserver=NULL);
+
+ /**
+ * Two phase contruction - NewLC
+ * @param aObserver For callback
+ */
+ static CSmfClientSymbian* NewLC(smfObserver* aObserver);
+
+ /**
+ * Destructor.
+ * Destroys the object and release all memory objects.
+ */
+ virtual ~CSmfClientSymbian();
+
+public:
+ /**
+ * This overloaded API is for Synchronous calls to plugin APIs
+ * @param aSerializedData serialized by the caller.
+ * @param aInterfaceName Interface name
+ * @param requestType Opcode
+ * @param aMaxAllocation Max data size that is allocated in the client side for
+ * receiving this data
+ * @return QByteArray
+ */
+ QByteArray sendRequest(QString aInterfaceName, SmfRequestTypeID requestType,
+ TInt aMaxAllocation, QByteArray& aSerializedData);
+
+ /**
+ * This API is for Synchronous calls to server
+ * @param aInterfaceName Interface name
+ * @param requestType Opcode
+ * @param maxSize Max data size that is allocated in the client side for
+ * receiving this data
+ * @param aSerializedData serialized by the caller.
+ * @return QByteArray
+ */
+ QByteArray sendSyncRequest ( QString aInterfaceName,
+ SmfRequestTypeID requestType, TInt maxSize,
+ QByteArray &aSerializedData );
+
+ /**
+ * For sending request specific to DSM. These are used by SmfRelationMngr API
+ * @param requestType Opcode
+ * @param aSerializedData Data to be passed to DSM through server, interpretation
+ * depends on Relation manager and DSM
+ * @maxSize Size to be allocated in the client side
+ * @return Data received from server, interpretation depends on SmfRelationMngr and DSM
+ */
+ QByteArray sendDSMSyncRequest ( SmfRequestTypeID requestType,
+ QByteArray& aSerializedData, SmfError& aErr, TInt maxSize = 10 );
+
+ /**
+ * Calls SendReceive (Asynchronous) of the RSessionBase object.
+ * @param aSerializedData serialized by the caller.
+ * @param aInterfaceName Interface name
+ * @param requestType Opcode
+ * @param aMaxAllocation Max data size that is allocated in the
+ * client side for receiving this data
+ * @param xtraInfo XtraInfo when required by server other than smfProvider
+ */
+ TInt sendRequest( QByteArray& aSerializedData, QString aInterfaceName,
+ SmfRequestTypeID requestType, TInt aMaxAllocation );
+
+ /**
+ * CancelRequest.
+ * Cancels an outstanding request.
+ */
+ void CancelRequest() ;
+
+protected: // Functions from the base class CActive
+ /**
+ * From CActive, RunL.
+ * Callback function.
+ * Invoked to handle responses from the server.
+ */
+ void RunL();
+
+ /**
+ * From CActive, DoCancel.
+ * Cancels any outstanding operation.
+ */
+ void DoCancel();
+
+ /**
+ * From CActive, RunError.
+ */
+ TInt RunError(TInt aError);
+
+private: // Constructors
+ /**
+ * CSmfClientSymbian.
+ * Performs the first phase of two phase construction.
+ */
+ CSmfClientSymbian(smfObserver* aObserver);
+
+ /**
+ * ConstructL.
+ * Performs the second phase construction of a
+ * CSmfClientSymbian object.
+ */
+ void ConstructL();
+
+private: // Data
+ /**
+ * iSession, the server session.
+ */
+ RSmfClientSymbianSession iSession;
+
+ /**
+ * For callback, when the client gets serviced by the server
+ */
+ smfObserver* iObserver;
+
+ //Interface name, to be passed to the server
+ TBuf<128> iInterfaceName;
+ QString iInterfaceNameQt;
+ //Data ptr
+ TPtr iDataPtr;
+ //Bytearray
+ QByteArray* iBytearray;
+ HBufC* iBuffer;
+ TInt iMaxMessageSize;
+
+ };
+
+#endif /* SMFCLIENTSYMBIAN_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfclientsymbiansession.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,146 @@
+/**
+ * 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
+ */
+
+#ifndef SMFCLIENTSYMBIANSESSION_H_
+#define SMFCLIENTSYMBIANSESSION_H_
+
+#include <e32cmn.h>
+#include <QByteArray>
+#include <QString>
+#include <QVariant>
+#include <QList>
+#include <smfglobal.h>
+
+/**
+ * Corresponds to client session in Symbian
+ */
+class RSmfClientSymbianSession : public RSessionBase
+{
+public:
+ /**
+ * Constructs
+ */
+ RSmfClientSymbianSession();
+
+ /**
+ * Creates the server process if not already running and creates session
+ * @return Error code while creating server process/ creating session
+ */
+ TInt connectToServer();
+
+ /**
+ * Version
+ */
+ TVersion Version() const{return TVersion(0,0,1);};
+
+ void Close(){};
+
+ bool isConnected();
+
+ bool connected;
+
+ /**
+ * Calls SendReceive with requestType opcode and packaged data
+ * depending on requestType
+ */
+ TInt sendRequest(SmfRequestTypeID requestType);
+
+ /**
+ * Sends sync request to the Smf server - overloaded
+ */
+ TPtr8 sendSyncRequest(QByteArray& aSerializedData,
+ QString aInterfaceName,
+ SmfRequestTypeID aRequestType,
+ TInt maxSize);
+
+ /**
+ * Sends DSM related sync request to the Smf server
+ */
+ TPtr8 sendDSMSyncRequest(SmfRequestTypeID aRequestType,
+ QByteArray& aSerializedData,
+ SmfError aErr, TInt maxSize = 0 );
+
+ /**
+ * Sends synchronous requests to the Smf server
+ */
+ TPtr8 sendSyncRequest( QString aInterfaceName,
+ SmfRequestTypeID aRequestType,
+ TInt maxSize, QByteArray& aSerializedData );
+
+ /**
+ * Sends async request to the Smf server
+ * @param aSerializedData Serialized data to be sent to the server.
+ * Consists of provider Info(SmfProvider*)+ Other common class data
+ * (when applicable)-serialized
+ * @param aInterfaceName Name of the interface
+ * @param aStatus TRequestStatus
+ * @param maxSize Size of the data to be allocated. This info is sent to the server
+ */
+ void sendAsyncRequest(QByteArray& aSerializedData,
+ QString aInterfaceName, SmfRequestTypeID aRequestType,
+ TRequestStatus& aStatus, TInt aMaxAllocation);
+
+ /**
+ * Returns data,used to return back the data received from server
+ */
+ TPtr8 getData()
+ {
+ return iDataPtr8;
+ }
+
+ TInt getLastRequest()
+ {
+ return iLastRequest;
+ }
+ TPtr8 iDataPtr8;
+ TPtr iDataPtr16;
+private:
+ /**
+ * Following are to form message body.
+ */
+ QByteArray iBaseProvider;
+ TBuf8<525> iProviderSymbian;
+ TBuf<125> iInterfaceSymbian;
+ TBuf8<125> iInterfaceSymbian8;
+ QString iInterfaceName;
+ HBufC* iIntfNameBuffer;
+ TPtr iIntfNamePtr;
+ HBufC* iBuffer16;
+ TPtr iPtrToXtraInfo;
+ TPtr iPtrProvider;
+ QByteArray iInterfaceNamebyte;
+ TBuf<100> iDSMErr;
+ HBufC8* iProviderBuf8;
+ TPtr8 iPtrProvider8;
+ HBufC8* iIntfNameBuffer8;
+ TPtr8 iIntfNamePtr8;
+ HBufC8* iBuffer8;
+ HBufC8* iXtraInfoBuf8;
+ TPtr8 iPtrToXtraInfo8;
+ HBufC8* iSlot0Buffer8;
+ TPtr8 iPtr8ToSlot0;
+ TInt iMaxMessageSize;
+ TInt iMaxSize;
+ /**
+ * Last request opcode
+ */
+ TInt iLastRequest;
+
+private:
+ QList<QVariant*> result;
+
+ };
+
+#endif /* SMFCLIENTSYMBIANSESSION_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfcontactfetcher.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,93 @@
+/**
+ * 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:
+ * The SmfContactFetcher class is for fetching SmfContact related info
+ *
+ */
+
+#include "smfcontactfetcher.h"
+#include "smfcontactfetcher_p.h"
+
+SmfContactFetcher::SmfContactFetcher(SmfProvider* baseProvider)
+ {
+ m_baseProvider = baseProvider;
+
+ //creating private impl wrapper
+ m_private = new SmfContactFetcherPrivate(this);
+ }
+
+SmfContactFetcher::SmfContactFetcher(SmfProvider* baseProvider, SmfContact* contact)
+ {
+ m_baseProvider = baseProvider;
+ m_frndContact = contact;
+
+ //creating private impl wrapper
+ m_private = new SmfContactFetcherPrivate(this);
+ }
+
+SmfContactFetcher::~SmfContactFetcher()
+ {
+ if(m_baseProvider)
+ {
+ delete m_baseProvider;
+ m_baseProvider = NULL;
+ }
+ if(m_frndContact)
+ {
+ delete m_frndContact;
+ m_frndContact = NULL;
+ }
+ /** @TODO:- Request to unload the plugin*/
+ }
+
+bool SmfContactFetcher::friends(int pageNum,int perPage)
+ {
+ return m_private->friends(pageNum,perPage);
+ }
+
+bool SmfContactFetcher::followers(int pageNum,int perPage)
+ {
+ return m_private->followers(pageNum,perPage);
+ }
+
+void SmfContactFetcher::search(SmfContact* contact,int pageNum,int perPage)
+ {
+ m_private->search(contact,pageNum,perPage);
+ }
+
+bool SmfContactFetcher::searchNear(SmfLocation* location,SmfLocationSearchBoundary proximity,int pageNum,int perPage)
+ {
+ return m_private->searchNear(location, proximity, pageNum, perPage);
+ }
+
+bool SmfContactFetcher::groups(int pageNum,int perPage)
+ {
+ return m_private->groups(pageNum,perPage);
+ }
+
+bool SmfContactFetcher::searchInGroup(SmfGroup group,int pageNum,int perPage)
+ {
+ return m_private->searchInGroup(group,pageNum,perPage);
+ }
+
+void SmfContactFetcher::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+SmfProvider* SmfContactFetcher::getProvider() const
+ {
+ return m_baseProvider;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfcontactfetcher.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,258 @@
+/**
+ * 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:
+ * The SmfContactFetcher class is for fetching SmfContact related info
+ *
+ */
+
+#ifndef SMFCONTACTHETCHER_H
+#define SMFCONTACTHETCHER_H
+
+#include <QObject>
+#include <smfglobal.h>
+#include <smfcontact.h>
+#include <smflocation.h>
+#include <smfgroup.h>
+
+// Forward declaration
+class SmfProvider; //base-class for service provider
+
+/**
+ * @ingroup smf_client_group
+ * Interface to search for contacts/connections from a service provider. This class
+ * provides basic functionality to allow applications to obtain list of
+ * contacts or friends in a social networking service.
+ * Note that to get the base provider info like service name, icon, description etc
+ * use getProvider().
+ * See also:
+ * SmfProvider::serviceName(), SmfProvider::serviceIcon(), SmfProvider::description()
+ *
+ * All of the functionality described here should be implemented by a service
+ * specific plug-in object.
+ * Interface name:- org.symbian.smf.client.contact.fetcher
+ */
+class SMFCLIENT_EXPORT SmfContactFetcher : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs the SmfContactFetcher.
+ * @param parent base provider info
+ * Seeing as this is a plug-in implementation, these will realistically
+ * be generated by SMF factory of some kind
+ */
+ SmfContactFetcher( SmfProvider* baseProvider );
+
+ /**
+ * Constructs the SmfContactFetcher.
+ * @param parent base provider info
+ * @param contact Used for searching friends of the given contact
+ * Seeing as this is a plug-in implementation, these will realistically
+ * be generated by SMF factory of some kind
+ */
+ SmfContactFetcher( SmfProvider* baseProvider, SmfContact* contact );
+
+ /**
+ * Destructor
+ */
+ ~SmfContactFetcher();
+
+public:
+ /**
+ * Get the friend listing asynchronously. The friendsListAvailable() signal
+ * is emitted with SmfContactList once data is arrived. When the list is big,
+ * user can specify the page number and per page item data. If not supplied
+ * by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+ bool friends ( int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Get the list of followers asynchronously. The followersListAvailable() signal
+ * is emitted with SmfContactList once data is arrived. Please note that some
+ * service may not support followers/fans - FALSE is returned if not supported.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+ bool followers ( int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Searches for a contact The searchContactFinished() signal
+ * is emitted with SmfContactList once data is arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param contact The contact to be searched. The serach criteria must be
+ * set as one of its fields.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void search ( SmfContact* contact, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Searches for a contacts (friends) who are near the user. The signal
+ * searchNearFinished() is emitted with SmfContactList once data is arrived.
+ * Proximity defines accuracy level. When the list is big user can specify
+ * the page number and per page item data. If not supplied by the user
+ * default values are used.
+ * @param location The location information
+ * @param proximity The search boundary criteria
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ bool searchNear ( SmfLocation* location,
+ SmfLocationSearchBoundary proximity,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Get the list of groups. The groupListAvailable() signal is emitted with
+ * SmfGroupList once data is arrived. False might be returned if this service
+ * doesn't support any mode of grouping (very rare). When the list is big,
+ * user can specify the page number and per page item data. If not supplied
+ * by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ bool groups ( int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Searches for Smf Contacts in an Smf group. The signal searchInGroupFinished()
+ * is emitted with SmfContactList once data is arrived. When the list is big user
+ * can specify the page number and per page item data. If not supplied by the
+ * user default values are used.
+ * @param group The group to be searched in
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+ bool searchInGroup ( SmfGroup group,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+signals:
+
+ /**
+ * This signal is emitted when a request to get friends is completed.
+ * Note if number of friends is large, then it can download the list
+ * page by page. In that case this signal is emitted multiple times.
+ * @param list list of friends. Ownership of memory is transferred.
+ * @param error error value
+ * @param resultPage Page number info
+ * @see friends()
+ */
+ void friendsListAvailable ( SmfContactList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * This signal is emitted when a request to get followers is completed
+ * Note if number of followers is large, then it can download the list
+ * page by page. In that case this signal is emitted multiple times.
+ * @param list list of followers. Ownership of memory is transferred.
+ * @param error error value
+ * @param resultPage Page number info
+ * @see followers()
+ */
+ void followersListAvailable ( SmfContactList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * This signal is emitted when search for a contact is finished.
+ * Note if number of contacts in the search is large, then it can download
+ * the list page by page. In that case this signal is emitted multiple times.
+ * @param list List of filtered contacts. Ownership of memory is transferred.
+ * @param resultPage Page number info
+ * @see search()
+ */
+ void searchContactFinished ( SmfContactList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Emitted when search for contacts who are near a geographic location, is finished.
+ * Note if number of contacts in the search is large, then it can download the list page by page
+ * In that case this signal is emitted multiple times.
+ * @param list List of filtered contacts. Ownership of memory is transferred.
+ * @param resultPage Page number info
+ * @see search()
+ */
+ void searchNearFinished(SmfContactList* list,SmfError error, SmfResultPage resultPage);
+
+ /**
+ * This signal is emitted when a request to get groups is completed
+ * Note if number of groups is large, then it can download the list
+ * page by page. In that case this signal is emitted multiple times.
+ * @param list list of groups. Ownership of memory is transferred.
+ * @param error error value
+ * @param resultPage Page number info
+ * @see groups()
+ */
+ void groupListAvailable ( SmfGroupList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Emitted when search for a contact in a group is finished
+ * Note if number of contacts in the search is large, then it can download the list page by page
+ * In that case this signal is emitted multiple times.
+ * @param list list of filtered contacts. Ownership of memory is transferred.
+ * @param resultPage Page number info
+ * @see searchInGroup()
+ */
+ void searchInGroupFinished(SmfContactList* list,SmfError error, SmfResultPage resultPage);
+
+ /**
+ * Emitted when custom data is available
+ * @param operationId Requested operation id
+ * @param customData Custom data received, interpretation is not the responsibility
+ * of Smf. Ownership of memory is transferred.
+ */
+ void customDataAvailable ( int operationId, QByteArray* customData );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+// Friend Class declaration
+ //so that private impl can directly call emit
+ friend class SmfContactFetcherPrivate;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfContact* m_frndContact; //used for searching
+ SmfContactFetcherPrivate* m_private; //private impl wrapper
+
+ };
+
+SMF_SERVICE_NAME(SmfContactFetcher, "org.symbian.smf.client.contact.fetcher\0.2")
+
+#endif // SMFCONTACTHETCHER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfcontactfetcher_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,457 @@
+/**
+ * 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 Qt wrapper for SmfContactFetcher
+ *
+ */
+
+#include <qdebug.h>
+
+#include "smfcontactfetcher.h"
+#include "smfcontactfetcher_p.h"
+#ifdef Q_OS_SYMBIAN
+ #include "smfclientsymbian.h"
+#else
+ #include "smfclientqt.h"
+#endif
+
+/**
+ * Constructor
+ * @param contactFetcher The SmfContactFetcher instance
+ */
+SmfContactFetcherPrivate::SmfContactFetcherPrivate ( SmfContactFetcher* contactFetcher )
+ : m_contactFetcher(contactFetcher)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#endif
+ }
+
+/**
+ * Destructor
+ */
+SmfContactFetcherPrivate::~SmfContactFetcherPrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+/**
+ * Get the friend listing asynchronously. The friendsListAvailable() signal
+ * is emitted with SmfContactList once data is arrived. When the list is big,
+ * user can specify the page number and per page item data. If not supplied
+ * by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+bool SmfContactFetcherPrivate::friends(int pageNum,int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ m_argFlag = 1;
+ SmfProvider* m_baseProvider = m_contactFetcher->getProvider();
+
+ //serialize start
+ m_dataSerialized.clear();
+ QDataStream write(&m_dataSerialized,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(contactFetcherInterface);
+ int maxAllocation = MaxSmfContactSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_dataSerialized, intfName,
+ SmfContactGetFriends, maxAllocation);
+
+ return true;
+ }
+
+/**
+ * Get the list of followers asynchronously. The followersListAvailable() signal
+ * is emitted with SmfContactList once data is arrived. Please note that some
+ * service may not support followers/fans - FALSE is returned if not supported.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+bool SmfContactFetcherPrivate::followers(int pageNum,int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_contactFetcher->getProvider();
+
+ //serialize start
+ m_dataSerialized.clear();
+ QDataStream write(&m_dataSerialized,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(contactFetcherInterface);
+ int maxAllocation = MaxSmfContactSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_dataSerialized, intfName,
+ SmfContactGetFollowers, maxAllocation);
+
+ return true;
+ }
+
+/**
+ * Searches for a contact The searchContactFinished() signal
+ * is emitted with SmfContactList once data is arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param contact The contact to be searched. The serach criteria must be
+ * set as one of its fields.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+void SmfContactFetcherPrivate::search(SmfContact* contact,int pageNum,int perPage)
+ {
+ //We need to pass Opcode and SmfProvider+SmfContact serialized into bytearray
+ SmfProvider* m_baseProvider = m_contactFetcher->getProvider();
+ m_dataSerialized.clear();
+ //serialize start
+ QDataStream write(&m_dataSerialized,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ if(contact)
+ {
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<*contact;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<pageNum;
+
+ QString intfName(contactFetcherInterface);
+ int maxAllocation = MaxSmfContactSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_dataSerialized, intfName,
+ SmfContactSearch, maxAllocation);
+ }
+
+/**
+ * Searches for a contacts (friends) who are near the user. The signal
+ * searchNearFinished() is emitted with SmfContactList once data is arrived.
+ * Proximity defines accuracy level. When the list is big user can specify
+ * the page number and per page item data. If not supplied by the user
+ * default values are used.
+ * @param location The location information
+ * @param proximity The search boundary criteria
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+bool SmfContactFetcherPrivate::searchNear(SmfLocation* location,
+ SmfLocationSearchBoundary proximity,
+ int pageNum,int perPage)
+ {
+ SmfProvider* m_baseProvider = m_contactFetcher->getProvider();
+ m_dataSerialized.clear();
+
+ //serialize start
+ QDataStream write(&m_dataSerialized,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ if(location)
+ {
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<*location;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+ write<<m_argFlag;
+ write<<proximity;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(contactFetcherInterface);
+ int maxAllocation = MaxSmfContactSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_dataSerialized, intfName,
+ SmfContactSearchNear, maxAllocation);
+
+ return true;
+ }
+
+/**
+ * Get the list of groups. The groupListAvailable() signal is emitted with
+ * SmfGroupList once data is arrived. False might be returned if this service
+ * doesn't support any mode of grouping (very rare). When the list is big,
+ * user can specify the page number and per page item data. If not supplied
+ * by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+bool SmfContactFetcherPrivate::groups(int pageNum,int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_contactFetcher->getProvider();
+ m_dataSerialized.clear();
+
+ //serialize start
+ QDataStream write(&m_dataSerialized,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(contactFetcherInterface);
+ int maxAllocation = MaxSmfGroupSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_dataSerialized, intfName,
+ SmfContactGetGroups, maxAllocation);
+
+ return true;
+ }
+
+/**
+ * Searches for Smf Contacts in an Smf group. The signal searchInGroupFinished()
+ * is emitted with SmfContactList once data is arrived. When the list is big user
+ * can specify the page number and per page item data. If not supplied by the
+ * user default values are used.
+ * @param group The group to be searched in
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+bool SmfContactFetcherPrivate::searchInGroup(SmfGroup group,int pageNum,int perPage)
+ {
+ //We need to pass Opcode and SmfProvider+SmfGroup serialized into bytearray
+ SmfProvider* m_baseProvider = m_contactFetcher->getProvider();
+
+ //serialize start
+ m_dataSerialized.clear();
+ QDataStream write(&m_dataSerialized,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<group;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(contactFetcherInterface);
+ int maxAllocation = MaxSmfContactSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_dataSerialized, intfName,
+ SmfContactSearchInGroup, maxAllocation);
+
+ return true;
+ }
+
+/**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+void SmfContactFetcherPrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ //We need to pass Opcode and SmfProvider+SmfGroup serialized into bytearray
+ SmfProvider* m_baseProvider = m_contactFetcher->getProvider();
+
+ //serialize start
+ m_dataSerialized.clear();
+ QDataStream write(&m_dataSerialized,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(contactFetcherInterface);
+//ToDo:- How much size to allocate for custom data? keeping MaxSmfContactSize for now
+ int maxAllocation = MaxSmfContactSize;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_dataSerialized, intfName,
+ SmfContactCustomRequest, maxAllocation);
+ }
+
+/**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+void SmfContactFetcherPrivate::resultsAvailable(QByteArray result,
+ SmfRequestTypeID opcode,SmfError error)
+ {
+ qDebug()<<"SmfContactFetcherPrivate::resultsAvailable";
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfContactGetFriends:
+ {
+ SmfContactList* m_contactList = new SmfContactList;
+ reader>>*m_contactList;
+ qDebug()<<"m_contactList.count = "<<m_contactList->count();
+
+ //TODO:-After consulting with PM owner decide page serialization
+ SmfResultPage page;
+
+ emit m_contactFetcher->friendsListAvailable(m_contactList,error,page);
+ }
+ break;
+
+ case SmfContactGetFollowers:
+ {
+ SmfContactList* m_contactList = new SmfContactList;
+ reader>>*(m_contactList);
+ qDebug()<<"m_contactList.count = "<<m_contactList->count();
+
+ //TODO:-After consulting with PM owner decide page serialization
+ SmfResultPage page;
+
+ emit m_contactFetcher->followersListAvailable(m_contactList,error,page);
+ }
+ break;
+
+ case SmfContactSearch:
+ {
+ SmfContactList* m_contactList = new SmfContactList;
+ reader>>*(m_contactList);
+ qDebug()<<"m_contactList.count = "<<m_contactList->count();
+
+ /** @TODO:-After consulting with PM owner decide page serialization */
+ SmfResultPage page;
+
+ emit m_contactFetcher->searchContactFinished(m_contactList,error,page);
+ }
+ break;
+
+ case SmfContactSearchNear:
+ {
+ SmfContactList* m_contactList = new SmfContactList;
+ reader>>*(m_contactList);
+ qDebug()<<"m_contactList.count = "<<m_contactList->count();
+
+ /** @TODO:-After consulting with PM owner decide page serialization*/
+ SmfResultPage page;
+
+ emit m_contactFetcher->searchNearFinished(m_contactList,error,page);
+ }
+ break;
+
+ case SmfContactGetGroups:
+ {
+ qDebug()<<"Before reader>>m_grpList";
+ SmfGroupList *m_grpList = new SmfGroupList;
+ reader>>*(m_grpList);
+
+ /** @TODO:-After consulting with PM owner decide page serialization */
+ SmfResultPage page;
+
+ qDebug()<<"m_grpList.count = "<<m_grpList->count();
+ emit m_contactFetcher->groupListAvailable(m_grpList,error,page);
+ }
+ break;
+
+ case SmfContactSearchInGroup:
+ {
+ SmfContactList* m_contactList = new SmfContactList;
+ reader>>*(m_contactList);
+
+ //TODO:-After consulting with PM owner decide page serialization
+ SmfResultPage page;
+
+ qDebug()<<"m_contactList.count = "<<m_contactList->count();
+
+ emit m_contactFetcher->searchInGroupFinished(m_contactList,error,page);
+ }
+ break;
+
+ case SmfContactCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_contactFetcher->customDataAvailable(operationId, data);
+ }
+ break;
+
+ default:
+ qDebug()<<"default - Contact Private Unknown opcode";
+ User::Panic(_L("Contact Private Unknown opcode = "),opcode);
+ }
+ }
+
+QDataStream &operator<<( QDataStream &aDataStream, const SmfError &err )
+ {
+ quint32 errInt = (quint32)err;
+ aDataStream<<errInt;
+ return aDataStream;
+ }
+
+
+QDataStream &operator>>( QDataStream &aDataStream, SmfError &err )
+ {
+ quint32 errInt;
+ aDataStream>>errInt;
+ err = (SmfError)errInt;
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfcontactfetcher_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,183 @@
+/**
+ * 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 Qt wrapper for SmfContactFetcher
+ *
+ */
+
+#ifndef SMFCLIENTPRIVATE_H_
+#define SMFCLIENTPRIVATE_H_
+
+#include <smfprovider.h>
+#include <smfclientglobal.h>
+#include <smfglobal.h>
+#include <smfobserver.h>
+#include <smflocation.h>
+#include <smfgroup.h>
+
+// Forward Declaration
+class SmfProvider;
+class SmfContact;
+class SmfContactFetcher;
+#ifdef Q_OS_SYMBIAN
+ class CSmfClientSymbian;
+#else
+ class SmfClientQt;
+#endif
+
+
+/**
+ * Private Qt wrapper
+ * Provided to accomodate diff facilities in diff platforms.
+ * Uses Symbian client-server for Symbian
+ * QDbus for linux
+ * QLocalserver for rest of the platforms
+ * Note:- only symbian client-server impl is provided at the moment
+ **/
+class SmfContactFetcherPrivate : public smfObserver
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructor
+ * @param contactFetcher The SmfContactFetcher instance
+ */
+ SmfContactFetcherPrivate ( SmfContactFetcher* contactFetcher = 0 );
+
+ /**
+ * Destructor
+ */
+ ~SmfContactFetcherPrivate();
+ //Note we need to expose the methods later through some macro
+
+public:
+ /**
+ * Get the friend listing asynchronously. The friendsListAvailable() signal
+ * is emitted with SmfContactList once data is arrived. When the list is big,
+ * user can specify the page number and per page item data. If not supplied
+ * by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+ bool friends ( int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Get the list of followers asynchronously. The followersListAvailable() signal
+ * is emitted with SmfContactList once data is arrived. Please note that some
+ * service may not support followers/fans - FALSE is returned if not supported.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+ bool followers ( int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Searches for a contact The searchContactFinished() signal
+ * is emitted with SmfContactList once data is arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param contact The contact to be searched. The serach criteria must be
+ * set as one of its fields.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void search ( SmfContact* contact, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Searches for a contacts (friends) who are near the user. The signal
+ * searchNearFinished() is emitted with SmfContactList once data is arrived.
+ * Proximity defines accuracy level. When the list is big user can specify
+ * the page number and per page item data. If not supplied by the user
+ * default values are used.
+ * @param location The location information
+ * @param proximity The search boundary criteria
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ bool searchNear ( SmfLocation* location,
+ SmfLocationSearchBoundary proximity,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Get the list of groups. The groupListAvailable() signal is emitted with
+ * SmfGroupList once data is arrived. False might be returned if this service
+ * doesn't support any mode of grouping (very rare). When the list is big,
+ * user can specify the page number and per page item data. If not supplied
+ * by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ bool groups ( int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Searches for Smf Contacts in an Smf group. The signal searchInGroupFinished()
+ * is emitted with SmfContactList once data is arrived. When the list is big user
+ * can specify the page number and per page item data. If not supplied by the
+ * user default values are used.
+ * @param group The group to be searched in
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @return true if success, else false
+ */
+ bool searchInGroup ( SmfGroup group,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public: //from smfobserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable ( QByteArray result,
+ SmfRequestTypeID opcode, SmfError error );
+
+private:
+ SmfContactFetcher* m_contactFetcher;
+ QByteArray m_dataSerialized; //serialized byte array of provider and data
+ //QByteArray m_xtraInfoSerialized; //serialized xtra info, order of serialization follows order of param
+ quint8 m_argFlag;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+
+ };
+
+QDataStream &operator<<( QDataStream &aDataStream, const SmfError &err );
+QDataStream &operator>>( QDataStream &aDataStream, SmfError &err );
+
+#endif /* SMFCLIENTPRIVATE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfgallery.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,129 @@
+/**
+ * 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:
+ * The SmfGallery class
+ *
+ */
+
+#include "smfgallery.h"
+#include "smfgallery_p.h"
+
+
+SmfGallery::SmfGallery(SmfProvider* baseprovider):m_baseProvider(baseprovider)
+ {
+ //creating private impl wrapper
+ m_private = new SmfGalleryPrivate(this);
+ }
+
+SmfGallery::~SmfGallery()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+/**
+ * Get the album listing asynchronously. The albumsAvailable() signal is
+ * emitted with SmfPictureAlbumList once the albums have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param names the subject or any keywords to be used to filter albums with that name
+ * @param user the user whose albums are requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+void SmfGallery::albums(QStringList names, SmfContact* user, int pageNum, int perPage)
+ {
+ m_private->albums(names,user, pageNum, perPage);
+ }
+
+/**
+ * Get the picture listing asynchronously. The picturesAvailable() signal is
+ * emitted with SmfPictureList once the pictures have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param albums album(s) whose pictures are being requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+void SmfGallery::pictures(SmfPictureAlbumList &albums, int pageNum, int perPage)
+ {
+ m_private->pictures( albums, pageNum, perPage);
+ }
+
+
+/**
+ * Returns a user title/caption for the picture
+ */
+void SmfGallery::description ( SmfPicture& picture )
+ {
+ m_private->description(picture);
+ }
+
+/**
+ * Upload an image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param image the image to be uploaded
+ * @param album the optional destination album name
+ */
+void SmfGallery::upload(SmfPicture* image, SmfPictureAlbum* album)
+ {
+ m_private->upload(image,album);
+ }
+
+/**
+ * Upload an list image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param images the list image to be uploaded
+ * @param album the optional destination album name
+ */
+void SmfGallery::upload(SmfPictureList* images, SmfPictureAlbum* album)
+ {
+ m_private->upload(images,album);
+ }
+
+/**
+ * Posts a comment for an image. uploadFinished() signal is emitted
+ * with success of the post once comment is posted.
+ * @param image Image to comment on
+ * @param comment Comment to post
+ */
+void SmfGallery::postComment(SmfPicture image, SmfComment comment)
+ {
+ m_private->postComment(image,comment);
+ }
+
+/**
+ * Request for a custom operation.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+void SmfGallery::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+/**
+* Gets the base provider info
+*/
+SmfProvider* SmfGallery::getProvider() const
+ {
+ return m_baseProvider;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfgallery.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,188 @@
+/**
+ * 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:
+ * The SmfGallery class
+ *
+ */
+
+#ifndef SMFGALLERY_H
+#define SMFGALLERY_H
+
+#include <QObject>
+#include <smfglobal.h>
+#include <smfclientglobal.h>
+#include <smfpicture.h>
+#include <smfpicturealbum.h>
+
+class SmfGalleryPrivate;
+class SmfProvider;
+class SmfContact;
+class SmfComment;
+
+/**
+ * @ingroup smf_client_group
+ * Interface to a remote gallery service. This class
+ * provides some basic gallery functionality to allow applications
+ * to interact with a picture gallery in a social network.
+ *
+ * Note that branding information for the particular service implementation
+ * is available from getProvider() API. See also:
+ * SmfProvider::serviceName(), SmfProvider::serviceIcon()
+ *
+ * All of the functionality described here should be implemented by a service
+ * specific plug-in object.
+ * Interface name for SmfGallery org.symbian.smf.client.gallery
+ */
+class SMFCLIENT_EXPORT SmfGallery : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfGallery.
+ * @param baseProvider The base provider info
+ */
+ SmfGallery(SmfProvider* baseprovider);
+
+ /**
+ * Destructor
+ */
+ ~SmfGallery();
+
+public slots:
+ /**
+ * Get the album listing asynchronously. The albumsAvailable() signal is
+ * emitted with SmfPictureAlbumList once the albums have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param names the subject or any keywords to be used to filter albums with that name
+ * @param user the user whose albums are requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void albums ( QStringList names, SmfContact* user,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Get the picture listing asynchronously. The picturesAvailable() signal is
+ * emitted with SmfPictureList once the pictures have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param albums album(s) whose pictures are being requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void pictures ( SmfPictureAlbumList &albums,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Returns a user title/caption for the picture
+ */
+ void description ( SmfPicture& picture );
+
+public slots:
+ /**
+ * Upload an image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param image the image to be uploaded
+ * @param album the optional destination album name
+ */
+ void upload ( SmfPicture* image, SmfPictureAlbum* album = NULL );
+
+ /**
+ * Upload an list image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param images the list image to be uploaded
+ * @param album the optional destination album name
+ */
+ void upload ( SmfPictureList* images, SmfPictureAlbum* album = NULL );
+
+ /**
+ * Posts a comment for an image. uploadFinished() signal is emitted
+ * with success of the post once comment is posted.
+ * @param image Image to comment on
+ * @param comment Comment to post
+ */
+ void postComment ( SmfPicture image, SmfComment comment );
+
+ /**
+ * Request for a custom operation.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+signals:
+ /**
+ * Notification on arrival of list of SmfPictureAlbum as a result of call to @ref albums().
+ * @param pics Picture list
+ * @param error Error string
+ * @param resultPage Page number info
+ */
+ void albumsAvailable ( SmfPictureAlbumList* albums,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Notification on arrival of list of SmfPicture as a result of request.
+ * Note if number of friends is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * through pictures().
+ * @param pics Picture list
+ * @param error Error string
+ * @param resultPage Page number info
+ */
+ void picturesAvailable ( SmfPictureList* pics,
+ SmfError error, SmfResultPage resultPage );
+
+ void descriptionAvailable( QString desc, SmfError error );
+
+ /**
+ * Notification of the success of the uploading of image/comment
+ * @param error The upload success result of each individual pictures
+ */
+ void uploadFinished ( QList<SmfError> error );
+
+ /**
+ * Emitted when custom data is available
+ * @param operationId Requested operation id
+ * @param customData Custom data received, interpretation is not the responsibility of Smf
+ */
+ void customDataAvailable ( int operationId, QByteArray* customData );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+// Friend Class
+ //friend so that it can directly emit SmfPostProvider's signal
+ friend class SmfGalleryPrivate;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfGalleryPrivate* m_private; //private impl wrapper
+
+ };
+
+SMF_SERVICE_NAME(SmfGallery, "org.symbian.smf.client.gallery\0.2")
+
+#endif // SMFGALLERY_H
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfgallery_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,402 @@
+/**
+ * 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 for SmfGallery class
+ *
+ */
+
+#include <qdebug.h>
+#include <smfprovider.h>
+#include <smfcontact.h>
+#include <smfcomment.h>
+
+#include "smfgallery.h"
+#include "smfgallery_p.h"
+#ifdef Q_OS_SYMBIAN
+ #include "smfclientsymbian.h"
+#else
+ #include "SmfClientQt.h"
+#endif
+
+SmfGalleryPrivate::SmfGalleryPrivate(SmfGallery* gallery)
+ : m_gallery(gallery)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#endif
+ }
+
+SmfGalleryPrivate::~SmfGalleryPrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+/**
+ * Get the album listing asynchronously. The albumsAvailable() signal is
+ * emitted with SmfPictureAlbumList once the albums have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param names the subject or any keywords to be used to filter albums with that name
+ * @param user the user whose albums are requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+void SmfGalleryPrivate::albums(QStringList names, SmfContact* user, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_gallery->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<names;
+ if(user)
+ {
+ write<<m_argFlag;
+ write<<*user;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(galleryInterface);
+ int maxalloc = MaxSmfPictureAlbumSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfPictureGetAlbums, maxalloc);
+ }
+
+
+/**
+ * Get the picture listing asynchronously. The picturesAvailable() signal is
+ * emitted with SmfPictureList once the pictures have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param albums album(s) whose pictures are being requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+void SmfGalleryPrivate::pictures(SmfPictureAlbumList &albums,int pageNum,int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_gallery->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<albums;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(galleryInterface);
+ int maxalloc = MaxSmfPictureSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfPictureGetPictures, maxalloc);
+ }
+
+/**
+ * Returns a user title/caption for the picture
+ */
+void SmfGalleryPrivate::description ( SmfPicture& picture )
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_gallery->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<picture;
+
+ QString intfName(galleryInterface);
+ // ToDo :- Setting max limit of description string as 1000
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfPictureDescription, maxalloc);
+ }
+
+/**
+ * Upload an image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param image the image to be uploaded
+ * @param album the optional destination album name
+ */
+void SmfGalleryPrivate::upload(SmfPicture* image, SmfPictureAlbum* album)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_gallery->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ if(image)
+ {
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<*image;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ if(album)
+ {
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<*album;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(galleryInterface);
+ int maxalloc = 100; // ToDo:- limit set as 100
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfPictureUpload, maxalloc);
+ }
+
+/**
+ * Upload an list image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param images the list image to be uploaded
+ * @param album the optional destination album name
+ */
+void SmfGalleryPrivate::upload(SmfPictureList* images, SmfPictureAlbum* album)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ m_serializedDataToServer.clear();
+ SmfProvider* m_baseProvider = m_gallery->getProvider();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ if(images)
+ {
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<*images;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ if(album)
+ {
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<*album;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(galleryInterface);
+ int maxalloc = 1000; // ToDo:- limit set as 1000
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfPictureMultiUpload, maxalloc);
+ }
+
+/**
+ * Posts a comment for an image. uploadFinished() signal is emitted
+ * with success of the post once comment is posted.
+ * @param image Image to comment on
+ * @param comment Comment to post
+ */
+void SmfGalleryPrivate::postComment(SmfPicture image, SmfComment comment)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_gallery->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<image;
+ write<<m_argFlag;
+ write<<comment;
+
+ QString intfName(galleryInterface);
+ int maxalloc = 100; // ToDo:- limit set as 100
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfPicturePostComment, maxalloc);
+ }
+
+/**
+ * Request for a custom operation.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+void SmfGalleryPrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_gallery->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(galleryInterface);
+ //ToDo:- How much size to allocate for custo data? keeping MaxSmfPictureSize for now
+ int maxAlloc = MaxSmfPictureSize;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfPictureCustomRequest, maxAlloc);
+ }
+
+
+/**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+void SmfGalleryPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
+ {
+ qDebug()<<"SmfGalleryPrivate::resultsAvailable";
+ qDebug()<<"opcode = "<<opcode;
+
+ //note:- "result" is serialized and we need to de-serialize it as per opcode
+ //Order of serialization Error value followed by data
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfPictureGetAlbums:
+ {
+ qDebug()<<"fOR ALBUMS LIST";
+ SmfPictureAlbumList* m_albums = new SmfPictureAlbumList;
+ reader>>*(m_albums);
+ qDebug()<<" Albums count = "<<m_albums->count();
+
+ SmfResultPage page; // ToDo :-
+
+ emit m_gallery->albumsAvailable(m_albums,error,page);
+ break;
+ }
+
+ case SmfPictureGetPictures:
+ {
+ SmfPictureList* m_picList = new SmfPictureList;
+ reader>>*(m_picList);
+ qDebug()<<"m_picList.count = "<<m_picList->count();
+
+ //ToDo:- not incorporating paging now
+ SmfResultPage page;
+
+ emit m_gallery->picturesAvailable(m_picList,error,page);
+ break;
+ }
+
+ case SmfPictureDescription:
+ {
+ QString str;
+ reader>>str;
+ qDebug()<<"Pic desc = "<<str;
+
+ emit m_gallery->descriptionAvailable(str,error);
+ break;
+ }
+
+ case SmfPictureUpload:
+ case SmfPicturePostComment:
+ {
+ int errInt;
+ reader>>errInt;
+ qDebug()<<"success = "<<errInt;
+ QList<SmfError> successList;
+ SmfError success = (SmfError)errInt;
+ successList.append(success);
+ emit m_gallery->uploadFinished(successList);
+ break;
+ }
+
+ case SmfPictureMultiUpload:
+ {
+ QList<int> successListInt;
+ QList<SmfError> successList;
+ reader>>successListInt;
+ foreach(int success,successListInt)
+ successList.append((SmfError)success);
+
+ emit m_gallery->uploadFinished(successList);
+ break;
+ }
+
+ case SmfPictureCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_gallery->customDataAvailable(operationId, data);
+ break;
+ }
+
+ default:
+ User::Panic(_L("Gallery Private = "),opcode);
+ }
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfgallery_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,153 @@
+/**
+ * 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 for SmfGallery class
+ *
+ */
+
+#ifndef SMFGALLERY_P_H
+#define SMFGALLERY_P_H
+
+#include <smfclientglobal.h>
+#include <smfglobal.h>
+#include <smfobserver.h>
+#include <smfpicture.h>
+#include <smfpicturealbum.h>
+
+// Forward Declarations
+class SmfProvider;
+class SmfGallery;
+class SmfContact;
+class SmfComment;
+#ifdef Q_OS_SYMBIAN
+ class CSmfClientSymbian;
+#else
+ class SmfClientQt;
+#endif
+
+
+/**
+ * Private Qt wrapper
+ * Provided to accomodate diff facilities in diff platforms.
+ * Uses Symbian client-server for Symbian
+ * QDbus for linux
+ * QLocalserver for rest of the platforms
+ * Note:- only symbian client-server impl is provided at the moment
+ **/
+class SmfGalleryPrivate : public smfObserver
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructor
+ */
+ SmfGalleryPrivate(SmfGallery* gallery = 0);
+
+ /**
+ * Destructor
+ */
+ ~SmfGalleryPrivate();
+
+ /**
+ * Get the album listing asynchronously. The albumsAvailable() signal is
+ * emitted with SmfPictureAlbumList once the albums have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param names the subject or any keywords to be used to filter albums with that name
+ * @param user the user whose albums are requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void albums ( QStringList names, SmfContact* user,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Get the picture listing asynchronously. The picturesAvailable() signal is
+ * emitted with SmfPictureList once the pictures have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param albums album(s) whose pictures are being requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void pictures ( SmfPictureAlbumList &albums,
+ int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE );
+
+ /**
+ * Returns a user title/caption for the picture
+ */
+ void description ( SmfPicture& picture );
+
+ /**
+ * Upload an image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param image the image to be uploaded
+ * @param album the optional destination album name
+ */
+ void upload ( SmfPicture* image, SmfPictureAlbum* album = NULL );
+
+ /**
+ * Upload an list image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param images the list image to be uploaded
+ * @param album the optional destination album name
+ */
+ void upload ( SmfPictureList* images, SmfPictureAlbum* album = NULL );
+
+ /**
+ * Posts a comment for an image. uploadFinished() signal is emitted
+ * with success of the post once comment is posted.
+ * @param image Image to comment on
+ * @param comment Comment to post
+ */
+ void postComment ( SmfPicture image, SmfComment comment );
+
+ /**
+ * Request for a custom operation.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public:// from smfobserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
+
+private:
+ SmfGallery* m_gallery;
+ QByteArray m_serializedDataToServer;//serialized byte array of provider+other info to be sent to the server
+ int m_argFlag;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+
+ };
+
+#endif // SMFGALLERY_P_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfmusic.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,254 @@
+/**
+ * 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:
+ * Music related services
+ */
+
+#include <smfmusicrating.h>
+#include <smfcomment.h>
+#include <smfmusicfingerprint.h>
+
+#include "smfmusic.h"
+#include "smfmusic_p.h"
+
+
+//SmfMusicService start
+SmfMusicService::SmfMusicService(SmfProvider *baseProvider)
+ : m_baseProvider(baseProvider)
+ {
+ m_private = new SmfMusicServicePrivate(this);
+ }
+
+SmfMusicService::~SmfMusicService()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+void SmfMusicService::userinfo()
+ {
+ m_private->userinfo();
+ }
+
+void SmfMusicService::searchUser(SmfLocation venue, int pageNum, int perPage)
+ {
+ m_private->searchUser(venue,pageNum,perPage);
+ }
+
+void SmfMusicService::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+void SmfMusicService::postCurrentPlaying(SmfTrackInfo track)
+ {
+ m_private->postCurrentPlaying(track);
+ }
+
+void SmfMusicService::postRating(SmfTrackInfo track, SmfMusicRating rate)
+ {
+ m_private->postRating(track,rate);
+ }
+
+void SmfMusicService::postComments(SmfTrackInfo track, SmfComment comment)
+ {
+ m_private->postComments(track,comment);
+ }
+
+SmfProvider* SmfMusicService::getProvider() const
+ {
+ return m_baseProvider;
+ }
+//SmfMusicService end
+
+
+//SmfMusicSearch start
+SmfMusicSearch::SmfMusicSearch(SmfProvider *baseProvider)
+ :m_baseProvider(baseProvider)
+ {
+ m_private = new SmfMusicSearchPrivate(this);
+ }
+
+SmfMusicSearch::~SmfMusicSearch()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+void SmfMusicSearch::recommendations(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ m_private->recommendations(track,pageNum,perPage);
+ }
+
+void SmfMusicSearch::tracks(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ m_private->tracks(track,pageNum,perPage);
+ }
+
+void SmfMusicSearch::trackInfo(SmfMusicFingerPrint signature, int pageNum, int perPage)
+ {
+ m_private->trackInfo(signature,pageNum,perPage);
+ }
+
+void SmfMusicSearch::stores(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ m_private->stores(track,pageNum,perPage);
+ }
+
+void SmfMusicSearch::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+SmfProvider* SmfMusicSearch::getProvider() const
+ {
+ return m_baseProvider;
+ }
+//SmfMusicSearch end
+
+
+//SmfPlaylistService start
+SmfPlaylistService::SmfPlaylistService(SmfProvider *baseProvider)
+ : m_baseProvider(baseProvider)
+ {
+ m_private = new SmfPlaylistServicePrivate(this);
+ }
+
+SmfPlaylistService::~SmfPlaylistService()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+void SmfPlaylistService::playlists(int pageNum, int perPage)
+ {
+ m_private->playlists(pageNum,perPage);
+ }
+
+void SmfPlaylistService::playlistsOf(SmfMusicProfile *user, int pageNum, int perPage)
+ {
+ m_private->playlistsOf(user,pageNum,perPage);
+ }
+
+int SmfPlaylistService::addToPlaylist(SmfPlaylist plst, SmfTrackInfoList *tracks)
+ {
+ return m_private->addToPlaylist(plst,tracks);
+ }
+
+int SmfPlaylistService::postCurrentPlayingPlaylist(SmfPlaylist plst)
+ {
+ return m_private->postCurrentPlayingPlaylist(plst);
+ }
+
+void SmfPlaylistService::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+SmfProvider* SmfPlaylistService::getProvider() const
+ {
+ return m_baseProvider;
+ }
+//SmfPlaylistService end
+
+
+//SmfMusicEvents start
+SmfMusicEvents::SmfMusicEvents(SmfProvider *baseProvider)
+ :m_baseProvider(baseProvider)
+ {
+ m_private = new SmfMusicEventsPrivate(this);
+ }
+
+SmfMusicEvents::~SmfMusicEvents()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+void SmfMusicEvents::events(SmfLocation venue, int pageNum, int perPage)
+ {
+ m_private->events(venue,pageNum,perPage);
+ }
+
+void SmfMusicEvents::venues(SmfLocation location, int pageNum, int perPage)
+ {
+ m_private->venues(location,pageNum,perPage);
+ }
+
+void SmfMusicEvents::postEvents(SmfEventList events)
+ {
+ m_private->postEvents(events);
+ }
+
+void SmfMusicEvents::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+SmfProvider* SmfMusicEvents::getProvider() const
+ {
+ return m_baseProvider;
+ }
+//SmfMusicEvents end
+
+
+//SmfLyricsService start
+SmfLyricsService::SmfLyricsService(SmfProvider *baseProvider)
+ :m_baseProvider(baseProvider)
+ {
+ m_private = new SmfLyricsServicePrivate(this);
+ }
+
+SmfLyricsService::~SmfLyricsService()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+void SmfLyricsService::lyrics(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ m_private->lyrics(track,pageNum,perPage);
+ }
+
+void SmfLyricsService::subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter, int pageNum, int perPage)
+ {
+ m_private->subtitles(track,filter,pageNum,perPage);
+ }
+
+void SmfLyricsService::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+SmfProvider* SmfLyricsService::getProvider() const
+ {
+ return m_baseProvider;
+ }
+//SmfLyricsService end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfmusic.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,595 @@
+/**
+ * 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:
+ * Music related services
+ *
+ */
+
+#ifndef SMFMUSIC_H
+#define SMFMUSIC_H
+
+#include <qcontactgeolocation.h>
+#include <smfglobal.h>
+#include <smfevent.h>
+#include <smfsubtitle.h>
+#include <smfmusicprofile.h>
+#include <smflyrics.h>
+#include <smfplaylist.h>
+#include <smftrackinfo.h>
+#include <smflocation.h>
+#include <smfprovider.h>
+
+class SmfMusicServicePrivate;
+class SmfMusicSearchPrivate;
+class SmfLyricsServicePrivate;
+class SmfPlaylistServicePrivate;
+class SmfMusicEventsPrivate;
+class SmfMusicFingerPrint;
+class SmfMusicRating;
+class SmfComment;
+
+using namespace QtMobility;
+
+
+/**
+ * @ingroup smf_client_group
+ * Basic music service ("org.symbian.smf.client.music.service")
+ */
+class SMFCLIENT_EXPORT SmfMusicService : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfMusicService.
+ * @param baseProvider The base provider info
+ */
+ SmfMusicService ( SmfProvider* baseProvider = 0 );
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicService ( );
+
+public slots:
+ /**
+ * Gets self profile information asynchronously.
+ * userInfoAvailable() signal is emitted with SmfMusicProfile when the info is arrived
+ */
+ void userinfo ( );
+
+ /**
+ * Asynchronously searches information about other service users for a particular venue
+ * searchInfoAvailable() signal is emitted with SmfMusicProfileList when the info is arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void searchUser ( SmfLocation venue, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public slots:
+ /**
+ * Posts currently playing track.
+ * Success can be checked by checking the signal postFinished()
+ * @param track Track to post
+ */
+ void postCurrentPlaying ( SmfTrackInfo track);
+
+ void postRating ( SmfTrackInfo track, SmfMusicRating rate);
+
+ void postComments ( SmfTrackInfo track, SmfComment comment);
+
+signals:
+ /**
+ * Notification on arrival of the self profile as result of userinfo().
+ * @param profile The self profile
+ */
+ void userInfoAvailable ( SmfMusicProfile* profile, SmfError error );
+
+ /**
+ * Notification on arrival of search info
+ * @param profileList List of music profiles
+ */
+ void searchInfoAvailable ( SmfMusicProfileList* profileList,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Signals availability of the result of the customRequest
+ * @param operationId The ID to be shared between clients and the plugin
+ * @param customData data
+ */
+ void customDataAvailable( const int& operationId, QByteArray* customData );
+
+ /**
+ * Signals availability of the result of the posting a track or a comment or a rating
+ * @param error Error if any
+ */
+ void postfinished ( SmfError error );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+// Friend Class
+ friend class SmfMusicServicePrivate;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfMusicServicePrivate* m_private;
+
+ };
+
+SMF_SERVICE_NAME(SmfMusicService, "org.symbian.smf.client.music.service\0.2")
+
+
+/**
+ * Provides service ("org.symbian.smf.client.music.search") for music search
+ */
+class SMFCLIENT_EXPORT SmfMusicSearch : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfMusicSearch with base provider as arguement.
+ */
+ SmfMusicSearch ( SmfProvider* baseProvider = 0 );
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicSearch();
+
+public:
+ /**
+ * Searches for music recommendations similar to a particulartrack asynchronously.
+ * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
+ * once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param track The track for which similar recommendations need to be fetched.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void recommendations ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Searches for tracks similar to a given track asynchronously.
+ * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
+ * once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param track The search criteria, similar tracks are searched
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void tracks ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Searches for a track having similar finger print asynchronously.
+ * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
+ * once its arrived.
+ * @param signature The search criteria,signature to be searched for
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void trackInfo ( SmfMusicFingerPrint signature, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Search information about where to buy this song from asynchronously.
+ * The signal storeSearchAvailable() is emitted with SmfProviderList once its arrived.
+ * @param track The search criteria for stores
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void stores ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+signals:
+ /**
+ * Emitted when the search result for a track is available.
+ * Note if number of tacks in the search is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * @param resultPage Page number info
+ */
+ void trackSearchAvailable ( SmfTrackInfoList* result,
+ SmfError error, SmfResultPage resultPage);
+
+ /**
+ * Emitted when the search result for a store is available.
+ * Note if number of tacks in the search is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * @param resultPage Page number info
+ */
+ void storeSearchAvailable ( SmfProviderList* result,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Signals availability of the result of the customRequest
+ * @param operationId The ID to be shared between clients and the plugin
+ * @param customData data
+ */
+ void customDataAvailable( const int& operationId, QByteArray* customData );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfMusicSearchPrivate* m_private;
+ friend class SmfMusicSearchPrivate;
+
+ };
+
+SMF_SERVICE_NAME(SmfMusicSearch, "org.symbian.smf.client.music.search\0.2")
+
+
+/**
+ * Provides service ("org.symbian.smf.client.music.playlist")
+ *
+ * Interface to a remote playlist service. This class
+ * provides some basic functionality to allow applications
+ * to interact with playlists in some music related service provider (e.g. last.fm).
+ *
+ * Note that branding information for the particular service implementation
+ * is available from getProvider() API. See also:
+ * SmfProvider::serviceName(), SmfProvider::serviceIcon()
+ *
+ * All of the functionality described here should be implemented by a service
+ * specific plug-in object.
+ *
+ */
+class SMFCLIENT_EXPORT SmfPlaylistService : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfPlaylistService with base provider info
+ * Seeing as this is a plug-in implementation, these will realistically
+ * be generated by SMF factory of some kind
+ */
+ SmfPlaylistService ( SmfProvider* baseProvider = 0 );
+
+ /**
+ * Destructor
+ */
+ ~SmfPlaylistService ( );
+
+public:
+ /**
+ * Gets the list playlists for the logged-in user asynchronously.
+ * The signal playlistsListAvailable() signal is emitted with
+ * SmfPlaylistList once its arrived .
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void playlists ( int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Gets the list playlists for the given user asynchronously.
+ * The signal playlistsListAvailable() signal is emitted with
+ * SmfPlaylistList once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param user User for which to get the playlists
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void playlistsOf ( SmfMusicProfile* user, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+public slots:
+ /**
+ * Upload currently playing track to a playlist. Signal
+ * playlistUpdated() can be checked for success value
+ * @param plst The playlist to be added in
+ * @param tracks The list of tracks to uploaded
+ */
+ int addToPlaylist ( SmfPlaylist plst, SmfTrackInfoList* tracks );
+
+ /**
+ * Upload currently playing playlist . Signal
+ * playlistUpdated() can be checked for success value
+ * @param plst The playlist to be uploaded
+ */
+ int postCurrentPlayingPlaylist ( SmfPlaylist plst );
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+signals:
+ /**
+ * Notification of availability of list of playlists requested.
+ * Note if number of list is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * @param resultPage Page number info
+ */
+ void playlistsListAvailable ( SmfPlaylistList*,
+ SmfError error, SmfResultPage resultPage );
+ /**
+ * Signals remote updation of playlist with success value
+ */
+ void playlistUpdated ( SmfError success );
+
+ /**
+ * Signals availability of the result of the customRequest
+ * @param operationId The ID to be shared between clients and the plugin
+ * @param customData data
+ */
+ void customDataAvailable( const int& operationId, QByteArray* customData );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfPlaylistServicePrivate* m_private;
+ friend class SmfPlaylistServicePrivate;
+
+ };
+
+SMF_SERVICE_NAME(SmfPlaylistService, "org.symbian.smf.client.music.playlist\0.2")
+
+
+/**
+ * provides service ("org.symbian.smf.client.music.events")
+ */
+class SMFCLIENT_EXPORT SmfMusicEvents : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfMusicEvents with base provider info
+ * Seeing as this is a plug-in implementation, these will realistically
+ * be generated by SMF factory of some kind
+ */
+ SmfMusicEvents ( SmfProvider* baseProvider = 0 );
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicEvents ( );
+
+public:
+ /**
+ * Gets list of events in a particular venue asynchronously.
+ * eventsAvailable() signal is emitted with SmfEventsList once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void events ( SmfLocation venue, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Gets list of venues of a particular location asynchronously.
+ * venuesAvailable() signal is emitted with SmfLocationList once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void venues ( SmfLocation location, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+public slots:
+ /**
+ * Updates events. Might not be supported by all service provider.
+ * eventsUpdated() signal can be checked for success value.
+ * @param SmfEventsList List of events to be posted
+ */
+ void postEvents ( SmfEventList events );
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+signals:
+ /**
+ * Notification on arrival of event lists
+ * Note if number of list is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * @param resultPage Page number info
+ */
+ void eventsAvailable ( SmfEventList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Notification on arrival of venues lists
+ * Note if number of list is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * @param resultPage Page number info
+ */
+ void venuesAvailable ( SmfLocationList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Notification of the success of request to post an event
+ */
+ void eventsUpdated ( SmfError success );
+
+ /**
+ * Signals availability of the result of the customRequest
+ * @param operationId The ID to be shared between clients and the plugin
+ * @param customData data
+ */
+ void customDataAvailable( const int& operationId, QByteArray* customData );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfMusicEventsPrivate* m_private;
+ friend class SmfMusicEventsPrivate;
+
+ };
+
+SMF_SERVICE_NAME(SmfMusicEvents, "org.symbian.smf.client.music.events\0.2")
+
+
+/**
+ * provides service ("org.symbian.smf.client.music.lyrics")
+ */
+class SMFCLIENT_EXPORT SmfLyricsService : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfLyricsService with base provider info.
+ */
+ SmfLyricsService ( SmfProvider* baseProvider = 0 );
+
+ /**
+ * Destructor
+ */
+ ~SmfLyricsService ( );
+
+public:
+ /**
+ * Get the lyrics lists asynchrnously, it fetches texts without time info.
+ * lyricsAvailable() notification comes SmfLyricsList with when the data is available
+ * @param track Track for which lyrics needs to be fetched.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void lyrics ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Get the lyrics lists asynchrnously, it fetches texts with time info.
+ * Subtitle search filter can be applied
+ * subtitleAvailable() notification comes SmfSubtitleList with when the data is available
+ * @param track Track for which subtitle needs to be fetched.
+ * @param filter Subtitle search filter
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void subtitles ( SmfTrackInfo track, SmfSubtitleSearchFilter filter,
+ int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+signals:
+ /**
+ * Notification on arrival of lyrics
+ * Note if the list is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * @param resultPage Page number info
+ */
+ void lyricsAvailable ( SmfLyricsList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Notification on arrival of subtitle based on filter.
+ * Note if the list is large, then it can download the list page by page.
+ * In that case this signal is emitted multiple times.
+ * @param resultPage Page number info
+ */
+ void subtitleAvailable ( SmfSubtitleList* list,
+ SmfError error, SmfResultPage resultPage );
+
+ /**
+ * Signals availability of the result of the customRequest
+ * @param operationId The ID to be shared between clients and the plugin
+ * @param customData data
+ */
+ void customDataAvailable( const int& operationId, QByteArray* customData );
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfLyricsServicePrivate* m_private;
+ friend class SmfLyricsServicePrivate;
+
+ };
+
+SMF_SERVICE_NAME(SmfLyricsService, "org.symbian.smf.client.music.lyrics\0.2")
+
+#endif // SMFMUSIC_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfmusic_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,986 @@
+/**
+ * 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 music related services
+ *
+ */
+
+#include <qdebug.h>
+#include <smfmusicrating.h>
+#include <smfcomment.h>
+#include <smfmusicfingerprint.h>
+#include <smfcontact.h>
+
+#include "smfmusic.h"
+#include "smfmusic_p.h"
+#ifdef Q_OS_SYMBIAN
+ #include "smfclientsymbian.h"
+#else
+ #include "smfclientqt.h"
+#endif
+
+
+//SmfMusicServicePrivate start
+SmfMusicServicePrivate::SmfMusicServicePrivate(SmfMusicService* aMusicService)
+ :m_musicService(aMusicService)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#else
+ //TODO:- Use private impl for other platforms or else Qt impl
+#endif
+ }
+
+SmfMusicServicePrivate::~SmfMusicServicePrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+void SmfMusicServicePrivate::userinfo()
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicService->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+
+ QString intfName(musicServiceInterface);
+ int maxalloc = SmfMusicProfileMaxSize;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetUserInfo, maxalloc);
+ }
+
+void SmfMusicServicePrivate::searchUser(SmfLocation venue, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicService->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<venue;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(musicServiceInterface);
+ int maxalloc = SmfMusicProfileMaxSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicSearchUser, maxalloc);
+ }
+
+void SmfMusicServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicService->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(musicServiceInterface);
+ //ToDo:- How much size to allocate for custo data? keeping SmfMusicProfileMaxSize for now
+ int maxAlloc = SmfMusicProfileMaxSize;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicServiceCustomRequest, maxAlloc);
+ }
+
+void SmfMusicServicePrivate::postCurrentPlaying(SmfTrackInfo track)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicService->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+
+ QString intfName(musicServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicPostCurrentPlaying, maxalloc);
+ }
+
+void SmfMusicServicePrivate::postRating(SmfTrackInfo track, SmfMusicRating rate)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicService->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+ write<<m_argFlag;
+ write<<rate;
+
+ QString intfName(musicServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicPostRating, maxalloc);
+ }
+
+void SmfMusicServicePrivate::postComments(SmfTrackInfo track, SmfComment comment)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicService->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+ write<<m_argFlag;
+ write<<comment;
+
+ QString intfName(musicServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicPostComment, maxalloc);
+ }
+
+void SmfMusicServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
+ {
+ //note:- "result" is serialized and we need to de-serialize it as per opcode
+ //Order of serialization Error value followed by data
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfMusicGetUserInfo:
+ {
+ SmfMusicProfile* m_profile = new SmfMusicProfile;
+ reader>>*m_profile;
+
+ emit m_musicService->userInfoAvailable(m_profile,error);
+ break;
+ }
+
+ case SmfMusicSearchUser:
+ {
+ SmfMusicProfileList* m_profileList = new SmfMusicProfileList;
+ reader>>*m_profileList;
+
+ //ToDo :- not incorporating paging now
+ SmfResultPage page;
+
+ emit m_musicService->searchInfoAvailable(m_profileList, error, page);
+ break;
+ }
+
+ case SmfMusicPostCurrentPlaying:
+ case SmfMusicPostRating:
+ case SmfMusicPostComment:
+ {
+ emit m_musicService->postfinished(error);
+ break;
+ }
+
+ case SmfMusicServiceCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_musicService->customDataAvailable(operationId, data);
+ break;
+ }
+
+ default:
+ User::Panic(_L("Music Service Private = "),opcode);
+ }
+ }
+//SmfMusicServicePrivate start
+
+
+//SmfMusicSearchPrivate start
+SmfMusicSearchPrivate::SmfMusicSearchPrivate(SmfMusicSearch *aMusicSearch)
+ : m_musicSearch(aMusicSearch)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#else
+ //TODO:- Use private impl for other platforms or else Qt impl
+#endif
+ }
+
+SmfMusicSearchPrivate::~SmfMusicSearchPrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+void SmfMusicSearchPrivate::recommendations(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ m_serializedDataToServer.clear();
+ SmfProvider* m_baseProvider = m_musicSearch->getProvider();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(musicSearchInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetRecommendations, maxalloc);
+ }
+
+void SmfMusicSearchPrivate::tracks(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicSearch->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(musicSearchInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetTracks, maxalloc);
+ }
+
+void SmfMusicSearchPrivate::trackInfo(SmfMusicFingerPrint signature, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicSearch->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<signature;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(musicSearchInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetTrackInfo, maxalloc);
+ }
+
+void SmfMusicSearchPrivate::stores(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicSearch->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(musicSearchInterface);
+ /** @TODO:-revisit all the maxalloc */
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetStores, maxalloc);
+ }
+
+void SmfMusicSearchPrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicSearch->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(musicSearchInterface);
+ /** @TODO:-revisit all the maxalloc */
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicSearchCustomRequest, maxalloc);
+ }
+
+
+
+void SmfMusicSearchPrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
+ {
+ //note:- "result" is serialized and we need to de-serialize it as per opcode
+ //Order of serialization Error value followed by data
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfMusicGetRecommendations:
+ case SmfMusicGetTracks:
+ case SmfMusicGetTrackInfo:
+ {
+ SmfTrackInfoList* m_trackInfoList = new SmfTrackInfoList;
+ reader>>*(m_trackInfoList);
+
+ //ToDo :- not incorporating paging now
+ SmfResultPage page;
+
+ emit m_musicSearch->trackSearchAvailable(m_trackInfoList,error,page);
+ break;
+ }
+
+ case SmfMusicGetStores:
+ {
+ SmfProviderList* m_providers = new SmfProviderList;
+ reader>>*(m_providers);
+
+ //ToDo :- not incorporating paging now
+ SmfResultPage page;
+
+ emit m_musicSearch->storeSearchAvailable(m_providers,error,page);
+ break;
+ }
+
+ case SmfMusicSearchCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_musicSearch->customDataAvailable(operationId, data);
+ break;
+ }
+
+ default:
+ User::Panic(_L("Music Search Private = "),opcode);
+ }
+ }
+//SmfMusicSearchPrivate end
+
+
+//SmfPlaylistServicePrivate start
+SmfPlaylistServicePrivate::SmfPlaylistServicePrivate(SmfPlaylistService *aPlayLstSrvc)
+ : m_playlstSrvc(aPlayLstSrvc)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#else
+ //TODO:- Use private impl for other platforms or else Qt impl
+#endif
+ }
+
+SmfPlaylistServicePrivate::~SmfPlaylistServicePrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+void SmfPlaylistServicePrivate::playlists(int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(playlistServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetPlaylists, maxalloc);
+ }
+
+void SmfPlaylistServicePrivate::playlistsOf(SmfMusicProfile *user, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ if(user)
+ {
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<*user;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(playlistServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetPlaylistsOfUser, maxalloc);
+ }
+
+int SmfPlaylistServicePrivate::addToPlaylist(SmfPlaylist plst, SmfTrackInfoList *tracks)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<plst;
+ if(tracks)
+ {
+ write<<m_argFlag;
+ write<<*tracks;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(playlistServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ return m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicAddToPlaylist, maxalloc);
+ }
+
+int SmfPlaylistServicePrivate::postCurrentPlayingPlaylist(SmfPlaylist plst)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<plst;
+
+ QString intfName(playlistServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ return m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicPostCurrentPlayingPlaylist, maxalloc);
+ }
+
+void SmfPlaylistServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(playlistServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicPlaylistCustomRequest, maxalloc);
+ }
+
+void SmfPlaylistServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
+ {
+ //note:- "result" is serialized and we need to de-serialize it as per opcode
+ //Order of serialization Error value followed by data
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfMusicGetPlaylists:
+ case SmfMusicGetPlaylistsOfUser:
+ {
+ SmfPlaylistList* m_playlistList = new SmfPlaylistList;
+ reader>>*(m_playlistList);
+
+ //ToDo:-
+ SmfResultPage page;
+
+ emit m_playlstSrvc->playlistsListAvailable(m_playlistList,error,page);
+ break;
+ }
+
+ case SmfMusicAddToPlaylist:
+ case SmfMusicPostCurrentPlayingPlaylist:
+ {
+ emit m_playlstSrvc->playlistUpdated(error);
+ break;
+ }
+
+ case SmfMusicPlaylistCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_playlstSrvc->customDataAvailable(operationId, data);
+ break;
+ }
+ default:
+ Q_ASSERT_X(1,"SmfPlaylistServicePrivate::resultsAvailable","unknown opcode");
+ }
+ }
+//SmfPlaylistServicePrivate end
+
+
+//SmfMusicEventsPrivate start
+SmfMusicEventsPrivate::SmfMusicEventsPrivate(SmfMusicEvents *aMusicEvent)
+ :m_musicEvent(aMusicEvent)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#else
+ //TODO:- Use private impl for other platforms or else Qt impl
+#endif
+ }
+
+SmfMusicEventsPrivate::~SmfMusicEventsPrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+void SmfMusicEventsPrivate::events(SmfLocation venue, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicEvent->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<venue;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(musicEventServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetEventsOnLoc, maxalloc);
+ }
+
+void SmfMusicEventsPrivate::venues(SmfLocation location, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicEvent->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<location;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(musicEventServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetVenueOnLoc, maxalloc);
+ }
+
+void SmfMusicEventsPrivate::postEvents(SmfEventList events)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicEvent->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<events;
+
+ QString intfName(musicEventServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicPostEvents, maxalloc);
+ }
+
+void SmfMusicEventsPrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_musicEvent->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(musicEventServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicEventsCustomRequest, maxalloc);
+ }
+
+void SmfMusicEventsPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
+ {
+ //note:- "result" is serialized and we need to de-serialize it as per opcode
+ //Order of serialization Error value followed by data
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfMusicGetEventsOnLoc:
+ {
+ SmfEventList* m_events = new SmfEventList;
+ reader>>*(m_events);
+
+ // ToDo :-
+ SmfResultPage page;
+
+ m_musicEvent->eventsAvailable(m_events,error,page);
+ break;
+ }
+
+ case SmfMusicGetVenueOnLoc:
+ {
+ SmfLocationList* m_venues = new SmfLocationList;
+ reader>>*(m_venues);
+
+ //ToDo :-
+ SmfResultPage page;
+
+ m_musicEvent->venuesAvailable(m_venues,error,page);
+ break;
+ }
+
+ case SmfMusicPostEvents:
+ m_musicEvent->eventsUpdated(error);
+ break;
+
+ case SmfMusicEventsCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_musicEvent->customDataAvailable(operationId, data);
+ break;
+ }
+
+ default:
+ Q_ASSERT_X(1,"SmfMusicEventsPrivate::resultsAvailable","unknown opcode");
+ }
+ }
+//SmfMusicEventsPrivate end
+
+
+//SmfLyricsServicePrivate start
+SmfLyricsServicePrivate::SmfLyricsServicePrivate(SmfLyricsService *aLyricsSrvc)
+ : m_lyricsSrvc(aLyricsSrvc)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#else
+ //TODO:- Use private impl for other platforms or else Qt impl
+#endif
+ }
+
+SmfLyricsServicePrivate::~SmfLyricsServicePrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+void SmfLyricsServicePrivate::lyrics(SmfTrackInfo track, int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(lyricsServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetLyrics, maxalloc);
+ }
+
+void SmfLyricsServicePrivate::subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter,
+ int pageNum, int perPage)
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*(m_baseProvider);
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<track;
+ write<<m_argFlag;
+ write<<filter;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(lyricsServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicGetSubtitle, maxalloc);
+ }
+
+void SmfLyricsServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ //We need to pass Opcode and SmfProvider serialized into bytearray
+ SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(lyricsServiceInterface);
+ //TODO:-revisit all the maxalloc
+ int maxalloc = 1000;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfMusicLyricsCustomRequest, maxalloc);
+ }
+
+void SmfLyricsServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
+ {
+ //note:- "result" is serialized and we need to de-serialize it as per opcode
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfMusicGetLyrics:
+ {
+ SmfLyricsList* m_lyricsList = new SmfLyricsList;
+ reader>>*(m_lyricsList);
+
+ // ToDo :-
+ SmfResultPage page;
+
+ emit m_lyricsSrvc->lyricsAvailable(m_lyricsList,error,page);
+ break;
+ }
+
+ case SmfMusicGetSubtitle:
+ {
+ SmfSubtitleList* m_subList = new SmfSubtitleList;
+ reader>>*(m_subList);
+
+ // ToDo :-
+ SmfResultPage page;
+
+ emit m_lyricsSrvc->subtitleAvailable(m_subList,error,page);
+ break;
+ }
+
+ case SmfMusicLyricsCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_lyricsSrvc->customDataAvailable(operationId, data);
+ break;
+ }
+
+ default:
+ Q_ASSERT_X(1,"SmfLyricsServicePrivate::resultsAvailable","unknown opcode");
+ }
+ }
+
+//SmfLyricsServicePrivate end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfmusic_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,482 @@
+/**
+ * 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 music related services
+ *
+ */
+
+#ifndef SMFMUSICPRIVATE_H_
+#define SMFMUSICPRIVATE_H_
+
+#include <qcontactgeolocation.h>
+#include <smfglobal.h>
+#include <smfobserver.h>
+#include <smfevent.h>
+#include <smfsubtitle.h>
+#include <smfmusicprofile.h>
+#include <smflyrics.h>
+#include <smfplaylist.h>
+#include <smftrackinfo.h>
+#include <smflocation.h>
+#include <smfprovider.h>
+
+#ifdef Q_OS_SYMBIAN
+ class CSmfClientSymbian;
+#else
+ class SmfClientQt;
+#endif
+class SmfMusicService;
+class SmfMusicSearch;
+class SmfPlaylistService;
+class SmfMusicEvents;
+class SmfLyricsService;
+class SmfMusicFingerPrint;
+class SmfMusicRating;
+class SmfComment;
+
+
+class SmfMusicServicePrivate : public smfObserver
+ {
+ Q_OBJECT
+public:
+ /**
+ * Constructor
+ */
+ SmfMusicServicePrivate(SmfMusicService* aMusicService);
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicServicePrivate();
+
+ /**
+ * Gets self profile information asynchronously.
+ * userInfoAvailable() signal is emitted with SmfMusicProfile when the info is arrived
+ */
+ void userinfo ( );
+
+ /**
+ * Asynchronously searches information about other service users for a particular venue
+ * searchInfoAvailable() signal is emitted with SmfMusicProfileList when the info is arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void searchUser ( SmfLocation venue, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+ /**
+ * Posts currently playing track.
+ * Success can be checked by checking the signal postFinished()
+ * @param track Track to post
+ */
+ void postCurrentPlaying ( SmfTrackInfo track);
+
+ void postRating ( SmfTrackInfo track, SmfMusicRating rate);
+
+ void postComments ( SmfTrackInfo track, SmfComment comment);
+
+public: // from smfObserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
+
+private:
+ SmfMusicService* m_musicService;
+ //serialized byte array of provider+other info to be sent to the server
+ //The order:- SmfProvider then params in order of their appearance in fn
+ QByteArray m_serializedDataToServer;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ int m_argFlag;
+
+ };
+
+
+//SmfMusicSearch
+class SmfMusicSearchPrivate : public smfObserver
+ {
+ Q_OBJECT
+public:
+ /**
+ * Constructor
+ */
+ SmfMusicSearchPrivate(SmfMusicSearch* aMusicSearch);
+
+ /**
+ * Constructor
+ */
+ ~SmfMusicSearchPrivate();
+
+public:
+ /**
+ * Searches for music recommendations similar to a particulartrack asynchronously.
+ * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
+ * once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param track The track for which similar recommendations need to be fetched.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void recommendations ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Searches for tracks similar to a given track asynchronously.
+ * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
+ * once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param track The search criteria, similar tracks are searched
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void tracks ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Searches for a track having similar finger print asynchronously.
+ * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
+ * once its arrived.
+ * @param signature The search criteria,signature to be searched for
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void trackInfo ( SmfMusicFingerPrint signature, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Search information about where to buy this song from asynchronously.
+ * The signal storeSearchAvailable() is emitted with SmfProviderList once its arrived.
+ * @param track The search criteria for stores
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void stores ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public: //From smfObserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
+
+private:
+ SmfMusicSearch *m_musicSearch;
+ //serialized byte array of provider+other info to be sent to the server
+ //The order:- SmfProvider then params in order of their appearance in fn
+ QByteArray m_serializedDataToServer;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ int m_argFlag;
+
+ };
+
+
+class SmfPlaylistServicePrivate : public smfObserver
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfPlaylistService with base provider info
+ */
+ SmfPlaylistServicePrivate(SmfPlaylistService* aPlayLstSrvc);
+
+ /**
+ * Destructor
+ */
+ ~SmfPlaylistServicePrivate();
+
+public:
+ /**
+ * Gets the list playlists for the logged-in user asynchronously.
+ * The signal playlistsListAvailable() signal is emitted with
+ * SmfPlaylistList once its arrived .
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void playlists ( int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Gets the list playlists for the given user asynchronously.
+ * The signal playlistsListAvailable() signal is emitted with
+ * SmfPlaylistList once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param user User for which to get the playlists
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void playlistsOf ( SmfMusicProfile* user, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Upload currently playing track to a playlist. Signal
+ * playlistUpdated() can be checked for success value
+ * @param plst The playlist to be added in
+ * @param tracks The list of tracks to uploaded
+ */
+ int addToPlaylist ( SmfPlaylist plst, SmfTrackInfoList* tracks );
+
+ /**
+ * Upload currently playing playlist . Signal
+ * playlistUpdated() can be checked for success value
+ * @param plst The playlist to be uploaded
+ */
+ int postCurrentPlayingPlaylist ( SmfPlaylist plst );
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public: //From smfObserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
+
+private:
+ SmfPlaylistService* m_playlstSrvc;
+ //serialized byte array of provider+other info to be sent to the server
+ //The order:- SmfProvider then params in order of their appearance in fn
+ QByteArray m_serializedDataToServer;
+
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ int m_argFlag;
+
+ };
+
+
+class SmfMusicEventsPrivate : public smfObserver
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfMusicEvents with base provider info
+ */
+ SmfMusicEventsPrivate(SmfMusicEvents* aMusicEvent);
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicEventsPrivate();
+
+public:
+ /**
+ * Gets list of events in a particular venue asynchronously.
+ * eventsAvailable() signal is emitted with SmfEventsList once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void events ( SmfLocation venue, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Gets list of venues of a particular location asynchronously.
+ * venuesAvailable() signal is emitted with SmfLocationList once its arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void venues ( SmfLocation location, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Updates events. Might not be supported by all service provider.
+ * eventsUpdated() signal can be checked for success value.
+ * @param SmfEventsList List of events to be posted
+ */
+ void postEvents ( SmfEventList events );
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public: //From smfObserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
+
+private:
+ SmfMusicEvents* m_musicEvent;
+ //serialized byte array of provider+other info to be sent to the server
+ //The order:- SmfProvider then params in order of their appearance in fn
+ QByteArray m_serializedDataToServer;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ int m_argFlag;
+
+ };
+
+
+/**
+ * provides service ("org.symbian.smf.client.music.lyrics")
+ */
+class SmfLyricsServicePrivate : public smfObserver
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfLyricsService with base provider info.
+ */
+ SmfLyricsServicePrivate(SmfLyricsService* aLyricsSrvc);
+
+ /**
+ * Destructor
+ */
+ ~SmfLyricsServicePrivate();
+
+public:
+ /**
+ * Get the lyrics lists asynchrnously, it fetches texts without time info.
+ * lyricsAvailable() notification comes SmfLyricsList with when the data is available
+ * @param track Track for which lyrics needs to be fetched.
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void lyrics ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
+ int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Get the lyrics lists asynchrnously, it fetches texts with time info.
+ * Subtitle search filter can be applied
+ * subtitleAvailable() notification comes SmfSubtitleList with when the data is available
+ * @param track Track for which subtitle needs to be fetched.
+ * @param filter Subtitle search filter
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+ void subtitles ( SmfTrackInfo track, SmfSubtitleSearchFilter filter,
+ int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest ( const int& operationId, QByteArray* customData );
+
+public: //From smfObserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
+
+private:
+ SmfLyricsService *m_lyricsSrvc;
+ //serialized byte array of provider+other info to be sent to the server
+ //The order:- SmfProvider then params in order of their appearance in fn
+ QByteArray m_serializedDataToServer;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ int m_argFlag;
+
+ };
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfpostprovider.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,173 @@
+/**
+ * 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:
+ * SmfPostProvider
+ *
+ */
+
+#include <QVector>
+#include <QTextFormat>
+
+#include "smfpostprovider.h"
+#include "smfpostprovider_p.h"
+
+/**
+ * Constructs SmfPostProvider.
+ * @param baseProvider The base provider info
+ * Seeing as this is a plug-in implementation, these will realistically
+ * be generated by SMF factory of some kind
+ */
+SmfPostProvider::SmfPostProvider(SmfProvider* baseProvider)
+ {
+ m_baseProvider = baseProvider;
+ //creating private impl wrapper
+ m_private = new SmfPostProviderPrivate(this);
+ }
+
+SmfPostProvider::~SmfPostProvider()
+ {
+
+ }
+
+/**
+ * returns maximum no of chars (unicode) that service provider can post without truncation
+ * negative value means no limit
+ */
+qint32 SmfPostProvider::maxCharsInPost() const
+ {
+ return m_private->maxCharsInPost();
+ }
+
+/**
+ * returns maximum no of items that can be returned in a single query to getPosts
+ * negative value means feature not supported.
+ */
+qint32 SmfPostProvider::maxItems() const
+ {
+ return m_private->maxItems();
+ }
+
+/**
+ * returns all the formatting of posts that this service provider supports.
+ * May return 0 items to mean only QString is supported.
+ */
+QVector<QTextFormat> SmfPostProvider::supportedFormats () const
+ {
+ return m_private->supportedFormats();
+ }
+
+/**
+ * returns whether this SP supports Appearence @see SmfAppearenceInfo
+ */
+bool SmfPostProvider::supportsAppearence () const
+ {
+ return m_private->supportsAppearence();
+ }
+
+/**
+ * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
+ * once the post lists are available
+ * @param user user's contact in this SP, omit for self contact
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @see postsAvailable()
+ */
+void SmfPostProvider::posts(SmfContact* user ,int pageNum,int perPage)
+ {
+ m_private->posts(user,pageNum,perPage);
+ }
+
+/**
+ * Updates a post to own area, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData data to be posted
+ * @param location location data
+ */
+void SmfPostProvider::post(SmfPost& postData,SmfLocation& location)
+ {
+ m_private->post(postData,location);
+ }
+
+/**
+ * Updates the last post to own area with new data, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData edited/new data to be posted
+ * @param location location data
+ */
+void SmfPostProvider::updatePost(SmfPost& postData)
+ {
+ m_private->updatePost(postData);
+ }
+
+/**
+ * Updates a post to a particular Smf contact. the success of the post can be checked with signal
+ * updatePostFinished() signal.
+ * @param postData data to be posted
+ * @param contact contact to which the post is to be directed
+ * @param location location data
+ */
+void SmfPostProvider::postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location)
+ {
+ m_private->postDirected(postData,contact,location);
+ }
+
+/**
+ * Method to post a comment on a post.
+ * @param aTarget Post on which comment has to be posted
+ * @param aComment comment to be posted
+ * @param aLocation location data
+ */
+void SmfPostProvider::commentOnAPost( SmfPost &aTarget, SmfPost &aComment,
+ SmfLocation *aLocation)
+ {
+ m_private->commentOnAPost(aTarget,aComment,aLocation);
+ }
+
+/**
+ * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
+ * @param appearence user appearance
+ * @see SmfPresenceInfo
+ * @return False on Failure/Not supported
+ */
+bool SmfPostProvider::postAppearence(SmfAppearenceInfo appearence, const QString &status)
+ {
+ return m_private->postAppearence(appearence, status);
+ }
+
+/**
+ * Share /a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
+ * emits updatePostFinished() signal when done.
+ * @param postData data to be posted
+ * @param contact contact to which the post belonged
+ * @param bool whether user changed items within the post
+ */
+void SmfPostProvider::sharePost(SmfPost& postData,SmfContact& contact,bool edited)
+ {
+ m_private->sharePost(postData,contact,edited);
+ }
+
+void SmfPostProvider::customRequest(const int& operationId,QByteArray* customData)
+ {
+ m_private->customRequest(operationId, customData);
+ }
+
+/**
+ * Gets the base provider info
+ */
+SmfProvider* SmfPostProvider::getProvider() const
+ {
+ return m_baseProvider;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfpostprovider.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,201 @@
+/**
+ * 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:
+ * SmfPostProvider
+ *
+ */
+
+#ifndef SMFPOSTPROVIDER_H
+#define SMFPOSTPROVIDER_H
+
+#include <QObject>
+#include <qmobilityglobal.h>
+#include <qgeopositioninfo.h>
+#include <QTextDocument>
+#include <smfglobal.h>
+#include <smfclientglobal.h>
+#include <smfprovider.h>
+#include <smfcontact.h>
+#include <smflocation.h>
+#include <smfpost.h>
+
+class SmfPostProviderPrivate;
+
+/**
+ * @ingroup smf_client_group
+ * Interface to post scrap/tweet like info.
+ * Note that branding information for the particular service implementation
+ * is available from getProvider() API. See also:
+ * SmfProvider::serviceName(), SmfProvider::serviceIcon(), SmfProvider::description()
+ *
+ * Interface name for SmfPostProvider is org.symbian.smf.client.contact.posts
+ */
+class SMFCLIENT_EXPORT SmfPostProvider : public QObject
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructs SmfPostProvider.
+ * @param baseProvider The base provider info
+ * Seeing as this is a plug-in implementation, these will realistically
+ * be generated by SMF factory of some kind
+ */
+ SmfPostProvider(SmfProvider* baseProvider);
+
+ /**
+ * Destructor
+ */
+ ~SmfPostProvider();
+
+public:
+ /**
+ * returns maximum no of chars (unicode) that service provider can post without truncation
+ * negative value means no limit
+ */
+ qint32 maxCharsInPost() const;
+
+ /**
+ * returns maximum no of items that can be returned in a single query to getPosts
+ * negative value means feature not supported.
+ */
+ qint32 maxItems() const;
+
+ /**
+ * returns all the formatting of posts that this service provider supports.
+ * May return 0 items to mean only QString is supported.
+ */
+ QVector<QTextFormat> supportedFormats () const;
+
+ /**
+ * returns whether this SP supports Appearence @see SmfAppearenceInfo
+ */
+ bool supportsAppearence () const;
+
+public slots:
+ /**
+ * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
+ * once the post lists are available
+ * @param user user's contact in this SP, omit for self contact
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @see postsAvailable()
+ */
+ void posts(SmfContact* user = 0,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Updates a post to own area, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData data to be posted
+ * @param location location data
+ */
+ void post(SmfPost& postData,SmfLocation& location);
+
+ /**
+ * Updates the last post to own area with new data, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData edited/new data to be posted
+ * @param location location data
+ */
+ void updatePost(SmfPost& postData);
+
+ /**
+ * Updates a post to a particular Smf contact. the success of the post can be checked with signal
+ * updatePostFinished() signal.
+ * @param postData data to be posted
+ * @param contact contact to which the post is to be directed
+ * @param location location data
+ */
+ void postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location=0);
+
+ /**
+ * Method to post a comment on a post.
+ * @param aTarget Post on which comment has to be posted
+ * @param aComment comment to be posted
+ * @param aLocation location data
+ */
+ void commentOnAPost( SmfPost &aTarget, SmfPost &aComment, SmfLocation *aLocation = NULL);
+
+ /**
+ * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
+ * @param appearence user appearance
+ * @see SmfPresenceInfo
+ * @return False on Failure/Not supported
+ */
+ bool postAppearence(SmfAppearenceInfo appearence, const QString &status);
+
+ /**
+ * Share /a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
+ * emits updatePostFinished() signal when done.
+ * @param postData data to be posted
+ * @param contact contact to which the post belonged
+ * @param bool whether user changed items within the post
+ */
+ void sharePost(SmfPost& postData,SmfContact& contact,bool edited);
+
+ /**
+ * Request for a custom operation.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest(const int& operationId,QByteArray* customData);
+
+signals:
+
+ /**
+ * Emitted when a request to getPosts() is finished
+ * Note if number of posts is large, then it can download the list page by page
+ * In that case this signal is emitted multiple times.
+ * @param list list of posts
+ * @param error error string
+ * @param resultPage Page number info
+ */
+ void postsAvailable(SmfPostList* list, SmfError error, SmfResultPage resultPage);
+
+ /**
+ * Emitted when update post is finished.
+ * @param success the success of the update
+ */
+ void postFinished(SmfError success);
+
+ /**
+ * Emitted when custom data is available
+ * @param operationId Requested operation id
+ * @param customData Custom data received, interpretation is not the responsibility of Smf
+ */
+ void customDataAvailable(int operationId, QByteArray* customData);
+
+private:
+ /**
+ * Gets the base provider info
+ */
+ SmfProvider* getProvider() const;
+
+// Friend Class
+ //friend so that it can directly emit SmfPostProvider's signal
+ friend class SmfPostProviderPrivate;
+
+private:
+ SmfProvider* m_baseProvider;
+ SmfPostProviderPrivate* m_private; //private impl wrapper
+
+ };
+
+SMF_SERVICE_NAME(SmfPostProvider, "org.symbian.smf.client.contact.posts\0.2")
+
+#endif // SMFPOSTPROVIDER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfpostprovider_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,502 @@
+/**
+ * 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 SmfPostProvider
+ *
+ */
+
+#include <qdebug.h>
+
+#include "smfpostprovider.h"
+#include "smfpostprovider_p.h"
+#ifdef Q_OS_SYMBIAN
+ #include "smfclientsymbian.h"
+#else
+ #include "SmfClientQt.h"
+#endif
+
+
+SmfPostProviderPrivate::SmfPostProviderPrivate(SmfPostProvider* postProvider)
+ : m_postProvider(postProvider)
+ {
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
+#endif
+ }
+
+
+SmfPostProviderPrivate::~SmfPostProviderPrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+
+/**
+ * returns maximum no of chars (unicode) that service provider can post without truncation
+ * negative value means no limit
+ */
+qint32 SmfPostProviderPrivate::maxCharsInPost()
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+
+ //SmfProvider
+ write<<*m_baseProvider;
+
+ QString intfName(postProviderInterface);
+ //setting max size to 10
+ //call private impl's send method
+ QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,
+ SmfPostGetMaxCharsInPost, 10, m_serializedDataToServer);
+
+ //De-serialize it into qint32
+ QDataStream reader(&data,QIODevice::ReadOnly);
+ qint32 val;
+ reader>>val;
+ return val;
+ }
+
+/**
+ * returns maximum no of items that can be returned in a single query to getPosts
+ * negative value means feature not supported.
+ */
+qint32 SmfPostProviderPrivate::maxItems()
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+
+ //SmfProvider
+ write<<*m_baseProvider;
+
+ QString intfName(postProviderInterface);
+ //setting max size to 10
+ //call private impl's send method
+ QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,
+ SmfPostGetMaxItems, 10, m_serializedDataToServer);
+
+ //De-serialize it into qint32
+ QDataStream reader(&data,QIODevice::ReadOnly);
+ qint32 val;
+ reader>>val;
+ return val;
+ }
+
+/**
+ * returns all the formatting of posts that this service provider supports.
+ * May return 0 items to mean only QString is supported.
+ */
+QVector<QTextFormat> SmfPostProviderPrivate::supportedFormats ()
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+
+ //SmfProvider
+ write<<*m_baseProvider;
+
+ QString intfName(postProviderInterface);
+ //ToDo :- Setting maxsize to 1000
+
+ //call private impl's send method
+ QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,
+ SmfPostGetSupportedFormats, 1000, m_serializedDataToServer);
+
+ //De-serialize it into QVector<QTextFormat>
+ QDataStream reader(&data,QIODevice::ReadOnly);
+ QVector<QTextFormat> val;
+ reader>>val;
+ return val;
+ }
+
+/**
+ * returns whether this SP supports Appearence @see SmfAppearenceInfo
+ */
+bool SmfPostProviderPrivate::supportsAppearence ()
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+
+ //SmfProvider
+ write<<*m_baseProvider;
+
+ QString intfName(postProviderInterface);
+ //we are not mentioning the max size, as we'll receive only bool
+ //call private impl's send method
+ QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,
+ SmfPostGetAppearanceSupport, 10, m_serializedDataToServer);
+
+ //De-serialize it into bool
+ QDataStream reader(&data,QIODevice::ReadOnly);
+ bool val;
+ reader>>val;
+ return val;
+ }
+
+/**
+ * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
+ * once the post lists are available
+ * @param user user's contact in this SP, omit for self contact
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @see postsAvailable()
+ */
+void SmfPostProviderPrivate::posts(SmfContact* user ,int pageNum,int perPage)
+ {
+ //We need to pass Opcode and SmfProvider+SmfContact (when user is not NULL) serialized into bytearray
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ if(user)
+ {
+ write<<m_argFlag;
+ write<<*user;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<pageNum;
+ write<<m_argFlag;
+ write<<perPage;
+
+ QString intfName(postProviderInterface);
+ int maxAllocation = MaxSmfPostSize*perPage;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactRetrievePosts, maxAllocation);
+ }
+
+/**
+ * Updates a post to own area, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData data to be posted
+ * @param location location data
+ */
+void SmfPostProviderPrivate::post(SmfPost& postData,SmfLocation& location)
+ {
+ m_serializedDataToServer.clear();
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+
+ //SmfProvider
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<postData;
+ write<<m_argFlag;
+ write<<location;
+
+ QString intfName(postProviderInterface);
+
+ //we are not mentioning the max size, as we'll receive only bool
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactPost, 10);
+ }
+
+/**
+ * Updates the last post to own area with new data, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData edited/new data to be posted
+ * @param location location data
+ */
+void SmfPostProviderPrivate::updatePost(SmfPost& postData)
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ //SmfProvider
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<postData;
+
+ QString intfName(postProviderInterface);
+ //we are not mentioning the max size, as we'll receive only bool
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactUpdatePost, 10);
+ }
+
+/**
+ * Updates a post to a particular Smf contact. the success of the post can be checked with signal
+ * updatePostFinished() signal.
+ * @param postData data to be posted
+ * @param contact contact to which the post is to be directed
+ * @param location location data
+ */
+void SmfPostProviderPrivate::postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location)
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+
+ //SmfProvider
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<postData;
+ write<<m_argFlag;
+ write<<contact;
+ if(location)
+ {
+ write<<m_argFlag;
+ write<<*location;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(postProviderInterface);
+ //we are not mentioning the max size, as we'll receive only bool
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactPostDirected, 10);
+ }
+
+/**
+ * Method to post a comment on a post.
+ * @param aTarget Post on which comment has to be posted
+ * @param aComment comment to be posted
+ * @param aLocation location data
+ */
+void SmfPostProviderPrivate::commentOnAPost( SmfPost &aTarget, SmfPost &aComment,
+ SmfLocation *aLocation)
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+
+ //SmfProvider
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<aTarget;
+ write<<m_argFlag;
+ write<<aComment;
+
+ if(aLocation)
+ {
+ write<<m_argFlag;
+ write<<*aLocation;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(postProviderInterface);
+ //we are not mentioning the max size, as we'll receive only bool
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactCommentOnAPost, 10);
+ }
+
+/**
+ * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
+ * @param appearence user appearance
+ * @see SmfPresenceInfo
+ * @return False on Failure/Not supported
+ */
+bool SmfPostProviderPrivate::postAppearence(SmfAppearenceInfo appearence,
+ const QString &status)
+ {
+ //TODO:-How to return "supported" value? should it be synchronous?
+ //Currently doing it asynchronously with the assumption of always supported
+ //TODO:- implement some signal completion API
+ m_serializedDataToServer.clear();
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<appearence;
+ write<<m_argFlag;
+ write<<status;
+
+ QString intfName(postProviderInterface);
+ //we are not mentioning the max size, as we'll receive only bool
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactPostAppearence, 10);
+
+ return true;
+ }
+
+/**
+ * Share a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
+ * emits updatePostFinished() signal when done.
+ * @param postData data to be posted
+ * @param contact contact to which the post belonged
+ * @param bool whether user changed items within the post
+ */
+void SmfPostProviderPrivate::sharePost(SmfPost& postData,SmfContact& contact,bool edited)
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<postData;
+ write<<m_argFlag;
+ write<<contact;
+ write<<m_argFlag;
+ write<<edited;
+
+ QString intfName(postProviderInterface);
+ //we are not mentioning the max size, as we'll receive only bool
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactSharePost, 10);
+ }
+
+/**
+ * Request for a custom operation. The signal customDataAvailable() is emitted
+ * when the result is available.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+void SmfPostProviderPrivate::customRequest ( const int& operationId, QByteArray* customData )
+ {
+ SmfProvider* m_baseProvider = m_postProvider->getProvider();
+
+ //serialize start
+ m_serializedDataToServer.clear();
+ QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
+ write<<*m_baseProvider;
+ m_argFlag = 1;
+ write<<m_argFlag;
+ write<<operationId;
+ if(customData)
+ {
+ write<<m_argFlag;
+ write<<*customData;
+ }
+ else
+ {
+ m_argFlag = 0;
+ write<<m_argFlag;
+ }
+
+ QString intfName(postProviderInterface);
+ //ToDo:- How much size to allocate for custo data? keeping MaxSmfPostSize for now
+ int maxAllocation = MaxSmfPostSize;
+
+ //call private impl's send method
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
+ SmfContactPostCustomRequest, maxAllocation);
+ }
+
+/**
+* From smfobserver
+*/
+void SmfPostProviderPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
+ {
+ qDebug()<<"Inside SmfPostProviderPrivate::resultsAvailable()";
+ qDebug()<<"opcode = "<<opcode;
+
+ QDataStream reader(&result,QIODevice::ReadOnly);
+
+ //Now de-serialize it based on opcode
+ switch(opcode)
+ {
+ case SmfContactRetrievePosts:
+ {
+ SmfPostList* m_postList = new SmfPostList;
+ reader>>*(m_postList);
+
+ qDebug()<<"postList.count="<<m_postList->count();
+
+ //not incorporating paging now
+ SmfResultPage page;
+
+ emit m_postProvider->postsAvailable(m_postList,error,page);
+ }
+ break;
+
+ case SmfContactPost:
+ case SmfContactUpdatePost:
+ case SmfContactPostDirected:
+ case SmfContactCommentOnAPost:
+ case SmfContactPostAppearence:
+ case SmfContactSharePost:
+ {
+ int errInt;
+ reader>>errInt;
+ qDebug()<<"success = "<<errInt;
+ SmfError success = (SmfError)errInt;
+ emit m_postProvider->postFinished(success);
+ }
+ break;
+
+ case SmfContactPostCustomRequest:
+ {
+ int operationId;
+ QByteArray *data = new QByteArray;
+ reader>>operationId;
+ reader>>*data;
+ qDebug()<<"operationId = "<<operationId;
+ qDebug()<<"data size = "<<data->size();
+ emit m_postProvider->customDataAvailable(operationId, data);
+ }
+ break;
+
+ default:
+ Q_ASSERT_X(1,"PostProvider Private Unknown opcode","default case");
+ }
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfpostprovider_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,189 @@
+/**
+ * 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 SmfPostProvider
+ *
+ */
+
+#ifndef SMFPOSTPROVIDER_P_H_
+#define SMFPOSTPROVIDER_P_H_
+
+#include <QVector>
+#include <QTextFormat>
+#include <smfclientglobal.h>
+#include <smfglobal.h>
+#include <smfobserver.h>
+#include <smfpost.h>
+
+// Forward declaration
+class SmfProvider;
+class SmfContact;
+class SmfLocation;
+class SmfPostProvider;
+#ifdef Q_OS_SYMBIAN
+ class CSmfClientSymbian;
+#else
+ class SmfClientQt;
+#endif
+
+/**
+ * Data size limits
+ */
+/**
+ * Single Post-1 MB
+ */
+const int KSmfPostMaxSize = 1000000;
+
+
+/**
+ * Private Qt wrapper
+ * Provided to accomodate diff facilities in diff platforms.
+ * Uses Symbian client-server for Symbian
+ * QDbus for linux
+ * QLocalserver for rest of the platforms
+ * Note:- only symbian client-server impl is provided at the moment
+ **/
+class SmfPostProviderPrivate: public smfObserver
+ {
+ Q_OBJECT
+
+public:
+ /**
+ * Constructor
+ */
+ SmfPostProviderPrivate(SmfPostProvider* postProvider=0);
+
+ /**
+ * Destructor
+ */
+ ~SmfPostProviderPrivate();
+
+public:
+ /**
+ * returns maximum no of chars (unicode) that service provider can post without truncation
+ * negative value means no limit
+ */
+ qint32 maxCharsInPost();
+
+ /**
+ * returns maximum no of items that can be returned in a single query to getPosts
+ * negative value means feature not supported.
+ */
+ qint32 maxItems();
+
+ /**
+ * returns all the formatting of posts that this service provider supports.
+ * May return 0 items to mean only QString is supported.
+ */
+ QVector<QTextFormat> supportedFormats();
+
+ /**
+ * returns whether this SP supports Appearence @see SmfAppearenceInfo
+ */
+ bool supportsAppearence();
+
+ /**
+ * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
+ * once the post lists are available
+ * @param user user's contact in this SP, omit for self contact
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ * @see postsAvailable()
+ */
+ void posts(SmfContact* user = 0,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
+
+ /**
+ * Updates a post to own area, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData data to be posted
+ * @param location location data
+ */
+ void post(SmfPost& postData,SmfLocation& location) ;
+
+ /**
+ * Updates the last post to own area with new data, the success of the post can be checked with signal
+ * updatePostFinished() signal
+ * @param postData edited/new data to be posted
+ * @param location location data
+ */
+ void updatePost(SmfPost& postData);
+
+ /**
+ * Updates a post to a particular Smf contact. the success of the post can be checked with signal
+ * updatePostFinished() signal.
+ * @param postData data to be posted
+ * @param contact contact to which the post is to be directed
+ * @param location location data
+ */
+ void postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location=0);
+
+ /**
+ * Method to post a comment on a post.
+ * @param aTarget Post on which comment has to be posted
+ * @param aComment comment to be posted
+ * @param aLocation location data
+ */
+ void commentOnAPost( SmfPost &aTarget, SmfPost &aComment, SmfLocation *aLocation = NULL);
+
+ /**
+ * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
+ * @param appearence user appearance
+ * @see SmfPresenceInfo
+ * @return False on Failure/Not supported
+ */
+ bool postAppearence(SmfAppearenceInfo appearence, const QString &status);
+
+ /**
+ * Share /a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
+ * emits updatePostFinished() signal when done.
+ * @param postData data to be posted
+ * @param contact contact to which the post belonged
+ * @param bool whether user changed items within the post
+ */
+ void sharePost(SmfPost& postData,SmfContact& contact,bool edited);
+
+ /**
+ * Request for a custom operation.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+ void customRequest(const int& operationId,QByteArray* customData);
+
+public: //From smfobserver
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ void resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error);
+
+private:
+ SmfPostProvider* m_postProvider;
+ QByteArray m_serializedDataToServer; //serialized xtra info, order of serialization follows order of param
+ quint8 m_argFlag;
+#ifdef Q_OS_SYMBIAN
+ CSmfClientSymbian* m_SmfClientPrivate;
+ friend class CSmfClientSymbian;
+#else
+ SmfClientQt* m_SmfClientPrivate;
+ friend class SmfClientQt;
+#endif
+ };
+
+#endif /* SMFPOSTPROVIDER_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfrelationmgr.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,148 @@
+/**
+ * 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:
+ * Interface spefication for managing associations between various social contacts
+ *
+ */
+
+#include "smfrelationmgr.h"
+#include "smfrelationmgr_p.h"
+
+SmfRelationItem::SmfRelationItem(SmfProvider* provider)
+ {
+ m_provider = *(provider);
+ }
+
+SmfProvider SmfRelationItem::getProvider() const
+ {
+ return m_provider;
+ }
+
+void SmfRelationItem::setProvider(SmfProvider& provider)
+ {
+ m_provider = provider;
+ }
+
+SmfContact SmfRelationItem::getContact() const
+ {
+ return m_contact;
+ }
+
+void SmfRelationItem::setContact(SmfContact& contact)
+ {
+ m_contact = contact;
+ }
+
+quint32 SmfRelationItem::getIndex() const
+ {
+ return m_index;
+ }
+
+void SmfRelationItem::setIndex(quint32 index)
+ {
+ m_index = index;
+ }
+
+QDataStream &operator<<( QDataStream &aDataStream,const SmfRelationItem &aRelnItem )
+ {
+ aDataStream<<aRelnItem.getProvider();
+ aDataStream<<aRelnItem.getContact();
+ aDataStream<<aRelnItem.getIndex();
+
+ return aDataStream;
+ }
+
+QDataStream &operator>>( QDataStream &aDataStream,SmfRelationItem &aRelnItem)
+ {
+ SmfContact contact;
+ SmfProvider provider;
+ quint32 index;
+
+ aDataStream>>provider;
+ aDataStream>>contact;
+ aDataStream>>index;
+
+ aRelnItem.setProvider(provider);
+ aRelnItem.setContact(contact);
+ aRelnItem.setIndex(index);
+
+ return aDataStream;
+ }
+
+
+
+SmfRelationMgr::SmfRelationMgr(QObject* parent):QObject(parent)
+ {
+ m_private = new SmfRelationMgrPrivate(this);
+ }
+
+SmfRelationMgr::~SmfRelationMgr()
+ {
+ if(m_private)
+ {
+ delete m_private;
+ m_private = NULL;
+ }
+ }
+
+SmfRelationId SmfRelationMgr::create(SmfProvider *provider, SmfContact *contact)
+ {
+ return m_private->create(provider,contact);
+ }
+
+SmfError SmfRelationMgr::associate(SmfRelationId& relation,const SmfContact* contact,SmfProvider* provider)
+ {
+ return m_private->associate(relation,contact,provider);
+ }
+
+SmfError SmfRelationMgr::remove(SmfRelationId& relation,const SmfContact* contact)
+ {
+ return m_private->remove(relation,contact);
+ }
+
+SmfRelationItem* SmfRelationMgr::searchById(const SmfRelationId& relation)
+ {
+ return m_private->searchById(relation);
+ }
+
+SmfRelationId SmfRelationMgr::searchByContact( SmfContact contact)
+ {
+ return m_private->searchByContact(contact);
+ }
+
+uint SmfRelationMgr::count(SmfRelationId relation)
+ {
+ return m_private->count(relation);
+ }
+
+SmfRelationItem* SmfRelationMgr::get(SmfRelationId& relation, quint32 index)
+ {
+ return m_private->get(relation,index);
+ }
+
+QList<SmfRelationItem> SmfRelationMgr::getAll(SmfRelationId& relation)
+ {
+ return m_private->getAll(relation);
+ }
+
+QList<SmfRelationId> SmfRelationMgr::getAllRelations()
+ {
+ return m_private->getAllRelations();
+ }
+
+SmfError SmfRelationMgr::Delete(SmfRelationId& relation)
+ {
+ return m_private->Delete(relation);
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfrelationmgr.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,170 @@
+/**
+ * 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:
+ * Interface spefication for managing associations between various social contacts
+ *
+ */
+
+#ifndef SMFRELATIONMGR_H
+#define SMFRELATIONMGR_H
+
+#include <smfprovider.h>
+#include <smfcontact.h>
+#include <smfglobal.h>
+
+// forward declaation
+class SmfRelationMgrPrivate;
+
+// implementaion constants
+const int maxSmfRelationIdSize = 500;
+const int maxSmfRelationItemSize = 1000;
+const int maxRelationItems = 1000;
+
+
+// persistent Id of a relation.
+typedef QString SmfRelationId;
+
+/**
+ * One record of a contact in a relation. Index specifies their position in the relationship.
+ */
+class SMFCLIENT_EXPORT SmfRelationItem : public SmfContact
+ {
+public:
+ SmfRelationItem(SmfProvider* provider=0);
+
+public:
+ SmfProvider getProvider() const;
+ void setProvider(SmfProvider& provider);
+
+ SmfContact getContact() const;
+ void setContact(SmfContact& contact);
+
+ quint32 getIndex() const;
+ void setIndex(quint32 index);
+
+private:
+ SmfProvider m_provider;
+ SmfContact m_contact;
+ quint32 m_index;
+ };
+
+SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfRelationItem &aRelnItem );
+
+SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfRelationItem &aRelnItem);
+
+
+/**
+ * All remote profiles (e.g. facebook, twitter, flicker) for a particular
+ * person (or entity) constitutes a relation. Relation Manager stores
+ * these relations in persistent memory.
+ *
+ * Relations and Items can be visualized in rows and columns.
+ * Each row is identified by a RelationId.
+ * Each column is identified by index of that Item in the relation
+ * Each Items holds necessary information for SmfProvider and SmfContact.
+ * In the diagram below C1, C2... could be local or remote contacts, which means
+ * that C1, C2 .. could be contacts from device-resident phonebook. For example, for contact C1,
+ * items at index 1,2,3.. in this relationship denotes C1's id in Facebook, Twitter, flickr,... .
+ *
+ * Relation Item Relation Item Relation Item Relation Item Relation Item
+ * Index1 index2 index3 index4 index5
+ * _______________________________________________________________________
+ * | | | | | |
+ * RelationId 1 | C1 | Remote | Remote | Remote | Remote |
+ * | | Contact | Contact | Contact | Contact |
+ * ------------------------------------------------------------------------------------------------------------------
+ * | | | | | |
+ * RelationId 2 | C2 | Remote | Remote | | |
+ * | | Contact | Contact | | |
+ * -----------------------------------------------------------------------------------------------------------------
+ * | | | | | |
+ * RelationId 3 | C3 | Remote | | | |
+ * | | Contact | | | |
+ * -----------------------------------------------------------------------------------------------------------------
+ * | | | | | |
+ * RelationId 4 | C4 | Remote | Remote | | |
+ * | | Contact | Contact | | |
+ * -----------------------------------------------------------------------------------------------------------------
+ * | | | | | |
+ * RelationId 5 | C5 | Remote | | | |
+ * | | Contact | | | |
+ * -----------------------------------------------------------------------------------------------------------------
+ *
+ * Items can be added (associated) to a given relation. So this is one-to-many
+ * relationship. Typically no items be present in more than one relation.
+ *
+ * All functions are synchronous at this moment.
+ */
+class SMFCLIENT_EXPORT SmfRelationMgr : public QObject
+ {
+ Q_OBJECT
+public:
+ SmfRelationMgr(QObject* parent = 0);
+ ~SmfRelationMgr();
+
+public slots:
+
+ /** create a new relation. The contact provided is the first contact in this
+ * relation.
+ * Please note that contact should have valid Guid @ref QtMobility::QContactGuid
+ * (used by Smf to store the unique id of user from facebook, etc.) and valid Url
+ * @ref QtMobility::QContactUrl
+ *
+ * If the contact is already stored with ContactManager (e.g. contact exists in phonebook),
+ * then it would have QtMobility::QContactId properly filled with managerUri and localId.
+ * These two field would also be stored in SmfRelationMgr (for easily identifying the SmfContacts).
+ *
+ * After successful creation, a relationId would be returned. More and more SmfContacts can
+ * be added to this relation using this RelationId
+ */
+ 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:
+ SmfRelationMgrPrivate* m_private; //private impl wrapper
+ };
+
+#endif // SMFRELATIONMGR_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfrelationmgr_p.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,348 @@
+/**
+ * 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
+ *
+ */
+
+#include "smfrelationmgr.h"
+#include "smfrelationmgr_p.h"
+
+#ifdef Q_OS_SYMBIAN
+ #include "smfclientsymbian.h"
+#else
+ #include "smfclientqt.h"
+#endif
+
+
+SmfRelationMgrPrivate::SmfRelationMgrPrivate(SmfRelationMgr* relnMngr)
+ {
+ Q_UNUSED(relnMngr)
+#ifdef Q_OS_SYMBIAN
+ //private impl for symbian
+ m_SmfClientPrivate = CSmfClientSymbian::NewL();
+#endif
+ }
+
+SmfRelationMgrPrivate::~SmfRelationMgrPrivate()
+ {
+ if(m_SmfClientPrivate)
+ {
+ delete m_SmfClientPrivate;
+ m_SmfClientPrivate = NULL;
+ }
+ }
+
+SmfRelationId SmfRelationMgrPrivate::create( SmfProvider *provider, SmfContact *contact)
+ {
+ m_dataForDSM.clear();
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ if(provider)
+ {
+ m_argFlag = 1;
+ writeStream<<m_argFlag;
+ writeStream<<*provider;
+ }
+ else
+ {
+ m_argFlag = 0;
+ writeStream<<m_argFlag;
+ }
+ if(contact)
+ {
+ m_argFlag = 1;
+ writeStream<<m_argFlag;
+ writeStream<<*contact;
+ }
+ else
+ {
+ m_argFlag = 0;
+ writeStream<<m_argFlag;
+ }
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ SmfRelationId relnId;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationCreate,m_dataForDSM,err,maxSmfRelationIdSize);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ readStream>>relnId;
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return relnId;
+ }
+
+SmfError SmfRelationMgrPrivate::associate( SmfRelationId& relation,
+ const SmfContact* contact, SmfProvider* provider)
+ {
+ m_dataForDSM.clear();
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<relation;
+ if(contact)
+ {
+ m_argFlag = 1;
+ writeStream<<m_argFlag;
+ writeStream<<*contact;
+ }
+ else
+ {
+ m_argFlag = 0;
+ writeStream<<m_argFlag;
+ }
+ if(provider)
+ {
+ m_argFlag = 1;
+ writeStream<<m_argFlag;
+ writeStream<<*provider;
+ }
+ else
+ {
+ m_argFlag = 0;
+ writeStream<<m_argFlag;
+ }
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ int maxAlloc = 100;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationAssociate,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ int errInt;
+ readStream>>errInt;
+ err = (SmfError)errInt;
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return err;
+ }
+
+SmfError SmfRelationMgrPrivate::remove(SmfRelationId& relation,const SmfContact* contact)
+ {
+ m_dataForDSM.clear();
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<relation;
+ if(contact)
+ {
+ m_argFlag = 1;
+ writeStream<<m_argFlag;
+ writeStream<<*contact;
+ }
+ else
+ {
+ m_argFlag = 0;
+ writeStream<<m_argFlag;
+ }
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ int maxAlloc = 100;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationRemove,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ int errInt;
+ readStream>>errInt;
+ err = (SmfError)errInt;
+ }
+ else
+ {
+ const QString errStr = QString::number(err);
+ Q_ASSERT_X(1,"SmfRelationMgrPrivate::remove","error");
+ }
+ return err;
+ }
+
+SmfRelationItem* SmfRelationMgrPrivate::searchById(const SmfRelationId& relation)
+ {
+ m_dataForDSM.clear();
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<relation;
+
+ m_dataFromDSM.clear();
+ int maxAlloc = MaxSmfContactSize;
+ SmfError err = SmfNoError;
+ SmfRelationItem *relnItem = NULL;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationSearchById,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ m_argFlag = 0;
+ readStream>>m_argFlag;
+ if(m_argFlag)
+ {
+ relnItem = new SmfRelationItem;
+ readStream>>*(relnItem);
+ }
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return relnItem;
+ }
+
+SmfRelationId SmfRelationMgrPrivate::searchByContact( SmfContact contact)
+ {
+ m_dataForDSM.clear();
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<contact;
+
+ m_dataFromDSM.clear();
+ int maxAlloc = 1000;
+ SmfError err = SmfNoError;
+ SmfRelationId relnId;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationSearchByContact,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ readStream>>relnId;
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return relnId;
+ }
+
+//number of contacts in a relation
+uint SmfRelationMgrPrivate::count(SmfRelationId relation)
+ {
+ m_dataForDSM.clear();
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<relation;
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ int maxAlloc = 100;
+ uint count;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationCount,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataForDSM,QIODevice::ReadOnly);
+ readStream>>count;
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return count;
+ }
+
+SmfRelationItem* SmfRelationMgrPrivate::get(SmfRelationId& relation, quint32 index)
+ {
+ m_dataForDSM.clear();
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<relation;
+ writeStream<<index;
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ int maxAlloc = maxSmfRelationItemSize;
+ SmfRelationItem* relationItem = NULL;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationGet,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ m_argFlag = 0;
+ readStream>>m_argFlag;
+ if(m_argFlag)
+ {
+ relationItem = new SmfRelationItem;
+ readStream>>*(relationItem);
+ }
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return relationItem;
+ }
+
+QList<SmfRelationItem> SmfRelationMgrPrivate::getAll(SmfRelationId& relation)
+ {
+ m_dataForDSM.clear();
+
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<relation;
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ QList<SmfRelationItem> relationItemList;
+ int maxAlloc = maxSmfRelationItemSize*maxRelationItems;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationGetAll,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ readStream>>relationItemList;
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return relationItemList;
+ }
+
+QList<SmfRelationId> SmfRelationMgrPrivate::getAllRelations()
+ {
+ m_dataForDSM.clear();
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ int maxAlloc = 1000*maxRelationItems;
+ QList<SmfRelationId> relationIdList;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationGetAllRelations,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ readStream>>relationIdList;
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return relationIdList;
+ }
+
+SmfError SmfRelationMgrPrivate::Delete(SmfRelationId& relation)
+ {
+ m_dataForDSM.clear();
+
+ QDataStream writeStream(&m_dataForDSM,QIODevice::WriteOnly);
+ writeStream<<relation;
+
+ m_dataFromDSM.clear();
+ SmfError err = SmfNoError;
+ int maxAlloc = 100;
+ m_dataFromDSM = m_SmfClientPrivate->sendDSMSyncRequest(SmfRelationDeleteRelation,m_dataForDSM,err,maxAlloc);
+ if(err == SmfNoError)
+ {
+ QDataStream readStream(&m_dataFromDSM,QIODevice::ReadOnly);
+ int errInt;
+ readStream>>errInt;
+ err = (SmfError)errInt;
+ }
+ else
+ {
+ User::Panic(_L("DSM err = "),err);
+ }
+ return err;
+ }
--- /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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/bwins/smfcommonu.def Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,438 @@
+EXPORTS
+ ??0SmfPictureAlbum@@QAE@XZ @ 1 NONAME ; SmfPictureAlbum::SmfPictureAlbum(void)
+ ?setCreationDate@SmfPlaylist@@QAEXABVQDateTime@@@Z @ 2 NONAME ; void SmfPlaylist::setCreationDate(class QDateTime const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfGroup@@@Z @ 3 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfGroup &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfPictureAlbum@@@Z @ 4 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPictureAlbum const &)
+ ??0SmfPicture@@QAE@XZ @ 5 NONAME ; SmfPicture::SmfPicture(void)
+ ?createParameterString@SmfPluginUtil@@QAE?AVQByteArray@@ABVQString@@W4Operation@QNetworkAccessManager@@ABV2@2W4SmfSignatureMethod@@ABV?$QMultiMap@VQByteArray@@V1@@@W4SmfParsingMode@@@Z @ 6 NONAME ; class QByteArray SmfPluginUtil::createParameterString(class QString const &, enum QNetworkAccessManager::Operation, class QByteArray const &, class QByteArray const &, enum SmfSignatureMethod, class QMultiMap<class QByteArray, class QByteArray> const &, enum SmfParsingMode)
+ ?applicationUrl@SmfProvider@@QBE?AVQUrl@@XZ @ 7 NONAME ; class QUrl SmfProvider::applicationUrl(void) const
+ ?setDetails@SmfActivityEntry@@QAE_NABVSmfPost@@@Z @ 8 NONAME ; bool SmfActivityEntry::setDetails(class SmfPost const &)
+ ?setDuration@SmfTrackInfo@@QAEXABVQTime@@@Z @ 9 NONAME ; void SmfTrackInfo::setDuration(class QTime const &)
+ ?setId@SmfLocation@@QAEXABVQString@@@Z @ 10 NONAME ; void SmfLocation::setId(class QString const &)
+ ?owner@SmfPost@@QBE?AVSmfContact@@XZ @ 11 NONAME ; class SmfContact SmfPost::owner(void) const
+ ?setGeoPositionInfo@SmfLocation@@QAEXABVQGeoPositionInfo@QtMobility@@@Z @ 12 NONAME ; void SmfLocation::setGeoPositionInfo(class QtMobility::QGeoPositionInfo const &)
+ ?setLanguage@SmfLyrics@@QAEXABVQString@@@Z @ 13 NONAME ; void SmfLyrics::setLanguage(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactType@QtMobility@@@Z @ 14 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactType const &)
+ ?metadata@SmfPlaylist@@QBE?AV?$QMap@VQString@@VQVariant@@@@XZ @ 15 NONAME ; class QMap<class QString, class QVariant> SmfPlaylist::metadata(void) const
+ ?extension@SmfPlaylist@@QBE?AV?$QMap@VQString@@VQVariant@@@@XZ @ 16 NONAME ; class QMap<class QString, class QVariant> SmfPlaylist::extension(void) const
+ ?duration@SmfSubtitle@@QBENXZ @ 17 NONAME ; double SmfSubtitle::duration(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfContact@@@Z @ 18 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfContact const &)
+ ?setLocation@SmfPlaylist@@QAEXABVQUrl@@@Z @ 19 NONAME ; void SmfPlaylist::setLocation(class QUrl const &)
+ ?postedDateTime@SmfPost@@QBE?AVQDateTime@@XZ @ 20 NONAME ; class QDateTime SmfPost::postedDateTime(void) const
+ ?setDescription@SmfPictureAlbum@@QAEXABVQString@@@Z @ 21 NONAME ; void SmfPictureAlbum::setDescription(class QString const &)
+ ?link@SmfActivityObject@@QBE?AVQString@@XZ @ 22 NONAME ; class QString SmfActivityObject::link(void) const
+ ?image@SmfArtists@@QBE?AVQImage@@XZ @ 23 NONAME ; class QImage SmfArtists::image(void) const
+ ?setVersion@SmfPlaylist@@QAEXABVQString@@@Z @ 24 NONAME ; void SmfPlaylist::setVersion(class QString const &)
+ ??0SmfLocation@@QAE@ABV0@@Z @ 25 NONAME ; SmfLocation::SmfLocation(class SmfLocation const &)
+ ?setTicketUrl@SmfEvent@@QAEXABVQUrl@@@Z @ 26 NONAME ; void SmfEvent::setTicketUrl(class QUrl const &)
+ ?setId@SmfAlbum@@QAEXABVQString@@@Z @ 27 NONAME ; void SmfAlbum::setId(class QString const &)
+ ??0SmfTrackInfo@@QAE@ABV0@@Z @ 28 NONAME ; SmfTrackInfo::SmfTrackInfo(class SmfTrackInfo const &)
+ ??1SmfMusicRating@@QAE@XZ @ 29 NONAME ; SmfMusicRating::~SmfMusicRating(void)
+ ?setObjData@SmfActivityObject@@QAEXABVQVariant@@@Z @ 30 NONAME ; void SmfActivityObject::setObjData(class QVariant const &)
+ ?setName@SmfAlbum@@QAEXABVQString@@@Z @ 31 NONAME ; void SmfAlbum::setName(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactTimestamp@QtMobility@@@Z @ 32 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactTimestamp const &)
+ ?parse@SmfPluginUtil@@QAE?AVQVariant@@PAVQIODevice@@PA_N@Z @ 33 NONAME ; class QVariant SmfPluginUtil::parse(class QIODevice *, bool *)
+ ??0SmfMusicProfile@@QAE@ABV0@@Z @ 34 NONAME ; SmfMusicProfile::SmfMusicProfile(class SmfMusicProfile const &)
+ ??0SmfPost@@QAE@XZ @ 35 NONAME ; SmfPost::SmfPost(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicFingerPrint@@@Z @ 36 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicFingerPrint &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactBirthday@QtMobility@@@Z @ 37 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactBirthday &)
+ ?caption@SmfActivityObject@@QBE?AVQString@@XZ @ 38 NONAME ; class QString SmfActivityObject::caption(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfTrackInfo@@@Z @ 39 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfTrackInfo const &)
+ ?title@SmfUrl@@QBE?AVQString@@XZ @ 40 NONAME ; class QString SmfUrl::title(void) const
+ ?tags@SmfPicture@@QBE?AVQStringList@@XZ @ 41 NONAME ; class QStringList SmfPicture::tags(void) const
+ ?language@SmfSubtitle@@QBE?AVQString@@XZ @ 42 NONAME ; class QString SmfSubtitle::language(void) const
+ ??0SmfSubtitle@@QAE@ABV0@@Z @ 43 NONAME ; SmfSubtitle::SmfSubtitle(class SmfSubtitle const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactNickname@QtMobility@@@Z @ 44 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactNickname const &)
+ ?userEvents@SmfMusicProfile@@QBE?AV?$QList@VSmfEvent@@@@XZ @ 45 NONAME ; class QList<class SmfEvent> SmfMusicProfile::userEvents(void) const
+ ??4SmfPicture@@QAEAAV0@ABV0@@Z @ 46 NONAME ; class SmfPicture & SmfPicture::operator=(class SmfPicture const &)
+ ?id@SmfUrl@@QBE?AVQString@@XZ @ 47 NONAME ; class QString SmfUrl::id(void) const
+ ?setImage@SmfPost@@QAEXABVQImage@@@Z @ 48 NONAME ; void SmfPost::setImage(class QImage const &)
+ ?supportedInterfaces@SmfProvider@@QBE?AV?$QList@VQString@@@@XZ @ 49 NONAME ; class QList<class QString> SmfProvider::supportedInterfaces(void) const
+ ??0SmfComment@@QAE@ABV0@@Z @ 50 NONAME ; SmfComment::SmfComment(class SmfComment const &)
+ ?setCaption@SmfActivityObject@@QAEXABVQString@@@Z @ 51 NONAME ; void SmfActivityObject::setCaption(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicProfile@@@Z @ 52 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicProfile &)
+ ?setLyrics@SmfLyrics@@QAEXABVQByteArray@@@Z @ 53 NONAME ; void SmfLyrics::setLyrics(class QByteArray const &)
+ ?setServiceUrl@SmfProvider@@QAEXAAVQUrl@@@Z @ 54 NONAME ; void SmfProvider::setServiceUrl(class QUrl &)
+ ??4SmfAlbum@@QAEAAV0@ABV0@@Z @ 55 NONAME ; class SmfAlbum & SmfAlbum::operator=(class SmfAlbum const &)
+ ?setTitle@SmfActivityEntry@@QAE_NABVSmfPost@@@Z @ 56 NONAME ; bool SmfActivityEntry::setTitle(class SmfPost const &)
+ ?setUrl@SmfPost@@QAEXAAVQUrl@@@Z @ 57 NONAME ; void SmfPost::setUrl(class QUrl &)
+ ?length@SmfUrl@@QBE?AVQString@@XZ @ 58 NONAME ; class QString SmfUrl::length(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfComment@@@Z @ 59 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfComment const &)
+ ??0SmfPictureAlbum@@QAE@ABV0@@Z @ 60 NONAME ; SmfPictureAlbum::SmfPictureAlbum(class SmfPictureAlbum const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfLyrics@@@Z @ 61 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfLyrics const &)
+ ?setLicense@SmfPlaylist@@QAEXABVQUrl@@@Z @ 62 NONAME ; void SmfPlaylist::setLicense(class QUrl const &)
+ ?creationDate@SmfPlaylist@@QBE?AVQDateTime@@XZ @ 63 NONAME ; class QDateTime SmfPlaylist::creationDate(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfEvent@@@Z @ 64 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfEvent &)
+ ??0SmfGroup@@QAE@ABV0@@Z @ 65 NONAME ; SmfGroup::SmfGroup(class SmfGroup const &)
+ ?parse@SmfPluginUtil@@QAE?AVQVariant@@ABVQByteArray@@PA_N@Z @ 66 NONAME ; class QVariant SmfPluginUtil::parse(class QByteArray const &, bool *)
+ ?id@SmfGroup@@QBE?AVQString@@XZ @ 67 NONAME ; class QString SmfGroup::id(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfArtists@@@Z @ 68 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfArtists const &)
+ ?setUserEvents@SmfMusicProfile@@QAEXABV?$QList@VSmfEvent@@@@@Z @ 69 NONAME ; void SmfMusicProfile::setUserEvents(class QList<class SmfEvent> const &)
+ ?setRel@SmfUrl@@QAEXABVQString@@@Z @ 70 NONAME ; void SmfUrl::setRel(class QString const &)
+ ?setUrl@SmfArtists@@QAEXABVQUrl@@@Z @ 71 NONAME ; void SmfArtists::setUrl(class QUrl const &)
+ ?setMaxRating@SmfMusicRating@@QAEXABH@Z @ 72 NONAME ; void SmfMusicRating::setMaxRating(int const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfPictureAlbum@@@Z @ 73 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPictureAlbum &)
+ ?serviceName@SmfProvider@@QBE?AVQString@@XZ @ 74 NONAME ; class QString SmfProvider::serviceName(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfActivityEntry@@@Z @ 75 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfActivityEntry &)
+ ?title@SmfTrackInfo@@QBE?AVQString@@XZ @ 76 NONAME ; class QString SmfTrackInfo::title(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfAlbum@@@Z @ 77 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfAlbum const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactTimestamp@QtMobility@@@Z @ 78 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactTimestamp &)
+ ?visibility@SmfPictureAlbum@@QBE?AW4SmfPictureVisibility@@XZ @ 79 NONAME ; enum SmfPictureVisibility SmfPictureAlbum::visibility(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactBirthday@QtMobility@@@Z @ 80 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactBirthday const &)
+ ?setTime@SmfActivityObject@@QAEXABVQDateTime@@@Z @ 81 NONAME ; void SmfActivityObject::setTime(class QDateTime const &)
+ ?rating@SmfTrackInfo@@QBE?AVSmfMusicRating@@XZ @ 82 NONAME ; class SmfMusicRating SmfTrackInfo::rating(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactOnlineAccount@QtMobility@@@Z @ 83 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactOnlineAccount &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactGeoLocation@QtMobility@@@Z @ 84 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactGeoLocation &)
+ ?type@SmfUrl@@QBE?AVQString@@XZ @ 85 NONAME ; class QString SmfUrl::type(void) const
+ ?setVenue@SmfEvent@@QAEXABVSmfLocation@@@Z @ 86 NONAME ; void SmfEvent::setVenue(class SmfLocation const &)
+ ?rating@SmfMusicRating@@QBEHXZ @ 87 NONAME ; int SmfMusicRating::rating(void) const
+ ?id@SmfActivityObject@@QBE?AVQString@@XZ @ 88 NONAME ; class QString SmfActivityObject::id(void) const
+ ?setId@SmfPictureAlbum@@QAEXABVQString@@@Z @ 89 NONAME ; void SmfPictureAlbum::setId(class QString const &)
+ ??4SmfUrl@@QAEAAV0@ABV0@@Z @ 90 NONAME ; class SmfUrl & SmfUrl::operator=(class SmfUrl const &)
+ ??0SmfPost@@QAE@ABV0@@Z @ 91 NONAME ; SmfPost::SmfPost(class SmfPost const &)
+ ?setVisibility@SmfPicture@@QAEXABW4SmfPictureVisibility@@@Z @ 92 NONAME ; void SmfPicture::setVisibility(enum SmfPictureVisibility const &)
+ ?setTimeStamp@SmfComment@@QAEXABVQDateTime@@@Z @ 93 NONAME ; void SmfComment::setTimeStamp(class QDateTime const &)
+ ?setContent@SmfActivityObject@@QAEXABVQString@@@Z @ 94 NONAME ; void SmfActivityObject::setContent(class QString const &)
+ ?id@SmfMusicProfile@@QBE?AVQString@@XZ @ 95 NONAME ; class QString SmfMusicProfile::id(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfLyrics@@@Z @ 96 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfLyrics &)
+ ??4SmfPlaylist@@QAEAAV0@ABV0@@Z @ 97 NONAME ; class SmfPlaylist & SmfPlaylist::operator=(class SmfPlaylist const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactThumbnail@QtMobility@@@Z @ 98 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactThumbnail const &)
+ ?setOwner@SmfPicture@@QAEXABVQString@@@Z @ 99 NONAME ; void SmfPicture::setOwner(class QString const &)
+ ??4SmfPictureAlbum@@QAEAAV0@ABV0@@Z @ 100 NONAME ; class SmfPictureAlbum & SmfPictureAlbum::operator=(class SmfPictureAlbum const &)
+ ?tags@SmfTrackInfo@@QBE?AVQStringList@@XZ @ 101 NONAME ; class QStringList SmfTrackInfo::tags(void) const
+ ?setType@SmfActivityObject@@QAEXABW4SmfActivityObjectType@@@Z @ 102 NONAME ; void SmfActivityObject::setType(enum SmfActivityObjectType const &)
+ ?id@SmfAlbum@@QBE?AVQString@@XZ @ 103 NONAME ; class QString SmfAlbum::id(void) const
+ ?maxRating@SmfMusicRating@@QBEHXZ @ 104 NONAME ; int SmfMusicRating::maxRating(void) const
+ ??0SmfPlaylist@@QAE@ABV0@@Z @ 105 NONAME ; SmfPlaylist::SmfPlaylist(class SmfPlaylist const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactAddress@QtMobility@@@Z @ 106 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactAddress const &)
+ ?picture@SmfPicture@@QBE?AVQImage@@XZ @ 107 NONAME ; class QImage SmfPicture::picture(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfActivityEntry@@@Z @ 108 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfActivityEntry const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfPost@@@Z @ 109 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPost const &)
+ ??1SmfPluginUtil@@QAE@XZ @ 110 NONAME ; SmfPluginUtil::~SmfPluginUtil(void)
+ ?setActivities@SmfActivityEntry@@QAE_NAAV?$QList@VSmfActivityObject@@@@@Z @ 111 NONAME ; bool SmfActivityEntry::setActivities(class QList<class SmfActivityObject> &)
+ ?thumbnail@SmfPictureAlbum@@QBE?AVQImage@@XZ @ 112 NONAME ; class QImage SmfPictureAlbum::thumbnail(void) const
+ ??4SmfSubtitle@@QAEAAV0@ABV0@@Z @ 113 NONAME ; class SmfSubtitle & SmfSubtitle::operator=(class SmfSubtitle const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfPlaylist@@@Z @ 114 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPlaylist &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfTrackInfo@@@Z @ 115 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfTrackInfo &)
+ ?setRating@SmfMusicRating@@QAEXABH@Z @ 116 NONAME ; void SmfMusicRating::setRating(int const &)
+ ?comments@SmfPlaylist@@QBE?AV?$QList@VSmfComment@@@@XZ @ 117 NONAME ; class QList<class SmfComment> SmfPlaylist::comments(void) const
+ ??0SmfGroup@@QAE@PAV?$QList@VSmfContact@@@@@Z @ 118 NONAME ; SmfGroup::SmfGroup(class QList<class SmfContact> *)
+ ?playListTitle@SmfPlaylist@@QBE?AVQString@@XZ @ 119 NONAME ; class QString SmfPlaylist::playListTitle(void) const
+ ?convert@SmfContact@@QBEXAAVQContact@QtMobility@@@Z @ 120 NONAME ; void SmfContact::convert(class QtMobility::QContact &) const
+ ??4SmfTrackInfo@@QAEAAV0@ABV0@@Z @ 121 NONAME ; class SmfTrackInfo & SmfTrackInfo::operator=(class SmfTrackInfo const &)
+ ?street@SmfLocation@@QBE?AVQString@@XZ @ 122 NONAME ; class QString SmfLocation::street(void) const
+ ?author@SmfPlaylist@@QBE?AVQString@@XZ @ 123 NONAME ; class QString SmfPlaylist::author(void) const
+ ?duration@SmfTrackInfo@@QBE?AVQTime@@XZ @ 124 NONAME ; class QTime SmfTrackInfo::duration(void) const
+ ??1SmfPictureAlbum@@QAE@XZ @ 125 NONAME ; SmfPictureAlbum::~SmfPictureAlbum(void)
+ ?setServiceIcon@SmfProvider@@QAEXAAVQImage@@@Z @ 126 NONAME ; void SmfProvider::setServiceIcon(class QImage &)
+ ??0SmfMusicRating@@QAE@ABV0@@Z @ 127 NONAME ; SmfMusicRating::SmfMusicRating(class SmfMusicRating const &)
+ ?setTitle@SmfPicture@@QAEXABVQString@@@Z @ 128 NONAME ; void SmfPicture::setTitle(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfPicture@@@Z @ 129 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPicture const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicRating@@@Z @ 130 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicRating const &)
+ ?url@SmfLocation@@QBE?AVQUrl@@XZ @ 131 NONAME ; class QUrl SmfLocation::url(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactPhoneNumber@QtMobility@@@Z @ 132 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactPhoneNumber const &)
+ ?url@SmfPictureAlbum@@QBE?AVQUrl@@XZ @ 133 NONAME ; class QUrl SmfPictureAlbum::url(void) const
+ ?image@SmfAlbum@@QBE?AVQImage@@XZ @ 134 NONAME ; class QImage SmfAlbum::image(void) const
+ ?duration@SmfEvent@@QBE?AVQTime@@XZ @ 135 NONAME ; class QTime SmfEvent::duration(void) const
+ ?setOwner@SmfPost@@QAEXABVSmfContact@@@Z @ 136 NONAME ; void SmfPost::setOwner(class SmfContact const &)
+ ?setId@SmfPost@@QAEXVQString@@@Z @ 137 NONAME ; void SmfPost::setId(class QString)
+ ??0SmfAlbum@@QAE@ABV0@@Z @ 138 NONAME ; SmfAlbum::SmfAlbum(class SmfAlbum const &)
+ ?url@SmfPicture@@QBE?AVQUrl@@XZ @ 139 NONAME ; class QUrl SmfPicture::url(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfPlaylist@@@Z @ 140 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfPlaylist const &)
+ ??_ESmfComment@@QAE@I@Z @ 141 NONAME ; SmfComment::~SmfComment(unsigned int)
+ ?setText@SmfComment@@QAEXABVQString@@@Z @ 142 NONAME ; void SmfComment::setText(class QString const &)
+ ?postedDate@SmfPicture@@QBE?AVQDateTime@@XZ @ 143 NONAME ; class QDateTime SmfPicture::postedDate(void) const
+ ?setArtists@SmfAlbum@@QAEXABVSmfArtists@@@Z @ 144 NONAME ; void SmfAlbum::setArtists(class SmfArtists const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactOnlineAccount@QtMobility@@@Z @ 145 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactOnlineAccount const &)
+ ??1SmfUrl@@QAE@XZ @ 146 NONAME ; SmfUrl::~SmfUrl(void)
+ ??1SmfActivityEntry@@QAE@XZ @ 147 NONAME ; SmfActivityEntry::~SmfActivityEntry(void)
+ ?artists@SmfTrackInfo@@QBE?AVSmfArtists@@XZ @ 148 NONAME ; class SmfArtists SmfTrackInfo::artists(void) const
+ ??0SmfMusicProfile@@QAE@XZ @ 149 NONAME ; SmfMusicProfile::SmfMusicProfile(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactThumbnail@QtMobility@@@Z @ 150 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactThumbnail &)
+ ?title@SmfActivityEntry@@QBE?AVSmfPost@@XZ @ 151 NONAME ; class SmfPost SmfActivityEntry::title(void) const
+ ??0SmfAlbum@@QAE@XZ @ 152 NONAME ; SmfAlbum::SmfAlbum(void)
+ ?ticketUrl@SmfEvent@@QBE?AVQUrl@@XZ @ 153 NONAME ; class QUrl SmfEvent::ticketUrl(void) const
+ ?setId@SmfGroup@@QAEXAAVQString@@@Z @ 154 NONAME ; void SmfGroup::setId(class QString &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactName@QtMobility@@@Z @ 155 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactName &)
+ ?text@SmfComment@@QBE?AVQString@@XZ @ 156 NONAME ; class QString SmfComment::text(void) const
+ ?setTargetObj@SmfActivityEntry@@QAE_NABVSmfActivityObject@@@Z @ 157 NONAME ; bool SmfActivityEntry::setTargetObj(class SmfActivityObject const &)
+ ?setName@SmfGroup@@QAEXAAVQString@@@Z @ 158 NONAME ; void SmfGroup::setName(class QString &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfProvider@@@Z @ 159 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfProvider &)
+ ??_ESmfEvent@@QAE@I@Z @ 160 NONAME ; SmfEvent::~SmfEvent(unsigned int)
+ ?setValue@SmfContact@@QAEXABVQString@@AAVQVariant@@@Z @ 161 NONAME ; void SmfContact::setValue(class QString const &, class QVariant &)
+ ?info@SmfPlaylist@@QBE?AVQUrl@@XZ @ 162 NONAME ; class QUrl SmfPlaylist::info(void) const
+ ?author@SmfActivityEntry@@QBE?AVSmfContact@@XZ @ 163 NONAME ; class SmfContact SmfActivityEntry::author(void) const
+ ?setLink@SmfActivityObject@@QAEXABVQString@@@Z @ 164 NONAME ; void SmfActivityObject::setLink(class QString const &)
+ ?subtitle@SmfSubtitle@@QBE?AVQByteArray@@XZ @ 165 NONAME ; class QByteArray SmfSubtitle::subtitle(void) const
+ ?setId@SmfTrackInfo@@QAEXABVQString@@@Z @ 166 NONAME ; void SmfTrackInfo::setId(class QString const &)
+ ?setImage@SmfAlbum@@QAEXABVQImage@@@Z @ 167 NONAME ; void SmfAlbum::setImage(class QImage const &)
+ ?id@SmfPost@@QBE?AVQString@@XZ @ 168 NONAME ; class QString SmfPost::id(void) const
+ ?setGenre@SmfTrackInfo@@QAEXABVQString@@@Z @ 169 NONAME ; void SmfTrackInfo::setGenre(class QString const &)
+ ?serviceUrl@SmfProvider@@QBE?AVQUrl@@XZ @ 170 NONAME ; class QUrl SmfProvider::serviceUrl(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfActivityObject@@@Z @ 171 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfActivityObject &)
+ ?releaseYear@SmfLyrics@@QBE?AVQDateTime@@XZ @ 172 NONAME ; class QDateTime SmfLyrics::releaseYear(void) const
+ ?frameRate@SmfSubtitle@@QBENXZ @ 173 NONAME ; double SmfSubtitle::frameRate(void) const
+ ??1SmfEvent@@QAE@XZ @ 174 NONAME ; SmfEvent::~SmfEvent(void)
+ ?setPostedDate@SmfPicture@@QAEXABVQDateTime@@@Z @ 175 NONAME ; void SmfPicture::setPostedDate(class QDateTime const &)
+ ?setTitle@SmfPictureAlbum@@QAEXABVQString@@@Z @ 176 NONAME ; void SmfPictureAlbum::setTitle(class QString const &)
+ ?comments@SmfPicture@@QBE?AV?$QList@VSmfComment@@@@XZ @ 177 NONAME ; class QList<class SmfComment> SmfPicture::comments(void) const
+ ??1SmfMusicFingerPrint@@QAE@XZ @ 178 NONAME ; SmfMusicFingerPrint::~SmfMusicFingerPrint(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfProvider@@@Z @ 179 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfProvider const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactAvatar@QtMobility@@@Z @ 180 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactAvatar const &)
+ ?trackList@SmfPlaylist@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 181 NONAME ; class QList<class SmfTrackInfo> SmfPlaylist::trackList(void) const
+ ??1SmfArtists@@QAE@XZ @ 182 NONAME ; SmfArtists::~SmfArtists(void)
+ ??_ESmfActivityObject@@QAE@I@Z @ 183 NONAME ; SmfActivityObject::~SmfActivityObject(unsigned int)
+ ??4SmfMusicRating@@QAEAAV0@ABV0@@Z @ 184 NONAME ; class SmfMusicRating & SmfMusicRating::operator=(class SmfMusicRating const &)
+ ?getNonce@SmfPluginUtil@@QAEXAAVQString@@_J@Z @ 185 NONAME ; void SmfPluginUtil::getNonce(class QString &, long long)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactAvatar@QtMobility@@@Z @ 186 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactAvatar &)
+ ??0SmfActivityObject@@QAE@XZ @ 187 NONAME ; SmfActivityObject::SmfActivityObject(void)
+ ?musicFingerPrint@SmfMusicFingerPrint@@QBE?AVQByteArray@@XZ @ 188 NONAME ; class QByteArray SmfMusicFingerPrint::musicFingerPrint(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfSubtitle@@@Z @ 189 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfSubtitle &)
+ ??4SmfComment@@QAEAAV0@ABV0@@Z @ 190 NONAME ; class SmfComment & SmfComment::operator=(class SmfComment const &)
+ ?subTypes@SmfContact@@QBE?AVQStringList@@XZ @ 191 NONAME ; class QStringList SmfContact::subTypes(void) const
+ ??0SmfActivityObject@@QAE@ABV0@@Z @ 192 NONAME ; SmfActivityObject::SmfActivityObject(class SmfActivityObject const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactNote@QtMobility@@@Z @ 193 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactNote &)
+ ?setImage@SmfArtists@@QAEXABVQImage@@@Z @ 194 NONAME ; void SmfArtists::setImage(class QImage const &)
+ ?setTitle@SmfTrackInfo@@QAEXABVQString@@@Z @ 195 NONAME ; void SmfTrackInfo::setTitle(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactEmailAddress@QtMobility@@@Z @ 196 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactEmailAddress const &)
+ ??4SmfContact@@QAEAAV0@ABV0@@Z @ 197 NONAME ; class SmfContact & SmfContact::operator=(class SmfContact const &)
+ ??1SmfLocation@@QAE@XZ @ 198 NONAME ; SmfLocation::~SmfLocation(void)
+ ?version@SmfPlaylist@@QBE?AVQString@@XZ @ 199 NONAME ; class QString SmfPlaylist::version(void) const
+ ??1SmfLyrics@@QAE@XZ @ 200 NONAME ; SmfLyrics::~SmfLyrics(void)
+ ??0SmfEvent@@QAE@ABV0@@Z @ 201 NONAME ; SmfEvent::SmfEvent(class SmfEvent const &)
+ ?setMusicFingerPrint@SmfMusicFingerPrint@@QAEXABVQByteArray@@@Z @ 202 NONAME ; void SmfMusicFingerPrint::setMusicFingerPrint(class QByteArray const &)
+ ?hreflang@SmfUrl@@QBE?AVQString@@XZ @ 203 NONAME ; class QString SmfUrl::hreflang(void) const
+ ?setDescription@SmfProvider@@QAEXAAVQString@@@Z @ 204 NONAME ; void SmfProvider::setDescription(class QString &)
+ ??0SmfActivityEntry@@QAE@ABV0@@Z @ 205 NONAME ; SmfActivityEntry::SmfActivityEntry(class SmfActivityEntry const &)
+ ?activities@SmfActivityEntry@@QBE?AV?$QList@VSmfActivityObject@@@@XZ @ 206 NONAME ; class QList<class SmfActivityObject> SmfActivityEntry::activities(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactUrl@QtMobility@@@Z @ 207 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactUrl &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactOrganization@QtMobility@@@Z @ 208 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactOrganization const &)
+ ?comments@SmfTrackInfo@@QBE?AV?$QList@VSmfComment@@@@XZ @ 209 NONAME ; class QList<class SmfComment> SmfTrackInfo::comments(void) const
+ ?setComment@SmfTrackInfo@@QAEXABV?$QList@VSmfComment@@@@@Z @ 210 NONAME ; void SmfTrackInfo::setComment(class QList<class SmfComment> const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfSubtitle@@@Z @ 211 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfSubtitle const &)
+ ?attribution@SmfPlaylist@@QBE?AV?$QList@VQUrl@@@@XZ @ 212 NONAME ; class QList<class QUrl> SmfPlaylist::attribution(void) const
+ ?addKeywords@SmfPictureAlbum@@QAEXABVQStringList@@@Z @ 213 NONAME ; void SmfPictureAlbum::addKeywords(class QStringList const &)
+ ?setTags@SmfTrackInfo@@QAEXABVQStringList@@@Z @ 214 NONAME ; void SmfTrackInfo::setTags(class QStringList const &)
+ ?setExtension@SmfPlaylist@@QAEXABV?$QMap@VQString@@VQVariant@@@@@Z @ 215 NONAME ; void SmfPlaylist::setExtension(class QMap<class QString, class QVariant> const &)
+ ?setArtists@SmfEvent@@QAEXABVSmfArtists@@@Z @ 216 NONAME ; void SmfEvent::setArtists(class SmfArtists const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfGroup@@@Z @ 217 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfGroup const &)
+ ?id@SmfPicture@@QBE?AVQString@@XZ @ 218 NONAME ; class QString SmfPicture::id(void) const
+ ?description@SmfPost@@QBE?AVQString@@XZ @ 219 NONAME ; class QString SmfPost::description(void) const
+ ?value@SmfContact@@QBE?AVQVariant@@ABVQString@@@Z @ 220 NONAME ; class QVariant SmfContact::value(class QString const &) const
+ ??0SmfActivityEntry@@QAE@XZ @ 221 NONAME ; SmfActivityEntry::SmfActivityEntry(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactPhoneNumber@QtMobility@@@Z @ 222 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactPhoneNumber &)
+ ?targetObj@SmfActivityEntry@@QBE?AVSmfActivityObject@@XZ @ 223 NONAME ; class SmfActivityObject SmfActivityEntry::targetObj(void) const
+ ?id@SmfPlaylist@@QBE?AVQString@@XZ @ 224 NONAME ; class QString SmfPlaylist::id(void) const
+ ?title@SmfPicture@@QBE?AVQString@@XZ @ 225 NONAME ; class QString SmfPicture::title(void) const
+ ?title@SmfEvent@@QBE?AVQString@@XZ @ 226 NONAME ; class QString SmfEvent::title(void) const
+ ?setMinRating@SmfMusicRating@@QAEXABH@Z @ 227 NONAME ; void SmfMusicRating::setMinRating(int const &)
+ ??0SmfPicture@@QAE@ABV0@@Z @ 228 NONAME ; SmfPicture::SmfPicture(class SmfPicture const &)
+ ?setId@SmfUrl@@QAEXABVQString@@@Z @ 229 NONAME ; void SmfUrl::setId(class QString const &)
+ ?setId@SmfActivityEntry@@QAE_NABVQString@@@Z @ 230 NONAME ; bool SmfActivityEntry::setId(class QString const &)
+ ?setDescription@SmfPost@@QAEXABVQString@@@Z @ 231 NONAME ; void SmfPost::setDescription(class QString const &)
+ ?href@SmfUrl@@QBE?AVQUrl@@XZ @ 232 NONAME ; class QUrl SmfUrl::href(void) const
+ ?image@SmfPost@@QBE?AVQImage@@XZ @ 233 NONAME ; class QImage SmfPost::image(void) const
+ ?id@SmfLyrics@@QBE?AVQString@@XZ @ 234 NONAME ; class QString SmfLyrics::id(void) const
+ ?setUrl@SmfPicture@@QAEXABVQUrl@@@Z @ 235 NONAME ; void SmfPicture::setUrl(class QUrl const &)
+ ??4SmfEvent@@QAEAAV0@ABV0@@Z @ 236 NONAME ; class SmfEvent & SmfEvent::operator=(class SmfEvent const &)
+ ??1SmfContact@@QAE@XZ @ 237 NONAME ; SmfContact::~SmfContact(void)
+ ??4SmfPost@@QAEAAV0@ABV0@@Z @ 238 NONAME ; class SmfPost & SmfPost::operator=(class SmfPost const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactPresence@QtMobility@@@Z @ 239 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactPresence &)
+ ?genre@SmfTrackInfo@@QBE?AVQString@@XZ @ 240 NONAME ; class QString SmfTrackInfo::genre(void) const
+ ??0SmfLocation@@QAE@XZ @ 241 NONAME ; SmfLocation::SmfLocation(void)
+ ?license@SmfPlaylist@@QBE?AVQUrl@@XZ @ 242 NONAME ; class QUrl SmfPlaylist::license(void) const
+ ?setId@SmfEvent@@QAEXABVQString@@@Z @ 243 NONAME ; void SmfEvent::setId(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactGuid@QtMobility@@@Z @ 244 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactGuid &)
+ ?serviceIcon@SmfProvider@@QBE?AVQImage@@XZ @ 245 NONAME ; class QImage SmfProvider::serviceIcon(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactEmailAddress@QtMobility@@@Z @ 246 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactEmailAddress &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfContact@@@Z @ 247 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfContact &)
+ ?interestInfo@SmfMusicProfile@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 248 NONAME ; class QList<class SmfTrackInfo> SmfMusicProfile::interestInfo(void) const
+ ?setStreet@SmfLocation@@QAEXABVQString@@@Z @ 249 NONAME ; void SmfLocation::setStreet(class QString const &)
+ ??1SmfPost@@QAE@XZ @ 250 NONAME ; SmfPost::~SmfPost(void)
+ ?members@SmfGroup@@QBE?AV?$QList@VSmfContact@@@@XZ @ 251 NONAME ; class QList<class SmfContact> SmfGroup::members(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfMusicRating@@@Z @ 252 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfMusicRating &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactId@QtMobility@@@Z @ 253 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactId &)
+ ?setYear@SmfTrackInfo@@QAEXABVQDateTime@@@Z @ 254 NONAME ; void SmfTrackInfo::setYear(class QDateTime const &)
+ ?geoPositionInfo@SmfLocation@@QBE?AVQGeoPositionInfo@QtMobility@@XZ @ 255 NONAME ; class QtMobility::QGeoPositionInfo SmfLocation::geoPositionInfo(void) const
+ ??0SmfMusicFingerPrint@@QAE@ABV0@@Z @ 256 NONAME ; SmfMusicFingerPrint::SmfMusicFingerPrint(class SmfMusicFingerPrint const &)
+ ?setPlayListTitle@SmfPlaylist@@QAEXABVQString@@@Z @ 257 NONAME ; void SmfPlaylist::setPlayListTitle(class QString const &)
+ ?time@SmfActivityObject@@QBE?AVQDateTime@@XZ @ 258 NONAME ; class QDateTime SmfActivityObject::time(void) const
+ ??1SmfComment@@QAE@XZ @ 259 NONAME ; SmfComment::~SmfComment(void)
+ ?description@SmfPicture@@QBE?AVQString@@XZ @ 260 NONAME ; class QString SmfPicture::description(void) const
+ ?visibility@SmfPicture@@QBE?AW4SmfPictureVisibility@@XZ @ 261 NONAME ; enum SmfPictureVisibility SmfPicture::visibility(void) const
+ ?setName@SmfLocation@@QAEXABVQString@@@Z @ 262 NONAME ; void SmfLocation::setName(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactOrganization@QtMobility@@@Z @ 263 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactOrganization &)
+ ?eventDateTime@SmfEvent@@QBE?AVQDateTime@@XZ @ 264 NONAME ; class QDateTime SmfEvent::eventDateTime(void) const
+ ?setEventDateTime@SmfEvent@@QAEXABVQDateTime@@@Z @ 265 NONAME ; void SmfEvent::setEventDateTime(class QDateTime const &)
+ ?setAuthor@SmfPlaylist@@QAEXABVQString@@@Z @ 266 NONAME ; void SmfPlaylist::setAuthor(class QString const &)
+ ?location@SmfPlaylist@@QBE?AVQUrl@@XZ @ 267 NONAME ; class QUrl SmfPlaylist::location(void) const
+ ?lyrics@SmfLyrics@@QBE?AVQByteArray@@XZ @ 268 NONAME ; class QByteArray SmfLyrics::lyrics(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfAlbum@@@Z @ 269 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfAlbum &)
+ ?thumbnail@SmfActivityObject@@QBE?AVQImage@@XZ @ 270 NONAME ; class QImage SmfActivityObject::thumbnail(void) const
+ ??0SmfUrl@@QAE@ABV0@@Z @ 271 NONAME ; SmfUrl::SmfUrl(class SmfUrl const &)
+ ?comments@SmfPictureAlbum@@QBE?AV?$QList@VSmfComment@@@@XZ @ 272 NONAME ; class QList<class SmfComment> SmfPictureAlbum::comments(void) const
+ ??1SmfMusicProfile@@QAE@XZ @ 273 NONAME ; SmfMusicProfile::~SmfMusicProfile(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicFingerPrint@@@Z @ 274 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicFingerPrint const &)
+ ?title@SmfPost@@QBE?AVQString@@XZ @ 275 NONAME ; class QString SmfPost::title(void) const
+ ??1SmfSubtitle@@QAE@XZ @ 276 NONAME ; SmfSubtitle::~SmfSubtitle(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactType@QtMobility@@@Z @ 277 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactType &)
+ ?setLength@SmfUrl@@QAEXABVQString@@@Z @ 278 NONAME ; void SmfUrl::setLength(class QString const &)
+ ?setZipCode@SmfLocation@@QAEXABVQString@@@Z @ 279 NONAME ; void SmfLocation::setZipCode(class QString const &)
+ ?details@SmfActivityEntry@@QBE?AVSmfPost@@XZ @ 280 NONAME ; class SmfPost SmfActivityEntry::details(void) const
+ ?names@SmfArtists@@QBE?AVQStringList@@XZ @ 281 NONAME ; class QStringList SmfArtists::names(void) const
+ ?setFrameRate@SmfSubtitle@@QAEXABN@Z @ 282 NONAME ; void SmfSubtitle::setFrameRate(double const &)
+ ?setType@SmfUrl@@QAEXABVQString@@@Z @ 283 NONAME ; void SmfUrl::setType(class QString const &)
+ ?setServiceName@SmfProvider@@QAEXAAVQString@@@Z @ 284 NONAME ; void SmfProvider::setServiceName(class QString &)
+ ?errorLine@SmfPluginUtil@@QBEHXZ @ 285 NONAME ; int SmfPluginUtil::errorLine(void) const
+ ?id@SmfEvent@@QBE?AVQString@@XZ @ 286 NONAME ; class QString SmfEvent::id(void) const
+ ?description@SmfPictureAlbum@@QBE?AVQString@@XZ @ 287 NONAME ; class QString SmfPictureAlbum::description(void) const
+ ?setSubtitle@SmfSubtitle@@QAEXABVQByteArray@@@Z @ 288 NONAME ; void SmfSubtitle::setSubtitle(class QByteArray const &)
+ ?setVisibility@SmfPictureAlbum@@QAEXABW4SmfPictureVisibility@@@Z @ 289 NONAME ; void SmfPictureAlbum::setVisibility(enum SmfPictureVisibility const &)
+ ?id@SmfActivityEntry@@QBE?AVQString@@XZ @ 290 NONAME ; class QString SmfActivityEntry::id(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactPresence@QtMobility@@@Z @ 291 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactPresence const &)
+ ?setReleaseYear@SmfSubtitle@@QAEXABVQDateTime@@@Z @ 292 NONAME ; void SmfSubtitle::setReleaseYear(class QDateTime const &)
+ ??4SmfGroup@@QAEAAV0@ABV0@@Z @ 293 NONAME ; class SmfGroup & SmfGroup::operator=(class SmfGroup const &)
+ ??4SmfArtists@@QAEAAV0@ABV0@@Z @ 294 NONAME ; class SmfArtists & SmfArtists::operator=(class SmfArtists const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfEvent@@@Z @ 295 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfEvent const &)
+ ?city@SmfLocation@@QBE?AVQString@@XZ @ 296 NONAME ; class QString SmfLocation::city(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfUrl@@@Z @ 297 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfUrl &)
+ ??1SmfProvider@@QAE@XZ @ 298 NONAME ; SmfProvider::~SmfProvider(void)
+ ??_ESmfContact@@QAE@I@Z @ 299 NONAME ; SmfContact::~SmfContact(unsigned int)
+ ?downloadFlag@SmfPicture@@QAE_NXZ @ 300 NONAME ; bool SmfPicture::downloadFlag(void)
+ ?venue@SmfEvent@@QBE?AVSmfLocation@@XZ @ 301 NONAME ; class SmfLocation SmfEvent::venue(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactAnniversary@QtMobility@@@Z @ 302 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactAnniversary const &)
+ ?actionName@SmfActivityEntry@@QBE?AW4SmfActivityVerb@@XZ @ 303 NONAME ; enum SmfActivityVerb SmfActivityEntry::actionName(void) const
+ ?setLanguage@SmfSubtitle@@QAEXABVQString@@@Z @ 304 NONAME ; void SmfSubtitle::setLanguage(class QString const &)
+ ?releaseYear@SmfSubtitle@@QBE?AVQDateTime@@XZ @ 305 NONAME ; class QDateTime SmfSubtitle::releaseYear(void) const
+ ?name@SmfGroup@@QBE?AVQString@@XZ @ 306 NONAME ; class QString SmfGroup::name(void) const
+ ??4SmfMusicFingerPrint@@QAEAAV0@ABV0@@Z @ 307 NONAME ; class SmfMusicFingerPrint & SmfMusicFingerPrint::operator=(class SmfMusicFingerPrint const &)
+ ??0SmfLyrics@@QAE@ABV0@@Z @ 308 NONAME ; SmfLyrics::SmfLyrics(class SmfLyrics const &)
+ ?setMusicUsageInfo@SmfMusicProfile@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 309 NONAME ; void SmfMusicProfile::setMusicUsageInfo(class QList<class SmfTrackInfo> const &)
+ ?setInfo@SmfPlaylist@@QAEXABVQUrl@@@Z @ 310 NONAME ; void SmfPlaylist::setInfo(class QUrl const &)
+ ?setId@SmfLyrics@@QAEXABVQString@@@Z @ 311 NONAME ; void SmfLyrics::setId(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfComment@@@Z @ 312 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfComment &)
+ ?setPostedDate@SmfPictureAlbum@@QAEXABVQDateTime@@@Z @ 313 NONAME ; void SmfPictureAlbum::setPostedDate(class QDateTime const &)
+ ??1SmfPicture@@QAE@XZ @ 314 NONAME ; SmfPicture::~SmfPicture(void)
+ ??0SmfArtists@@QAE@XZ @ 315 NONAME ; SmfArtists::SmfArtists(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactName@QtMobility@@@Z @ 316 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactName const &)
+ ?setAlbum@SmfTrackInfo@@QAEXABVSmfAlbum@@@Z @ 317 NONAME ; void SmfTrackInfo::setAlbum(class SmfAlbum const &)
+ ?setId@SmfPicture@@QAEXABVQString@@@Z @ 318 NONAME ; void SmfPicture::setId(class QString const &)
+ ?pictureCount@SmfPictureAlbum@@QBEHXZ @ 319 NONAME ; int SmfPictureAlbum::pictureCount(void) const
+ ?artists@SmfEvent@@QBE?AVSmfArtists@@XZ @ 320 NONAME ; class SmfArtists SmfEvent::artists(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfArtists@@@Z @ 321 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfArtists &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactUrl@QtMobility@@@Z @ 322 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactUrl const &)
+ ?addComment@SmfPicture@@QAEXABVSmfComment@@@Z @ 323 NONAME ; void SmfPicture::addComment(class SmfComment const &)
+ ?objData@SmfActivityObject@@QBE?AVQVariant@@XZ @ 324 NONAME ; class QVariant SmfActivityObject::objData(void) const
+ ?setSupportedInterfaces@SmfProvider@@QAEXAAVQStringList@@@Z @ 325 NONAME ; void SmfProvider::setSupportedInterfaces(class QStringList &)
+ ?setHhreflang@SmfUrl@@QAEXABVQString@@@Z @ 326 NONAME ; void SmfUrl::setHhreflang(class QString const &)
+ ??0SmfUrl@@QAE@XZ @ 327 NONAME ; SmfUrl::SmfUrl(void)
+ ??0SmfPicture@@QAE@ABVQImage@@@Z @ 328 NONAME ; SmfPicture::SmfPicture(class QImage const &)
+ ??0SmfMusicFingerPrint@@QAE@XZ @ 329 NONAME ; SmfMusicFingerPrint::SmfMusicFingerPrint(void)
+ ?setId@SmfPlaylist@@QAEXABVQString@@@Z @ 330 NONAME ; void SmfPlaylist::setId(class QString const &)
+ ?setSupportedLanguages@SmfProvider@@QAEXAAVQStringList@@@Z @ 331 NONAME ; void SmfProvider::setSupportedLanguages(class QStringList &)
+ ?setId@SmfSubtitle@@QAEXABVQString@@@Z @ 332 NONAME ; void SmfSubtitle::setId(class QString const &)
+ ??0SmfSubtitle@@QAE@XZ @ 333 NONAME ; SmfSubtitle::SmfSubtitle(void)
+ ?addTags@SmfPicture@@QAEXABVQStringList@@@Z @ 334 NONAME ; void SmfPicture::addTags(class QStringList const &)
+ ??0SmfTrackInfo@@QAE@XZ @ 335 NONAME ; SmfTrackInfo::SmfTrackInfo(void)
+ ??0SmfPost@@QAE@VSmfContact@@VQString@@1VQImage@@VQUrl@@@Z @ 336 NONAME ; SmfPost::SmfPost(class SmfContact, class QString, class QString, class QImage, class QUrl)
+ ?setHref@SmfUrl@@QAEXABVQUrl@@@Z @ 337 NONAME ; void SmfUrl::setHref(class QUrl const &)
+ ?url@SmfArtists@@QBE?AVQUrl@@XZ @ 338 NONAME ; class QUrl SmfArtists::url(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactAddress@QtMobility@@@Z @ 339 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactAddress &)
+ ?setPictureCount@SmfPictureAlbum@@QAEXH@Z @ 340 NONAME ; void SmfPictureAlbum::setPictureCount(int)
+ ?setPicture@SmfPicture@@QAEXABVQImage@@@Z @ 341 NONAME ; void SmfPicture::setPicture(class QImage const &)
+ ?setNames@SmfArtists@@QAEXABVQStringList@@@Z @ 342 NONAME ; void SmfArtists::setNames(class QStringList const &)
+ ?setId@SmfActivityObject@@QAEXABVQString@@@Z @ 343 NONAME ; void SmfActivityObject::setId(class QString const &)
+ ??1SmfPlaylist@@QAE@XZ @ 344 NONAME ; SmfPlaylist::~SmfPlaylist(void)
+ ?setApplicationUrl@SmfProvider@@QAEXAAVQUrl@@@Z @ 345 NONAME ; void SmfProvider::setApplicationUrl(class QUrl &)
+ ?id@SmfTrackInfo@@QBE?AVQString@@XZ @ 346 NONAME ; class QString SmfTrackInfo::id(void) const
+ ?minRating@SmfMusicRating@@QBEHXZ @ 347 NONAME ; int SmfMusicRating::minRating(void) const
+ ??0SmfPluginUtil@@QAE@XZ @ 348 NONAME ; SmfPluginUtil::SmfPluginUtil(void)
+ ?name@SmfLocation@@QBE?AVQString@@XZ @ 349 NONAME ; class QString SmfLocation::name(void) const
+ ?title@SmfPictureAlbum@@QBE?AVQString@@XZ @ 350 NONAME ; class QString SmfPictureAlbum::title(void) const
+ ?setAuthor@SmfActivityEntry@@QAE_NABVSmfContact@@@Z @ 351 NONAME ; bool SmfActivityEntry::setAuthor(class SmfContact const &)
+ ?addComment@SmfPictureAlbum@@QAEXABVSmfComment@@@Z @ 352 NONAME ; void SmfPictureAlbum::addComment(class SmfComment const &)
+ ??0SmfProvider@@QAE@XZ @ 353 NONAME ; SmfProvider::SmfProvider(void)
+ ?timeStamp@SmfComment@@QBE?AVQDateTime@@XZ @ 354 NONAME ; class QDateTime SmfComment::timeStamp(void) const
+ ??0SmfArtists@@QAE@ABV0@@Z @ 355 NONAME ; SmfArtists::SmfArtists(class SmfArtists const &)
+ ?name@SmfAlbum@@QBE?AVQString@@XZ @ 356 NONAME ; class QString SmfAlbum::name(void) const
+ ?setId@SmfComment@@QAEXABVQString@@@Z @ 357 NONAME ; void SmfComment::setId(class QString const &)
+ ?image@SmfPlaylist@@QBE?AVQUrl@@XZ @ 358 NONAME ; class QUrl SmfPlaylist::image(void) const
+ ?getAuthKeys@SmfPluginUtil@@QAEXAAV?$QMap@VQByteArray@@V1@@@VQString@@ABVQDateTime@@1@Z @ 359 NONAME ; void SmfPluginUtil::getAuthKeys(class QMap<class QByteArray, class QByteArray> &, class QString, class QDateTime const &, class QString)
+ ?setCountry@SmfLocation@@QAEXABVQString@@@Z @ 360 NONAME ; void SmfLocation::setCountry(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfLocation@@@Z @ 361 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfLocation &)
+ ??0SmfContact@@QAE@ABV0@@Z @ 362 NONAME ; SmfContact::SmfContact(class SmfContact const &)
+ ?artists@SmfAlbum@@QBE?AVSmfArtists@@XZ @ 363 NONAME ; class SmfArtists SmfAlbum::artists(void) const
+ ??4SmfMusicProfile@@QAEAAV0@ABV0@@Z @ 364 NONAME ; class SmfMusicProfile & SmfMusicProfile::operator=(class SmfMusicProfile const &)
+ ?setId@SmfMusicProfile@@QAEXABVQString@@@Z @ 365 NONAME ; void SmfMusicProfile::setId(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactId@QtMobility@@@Z @ 366 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactId const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactNote@QtMobility@@@Z @ 367 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactNote const &)
+ ?setUrl@SmfPictureAlbum@@QAEXABVQUrl@@@Z @ 368 NONAME ; void SmfPictureAlbum::setUrl(class QUrl const &)
+ ??1SmfActivityObject@@QAE@XZ @ 369 NONAME ; SmfActivityObject::~SmfActivityObject(void)
+ ?rel@SmfUrl@@QBE?AVQString@@XZ @ 370 NONAME ; class QString SmfUrl::rel(void) const
+ ?errorString@SmfPluginUtil@@QBE?AVQString@@XZ @ 371 NONAME ; class QString SmfPluginUtil::errorString(void) const
+ ?setTitle@SmfUrl@@QAEXABVQString@@@Z @ 372 NONAME ; void SmfUrl::setTitle(class QString const &)
+ ?setInterestInfo@SmfMusicProfile@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 373 NONAME ; void SmfMusicProfile::setInterestInfo(class QList<class SmfTrackInfo> const &)
+ ?keywords@SmfPictureAlbum@@QBE?AVQStringList@@XZ @ 374 NONAME ; class QStringList SmfPictureAlbum::keywords(void) const
+ ?supportedLanguages@SmfProvider@@QBE?AVQStringList@@XZ @ 375 NONAME ; class QStringList SmfProvider::supportedLanguages(void) const
+ ?description@SmfProvider@@QBE?AVQString@@XZ @ 376 NONAME ; class QString SmfProvider::description(void) const
+ ?setRating@SmfTrackInfo@@QAEXABVSmfMusicRating@@@Z @ 377 NONAME ; void SmfTrackInfo::setRating(class SmfMusicRating const &)
+ ??0SmfPlaylist@@QAE@XZ @ 378 NONAME ; SmfPlaylist::SmfPlaylist(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfActivityObject@@@Z @ 379 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfActivityObject const &)
+ ?owner@SmfPicture@@QBE?AVQString@@XZ @ 380 NONAME ; class QString SmfPicture::owner(void) const
+ ?type@SmfActivityObject@@QBE?AW4SmfActivityObjectType@@XZ @ 381 NONAME ; enum SmfActivityObjectType SmfActivityObject::type(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfUrl@@@Z @ 382 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfUrl const &)
+ ?id@SmfLocation@@QBE?AVQString@@XZ @ 383 NONAME ; class QString SmfLocation::id(void) const
+ ?setThumbnail@SmfPictureAlbum@@QAEXABVQImage@@@Z @ 384 NONAME ; void SmfPictureAlbum::setThumbnail(class QImage const &)
+ ?setActionName@SmfActivityEntry@@QAEXW4SmfActivityVerb@@@Z @ 385 NONAME ; void SmfActivityEntry::setActionName(enum SmfActivityVerb)
+ ?setReleaseYear@SmfLyrics@@QAEXABVQDateTime@@@Z @ 386 NONAME ; void SmfLyrics::setReleaseYear(class QDateTime const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfLocation@@@Z @ 387 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfLocation const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfPicture@@@Z @ 388 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPicture &)
+ ?setTrackList@SmfPlaylist@@QAEXABV?$QList@VSmfTrackInfo@@@@@Z @ 389 NONAME ; void SmfPlaylist::setTrackList(class QList<class SmfTrackInfo> const &)
+ ??0SmfEvent@@QAE@XZ @ 390 NONAME ; SmfEvent::SmfEvent(void)
+ ?setTitle@SmfEvent@@QAEXABVQString@@@Z @ 391 NONAME ; void SmfEvent::setTitle(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactGender@QtMobility@@@Z @ 392 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactGender const &)
+ ??4SmfActivityObject@@QAEAAV0@ABV0@@Z @ 393 NONAME ; class SmfActivityObject & SmfActivityObject::operator=(class SmfActivityObject const &)
+ ?setMembers@SmfGroup@@QAEXPAV?$QList@VSmfContact@@@@@Z @ 394 NONAME ; void SmfGroup::setMembers(class QList<class SmfContact> *)
+ ??0SmfMusicRating@@QAE@PAVSmfTrackInfo@@@Z @ 395 NONAME ; SmfMusicRating::SmfMusicRating(class SmfTrackInfo *)
+ ??0SmfLyrics@@QAE@XZ @ 396 NONAME ; SmfLyrics::SmfLyrics(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactGender@QtMobility@@@Z @ 397 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactGender &)
+ ??0SmfComment@@QAE@XZ @ 398 NONAME ; SmfComment::SmfComment(void)
+ ??1SmfAlbum@@QAE@XZ @ 399 NONAME ; SmfAlbum::~SmfAlbum(void)
+ ?year@SmfTrackInfo@@QBE?AVQDateTime@@XZ @ 400 NONAME ; class QDateTime SmfTrackInfo::year(void) const
+ ?country@SmfLocation@@QBE?AVQString@@XZ @ 401 NONAME ; class QString SmfLocation::country(void) const
+ ?postedDate@SmfPictureAlbum@@QBE?AVQDateTime@@XZ @ 402 NONAME ; class QDateTime SmfPictureAlbum::postedDate(void) const
+ ?musicUsageInfo@SmfMusicProfile@@QBE?AV?$QList@VSmfTrackInfo@@@@XZ @ 403 NONAME ; class QList<class SmfTrackInfo> SmfMusicProfile::musicUsageInfo(void) const
+ ??0SmfContact@@QAE@PAVQObject@@@Z @ 404 NONAME ; SmfContact::SmfContact(class QObject *)
+ ??1SmfTrackInfo@@QAE@XZ @ 405 NONAME ; SmfTrackInfo::~SmfTrackInfo(void)
+ ?language@SmfLyrics@@QBE?AVQString@@XZ @ 406 NONAME ; class QString SmfLyrics::language(void) const
+ ?setArtists@SmfTrackInfo@@QAEXABVSmfArtists@@@Z @ 407 NONAME ; void SmfTrackInfo::setArtists(class SmfArtists const &)
+ ?id@SmfComment@@QBE?AVQString@@XZ @ 408 NONAME ; class QString SmfComment::id(void) const
+ ?id@SmfPictureAlbum@@QBE?AVQString@@XZ @ 409 NONAME ; class QString SmfPictureAlbum::id(void) const
+ ?setDuration@SmfEvent@@QAEXABVQTime@@@Z @ 410 NONAME ; void SmfEvent::setDuration(class QTime const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactGuid@QtMobility@@@Z @ 411 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactGuid const &)
+ ?setUrl@SmfLocation@@QAEXABVQUrl@@@Z @ 412 NONAME ; void SmfLocation::setUrl(class QUrl const &)
+ ?setComments@SmfPlaylist@@QAEXABV?$QList@VSmfComment@@@@@Z @ 413 NONAME ; void SmfPlaylist::setComments(class QList<class SmfComment> const &)
+ ?id@SmfSubtitle@@QBE?AVQString@@XZ @ 414 NONAME ; class QString SmfSubtitle::id(void) const
+ ?setImage@SmfPlaylist@@QAEXABVQUrl@@@Z @ 415 NONAME ; void SmfPlaylist::setImage(class QUrl const &)
+ ?setDescription@SmfPicture@@QAEXABVQString@@@Z @ 416 NONAME ; void SmfPicture::setDescription(class QString const &)
+ ??4SmfLocation@@QAEAAV0@ABV0@@Z @ 417 NONAME ; class SmfLocation & SmfLocation::operator=(class SmfLocation const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactAnniversary@QtMobility@@@Z @ 418 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactAnniversary &)
+ ??4SmfLyrics@@QAEAAV0@ABV0@@Z @ 419 NONAME ; class SmfLyrics & SmfLyrics::operator=(class SmfLyrics const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQContactGeoLocation@QtMobility@@@Z @ 420 NONAME ; class QDataStream & operator<<(class QDataStream &, class QtMobility::QContactGeoLocation const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVSmfMusicProfile@@@Z @ 421 NONAME ; class QDataStream & operator<<(class QDataStream &, class SmfMusicProfile const &)
+ ?setMetadata@SmfPlaylist@@QAEXABV?$QMap@VQString@@VQVariant@@@@@Z @ 422 NONAME ; void SmfPlaylist::setMetadata(class QMap<class QString, class QVariant> const &)
+ ?album@SmfTrackInfo@@QBE?AVSmfAlbum@@XZ @ 423 NONAME ; class SmfAlbum SmfTrackInfo::album(void) const
+ ?url@SmfPost@@QBE?AVQUrl@@XZ @ 424 NONAME ; class QUrl SmfPost::url(void) const
+ ?content@SmfActivityObject@@QBE?AVQString@@XZ @ 425 NONAME ; class QString SmfActivityObject::content(void) const
+ ?setThumbnail@SmfActivityObject@@QAEXABVQImage@@@Z @ 426 NONAME ; void SmfActivityObject::setThumbnail(class QImage const &)
+ ??1SmfGroup@@QAE@XZ @ 427 NONAME ; SmfGroup::~SmfGroup(void)
+ ?zipCode@SmfLocation@@QBE?AVQString@@XZ @ 428 NONAME ; class QString SmfLocation::zipCode(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVSmfPost@@@Z @ 429 NONAME ; class QDataStream & operator>>(class QDataStream &, class SmfPost &)
+ ?setPostedDateTime@SmfPost@@QAEXAAVQDateTime@@@Z @ 430 NONAME ; void SmfPost::setPostedDateTime(class QDateTime &)
+ ?setAttribution@SmfPlaylist@@QAEXABV?$QList@VQUrl@@@@@Z @ 431 NONAME ; void SmfPlaylist::setAttribution(class QList<class QUrl> const &)
+ ?setCity@SmfLocation@@QAEXABVQString@@@Z @ 432 NONAME ; void SmfLocation::setCity(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQContactNickname@QtMobility@@@Z @ 433 NONAME ; class QDataStream & operator>>(class QDataStream &, class QtMobility::QContactNickname &)
+ ?setDuration@SmfSubtitle@@QAEXABN@Z @ 434 NONAME ; void SmfSubtitle::setDuration(double const &)
+ ??_ESmfTrackInfo@@QAE@I@Z @ 435 NONAME ; SmfTrackInfo::~SmfTrackInfo(unsigned int)
+ ?setTitle@SmfPost@@QAEXABVQString@@@Z @ 436 NONAME ; void SmfPost::setTitle(class QString const &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/eabi/smfcommonu.def Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,499 @@
+EXPORTS
+ _ZN10SmfArtists6setUrlERK4QUrl @ 1 NONAME
+ _ZN10SmfArtists8setImageERK6QImage @ 2 NONAME
+ _ZN10SmfArtists8setNamesERK11QStringList @ 3 NONAME
+ _ZN10SmfArtistsC1ERKS_ @ 4 NONAME
+ _ZN10SmfArtistsC1Ev @ 5 NONAME
+ _ZN10SmfArtistsC2ERKS_ @ 6 NONAME
+ _ZN10SmfArtistsC2Ev @ 7 NONAME
+ _ZN10SmfArtistsD1Ev @ 8 NONAME
+ _ZN10SmfArtistsD2Ev @ 9 NONAME
+ _ZN10SmfArtistsaSERKS_ @ 10 NONAME
+ _ZN10SmfComment12setTimeStampERK9QDateTime @ 11 NONAME
+ _ZN10SmfComment5setIdERK7QString @ 12 NONAME
+ _ZN10SmfComment7setTextERK7QString @ 13 NONAME
+ _ZN10SmfCommentC1ERKS_ @ 14 NONAME
+ _ZN10SmfCommentC1Ev @ 15 NONAME
+ _ZN10SmfCommentC2ERKS_ @ 16 NONAME
+ _ZN10SmfCommentC2Ev @ 17 NONAME
+ _ZN10SmfCommentD1Ev @ 18 NONAME
+ _ZN10SmfCommentD2Ev @ 19 NONAME
+ _ZN10SmfCommentaSERKS_ @ 20 NONAME
+ _ZN10SmfContact8setValueERK7QStringR8QVariant @ 21 NONAME
+ _ZN10SmfContactC1EP7QObject @ 22 NONAME
+ _ZN10SmfContactC1ERKS_ @ 23 NONAME
+ _ZN10SmfContactC2EP7QObject @ 24 NONAME
+ _ZN10SmfContactC2ERKS_ @ 25 NONAME
+ _ZN10SmfContactD1Ev @ 26 NONAME
+ _ZN10SmfContactD2Ev @ 27 NONAME
+ _ZN10SmfContactaSERKS_ @ 28 NONAME
+ _ZN10SmfPicture10addCommentERK10SmfComment @ 29 NONAME
+ _ZN10SmfPicture10setPictureERK6QImage @ 30 NONAME
+ _ZN10SmfPicture12downloadFlagEv @ 31 NONAME
+ _ZN10SmfPicture13setPostedDateERK9QDateTime @ 32 NONAME
+ _ZN10SmfPicture13setVisibilityERK20SmfPictureVisibility @ 33 NONAME
+ _ZN10SmfPicture14setDescriptionERK7QString @ 34 NONAME
+ _ZN10SmfPicture5setIdERK7QString @ 35 NONAME
+ _ZN10SmfPicture6setUrlERK4QUrl @ 36 NONAME
+ _ZN10SmfPicture7addTagsERK11QStringList @ 37 NONAME
+ _ZN10SmfPicture8setOwnerERK7QString @ 38 NONAME
+ _ZN10SmfPicture8setTitleERK7QString @ 39 NONAME
+ _ZN10SmfPictureC1ERK6QImage @ 40 NONAME
+ _ZN10SmfPictureC1ERKS_ @ 41 NONAME
+ _ZN10SmfPictureC1Ev @ 42 NONAME
+ _ZN10SmfPictureC2ERK6QImage @ 43 NONAME
+ _ZN10SmfPictureC2ERKS_ @ 44 NONAME
+ _ZN10SmfPictureC2Ev @ 45 NONAME
+ _ZN10SmfPictureD1Ev @ 46 NONAME
+ _ZN10SmfPictureD2Ev @ 47 NONAME
+ _ZN10SmfPictureaSERKS_ @ 48 NONAME
+ _ZN11SmfLocation10setCountryERK7QString @ 49 NONAME
+ _ZN11SmfLocation10setZipCodeERK7QString @ 50 NONAME
+ _ZN11SmfLocation18setGeoPositionInfoERKN10QtMobility16QGeoPositionInfoE @ 51 NONAME
+ _ZN11SmfLocation5setIdERK7QString @ 52 NONAME
+ _ZN11SmfLocation6setUrlERK4QUrl @ 53 NONAME
+ _ZN11SmfLocation7setCityERK7QString @ 54 NONAME
+ _ZN11SmfLocation7setNameERK7QString @ 55 NONAME
+ _ZN11SmfLocation9setStreetERK7QString @ 56 NONAME
+ _ZN11SmfLocationC1ERKS_ @ 57 NONAME
+ _ZN11SmfLocationC1Ev @ 58 NONAME
+ _ZN11SmfLocationC2ERKS_ @ 59 NONAME
+ _ZN11SmfLocationC2Ev @ 60 NONAME
+ _ZN11SmfLocationD1Ev @ 61 NONAME
+ _ZN11SmfLocationD2Ev @ 62 NONAME
+ _ZN11SmfLocationaSERKS_ @ 63 NONAME
+ _ZN11SmfPlaylist10setLicenseERK4QUrl @ 64 NONAME
+ _ZN11SmfPlaylist10setVersionERK7QString @ 65 NONAME
+ _ZN11SmfPlaylist11setCommentsERK5QListI10SmfCommentE @ 66 NONAME
+ _ZN11SmfPlaylist11setLocationERK4QUrl @ 67 NONAME
+ _ZN11SmfPlaylist11setMetadataERK4QMapI7QString8QVariantE @ 68 NONAME
+ _ZN11SmfPlaylist12setExtensionERK4QMapI7QString8QVariantE @ 69 NONAME
+ _ZN11SmfPlaylist12setTrackListERK5QListI12SmfTrackInfoE @ 70 NONAME
+ _ZN11SmfPlaylist14setAttributionERK5QListI4QUrlE @ 71 NONAME
+ _ZN11SmfPlaylist15setCreationDateERK9QDateTime @ 72 NONAME
+ _ZN11SmfPlaylist16setPlayListTitleERK7QString @ 73 NONAME
+ _ZN11SmfPlaylist5setIdERK7QString @ 74 NONAME
+ _ZN11SmfPlaylist7setInfoERK4QUrl @ 75 NONAME
+ _ZN11SmfPlaylist8setImageERK4QUrl @ 76 NONAME
+ _ZN11SmfPlaylist9setAuthorERK7QString @ 77 NONAME
+ _ZN11SmfPlaylistC1ERKS_ @ 78 NONAME
+ _ZN11SmfPlaylistC1Ev @ 79 NONAME
+ _ZN11SmfPlaylistC2ERKS_ @ 80 NONAME
+ _ZN11SmfPlaylistC2Ev @ 81 NONAME
+ _ZN11SmfPlaylistD1Ev @ 82 NONAME
+ _ZN11SmfPlaylistD2Ev @ 83 NONAME
+ _ZN11SmfPlaylistaSERKS_ @ 84 NONAME
+ _ZN11SmfProvider13setServiceUrlER4QUrl @ 85 NONAME
+ _ZN11SmfProvider14setDescriptionER7QString @ 86 NONAME
+ _ZN11SmfProvider14setServiceIconER6QImage @ 87 NONAME
+ _ZN11SmfProvider14setServiceNameER7QString @ 88 NONAME
+ _ZN11SmfProvider17setApplicationUrlER4QUrl @ 89 NONAME
+ _ZN11SmfProvider21setSupportedLanguagesER11QStringList @ 90 NONAME
+ _ZN11SmfProvider22setSupportedInterfacesER11QStringList @ 91 NONAME
+ _ZN11SmfProviderC1Ev @ 92 NONAME
+ _ZN11SmfProviderC2Ev @ 93 NONAME
+ _ZN11SmfProviderD1Ev @ 94 NONAME
+ _ZN11SmfProviderD2Ev @ 95 NONAME
+ _ZN11SmfSubtitle11setDurationERKd @ 96 NONAME
+ _ZN11SmfSubtitle11setLanguageERK7QString @ 97 NONAME
+ _ZN11SmfSubtitle11setSubtitleERK10QByteArray @ 98 NONAME
+ _ZN11SmfSubtitle12setFrameRateERKd @ 99 NONAME
+ _ZN11SmfSubtitle14setReleaseYearERK9QDateTime @ 100 NONAME
+ _ZN11SmfSubtitle5setIdERK7QString @ 101 NONAME
+ _ZN11SmfSubtitleC1ERKS_ @ 102 NONAME
+ _ZN11SmfSubtitleC1Ev @ 103 NONAME
+ _ZN11SmfSubtitleC2ERKS_ @ 104 NONAME
+ _ZN11SmfSubtitleC2Ev @ 105 NONAME
+ _ZN11SmfSubtitleD1Ev @ 106 NONAME
+ _ZN11SmfSubtitleD2Ev @ 107 NONAME
+ _ZN11SmfSubtitleaSERKS_ @ 108 NONAME
+ _ZN12SmfTrackInfo10setArtistsERK10SmfArtists @ 109 NONAME
+ _ZN12SmfTrackInfo10setCommentERK5QListI10SmfCommentE @ 110 NONAME
+ _ZN12SmfTrackInfo11setDurationERK5QTime @ 111 NONAME
+ _ZN12SmfTrackInfo5setIdERK7QString @ 112 NONAME
+ _ZN12SmfTrackInfo7setTagsERK11QStringList @ 113 NONAME
+ _ZN12SmfTrackInfo7setYearERK9QDateTime @ 114 NONAME
+ _ZN12SmfTrackInfo8setAlbumERK8SmfAlbum @ 115 NONAME
+ _ZN12SmfTrackInfo8setGenreERK7QString @ 116 NONAME
+ _ZN12SmfTrackInfo8setTitleERK7QString @ 117 NONAME
+ _ZN12SmfTrackInfo9setRatingERK14SmfMusicRating @ 118 NONAME
+ _ZN12SmfTrackInfoC1ERKS_ @ 119 NONAME
+ _ZN12SmfTrackInfoC1Ev @ 120 NONAME
+ _ZN12SmfTrackInfoC2ERKS_ @ 121 NONAME
+ _ZN12SmfTrackInfoC2Ev @ 122 NONAME
+ _ZN12SmfTrackInfoD1Ev @ 123 NONAME
+ _ZN12SmfTrackInfoD2Ev @ 124 NONAME
+ _ZN12SmfTrackInfoaSERKS_ @ 125 NONAME
+ _ZN13SmfPluginUtil11getAuthKeysER4QMapI10QByteArrayS1_E7QStringRK9QDateTimeS4_ @ 126 NONAME
+ _ZN13SmfPluginUtil21createParameterStringERK7QStringN21QNetworkAccessManager9OperationERK10QByteArrayS7_18SmfSignatureMethodRK9QMultiMapIS5_S5_E14SmfParsingMode @ 127 NONAME
+ _ZN13SmfPluginUtil5parseEP9QIODevicePb @ 128 NONAME
+ _ZN13SmfPluginUtil5parseERK10QByteArrayPb @ 129 NONAME
+ _ZN13SmfPluginUtil8getNonceER7QStringx @ 130 NONAME
+ _ZN13SmfPluginUtilC1Ev @ 131 NONAME
+ _ZN13SmfPluginUtilC2Ev @ 132 NONAME
+ _ZN13SmfPluginUtilD1Ev @ 133 NONAME
+ _ZN13SmfPluginUtilD2Ev @ 134 NONAME
+ _ZN14SmfMusicRating12setMaxRatingERKi @ 135 NONAME
+ _ZN14SmfMusicRating12setMinRatingERKi @ 136 NONAME
+ _ZN14SmfMusicRating9setRatingERKi @ 137 NONAME
+ _ZN14SmfMusicRatingC1EP12SmfTrackInfo @ 138 NONAME
+ _ZN14SmfMusicRatingC1ERKS_ @ 139 NONAME
+ _ZN14SmfMusicRatingC2EP12SmfTrackInfo @ 140 NONAME
+ _ZN14SmfMusicRatingC2ERKS_ @ 141 NONAME
+ _ZN14SmfMusicRatingD1Ev @ 142 NONAME
+ _ZN14SmfMusicRatingD2Ev @ 143 NONAME
+ _ZN14SmfMusicRatingaSERKS_ @ 144 NONAME
+ _ZN15SmfMusicProfile13setUserEventsERK5QListI8SmfEventE @ 145 NONAME
+ _ZN15SmfMusicProfile15setInterestInfoERK5QListI12SmfTrackInfoE @ 146 NONAME
+ _ZN15SmfMusicProfile17setMusicUsageInfoERK5QListI12SmfTrackInfoE @ 147 NONAME
+ _ZN15SmfMusicProfile5setIdERK7QString @ 148 NONAME
+ _ZN15SmfMusicProfileC1ERKS_ @ 149 NONAME
+ _ZN15SmfMusicProfileC1Ev @ 150 NONAME
+ _ZN15SmfMusicProfileC2ERKS_ @ 151 NONAME
+ _ZN15SmfMusicProfileC2Ev @ 152 NONAME
+ _ZN15SmfMusicProfileD1Ev @ 153 NONAME
+ _ZN15SmfMusicProfileD2Ev @ 154 NONAME
+ _ZN15SmfMusicProfileaSERKS_ @ 155 NONAME
+ _ZN15SmfPictureAlbum10addCommentERK10SmfComment @ 156 NONAME
+ _ZN15SmfPictureAlbum11addKeywordsERK11QStringList @ 157 NONAME
+ _ZN15SmfPictureAlbum12setThumbnailERK6QImage @ 158 NONAME
+ _ZN15SmfPictureAlbum13setPostedDateERK9QDateTime @ 159 NONAME
+ _ZN15SmfPictureAlbum13setVisibilityERK20SmfPictureVisibility @ 160 NONAME
+ _ZN15SmfPictureAlbum14setDescriptionERK7QString @ 161 NONAME
+ _ZN15SmfPictureAlbum15setPictureCountEi @ 162 NONAME
+ _ZN15SmfPictureAlbum5setIdERK7QString @ 163 NONAME
+ _ZN15SmfPictureAlbum6setUrlERK4QUrl @ 164 NONAME
+ _ZN15SmfPictureAlbum8setTitleERK7QString @ 165 NONAME
+ _ZN15SmfPictureAlbumC1ERKS_ @ 166 NONAME
+ _ZN15SmfPictureAlbumC1Ev @ 167 NONAME
+ _ZN15SmfPictureAlbumC2ERKS_ @ 168 NONAME
+ _ZN15SmfPictureAlbumC2Ev @ 169 NONAME
+ _ZN15SmfPictureAlbumD1Ev @ 170 NONAME
+ _ZN15SmfPictureAlbumD2Ev @ 171 NONAME
+ _ZN15SmfPictureAlbumaSERKS_ @ 172 NONAME
+ _ZN16SmfActivityEntry10setDetailsERK7SmfPost @ 173 NONAME
+ _ZN16SmfActivityEntry12setTargetObjERK17SmfActivityObject @ 174 NONAME
+ _ZN16SmfActivityEntry13setActionNameE15SmfActivityVerb @ 175 NONAME
+ _ZN16SmfActivityEntry13setActivitiesER5QListI17SmfActivityObjectE @ 176 NONAME
+ _ZN16SmfActivityEntry5setIdERK7QString @ 177 NONAME
+ _ZN16SmfActivityEntry8setTitleERK7SmfPost @ 178 NONAME
+ _ZN16SmfActivityEntry9setAuthorERK10SmfContact @ 179 NONAME
+ _ZN16SmfActivityEntryC1ERKS_ @ 180 NONAME
+ _ZN16SmfActivityEntryC1Ev @ 181 NONAME
+ _ZN16SmfActivityEntryC2ERKS_ @ 182 NONAME
+ _ZN16SmfActivityEntryC2Ev @ 183 NONAME
+ _ZN16SmfActivityEntryD1Ev @ 184 NONAME
+ _ZN16SmfActivityEntryD2Ev @ 185 NONAME
+ _ZN17SmfActivityObject10setCaptionERK7QString @ 186 NONAME
+ _ZN17SmfActivityObject10setContentERK7QString @ 187 NONAME
+ _ZN17SmfActivityObject10setObjDataERK8QVariant @ 188 NONAME
+ _ZN17SmfActivityObject12setThumbnailERK6QImage @ 189 NONAME
+ _ZN17SmfActivityObject5setIdERK7QString @ 190 NONAME
+ _ZN17SmfActivityObject7setLinkERK7QString @ 191 NONAME
+ _ZN17SmfActivityObject7setTimeERK9QDateTime @ 192 NONAME
+ _ZN17SmfActivityObject7setTypeERK21SmfActivityObjectType @ 193 NONAME
+ _ZN17SmfActivityObjectC1ERKS_ @ 194 NONAME
+ _ZN17SmfActivityObjectC1Ev @ 195 NONAME
+ _ZN17SmfActivityObjectC2ERKS_ @ 196 NONAME
+ _ZN17SmfActivityObjectC2Ev @ 197 NONAME
+ _ZN17SmfActivityObjectD1Ev @ 198 NONAME
+ _ZN17SmfActivityObjectD2Ev @ 199 NONAME
+ _ZN17SmfActivityObjectaSERKS_ @ 200 NONAME
+ _ZN19SmfMusicFingerPrint19setMusicFingerPrintERK10QByteArray @ 201 NONAME
+ _ZN19SmfMusicFingerPrintC1ERKS_ @ 202 NONAME
+ _ZN19SmfMusicFingerPrintC1Ev @ 203 NONAME
+ _ZN19SmfMusicFingerPrintC2ERKS_ @ 204 NONAME
+ _ZN19SmfMusicFingerPrintC2Ev @ 205 NONAME
+ _ZN19SmfMusicFingerPrintD1Ev @ 206 NONAME
+ _ZN19SmfMusicFingerPrintD2Ev @ 207 NONAME
+ _ZN19SmfMusicFingerPrintaSERKS_ @ 208 NONAME
+ _ZN6SmfUrl12setHhreflangERK7QString @ 209 NONAME
+ _ZN6SmfUrl5setIdERK7QString @ 210 NONAME
+ _ZN6SmfUrl6setRelERK7QString @ 211 NONAME
+ _ZN6SmfUrl7setHrefERK4QUrl @ 212 NONAME
+ _ZN6SmfUrl7setTypeERK7QString @ 213 NONAME
+ _ZN6SmfUrl8setTitleERK7QString @ 214 NONAME
+ _ZN6SmfUrl9setLengthERK7QString @ 215 NONAME
+ _ZN6SmfUrlC1ERKS_ @ 216 NONAME
+ _ZN6SmfUrlC1Ev @ 217 NONAME
+ _ZN6SmfUrlC2ERKS_ @ 218 NONAME
+ _ZN6SmfUrlC2Ev @ 219 NONAME
+ _ZN6SmfUrlD1Ev @ 220 NONAME
+ _ZN6SmfUrlD2Ev @ 221 NONAME
+ _ZN6SmfUrlaSERKS_ @ 222 NONAME
+ _ZN7SmfPost14setDescriptionERK7QString @ 223 NONAME
+ _ZN7SmfPost17setPostedDateTimeER9QDateTime @ 224 NONAME
+ _ZN7SmfPost5setIdE7QString @ 225 NONAME
+ _ZN7SmfPost6setUrlER4QUrl @ 226 NONAME
+ _ZN7SmfPost8setImageERK6QImage @ 227 NONAME
+ _ZN7SmfPost8setOwnerERK10SmfContact @ 228 NONAME
+ _ZN7SmfPost8setTitleERK7QString @ 229 NONAME
+ _ZN7SmfPostC1E10SmfContact7QStringS1_6QImage4QUrl @ 230 NONAME
+ _ZN7SmfPostC1ERKS_ @ 231 NONAME
+ _ZN7SmfPostC1Ev @ 232 NONAME
+ _ZN7SmfPostC2E10SmfContact7QStringS1_6QImage4QUrl @ 233 NONAME
+ _ZN7SmfPostC2ERKS_ @ 234 NONAME
+ _ZN7SmfPostC2Ev @ 235 NONAME
+ _ZN7SmfPostD1Ev @ 236 NONAME
+ _ZN7SmfPostD2Ev @ 237 NONAME
+ _ZN7SmfPostaSERKS_ @ 238 NONAME
+ _ZN8SmfAlbum10setArtistsERK10SmfArtists @ 239 NONAME
+ _ZN8SmfAlbum5setIdERK7QString @ 240 NONAME
+ _ZN8SmfAlbum7setNameERK7QString @ 241 NONAME
+ _ZN8SmfAlbum8setImageERK6QImage @ 242 NONAME
+ _ZN8SmfAlbumC1ERKS_ @ 243 NONAME
+ _ZN8SmfAlbumC1Ev @ 244 NONAME
+ _ZN8SmfAlbumC2ERKS_ @ 245 NONAME
+ _ZN8SmfAlbumC2Ev @ 246 NONAME
+ _ZN8SmfAlbumD1Ev @ 247 NONAME
+ _ZN8SmfAlbumD2Ev @ 248 NONAME
+ _ZN8SmfAlbumaSERKS_ @ 249 NONAME
+ _ZN8SmfEvent10setArtistsERK10SmfArtists @ 250 NONAME
+ _ZN8SmfEvent11setDurationERK5QTime @ 251 NONAME
+ _ZN8SmfEvent12setTicketUrlERK4QUrl @ 252 NONAME
+ _ZN8SmfEvent16setEventDateTimeERK9QDateTime @ 253 NONAME
+ _ZN8SmfEvent5setIdERK7QString @ 254 NONAME
+ _ZN8SmfEvent8setTitleERK7QString @ 255 NONAME
+ _ZN8SmfEvent8setVenueERK11SmfLocation @ 256 NONAME
+ _ZN8SmfEventC1ERKS_ @ 257 NONAME
+ _ZN8SmfEventC1Ev @ 258 NONAME
+ _ZN8SmfEventC2ERKS_ @ 259 NONAME
+ _ZN8SmfEventC2Ev @ 260 NONAME
+ _ZN8SmfEventD1Ev @ 261 NONAME
+ _ZN8SmfEventD2Ev @ 262 NONAME
+ _ZN8SmfEventaSERKS_ @ 263 NONAME
+ _ZN8SmfGroup10setMembersEP5QListI10SmfContactE @ 264 NONAME
+ _ZN8SmfGroup5setIdER7QString @ 265 NONAME
+ _ZN8SmfGroup7setNameER7QString @ 266 NONAME
+ _ZN8SmfGroupC1EP5QListI10SmfContactE @ 267 NONAME
+ _ZN8SmfGroupC1ERKS_ @ 268 NONAME
+ _ZN8SmfGroupC2EP5QListI10SmfContactE @ 269 NONAME
+ _ZN8SmfGroupC2ERKS_ @ 270 NONAME
+ _ZN8SmfGroupD1Ev @ 271 NONAME
+ _ZN8SmfGroupD2Ev @ 272 NONAME
+ _ZN8SmfGroupaSERKS_ @ 273 NONAME
+ _ZN9SmfLyrics11setLanguageERK7QString @ 274 NONAME
+ _ZN9SmfLyrics14setReleaseYearERK9QDateTime @ 275 NONAME
+ _ZN9SmfLyrics5setIdERK7QString @ 276 NONAME
+ _ZN9SmfLyrics9setLyricsERK10QByteArray @ 277 NONAME
+ _ZN9SmfLyricsC1ERKS_ @ 278 NONAME
+ _ZN9SmfLyricsC1Ev @ 279 NONAME
+ _ZN9SmfLyricsC2ERKS_ @ 280 NONAME
+ _ZN9SmfLyricsC2Ev @ 281 NONAME
+ _ZN9SmfLyricsD1Ev @ 282 NONAME
+ _ZN9SmfLyricsD2Ev @ 283 NONAME
+ _ZN9SmfLyricsaSERKS_ @ 284 NONAME
+ _ZNK10SmfArtists3urlEv @ 285 NONAME
+ _ZNK10SmfArtists5imageEv @ 286 NONAME
+ _ZNK10SmfArtists5namesEv @ 287 NONAME
+ _ZNK10SmfComment2idEv @ 288 NONAME
+ _ZNK10SmfComment4textEv @ 289 NONAME
+ _ZNK10SmfComment9timeStampEv @ 290 NONAME
+ _ZNK10SmfContact5valueERK7QString @ 291 NONAME
+ _ZNK10SmfContact7convertERN10QtMobility8QContactE @ 292 NONAME
+ _ZNK10SmfContact8subTypesEv @ 293 NONAME
+ _ZNK10SmfPicture10postedDateEv @ 294 NONAME
+ _ZNK10SmfPicture10visibilityEv @ 295 NONAME
+ _ZNK10SmfPicture11descriptionEv @ 296 NONAME
+ _ZNK10SmfPicture2idEv @ 297 NONAME
+ _ZNK10SmfPicture3urlEv @ 298 NONAME
+ _ZNK10SmfPicture4tagsEv @ 299 NONAME
+ _ZNK10SmfPicture5ownerEv @ 300 NONAME
+ _ZNK10SmfPicture5titleEv @ 301 NONAME
+ _ZNK10SmfPicture7pictureEv @ 302 NONAME
+ _ZNK10SmfPicture8commentsEv @ 303 NONAME
+ _ZNK11SmfLocation15geoPositionInfoEv @ 304 NONAME
+ _ZNK11SmfLocation2idEv @ 305 NONAME
+ _ZNK11SmfLocation3urlEv @ 306 NONAME
+ _ZNK11SmfLocation4cityEv @ 307 NONAME
+ _ZNK11SmfLocation4nameEv @ 308 NONAME
+ _ZNK11SmfLocation6streetEv @ 309 NONAME
+ _ZNK11SmfLocation7countryEv @ 310 NONAME
+ _ZNK11SmfLocation7zipCodeEv @ 311 NONAME
+ _ZNK11SmfPlaylist11attributionEv @ 312 NONAME
+ _ZNK11SmfPlaylist12creationDateEv @ 313 NONAME
+ _ZNK11SmfPlaylist13playListTitleEv @ 314 NONAME
+ _ZNK11SmfPlaylist2idEv @ 315 NONAME
+ _ZNK11SmfPlaylist4infoEv @ 316 NONAME
+ _ZNK11SmfPlaylist5imageEv @ 317 NONAME
+ _ZNK11SmfPlaylist6authorEv @ 318 NONAME
+ _ZNK11SmfPlaylist7licenseEv @ 319 NONAME
+ _ZNK11SmfPlaylist7versionEv @ 320 NONAME
+ _ZNK11SmfPlaylist8commentsEv @ 321 NONAME
+ _ZNK11SmfPlaylist8locationEv @ 322 NONAME
+ _ZNK11SmfPlaylist8metadataEv @ 323 NONAME
+ _ZNK11SmfPlaylist9extensionEv @ 324 NONAME
+ _ZNK11SmfPlaylist9trackListEv @ 325 NONAME
+ _ZNK11SmfProvider10serviceUrlEv @ 326 NONAME
+ _ZNK11SmfProvider11descriptionEv @ 327 NONAME
+ _ZNK11SmfProvider11serviceIconEv @ 328 NONAME
+ _ZNK11SmfProvider11serviceNameEv @ 329 NONAME
+ _ZNK11SmfProvider14applicationUrlEv @ 330 NONAME
+ _ZNK11SmfProvider18supportedLanguagesEv @ 331 NONAME
+ _ZNK11SmfProvider19supportedInterfacesEv @ 332 NONAME
+ _ZNK11SmfSubtitle11releaseYearEv @ 333 NONAME
+ _ZNK11SmfSubtitle2idEv @ 334 NONAME
+ _ZNK11SmfSubtitle8durationEv @ 335 NONAME
+ _ZNK11SmfSubtitle8languageEv @ 336 NONAME
+ _ZNK11SmfSubtitle8subtitleEv @ 337 NONAME
+ _ZNK11SmfSubtitle9frameRateEv @ 338 NONAME
+ _ZNK12SmfTrackInfo2idEv @ 339 NONAME
+ _ZNK12SmfTrackInfo4tagsEv @ 340 NONAME
+ _ZNK12SmfTrackInfo4yearEv @ 341 NONAME
+ _ZNK12SmfTrackInfo5albumEv @ 342 NONAME
+ _ZNK12SmfTrackInfo5genreEv @ 343 NONAME
+ _ZNK12SmfTrackInfo5titleEv @ 344 NONAME
+ _ZNK12SmfTrackInfo6ratingEv @ 345 NONAME
+ _ZNK12SmfTrackInfo7artistsEv @ 346 NONAME
+ _ZNK12SmfTrackInfo8commentsEv @ 347 NONAME
+ _ZNK12SmfTrackInfo8durationEv @ 348 NONAME
+ _ZNK13SmfPluginUtil11errorStringEv @ 349 NONAME
+ _ZNK13SmfPluginUtil9errorLineEv @ 350 NONAME
+ _ZNK14SmfMusicRating6ratingEv @ 351 NONAME
+ _ZNK14SmfMusicRating9maxRatingEv @ 352 NONAME
+ _ZNK14SmfMusicRating9minRatingEv @ 353 NONAME
+ _ZNK15SmfMusicProfile10userEventsEv @ 354 NONAME
+ _ZNK15SmfMusicProfile12interestInfoEv @ 355 NONAME
+ _ZNK15SmfMusicProfile14musicUsageInfoEv @ 356 NONAME
+ _ZNK15SmfMusicProfile2idEv @ 357 NONAME
+ _ZNK15SmfPictureAlbum10postedDateEv @ 358 NONAME
+ _ZNK15SmfPictureAlbum10visibilityEv @ 359 NONAME
+ _ZNK15SmfPictureAlbum11descriptionEv @ 360 NONAME
+ _ZNK15SmfPictureAlbum12pictureCountEv @ 361 NONAME
+ _ZNK15SmfPictureAlbum2idEv @ 362 NONAME
+ _ZNK15SmfPictureAlbum3urlEv @ 363 NONAME
+ _ZNK15SmfPictureAlbum5titleEv @ 364 NONAME
+ _ZNK15SmfPictureAlbum8commentsEv @ 365 NONAME
+ _ZNK15SmfPictureAlbum8keywordsEv @ 366 NONAME
+ _ZNK15SmfPictureAlbum9thumbnailEv @ 367 NONAME
+ _ZNK16SmfActivityEntry10actionNameEv @ 368 NONAME
+ _ZNK16SmfActivityEntry10activitiesEv @ 369 NONAME
+ _ZNK16SmfActivityEntry2idEv @ 370 NONAME
+ _ZNK16SmfActivityEntry5titleEv @ 371 NONAME
+ _ZNK16SmfActivityEntry6authorEv @ 372 NONAME
+ _ZNK16SmfActivityEntry7detailsEv @ 373 NONAME
+ _ZNK16SmfActivityEntry9targetObjEv @ 374 NONAME
+ _ZNK17SmfActivityObject2idEv @ 375 NONAME
+ _ZNK17SmfActivityObject4linkEv @ 376 NONAME
+ _ZNK17SmfActivityObject4timeEv @ 377 NONAME
+ _ZNK17SmfActivityObject4typeEv @ 378 NONAME
+ _ZNK17SmfActivityObject7captionEv @ 379 NONAME
+ _ZNK17SmfActivityObject7contentEv @ 380 NONAME
+ _ZNK17SmfActivityObject7objDataEv @ 381 NONAME
+ _ZNK17SmfActivityObject9thumbnailEv @ 382 NONAME
+ _ZNK19SmfMusicFingerPrint16musicFingerPrintEv @ 383 NONAME
+ _ZNK6SmfUrl2idEv @ 384 NONAME
+ _ZNK6SmfUrl3relEv @ 385 NONAME
+ _ZNK6SmfUrl4hrefEv @ 386 NONAME
+ _ZNK6SmfUrl4typeEv @ 387 NONAME
+ _ZNK6SmfUrl5titleEv @ 388 NONAME
+ _ZNK6SmfUrl6lengthEv @ 389 NONAME
+ _ZNK6SmfUrl8hreflangEv @ 390 NONAME
+ _ZNK7SmfPost11descriptionEv @ 391 NONAME
+ _ZNK7SmfPost14postedDateTimeEv @ 392 NONAME
+ _ZNK7SmfPost2idEv @ 393 NONAME
+ _ZNK7SmfPost3urlEv @ 394 NONAME
+ _ZNK7SmfPost5imageEv @ 395 NONAME
+ _ZNK7SmfPost5ownerEv @ 396 NONAME
+ _ZNK7SmfPost5titleEv @ 397 NONAME
+ _ZNK8SmfAlbum2idEv @ 398 NONAME
+ _ZNK8SmfAlbum4nameEv @ 399 NONAME
+ _ZNK8SmfAlbum5imageEv @ 400 NONAME
+ _ZNK8SmfAlbum7artistsEv @ 401 NONAME
+ _ZNK8SmfEvent13eventDateTimeEv @ 402 NONAME
+ _ZNK8SmfEvent2idEv @ 403 NONAME
+ _ZNK8SmfEvent5titleEv @ 404 NONAME
+ _ZNK8SmfEvent5venueEv @ 405 NONAME
+ _ZNK8SmfEvent7artistsEv @ 406 NONAME
+ _ZNK8SmfEvent8durationEv @ 407 NONAME
+ _ZNK8SmfEvent9ticketUrlEv @ 408 NONAME
+ _ZNK8SmfGroup2idEv @ 409 NONAME
+ _ZNK8SmfGroup4nameEv @ 410 NONAME
+ _ZNK8SmfGroup7membersEv @ 411 NONAME
+ _ZNK9SmfLyrics11releaseYearEv @ 412 NONAME
+ _ZNK9SmfLyrics2idEv @ 413 NONAME
+ _ZNK9SmfLyrics6lyricsEv @ 414 NONAME
+ _ZNK9SmfLyrics8languageEv @ 415 NONAME
+ _ZlsR11QDataStreamRK10SmfArtists @ 416 NONAME
+ _ZlsR11QDataStreamRK10SmfComment @ 417 NONAME
+ _ZlsR11QDataStreamRK10SmfContact @ 418 NONAME
+ _ZlsR11QDataStreamRK10SmfPicture @ 419 NONAME
+ _ZlsR11QDataStreamRK11SmfLocation @ 420 NONAME
+ _ZlsR11QDataStreamRK11SmfPlaylist @ 421 NONAME
+ _ZlsR11QDataStreamRK11SmfProvider @ 422 NONAME
+ _ZlsR11QDataStreamRK11SmfSubtitle @ 423 NONAME
+ _ZlsR11QDataStreamRK12SmfTrackInfo @ 424 NONAME
+ _ZlsR11QDataStreamRK14SmfMusicRating @ 425 NONAME
+ _ZlsR11QDataStreamRK15SmfMusicProfile @ 426 NONAME
+ _ZlsR11QDataStreamRK15SmfPictureAlbum @ 427 NONAME
+ _ZlsR11QDataStreamRK16SmfActivityEntry @ 428 NONAME
+ _ZlsR11QDataStreamRK17SmfActivityObject @ 429 NONAME
+ _ZlsR11QDataStreamRK19SmfMusicFingerPrint @ 430 NONAME
+ _ZlsR11QDataStreamRK6SmfUrl @ 431 NONAME
+ _ZlsR11QDataStreamRK7SmfPost @ 432 NONAME
+ _ZlsR11QDataStreamRK8SmfAlbum @ 433 NONAME
+ _ZlsR11QDataStreamRK8SmfEvent @ 434 NONAME
+ _ZlsR11QDataStreamRK8SmfGroup @ 435 NONAME
+ _ZlsR11QDataStreamRK9SmfLyrics @ 436 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility10QContactIdE @ 437 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility11QContactUrlE @ 438 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility12QContactGuidE @ 439 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility12QContactNameE @ 440 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility12QContactNoteE @ 441 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility12QContactTypeE @ 442 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility14QContactAvatarE @ 443 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility14QContactGenderE @ 444 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility15QContactAddressE @ 445 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility16QContactBirthdayE @ 446 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility16QContactNicknameE @ 447 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility16QContactPresenceE @ 448 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility17QContactThumbnailE @ 449 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility17QContactTimestampE @ 450 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility19QContactAnniversaryE @ 451 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility19QContactGeoLocationE @ 452 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility19QContactPhoneNumberE @ 453 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility20QContactEmailAddressE @ 454 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility20QContactOrganizationE @ 455 NONAME
+ _ZlsR11QDataStreamRKN10QtMobility21QContactOnlineAccountE @ 456 NONAME
+ _ZrsR11QDataStreamR10SmfArtists @ 457 NONAME
+ _ZrsR11QDataStreamR10SmfComment @ 458 NONAME
+ _ZrsR11QDataStreamR10SmfContact @ 459 NONAME
+ _ZrsR11QDataStreamR10SmfPicture @ 460 NONAME
+ _ZrsR11QDataStreamR11SmfLocation @ 461 NONAME
+ _ZrsR11QDataStreamR11SmfPlaylist @ 462 NONAME
+ _ZrsR11QDataStreamR11SmfProvider @ 463 NONAME
+ _ZrsR11QDataStreamR11SmfSubtitle @ 464 NONAME
+ _ZrsR11QDataStreamR12SmfTrackInfo @ 465 NONAME
+ _ZrsR11QDataStreamR14SmfMusicRating @ 466 NONAME
+ _ZrsR11QDataStreamR15SmfMusicProfile @ 467 NONAME
+ _ZrsR11QDataStreamR15SmfPictureAlbum @ 468 NONAME
+ _ZrsR11QDataStreamR16SmfActivityEntry @ 469 NONAME
+ _ZrsR11QDataStreamR17SmfActivityObject @ 470 NONAME
+ _ZrsR11QDataStreamR19SmfMusicFingerPrint @ 471 NONAME
+ _ZrsR11QDataStreamR6SmfUrl @ 472 NONAME
+ _ZrsR11QDataStreamR7SmfPost @ 473 NONAME
+ _ZrsR11QDataStreamR8SmfAlbum @ 474 NONAME
+ _ZrsR11QDataStreamR8SmfEvent @ 475 NONAME
+ _ZrsR11QDataStreamR8SmfGroup @ 476 NONAME
+ _ZrsR11QDataStreamR9SmfLyrics @ 477 NONAME
+ _ZrsR11QDataStreamRN10QtMobility10QContactIdE @ 478 NONAME
+ _ZrsR11QDataStreamRN10QtMobility11QContactUrlE @ 479 NONAME
+ _ZrsR11QDataStreamRN10QtMobility12QContactGuidE @ 480 NONAME
+ _ZrsR11QDataStreamRN10QtMobility12QContactNameE @ 481 NONAME
+ _ZrsR11QDataStreamRN10QtMobility12QContactNoteE @ 482 NONAME
+ _ZrsR11QDataStreamRN10QtMobility12QContactTypeE @ 483 NONAME
+ _ZrsR11QDataStreamRN10QtMobility14QContactAvatarE @ 484 NONAME
+ _ZrsR11QDataStreamRN10QtMobility14QContactGenderE @ 485 NONAME
+ _ZrsR11QDataStreamRN10QtMobility15QContactAddressE @ 486 NONAME
+ _ZrsR11QDataStreamRN10QtMobility16QContactBirthdayE @ 487 NONAME
+ _ZrsR11QDataStreamRN10QtMobility16QContactNicknameE @ 488 NONAME
+ _ZrsR11QDataStreamRN10QtMobility16QContactPresenceE @ 489 NONAME
+ _ZrsR11QDataStreamRN10QtMobility17QContactThumbnailE @ 490 NONAME
+ _ZrsR11QDataStreamRN10QtMobility17QContactTimestampE @ 491 NONAME
+ _ZrsR11QDataStreamRN10QtMobility19QContactAnniversaryE @ 492 NONAME
+ _ZrsR11QDataStreamRN10QtMobility19QContactGeoLocationE @ 493 NONAME
+ _ZrsR11QDataStreamRN10QtMobility19QContactPhoneNumberE @ 494 NONAME
+ _ZrsR11QDataStreamRN10QtMobility20QContactEmailAddressE @ 495 NONAME
+ _ZrsR11QDataStreamRN10QtMobility20QContactOrganizationE @ 496 NONAME
+ _ZrsR11QDataStreamRN10QtMobility21QContactOnlineAccountE @ 497 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfactions.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,440 @@
+/**
+ * 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:
+ * Represents activities in terms similar to standard activity
+ * stream http://activitystrea.ms/
+ *
+ */
+
+#include "smfactions.h"
+#include "smfactions_p.h"
+
+
+/**
+ * Constructor
+ */
+SmfActivityObject::SmfActivityObject( )
+ {
+ d = new SmfActivityObjectPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfActivityObject::SmfActivityObject( const SmfActivityObject &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfActivityObject& SmfActivityObject::operator=( const SmfActivityObject &aOther )
+ {
+ d->m_id = aOther.d->m_id;
+ d->m_thumbnail = aOther.d->m_thumbnail;
+ d->m_caption = aOther.d->m_caption;
+ d->m_type = aOther.d->m_type;
+ d->m_objData = aOther.d->m_objData;
+ d->m_link = aOther.d->m_link;
+ d->m_time = aOther.d->m_time;
+ d->m_content = aOther.d->m_content;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfActivityObject::~SmfActivityObject( )
+ {
+ }
+
+
+/**
+ * @return returns service specific Id of this object in the entry
+ */
+QString SmfActivityObject::id( ) const
+ {
+ return d->m_id;
+ }
+
+/**
+ * @return returns thumbnail if availabel for this object in the entry
+ */
+QImage SmfActivityObject::thumbnail( ) const
+ {
+ return d->m_thumbnail;
+ }
+
+/**
+ * @return Captions for this object
+ */
+QString SmfActivityObject::caption( ) const
+ {
+ return d->m_caption;
+ }
+
+/**
+ * @return retruns the type of this object
+ */
+SmfActivityObjectType SmfActivityObject::type( ) const
+ {
+ return d->m_type;
+ }
+
+/**
+ * @return returns data of the object - see type() for casting
+ */
+QVariant SmfActivityObject::objData( ) const
+ {
+ return d->m_objData;
+ }
+
+/**
+ * @return url of this object, e.g. url of the image on which somebody commented
+ */
+QString SmfActivityObject::link( ) const
+ {
+ return d->m_link;
+ }
+
+/**
+ * @return Time of creation of this object
+ */
+QDateTime SmfActivityObject::time( ) const
+ {
+ return d->m_time;
+ }
+
+/**
+ * @return Description of the content of this object
+ */
+QString SmfActivityObject::content( ) const
+ {
+ return d->m_content;
+ }
+
+/**
+ * Sets service specific id for this object
+ * @param aId The id to be set
+ */
+void SmfActivityObject::setId(const QString& aId)
+ {
+ d->m_id = aId;
+ }
+
+/**
+ * Sets thumbnail for this object , not mandatory
+ * @param aIcon The thumbnail image
+ */
+void SmfActivityObject::setThumbnail(const QImage& aIcon)
+ {
+ d->m_thumbnail = aIcon;
+ }
+
+/**
+ * Sets caption for this object
+ * @param aCaption The caption to be set
+ */
+void SmfActivityObject::setCaption(const QString& aCap)
+ {
+ d->m_caption = aCap;
+ }
+
+/**
+ * Sets type of this object - ObjData should be set next accordingly
+ * @param aObjType The activity type to be set
+ */
+void SmfActivityObject::setType(const SmfActivityObjectType& aObjType)
+ {
+ d->m_type = aObjType;
+ }
+
+/**
+ * Sets object data e,g, SmfImage, SmfComment, SmfMusic, SmfEvent etc
+ * setType() with suitable type should have been called before
+ * @param aData The object data to be set
+ */
+void SmfActivityObject::setObjData( const QVariant& aData)
+ {
+ d->m_objData = aData;
+ }
+
+/**
+ * Sets the url for the object
+ * @param aLink The Link to be set
+ */
+void SmfActivityObject::setLink( const QString& aLink)
+ {
+ d->m_link = aLink;
+ }
+
+/**
+ * Sets the time of creation/last modification of the object
+ * @param aTime The time to be set
+ */
+void SmfActivityObject::setTime( const QDateTime& aTime)
+ {
+ d->m_time = aTime;
+ }
+
+/**
+ * Sets the description of the content of this object
+ * @param aText The content to be set
+ */
+void SmfActivityObject::setContent( const QString& aText)
+ {
+ d->m_content = aText;
+ }
+
+/**
+ * Method for Externalization. Writes the SmfActivityObject object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aObj The SmfActivityObject object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfActivityObject &aObj )
+ {
+ aDataStream<<aObj.d->m_id;
+ aDataStream<<aObj.d->m_thumbnail;
+ aDataStream<<aObj.d->m_caption;
+ aDataStream<<aObj.d->m_type;
+ aDataStream<<aObj.d->m_objData;
+ aDataStream<<aObj.d->m_link;
+ aDataStream<<aObj.d->m_time;
+ aDataStream<<aObj.d->m_content;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfActivityObject object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aObj The SmfActivityObject object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfActivityObject &aObj)
+ {
+ aDataStream>>aObj.d->m_id;
+ aDataStream>>aObj.d->m_thumbnail;
+ aDataStream>>aObj.d->m_caption;
+ int i;
+ aDataStream>>i;
+ aObj.d->m_type = (SmfActivityObjectType)i;
+ aDataStream>>aObj.d->m_objData;
+ aDataStream>>aObj.d->m_link;
+ aDataStream>>aObj.d->m_time;
+ aDataStream>>aObj.d->m_content;
+
+ return aDataStream;
+ }
+
+
+
+SmfActivityEntry::SmfActivityEntry()
+ {
+ d = new SmfActivityEntryPrivate;
+ }
+SmfActivityEntry::SmfActivityEntry( const SmfActivityEntry &aOther )
+ :d( aOther.d )
+ {
+ }
+SmfActivityEntry::~SmfActivityEntry()
+ {
+
+ }
+/**
+ * @return Returns service specific id of the of entry
+ */
+QString SmfActivityEntry::id() const
+ {
+ return d->m_id;
+ }
+
+/**
+ * @return Returns the title of the entry - mostly be a string
+ */
+SmfPost SmfActivityEntry::title() const
+ {
+ return d->m_title;
+ }
+
+/**
+ * @return Returns detail descriptiopn of this entry in the activity list. might be absent if title is sufficient
+ */
+SmfPost SmfActivityEntry::details() const
+ {
+ return d->m_details;
+ }
+
+/**
+ * @return Returns the author of the activity - the name and the uri field are most commonly used
+ * Other information fields might be empty
+ */
+SmfContact SmfActivityEntry::author() const
+ {
+ return d->m_author;
+ }
+
+/**
+ * @return Returns the verb of the activity ,e.g. Robin "marked" Joseph as a friend
+ */
+SmfActivityVerb SmfActivityEntry::actionName() const
+ {
+ return d->m_actionName;
+ }
+
+/**
+ * There can be multiple objects in a single activity entry, though this may be rare - only for few verbs.
+ * @return list of activity objects (mostly one object)
+ */
+QList<SmfActivityObject> SmfActivityEntry::activities() const
+ {
+ return d->m_activities;
+ }
+
+/**
+ * @return Returns information about the target of the activity, for verbs that support a target.
+ * For example, a target is a photo album to which photos were added
+ */
+SmfActivityObject SmfActivityEntry::targetObj() const
+ {
+ return d->m_targetObj;
+ }
+
+/**
+ * Sets service specific id of the of entry
+ * @param aId The id to be set
+ */
+bool SmfActivityEntry::setId( const QString& aId)
+ {
+ d->m_id = aId;
+ return true;
+ }
+
+/**
+ * Sets the title of the entry - mostly be a string
+ * @param aTitle The title to be set
+ */
+bool SmfActivityEntry::setTitle(const SmfPost& aTitle)
+ {
+ d->m_title = aTitle;
+ return true;
+ }
+
+/**
+ * Sets detail description of this entry in the activity list. might be absent if title is sufficient
+ * @param aDetails The details to be set
+ */
+bool SmfActivityEntry::setDetails(const SmfPost& aDetails)
+ {
+ d->m_details = aDetails;
+ return true;
+ }
+
+/**
+ * Sets the author of the activity - the name and the uri field are most commonly used
+ * Oher information fields might be empty
+ * @param aContact The author to be set
+ */
+bool SmfActivityEntry::setAuthor(const SmfContact& aContact)
+ {
+ d->m_author = aContact;
+ return true;
+ }
+
+/**
+ * Sets the verb of the activity ,e.g. Robin "marked" Joseph as a friend
+ * @param aVerb The action name to be set
+ */
+void SmfActivityEntry::setActionName(SmfActivityVerb aVerb)
+ {
+ d->m_actionName = aVerb;
+ }
+
+/**
+ * Sets single or multiple objects in a single activity entry, though multiple may be rare - only for few verbs.
+ * @param list of activity objects (mostly one object)
+ */
+bool SmfActivityEntry::setActivities(QList<SmfActivityObject>& aList)
+ {
+ d->m_activities = aList;
+ return true;
+ }
+
+/**
+ * Returns information about the target of the activity, for verbs that support a target.
+ * For example, a target is a photo album to which photos were added
+ * @param aTarget The activity object to be set
+ */
+bool SmfActivityEntry::setTargetObj(const SmfActivityObject& aTarget)
+ {
+ d->m_targetObj = aTarget;
+ return true;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfActivityEntry object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aObj The SmfActivityEntry object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfActivityEntry &aObj )
+ {
+ aDataStream<<aObj.d->m_id;
+ aDataStream<<aObj.d->m_title;
+ aDataStream<<aObj.d->m_details;
+ aDataStream<<aObj.d->m_author;
+ aDataStream<<aObj.d->m_actionName;
+ aDataStream<<aObj.d->m_activities;
+ aDataStream<<aObj.d->m_targetObj;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfActivityEntry object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aObj The SmfActivityEntry object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfActivityEntry &aObj)
+ {
+ aDataStream>>aObj.d->m_id;
+ aDataStream>>aObj.d->m_title;
+ aDataStream>>aObj.d->m_details;
+ aDataStream>>aObj.d->m_author;
+ int i;
+ aDataStream>>i;
+ aObj.d->m_actionName = (SmfActivityVerb)i;
+ aDataStream>>aObj.d->m_activities;
+ aDataStream>>aObj.d->m_targetObj;
+
+ return aDataStream;
+ }
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfactions.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,375 @@
+/**
+ * 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:
+ * Represents activities in terms similar to standard activity stream http://activitystrea.ms/
+ */
+
+#ifndef SMFACTIONS_H_
+#define SMFACTIONS_H_
+
+#include <QList>
+#include <QImage>
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <QMetaType>
+
+#include "smfclientglobal.h"
+#include "smfpost.h"
+#include "smfcontact.h"
+
+/**
+ * Implementation const
+ */
+const int MaxSmfActivityEntrySize = 5000;
+
+/**
+ * The actions in the activity based on Atom Activity Base Schema
+ * see http://activitystrea.ms/schema/1.0/activity-schema-01.html
+ */
+enum SmfActivityVerb
+ {
+ SmfActivityMarkAsFavorite,
+ SmfActivityStartFollowing,
+ SmfActivityMarkLiked,
+ SmfActivityMakeFriend,
+ SmfActivityJoin,
+ SmfActivityPlay,
+ SmfActivityPost,
+ SmfActivitySave,
+ SmfActivityShare,
+ SmfActivityTag,
+ SmfActivityUpdate
+ };
+
+/**
+ * The type of the object on which the activity is performed - as per Atom Activity Base Schema
+ * see http://activitystrea.ms/schema/1.0/activity-schema-01.html
+ */
+enum SmfActivityObjectType
+ {
+ SmfActivityObjTypeArticle,
+ SmfActivityObjTypeAudio,
+ SmfActivityObjTypeBookmark,
+ SmfActivityObjTypeComment,
+ SmfActivityObjTypeFile,
+ SmfActivityObjTypeFolder,
+ SmfActivityObjTypeGroup,
+ SmfActivityObjTypeList,
+ SmfActivityObjTypeNote,
+ SmfActivityObjTypePerson,
+ SmfActivityObjTypePhoto,
+ SmfActivityObjTypePhotoAlbum,
+ SmfActivityObjTypePlace,
+ SmfActivityObjTypePlaylist,
+ SmfActivityObjTypeProduct,
+ SmfActivityObjTypeReview,
+ SmfActivityObjTypeService,
+ SmfActivityObjTypeStatus,
+ SmfActivityObjTypeVideo,
+ SmfActivityObjTypeMusic,
+ SmfActivityObjTypeEvent,
+ SmfActivityObjTypeAdvanced
+ };
+
+enum SmfActivityFor
+ {
+ SmfActivitySelf,
+ SmfActivityFriend,
+ SmfActivityOthers
+ };
+
+class SmfActivityObjectPrivate;
+//class SmfActivityEntryPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The object class represents an object in an activity (e.g.a picture or a music track on which somebody commented)
+ */
+class SMFCOMMON_EXPORT SmfActivityObject
+ {
+public:
+ /**
+ * Constructor
+ */
+ SmfActivityObject();
+
+ /**
+ * Copy Constructor
+ */
+ SmfActivityObject(const SmfActivityObject& aOther);
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+ SmfActivityObject& operator=( const SmfActivityObject &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfActivityObject();
+
+ /**
+ * @return returns service specific Id of this object in the entry
+ */
+ QString id() const;
+
+ /**
+ * @return returns thumbnail if availabel for this object in the entry
+ */
+ QImage thumbnail() const;
+
+ /**
+ * @return Captions for this object
+ */
+ QString caption() const;
+
+ /**
+ * @return retruns the type of this object
+ */
+ SmfActivityObjectType type( ) const;
+
+ /**
+ * @return returns data of the object - see type() for casting
+ */
+ QVariant objData() const;
+
+ /**
+ * @return url of this object, e.g. url of the image on which somebody commented
+ */
+ QString link() const;
+
+ /**
+ * @return Time of creation of this object
+ */
+ QDateTime time() const;
+
+ /**
+ * @return Description of the content of this object
+ */
+ QString content() const;
+
+ /**
+ * Sets service specific id for this object
+ * @param aId The id to be set
+ */
+ void setId(const QString& aId);
+
+ /**
+ * Sets thumbnail for this object , not mandatory
+ * @param aIcon The thumbnail image
+ */
+ void setThumbnail(const QImage& aIcon);
+
+ /**
+ * Sets caption for this object
+ * @param aCaption The caption to be set
+ */
+ void setCaption(const QString& aCap);
+
+ /**
+ * Sets type of this object - ObjData should be set next accordingly
+ * @param aObjType The activity type to be set
+ */
+ void setType(const SmfActivityObjectType& aObjType);
+
+ /**
+ * Sets object data e,g, SmfImage, SmfComment, SmfMusic, SmfEvent etc
+ * setType() with suitable type should have been called before
+ * @param aData The object data to be set
+ */
+ void setObjData( const QVariant& aData);
+
+ /**
+ * Sets the url for the object
+ * @param aLink The Link to be set
+ */
+ void setLink( const QString& aLink);
+
+ /**
+ * Sets the time of creation/last modification of the object
+ * @param aTime The time to be set
+ */
+ void setTime( const QDateTime& aTime);
+
+ /**
+ * Sets the description of the content of this object
+ * @param aText The content to be set
+ */
+ void setContent( const QString& aText) ;
+
+private:
+ QSharedDataPointer<SmfActivityObjectPrivate> d;
+
+ friend QDataStream& operator >> ( QDataStream &aOut, SmfActivityObject& aData);
+ friend QDataStream& operator << ( QDataStream &aIn, const SmfActivityObject& aData);
+ };
+
+SMFCOMMON_EXPORT QDataStream& operator >> ( QDataStream &aOut, SmfActivityObject& aData);
+SMFCOMMON_EXPORT QDataStream& operator << ( QDataStream &aIn, const SmfActivityObject& aData);
+
+typedef QList<SmfActivityObject> SmfActivityObjectList;
+
+// Make the class SmfActivityObject known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfActivityObject)
+Q_DECLARE_METATYPE(QList<SmfActivityObject>)
+
+
+class SmfActivityEntryPrivate: public QSharedData
+ {
+public:
+ SmfActivityEntryPrivate( ) {
+ m_id.clear();
+ }
+
+ SmfActivityEntryPrivate( const SmfActivityEntryPrivate& aOther ) :
+ QSharedData (aOther),
+ m_id (aOther.m_id),
+ m_title (aOther.m_title),
+ m_details (aOther.m_details),
+ m_author (aOther.m_author),
+ m_actionName (aOther.m_actionName),
+ m_activities (aOther.m_activities),
+ m_targetObj (aOther.m_targetObj) { }
+
+ ~SmfActivityEntryPrivate( ) { }
+
+ /**
+ * Data members
+ */
+ QString m_id;
+ SmfPost m_title;
+ SmfPost m_details;
+ SmfContact m_author;
+ SmfActivityVerb m_actionName;
+ QList<SmfActivityObject> m_activities;
+ SmfActivityObject m_targetObj;
+ };
+
+/**
+ * @ingroup smf_common_group
+ * The object class represents an entry in the list of activities
+ */
+class SMFCOMMON_EXPORT SmfActivityEntry
+ {
+
+public:
+
+ SmfActivityEntry();
+ SmfActivityEntry(const SmfActivityEntry& aOther);
+ ~SmfActivityEntry();
+
+ /**
+ * @return Returns service specific id of the of entry
+ */
+ QString id() const;
+ /**
+ * @return Returns the title of the entry - mostly be a string
+ */
+ SmfPost title() const;
+
+ /**
+ * @return Returns detail descriptiopn of this entry in the activity list. might be absent if title is sufficient
+ */
+ SmfPost details() const;
+
+ /**
+ * @return Returns the author of the activity - the name and the uri field are most commonly used
+ * Other information fields might be empty
+ */
+ SmfContact author() const;
+
+ /**
+ * @return Returns the verb of the activity ,e.g. Robin "marked" Joseph as a friend
+ */
+ SmfActivityVerb actionName() const;
+
+ /**
+ * There can be multiple objects in a single activity entry, though this may be rare - only for few verbs.
+ * @return list of activity objects (mostly one object)
+ */
+ QList<SmfActivityObject> activities() const;
+
+ /**
+ * @return Returns information about the target of the activity, for verbs that support a target.
+ * For example, a target is a photo album to which photos were added
+ */
+ SmfActivityObject targetObj() const;
+
+ /**
+ * Sets service specific id of the of entry
+ * @param aId The id to be set
+ */
+ bool setId( const QString& aId);
+
+ /**
+ * Sets the title of the entry - mostly be a string
+ * @param aTitle The title to be set
+ */
+ bool setTitle(const SmfPost& aTitle);
+
+ /**
+ * Sets detail description of this entry in the activity list. might be absent if title is sufficient
+ * @param aDetails The details to be set
+ */
+ bool setDetails(const SmfPost& aDetails);
+
+ /**
+ * Sets the author of the activity - the name and the uri field are most commonly used
+ * Oher information fields might be empty
+ * @param aContact The author to be set
+ */
+ bool setAuthor(const SmfContact& aContact);
+
+ /**
+ * Sets the verb of the activity ,e.g. Robin "marked" Joseph as a friend
+ * @param aVerb The action name to be set
+ */
+ void setActionName(SmfActivityVerb aVerb);
+
+ /**
+ * Sets single or multiple objects in a single activity entry, though multiple may be rare - only for few verbs.
+ * @param list of activity objects (mostly one object)
+ */
+ bool setActivities(QList<SmfActivityObject>& aList);
+
+ /**
+ * Returns information about the target of the activity, for verbs that support a target.
+ * For example, a target is a photo album to which photos were added
+ * @param aTarget The activity object to be set
+ */
+ bool setTargetObj(const SmfActivityObject& aTarget);
+
+private:
+ QSharedDataPointer<SmfActivityEntryPrivate> d;
+
+ friend QDataStream& operator >> ( QDataStream &aOut, SmfActivityEntry& aData);
+ friend QDataStream& operator << ( QDataStream &aIn, const SmfActivityEntry& aData);
+ };
+
+SMFCOMMON_EXPORT QDataStream& operator >> ( QDataStream &aOut, SmfActivityEntry& aData);
+SMFCOMMON_EXPORT QDataStream& operator << ( QDataStream &aIn, const SmfActivityEntry& aData);
+
+typedef QList<SmfActivityEntry> SmfActivityEntryList;
+
+// Make the class SmfActivityEntry known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfActivityEntry)
+Q_DECLARE_METATYPE(QList<SmfActivityEntry>)
+
+#endif /* SMFACTIONS_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfactions_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,75 @@
+/**
+ * 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:
+ * Contains private implementation of the smfactions
+ */
+
+#ifndef SMFACTIONS_P_H_
+#define SMFACTIONS_P_H_
+
+#include <QDateTime>
+#include <QSharedData>
+#include <QVariant>
+#include <QImage>
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <QMetaType>
+
+#include "smfactions.h"
+#include "smfpost.h"
+#include "smfcontact.h"
+
+class SmfActivityObjectPrivate: public QSharedData
+ {
+public:
+ SmfActivityObjectPrivate( ) {
+ m_id.clear();
+ m_caption.clear();
+ m_link.clear();
+ m_content.clear();
+ }
+
+ SmfActivityObjectPrivate( const SmfActivityObjectPrivate& aOther ) :
+ QSharedData (aOther),
+ m_id (aOther.m_id),
+ m_thumbnail (aOther.m_thumbnail),
+ m_caption (aOther.m_caption),
+ m_type (aOther.m_type),
+ m_objData (aOther.m_objData),
+ m_link (aOther.m_link),
+ m_time (aOther.m_time),
+ m_content (aOther.m_content) { }
+
+ ~SmfActivityObjectPrivate( ) {}
+
+ /**
+ * Data members
+ */
+ QString m_id;
+ QImage m_thumbnail;
+ QString m_caption;
+ SmfActivityObjectType m_type;
+ QVariant m_objData;
+ QString m_link;
+ QDateTime m_time;
+ QString m_content;
+ };
+
+
+
+#endif /* SMFACTIONS_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfalbum.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,182 @@
+/**
+ * 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:
+ * The SmfAlbum class represents a music album
+ *
+ */
+
+#include <smfalbum.h>
+#include <smfalbum_p.h>
+
+
+/**
+ * Constructor with default argument
+ */
+SmfAlbum::SmfAlbum( )
+ {
+ d = new SmfAlbumPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfAlbum::SmfAlbum( const SmfAlbum &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfAlbum& SmfAlbum::operator=( const SmfAlbum &aOther )
+ {
+ d->m_name = aOther.d->m_name;
+ d->m_image = aOther.d->m_image;
+ d->m_artists = aOther.d->m_artists;
+ d->m_albumId = aOther.d->m_albumId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfAlbum::~SmfAlbum( )
+ {
+ }
+
+/**
+ * Method to get the album name
+ * @return The album name
+ */
+QString SmfAlbum::name( ) const
+ {
+ return d->m_name;
+ }
+
+/**
+ * Method to get the album's image
+ * @return The album's image
+ */
+QImage SmfAlbum::image( ) const
+ {
+ return d->m_image;
+ }
+
+/**
+ * Method to get the artist names
+ * @return The list of artists in the album
+ */
+SmfArtists SmfAlbum::artists( ) const
+ {
+ return d->m_artists;
+ }
+
+/**
+ * Method to get the id of the album
+ * @return The ID value
+ */
+QString SmfAlbum::id( ) const
+ {
+ return d->m_albumId;
+ }
+
+/**
+ * Method to set the album name
+ * @param aName The album name
+ */
+void SmfAlbum::setName( const QString &aName )
+ {
+ d->m_name = aName;
+ }
+
+/**
+ * Method to set the album's image
+ * @param aImage The album's image
+ */
+void SmfAlbum::setImage( const QImage &aImage )
+ {
+ d->m_image = aImage;
+ }
+
+/**
+ * Method to set the artist names
+ * @param aArtists The list of artists in the album
+ */
+void SmfAlbum::setArtists( const SmfArtists &aArtists )
+ {
+ d->m_artists = aArtists;
+ }
+
+/**
+ * Method to set the id of the album
+ * @param aId The ID value
+ */
+void SmfAlbum::setId( const QString &aId )
+ {
+ d->m_albumId = aId;
+ }
+
+/**
+ * Method for Externalization. Writes the SmfAlbum object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aAlbum The SmfAlbum object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfAlbum &aAlbum )
+ {
+ // Serialize d->m_name
+ aDataStream<<aAlbum.d->m_name;
+
+ // Serialize d->m_image
+ aDataStream<<aAlbum.d->m_image;
+
+ // Serialize d->m_artists
+ aDataStream<<aAlbum.d->m_artists;
+
+ // Serialize d->m_albumId
+ aDataStream<<aAlbum.d->m_albumId;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfAlbum object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aAlbum The SmfAlbum object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfAlbum &aAlbum)
+ {
+ // Deserialize d->m_name
+ aDataStream>>aAlbum.d->m_name;
+
+ // Deserialize d->m_image
+ aDataStream>>aAlbum.d->m_image;
+
+ // Deserialize d->m_artists
+ aDataStream>>aAlbum.d->m_artists;
+
+ // Deserialize d->m_albumId
+ aDataStream>>aAlbum.d->m_albumId;
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfalbum.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,145 @@
+/**
+ * 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:
+ * The SmfAlbum class represents a music album
+ *
+ */
+#ifndef SMFALBUM_H_
+#define SMFALBUM_H_
+
+#include <QImage>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+
+class SmfAlbumPrivate;
+class SmfArtists;
+
+/**
+ * @ingroup smf_common_group
+ * The SmfAlbum class represents a music album
+ */
+class SMFCOMMON_EXPORT SmfAlbum
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfAlbum( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfAlbum( const SmfAlbum &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+ SmfAlbum& operator=( const SmfAlbum &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfAlbum( );
+
+ /**
+ * Method to get the album name
+ * @return The album name
+ */
+ QString name( ) const;
+
+ /**
+ * Method to get the album's image
+ * @return The album's image
+ */
+ QImage image( ) const;
+
+ /**
+ * Method to get the artist names
+ * @return The list of artists in the album
+ */
+ SmfArtists artists( ) const;
+
+ /**
+ * Method to get the id of the album
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the album name
+ * @param aName The album name
+ */
+ void setName( const QString &aName );
+
+ /**
+ * Method to set the album's image
+ * @param aImage The album's image
+ */
+ void setImage( const QImage &aImage );
+
+ /**
+ * Method to set the artist names
+ * @param aArtists The list of artists in the album
+ */
+ void setArtists( const SmfArtists &aArtists );
+
+ /**
+ * Method to set the id of the album
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfAlbumPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfAlbum &aAlbum );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfAlbum &aAlbum );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfAlbum object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aAlbum The SmfAlbum object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfAlbum &aAlbum );
+
+/**
+ * Method for Internalization. Reads a SmfAlbum object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aAlbum The SmfAlbum object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfAlbum &aAlbum);
+
+// Make the class SmfAlbum known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfAlbum)
+Q_DECLARE_METATYPE(QList<SmfAlbum>)
+
+#endif /* SMFALBUM_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfalbum_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,64 @@
+/**
+ * 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 class implemented for implicit sharing of SmfAlbum class
+ *
+ */
+
+#ifndef SMFALBUM_P_H_
+#define SMFALBUM_P_H_
+
+#include <smfartists.h>
+#include <QStringList>
+#include <QSharedData>
+
+class SmfAlbumPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfAlbumPrivate( ) {
+ m_name.clear();
+ m_albumId.clear();
+
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfAlbumPrivate( const SmfAlbumPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_name ( aOther.m_name ),
+ m_image ( aOther.m_image ),
+ m_artists ( aOther.m_artists ),
+ m_albumId ( aOther.m_albumId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfAlbumPrivate( )
+ {
+ }
+
+ QString m_name; // album name
+ QImage m_image; // album image
+ SmfArtists m_artists; // album's artists
+ QString m_albumId; // album Id
+
+};
+
+#endif /* SMFALBUM_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfartists.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,157 @@
+/**
+ * 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:
+ * The SmfArtists class represents the artists in a track or an album
+ *
+ */
+
+#include <smfartists.h>
+#include <smfartists_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfArtists::SmfArtists( )
+ {
+ d = new SmfArtistsPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfArtists::SmfArtists( const SmfArtists &aOther )
+ :d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfArtists& SmfArtists::operator=( const SmfArtists &aOther )
+ {
+ d->m_names = aOther.d->m_names;
+ d->m_image = aOther.d->m_image;
+ d->m_url = aOther.d->m_url;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfArtists::~SmfArtists( )
+ {
+ }
+
+/**
+ * Method to get the artists names
+ * @return The list of artists
+ */
+QStringList SmfArtists::names( ) const
+ {
+ return d->m_names;
+ }
+
+/**
+ * Method to get the image of the artists
+ * @return The image of te artists
+ */
+QImage SmfArtists::image( ) const
+ {
+ return d->m_image;
+ }
+
+/**
+ * Method to get the url of the artists
+ * @return The url of the artists
+ */
+QUrl SmfArtists::url( ) const
+ {
+ return d->m_url;
+ }
+
+/**
+ * Method to set the artists names
+ * @param aList The list of artists names
+ */
+void SmfArtists::setNames( const QStringList &aList )
+ {
+ d->m_names = aList;
+ }
+
+/**
+ * Method to set the image of the artists
+ * @param aImage The image of the artists
+ */
+void SmfArtists::setImage( const QImage &aImage )
+ {
+ d->m_image = aImage;
+ }
+
+/**
+ * Method to set the url of the artists
+ * @param aUrl The url of the artists
+ */
+void SmfArtists::setUrl( const QUrl &aUrl )
+ {
+ d->m_url = aUrl;
+ }
+
+/**
+ * Method for Externalization. Writes the SmfArtists object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aArtists The SmfArtists object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfArtists &aArtists )
+ {
+ // Serialize d->m_image
+ aDataStream<<aArtists.d->m_image;
+
+ // Serialize d->m_names
+ aDataStream<<aArtists.d->m_names;
+
+ // Serialize d->m_url
+ aDataStream<<aArtists.d->m_url;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfArtists object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aArtists The SmfArtists object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfArtists &aArtists)
+ {
+ // Deserialize d->m_image
+ aDataStream>>aArtists.d->m_image;
+
+ // Deserialize d->m_names
+ aDataStream>>aArtists.d->m_names;
+
+ // Deserialize d->m_url
+ aDataStream>>aArtists.d->m_url;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfartists.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,133 @@
+/**
+ * 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:
+ * The SmfArtists class represents the artists in a track or an album
+ *
+ */
+
+#ifndef SMFARTISTS_H_
+#define SMFARTISTS_H_
+
+#include <QImage>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+
+class SmfArtistsPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The SmfArtists class represents the artists in a track or an album
+ */
+class SMFCOMMON_EXPORT SmfArtists
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfArtists( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfArtists( const SmfArtists &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfArtists& operator=( const SmfArtists &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfArtists( );
+
+ /**
+ * Method to get the artists names
+ * @return The list of artists
+ */
+ QStringList names( ) const;
+
+ /**
+ * Method to get the image of the artists
+ * @return The image of te artists
+ */
+ QImage image( ) const;
+
+ /**
+ * Method to get the url of the artists
+ * @return The url of the artists
+ */
+ QUrl url( ) const;
+
+ /**
+ * Method to set the artists names
+ * @param aList The list of artists names
+ */
+ void setNames( const QStringList &aList );
+
+ /**
+ * Method to set the image of the artists
+ * @param aImage The image of the artists
+ */
+ void setImage( const QImage &aImage );
+
+ /**
+ * Method to set the url of the artists
+ * @param aUrl The url of the artists
+ */
+ void setUrl( const QUrl &aUrl );
+
+private:
+ QSharedDataPointer<SmfArtistsPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfArtists &aArtists );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfArtists &aArtists );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfArtists object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aArtists The SmfArtists object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfArtists &aArtists );
+
+/**
+ * Method for Internalization. Reads a SmfArtists object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aArtists The SmfArtists object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfArtists &aArtists);
+
+// Make the class SmfArtists known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfArtists)
+Q_DECLARE_METATYPE(QList<SmfArtists>)
+
+#endif /* SMFARTISTS_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfartists_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,62 @@
+/**
+ * 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 class implemented for implicit sharing of SmfArtists class
+ *
+ */
+
+#ifndef SMFARTISTS_P_H_
+#define SMFARTISTS_P_H_
+
+#include <QImage>
+#include <QUrl>
+#include <QStringList>
+#include <QSharedData>
+
+class SmfArtistsPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfArtistsPrivate( ) {
+ m_names.clear();
+ m_url.clear();
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfArtistsPrivate( const SmfArtistsPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_names ( aOther.m_names ),
+ m_image ( aOther.m_image ),
+ m_url ( aOther.m_url ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfArtistsPrivate( )
+ {
+ }
+
+ QStringList m_names; // artist names
+ QImage m_image; // image
+ QUrl m_url; // url
+};
+
+
+#endif /* SMFARTISTS_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfclientglobal.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,55 @@
+/**
+ * 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:
+ * Client DLL macro and server executable name
+ *
+ */
+
+#ifndef SMFCLIENTGLOBAL_H_
+#define SMFCLIENTGLOBAL_H_
+
+#include <QtCore/QtGlobal>
+#include <QString>
+
+#ifdef Q_OS_SYMBIAN
+ _LIT(KSmfServerName,"smfserver");
+ _LIT(KSmfServerSemaphoreName,"smfserverSemaphore");
+ _LIT(KSmfServerFilename,"smfserver");
+#else
+ const QString KSmfServerName("smfserver");
+ const QString KSmfServerSemaphoreName("smfserverSemaphore");
+ const QString KSmfServerFilename("smfserver");
+#endif
+
+
+ #ifdef SMFCLIENT_LIB_EXPORT
+ #define SMFCLIENT_EXPORT Q_DECL_EXPORT
+ #else
+ #define SMFCLIENT_EXPORT Q_DECL_IMPORT
+ #endif
+
+#ifdef SMFCOMMON_LIB_EXPORT
+ #define SMFCOMMON_EXPORT Q_DECL_EXPORT
+#else
+ #define SMFCOMMON_EXPORT Q_DECL_IMPORT
+#endif
+
+
+/**
+ * To be designed later
+ */
+#define SMF_GETSERVICES(INTERFACE,INTERFACESTRING)
+
+#endif /* SMFCLIENTDEFS_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcomment.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,159 @@
+/**
+ * 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:
+ * The comment class represents a comment (on a picture or a music track etc)
+ *
+ */
+
+
+#include "smfcomment.h"
+#include "smfcomment_p.h"
+
+/**
+ * Constructor with default argument
+ */
+SmfComment::SmfComment()
+ {
+ d = new SmfCommentPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfComment::SmfComment( const SmfComment &aOther )
+ :d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The current object reference
+ */
+SmfComment& SmfComment::operator=(const SmfComment &aOther)
+ {
+ d->m_text = aOther.d->m_text;
+ d->m_timeStamp = aOther.d->m_timeStamp;
+ d->m_commentId = aOther.d->m_commentId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfComment::~SmfComment( )
+ {
+ }
+
+/**
+ * Method to get the comment text
+ * @return The comment text
+ */
+QString SmfComment::text( ) const
+ {
+ return d->m_text;
+ }
+
+/**
+ * Method to get the comment time stamp
+ * @return The comment time stamp value
+ */
+QDateTime SmfComment::timeStamp( ) const
+ {
+ return d->m_timeStamp;
+ }
+
+/**
+ * Method to get the id of the comment
+ * @return The ID value
+ */
+QString SmfComment::id( ) const
+ {
+ return d->m_commentId;
+ }
+
+/**
+ * Method to set the comment text
+ * @param aText The comment text to be set
+ */
+void SmfComment::setText( const QString &aText )
+ {
+ d->m_text = aText;
+ }
+
+/**
+ * Method to set the time stamp
+ * @param aDateTime The comment time stamp value to be set
+ */
+void SmfComment::setTimeStamp( const QDateTime &aDateTime )
+ {
+ d->m_timeStamp = aDateTime;
+ }
+
+/**
+ * Method to set the id of the comment
+ * @param aId The ID value to be set
+ */
+void SmfComment::setId( const QString &aId )
+ {
+ d->m_commentId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfComment object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aComment The SmfComment object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfComment &aComment )
+ {
+ // Serialize d->m_text
+ aDataStream<<aComment.d->m_text;
+
+ // Serialize d->m_timeStamp
+ aDataStream<<aComment.d->m_timeStamp;
+
+ // Serialize d->m_commentId
+ aDataStream<<aComment.d->m_commentId;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfComment object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aComment The SmfComment object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfComment &aComment)
+ {
+ // Deserialize d->m_text
+ aDataStream>>aComment.d->m_text;
+
+ // Deserialize d->m_timeStamp
+ aDataStream>>aComment.d->m_timeStamp;
+
+ // Deserialize d->m_commentId
+ aDataStream>>aComment.d->m_commentId;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcomment.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,134 @@
+/**
+ * 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:
+ * The comment class represents a comment (on a picture or a music track etc)
+ *
+ */
+
+#ifndef SMFCOMMENT_H_
+#define SMFCOMMENT_H_
+
+#include <QDateTime>
+#include <qdatastream.h>
+#include <QSharedData>
+#include "smfclientglobal.h"
+#include <QMetaType>
+
+class SmfCommentPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The comment class represents a comment (on a picture or a music track etc)
+ */
+class SMFCOMMON_EXPORT SmfComment
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfComment( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfComment( const SmfComment &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The current object reference
+ */
+ SmfComment& operator=(const SmfComment &aOther);
+
+ /**
+ * Destructor
+ */
+ ~SmfComment( );
+
+ /**
+ * Method to get the comment text
+ * @return The comment text
+ */
+ QString text( ) const;
+
+ /**
+ * Method to get the comment time stamp
+ * @return The comment time stamp value
+ */
+ QDateTime timeStamp( ) const;
+
+ /**
+ * Method to get the id of the comment
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the comment text
+ * @param aText The comment text to be set
+ */
+ void setText( const QString &aText );
+
+ /**
+ * Method to set the time stamp
+ * @param aDateTime The comment time stamp value to be set
+ */
+ void setTimeStamp( const QDateTime &aDateTime );
+
+ /**
+ * Method to set the id of the comment
+ * @param aId The ID value to be set
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfCommentPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfComment &aComment );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfComment &aComment );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfComment object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aComment The SmfComment object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfComment &aComment );
+
+/**
+ * Method for Internalization. Reads a SmfComment object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aComment The SmfComment object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfComment &aComment);
+
+
+// Make the class SmfComment known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfComment)
+Q_DECLARE_METATYPE(QList<SmfComment>)
+
+#endif /* SMFCOMMENT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcomment_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,57 @@
+/**
+ * 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 class implemented for implicit sharing of SmfComment class
+ *
+ */
+
+#ifndef SMFCOMMENT_P_H_
+#define SMFCOMMENT_P_H_
+
+#include <QDateTime>
+#include <QSharedData>
+
+class SmfCommentPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfCommentPrivate( ) { m_text.clear(); m_commentId.clear(); }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfCommentPrivate( const SmfCommentPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_text ( aOther.m_text ),
+ m_timeStamp ( aOther.m_timeStamp ),
+ m_commentId ( aOther.m_commentId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfCommentPrivate( )
+ {
+ }
+
+ QString m_text; // comment text
+ QDateTime m_timeStamp; // comment time stamp
+ QString m_commentId; // comment Id
+
+};
+
+#endif /* SMFCOMMENT_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcommon.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,30 @@
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"smfcommon"},(0xEE9F4502),1,0,0
+
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Default dependency to Qt libraries
+(0x2001E61C), 4, 6, 2, {"Qt"}
+; Default dependency to QtMobility libraries
+(0x2002AC89), 1, 0, 0, {"QtMobility"}
+
+; Executable and default resource files
+; DEPLOYMENT, shoudn't be hard coded
+"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/release/$(PLATFORM)/$(TARGET)/smfcommon.dll" - "!:\sys\bin\smfcommon.dll"
+
+; Manual PKG post-rules from PRO files
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcommon.pro Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,135 @@
+TEMPLATE = lib
+TARGET = smfcommon
+QT += core \
+ gui \
+ network
+CONFIG += mobility
+MOBILITY += contacts \
+ location
+DEFINES += SMFCOMMON_LIB_EXPORT
+PUBLIC_HEADERS += \
+ smfactions.h \
+ smfalbum.h \
+ smfartists.h \
+ smfcomment.h \
+ smfcontact.h \
+ smfevent.h \
+ smfgroup.h \
+ smflocation.h \
+ smflyrics.h \
+ smfmusicfingerprint.h \
+ smfmusicprofile.h \
+ smfmusicrating.h \
+ smfpicture.h \
+ smfpicturealbum.h \
+ smfplaylist.h \
+ smfpluginutil.h \
+ smfpost.h \
+ smfprovider.h \
+ smfsubtitle.h \
+ smftrackinfo.h \
+ smfurl.h \
+ smfclientglobal.h \
+ smfglobal.h \
+ smfobserver.h
+PRIVATE_HEADERS += \
+ smfactions_p.h \
+ smfalbum_p.h \
+ smfartists_p.h \
+ smfcomment_p.h \
+ smfcontact_p.h \
+ smfevent_p.h \
+ smfgroup_p.h \
+ smflocation_p.h \
+ smflyrics_p.h \
+ smfmusicfingerprint_p.h \
+ smfmusicprofile_p.h \
+ smfmusicrating_p.h \
+ smfpicture_p.h \
+ smfpicturealbum_p.h \
+ smfplaylist_p.h \
+ smfpost_p.h \
+ smfsubtitle_p.h \
+ smftrackinfo_p.h \
+ smfurl_p.h \
+ smfobserver.h
+SOURCES += \
+ smfactions.cpp \
+ smfalbum.cpp \
+ smfartists.cpp \
+ smfcomment.cpp \
+ smfcontact.cpp \
+ smfevent.cpp \
+ smfgroup.cpp \
+ smflocation.cpp \
+ smflyrics.cpp \
+ smfmusicfingerprint.cpp \
+ smfmusicprofile.cpp \
+ smfmusicrating.cpp \
+ smfpicture.cpp \
+ smfpicturealbum.cpp \
+ smfplaylist.cpp \
+ smfpluginutil.cpp \
+ smfpost.cpp \
+ smfprovider.cpp \
+ smfsubtitle.cpp \
+ smftrackinfo.cpp \
+ smfurl.cpp
+HEADERS += $$PUBLIC_HEADERS \
+ $$PRIVATE_HEADERS
+symbian: {
+ TARGET.UID3 = 0xEE9F4502
+ TARGET.CAPABILITY = NetworkServices \
+ ReadUserData \
+ WriteUserData \
+ LocalServices \
+ UserEnvironment \
+ ReadDeviceData \
+ WriteDeviceData
+ TARGET.EPOCALLOWDLLDATA = 1
+ LIBS += -lqjson.dll -lsmfcredmgrclient
+
+ BLD_INF_RULES.prj_exports += smfclientglobal.h
+ BLD_INF_RULES.prj_exports += smfglobal.h
+ BLD_INF_RULES.prj_exports += smfobserver.h
+ BLD_INF_RULES.prj_exports += smfactions.h
+ BLD_INF_RULES.prj_exports += smfactions_p.h
+ BLD_INF_RULES.prj_exports += smfalbum.h
+ BLD_INF_RULES.prj_exports += smfalbum_p.h
+ BLD_INF_RULES.prj_exports += smfartists.h
+ BLD_INF_RULES.prj_exports += smfartists_p.h
+ BLD_INF_RULES.prj_exports += smfcomment.h
+ BLD_INF_RULES.prj_exports += smfcomment_p.h
+ BLD_INF_RULES.prj_exports += smfcontact.h
+ BLD_INF_RULES.prj_exports += smfcontact_p.h
+ BLD_INF_RULES.prj_exports += smfevent.h
+ BLD_INF_RULES.prj_exports += smfevent_p.h
+ BLD_INF_RULES.prj_exports += smfgroup.h
+ BLD_INF_RULES.prj_exports += smfgroup_p.h
+ BLD_INF_RULES.prj_exports += smflocation.h
+ BLD_INF_RULES.prj_exports += smflocation_p.h
+ BLD_INF_RULES.prj_exports += smflyrics.h
+ BLD_INF_RULES.prj_exports += smflyrics_p.h
+ BLD_INF_RULES.prj_exports += smfmusicfingerprint.h
+ BLD_INF_RULES.prj_exports += smfmusicfingerprint_p.h
+ BLD_INF_RULES.prj_exports += smfmusicprofile.h
+ BLD_INF_RULES.prj_exports += smfmusicprofile_p.h
+ BLD_INF_RULES.prj_exports += smfmusicrating.h
+ BLD_INF_RULES.prj_exports += smfmusicrating_p.h
+ BLD_INF_RULES.prj_exports += smfpicture.h
+ BLD_INF_RULES.prj_exports += smfpicture_p.h
+ BLD_INF_RULES.prj_exports += smfpicturealbum.h
+ BLD_INF_RULES.prj_exports += smfpicturealbum_p.h
+ BLD_INF_RULES.prj_exports += smfplaylist.h
+ BLD_INF_RULES.prj_exports += smfplaylist_p.h
+ BLD_INF_RULES.prj_exports += smfpluginutil.h
+ BLD_INF_RULES.prj_exports += smfpost.h
+ BLD_INF_RULES.prj_exports += smfpost_p.h
+ BLD_INF_RULES.prj_exports += smfprovider.h
+ BLD_INF_RULES.prj_exports += smfsubtitle.h
+ BLD_INF_RULES.prj_exports += smfsubtitle_p.h
+ BLD_INF_RULES.prj_exports += smftrackinfo.h
+ BLD_INF_RULES.prj_exports += smftrackinfo_p.h
+ BLD_INF_RULES.prj_exports += smfurl.h
+ BLD_INF_RULES.prj_exports += smfurl_p.h
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcontact.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,1108 @@
+/**
+ * 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:
+ * The contact class represents a social contact
+ * Note: This class has dependencies on QtMobility project
+ *
+ */
+
+#include <QFile>
+#include <QTextStream>
+
+#include "smfcontact.h"
+
+/**
+ * Constructor with default argument
+ * @param aParent The parent object
+ */
+SmfContact::SmfContact( QObject *aParent)
+ {
+ Q_UNUSED(aParent);
+ d = new SmfContactPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfContact::SmfContact( const SmfContact &aOther ): d (aOther.d)
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfContact& SmfContact::operator=( const SmfContact &aOther )
+ {
+ d->m_details = aOther.d->m_details;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfContact::~SmfContact( )
+ {
+ }
+
+/**
+ * Method to get the available sub fields for contacts.
+ * The following are the available sub types of a contact
+ * QtMobility::QContactAddress Address;
+ * QtMobility::QContactAnniversary Anniversary;
+ * QtMobility::QContactAvatar Avatar;
+ * QtMobility::QContactBirthday Birthday;
+ * QtMobility::QContactId ContactId;
+ * QtMobility::QContactEmailAddress EmailAddress;
+ * QtMobility::QContactGender Gender;
+ * QtMobility::QContactGeoLocation Geolocation;
+ * QtMobility::QContactGuid Guid;
+ * QtMobility::QContactName Name;
+ * QtMobility::QContactNickname Nickname;
+ * QtMobility::QContactNote Note;
+ * QtMobility::QContactOnlineAccount OnlineAccount;
+ * QtMobility::QContactOrganization Organization;
+ * QtMobility::QContactPhoneNumber PhoneNumber;
+ * QtMobility::QContactPresence Presence;
+ * QtMobility::QContactThumbnail Thumbnail;
+ * QtMobility::QContactTimestamp Timestamp;
+ * QtMobility::QContactType Type;
+ * QtMobility::QContactUrl Url;
+ * @return The Available sub fields for this contact
+ */
+QStringList SmfContact::subTypes( ) const
+ {
+ QStringList list = d->m_details.uniqueKeys();
+ return list;
+ }
+
+/**
+ * Method to convert an SmfContact to a QContact
+ * Changes made to the returned QContact will not be reflected
+ * in its parent SmfContact object
+ * @param aContact QContact corresponding to SmfContact
+ */
+void SmfContact::convert( QContact &aContact ) const
+ {
+// TODO:-
+ Q_UNUSED(aContact);
+ }
+
+/**
+ * Method to get the value of a sub field for this contact
+ * @param aSubType The sub field type
+ * @return The value of the sub field subType
+ * @see subTypes()
+ */
+QVariant SmfContact::value( const QString& aSubType ) const
+ {
+ if(d->m_details.contains(aSubType))
+ return d->m_details.value(aSubType);
+ else
+ return QString();
+ }
+
+/**
+ * Method to set value for a subtype
+ * @param aSubType The subtype string
+ * @param value Thhe value to be set for the subtype
+ */
+void SmfContact::setValue(const QString& aSubType,QVariant& value)
+ {
+ d->m_details.insert(aSubType,value);
+ }
+
+/**
+ * Method for Externalization. Writes the SmfContact object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aContact The SmfContact object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfContact& aContact )
+ {
+ QContactAddress address = aContact.value("Address").value<QContactAddress>();
+ aDataStream<<address;
+
+ QContactAnniversary anniver = aContact.value("Anniversary").value<QContactAnniversary>();
+ aDataStream<<anniver;
+
+ QContactAvatar avatar = aContact.value("Avatar").value<QContactAvatar>();
+ aDataStream<<avatar;
+
+ QContactBirthday bday = aContact.value("Birthday").value<QContactBirthday>();
+ aDataStream<<bday;
+
+ QContactId contactId = aContact.value("ContactId").value<QContactId>();
+ aDataStream<<contactId;
+
+ QContactEmailAddress email = aContact.value("EmailAddress").value<QContactEmailAddress>();
+ aDataStream<<email;
+
+ QContactGender gender = aContact.value("Gender").value<QContactGender>();
+ aDataStream<<gender;
+
+ QContactGeoLocation geoloc = aContact.value("Geolocation").value<QContactGeoLocation>();
+ aDataStream<<geoloc;
+
+ QContactGuid guid = aContact.value("Guid").value<QContactGuid>();
+ aDataStream<<guid;
+
+ QContactName name = aContact.value("Name").value<QContactName>();
+ aDataStream<<name;
+
+ QContactNickname nickname = aContact.value("Nickname").value<QContactNickname>();
+ aDataStream<<nickname;
+
+ QContactNote note = aContact.value("Note").value<QContactNote>();
+ aDataStream<<note;
+
+ QContactOnlineAccount account = aContact.value("OnlineAccount").value<QContactOnlineAccount>();
+ aDataStream<<account;
+
+ QContactOrganization org = aContact.value("Organization").value<QContactOrganization>();
+ aDataStream<<org;
+
+ QContactPhoneNumber number = aContact.value("PhoneNumber").value<QContactPhoneNumber>();
+ aDataStream<<number;
+
+ QContactPresence presence = aContact.value("Presence").value<QContactPresence>();
+ aDataStream<<presence;
+
+ QContactThumbnail thumbnail = aContact.value("Thumbnail").value<QContactThumbnail>();
+ aDataStream<<thumbnail;
+
+ QContactTimestamp time = aContact.value("Timestamp").value<QContactTimestamp>();
+ aDataStream<<time;
+
+ QContactType type = aContact.value("Type").value<QContactType>();
+ aDataStream<<type;
+
+ QContactUrl url = aContact.value("Url").value<QContactUrl>();
+ aDataStream<<url;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfContact object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aContact The SmfContact object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfContact& aContact )
+ {
+ QContactAddress address;
+ aDataStream>>address;
+ QVariant var1 = QVariant::fromValue(address);
+ aContact.setValue("Address",var1);
+
+ QContactAnniversary anniver;
+ aDataStream>>anniver;
+ QVariant var2 = QVariant::fromValue(anniver);
+ aContact.setValue("Anniversary",var2);
+
+ QContactAvatar avatar;
+ aDataStream>>avatar;
+ QVariant var3 = QVariant::fromValue(avatar);
+ aContact.setValue("Avatar",var3);
+
+ QContactBirthday bday;
+ aDataStream>>bday;
+ QVariant var4 = QVariant::fromValue(bday);
+ aContact.setValue("Birthday",var4);
+
+ QContactId id;
+ aDataStream>>id;
+ QVariant var5 = QVariant::fromValue(id);
+ aContact.setValue("ContactId",var5);
+
+ QContactEmailAddress email;
+ aDataStream>>email;
+ QVariant var6 = QVariant::fromValue(email);
+ aContact.setValue("EmailAddress",var6);
+
+ QContactGender gender;
+ aDataStream>>gender;
+ QVariant var7 = QVariant::fromValue(gender);
+ aContact.setValue("Gender",var7);
+
+ QContactGeoLocation geo;
+ aDataStream>>geo;
+ QVariant var8 = QVariant::fromValue(geo);
+ aContact.setValue("Geolocation",var8);
+
+ QContactGuid guid;
+ aDataStream>>guid;
+ QVariant var9 = QVariant::fromValue(guid);
+ aContact.setValue("Guid",var9);
+
+ QContactName name1;
+ aDataStream>>name1;
+ QVariant var10 = QVariant::fromValue(name1);
+ aContact.setValue("Name",var10);
+
+ QContactNickname nickname;
+ aDataStream>>nickname;
+ QVariant var11 = QVariant::fromValue(nickname);
+ aContact.setValue("Nickname",var11);
+
+ QContactNote note;
+ aDataStream>>note;
+ QVariant var12 = QVariant::fromValue(note);
+ aContact.setValue("Note",var12);
+
+ QContactOnlineAccount account;
+ aDataStream>>account;
+ QVariant var13 = QVariant::fromValue(account);
+ aContact.setValue("OnlineAccount",var13);
+
+ QContactOrganization org;
+ aDataStream>>org;
+ QVariant var14 = QVariant::fromValue(org);
+ aContact.setValue("Organization",var14);
+
+ QContactPhoneNumber number;
+ aDataStream>>number;
+ QVariant var15 = QVariant::fromValue(number);
+ aContact.setValue("PhoneNumber",var15);
+
+ QContactPresence presence;
+ aDataStream>>presence;
+ QVariant var16 = QVariant::fromValue(presence);
+ aContact.setValue("Presence",var16);
+
+ QContactThumbnail thumbnail;
+ aDataStream>>thumbnail;
+ QVariant var17 = QVariant::fromValue(thumbnail);
+ aContact.setValue("Thumbnail",var17);
+
+ QContactTimestamp time;
+ aDataStream>>time;
+ QVariant var18 = QVariant::fromValue(time);
+ aContact.setValue("Timestamp",var18);
+
+ QContactType type;
+ aDataStream>>type;
+ QVariant var19 = QVariant::fromValue(type);
+ aContact.setValue("Type",var19);
+
+ QContactUrl url;
+ aDataStream>>url;
+ QVariant var20 = QVariant::fromValue(url);
+ aContact.setValue("Url",var20);
+
+ return aDataStream;
+ }
+
+
+
+
+/**
+ * Serialization support for QtMobility::QContactAddress
+ */
+QDataStream& operator<<( QDataStream &aDataStream,
+ const QContactAddress &aAddress )
+ {
+ aDataStream<<aAddress.country();
+ aDataStream<<aAddress.locality();
+ aDataStream<<aAddress.postOfficeBox();
+ aDataStream<<aAddress.postcode();
+ aDataStream<<aAddress.region();
+ aDataStream<<aAddress.street();
+ aDataStream<<aAddress.subTypes();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactAddress
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactAddress &aAddress )
+ {
+ QString str;
+
+ // First one to be deserialized is country
+ aDataStream>>str;
+ aAddress.setCountry(str);
+
+ // Next one to be deserialized is locality
+ str.clear();
+ aDataStream>>str;
+ aAddress.setLocality(str);
+
+ // Next one to be deserialized is postOfficeBox
+ str.clear();
+ aDataStream>>str;
+ aAddress.setPostOfficeBox(str);
+
+ // Next one to be deserialized is postCode
+ str.clear();
+ aDataStream>>str;
+ aAddress.setPostcode(str);
+
+ // Next one to be deserialized is region
+ str.clear();
+ aDataStream>>str;
+ aAddress.setRegion(str);
+
+ // Next one to be deserialized is street
+ str.clear();
+ aDataStream>>str;
+ aAddress.setStreet(str);
+
+ // Next one to be deserialized is subtypes
+ QStringList list;
+ list.clear();
+ aDataStream>>list;
+ aAddress.setSubTypes(list);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactAnniversary
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactAnniversary &aAnniversary )
+ {
+ aDataStream<<aAnniversary.calendarId();
+ aDataStream<<aAnniversary.event();
+ aDataStream<<aAnniversary.originalDate();
+ aDataStream<<aAnniversary.subType();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactAnniversary
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactAnniversary &aAnniversary)
+ {
+ QString str;
+ QDate date;
+
+ // First one to be deserialized is calendarId
+ aDataStream>>str;
+ aAnniversary.setCalendarId(str);
+
+ // Next one to be deserialized is event
+ str.clear();
+ aDataStream>>str;
+ aAnniversary.setEvent(str);
+
+ // Next one to be deserialized is originalDate
+ aDataStream>>date;
+ aAnniversary.setOriginalDate(date);
+
+ // Next one to be deserialized is subType
+ str.clear();
+ aDataStream>>str;
+ aAnniversary.setSubType(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactAvatar
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactAvatar &aAvatar )
+ {
+ //TODO:- QContactAvatar derives from QContactDetail,so internalization/externalization
+ //for the same should be provided
+
+ //Qt mobility introduces API compatibility break
+#ifdef OLDER_QT_MOBILITY
+ aDataStream<<aAvatar.avatar();
+
+#else
+ aDataStream<<aAvatar.imageUrl();
+ aDataStream<<aAvatar.videoUrl();
+#endif
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactAvatar
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactAvatar &aAvatar)
+ {
+#ifdef OLDER_QT_MOBILITY
+ QString avatarPath;
+ aDataStream>>avatarPath;
+ aAvatar.setAvatar(avatarPath);
+#else
+ QUrl url;
+ aDataStream>>url;
+ aAvatar.setImageUrl(url);
+
+ url.clear();
+ aDataStream>>url;
+ aAvatar.setVideoUrl(url);
+#endif
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactBirthday
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactBirthday &aBirthday )
+ {
+ aDataStream<<aBirthday.date();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactBirthday
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactBirthday &aBirthday)
+ {
+ QDate date;
+ aDataStream>>date;
+ aBirthday.setDate(date);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactId
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactId &aContactId )
+ {
+ aDataStream<<aContactId.localId();
+ aDataStream<<aContactId.managerUri();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactId
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactId &aContactId)
+ {
+ QContactLocalId localId;
+ QString str;
+
+ // First one to be deserialized is localId
+ aDataStream>>localId;
+ aContactId.setLocalId(localId);
+
+ // Next one to be deserialized is managerUri
+ aDataStream>>str;
+ aContactId.setManagerUri(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactEmailAddress
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactEmailAddress &aEMail )
+ {
+ aDataStream<<aEMail.emailAddress();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactEmailAddress
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactEmailAddress &aEMail)
+ {
+ QString str;
+ aDataStream>>str;
+ aEMail.setEmailAddress(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactGender
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactGender &aGender )
+ {
+ aDataStream<<aGender.gender();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactGender
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactGender &aGender)
+ {
+ QString str;
+ aDataStream>>str;
+ aGender.setGender(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactGeoLocation
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactGeoLocation &aGeolocation )
+ {
+ aDataStream<<aGeolocation.accuracy();
+ aDataStream<<aGeolocation.altitude();
+ aDataStream<<aGeolocation.altitudeAccuracy();
+ aDataStream<<aGeolocation.heading();
+ aDataStream<<aGeolocation.label();
+ aDataStream<<aGeolocation.latitude();
+ aDataStream<<aGeolocation.longitude();
+ aDataStream<<aGeolocation.speed();
+ aDataStream<<aGeolocation.timestamp();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactGeoLocation
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactGeoLocation &aGeolocation)
+ {
+ double val;
+ QString str;
+ QDateTime date;
+
+ // First one to be deserialized is accuracy
+ val = 0;
+ aDataStream>>val;
+ aGeolocation.setAccuracy(val);
+
+ // Next one to be deserialized is altitude
+ val = 0;
+ aDataStream>>val;
+ aGeolocation.setAltitude(val);
+
+ // Next one to be deserialized is altitudeAccuracy
+ val = 0;
+ aDataStream>>val;
+ aGeolocation.setAltitudeAccuracy(val);
+
+ // Next one to be deserialized is heading
+ val = 0;
+ aDataStream>>val;
+ aGeolocation.setHeading(val);
+
+ // First one to be deserialized is label
+ aDataStream>>str;
+ aGeolocation.setLabel(str);
+
+ // Next one to be deserialized is latitude
+ val = 0;
+ aDataStream>>val;
+ aGeolocation.setLatitude(val);
+
+ // Next one to be deserialized is longitude
+ val = 0;
+ aDataStream>>val;
+ aGeolocation.setLongitude(val);
+
+ // Next one to be deserialized is speed
+ val = 0;
+ aDataStream>>val;
+ aGeolocation.setSpeed(val);
+
+ // Next one to be deserialized is timestamp
+ aDataStream>>date;
+ aGeolocation.setTimestamp(date);
+
+ return aDataStream;
+ }
+
+/**
+ * Serialization support for QtMobility::QContactGuid
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactGuid &aGuid )
+ {
+ aDataStream<<aGuid.guid();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactGuid
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactGuid &aGuid)
+ {
+ QString str;
+ aDataStream>>str;
+ aGuid.setGuid(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactName
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactName &aContact )
+ {
+ //Qt mobility introduces API compatibility break
+#ifdef OLDER_QT_MOBILITY
+ aDataStream<<aContact.first();
+ aDataStream<<aContact.last();
+#else
+ aDataStream<<aContact.customLabel();
+ aDataStream<<aContact.firstName();
+ aDataStream<<aContact.lastName();
+ aDataStream<<aContact.middleName();
+ aDataStream<<aContact.prefix();
+ aDataStream<<aContact.suffix();
+#endif
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactName
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactName &aContact )
+ {
+ QString str;
+
+ // First one to be deserialized is customlabel
+ str.clear();
+ aDataStream>>str;
+ aContact.setCustomLabel(str);
+
+ // Next one to be deserialized is firstname
+ str.clear();
+ aDataStream>>str;
+#ifdef OLDER_QT_MOBILITY
+ aContact.setFirst(str);
+#else
+ aContact.setFirstName(str);
+#endif
+
+ // Next one to be deserialized is lastName
+ str.clear();
+ aDataStream>>str;
+#ifdef OLDER_QT_MOBILITY
+ aContact.setLast(str);
+#else
+ aContact.setLastName(str);
+#endif
+
+
+
+ // Next one to be deserialized is middlename
+ str.clear();
+ aDataStream>>str;
+ aContact.setMiddleName(str);
+
+ // Next one to be deserialized is prefix
+ str.clear();
+ aDataStream>>str;
+ aContact.setPrefix(str);
+
+ // Next one to be deserialized is suffix
+ str.clear();
+ aDataStream>>str;
+ aContact.setSuffix(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactNickname
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactNickname &aNickname )
+ {
+ aDataStream<<aNickname.nickname();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactNickname
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactNickname &aNickname)
+ {
+ QString str;
+ aDataStream>>str;
+ aNickname.setNickname(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactNote
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactNote &aNote )
+ {
+ aDataStream<<aNote.note();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactNote
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactNote &aNote)
+ {
+ QString str;
+ aDataStream>>str;
+ aNote.setNote(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactOnlineAccount
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactOnlineAccount &aOnlineAccount )
+ {
+ aDataStream<<aOnlineAccount.accountUri();
+ aDataStream<<aOnlineAccount.capabilities();
+ aDataStream<<aOnlineAccount.serviceProvider();
+ aDataStream<<aOnlineAccount.subTypes();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactOnlineAccount
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactOnlineAccount &aOnlineAccount)
+ {
+ QString str;
+ QStringList list;
+
+ // First one to be deserialized is accountUri
+ aDataStream>>str;
+ aOnlineAccount.setAccountUri(str);
+
+ // Next one to be deserialized is capabilities
+ aDataStream>>list;
+ aOnlineAccount.setCapabilities(list);
+
+ // Next one to be deserialized is serviceProvider
+ str.clear();
+ aDataStream>>str;
+ aOnlineAccount.setServiceProvider(str);
+
+ // Next one to be deserialized is subTypes
+ list.clear();
+ aDataStream>>list;
+ aOnlineAccount.setSubTypes(list);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactOrganization
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactOrganization &aOrganization )
+ {
+ aDataStream<<aOrganization.assistantName();
+ aDataStream<<aOrganization.department();
+ aDataStream<<aOrganization.location();
+ aDataStream<<aOrganization.logoUrl();
+ aDataStream<<aOrganization.name();
+ aDataStream<<aOrganization.role();
+ aDataStream<<aOrganization.title();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactOrganization
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactOrganization &aOrganization )
+ {
+ QString str;
+ QStringList list;
+ QUrl url;
+
+ // First one to be deserialized is assistantName
+ aDataStream>>str;
+ aOrganization.setAssistantName(str);
+
+ // Next one to be deserialized is department
+ aDataStream>>list;
+ aOrganization.setDepartment(list);
+
+ // Next one to be deserialized is location
+ str.clear();
+ aDataStream>>str;
+ aOrganization.setLocation(str);
+
+ // Next one to be deserialized is logoUrl
+ aDataStream>>url;
+ aOrganization.setLogoUrl(url);
+
+ // Next one to be deserialized is name
+ str.clear();
+ aDataStream>>str;
+ aOrganization.setName(str);
+
+ // Next one to be deserialized is role
+ str.clear();
+ aDataStream>>str;
+ aOrganization.setRole(str);
+
+ // Next one to be deserialized is title
+ str.clear();
+ aDataStream>>str;
+ aOrganization.setTitle(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactPhoneNumber
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactPhoneNumber &aPhoneNumber )
+ {
+ aDataStream<<aPhoneNumber.number();
+ aDataStream<<aPhoneNumber.subTypes();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactPhoneNumber
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactPhoneNumber &aPhoneNumber )
+ {
+ QString str;
+ QStringList list;
+
+ // First one to be deserialized is number
+ aDataStream>>str;
+ aPhoneNumber.setNumber(str);
+
+ // Next one to be deserialized is subTypes
+ aDataStream>>list;
+ aPhoneNumber.setSubTypes(list);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactPresence
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactPresence &aPresence )
+ {
+ aDataStream<<aPresence.customMessage();
+ aDataStream<<aPresence.nickname();
+ aDataStream<<aPresence.presenceState();
+ aDataStream<<aPresence.presenceStateImageUrl();
+ aDataStream<<aPresence.presenceStateText();
+ aDataStream<<aPresence.timestamp();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactPresence
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactPresence &aPresence )
+ {
+ QString str;
+ QUrl url;
+ QDateTime date;
+
+ // First one to be deserialized is customMessage
+ aDataStream>>str;
+ aPresence.setCustomMessage(str);
+
+ // Next one to be deserialized is nickname
+ str.clear();
+ aDataStream>>str;
+ aPresence.setNickname(str);
+
+ // Next one to be deserialized is presenceState
+ int val;
+ aDataStream>>val;
+ QContactPresence::PresenceState state = (QContactPresence::PresenceState)val;
+ aPresence.setPresenceState(state);
+
+ // Next one to be deserialized is presenceStateImageUrl
+ aDataStream>>url;
+ aPresence.setPresenceStateImageUrl(url);
+
+ // Next one to be deserialized is presenceStateText
+ str.clear();
+ aDataStream>>str;
+ aPresence.setPresenceStateText(str);
+
+ // Next one to be deserialized is timestamp
+ aDataStream>>date;
+ aPresence.setTimestamp(date);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactThumbnail
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactThumbnail &aThumbnail )
+ {
+ aDataStream<<aThumbnail.thumbnail();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactThumbnail
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactThumbnail &aThumbnail )
+ {
+ QImage image;
+ aDataStream>>image;
+ aThumbnail.setThumbnail(image);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactTimestamp
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactTimestamp &aTimestamp )
+ {
+ aDataStream<<aTimestamp.created();
+ aDataStream<<aTimestamp.lastModified();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactTimestamp
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactTimestamp &aTimestamp )
+ {
+ QDateTime date1, date2;
+
+ // First one to be deserialized is created
+ aDataStream>>date1;
+ aTimestamp.setCreated(date1);
+
+ // Next one to be deserialized is lastModified
+ aDataStream>>date2;
+ aTimestamp.setLastModified(date2);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactType
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactType &aType )
+ {
+ aDataStream<<aType.type();
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactType
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactType &aType )
+ {
+ QString str;
+ aDataStream>>str;
+ aType.setType(str);
+
+ return aDataStream;
+ }
+
+
+/**
+ * Serialization support for QtMobility::QContactUrl
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactUrl &aUrl )
+ {
+ aDataStream<<aUrl.subType();
+ aDataStream<<aUrl.url();
+
+ return aDataStream;
+ }
+
+/**
+ * Deserialization support for QtMobility::QContactUrl
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ QContactUrl &aUrl)
+ {
+ QString str;
+
+ // First one to be deserialized is subType
+ aDataStream>>str;
+ aUrl.setSubType(str);
+
+ // Next one to be deserialized is url
+ str.clear();
+ aDataStream>>str;
+ aUrl.setUrl(str);
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcontact.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,309 @@
+/**
+ * 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:
+ * The contact class represents a social contact
+ * Note: This class has dependencies on QtMobility project
+ *
+ */
+
+#ifndef SMFCONTACT_H_
+#define SMFCONTACT_H_
+
+#include <qtcontacts.h>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <QVariant>
+
+#include "smfclientglobal.h"
+#include "smfcontact_p.h"
+
+using namespace QtMobility;
+
+/**
+ * Max size for one SmfContact
+ */
+const int MaxSmfContactSize = 1000;
+
+/**
+ * @ingroup smf_common_group
+ * The contact class represents a social contact
+ *
+ * Note: This class has dependencies on QtMobility project
+ */
+class SMFCOMMON_EXPORT SmfContact
+ {
+public:
+ /**
+ * Constructor with default argument
+ * @param aParent The parent object
+ */
+ SmfContact( QObject *aParent = 0 );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfContact( const SmfContact &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+ SmfContact& operator=( const SmfContact &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfContact( );
+
+public slots:
+ /**
+ * Method to get the available sub fields for contacts.
+ * The following are the available sub types of a contact
+ * QtMobility::QContactAddress Address;
+ * QtMobility::QContactAnniversary Anniversary;
+ * QtMobility::QContactAvatar Avatar;
+ * QtMobility::QContactBirthday Birthday;
+ * QtMobility::QContactId ContactId;
+ * QtMobility::QContactEmailAddress EmailAddress;
+ * QtMobility::QContactGender Gender;
+ * QtMobility::QContactGeoLocation Geolocation;
+ * QtMobility::QContactGuid Guid;
+ * QtMobility::QContactName Name;
+ * QtMobility::QContactNickname Nickname;
+ * QtMobility::QContactNote Note;
+ * QtMobility::QContactOnlineAccount OnlineAccount;
+ * QtMobility::QContactOrganization Organization;
+ * QtMobility::QContactPhoneNumber PhoneNumber;
+ * QtMobility::QContactPresence Presence;
+ * QtMobility::QContactThumbnail Thumbnail;
+ * QtMobility::QContactTimestamp Timestamp;
+ * QtMobility::QContactType Type;
+ * QtMobility::QContactUrl Url;
+ * @return The Available sub fields for this contact
+ */
+ QStringList subTypes( ) const;
+
+ /**
+ * Method to convert an SmfContact to a QContact
+ * Changes made to the returned QContact will not be reflected
+ * in its parent SmfContact object
+ * @param aContact QContact corresponding to SmfContact
+ */
+ void convert( QContact &aContact ) const;
+
+ /**
+ * Method to get the value of a sub field for this contact
+ * @param aSubType The sub field type
+ * @return The value of the sub field subType
+ * @see subTypes()
+ */
+ QVariant value( const QString& aSubType ) const;
+
+ /**
+ * Method to set value for a subtype
+ * @param aSubType The subtype string
+ * @param value Thhe value to be set for the subtype
+ */
+ void setValue(const QString& aSubType,QVariant& value);
+
+private:
+ QSharedDataPointer<SmfContactPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfContact &aContact );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfContact &aContact );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfContact object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aContact The SmfContact object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfContact &aContact );
+
+/**
+ * Method for Internalization. Reads a SmfContact object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aContact The SmfContact object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfContact &aContact );
+
+
+typedef QList<SmfContact> SmfContactList;
+
+
+/**
+ * Serialization support for QtMobility QContact classes
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactAddress &aAddress );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactAddress &aAddress );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactAnniversary &aAnniversary );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactAnniversary &aAnniversary );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactAvatar &aAvatar );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactAvatar &aAvatar );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactBirthday &aBirthday );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactBirthday &aBirthday );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactEmailAddress &aEMail );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactEmailAddress &aEMail );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactGender &aGender );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactGender &aGender );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactGeoLocation &aGeolocation );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactGeoLocation &aGeolocation );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactGuid &aGuid );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactGuid &aGuid );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactId &aContactId );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactId &aContactId );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactName &aName );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactName &aName );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactNickname &aNickname );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactNickname &aNickname );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactNote &aNote );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactNote &aNote );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactOnlineAccount &aOnlineAccount );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactOnlineAccount &aOnlineAccount );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactOrganization &aOrganization );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactOrganization &aOrganization );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactPhoneNumber &aPhoneNumber );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactPhoneNumber &aPhoneNumber );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactPresence &aPresence );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactPresence &aPresence );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactThumbnail &aThumbnail );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactThumbnail &aThumbnail );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactTimestamp &aTimestamp );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactTimestamp &aTimestamp );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactType &aType );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactType &aType );
+
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const QContactUrl &aUrl );
+
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ QContactUrl &aUrl );
+
+
+// Make the class SmfContact known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfContact)
+Q_DECLARE_METATYPE(QList<SmfContact>)
+
+//make qt mobility related classes known to moc
+Q_DECLARE_METATYPE(QContactAddress)
+Q_DECLARE_METATYPE(QContactAnniversary)
+Q_DECLARE_METATYPE(QContactAvatar)
+Q_DECLARE_METATYPE(QContactBirthday)
+Q_DECLARE_METATYPE(QContactId)
+Q_DECLARE_METATYPE(QContactEmailAddress)
+Q_DECLARE_METATYPE(QContactGender)
+Q_DECLARE_METATYPE(QContactGeoLocation)
+Q_DECLARE_METATYPE(QContactGuid)
+Q_DECLARE_METATYPE(QContactName)
+Q_DECLARE_METATYPE(QContactNickname)
+Q_DECLARE_METATYPE(QContactNote)
+Q_DECLARE_METATYPE(QContactOnlineAccount)
+Q_DECLARE_METATYPE(QContactOrganization)
+Q_DECLARE_METATYPE(QContactPhoneNumber)
+Q_DECLARE_METATYPE(QContactPresence)
+Q_DECLARE_METATYPE(QContactThumbnail)
+Q_DECLARE_METATYPE(QContactTimestamp)
+Q_DECLARE_METATYPE(QContactType)
+Q_DECLARE_METATYPE(QContactUrl)
+
+#endif /* SMFCONTACT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfcontact_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,52 @@
+/**
+ * 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 class implemented for implicit sharing of SmfContact class
+ *
+ */
+
+#ifndef SMFCONTACT_P_H_
+#define SMFCONTACT_P_H_
+
+#include <QSharedData>
+
+using namespace QtMobility;
+
+class SmfContactPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfContactPrivate( ) { m_details.clear(); }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfContactPrivate( const SmfContactPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_details ( aOther.m_details ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfContactPrivate( ){};
+
+ QVariantMap m_details;// contact details
+
+};
+
+#endif /* SMFCONTACT_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfevent.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,259 @@
+/**
+ * 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:
+ * The SmfEvent class represents an event
+ *
+ */
+
+#include <smfevent.h>
+#include <smfevent_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfEvent::SmfEvent( )
+ {
+ d = new SmfEventPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfEvent::SmfEvent( const SmfEvent &aOther )
+ :d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfEvent& SmfEvent::operator=( const SmfEvent &aOther )
+ {
+ d->m_name = aOther.d->m_name;
+ d->m_dateTime = aOther.d->m_dateTime;
+ d->m_duration = aOther.d->m_duration;
+ d->m_artists = aOther.d->m_artists;
+ d->m_venue = aOther.d->m_venue;
+ d->m_url = aOther.d->m_url;
+ d->m_eventId = aOther.d->m_eventId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfEvent::~SmfEvent( )
+ {
+ }
+
+/**
+ * Method to get the event name
+ * @return The event name
+ */
+QString SmfEvent::title( ) const
+ {
+ return d->m_name;
+ }
+
+/**
+ * Method to get the event date and time
+ * @return The date and time of the event
+ */
+QDateTime SmfEvent::eventDateTime( ) const
+ {
+ return d->m_dateTime;
+ }
+
+/**
+ * Method to get the event duration
+ * @return The duration of the event
+ */
+QTime SmfEvent::duration( ) const
+ {
+ return d->m_duration;
+ }
+
+/**
+ * Method to get the artist names
+ * @return The list of artists in the event
+ */
+SmfArtists SmfEvent::artists( ) const
+ {
+ return d->m_artists;
+ }
+
+/**
+ * Method to get the venue of the event
+ * @return The venue of the event
+ */
+SmfLocation SmfEvent::venue( ) const
+ {
+ return d->m_venue;
+ }
+
+/**
+ * Method to get the URL for getting tickets for the event
+ * @return The Url for getting ticket for the event
+ */
+QUrl SmfEvent::ticketUrl( ) const
+ {
+ return d->m_url;
+ }
+
+/**
+ * Method to get the id of the event
+ * @return The ID value
+ */
+QString SmfEvent::id( ) const
+ {
+ return d->m_eventId;
+ }
+
+/**
+ * Method to set the event name
+ * @param aName The new event name
+ */
+void SmfEvent::setTitle( const QString &aName )
+ {
+ d->m_name = aName;
+ }
+
+/**
+ * Method to set the event date and time
+ * @param aDateTime The new date and time of the event
+ *
+ */
+void SmfEvent::setEventDateTime( const QDateTime &aDateTime )
+ {
+ d->m_dateTime = aDateTime;
+ }
+
+/**
+ * Method to set the event duration
+ * @param aDuration The new duration of the event
+ *
+ */
+void SmfEvent::setDuration( const QTime &aDuration )
+ {
+ d->m_duration = aDuration;
+ }
+
+/**
+ * Method to set the artist
+ * @param aArtists The new artists in the event
+ */
+void SmfEvent::setArtists( const SmfArtists &aArtists )
+ {
+ d->m_artists = aArtists;
+ }
+
+/**
+ * Method to set the venue name
+ * @param aVenue The new venue of the event
+ */
+void SmfEvent::setVenue( const SmfLocation &aVenue )
+ {
+ d->m_venue = aVenue;
+ }
+
+/**
+ * Method to set the URL for getting tickets for the event
+ * @param aUrl The new Url for getting ticket for the event
+ */
+void SmfEvent::setTicketUrl( const QUrl &aUrl )
+ {
+ d->m_url = aUrl;
+ }
+
+/**
+ * Method to set the id of the event
+ * @param aId The ID value
+ */
+void SmfEvent::setId( const QString &aId )
+ {
+ d->m_eventId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfEvent object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aEvent The SmfEvent object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfEvent &aEvent )
+ {
+ // Serialize d->m_name
+ aDataStream<<aEvent.d->m_name;
+
+ // Serialize d->m_dateTime
+ aDataStream<<aEvent.d->m_dateTime;
+
+ // Serialize d->m_duration
+ aDataStream<<aEvent.d->m_duration;
+
+ // Serialize d->m_artists
+ aDataStream<<aEvent.d->m_artists;
+
+ // Serialize d->m_venue
+ aDataStream<<aEvent.d->m_venue;
+
+ // Serialize d->m_url
+ aDataStream<<aEvent.d->m_url;
+
+ // Serialize d->m_eventId
+ aDataStream<<aEvent.d->m_eventId;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfEvent object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aEvent The SmfEvent object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfEvent &aEvent)
+ {
+ // Deserialize d->m_name
+ aDataStream>>aEvent.d->m_name;
+
+ // Deserialize d->m_dateTime
+ aDataStream>>aEvent.d->m_dateTime;
+
+ // Deserialize d->m_duration
+ aDataStream>>aEvent.d->m_duration;
+
+ // Deserialize d->m_artists
+ aDataStream>>aEvent.d->m_artists;
+
+ // Deserialize d->m_venue
+ aDataStream>>aEvent.d->m_venue;
+
+ // Deserialize d->m_url
+ aDataStream>>aEvent.d->m_url;
+
+ // Deserialize d->m_eventId
+ aDataStream>>aEvent.d->m_eventId;
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfevent.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,189 @@
+/**
+ * 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:
+ * The SmfEvent class represents an event
+ *
+ */
+
+#ifndef SMFEVENT_H_
+#define SMFEVENT_H_
+
+#include "smflocation.h"
+#include "smfartists.h"
+#include <QStringList>
+#include <QDatastream>
+#include <QSharedData>
+#include "smfclientglobal.h"
+#include <QMetaType>
+
+class SmfEventPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The event class represents an event
+ */
+class SMFCOMMON_EXPORT SmfEvent
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfEvent( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfEvent( const SmfEvent &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The current object reference
+ */
+ SmfEvent& operator=( const SmfEvent &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfEvent( );
+
+ /**
+ * Method to get the event name
+ * @return The event name
+ */
+ QString title( ) const;
+
+ /**
+ * Method to get the event date and time
+ * @return The date and time of the event
+ */
+ QDateTime eventDateTime( ) const;
+
+ /**
+ * Method to get the event duration
+ * @return The duration of the event
+ */
+ QTime duration( ) const;
+
+ /**
+ * Method to get the artist names
+ * @return The list of artists in the event
+ */
+ SmfArtists artists( ) const;
+
+ /**
+ * Method to get the venue of the event
+ * @return The venue of the event
+ */
+ SmfLocation venue( ) const;
+
+ /**
+ * Method to get the URL for getting tickets for the event
+ * @return The Url for getting ticket for the event
+ */
+ QUrl ticketUrl( ) const;
+
+ /**
+ * Method to get the id of the event
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the event name
+ * @param aName The new event name
+ */
+ void setTitle( const QString &aName );
+
+ /**
+ * Method to set the event date and time
+ * @param aDateTime The new date and time of the event
+ *
+ */
+ void setEventDateTime( const QDateTime &aDateTime );
+
+ /**
+ * Method to set the event duration
+ * @param aDuration The new duration of the event
+ *
+ */
+ void setDuration( const QTime &aDuration );
+
+ /**
+ * Method to set the artist
+ * @param aArtists The new artists in the event
+ */
+ void setArtists( const SmfArtists &aArtists );
+
+ /**
+ * Method to set the venue name
+ * @param aVenue The new venue of the event
+ */
+ void setVenue( const SmfLocation &aVenue );
+
+ /**
+ * Method to set the URL for getting tickets for the event
+ * @param aUrl The new Url for getting ticket for the event
+ */
+ void setTicketUrl( const QUrl &aUrl );
+
+ /**
+ * Method to set the id of the event
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfEventPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfEvent &aEvent );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfEvent &aEvent );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfEvent object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aEvent The SmfEvent object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfEvent &aEvent );
+
+/**
+ * Method for Internalization. Reads a SmfEvent object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aEvent The SmfEvent object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfEvent &aEvent);
+
+
+typedef QList<SmfEvent> SmfEventList;
+
+// Make the class SmfEvent known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfEvent)
+Q_DECLARE_METATYPE(QList<SmfEvent>)
+
+
+#endif /* SMFEVENT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfevent_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,73 @@
+/**
+ * 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 class implemented for implicit sharing of SmfEvent class
+ *
+ */
+
+#ifndef SMFEVENT_P_H_
+#define SMFEVENT_P_H_
+
+
+#include <smflocation.h>
+#include <smfartists.h>
+#include <QStringList>
+#include <QSharedData>
+
+class SmfEventPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfEventPrivate( ) {
+ m_name.clear();
+ m_url.clear();
+ m_eventId.clear();
+
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfEventPrivate( const SmfEventPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_name ( aOther.m_name ),
+ m_dateTime ( aOther.m_dateTime ),
+ m_duration ( aOther.m_duration ),
+ m_artists ( aOther.m_artists ),
+ m_venue ( aOther.m_venue ),
+ m_url ( aOther.m_url ),
+ m_eventId ( aOther.m_eventId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfEventPrivate( )
+ {
+ }
+
+ QString m_name; // event name
+ QDateTime m_dateTime; // event date and time
+ QTime m_duration; // event duration
+ SmfArtists m_artists; // event artist names
+ SmfLocation m_venue; // event venue
+ QUrl m_url; // ticket url
+ QString m_eventId; // event Id
+
+};
+
+#endif /* SMFEVENT_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfglobal.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,360 @@
+/**
+ * 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:
+ * SMF wide global const and macros, to be shared among SMF components
+ * and SMF clients
+ *
+ */
+
+#ifndef SMFGLOBAL_H
+#define SMFGLOBAL_H
+
+#include <qglobal.h>
+#include <QBuffer>
+#include <QNetworkRequest>
+#include <QNetworkAccessManager>
+
+#ifdef Q_OS_SYMBIAN
+class SmfServerSymbianSession;
+#else
+class SmfServerQtSession;
+#endif
+
+/**
+ * Exact definition to be decided later
+ */
+#define SMF_SERVICE_NAME(INTERFACE,INTERFACENAME)
+
+/**
+ * Indicates first page for a web query
+ */
+const int SMF_FIRST_PAGE = 0;
+
+/**
+ * Default value for per page item for web queries
+ */
+const int SMF_ITEMS_PER_PAGE = 10;
+
+
+/**
+ * The enumeration used to denote errors reported by plugin
+ * Smf can't continue without handling these errors
+ */
+enum SmfPluginError
+ {
+ SmfPluginErrNone = 0,
+ SmfPluginErrTooManyRequest,
+ SmfPluginErrRequestQuotaExceeded,
+ SmfPluginErrInvalidRequest,
+ SmfPluginErrUserNotLoggedIn,
+ SmfPluginErrAuthenticationExpired,
+ SmfPluginErrPermissionDenied,
+ SmfPluginErrInvalidApplication,
+ SmfPluginErrServiceUnavailable,
+ SmfPluginErrServiceTemporaryUnavailable,
+ SmfPluginErrFormatNotSupported,
+ SmfPluginErrDataSizeExceeded,
+ SmfPluginErrServiceNotSupported,
+ SmfPluginErrInvalidArguments,
+ SmfPluginErrRequestNotCreated,
+ SmfPluginErrParsingFailed,
+ SmfPluginErrNetworkError,
+ SmfPluginErrCancelComplete
+ };
+
+
+/**
+ * The enumeration used to track the plugin methods return type
+ */
+enum SmfPluginRetType
+ {
+ SmfSendRequestAgain = 0,
+ SmfRequestComplete,
+ SmfRequestError
+ };
+
+
+/**
+ * The enumeration used to indicate the type of network operation done
+ */
+enum SmfRequestTypeID
+ {
+ SmfGetService,
+ SmfContactGetFriends,
+ SmfContactGetFollowers,
+ SmfContactSearch,
+ SmfContactSearchNear,
+ SmfContactGetGroups,
+ SmfContactSearchInGroup,
+ SmfContactCustomRequest,
+ SmfContactRetrievePosts,
+ SmfContactPost,
+ SmfContactUpdatePost,
+ SmfContactPostDirected,
+ SmfContactCommentOnAPost,
+ SmfContactPostAppearence,
+ SmfContactSharePost,
+ SmfContactPostCustomRequest,
+ SmfPostGetMaxCharsInPost,
+ SmfPostGetMaxItems,
+ SmfPostGetSupportedFormats,
+ SmfPostGetAppearanceSupport,
+ SmfMusicGetLyrics,
+ SmfMusicGetSubtitle,
+ SmfMusicLyricsCustomRequest,
+ SmfMusicGetEventsOnLoc,
+ SmfMusicGetVenueOnLoc,
+ //SmfMusicGetEventsOnVenue, - removed
+ SmfMusicPostEvents,
+ SmfMusicEventsCustomRequest,
+ SmfMusicGetRecommendations,
+ SmfMusicGetTracks,
+ SmfMusicGetTrackInfo,
+ SmfMusicGetStores,
+ SmfMusicSearchCustomRequest,
+ SmfMusicGetUserInfo,
+ SmfMusicSearchUser,
+ SmfMusicPostCurrentPlaying,
+ SmfMusicPostRating,
+ SmfMusicPostComment,
+ SmfMusicServiceCustomRequest,
+ SmfMusicGetPlaylists,
+ SmfMusicGetPlaylistsOfUser,
+ SmfMusicAddToPlaylist,
+ SmfMusicPostCurrentPlayingPlaylist,
+ SmfMusicPlaylistCustomRequest,
+ SmfPictureGetAlbums,
+ SmfPictureGetPictures,
+ SmfPictureDescription,
+ SmfPictureUpload,
+ SmfPictureMultiUpload,
+ SmfPicturePostComment,
+ SmfPictureCustomRequest,
+ SmfActivityFriendsActivities,
+ SmfActivityFiltered,
+ SmfActivitySelfActivity,
+ SmfActivityCustomRequest,
+ SmfRelationCreate,//SmfRelationMngr start
+ SmfRelationAssociate,
+ SmfRelationRemove,
+ SmfRelationSearchById,
+ SmfRelationSearchByContact,
+ SmfRelationCount,
+ SmfRelationGet,
+ SmfRelationGetAll,
+ SmfRelationGetAllRelations,
+ SmfRelationDeleteRelation//SmfRelationMngr end
+
+ };
+
+
+/**
+ * The enumeration used to indicate result of transport to the plugins
+ */
+enum SmfTransportResult
+ {
+ SmfTransportOpNoError = 0,
+ SmfTransportOpConnectionRefusedError,
+ SmfTransportOpRemoteHostClosedError,
+ SmfTransportOpHostNotFoundError,
+ SmfTransportOpTimeoutError,
+ SmfTransportOpOperationCanceledError,
+ SmfTransportOpSslHandshakeFailedError,
+ SmfTransportOpProxyConnectionRefusedError,
+ SmfTransportOpProxyConnectionClosedError,
+ SmfTransportOpProxyNotFoundError,
+ SmfTransportOpProxyTimeoutError,
+ SmfTransportOpProxyAuthenticationRequiredError,
+ SmfTransportOpContentAccessDenied,
+ SmfTransportOpContentOperationNotPermittedError,
+ SmfTransportOpContentNotFoundError,
+ SmfTransportOpAuthenticationRequiredError,
+ SmfTransportOpContentReSendError,
+ SmfTransportOpProtocolUnknownError,
+ SmfTransportOpProtocolInvalidOperationError,
+ SmfTransportOpUnknownNetworkError,
+ SmfTransportOpUnknownProxyError,
+ SmfTransportOpUnknownContentError,
+ SmfTransportOpProtocolFailure,
+ SmfTransportOpUnknownError,
+ SmfTransportOpIAPChanged,
+ SmfTransportOpCancelled,
+ SmfTransportOpUnsupportedContentEncodingFormat,
+ SmfTransportOpGzipError
+ };
+
+
+/**
+ * The structure used to hold the request created by the plugins
+ */
+struct SmfPluginRequestData
+ {
+ /**
+ * Indicates the type of operation performed, like getting Friends
+ * list, upload image etc
+ */
+ SmfRequestTypeID iRequestType;
+
+ /**
+ * The QNetworkRequest that has to be filled up by the plugins
+ */
+ QNetworkRequest iNetworkRequest;
+
+ /**
+ * The data to be posted in case of HTTP POST operation
+ */
+ QBuffer *iPostData;
+
+ /**
+ * The type of HTTP transaction, like GET, POST etc
+ */
+ QNetworkAccessManager::Operation iHttpOperationType;
+
+ };
+
+/**
+ * The structure used to hold the request created by the plugins
+ */
+struct SmfResultPage
+ {
+ /**
+ * The total number of items
+ */
+ uint iTotalItems;
+
+ /**
+ * The number of items per page
+ */
+ uint iItemsPerPage;
+
+ /**
+ * The total number of pages
+ */
+ uint iTotalPages;
+
+ /**
+ * The current fetched page number
+ */
+ uint iPageNum;
+ };
+
+
+struct SmfClientAuthID
+ {
+#ifdef Q_OS_SYMBIAN
+ TSecureId pid;
+ SmfServerSymbianSession* session;
+#else
+ QString pid;
+ SmfServerQtSession* session;
+#endif
+ };
+
+/**
+ * Smf wide errors
+ */
+enum SmfError
+ {
+ SmfNoError = 0,
+ SmfInvalidInterface, //1
+ SmfNoAuthorizedPlugin, //2
+ SmfClientAuthFailed, //3
+ SmfPMPluginNotFound, //4
+ SmfPMPluginNotLoaded, //5
+ SmfPMPluginLoadError, //6
+ SmfPMPluginNotAuthorised, //7
+ SmfPMPluginRequestCreationFailed, //8
+ SmfPMPluginUnknownPluginService, //9
+ SmfPMPluginUnknownHttpService, //10
+ SmfPMPluginRequestSendingFailed, //11
+ SmfPMPluginSOPCheckFailed, //12
+ SmfPMPluginSendRequestAgain, //13
+ SmfPluginErrorTooManyRequest, //14
+ SmfPluginErrorRequestQuotaExceeded, //15
+ SmfPluginErrorInvalidRequest, //16
+ SmfPluginErrorUserNotLoggedIn, //17
+ SmfPluginErrorAuthenticationExpired, //18
+ SmfPluginErrorPermissionDenied, //19
+ SmfPluginErrorInvalidApplication, //20
+ SmfPluginErrorServiceUnavailable, //21
+ SmfPluginErrorServiceTemporaryUnavailable, //22
+ SmfPluginErrorFormatNotSupported, //23
+ SmfPluginErrorDataSizeExceeded , //24
+ SmfPluginErrorInvalidArguments, //25
+ SmfPluginErrorParsingFailed, //26
+ SmfPluginErrorNetworkError, //27
+ SmfPluginErrorCancelComplete, //28
+ SmfTMConnectionRefusedError, //29
+ SmfTMRemoteHostClosedError, //30
+ SmfTMHostNotFoundError, //31
+ SmfTMTimeoutError, //32
+ SmfTMOperationCanceledError, //33
+ SmfTMSslHandshakeFailedError, //34
+ SmfTMProxyConnectionRefusedError, //35
+ SmfTMProxyConnectionClosedError, //36
+ SmfTMProxyNotFoundError, //37
+ SmfTMProxyTimeoutError, //38
+ SmfTMProxyAuthenticationRequiredError, //39
+ SmfTMContentAccessDenied, //40
+ SmfTMContentOperationNotPermittedError, //41
+ SmfTMContentNotFoundError, //42
+ SmfTMAuthenticationRequiredError, //43
+ SmfTMContentReSendError, //44
+ SmfTMProtocolUnknownError, //45
+ SmfTMProtocolInvalidOperationError, //46
+ SmfTMUnknownNetworkError, //47
+ SmfTMUnknownProxyError, //48
+ SmfTMUnknownContentError, //49
+ SmfTMProtocolFailure, //50
+ SmfTMUnknownError, //51
+ SmfTMIAPChanged, //52
+ SmfTMCancelled, //53
+ SmfTMUnsupportedContentEncodingFormat, //54
+ SmfTMInitNetworkNotAvailable , //55
+ SmfTMInitRoamingNetworkUsageNotEnabled, //56
+ SmfTMGzipMemoryError, //57
+ SmfTMGzipStreamError, //58
+ SmfTMGzipDataError, //59
+ SmfMemoryAllocationFailure, //60
+ SmfDbOpeningError, //61
+ SmfDbQueryExecutonError, //61
+ SmfDbContactNotExist, //63
+ SmfErrItemNotInRelation, //64
+ SmfErrInvalidRelation, //65
+ SmfUnknownError //66
+
+ };
+
+
+/**
+ * Smf wide panics
+ */
+enum SmfPanic
+ {
+ SmfRequestPending //to allow one outstanding request per session
+ };
+
+//interface names
+const QString contactFetcherInterface("org.symbian.smf.plugin.contact.fetcher\0.2");
+const QString postProviderInterface("org.symbian.smf.plugin.contact.posts\0.2");
+const QString galleryInterface("org.symbian.smf.plugin.gallery\0.2");
+const QString musicServiceInterface("org.symbian.smf.plugin.music.service\0.2");
+const QString musicSearchInterface("org.symbian.smf.client.music.search\0.2");
+const QString playlistServiceInterface("org.symbian.smf.plugin.music.playlist\0.2");
+const QString musicEventServiceInterface("org.symbian.smf.plugin.music.events\0.2");
+const QString lyricsServiceInterface("org.symbian.smf.plugin.music.lyrics\0.2");
+const QString activityFetcherInterface("org.symbian.smf.plugin.activity.fetcher\0.2");
+
+#endif /* SMFGLOBAL_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfgroup.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,154 @@
+/**
+ * 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:
+ * The group class represents an instance of a group as per SN site terminolgy
+ */
+
+#include "smfgroup.h"
+#include "smfgroup_p.h"
+
+/**
+ * Constructor with default argument
+ * @param list The list of members in the group
+ */
+SmfGroup::SmfGroup( QList<SmfContact>* list )
+ {
+ d = new SmfGroupPrivate;
+ if(list)
+ d->m_members = list;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfGroup::SmfGroup( const SmfGroup &aOther ): d(aOther.d)
+ {
+
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfGroup& SmfGroup::operator=( const SmfGroup &aOther )
+ {
+ d->m_members = aOther.d->m_members;
+ d->m_groupName = aOther.d->m_groupName;
+ d->m_groupId = aOther.d->m_groupId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfGroup::~SmfGroup( )
+ {
+
+ }
+
+/**
+ * Method to get the list of members in the group
+ * @return The list of members in the group
+ */
+QList<SmfContact> SmfGroup::members( ) const
+ {
+ return *(d->m_members) ;
+ }
+
+/**
+ * Method to set members
+ *
+ */
+void SmfGroup::setMembers(QList<SmfContact>* mems)
+ {
+ d->m_members = mems;
+ }
+
+/**
+ * Method to get the name of the group
+ * @return The name of the group
+ */
+QString SmfGroup::name( ) const
+ {
+ return d->m_groupName;
+ }
+
+/**
+ * Method to set name
+ */
+void SmfGroup::setName(QString& name)
+ {
+ d->m_groupName = name;
+ }
+
+/**
+ * Method to get the id of the group
+ * @return The ID value
+ */
+QString SmfGroup::id( ) const
+ {
+ return d->m_groupId;
+ }
+
+/**
+ * Method to set id
+ */
+void SmfGroup::setId(QString& id)
+ {
+ d->m_groupId = id;
+
+ }
+/**
+ * Method for Externalization. Writes the SmfGroup object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aGroup The SmfGroup object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfGroup &aGroup )
+ {
+ aDataStream<<aGroup.members();
+ aDataStream<<aGroup.name();
+ aDataStream<<aGroup.id();
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfGroup object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aGroup The SmfGroup object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfGroup &aGroup)
+ {
+ QList<SmfContact> list;
+ aDataStream>>list;
+ aGroup.setMembers(&list);
+
+ QString grpname;
+ aDataStream>>grpname;
+ aGroup.d->m_groupName = grpname;
+
+ QString grpId;
+ aDataStream>>grpId;
+ aGroup.d->m_groupId = grpId;
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfgroup.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,146 @@
+/**
+ * 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:
+ * The group class represents an instance of a group as per SN site terminolgy
+ *
+ */
+
+#ifndef SMFGROUP_H_
+#define SMFGROUP_H_
+
+#include <qdatastream.h>
+#include <QSharedData>
+#include <QMetaType>
+
+#include "smfgroup_p.h"
+#include "smfcontact.h"
+#include "smfclientglobal.h"
+
+/**
+ * Max number of members per group
+ */
+const int MaxMemberPerGroup = 1000;
+
+/**
+ * Max size for one SmfGroup
+ */
+const int MaxSmfGroupSize = MaxSmfContactSize*MaxMemberPerGroup;
+
+
+/**
+ * @ingroup smf_common_group
+ * The group class represents an instance of a group as per SN site terminolgy
+ */
+
+class SMFCOMMON_EXPORT SmfGroup
+ {
+public:
+ /**
+ * Constructor with default argument
+ * @param list The list of members in the group
+ */
+ SmfGroup( QList<SmfContact>* list = 0 );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfGroup( const SmfGroup &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfGroup& operator=( const SmfGroup &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfGroup( );
+
+public slots:
+ /**
+ * Method to get the list of members in the group
+ * @return The list of members in the group
+ */
+ QList<SmfContact> members( ) const;
+
+ /**
+ * Method to set members
+ *
+ */
+ void setMembers(QList<SmfContact>* mems);
+
+ /**
+ * Method to get the name of the group
+ * @return The name of the group
+ */
+ QString name( ) const;
+
+ /**
+ * Method to set name
+ */
+ void setName(QString& name);
+
+ /**
+ * Method to get the id of the group
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set id
+ */
+ void setId(QString& id);
+
+private:
+ QSharedDataPointer<SmfGroupPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfGroup &aGroup );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfGroup &aGroup );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfGroup object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aGroup The SmfGroup object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfGroup &aGroup );
+
+/**
+ * Method for Internalization. Reads a SmfGroup object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aGroup The SmfGroup object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfGroup &aGroup);
+
+typedef QList<SmfGroup> SmfGroupList;
+
+// Make the class SmfGroup known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfGroup)
+Q_DECLARE_METATYPE(QList<SmfGroup>)
+
+#endif /* SMFGROUP_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfgroup_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,56 @@
+/**
+ * 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 class implemented for implicit sharing of SmfGroup class
+ *
+ */
+
+#ifndef SMFGROUP_P_H_
+#define SMFGROUP_P_H_
+
+#include <smfcontact.h>
+#include <QSharedData>
+
+class SmfGroupPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfGroupPrivate( ) { m_members = NULL; m_groupName.clear(); m_groupId.clear(); }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfGroupPrivate( const SmfGroupPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_members ( aOther.m_members ),
+ m_groupName ( aOther.m_groupName ),
+ m_groupId ( aOther.m_groupId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfGroupPrivate( ){};
+
+ QList<SmfContact> *m_members; // members in the group
+ QString m_groupName;
+ QString m_groupId;
+ // Other details to be added
+};
+
+
+#endif /* SMFGROUP_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smflocation.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,287 @@
+/**
+ * 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:
+ * The SmfLocation class represents a location and its related information
+ * Note: This class has dependencies on QtMobility project
+ *
+ */
+
+
+#include <smflocation.h>
+#include <smflocation_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfLocation::SmfLocation( )
+ {
+ d = new SmfLocationPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfLocation::SmfLocation( const SmfLocation &aOther )
+ :d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+SmfLocation& SmfLocation::operator=( const SmfLocation &aOther )
+ {
+ d->m_name = aOther.d->m_name;
+ d->m_city = aOther.d->m_city;
+ d->m_street = aOther.d->m_street;
+ d->m_zipcode = aOther.d->m_zipcode;
+ d->m_country = aOther.d->m_country;
+ d->m_geo = aOther.d->m_geo;
+ d->m_url = aOther.d->m_url;
+ d->m_placeId = aOther.d->m_placeId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfLocation::~SmfLocation( )
+ {
+ }
+
+/**
+ * Method to get the place name
+ * @return The place name
+ */
+QString SmfLocation::name( ) const
+ {
+ return d->m_name;
+ }
+
+/**
+ * Method to get the city of place
+ * @return The city of the place
+ */
+QString SmfLocation::city( ) const
+ {
+ return d->m_city;
+ }
+
+/**
+ * Method to get the street information of place
+ * @return The street information of the place
+ */
+QString SmfLocation::street( ) const
+ {
+ return d->m_street;
+ }
+
+/**
+ * Method to get the zip code of place
+ * @return The zip code of place
+ */
+QString SmfLocation::zipCode( ) const
+ {
+ return d->m_zipcode;
+ }
+
+/**
+ * Method to get the country of place
+ * @return The country of place
+ */
+QString SmfLocation::country( ) const
+ {
+ return d->m_country;
+ }
+
+/**
+ * Method to get the Geo Position information (like information gathered
+ * on a global position, direction and velocity at a particular point
+ * in time) of the place.
+ * @return The Geo Position information of place
+ */
+QGeoPositionInfo SmfLocation::geoPositionInfo( ) const
+ {
+ return d->m_geo;
+ }
+
+/**
+ * Method to get the url indicating the place
+ * @return The url indicating the place
+ */
+QUrl SmfLocation::url( ) const
+ {
+ return d->m_url;
+ }
+
+/**
+ * Method to get the id of the place
+ * @return The ID value
+ */
+QString SmfLocation::id( ) const
+ {
+ return d->m_placeId;
+ }
+
+/**
+ * Method to set the place name
+ * @param aPlace The new place name
+ */
+void SmfLocation::setName( const QString& aPlace )
+ {
+ d->m_name = aPlace;
+ }
+
+/**
+ * Method to set the city of place
+ * @param aCity The new city of the place
+ */
+void SmfLocation::setCity( const QString& aCity )
+ {
+ d->m_city = aCity;
+ }
+
+/**
+ * Method to set the street information of place
+ * @param aStreet The new street information of the place
+ */
+void SmfLocation::setStreet( const QString& aStreet )
+ {
+ d->m_street = aStreet;
+ }
+
+/**
+ * Method to set the zip code of place
+ * @param aZipCode The new zip code of place
+ */
+void SmfLocation::setZipCode( const QString& aZipCode )
+ {
+ d->m_zipcode = aZipCode;
+ }
+
+/**
+ * Method to set the country of place
+ * @param aCountry The new country of place
+ */
+void SmfLocation::setCountry( const QString& aCountry )
+ {
+ d->m_country = aCountry;
+ }
+
+/**
+ * Method to set the Geo Postion information (like information gathered
+ * on a global position, direction and velocity at a particular point
+ * in time) of the place.
+ * @param aGeoPosInfo The new Geo Position information of place
+ */
+void SmfLocation::setGeoPositionInfo( const QGeoPositionInfo& aGeoPosInfo )
+ {
+ d->m_geo = aGeoPosInfo;
+ }
+
+/**
+ * Method to set the url indicating the place
+ * @param aUrl The new url indicating the place
+ */
+void SmfLocation::setUrl( const QUrl& aUrl )
+ {
+ d->m_url = aUrl;
+ }
+
+/**
+ * Method to set the id of the place
+ * @return The ID value
+ */
+void SmfLocation::setId( const QString &aId )
+ {
+ d->m_placeId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfLocation object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPlace The SmfLocation object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfLocation &aPlace )
+ {
+ // Serialize d->m_name
+ aDataStream<<aPlace.d->m_name;
+
+ // Serialize d->m_city
+ aDataStream<<aPlace.d->m_city;
+
+ // Serialize d->m_street
+ aDataStream<<aPlace.d->m_street;
+
+ // Serialize d->m_zipcode
+ aDataStream<<aPlace.d->m_zipcode;
+
+ // Serialize d->m_country
+ aDataStream<<aPlace.d->m_country;
+
+ // Serialize d->m_geo
+ aDataStream<<aPlace.d->m_geo;
+
+ // Serialize d->m_url
+ aDataStream<<aPlace.d->m_url;
+
+ // Serialize d->m_placeId
+ aDataStream<<aPlace.d->m_placeId;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfLocation object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPlace The SmfLocation object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfLocation &aPlace)
+ {
+ // Deserialize d->m_name
+ aDataStream>>aPlace.d->m_name;
+
+ // Deserialize d->m_city
+ aDataStream>>aPlace.d->m_city;
+
+ // Deserialize d->m_street
+ aDataStream>>aPlace.d->m_street;
+
+ // Deserialize d->m_zipcode
+ aDataStream>>aPlace.d->m_zipcode;
+
+ // Deserialize d->m_country
+ aDataStream>>aPlace.d->m_country;
+
+ // Deserialize d->m_geo
+ aDataStream>>aPlace.d->m_geo;
+
+ // Deserialize d->m_url
+ aDataStream>>aPlace.d->m_url;
+
+ // Deserialize d->m_placeId
+ aDataStream>>aPlace.d->m_placeId;
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smflocation.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,217 @@
+/**
+ * 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:
+ * The SmfLocation class represents a place and its related information
+ * Note: This class has dependencies on QtMobility project
+ *
+ */
+
+#ifndef SMFLOCATION_H_
+#define SMFLOCATION_H_
+
+#include <QUrl>
+#include <qgeopositioninfo.h> // Qt mobility class
+#include <qdatastream.h>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+
+// Qt mobility - namespace
+using namespace QtMobility;
+
+enum SmfLocationSearchBoundary
+{
+ SearchByStreet = 0x00,
+ SearchByLocality,
+ SearchByPostOffice,
+ SearchByTown,
+ SearchByRegion,
+ SearchByState,
+ SearchByCountry
+};
+
+class SmfLocationPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The SmfLocation class represents a location and its related information.
+ *
+ * Note: This class has dependencies on QtMobility project
+ */
+class SMFCOMMON_EXPORT SmfLocation
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfLocation( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfLocation( const SmfLocation &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The current object reference
+ */
+ SmfLocation& operator=( const SmfLocation &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfLocation( );
+
+ /**
+ * Method to get the place name
+ * @return The place name
+ */
+ QString name( ) const;
+
+ /**
+ * Method to get the city of place
+ * @return The city of the place
+ */
+ QString city( ) const;
+
+ /**
+ * Method to get the street information of place
+ * @return The street information of the place
+ */
+ QString street( ) const;
+
+ /**
+ * Method to get the zip code of place
+ * @return The zip code of place
+ */
+ QString zipCode( ) const;
+
+ /**
+ * Method to get the country of place
+ * @return The country of place
+ */
+ QString country( ) const;
+
+ /**
+ * Method to get the Geo Position information (like information gathered
+ * on a global position, direction and velocity at a particular point
+ * in time) of the place.
+ * @return The Geo Position information of place
+ */
+ QGeoPositionInfo geoPositionInfo( ) const;
+
+ /**
+ * Method to get the url indicating the place
+ * @return The url indicating the place
+ */
+ QUrl url( ) const;
+
+ /**
+ * Method to get the id of the place
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the place name
+ * @param aPlace The new place name
+ */
+ void setName( const QString &aPlace );
+
+ /**
+ * Method to set the city of place
+ * @param aCity The new city of the place
+ */
+ void setCity( const QString &aCity );
+
+ /**
+ * Method to set the street information of place
+ * @param aStreet The new street information of the place
+ */
+ void setStreet( const QString &aStreet );
+
+ /**
+ * Method to set the zip code of place
+ * @param aZipCode The new zip code of place
+ */
+ void setZipCode( const QString &aZipCode );
+
+ /**
+ * Method to set the country of place
+ * @param aCountry The new country of place
+ */
+ void setCountry( const QString &aCountry );
+
+ /**
+ * Method to set the Geo Postion information (like information gathered
+ * on a global position, direction and velocity at a particular point
+ * in time) of the place.
+ * @param aGeoPosInfo The new Geo Position information of place
+ */
+ void setGeoPositionInfo( const QGeoPositionInfo &aGeoPosInfo );
+
+ /**
+ * Method to set the url indicating the place
+ * @param aUrl The new url indicating the place
+ */
+ void setUrl( const QUrl &aUrl );
+
+ /**
+ * Method to set the id of the place
+ * @return The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfLocationPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfLocation &aPlace );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfLocation &aPlace );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfLocation object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPlace The SmfLocation object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfLocation &aPlace );
+
+/**
+ * Method for Internalization. Reads a SmfLocation object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPlace The SmfLocation object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfLocation &aPlace);
+
+typedef QList<SmfLocation> SmfLocationList;
+
+// Make the class SmfLocation known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfLocation)
+Q_DECLARE_METATYPE(QList<SmfLocation>)
+
+#endif /* SMFLOCATION_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smflocation_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,79 @@
+/**
+ * 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 class implemented for implicit sharing of SmfLocation class
+ * Note: This class has dependencies on QtMobility project
+ *
+ */
+
+#ifndef SMFLOCATION_P_H_
+#define SMFLOCATION_P_H_
+
+#include <QUrl>
+#include <qgeopositioninfo.h> // Qt mobility class
+#include <QSharedData>
+
+// Qt mobility - namespace
+using namespace QtMobility;
+
+class SmfLocationPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfLocationPrivate( ) {
+ m_name.clear();
+ m_city.clear();
+ m_street.clear();
+ m_zipcode.clear();
+ m_country.clear();
+ m_url.clear();
+ m_placeId.clear(); }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfLocationPrivate( const SmfLocationPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_name ( aOther.m_name ),
+ m_city ( aOther.m_city ),
+ m_street ( aOther.m_street ),
+ m_zipcode ( aOther.m_zipcode ),
+ m_country ( aOther.m_country ),
+ m_geo ( aOther.m_geo ),
+ m_url ( aOther.m_url ),
+ m_placeId ( aOther.m_placeId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfLocationPrivate( )
+ {
+ }
+
+ QString m_name; // place name
+ QString m_city; // city of place
+ QString m_street; // street of place
+ QString m_zipcode; // zip code of place
+ QString m_country; // country of place
+ QGeoPositionInfo m_geo; // place geo position information
+ QUrl m_url; // url indicating the place
+ QString m_placeId; // place id
+
+};
+
+#endif /* SMFLOCATION_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smflyrics.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,182 @@
+/**
+ * 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:
+ * The SmfLyrics class represents an instance of a music track's lyrics
+ *
+ */
+
+#include <smflyrics.h>
+#include <smflyrics_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfLyrics::SmfLyrics( )
+ {
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfLyrics::SmfLyrics( const SmfLyrics &aOther )
+ :d ( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfLyrics& SmfLyrics::operator=( const SmfLyrics &aOther )
+ {
+ d->m_lyrics = aOther.d->m_lyrics;
+ d->m_language = aOther.d->m_language;
+ d->m_releaseYr = aOther.d->m_releaseYr;
+ d->m_lyricsId = aOther.d->m_lyricsId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfLyrics::~SmfLyrics( )
+ {
+ }
+
+/**
+ * Method to get the lyrics
+ * @return The lyrics data
+ */
+QByteArray SmfLyrics::lyrics( ) const
+ {
+ return d->m_lyrics;
+ }
+
+/**
+ * Method to get the language
+ * @return The language
+ */
+QString SmfLyrics::language( ) const
+ {
+ return d->m_language;
+ }
+
+/**
+ * Method to get the release year
+ * @return The release year
+ */
+QDateTime SmfLyrics::releaseYear( ) const
+ {
+ return d->m_releaseYr;
+ }
+
+/**
+ * Method to get the id of the lyrics
+ * @return The ID value
+ */
+QString SmfLyrics::id( ) const
+ {
+ return d->m_lyricsId;
+ }
+
+/**
+ * Method to set the lyrics
+ * @param aLyrics The lyrics data
+ */
+void SmfLyrics::setLyrics( const QByteArray &aLyrics )
+ {
+ d->m_lyrics = aLyrics;
+ }
+
+/**
+ * Method to set the language
+ * @param aLang The language
+ */
+void SmfLyrics::setLanguage( const QString &aLang )
+ {
+ d->m_language = aLang;
+ }
+
+/**
+ * Method to set the release year
+ * @param aRelYear The release year
+ */
+void SmfLyrics::setReleaseYear( const QDateTime &aRelYear )
+ {
+ d->m_releaseYr = aRelYear;
+ }
+
+/**
+ * Method to set the id of the lyrics
+ * @param aId The ID value
+ */
+void SmfLyrics::setId( const QString &aId )
+ {
+ d->m_lyricsId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfLyrics object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aLyrics The SmfLyrics object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfLyrics &aLyrics )
+ {
+ // Serialize d->m_lyrics
+ aDataStream<<aLyrics.d->m_lyrics;
+
+ // Serialize d->m_language
+ aDataStream<<aLyrics.d->m_language;
+
+ // Serialize d->m_releaseYr
+ aDataStream<<aLyrics.d->m_releaseYr;
+
+ // Serialize d->m_lyricsId
+ aDataStream<<aLyrics.d->m_lyricsId;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfLyrics object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aLyrics The SmfLyrics object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfLyrics &aLyrics)
+ {
+ // Deserialize d->m_lyrics
+ aDataStream>>aLyrics.d->m_lyrics;
+
+ // Deserialize d->m_language
+ aDataStream>>aLyrics.d->m_language;
+
+ // Deserialize d->m_releaseYr
+ aDataStream>>aLyrics.d->m_releaseYr;
+
+ // Deserialize d->m_lyricsId
+ aDataStream>>aLyrics.d->m_lyricsId;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smflyrics.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,149 @@
+/**
+ * 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:
+ * The SmfLyrics class represents an instance of a music track's lyrics
+ *
+ */
+
+#ifndef SMFLYRICS_H_
+#define SMFLYRICS_H_
+
+#include <qdatastream.h>
+#include <QDateTime>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+
+class SmfLyricsPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The lyrics class represents an instance of a music track's lyrics
+ */
+class SMFCOMMON_EXPORT SmfLyrics
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfLyrics( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfLyrics( const SmfLyrics &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The current object reference
+ */
+ SmfLyrics& operator=( const SmfLyrics &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfLyrics( );
+
+ /**
+ * Method to get the lyrics
+ * @return The lyrics data
+ */
+ QByteArray lyrics( ) const;
+
+ /**
+ * Method to get the language
+ * @return The language
+ */
+ QString language( ) const;
+
+ /**
+ * Method to get the release year
+ * @return The release year
+ */
+ QDateTime releaseYear( ) const;
+
+ /**
+ * Method to get the id of the lyrics
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the lyrics
+ * @param aLyrics The lyrics data
+ */
+ void setLyrics( const QByteArray &aLyrics );
+
+ /**
+ * Method to set the language
+ * @param aLang The language
+ */
+ void setLanguage( const QString &aLang );
+
+ /**
+ * Method to set the release year
+ * @param aRelYear The release year
+ */
+ void setReleaseYear( const QDateTime &aRelYear );
+
+ /**
+ * Method to set the id of the lyrics
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfLyricsPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfLyrics &aLyrics );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfLyrics &aLyrics );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfLyrics object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aLyrics The SmfLyrics object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfLyrics &aLyrics );
+
+/**
+ * Method for Internalization. Reads a SmfLyrics object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aLyrics The SmfLyrics object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfLyrics &aLyrics);
+
+
+typedef QList<SmfLyrics> SmfLyricsList;
+
+// Make the class SmfLyrics known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfLyrics)
+Q_DECLARE_METATYPE(QList<SmfLyrics>)
+
+
+#endif /* SMFLYRICS_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smflyrics_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,63 @@
+/**
+ * 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 class implemented for implicit sharing of SmfLyrics class
+ *
+ */
+
+#ifndef SMFLYRICS_P_H_
+#define SMFLYRICS_P_H_
+
+#include <QDateTime>
+#include <QSharedData>
+
+class SmfLyricsPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfLyricsPrivate( ) {
+ m_lyrics.clear();
+ m_language.clear();
+ m_lyricsId.clear();
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfLyricsPrivate( const SmfLyricsPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_lyrics ( aOther.m_lyrics ),
+ m_language ( aOther.m_language ),
+ m_releaseYr ( aOther.m_releaseYr ),
+ m_lyricsId ( aOther.m_lyricsId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfLyricsPrivate( )
+ {
+ }
+
+ QByteArray m_lyrics; // lyrics data
+ QString m_language; // language
+ QDateTime m_releaseYr; // release year
+ QString m_lyricsId; // lyrics id
+
+};
+
+#endif /* SMFLYRICS_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicfingerprint.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,108 @@
+/**
+ * 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:
+ * The SmfMusicFingerPrint class represents a music finger print used in searches
+ *
+ */
+
+#include <smfmusicfingerprint.h>
+#include <smfmusicfingerprint_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfMusicFingerPrint::SmfMusicFingerPrint( )
+ {
+ d = new SmfMusicFingerPrintPrivate;
+ }
+
+/**
+ * Constructor with default argument
+ * @param aParent The parent object
+ */
+SmfMusicFingerPrint::SmfMusicFingerPrint( const SmfMusicFingerPrint &aOther )
+ :d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfMusicFingerPrint& SmfMusicFingerPrint::operator=( const SmfMusicFingerPrint &aOther )
+ {
+ d->m_fingerPrintData = aOther.d->m_fingerPrintData;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfMusicFingerPrint::~SmfMusicFingerPrint( )
+ {
+ }
+
+/**
+ * GEt the music finger print data
+ * @return The music finger print data
+ */
+QByteArray SmfMusicFingerPrint::musicFingerPrint ( ) const
+ {
+ return d->m_fingerPrintData;
+ }
+
+/**
+ * Method to set the music finger print data
+ * @param aFp The music finger print data
+ */
+void SmfMusicFingerPrint::setMusicFingerPrint ( const QByteArray &aFp)
+ {
+ d->m_fingerPrintData = aFp;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfMusicFingerPrint object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aMFP The SmfMusicFingerPrint object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicFingerPrint &aMFP )
+ {
+ // Serialize d->m_fingerPrintData
+ aDataStream<<aMFP.d->m_fingerPrintData;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfMusicFingerPrint object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aMFP The SmfMusicFingerPrint object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicFingerPrint &aMFP)
+ {
+ // Deserialize d->m_fingerPrintData
+ aDataStream>>aMFP.d->m_fingerPrintData;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicfingerprint.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,108 @@
+/**
+ * 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:
+ * The SmfMusicFingerPrint class represents a music finger print used in searches
+ *
+ */
+
+#ifndef SMFMUSICFINGERPRINT_H_
+#define SMFMUSICFINGERPRINT_H_
+
+#include <QDataStream>
+#include <QSharedData>
+#include "smfclientglobal.h"
+#include <QMetaType>
+
+class SmfMusicFingerPrintPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The musicfingerprint class represents a music finger print used in searches
+ */
+class SMFCOMMON_EXPORT SmfMusicFingerPrint
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfMusicFingerPrint( );
+
+ /**
+ * Constructor with default argument
+ * @param aParent The parent object
+ */
+ SmfMusicFingerPrint( const SmfMusicFingerPrint &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfMusicFingerPrint& operator=( const SmfMusicFingerPrint &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicFingerPrint( );
+
+ /**
+ * Method to get the music finger print data
+ * @return The music finger print data
+ */
+ QByteArray musicFingerPrint ( ) const;
+
+ /**
+ * Method to set the music finger print data
+ * @param aFp The music finger print data
+ */
+ void setMusicFingerPrint ( const QByteArray &aFp);
+
+private:
+ QSharedDataPointer<SmfMusicFingerPrintPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicFingerPrint &aMFP );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicFingerPrint &aMFP );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfMusicFingerPrint object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aMFP The SmfMusicFingerPrint object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicFingerPrint &aMFP );
+
+/**
+ * Method for Internalization. Reads a SmfMusicFingerPrint object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aMFP The SmfMusicFingerPrint object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicFingerPrint &aMFP);
+
+
+// Make the class SmfMusicFingerPrint known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfMusicFingerPrint)
+Q_DECLARE_METATYPE(QList<SmfMusicFingerPrint>)
+
+#endif /* SMFMUSICFINGERPRINT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicfingerprint_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,55 @@
+/**
+ * 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 class implemented for implicit sharing of SmfMusicFingerPrint class
+ *
+ */
+
+#ifndef SMFMUSICFINGERPRINT_P_H_
+#define SMFMUSICFINGERPRINT_P_H_
+
+#include <QSharedData>
+
+class SmfMusicFingerPrintPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfMusicFingerPrintPrivate( )
+ {
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfMusicFingerPrintPrivate( const SmfMusicFingerPrintPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_fingerPrintData ( aOther.m_fingerPrintData ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicFingerPrintPrivate( )
+ {
+ }
+
+ QByteArray m_fingerPrintData; // Finger print data
+
+};
+
+
+#endif /* SMFMUSICFINGERPRINT_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicprofile.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,183 @@
+/**
+ * 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:
+ * The music profile class represents a user's profile in music site
+ *
+ */
+
+#include <smfmusicprofile.h>
+#include <smfmusicprofile_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfMusicProfile::SmfMusicProfile( )
+ {
+ d = new SmfMusicProfilePrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfMusicProfile::SmfMusicProfile( const SmfMusicProfile &aOther )
+ :d ( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfMusicProfile& SmfMusicProfile::operator=( const SmfMusicProfile &aOther )
+ {
+ d->m_usage = aOther.d->m_usage;
+ d->m_interest = aOther.d->m_interest;
+ d->m_events = aOther.d->m_events;
+ d->m_profileId = aOther.d->m_profileId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfMusicProfile::~SmfMusicProfile( )
+ {
+ }
+
+/**
+ * Method to get the user's used tracks
+ * @return The users track list
+ */
+QList<SmfTrackInfo> SmfMusicProfile::musicUsageInfo( ) const
+ {
+ return d->m_usage;
+ }
+
+/**
+ * Method to get the user's interested tracks
+ * @return The users interested track list
+ */
+QList<SmfTrackInfo> SmfMusicProfile::interestInfo( ) const
+ {
+ return d->m_interest;
+ }
+
+/**
+ * Method to get the user events as list of SmfEvents
+ * @return The list of events
+ */
+QList<SmfEvent> SmfMusicProfile::userEvents( ) const
+ {
+ return d->m_events;
+ }
+
+/**
+ * Method to get the id of the music profile
+ * @return The ID value
+ */
+QString SmfMusicProfile::id( ) const
+ {
+ return d->m_profileId;
+ }
+
+/**
+ * Method to set the user's used tracks
+ * @param aUsage The users new track list
+ */
+void SmfMusicProfile::setMusicUsageInfo( const QList<SmfTrackInfo>& aUsage )
+ {
+ d->m_usage = aUsage;
+ }
+
+/**
+ * Method to set the user's interested tracks
+ * @param aInterest The users new interested track list
+ */
+void SmfMusicProfile::setInterestInfo( const QList<SmfTrackInfo>& aInterest )
+ {
+ d->m_interest = aInterest;
+ }
+
+/**
+ * Method to set the user events as list of SmfEvents
+ * @param aList The list of events
+ */
+void SmfMusicProfile::setUserEvents( const QList<SmfEvent> &aList )
+ {
+ d->m_events = aList;
+ }
+
+/**
+ * Method to set the id of the music profile
+ * @param aId The ID value
+ */
+void SmfMusicProfile::setId( const QString &aId )
+ {
+ d->m_profileId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfMusicProfile object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aProfile The SmfMusicProfile object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicProfile &aProfile )
+ {
+ // Serialize d->m_usage
+ aDataStream<<aProfile.d->m_usage;
+
+ // Serialize d->m_interest
+ aDataStream<<aProfile.d->m_interest;
+
+ // Serialize d->m_events
+ aDataStream<<aProfile.d->m_events;
+
+ // Serialize d->m_profileId
+ aDataStream<<aProfile.d->m_profileId;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfMusicProfile object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aProfile The SmfMusicProfile object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicProfile &aProfile)
+ {
+ // Deserialize d->m_usage
+ aDataStream>>aProfile.d->m_usage;
+
+ // Deserialize d->m_interest
+ aDataStream>>aProfile.d->m_interest;
+
+ // Deserialize d->m_events
+ aDataStream>>aProfile.d->m_events;
+
+ // Deserialize d->m_profileId
+ aDataStream>>aProfile.d->m_profileId;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicprofile.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,150 @@
+/**
+ * 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:
+ * The music profile class represents a user's profile in music site
+ *
+ */
+
+#ifndef SMFMUSICPROFILE_H_
+#define SMFMUSICPROFILE_H_
+
+#include "smftrackinfo.h"
+#include "smfevent.h"
+#include <qdatastream.h>
+#include <QSharedData>
+#include "smfclientglobal.h"
+#include <QMetaType>
+
+class SmfMusicProfilePrivate;
+/**
+ * Implementation constants
+ */
+const int SmfMusicProfileMaxSize = 20000;
+/**
+ * @ingroup smf_common_group
+ * The music profile class represents a user's profile in music site
+ */
+class SMFCOMMON_EXPORT SmfMusicProfile
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfMusicProfile( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfMusicProfile( const SmfMusicProfile &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfMusicProfile& operator=( const SmfMusicProfile &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicProfile( );
+
+ /**
+ * Method to get the user's used tracks
+ * @return The users track list
+ */
+ QList<SmfTrackInfo> musicUsageInfo( ) const;
+
+ /**
+ * Method to get the user's interested tracks
+ * @return The users interested track list
+ */
+ QList<SmfTrackInfo> interestInfo( ) const;
+
+ /**
+ * Method to get the user events as list of SmfEvents
+ * @return The list of events
+ */
+ QList<SmfEvent> userEvents( ) const;
+
+ /**
+ * Method to get the id of the music profile
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the user's used tracks
+ * @param aUsage The users new track list
+ */
+ void setMusicUsageInfo( const QList<SmfTrackInfo>& aUsage );
+
+ /**
+ * Method to set the user's interested tracks
+ * @param aInterest The users new interested track list
+ */
+ void setInterestInfo( const QList<SmfTrackInfo>& aInterest );
+
+ /**
+ * Method to set the user events as list of SmfEvents
+ * @param aList The list of events
+ */
+ void setUserEvents( const QList<SmfEvent> &aList );
+
+ /**
+ * Method to set the id of the music profile
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfMusicProfilePrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicProfile &aProfile );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicProfile &aProfile );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfMusicProfile object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aProfile The SmfMusicProfile object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicProfile &aProfile );
+
+/**
+ * Method for Internalization. Reads a SmfMusicProfile object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aProfile The SmfMusicProfile object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicProfile &aProfile);
+
+typedef QList<SmfMusicProfile> SmfMusicProfileList;
+
+// Make the class SmfMusicProfile known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfMusicProfile)
+Q_DECLARE_METATYPE(QList<SmfMusicProfile>)
+
+#endif /* SMFMUSICPROFILE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicprofile_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,66 @@
+/**
+ * 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 class implemented for implicit sharing of SmfMusicProfile class
+ *
+ */
+
+#ifndef SMFMUSICPROFILE_P_H_
+#define SMFMUSICPROFILE_P_H_
+
+
+#include <smftrackinfo.h>
+#include <smfevent.h>
+#include <QSharedData>
+
+class SmfMusicProfilePrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfMusicProfilePrivate( ) {
+ m_usage.clear();
+ m_interest.clear();
+ m_events.clear();
+ m_profileId.clear();
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfMusicProfilePrivate( const SmfMusicProfilePrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_usage ( aOther.m_usage ),
+ m_interest ( aOther.m_interest ),
+ m_events ( aOther.m_events ),
+ m_profileId ( aOther.m_profileId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicProfilePrivate( )
+ {
+ }
+
+ QList<SmfTrackInfo> m_usage; // usage tracks
+ QList<SmfTrackInfo> m_interest; // interested tracks
+ QList<SmfEvent> m_events; // events list
+ QString m_profileId; // profile Id
+
+};
+
+#endif /* SMFMUSICPROFILE_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicrating.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,160 @@
+/**
+ * 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:
+ * The music rating class represents an instance of rating
+ * about a music track
+ *
+ */
+
+#include "smfmusicrating.h"
+#include "smfmusicrating_p.h"
+
+/**
+ * Constructor with default argument
+ * @param aParent The SmfTrackInfo instance
+ */
+SmfMusicRating::SmfMusicRating( SmfTrackInfo *aParent )
+ {
+ Q_UNUSED(aParent)
+ d = new SmfMusicRatingPrivate();
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfMusicRating::SmfMusicRating( const SmfMusicRating &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+SmfMusicRating& SmfMusicRating::operator=( const SmfMusicRating &aOther )
+ {
+ d->m_rating = aOther.d->m_rating;
+ d->m_max = aOther.d->m_max;
+ d->m_min = aOther.d->m_min;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfMusicRating::~SmfMusicRating( )
+ {
+ }
+
+/**
+ * Method to get the rating
+ * @return The rating value
+ */
+int SmfMusicRating::rating( ) const
+ {
+ return d->m_rating;
+ }
+
+/**
+ * Method to get the max rating
+ * @return The max rating value
+ */
+int SmfMusicRating::maxRating( ) const
+ {
+ return d->m_max;
+ }
+
+/**
+ * Method to get the min rating
+ * @return The min rating value
+ */
+int SmfMusicRating::minRating( ) const
+ {
+ return d->m_min;
+ }
+
+/**
+ * Method to set the rating
+ * @param aRating The rating value
+ */
+void SmfMusicRating::setRating( const int &aRating )
+ {
+ d->m_rating = aRating;
+ }
+
+/**
+ * Method to set the max rating
+ * @param aMax The max rating value
+ */
+void SmfMusicRating::setMaxRating( const int &aMax )
+ {
+ d->m_max = aMax;
+ }
+
+/**
+ * Method to set the min rating
+ * @param aMin The min rating value
+ */
+void SmfMusicRating::setMinRating( const int &aMin )
+ {
+ d->m_min = aMin;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfMusicRating object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aMusicRating The SmfMusicRating object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicRating &aMusicRating )
+ {
+ // Serialize d->m_rating
+ aDataStream<<aMusicRating.d->m_rating;
+
+ // Serialize d->m_max
+ aDataStream<<aMusicRating.d->m_max;
+
+ // Serialize d->m_min
+ aDataStream<<aMusicRating.d->m_min;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfMusicRating object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aMusicRating The SmfMusicRating object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicRating &aMusicRating)
+ {
+ // Deserialize d->m_rating
+ aDataStream>>aMusicRating.d->m_rating;
+
+ // Deserialize d->m_max
+ aDataStream>>aMusicRating.d->m_max;
+
+ // Deserialize d->m_min
+ aDataStream>>aMusicRating.d->m_min;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicrating.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,142 @@
+/**
+ * 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:
+ * The music rating class represents an instance of rating
+ * about a music track
+ *
+ */
+
+#ifndef SMFMUSICRATING_H_
+#define SMFMUSICRATING_H_
+
+#include <QSharedData>
+#include "smfclientglobal.h"
+#include <QMetaType>
+
+class SmfTrackInfo;
+class SmfMusicRatingPrivate;
+
+/**
+ * Indicates range of values to represent ratings,
+ * SP should normalize their rating value to this scale
+ */
+const int SMF_MAX_RATING = 10;
+const int SMF_MIN_RATING = 0;
+
+/**
+ * @ingroup smf_common_group
+ * The music rating class represents an instance of rating
+ * about a music track
+ */
+class SMFCOMMON_EXPORT SmfMusicRating
+ {
+public:
+ /**
+ * Constructor with default argument
+ * @param aParent The SmfTrackInfo instance
+ */
+ SmfMusicRating( SmfTrackInfo *aParent = 0 );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfMusicRating( const SmfMusicRating &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfMusicRating& operator=( const SmfMusicRating &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicRating( );
+
+ /**
+ * Method to get the rating
+ * @return The rating value
+ */
+ int rating( ) const;
+
+ /**
+ * Method to get the max rating
+ * @return The max rating value
+ */
+ int maxRating( ) const;
+
+ /**
+ * Method to get the min rating
+ * @return The min rating value
+ */
+ int minRating( ) const;
+
+ /**
+ * Method to set the rating
+ * @param aRating The rating value
+ */
+ void setRating( const int &aRating );
+
+ /**
+ * Method to set the max rating
+ * @param aMax The max rating value
+ */
+ void setMaxRating( const int &aMax );
+
+ /**
+ * Method to set the min rating
+ * @param aMin The min rating value
+ */
+ void setMinRating( const int &aMin );
+
+private:
+ QSharedDataPointer<SmfMusicRatingPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicRating &aMusicRating );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicRating &aMusicRating );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfMusicRating object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aMusicRating The SmfMusicRating object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfMusicRating &aMusicRating );
+
+/**
+ * Method for Internalization. Reads a SmfMusicRating object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aMusicRating The SmfMusicRating object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfMusicRating &aMusicRating);
+
+
+// Make the class SmfMusicRating known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfMusicRating)
+Q_DECLARE_METATYPE(QList<SmfMusicRating>)
+
+#endif /* SMFMUSICRATING_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfmusicrating_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,61 @@
+/**
+ * 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 class implemented for implicit sharing of SmfMusicRating class
+ *
+ */
+
+#ifndef SMFMUSICRATING_P_H_
+#define SMFMUSICRATING_P_H_
+
+#include <QSharedData>
+#include <smfmusicrating.h>
+
+class SmfMusicRatingPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfMusicRatingPrivate( ) {
+ m_rating = 0;
+ m_max = SMF_MAX_RATING;
+ m_min = SMF_MIN_RATING;
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfMusicRatingPrivate( const SmfMusicRatingPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_rating ( aOther.m_rating ),
+ m_max ( aOther.m_max ),
+ m_min ( aOther.m_min ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfMusicRatingPrivate( )
+ {
+ }
+
+ qint32 m_rating; // rating
+ qint32 m_max; // max rating
+ qint32 m_min; // min rating
+
+};
+
+#endif /* SMFMUSICRATING_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfobserver.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,46 @@
+
+/**
+ * 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:
+ * Observer class to notify availability of asynchronous requests
+ *
+ */
+
+#ifndef SMFOBSERVER_H_
+#define SMFOBSERVER_H_
+
+#include <QObject>
+
+#include "smfglobal.h"
+
+// Forward declaration
+class QByteArray;
+
+/**
+ * Observer class to notify availability of asynchronous requests
+ */
+class smfObserver : public QObject
+ {
+public:
+ /**
+ * To notify availibility of asynchronous requests.
+ * @param result Requested result, before using must check error param.
+ * @param opcode Requested opcode, for which the result has arrived.
+ * @param error Error
+ */
+ virtual void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error) = 0;
+ };
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpicture.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,348 @@
+/**
+ * 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:
+ * The picture class represents an instance of a picture
+ *
+ */
+
+#include "smfpicture.h"
+#include "smfpicture_p.h"
+
+/**
+ * Constructor with default argument
+ */
+SmfPicture::SmfPicture(/*bool aDownloaded*/)
+ {
+ d = new SmfPicturePrivate;
+ //d->isDownloaded = aDownloaded;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfPicture::SmfPicture( const SmfPicture &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * CConstructs SmfPicture from QImage
+ * @param aOther The QImage
+ */
+SmfPicture::SmfPicture( const QImage &aImage )
+ {
+ d = new SmfPicturePrivate(aImage);
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfPicture& SmfPicture::operator=( const SmfPicture &aOther )
+ {
+ d->m_photoId = aOther.d->m_photoId;
+ d->m_owner = aOther.d->m_owner;
+ d->m_title = aOther.d->m_title;
+ d->m_description = aOther.d->m_description;
+ d->m_picVisibility = aOther.d->m_picVisibility;
+ d->m_postedOn = aOther.d->m_postedOn;
+ d->m_comments = aOther.d->m_comments;
+ d->m_tags = aOther.d->m_tags;
+ d->m_url = aOther.d->m_url;
+ d->m_picture = aOther.d->m_picture;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfPicture::~SmfPicture( )
+ {
+ }
+
+/**
+ * Method to get a picture owner
+ * @return The owner of the picture
+ */
+QString SmfPicture::owner( ) const
+ {
+ return d->m_owner;
+ }
+
+/**
+ * Method to get a picture title
+ * @return The title of the picture
+ */
+QString SmfPicture::title( ) const
+ {
+ return d->m_title;
+ }
+
+/**
+ * Method to get a picture description
+ * @return The description of the picture
+ */
+QString SmfPicture::description( ) const
+ {
+ return d->m_description;
+ }
+
+/**
+ * Method to get a visibility of a picture for public
+ * @return The visibility mode of this picture for others
+ */
+SmfPictureVisibility SmfPicture::visibility( ) const
+ {
+ return d->m_picVisibility;
+ }
+
+/**
+ * Method to get the date of posting the picture
+ * @return The posted date of the picture
+ */
+QDateTime SmfPicture::postedDate( ) const
+ {
+ return d->m_postedOn;
+ }
+
+/**
+ * Method to get the comments for the picture
+ * @return The comments for the picture
+ */
+QList<SmfComment> SmfPicture::comments( ) const
+ {
+ return d->m_comments;
+ }
+
+/**
+ * Method to get the tags for the picture
+ * @return The tags for the picture
+ */
+QStringList SmfPicture::tags( ) const
+ {
+ return d->m_tags;
+ }
+
+/**
+ * Method to get the url of the picture
+ * @return The url of the picture
+ */
+QUrl SmfPicture::url( ) const
+ {
+ return d->m_url;
+ }
+
+/**
+ * Method to get the picture data as QImage
+ * @return The picture as QImage
+ */
+QImage SmfPicture::picture( ) const
+ {
+ return d->m_picture;
+ }
+
+/**
+ * Method to get the id of the picture
+ * @return The ID value
+ */
+QString SmfPicture::id( ) const
+ {
+ return d->m_photoId;
+ }
+bool SmfPicture::downloadFlag()
+ {
+ return d->isDownloaded;
+ }
+/**
+ * Method to set a picture owner
+ * @param aOwner The owner of the picture
+ */
+void SmfPicture::setOwner( const QString &aOwner )
+ {
+ d->m_owner = aOwner;
+ }
+
+/**
+ * Method to set a picture title
+ * @param aTitle The title of the picture
+ */
+void SmfPicture::setTitle( const QString &aTitle )
+ {
+ d->m_title = aTitle;
+ }
+
+/**
+ * Method to set a picture description
+ * @param aDescription The description of the picture
+ */
+void SmfPicture::setDescription( const QString &aDescription )
+ {
+ d->m_description = aDescription;
+ }
+
+/**
+ * Method to set a visibility of a picture for public
+ * @param aVisibility aVisibility The visibility mode of
+ * this picture for others
+ */
+void SmfPicture::setVisibility( const SmfPictureVisibility &aVisibility )
+ {
+ d->m_picVisibility = aVisibility;
+ }
+
+/**
+ * Method to set the date of posting the picture
+ * @param aDate The post date of the picture
+ */
+void SmfPicture::setPostedDate( const QDateTime &aDate )
+ {
+ d->m_postedOn = aDate;
+ }
+
+/**
+ * Method to add comment on the picture
+ * @param aComment The comment for the picture
+ */
+void SmfPicture::addComment( const SmfComment &aComment )
+ {
+ d->m_comments.append(aComment);
+ }
+
+/**
+ * Method to add tags for the picture
+ * @param aTag The tag for the picture
+ */
+void SmfPicture::addTags( const QStringList &aTags )
+ {
+ d->m_tags = aTags;
+ }
+
+/**
+ * Method to set the url of the picture
+ * @param aUrl The url of the picture
+ */
+void SmfPicture::setUrl( const QUrl &aUrl )
+ {
+ d->m_url = aUrl;
+ }
+
+/**
+ * Method to set the picture data as QImage
+ * @param aData The picture as QImage
+ */
+void SmfPicture::setPicture( const QImage &aData )
+ {
+ d->m_picture = aData;
+ }
+
+/**
+ * Method to set the id of the picture
+ * @param aId The ID value
+ */
+void SmfPicture::setId( const QString &aId )
+ {
+ d->m_photoId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfPicture object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPic The SmfPicture object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream& operator<<( QDataStream &aDataStream,
+ const SmfPicture &aPic )
+ {
+ // Serialize d->m_photoId
+ aDataStream<<aPic.d->m_photoId;
+
+ // Serialize d->m_owner
+ aDataStream<<aPic.d->m_owner;
+
+ // Serialize d->m_title
+ aDataStream<<aPic.d->m_title;
+
+ // Serialize d->m_description
+ aDataStream<<aPic.d->m_description;
+
+ // Serialize d->m_picVisibility
+ aDataStream<<aPic.d->m_picVisibility;
+
+ // Serialize d->m_postedOn
+ aDataStream<<aPic.d->m_postedOn;
+
+ // Serialize d->m_comments
+ aDataStream<<aPic.d->m_comments;
+
+ // Serialize d->m_tags
+ aDataStream<<aPic.d->m_tags;
+
+ // Serialize d->m_url
+ aDataStream<<aPic.d->m_url;
+
+ // Serialize d->m_picture
+ aDataStream<<aPic.d->m_picture;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfPicture object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPic The SmfPicture object to be internalized
+ * @return reference to the stream
+ */
+QDataStream& operator>>( QDataStream &aDataStream,
+ SmfPicture &aPic)
+ {
+ // Deserialize d->m_photoId
+ aDataStream>>aPic.d->m_photoId;
+
+ // Deserialize d->m_owner
+ aDataStream>>aPic.d->m_owner;
+
+ // Deserialize d->m_title
+ aDataStream>>aPic.d->m_title;
+
+ // Deserialize d->m_description
+ aDataStream>>aPic.d->m_description;
+
+ // Deserialize d->m_picVisibility
+ quint32 val = 0;
+ aDataStream>>val;
+ aPic.d->m_picVisibility = (SmfPictureVisibility)val;
+
+ // Deserialize d->m_postedOn
+ aDataStream>>aPic.d->m_postedOn;
+
+ // Deserialize d->m_comments
+ aDataStream>>aPic.d->m_comments;
+
+ // Deserialize d->m_tags
+ aDataStream>>aPic.d->m_tags;
+
+ // Deserialize d->m_url
+ aDataStream>>aPic.d->m_url;
+
+ // Deserialize d->m_picture
+ aDataStream>>aPic.d->m_picture;
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpicture.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,255 @@
+/**
+ * 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:
+ * The picture class represents an instance of a picture
+ *
+ */
+
+#ifndef SMFPICTURE_H_
+#define SMFPICTURE_H_
+
+#include <QImage>
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+#include <smfcomment.h>
+
+class SmfPicturePrivate;
+/**
+ * Max size for one SmfPicture
+ */
+const int MaxSmfPictureSize = 1000;
+/**
+ * SmfPictureVisibility enumeration
+ */
+enum SmfPictureVisibility
+ {
+ SMFVisibilityFriend,
+ SMFVisibilityPersonal,
+ SMFVisibilityFamily,
+ SMFVisibilityGroup,
+ SMFVisibilityPublic
+ };
+
+/**
+ * @ingroup smf_common_group
+ * The picture class represents an instance of a picture
+ */
+class SMFCOMMON_EXPORT SmfPicture
+ {
+public:
+ /**
+ * Constructor with default argument.
+ * @param aDownloaded This flag is to know whether the content is downloaded
+ * in the device(if true). If false it signifies that SmfPicture contains
+ * a link/url to the location of the content
+ */
+ SmfPicture(/*bool aDownloaded = false*/ );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfPicture( const SmfPicture &aOther );
+
+ /**
+ * CConstructs SmfPicture from QImage
+ * @param aImage The QImage
+ */
+ SmfPicture( const QImage &aImage );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The current object reference
+ */
+ SmfPicture& operator=(const SmfPicture &aOther);
+
+ /**
+ * Destructor
+ */
+ ~SmfPicture( );
+
+ /**
+ * Method to get a picture owner
+ * @return The owner of the picture
+ */
+ QString owner( ) const;
+
+ /**
+ * Method to get a picture title
+ * @return The title of the picture
+ */
+ QString title( ) const;
+
+ /**
+ * Method to get a picture description
+ * @return The description of the picture
+ */
+ QString description( ) const;
+
+ /**
+ * Method to get a visibility of a picture for public
+ * @return The visibility mode of this picture for others
+ */
+ SmfPictureVisibility visibility( ) const;
+
+ /**
+ * Method to get the date of posting the picture
+ * @return The posted date of the picture
+ */
+ QDateTime postedDate( ) const;
+
+ /**
+ * Method to get the comments for the picture
+ * @return The comments for the picture
+ */
+ QList<SmfComment> comments( ) const;
+
+ /**
+ * Method to get the tags for the picture
+ * @return The tags for the picture
+ */
+ QStringList tags( ) const;
+
+ /**
+ * Method to get the url of the picture
+ * @return The url of the picture
+ */
+ QUrl url( ) const;
+
+ /**
+ * Method to get the picture data as QImage
+ * @return The picture as QImage
+ */
+ QImage picture( ) const;
+
+ /**
+ * Method to get the id of the picture
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Gets download flag. This flag is to know whether the content is downloaded
+ * in the device(if true). If false it signifies that SmfPicture contains
+ * a link/url to the location of the content
+ */
+ bool downloadFlag();
+
+ /**
+ * Method to set a picture owner
+ * @param aOwner The owner of the picture
+ */
+ void setOwner( const QString &aOwner );
+
+ /**
+ * Method to set a picture title
+ * @param aTitle The title of the picture
+ */
+ void setTitle( const QString &aTitle );
+
+ /**
+ * Method to set a picture description
+ * @param aDescription The description of the picture
+ */
+ void setDescription( const QString &aDescription );
+
+ /**
+ * Method to set a visibility of a picture for public
+ * @param aVisibility aVisibility The visibility mode of
+ * this picture for others
+ */
+ void setVisibility( const SmfPictureVisibility &aVisibility );
+
+ /**
+ * Method to set the date of posting the picture
+ * @param aDate The post date of the picture
+ */
+ void setPostedDate( const QDateTime &aDate );
+
+ /**
+ * Method to add comment on the picture
+ * @param aComment The comment for the picture
+ */
+ void addComment( const SmfComment &aComment );
+
+ /**
+ * Method to add tags for the picture
+ * @param aTag The tag for the picture
+ */
+ void addTags( const QStringList &aTags );
+
+ /**
+ * Method to set the url of the picture
+ * @param aUrl The url of the picture
+ */
+ void setUrl( const QUrl &aUrl );
+
+ /**
+ * Method to set the picture data as QImage
+ * @param aData The picture as QImage
+ */
+ void setPicture( const QImage &aData );
+
+ /**
+ * Method to set the id of the picture
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfPicturePrivate> d;
+
+ friend QDataStream& operator<<( QDataStream &aDataStream,
+ const SmfPicture &aPic );
+
+ friend QDataStream& operator>>( QDataStream &aDataStream,
+ SmfPicture &aPic );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfPicture object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPic The SmfPicture object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream& operator<<( QDataStream &aDataStream,
+ const SmfPicture &aPic );
+
+/**
+ * Method for Internalization. Reads a SmfPicture object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPic The SmfPicture object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream& operator>>( QDataStream &aDataStream,
+ SmfPicture &aPic);
+
+typedef QList<SmfPicture> SmfPictureList;
+
+// Make the class SmfPicture known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfPicture)
+Q_DECLARE_METATYPE(QList<SmfPicture>)
+
+#endif /* SMFPICTURE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpicture_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,110 @@
+/**
+ * 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 class implemented for implicit sharing of SmfPicture class
+ *
+ */
+
+#ifndef SMFPICTURE_P_H_
+#define SMFPICTURE_P_H_
+
+
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <smfpicture.h>
+
+class SmfPicturePrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfPicturePrivate( ) {
+ m_photoId.clear();
+ m_owner.clear();
+ m_title.clear();
+ m_description.clear();
+ m_comments.clear();
+ m_tags.clear();
+ m_url.clear();
+ isDownloaded = false;
+ }
+ /**
+ * Constructor
+ */
+ SmfPicturePrivate( const QImage &aImage ) {
+ m_photoId.clear();
+ m_owner.clear();
+ m_title.clear();
+ m_description.clear();
+ m_comments.clear();
+ m_tags.clear();
+ m_url.clear();
+ m_picture = aImage;
+ //false by default
+ isDownloaded = false;
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfPicturePrivate( const SmfPicturePrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_photoId ( aOther.m_photoId ),
+ m_owner ( aOther.m_owner ),
+ m_title ( aOther.m_title ),
+ m_description ( aOther.m_description ),
+ m_picVisibility ( aOther.m_picVisibility ),
+ m_postedOn ( aOther.m_postedOn ),
+ m_comments ( aOther.m_comments ),
+ m_tags ( aOther.m_tags ),
+ m_url ( aOther.m_url ),
+ m_picture ( aOther.m_picture ),
+ isDownloaded(aOther.isDownloaded)
+ {
+
+ }
+
+ /**
+ * Destructor
+ */
+ ~SmfPicturePrivate( )
+ {
+ }
+
+ QString m_photoId; // unique ID of the picture, service provider specific
+ QString m_owner; // owner of the picture
+ QString m_title; // picture title
+ QString m_description; // description
+ SmfPictureVisibility m_picVisibility;// picture visibility
+ QDateTime m_postedOn; // date posted
+ QList<SmfComment> m_comments; // comments
+ QStringList m_tags; // tags
+ QUrl m_url; // url
+ QImage m_picture; // picture data as bytearray
+ /**
+ * Flag whether the content is actually available in device -
+ * if this is false then only the url/link to the media is available
+ * in the class - clients can use the link to download the content/visit
+ * the site.
+ */
+ bool isDownloaded;
+};
+
+#endif /* SMFPICTURE_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpicturealbum.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,338 @@
+/**
+ * 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:
+ * The album to contain a set pf pictures
+ *
+ */
+
+#include <smfpicturealbum.h>
+#include <smfpicturealbum_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfPictureAlbum::SmfPictureAlbum( )
+ {
+ d = new SmfPictureAlbumPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfPictureAlbum::SmfPictureAlbum( const SmfPictureAlbum &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfPictureAlbum& SmfPictureAlbum::operator=( const SmfPictureAlbum &aOther )
+ {
+ d->m_albumId = aOther.d->m_albumId;
+ d->m_title = aOther.d->m_title;
+ d->m_description = aOther.d->m_description;
+ d->m_albumVisibility = aOther.d->m_albumVisibility;
+ d->m_postedOn = aOther.d->m_postedOn;
+ d->m_comments = aOther.d->m_comments;
+ d->m_keywords = aOther.d->m_keywords;
+ d->m_url = aOther.d->m_url;
+ d->m_picCount =aOther.d->m_picCount;
+ d->m_thumbnail = aOther.d->m_thumbnail ;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfPictureAlbum::~SmfPictureAlbum( )
+ {
+
+ }
+
+
+/**
+ * Method to get a album title
+ * @return The title of the album
+ */
+QString SmfPictureAlbum::title( ) const
+ {
+ return d->m_title;
+ }
+
+/**
+ * Method to get a album description
+ * @return The description of the album
+ */
+QString SmfPictureAlbum::description( ) const
+ {
+ return d->m_description;
+ }
+
+/**
+ * Method to get a visibility of a album for public
+ * @return The visibility mode of this album for others
+ */
+SmfPictureVisibility SmfPictureAlbum::visibility( ) const
+ {
+ return d->m_albumVisibility;
+ }
+
+/**
+ * Method to get the date of posting the album
+ * @return The posted date of the album
+ */
+QDateTime SmfPictureAlbum::postedDate( ) const
+ {
+ return d->m_postedOn;
+ }
+
+/**
+ * Method to get the comments for the album
+ * @return The comments for the album
+ */
+QList<SmfComment> SmfPictureAlbum::comments( ) const
+ {
+ return d->m_comments;
+ }
+
+/**
+ * Method to get the tags for the album
+ * @return The tags for the album
+ */
+QStringList SmfPictureAlbum::keywords( ) const
+ {
+ return d->m_keywords;
+ }
+
+/**
+ * Method to get the url of the album
+ * @return The url of the album
+ */
+QUrl SmfPictureAlbum::url( ) const
+ {
+ return d->m_url;
+ }
+
+/**
+ * Method to get the thumbnail for this album as QImage
+ * @return The picture as QImage
+ */
+QImage SmfPictureAlbum::thumbnail( ) const
+ {
+ return d->m_thumbnail;
+ }
+
+/**
+ * Method to get the album data as QImage
+ * @return The album as QImage
+ */
+qint32 SmfPictureAlbum::pictureCount( ) const
+ {
+ return d->m_picCount;
+ }
+
+/**
+ * Method to get the id of the album
+ * @return The ID value
+ */
+QString SmfPictureAlbum::id( ) const
+ {
+ return d->m_albumId;
+ }
+
+/**
+ * Method to set a album title
+ * @param aTitle The title of the album
+ */
+void SmfPictureAlbum::setTitle( const QString &aTitle )
+ {
+ d->m_title = aTitle;
+ }
+
+/**
+ * Method to set a album description
+ * @param aDescription The description of the album
+ */
+void SmfPictureAlbum::setDescription( const QString &aDescription )
+ {
+ d->m_description = aDescription;
+ }
+
+/**
+ * Method to set a visibility of a album for public
+ * @param aVisibility aVisibility The visibility mode of
+ * this album for others
+ */
+void SmfPictureAlbum::setVisibility( const SmfPictureVisibility &aVisibility )
+ {
+ d->m_albumVisibility = aVisibility;
+ }
+
+/**
+ * Method to set the date of posting the album
+ * @param aDate The post date of the album
+ */
+void SmfPictureAlbum::setPostedDate( const QDateTime &aDate )
+ {
+ d->m_postedOn = aDate;
+ }
+
+/**
+ * Method to add comment on the album
+ * @param aComment The comment for the album
+ */
+void SmfPictureAlbum::addComment( const SmfComment &aComment )
+ {
+ d->m_comments.append(aComment);
+ }
+
+/**
+ * Method to add tags for the album
+ * @param aTag The tag for the album
+ */
+void SmfPictureAlbum::addKeywords(const QStringList &aKeywords )
+ {
+ d->m_keywords = aKeywords;
+ }
+
+/**
+ * Method to set the url of the album
+ * @param aUrl The url of the album
+ */
+void SmfPictureAlbum::setUrl( const QUrl &aUrl )
+ {
+ d->m_url = aUrl;
+ }
+
+/**
+ * Method to set the album data as QImage
+ * @param aData The album as QImage
+ */
+void SmfPictureAlbum::setThumbnail( const QImage &aData )
+ {
+ d->m_thumbnail = aData;
+ }
+
+/**
+ * Method to get the number of pictures in this album
+ * @return number of pictures in this album
+ */
+ void SmfPictureAlbum::setPictureCount( const qint32 aCount)
+ {
+ d->m_picCount = aCount;
+ }
+
+/**
+ * Method to set the id of the album
+ * @param aId The ID value
+ */
+void SmfPictureAlbum::setId( const QString &aId )
+ {
+ d->m_albumId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfPictureAlbum object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPic The SmfPictureAlbum object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream& operator<<( QDataStream &aDataStream,
+ const SmfPictureAlbum &aAlbm )
+ {
+ //serialize d->m_albumId;
+ aDataStream << aAlbm.d->m_albumId;
+
+ //serialize d->m_title;
+ aDataStream << aAlbm.d->m_title;
+
+ //serialize d->m_description;
+ aDataStream << aAlbm.d->m_description;
+
+ //serialize d->m_albumVisibility;
+ quint32 val = aAlbm.d->m_albumVisibility;
+ aDataStream << val;
+
+ //serialize d->m_postedOn;
+ aDataStream << aAlbm.d->m_postedOn;
+
+ //serialize d->m_comments;
+ aDataStream << aAlbm.d->m_comments;
+
+ //serialize d->m_keywords;
+ aDataStream << aAlbm.d->m_keywords;
+
+ //serialize d->m_url;
+ aDataStream << aAlbm.d->m_url;
+
+ //serialize d->m_picCount;
+ aDataStream << aAlbm.d->m_picCount;
+
+ //serialize d->m_thumbnail ;
+ aDataStream << aAlbm.d->m_thumbnail ;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfPictureAlbum object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPic The SmfPictureAlbum object to be internalized
+ * @return reference to the stream
+ */
+QDataStream& operator>>( QDataStream &aDataStream,
+ SmfPictureAlbum &aAlbm)
+ {
+ //deserialize d->m_albumId;
+ aDataStream >> aAlbm.d->m_albumId;
+
+ //deserialize d->m_title;
+ aDataStream >> aAlbm.d->m_title;
+
+ //deserialize d->m_description;
+ aDataStream >> aAlbm.d->m_description;
+
+ //deserialize d->m_albumVisibility;
+ quint32 val = 0;
+ aDataStream >>val;
+ aAlbm.d->m_albumVisibility = (SmfPictureVisibility)val;
+
+ //deserialize d->m_postedOn;
+ aDataStream >> aAlbm.d->m_postedOn;
+
+ //deserialize d->m_comments;
+ aDataStream >> aAlbm.d->m_comments;
+
+ //deserialize d->m_keywords;
+ aDataStream >> aAlbm.d->m_keywords;
+
+ //deserialize d->m_url;
+ aDataStream >> aAlbm.d->m_url;
+
+ //deserialize d->m_picCount;
+ aDataStream >> aAlbm.d->m_picCount;
+
+ //deserialize d->m_thumbnail ;
+ aDataStream >> aAlbm.d->m_thumbnail ;
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpicturealbum.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,227 @@
+/**
+ * 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:
+ * The album class represents an online picture album (collection/gallery)
+ *
+ */
+
+#ifndef SMFPICTUREALBUM_H_
+#define SMFPICTUREALBUM_H_
+
+#include <QImage>
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+#include <smfcomment.h>
+#include <smfpicture.h>
+
+class SmfPictureAlbumPrivate;
+/**Implementation const */
+const int MaxSmfPictureAlbumSize = 20000;//20KB
+
+/**
+ * @ingroup smf_common_group
+ * album class represents an online picture album (collection)
+ */
+class SMFCOMMON_EXPORT SmfPictureAlbum
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfPictureAlbum( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfPictureAlbum( const SmfPictureAlbum &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The current object reference
+ */
+ SmfPictureAlbum& operator=(const SmfPictureAlbum &aOther);
+
+ /**
+ * Destructor
+ */
+ ~SmfPictureAlbum( );
+
+ /**
+ * Method to get a album title
+ * @return The title of the album
+ */
+ QString title( ) const;
+
+ /**
+ * Method to get a album description
+ * @return The description of the album
+ */
+ QString description( ) const;
+
+ /**
+ * Method to get a visibility of a album for public
+ * @return The visibility mode of this album for others
+ */
+ SmfPictureVisibility visibility( ) const;
+
+ /**
+ * Method to get the date of posting the album
+ * @return The posted date of the album
+ */
+ QDateTime postedDate( ) const;
+
+ /**
+ * Method to get the comments for the album
+ * @return The comments for the album
+ */
+ QList<SmfComment> comments( ) const;
+
+ /**
+ * Method to get the keywords for the album
+ * @return The keywords for the album
+ */
+ QStringList keywords( ) const;
+
+ /**
+ * Method to get the url of the album
+ * @return The url of the album
+ */
+ QUrl url( ) const;
+
+ /**
+ * Method to get the thumbnail for this album as QImage
+ * @return The picture as QImage
+ */
+ QImage thumbnail( ) const;
+
+ /**
+ * Method to get the number of pictures in this album
+ * @return number of pictures in this album
+ */
+ qint32 pictureCount( ) const;
+
+ /**
+ * Method to get the id of the album
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set a album title
+ * @param aTitle The title of the album
+ */
+ void setTitle( const QString &aTitle );
+
+ /**
+ * Method to set a album description
+ * @param aDescription The description of the album
+ */
+ void setDescription( const QString &aDescription );
+
+ /**
+ * Method to set a visibility of a album for public
+ * @param aVisibility aVisibility The visibility mode of
+ * this album for others
+ */
+ void setVisibility( const SmfPictureVisibility &aVisibility );
+
+ /**
+ * Method to set the date of posting the album
+ * @param aDate The post date of the album
+ */
+ void setPostedDate( const QDateTime &aDate );
+
+ /**
+ * Method to add comment on the album
+ * @param aComment The comment for the album
+ */
+ void addComment( const SmfComment &aComment );
+
+ /**
+ * Method to add keywords for the album
+ * @param aTag The tag for the album
+ */
+ void addKeywords( const QStringList &aWords );
+
+ /**
+ * Method to set the url of the album
+ * @param aUrl The url of the album
+ */
+ void setUrl( const QUrl &aUrl );
+
+ /**
+ * Method to set the thumbnail for this album as QImage
+ * @return The picture as QImage
+ */
+ void setThumbnail(const QImage &aImage );
+
+ /**
+ * Method to get the number of pictures in this album
+ * @return number of pictures in this album
+ */
+ void setPictureCount( const qint32 aCount);
+
+ /**
+ * Method to set the id of the album
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfPictureAlbumPrivate> d;
+
+ friend QDataStream& operator<<( QDataStream &aDataStream,
+ const SmfPictureAlbum &aAlbm );
+
+ friend QDataStream& operator>>( QDataStream &aDataStream,
+ SmfPictureAlbum &aAlbm );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfPictureAlbum object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aAlbm The SmfPictureAlbum object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream& operator<<( QDataStream &aDataStream,
+ const SmfPictureAlbum &aAlbm );
+
+/**
+ * Method for Internalization. Reads a SmfPictureAlbum object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aAlbm The SmfPictureAlbum object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream& operator>>( QDataStream &aDataStream,
+ SmfPictureAlbum &aAlbm);
+
+typedef QList<SmfPictureAlbum> SmfPictureAlbumList;
+
+// Make the class SmfPictureAlbum known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfPictureAlbum)
+Q_DECLARE_METATYPE(QList<SmfPictureAlbum>)
+
+#endif /* SMFPICTUREALBUM_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpicturealbum_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,88 @@
+/**
+ * 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 class implemented for implicit sharing of SmfPictureAlbum class
+ *
+ */
+
+#ifndef SMFPICTUREALBUM_P_H_
+#define SMFPICTUREALBUM_P_H_
+
+
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <smfpicturealbum.h>
+
+class SmfPictureAlbumPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfPictureAlbumPrivate( ) {
+ m_title.clear(); // album title
+ m_description.clear(); // description
+ m_albumVisibility = SMFVisibilityPublic;// album visibility
+ m_comments.clear(); // comments
+ m_keywords.clear(); // tags
+ m_url.clear(); // url
+ m_picCount=0; //count of pictures
+ m_albumId.clear(); // unique ID of the album, service provider specific
+ }
+
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfPictureAlbumPrivate( const SmfPictureAlbumPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_albumId ( aOther.m_albumId),
+ m_title ( aOther.m_title ),
+ m_description ( aOther.m_description ),
+ m_albumVisibility ( aOther.m_albumVisibility ),
+ m_postedOn ( aOther.m_postedOn ),
+ m_comments ( aOther.m_comments ),
+ m_keywords ( aOther.m_keywords ),
+ m_url ( aOther.m_url ),
+ m_picCount (aOther.m_picCount),
+ m_thumbnail ( aOther.m_thumbnail ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfPictureAlbumPrivate( )
+ {
+ }
+
+ /**
+ * Member variables
+ */
+ QString m_title; // album title
+ QString m_description; // description
+ SmfPictureVisibility m_albumVisibility;// album visibility
+ QDateTime m_postedOn; // date posted
+ QList<SmfComment> m_comments; // comments
+ QStringList m_keywords; // tags
+ QUrl m_url; // url
+ QImage m_thumbnail; // thumbnail data
+ quint32 m_picCount; //count of pictures
+ QString m_albumId; // unique ID of the album, service provider specific
+};
+
+#endif /* SMFPICTUREALBUM_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfplaylist.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,441 @@
+/**
+ * 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:
+ * The playlist class represents an instance of a playlist.
+ * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF)
+ * as mentioned in http://xspf.org/xspf-v1.html
+ *
+ */
+
+#include <smfplaylist.h>
+#include <smfplaylist_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfPlaylist::SmfPlaylist( )
+ {
+ d = new SmfPlaylistPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfPlaylist::SmfPlaylist( const SmfPlaylist &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfPlaylist& SmfPlaylist::operator=( const SmfPlaylist &aOther )
+ {
+ d->m_version = aOther.d->m_version;
+ d->m_title = aOther.d->m_title;
+ d->m_author = aOther.d->m_author;
+ d->m_comments = aOther.d->m_comments;
+ d->m_info = aOther.d->m_info;
+ d->m_location = aOther.d->m_location;
+ d->m_playlistId = aOther.d->m_playlistId;
+ d->m_image = aOther.d->m_image;
+ d->m_creationDate = aOther.d->m_creationDate;
+ d->m_license = aOther.d->m_license;
+ d->m_attribution = aOther.d->m_attribution;
+ d->m_metadata = aOther.d->m_metadata;
+ d->m_extension = aOther.d->m_extension;
+ d->m_trackList = aOther.d->m_trackList;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfPlaylist::~SmfPlaylist( )
+ {
+ }
+
+/**
+ * Method to get the version of the playlist
+ * @return The version of the playlist
+ */
+QString SmfPlaylist::version( ) const
+ {
+ return d->m_version;
+ }
+
+/**
+ * Method to get the playlist title
+ * @return The title of the playlist
+ */
+QString SmfPlaylist::playListTitle( ) const
+ {
+ return d->m_title;
+ }
+
+/**
+ * Method to get the author of the playlist
+ * @return The author of the playlist
+ */
+QString SmfPlaylist::author( ) const
+ {
+ return d->m_author;
+ }
+
+/**
+ * Method to get the comments on the playlist
+ * @return The comments on the playlist
+ */
+QList<SmfComment> SmfPlaylist::comments( ) const
+ {
+ return d->m_comments;
+ }
+
+/**
+ * Method to get the URI of a web page to find out more about this playlist
+ * @return The info Url
+ */
+QUrl SmfPlaylist::info( ) const
+ {
+ return d->m_info;
+ }
+
+/**
+ * Method to get the Source URI for this playlist
+ * @return The Source URI for this playlist
+ */
+QUrl SmfPlaylist::location( ) const
+ {
+ return d->m_location;
+ }
+
+/**
+ * Method to get the id of the playlist
+ * @return The ID value
+ */
+QString SmfPlaylist::id( ) const
+ {
+ return d->m_playlistId;
+ }
+
+/**
+ * Method to get the URI of an image to display in the absence
+ * of an image for playlist's tracks
+ * @return The deafult image Url
+ */
+QUrl SmfPlaylist::image( ) const
+ {
+ return d->m_image;
+ }
+
+/**
+ * Method to get the creation date of the playlist
+ * @return The date and time of creation of the playlist
+ */
+QDateTime SmfPlaylist::creationDate( ) const
+ {
+ return d->m_creationDate;
+ }
+
+/**
+ * Method to get the URI of a resource that describes the license
+ * under which this playlist was released
+ * @return The license Url
+ */
+QUrl SmfPlaylist::license( ) const
+ {
+ return d->m_license;
+ }
+
+/**
+ * Method to get the ordered list of URIs. The purpose is to satisfy
+ * licenses allowing modification but requiring attribution
+ * @return The list of license Urls
+ */
+QList<QUrl> SmfPlaylist::attribution( ) const
+ {
+ return d->m_attribution;
+ }
+
+/**
+ * Method to get the meta element that allows metadata fields to be added to XSPF
+ * @return The meta elements as a QVarintMap
+ */
+QVariantMap SmfPlaylist::metadata( ) const
+ {
+ return d->m_metadata;
+ }
+
+/**
+ * Method to get the extension element that allows non-XSPF XML
+ * to be included in XSPF documents
+ * @return The extension elements as a QVarintMap
+ */
+QVariantMap SmfPlaylist::extension( ) const
+ {
+ return d->m_extension;
+ }
+
+/**
+ * Method to get the list of tracks in the playlist
+ * @return The list of tracks in the playlist
+ */
+QList<SmfTrackInfo> SmfPlaylist::trackList( ) const
+ {
+ return d->m_trackList;
+ }
+
+/**
+ * Method to set the version of the playlist
+ * @param aVersion The version of the playlist
+ */
+void SmfPlaylist::setVersion( const QString& aVersion )
+ {
+ d->m_version = aVersion;
+ }
+
+/**
+ * Method to set the playlist title
+ * @param aTitle The title of the playlist
+ */
+void SmfPlaylist::setPlayListTitle( const QString &aTitle )
+ {
+ d->m_title = aTitle;
+ }
+
+/**
+ * Method to set the author of the playlist
+ * @param aAuthor The author of the playlist
+ */
+void SmfPlaylist::setAuthor( const QString& aAuthor )
+ {
+ d->m_author = aAuthor;
+ }
+
+/**
+ * Method to set the comments on the playlist
+ * @param aComments The comments on the playlist
+ */
+void SmfPlaylist::setComments( const QList<SmfComment>& aComments )
+ {
+ d->m_comments = aComments;
+ }
+
+/**
+ * Method to set the URI of a web page to find out more about this playlist
+ * @param aInfoUrl The info Url
+ */
+void SmfPlaylist::setInfo( const QUrl& aInfoUrl )
+ {
+ d->m_info = aInfoUrl;
+ }
+
+/**
+ * Method to set the Source URI for this playlist
+ * @param aLocation The Source URI for this playlist
+ */
+void SmfPlaylist::setLocation( const QUrl& aLocation )
+ {
+ d->m_location = aLocation;
+ }
+
+/**
+ * Method to set the id of the playlist
+ * @param aId The ID value
+ */
+void SmfPlaylist::setId( const QString &aId)
+ {
+ d->m_playlistId = aId;
+ }
+
+/**
+ * Method to set the URI of an image to display in the absence
+ * of an image for playlist's tracks
+ * @param aImage The default image Url
+ */
+void SmfPlaylist::setImage( const QUrl& aImage )
+ {
+ d->m_image = aImage;
+ }
+
+/**
+ * Method to set the creation date of the playlist
+ * @param aDate The date and time of creation of the playlist
+ */
+void SmfPlaylist::setCreationDate( const QDateTime& aDate )
+ {
+ d->m_creationDate = aDate;
+ }
+
+/**
+ * Method to set the URI of a resource that describes the license
+ * under which this playlist was released
+ * @param aLicense The license Url
+ */
+void SmfPlaylist::setLicense( const QUrl& aLicense )
+ {
+ d->m_license = aLicense;
+ }
+
+/**
+ * Method to set the ordered list of URIs. The purpose is to satisfy
+ * licenses allowing modification but requiring attribution
+ * @param aAttribution The list of license Urls
+ */
+void SmfPlaylist::setAttribution( const QList<QUrl>& aAttribution )
+ {
+ d->m_attribution = aAttribution;
+ }
+
+/**
+ * Method to set the meta element that allows metadata fields to be added to XSPF
+ * @param aMetaData The meta elements as a QVarintMap
+ */
+void SmfPlaylist::setMetadata( const QVariantMap& aMetaData )
+ {
+ d->m_metadata = aMetaData;
+ }
+
+/**
+ * Method to set the extension element that allows non-XSPF XML
+ * to be included in XSPF documents
+ * @param aExtension The extension elements as a QVarintMap
+ */
+void SmfPlaylist::setExtension( const QVariantMap& aExtension )
+ {
+ d->m_extension = aExtension;
+ }
+
+/**
+ * Method to set the list of tracks in the playlist
+ * @param aList The new list of tracks in the playlist
+ */
+void SmfPlaylist::setTrackList( const QList<SmfTrackInfo> &aList )
+ {
+ d->m_trackList = aList;
+ }
+
+/**
+ * Method for Externalization. Writes the SmfPlaylist object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPlaylist The SmfPlaylist object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfPlaylist &aPlaylist )
+ {
+ // Serialize d->m_version
+ aDataStream<<aPlaylist.d->m_version;
+
+ // Serialize d->m_title
+ aDataStream<<aPlaylist.d->m_title;
+
+ // Serialize d->m_author
+ aDataStream<<aPlaylist.d->m_author;
+
+ // Serialize d->m_comments
+ aDataStream<<aPlaylist.d->m_comments;
+
+ // Serialize d->m_info
+ aDataStream<<aPlaylist.d->m_info;
+
+ // Serialize d->m_location
+ aDataStream<<aPlaylist.d->m_location;
+
+ // Serialize d->m_playlistId
+ aDataStream<<aPlaylist.d->m_playlistId;
+
+ // Serialize d->m_image
+ aDataStream<<aPlaylist.d->m_image;
+
+ // Serialize d->m_creationDate
+ aDataStream<<aPlaylist.d->m_creationDate;
+
+ // Serialize d->m_license
+ aDataStream<<aPlaylist.d->m_license;
+
+ // Serialize d->m_attribution
+ aDataStream<<aPlaylist.d->m_attribution;
+
+ // Serialize d->m_metadata
+ aDataStream<<aPlaylist.d->m_metadata;
+
+ // Serialize d->m_extension
+ aDataStream<<aPlaylist.d->m_extension;
+
+ // Serialize d->m_trackList
+ aDataStream<<aPlaylist.d->m_trackList;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfPlaylist object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPlaylist The SmfPlaylist object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfPlaylist &aPlaylist)
+ {
+ // Deserialize d->m_version
+ aDataStream>>aPlaylist.d->m_version;
+
+ // Deserialize d->m_title
+ aDataStream>>aPlaylist.d->m_title;
+
+ // Deserialize d->m_author
+ aDataStream>>aPlaylist.d->m_author;
+
+ // Deserialize d->m_comments
+ aDataStream>>aPlaylist.d->m_comments;
+
+ // Deserialize d->m_info
+ aDataStream>>aPlaylist.d->m_info;
+
+ // Deserialize d->m_location
+ aDataStream>>aPlaylist.d->m_location;
+
+ // Deserialize d->m_playlistId
+ aDataStream>>aPlaylist.d->m_playlistId;
+
+ // Deserialize d->m_image
+ aDataStream>>aPlaylist.d->m_image;
+
+ // Deserialize d->m_creationDate
+ aDataStream>>aPlaylist.d->m_creationDate;
+
+ // Deserialize d->m_license
+ aDataStream>>aPlaylist.d->m_license;
+
+ // Deserialize d->m_attribution
+ aDataStream>>aPlaylist.d->m_attribution;
+
+ // Deserialize d->m_metadata
+ aDataStream>>aPlaylist.d->m_metadata;
+
+ // Deserialize d->m_extension
+ aDataStream>>aPlaylist.d->m_extension;
+
+ // Deserialize d->m_trackList
+ aDataStream>>aPlaylist.d->m_trackList;
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfplaylist.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,282 @@
+/**
+ * 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:
+ * The playlist class represents an instance of a playlist.
+ * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF)
+ * as mentioned in http://xspf.org/xspf-v1.html
+ *
+ */
+
+#ifndef SMFPLAYLIST_H_
+#define SMFPLAYLIST_H_
+
+#include <qdatastream.h>
+#include <QSharedData>
+#include <QMetaType>
+#include <QVariant>
+
+#include "smfclientglobal.h"
+#include "smftrackinfo.h"
+#include "smfcomment.h"
+
+class SmfPlaylistPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The playlist class represents an instance of a playlist.
+ * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF)
+ * as mentioned in http://xspf.org/xspf-v1.html
+ */
+class SMFCOMMON_EXPORT SmfPlaylist
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfPlaylist( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfPlaylist( const SmfPlaylist &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfPlaylist& operator=( const SmfPlaylist &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfPlaylist( );
+
+ /**
+ * Method to get the version of the playlist
+ * @return The version of the playlist
+ */
+ QString version( ) const;
+
+ /**
+ * Method to get the playlist title
+ * @return The title of the playlist
+ */
+ QString playListTitle( ) const;
+
+ /**
+ * Method to get the author of the playlist
+ * @return The author of the playlist
+ */
+ QString author( ) const;
+
+ /**
+ * Method to get the comments on the playlist
+ * @return The comments on the playlist
+ */
+ QList<SmfComment> comments( ) const;
+
+ /**
+ * Method to get the URI of a web page to find out more about this playlist
+ * @return The info Url
+ */
+ QUrl info( ) const;
+
+ /**
+ * Method to get the Source URI for this playlist
+ * @return The Source URI for this playlist
+ */
+ QUrl location( ) const;
+
+ /**
+ * Method to get the id of the playlist
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to get the URI of an image to display in the absence
+ * of an image for playlist's tracks
+ * @return The deafult image Url
+ */
+ QUrl image( ) const;
+
+ /**
+ * Method to get the creation date of the playlist
+ * @return The date and time of creation of the playlist
+ */
+ QDateTime creationDate( ) const;
+
+ /**
+ * Method to get the URI of a resource that describes the license
+ * under which this playlist was released
+ * @return The license Url
+ */
+ QUrl license( ) const;
+
+ /**
+ * Method to get the ordered list of URIs. The purpose is to satisfy
+ * licenses allowing modification but requiring attribution
+ * @return The list of license Urls
+ */
+ QList<QUrl> attribution( ) const;
+
+ /**
+ * Method to get the meta element that allows metadata fields to be added to XSPF
+ * @return The meta elements as a QVarintMap
+ */
+ QVariantMap metadata( ) const;
+
+ /**
+ * Method to get the extension element that allows non-XSPF XML
+ * to be included in XSPF documents
+ * @return The extension elements as a QVarintMap
+ */
+ QVariantMap extension( ) const;
+
+ /**
+ * Method to get the list of tracks in the playlist
+ * @return The list of tracks in the playlist
+ */
+ QList<SmfTrackInfo> trackList( ) const;
+
+ /**
+ * Method to set the version of the playlist
+ * @param aVersion The version of the playlist
+ */
+ void setVersion( const QString& aVersion );
+
+ /**
+ * Method to set the playlist title
+ * @param aTitle The title of the playlist
+ */
+ void setPlayListTitle( const QString &aTitle );
+
+ /**
+ * Method to set the author of the playlist
+ * @param aAuthor The author of the playlist
+ */
+ void setAuthor( const QString& aAuthor );
+
+ /**
+ * Method to set the comments on the playlist
+ * @param aComments The comments on the playlist
+ */
+ void setComments( const QList<SmfComment>& aComments );
+
+ /**
+ * Method to set the URI of a web page to find out more about this playlist
+ * @param aInfoUrl The info Url
+ */
+ void setInfo( const QUrl& aInfoUrl );
+
+ /**
+ * Method to set the Source URI for this playlist
+ * @param aLocation The Source URI for this playlist
+ */
+ void setLocation( const QUrl& aLocation );
+
+ /**
+ * Method to set the id of the playlist
+ * @param aId The ID value
+ */
+ void setId( const QString &aId);
+
+ /**
+ * Method to set the URI of an image to display in the absence
+ * of an image for playlist's tracks
+ * @param aImage The default image Url
+ */
+ void setImage( const QUrl& aImage );
+
+ /**
+ * Method to set the creation date of the playlist
+ * @param aDate The date and time of creation of the playlist
+ */
+ void setCreationDate( const QDateTime& aDate );
+
+ /**
+ * Method to set the URI of a resource that describes the license
+ * under which this playlist was released
+ * @param aLicense The license Url
+ */
+ void setLicense( const QUrl& aLicense );
+
+ /**
+ * Method to set the ordered list of URIs. The purpose is to satisfy
+ * licenses allowing modification but requiring attribution
+ * @param aAttribution The list of license Urls
+ */
+ void setAttribution( const QList<QUrl>& aAttribution );
+
+ /**
+ * Method to set the meta element that allows metadata fields to be added to XSPF
+ * @param aMetaData The meta elements as a QVarintMap
+ */
+ void setMetadata( const QVariantMap& aMetaData );
+
+ /**
+ * Method to set the extension element that allows non-XSPF XML
+ * to be included in XSPF documents
+ * @param aExtension The extension elements as a QVarintMap
+ */
+ void setExtension( const QVariantMap& aExtension );
+
+ /**
+ * Method to set the list of tracks in the playlist
+ * @param aList The new list of tracks in the playlist
+ */
+ void setTrackList( const QList<SmfTrackInfo> &aList );
+
+private:
+ QSharedDataPointer<SmfPlaylistPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfPlaylist &aPlaylist );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfPlaylist &aPlaylist );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfPlaylist object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPlaylist The SmfPlaylist object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfPlaylist &aPlaylist );
+
+/**
+ * Method for Internalization. Reads a SmfPlaylist object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPlaylist The SmfPlaylist object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfPlaylist &aPlaylist);
+
+typedef QList<SmfPlaylist> SmfPlaylistList;
+
+// Make the class SmfPlaylist known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfPlaylist)
+Q_DECLARE_METATYPE(QList<SmfPlaylist>)
+
+#endif /* SMFPLAYLIST_H_ */
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfplaylist_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,98 @@
+/**
+ * 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 class implemented for implicit sharing of SmfPlaylist class
+ *
+ */
+
+#ifndef SMFPLAYLIST_P_H_
+#define SMFPLAYLIST_P_H_
+
+#include <smftrackinfo.h>
+#include <QSharedData>
+
+class SmfPlaylistPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfPlaylistPrivate( ) {
+ m_version.clear();
+ m_title.clear();
+ m_author.clear();
+ m_comments.clear();
+ m_info.clear();
+ m_location.clear();
+ m_playlistId.clear();
+ m_image.clear();
+ m_license.clear();
+ m_attribution.clear();
+ m_trackList.clear();
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfPlaylistPrivate( const SmfPlaylistPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_version ( aOther.m_version ),
+ m_title ( aOther.m_title ),
+ m_author ( aOther.m_author ),
+ m_comments ( aOther.m_comments ),
+ m_info ( aOther.m_info ),
+ m_location ( aOther.m_location ),
+ m_playlistId ( aOther.m_playlistId ),
+ m_image ( aOther.m_image ),
+ m_creationDate ( aOther.m_creationDate ),
+ m_license ( aOther.m_license ),
+ m_attribution ( aOther.m_attribution ),
+ m_metadata ( aOther.m_metadata ),
+ m_extension ( aOther.m_extension ),
+ m_trackList ( aOther.m_trackList ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfPlaylistPrivate( )
+ {
+ }
+
+ /**
+ * Data members
+ */
+ QString m_version; // playlist version
+ QString m_title; // playlist title
+ QString m_author; // playlist creator
+ QList<SmfComment> m_comments; // comments about the playlist
+ QUrl m_info; // URI of a web page to find out more about this playlist
+ QUrl m_location; // The Source URI for this playlist
+ QString m_playlistId; // The playlist ID
+ QUrl m_image; // URI of an image to display in the absence of an
+ // image for playlist's tracks
+ QDateTime m_creationDate; // creation date of the playlist
+ QUrl m_license; // URI of a resource that describes the license under
+ // which this playlist was released
+ QList<QUrl> m_attribution; // An ordered list of URIs. The purpose is to satisfy licenses
+ // allowing modification but requiring attribution
+ QVariantMap m_metadata; // The meta element allows metadata fields to be added to XSPF
+ QVariantMap m_extension; // The extension element allows non-XSPF XML
+ // to be included in XSPF documents
+ QList<SmfTrackInfo> m_trackList;// list of tracks in the playlist
+
+};
+
+#endif /* SMFPLAYLIST_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpluginutil.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,158 @@
+/**
+ * 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:
+ * The Plugin util class provides the information required for the
+ * plugins from Smf framework
+ *
+ */
+
+#include <smfpluginutil.h>
+
+
+/**
+ * Constructor
+ */
+SmfPluginUtil::SmfPluginUtil ( )
+ {
+ m_jsonParser = new QJson::Parser;
+ }
+
+/**
+ * Destructor
+ */
+SmfPluginUtil::~SmfPluginUtil ( )
+ {
+ if(m_jsonParser)
+ delete m_jsonParser;
+ }
+
+
+/**
+* Read JSON string from the I/O Device and converts it to a QVariant object
+* @param io Input output device
+* @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
+* @returns a QVariant object generated from the JSON string
+*/
+QVariant SmfPluginUtil::parse ( QIODevice* io, bool* ok )
+ {
+ return m_jsonParser->parse(io, ok);
+ }
+
+/**
+* This is a method provided for convenience.
+* @param jsonData data containing the JSON object representation
+* @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
+* @returns a QVariant object generated from the JSON string
+* @sa errorString
+* @sa errorLine
+*/
+QVariant SmfPluginUtil::parse ( const QByteArray& jsonData, bool* ok )
+ {
+ return m_jsonParser->parse(jsonData, ok);
+ }
+
+/**
+* This method returns the error message tha ocuured during last parsing
+* @returns a QString object containing the error message of the last parse operation
+*/
+QString SmfPluginUtil::errorString ( ) const
+ {
+ return m_jsonParser->errorString();
+ }
+
+/**
+* This method returns line number where the last QJson parsing error occurred
+* @returns the line number where the error occurred
+ */
+int SmfPluginUtil::errorLine ( ) const
+ {
+ return m_jsonParser->errorLine();
+ }
+
+/**
+ * Method called by plugins to get the OAuth Keys.
+ * @param aKeys [out] The OAuth keys
+ * @param aRegToken The plugin's registration token
+ * @param aValidity The validity of the keys
+ * @param aPluginID The ID of the plugin that requests for
+ * the OAuth keys
+ */
+void SmfPluginUtil::getAuthKeys( SmfAuthParams &aKeys,
+ const QString aRegToken,
+ const QDateTime& aValidity,
+ const QString aPluginID )
+ {
+ aKeys.clear();
+
+ // Invalid arguments
+ if( (0 == aRegToken.size()) ||
+ (0 == aPluginID.size()) ||
+ (aValidity.isNull()) )
+ return;
+
+ // Call Credential manager function to get the keys passing the registration token and the plugin
+ SmfCredMgrClient csmClient;
+ csmClient.AuthDataSet(aRegToken,aValidity,aKeys);
+ }
+
+/**
+ * Method called by plugins to get the Nonce value
+ * @param aNonceString [out] The Nonce string
+ * @param aLength Lenth of the NONCE tobe generated
+ */
+void SmfPluginUtil::getNonce( QString &aNonceString, const qint64 aLength )
+ {
+ aNonceString.clear();
+
+ // Invalid argument
+ if(aLength < 0)
+ return;
+
+ // Call Credential manager function to get the nonce string
+ SmfCredMgrClient csmClient;
+ aNonceString = csmClient.GenerateNONCE(aLength);
+ }
+
+/**
+ * Method called by plugins to generate a parameters string required to
+ * access Protected Resources using OAuth authorization.
+ * @param aRequestUrl The request URL
+ * @param aOperation The type of http operation
+ * @param aToken The access token
+ * @param aTokenSecret The token secret
+ * @param aSignatureMethod The signature method to be used
+ * @param aParams A map of parameters to its values
+ * @param aMode The mode of creation of the request
+ * @return The cretd parameter string
+ */
+QByteArray SmfPluginUtil::createParameterString( const QString &aRequestUrl,
+ QNetworkAccessManager::Operation aOperation,
+ const QByteArray &aToken,
+ const QByteArray &aTokenSecret,
+ const SmfSignatureMethod aSignatureMethod,
+ const QMultiMap<QByteArray, QByteArray> &aParams,
+ const SmfParsingMode aMode)
+ {
+ Q_UNUSED(aRequestUrl)
+ Q_UNUSED(aOperation)
+ Q_UNUSED(aToken)
+ Q_UNUSED(aTokenSecret)
+ Q_UNUSED(aSignatureMethod)
+ Q_UNUSED(aParams)
+ Q_UNUSED(aMode)
+ return QByteArray();
+ //// Call Credential manager function to create and sign the parameter string
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpluginutil.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,134 @@
+/**
+ * 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:
+ * The Plugin util class provides the information required for the
+ * plugins from Smf framework
+ *
+ */
+
+#ifndef SMFPLUGINUTIL_H_
+#define SMFPLUGINUTIL_H_
+
+#include <QNetworkAccessManager>
+#include <QMap>
+#include <QVariant>
+#include <parser.h>
+#include <smfclientglobal.h>
+#include <smfcredmgrclient.h>
+
+enum SmfParsingMode
+ {
+ ParseForRequestContent, //Inline query format (foo=bar&bar=baz&baz=foo ...), suitable for POST requests.
+ ParseForInlineQuery, // Same as ParseForRequestContent, but prepends the string with a question mark -
+ // suitable for GET requests (appending parameters to the request URL)
+ ParseForHeaderArguments // HTTP request header format (parameters to be put inside a request header).
+ };
+
+/**
+ * The Plugin util class provides the information required for the
+ * plugins from Smf framework
+ */
+class SMFCOMMON_EXPORT SmfPluginUtil
+ {
+public:
+ /**
+ * Constructor
+ */
+ SmfPluginUtil();
+
+ /**
+ * Destructor
+ */
+ ~SmfPluginUtil ( );
+
+ /**
+ * Read JSON string from the I/O Device and converts it to a QVariant object
+ * @param io Input output device
+ * @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
+ * @returns a QVariant object generated from the JSON string
+ */
+ QVariant parse ( QIODevice* io, bool* ok = 0 );
+
+ /**
+ * This is a method provided for convenience.
+ * @param jsonData data containing the JSON object representation
+ * @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
+ * @returns a QVariant object generated from the JSON string
+ * @sa errorString
+ * @sa errorLine
+ */
+ QVariant parse ( const QByteArray& jsonData, bool* ok = 0 );
+
+ /**
+ * This method returns the error message tha ocuured during last parsing
+ * @returns a QString object containing the error message of the last parse operation
+ */
+ QString errorString ( ) const;
+
+ /**
+ * This method returns line number where the last QJson parsing error occurred
+ * @returns the line number where the error occurred
+ */
+ int errorLine ( ) const;
+
+ /**
+ * Method called by plugins to get the OAuth Keys.
+ * @param aKeys [out] The OAuth keys
+ * @param aRegToken The plugin's registration token
+ * @param aValidity The validity of the keys
+ * @param aPluginID The ID of the plugin that requests for
+ * the OAuth keys
+ */
+ void getAuthKeys( SmfAuthParams &aKeys,
+ const QString aRegToken,
+ const QDateTime& aValidity,
+ const QString aPluginID );
+
+ /**
+ * Method called by plugins to get the Nonce value
+ * @param aNonceString [out] The Nonce string
+ * @param aLength Lenth of the NONCE tobe generated
+ */
+ void getNonce( QString &aNonceString, const qint64 aLength );
+
+ /**
+ * Method called by plugins to generate a parameters string required to
+ * access Protected Resources using OAuth authorization.
+ * @param aRequestUrl The request URL
+ * @param aOperation The type of http operation
+ * @param aToken The access token
+ * @param aTokenSecret The token secret
+ * @param aSignatureMethod The signature method to be used
+ * @param aParams A map of parameters to its values
+ * @param aMode The mode of creation of the request
+ * @return The cretd parameter string
+ */
+ QByteArray createParameterString( const QString &aRequestUrl,
+ QNetworkAccessManager::Operation aOperation,
+ const QByteArray &aToken,
+ const QByteArray &aTokenSecret,
+ const SmfSignatureMethod aSignatureMethod,
+ const QMultiMap<QByteArray, QByteArray> &aParams,
+ const SmfParsingMode aMode);
+
+private:
+ /**
+ * The instance of QJson::Parser
+ */
+ QJson::Parser *m_jsonParser;
+
+ };
+
+#endif /* SMFPLUGINUTIL_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpost.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,250 @@
+/**
+* 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:
+* The post class represents an instance of a post to a SN site
+*
+*/
+
+#include "smfpost.h"
+#include "smfpost_p.h"
+
+/**
+ * Constructor with default argument
+ * @param text Text
+ */
+SmfPost::SmfPost( )
+ {
+ d = new SmfPostPrivate();
+ }
+
+/**
+ * Constructor
+ * @param aText The post's text
+ * @param aImage The post's image
+ * @param aUrl The post's url
+ */
+SmfPost::SmfPost( SmfContact aOwner,QString aTitle, QString aDesc, QImage aImage, QUrl aUrl )
+ {
+ d = new SmfPostPrivate(aOwner,aTitle, aDesc, aImage, aUrl);
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfPost::SmfPost( const SmfPost &aOther )
+: d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfPost& SmfPost::operator=( const SmfPost &aOther )
+ {
+ d->m_title = aOther.d->m_title;
+ d->m_desc = aOther.d->m_desc;
+ d->m_image = aOther.d->m_image;
+ d->m_url = aOther.d->m_url;
+ d->m_postId = aOther.d->m_postId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfPost::~SmfPost( )
+ {
+ }
+
+/**
+ * Returns the owner(who posted this message)
+ */
+SmfContact SmfPost::owner() const
+ {
+ return d->m_owner;
+ }
+
+/**
+ * Method to get the title of the post
+ * @return The post's title
+ */
+QString SmfPost::title( ) const
+ {
+ return d->m_title;
+ }
+
+/**
+ * Method to get the description of the post
+ * @return The post's description
+ */
+QString SmfPost::description( ) const
+ {
+ return d->m_desc;
+ }
+
+/**
+ * Method to get the image of the post
+ * @return The post's image
+ */
+QImage SmfPost::image( ) const
+ {
+ return d->m_image;
+ }
+
+/**
+ * Method to get the url of the post
+ * @return The post's url
+ */
+QUrl SmfPost::url( ) const
+ {
+ return d->m_url;
+ }
+
+/**
+ * Method to get the posted date and time of the post
+ * @return The post's date and time of posting
+ */
+QDateTime SmfPost::postedDateTime() const
+ {
+ return d->m_date;
+ }
+
+/**
+ * Method to get the id of the post
+ * @return The ID value
+ */
+QString SmfPost::id( ) const
+ {
+ return d->m_postId;
+ }
+
+/**
+ * sets the owner of the post
+ */
+void SmfPost::setOwner(const SmfContact& aOwner)
+ {
+ d->m_owner = aOwner;
+ }
+
+/**
+ * Method to set the title of the post
+ * @param aTitle The post's new title
+ */
+void SmfPost::setTitle( const QString &aTitle )
+ {
+ d->m_title = aTitle;
+ }
+
+/**
+ * Method to set the description of the post
+ * @param aDesc The post's new description
+ */
+void SmfPost::setDescription( const QString &aDesc )
+ {
+ d->m_desc = aDesc;
+ }
+
+/**
+ * Method to set the image of the post
+ * @param aPic The post's image
+ */
+void SmfPost::setImage( const QImage& aPic )
+ {
+ d->m_image = aPic;
+ }
+
+/**
+ * Method to set the url of the post
+ * @param aUrl The post's url
+ */
+void SmfPost::setUrl( QUrl& aUrl )
+ {
+ d->m_url = aUrl;
+ }
+
+/**
+ * Method to set the posted date and time of the post
+ * @param aDate The post's date and time of posting
+ */
+void SmfPost::setPostedDateTime( QDateTime &aDate )
+ {
+ d->m_date = aDate;
+ }
+
+/**
+ * Method to get the id of the post
+ */
+void SmfPost::setId(QString aPostId)
+ {
+ d->m_postId = aPostId;
+ }
+
+/**
+ * Method for Externalization. Writes the SmfPost object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPost The SmfPost object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfPost &aPost )
+ {
+ aDataStream<<aPost.owner();
+ aDataStream<<aPost.title();
+ aDataStream<<aPost.description();
+ aDataStream<<aPost.image();
+ aDataStream<<aPost.url();
+ aDataStream<<aPost.id();
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfPost object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPost The SmfPost object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfPost &aPost)
+ {
+ SmfContact owner;
+ aDataStream>>owner;
+ aPost.setOwner(owner);
+ QString title;
+ aDataStream>>title;
+ aPost.setTitle(title);
+
+ QString desc;
+ aDataStream>>desc;
+ aPost.setDescription(desc);
+
+ QImage img;
+ aDataStream>>img;
+ aPost.setImage(img);
+
+ QUrl url;
+ aDataStream>>url;
+ aPost.setUrl(url);
+
+ QString id;
+ aDataStream>>id;
+ aPost.setId(id);
+
+ return aDataStream;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpost.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,207 @@
+/**
+ * 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:
+ * The post class represents an instance of a post to a SN site
+ *
+ */
+
+#ifndef SMFPOST_H_
+#define SMFPOST_H_
+
+#include <QImage>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QMetaType>
+#include <QSharedData>
+#include <QTextDocument>
+#include <smfclientglobal.h>
+
+#include "smfpost_p.h"
+const int MaxSmfPostSize=1000;
+/**
+ * Presence info of the user
+ */
+enum SmfAppearenceInfo
+ {
+ EAppearanceNotSupported,
+ EOnline,
+ EOffline,
+ EBusy,
+ EDoNotDisturb,
+ EAppearOffline,
+ EOther
+ };
+//To sort out conflict betwn client and PM, later should be removed
+typedef SmfAppearenceInfo SmfPresenceInfo;
+/**
+ * @ingroup smf_common_group
+ * The post class represents an instance of a post to a SN site
+ */
+class SMFCOMMON_EXPORT SmfPost //: public QTextDocument
+ {
+public:
+ /**
+ * Constructor with default argument
+ * @param text Text
+ */
+ SmfPost( );
+
+ /**
+ * Constructor
+ * @param aOwner Owner of the post(who posted this message) of type SmfContact
+ * @param aText The post's text
+ * @param aImage The post's image
+ * @param aUrl The post's url
+ */
+ SmfPost(SmfContact aOwner, QString aTitle, QString aDesc, QImage aImage, QUrl aUrl );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfPost( const SmfPost &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+ SmfPost& operator=( const SmfPost &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfPost( );
+
+ /**
+ * Returns the owner(who posted this message)
+ */
+ SmfContact owner() const;
+
+ /**
+ * Method to get the title of the post
+ * @return The post's title
+ */
+ QString title( ) const;
+
+ /**
+ * Method to get the description of the post
+ * @return The post's description
+ */
+ QString description( ) const;
+
+ /**
+ * Method to get the image of the post
+ * @return The post's image
+ */
+ QImage image( ) const;
+
+ /**
+ * Method to get the url of the post
+ * @return The post's url
+ */
+ QUrl url( ) const;
+
+ /**
+ * Method to get the posted date and time of the post
+ * @return The post's date and time of posting
+ */
+ QDateTime postedDateTime() const;
+
+ /**
+ * Method to get the id of the post
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * sets the owner of the post
+ */
+ void setOwner(const SmfContact& aOwner);
+
+ /**
+ * Method to set the title of the post
+ * @param aTitle The post's new title
+ */
+ void setTitle( const QString &aTitle );
+
+ /**
+ * Method to set the description of the post
+ * @param aDesc The post's new description
+ */
+ void setDescription( const QString &aDesc );
+
+ /**
+ * Method to set the image of the post
+ * @param aPic The post's image
+ */
+ void setImage( const QImage& aPic );
+
+ /**
+ * Method to set the url of the post
+ * @param aUrl The post's url
+ */
+ void setUrl( QUrl& aUrl );
+
+ /**
+ * Method to set the posted date and time of the post
+ * @param aDate The post's date and time of posting
+ */
+ void setPostedDateTime( QDateTime &aDate );
+
+ /**
+ * Method to get the id of the post
+ */
+ void setId(QString aPostId);
+
+private:
+ QSharedDataPointer<SmfPostPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfPost &aPost );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfPost &aPost );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfPost object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aPost The SmfPost object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfPost &aPost );
+
+/**
+ * Method for Internalization. Reads a SmfPost object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aPost The SmfPost object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfPost &aPost);
+
+typedef QList<SmfPost> SmfPostList;
+
+// Make the class SmfPost known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfPost)
+Q_DECLARE_METATYPE(SmfPostList)
+
+#endif /* SMFPOST_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfpost_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,76 @@
+/**
+ * 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 class implemented for implicit sharing of SmfPost class
+ *
+ */
+
+#ifndef SMFPOST_P_H_
+#define SMFPOST_P_H_
+
+#include <QSharedData>
+#include "smfcontact.h"
+class SmfPostPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfPostPrivate( ) { m_title.clear(); m_desc.clear(); m_url.clear(); m_postId.clear(); }
+
+ /**
+ * Constructor
+ */
+ SmfPostPrivate(SmfContact aOwner, QString aTitle, QString aDesc, QImage aImage, QUrl aUrl )
+ {
+ m_owner = aOwner;
+ m_title = aTitle;
+ m_desc = aDesc;
+ m_image = aImage;
+ m_url = aUrl;
+ m_postId.clear();
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfPostPrivate( const SmfPostPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_title ( aOther.m_title ),
+ m_desc ( aOther.m_desc ),
+ m_image ( aOther.m_image ),
+ m_url ( aOther.m_url ),
+ m_date ( aOther.m_date ),
+ m_postId ( aOther.m_postId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfPostPrivate( )
+ {
+ }
+
+ SmfContact m_owner; //owner of the post(who posted this message)
+ QString m_title; // title
+ QString m_desc; // description
+ QImage m_image; // image
+ QUrl m_url; // url
+ QDateTime m_date; // posted date
+ QString m_postId; // post's unique Id
+
+};
+
+#endif /* SMFPOST_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfprovider.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,203 @@
+/**
+ * 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:
+ * Interface for a base service provider
+ *
+ */
+
+#include "smfprovider.h"
+
+/**
+ * Constructor
+ */
+SmfProvider::SmfProvider()
+ {
+
+ }
+
+/**
+ * Destructor
+ */
+SmfProvider::~SmfProvider()
+ {
+
+ }
+
+/**
+ * Localizable name of the service
+ * @return service name
+ */
+QString SmfProvider::serviceName() const
+ {
+ return m_serviceName;
+ }
+
+/**
+ * Logo of the service
+ * @return logo image of the service
+ */
+QImage SmfProvider::serviceIcon() const
+ {
+ return m_serviceIcon;
+ }
+
+/**
+ * Readable service description
+ * @return service description
+ */
+QString SmfProvider::description() const
+ {
+ return m_description;
+ }
+
+/*
+ * Website of the service
+ * @return service url
+ */
+QUrl SmfProvider::serviceUrl() const
+ {
+ return m_serviceUrl;
+ }
+
+/**
+ * URL of the application providing this service
+ * @return application url
+ */
+QUrl SmfProvider::applicationUrl() const
+ {
+ return m_appUrl;
+ }
+
+/**
+ * List of interfaces that this provider support
+ * @return List of supported interface names
+ */
+QList<QString> SmfProvider::supportedInterfaces() const
+ {
+ return m_serviceTypes;
+ }
+
+/**
+* List of languages supported by this service provider
+* @return a QStringList of languages supported by this service
+* provider in 2 letter ISO 639-1 format.
+*/
+QStringList SmfProvider::supportedLanguages() const
+ {
+ return m_supportedLanguages;
+ }
+
+/**
+ * Sets Localizable name of the service
+ * @param name service name
+ */
+void SmfProvider::setServiceName(QString& name)
+ {
+ m_serviceName = name;
+ }
+
+/**
+ * Sets Logo of the service
+ * @param image service icon
+ */
+void SmfProvider::setServiceIcon(QImage& image)
+ {
+ m_serviceIcon = image;
+ }
+
+/**
+ * Sets Readable service description
+ * @param desc description text
+ */
+void SmfProvider::setDescription(QString& desc)
+ {
+ m_description = desc;
+ }
+
+/*
+ * Sets Website of the service
+ * @param name service url
+ */
+void SmfProvider::setServiceUrl(QUrl& url)
+ {
+ m_serviceUrl = url;
+ }
+
+/**
+ * Sets URL of the application providing this service
+ * @param url application url
+ */
+void SmfProvider::setApplicationUrl(QUrl& url)
+ {
+ m_appUrl = url;
+ }
+
+/**
+ * Sets list of interfaces that this provider supports
+ * @param types List of supported interface names
+ */
+void SmfProvider::setSupportedInterfaces( QStringList& types)
+ {
+ m_serviceTypes = types;
+ }
+
+
+/**
+* Sets the list of languages supported by this service provider
+* @param lang A QStringList of languages supported by this service
+* provider in 2 letter ISO 639-1 format.
+*/
+void SmfProvider::setSupportedLanguages( QStringList& lang )
+ {
+ m_supportedLanguages = lang;
+ }
+
+/**
+ * Method for Externalization. Writes the SmfProvider object to
+ * the stream and returns a reference to the stream.
+ * @param out Stream to be written
+ * @param base The SmfProvider object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<(QDataStream& out, const SmfProvider& base)
+ {
+ out<<base.m_serviceName;
+ out<<base.m_serviceIcon;
+ out<<base.m_description;
+ out<<base.m_serviceUrl;
+ out<<base.m_appUrl;
+ out<<base.m_serviceTypes;
+ out<<base.m_supportedLanguages;
+ return out;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfProvider object from
+ * the stream and returns a reference to the stream.
+ * @param in Stream to be read
+ * @param base The SmfProvider object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>(QDataStream& in, SmfProvider& base)
+ {
+ in>>base.m_serviceName;
+ in>>base.m_serviceIcon;
+ in>>base.m_description;
+ in>>base.m_serviceUrl;
+ in>>base.m_appUrl;
+ in>>base.m_serviceTypes;
+ in>>base.m_supportedLanguages;
+ return in;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfprovider.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,178 @@
+/**
+ * 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:
+ * Interface for a base service provider
+ *
+ */
+
+#ifndef SMFPROVIDER_H
+#define SMFPROVIDER_H
+
+#include <QObject>
+#include <QImage>
+#include <QUrl>
+#include <QStringList>
+#include <QMetaType>
+
+#include "smfclientglobal.h"
+
+/**
+ * @ingroup smf_client_group
+ * Interface for a base service provider. Other service provider classes contains
+ * implementation of this base class so that each has access to service provider
+ * information.
+ * All of the functionality described here should be implemented by a service
+ * specific plug-in object.
+ */
+class SMFCOMMON_EXPORT SmfProvider
+ {
+
+public:
+ /**
+ * Constructor
+ */
+ SmfProvider();
+ /**
+ * Destructor
+ */
+ ~SmfProvider();
+
+public:
+ /**
+ * Localizable name of the service
+ * @return service name
+ */
+ QString serviceName() const;
+
+ /**
+ * Logo of the service
+ * @return logo image of the service
+ */
+ QImage serviceIcon() const;
+
+ /**
+ * Readable service description
+ * @return service description
+ */
+ QString description() const;
+
+ /*
+ * Website of the service
+ * @return service url
+ */
+ QUrl serviceUrl() const;
+
+ /**
+ * URL of the application providing this service
+ * @return application url
+ */
+ QUrl applicationUrl() const;
+
+ /**
+ * List of interfaces that this provider support
+ * @return List of supported interface names
+ */
+ QList<QString> supportedInterfaces() const;
+
+ /**
+ * List of languages supported by this service provider
+ * @return a QStringList of languages supported by this service
+ * provider in 2 letter ISO 639-1 format.
+ */
+ QStringList supportedLanguages() const;
+
+ /**
+ * Sets Localizable name of the service
+ * @param name service name
+ */
+ void setServiceName(QString& name);
+
+ /**
+ * Sets Logo of the service
+ * @param image service icon
+ */
+ void setServiceIcon(QImage& image) ;
+
+ /**
+ * Sets Readable service description
+ * @param desc description text
+ */
+ void setDescription(QString& desc) ;
+
+ /*
+ * Sets Website of the service
+ * @param name service url
+ */
+ void setServiceUrl(QUrl& url) ;
+
+ /**
+ * Sets URL of the application providing this service
+ * @param url application url
+ */
+ void setApplicationUrl(QUrl& url) ;
+
+ /**
+ * Sets list of interfaces that this provider supports
+ * @param types List of supported interface names
+ */
+ void setSupportedInterfaces( QStringList& types);
+
+ /**
+ * Sets the list of languages supported by this service provider
+ * @param lang A QStringList of languages supported by this service
+ * provider in 2 letter ISO 639-1 format.
+ */
+ void setSupportedLanguages( QStringList& lang );
+
+private:
+ QString m_serviceName;
+ QImage m_serviceIcon;
+ QString m_description;
+ QUrl m_serviceUrl;
+ QUrl m_appUrl;
+ QStringList m_serviceTypes;
+ QStringList m_supportedLanguages;
+
+ friend QDataStream &operator<<(QDataStream &, const SmfProvider&);
+ friend QDataStream &operator>>(QDataStream &, SmfProvider&);
+ };
+
+/**
+ * Method for Externalization. Writes the SmfProvider object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aProvider The SmfProvider object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream& operator<<(QDataStream &aDataStream,
+ const SmfProvider &aProvider);
+
+/**
+ * Method for Internalization. Reads a SmfProvider object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aProvider The SmfProvider object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream& operator>>(QDataStream &aDataStream,
+ SmfProvider &aProvider);
+
+typedef QList<SmfProvider> SmfProviderList;
+
+// Make the class SmfProvider known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfProvider)
+Q_DECLARE_METATYPE(QList<SmfProvider>)
+
+#endif // SMFPROVIDER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfsubtitle.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,233 @@
+/**
+ * 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:
+ * The subtitle class represents information about a track's subtitle
+ *
+ */
+
+#include <smfsubtitle.h>
+#include <smfsubtitle_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfSubtitle::SmfSubtitle( )
+ {
+ d = new SmfSubtitlePrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfSubtitle::SmfSubtitle( const SmfSubtitle &aOther )
+ :d(aOther.d)
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfSubtitle& SmfSubtitle::operator=( const SmfSubtitle &aOther )
+ {
+ d->m_subtitle = aOther.d->m_subtitle;
+ d->m_language = aOther.d->m_language;
+ d->m_frameRate = aOther.d->m_frameRate;
+ d->m_duration = aOther.d->m_duration;
+ d->m_releaseYr = aOther.d->m_releaseYr;
+ d->m_subtitleId = aOther.d->m_subtitleId;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfSubtitle::~SmfSubtitle( )
+ {
+ }
+
+/**
+ * Method to get the subtitle as a bytearray
+ * @return The subtitle content
+ */
+QByteArray SmfSubtitle::subtitle( ) const
+ {
+ return d->m_subtitle;
+ }
+
+/**
+ * Method to get the language
+ * @return The language
+ */
+QString SmfSubtitle::language( ) const
+ {
+ return d->m_language;
+ }
+
+/**
+ * Method to get the frame rate
+ * @return the frame rate
+ */
+double SmfSubtitle::frameRate( ) const
+ {
+ return d->m_frameRate;
+ }
+
+/**
+ * Method to get the duration
+ * @return the duration
+ */
+double SmfSubtitle::duration( ) const
+ {
+ return d->m_duration;
+ }
+
+/**
+ * Method to get the release year
+ * @return The release year
+ */
+QDateTime SmfSubtitle::releaseYear( ) const
+ {
+ return d->m_releaseYr;
+ }
+
+/**
+ * Method to get the id of the subtitle
+ * @return The ID value
+ */
+QString SmfSubtitle::id( ) const
+ {
+ return d->m_subtitleId;
+ }
+
+/**
+ * Method to set the subtitle as a bytearray
+ * @param aSubtitle The subtitle content
+ */
+void SmfSubtitle::setSubtitle( const QByteArray &aSubtitle )
+ {
+ d->m_subtitle = aSubtitle;
+ }
+
+/**
+ * Method to set the language
+ * @param aLang The language
+ */
+void SmfSubtitle::setLanguage( const QString &aLang )
+ {
+ d->m_language = aLang;
+ }
+
+/**
+ * Method to set the frame rate
+ * @param aFramerate the frame rate
+ */
+void SmfSubtitle::setFrameRate( const double &aFramerate )
+ {
+ d->m_frameRate = aFramerate;
+ }
+
+/**
+ * Method to set the duration
+ * @param aDuration the duration
+ */
+void SmfSubtitle::setDuration( const double &aDuration )
+ {
+ d->m_duration = aDuration;
+ }
+
+/**
+ * Method to set the release year
+ * @param aRelYear The release year
+ */
+void SmfSubtitle::setReleaseYear( const QDateTime &aRelYear )
+ {
+ d->m_releaseYr = aRelYear;
+ }
+
+/**
+ * Method to set the id of the subtitle
+ * @param aId The ID value
+ */
+void SmfSubtitle::setId( const QString &aId )
+ {
+ d->m_subtitleId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfSubtitle object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aSubtitle The SmfSubtitle object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfSubtitle &aSubtitle )
+ {
+ // Serialize m_subtitle
+ aDataStream<<aSubtitle.d->m_subtitle;
+
+ // Serialize m_language
+ aDataStream<<aSubtitle.d->m_language;
+
+ // Serialize m_frameRate
+ aDataStream<<aSubtitle.d->m_frameRate;
+
+ // Serialize m_duration
+ aDataStream<<aSubtitle.d->m_duration;
+
+ // Serialize m_releaseYr
+ aDataStream<<aSubtitle.d->m_releaseYr;
+
+ // Serialize m_subtitleId
+ aDataStream<<aSubtitle.d->m_subtitleId;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfSubtitle object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aSubtitle The SmfSubtitle object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfSubtitle &aSubtitle)
+ {
+ // Deserialize m_subtitle
+ aDataStream>>aSubtitle.d->m_subtitle;
+
+ // Deserialize m_language
+ aDataStream>>aSubtitle.d->m_language;
+
+ // Deserialize m_frameRate
+ aDataStream>>aSubtitle.d->m_frameRate;
+
+ // Deserialize m_duration
+ aDataStream>>aSubtitle.d->m_duration;
+
+ // Deserialize m_releaseYr
+ aDataStream>>aSubtitle.d->m_releaseYr;
+
+ // Deserialize m_subtitleId
+ aDataStream>>aSubtitle.d->m_subtitleId;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfsubtitle.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,181 @@
+/**
+ * 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:
+ * The subtitle class represents information about a track's subtitle
+ *
+ */
+
+#ifndef SMFSUBTITLE_H_
+#define SMFSUBTITLE_H_
+
+#include <qdatastream.h>
+#include <QDateTime>
+#include <QSharedData>
+#include "smfclientglobal.h"
+#include <QMetaType>
+
+enum SmfSubtitleSearchFilter
+ {
+ SubtitleLanguage = 0,
+ SubtitleFrameRate, // value = 1
+ SubtitleDuration, // value = 2
+ SubtitleReleaseYear, // value = 3
+ SubtitleAll = SubtitleLanguage | SubtitleFrameRate |
+ SubtitleDuration | SubtitleReleaseYear
+ };
+
+class SmfSubtitlePrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The subtitle class represents information about a track's subtitle
+ */
+class SMFCOMMON_EXPORT SmfSubtitle
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfSubtitle( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfSubtitle( const SmfSubtitle &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfSubtitle& operator=( const SmfSubtitle &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfSubtitle( );
+
+ /**
+ * Method to get the subtitle as a bytearray
+ * @return The subtitle content
+ */
+ QByteArray subtitle( ) const;
+
+ /**
+ * Method to get the language
+ * @return The language
+ */
+ QString language( ) const;
+
+ /**
+ * Method to get the frame rate
+ * @return the frame rate
+ */
+ double frameRate( ) const;
+
+ /**
+ * Method to get the duration
+ * @return the duration
+ */
+ double duration( ) const;
+
+ /**
+ * Method to get the release year
+ * @return The release year
+ */
+ QDateTime releaseYear( ) const;
+
+ /**
+ * Method to get the id of the subtitle
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the subtitle as a bytearray
+ * @param aSubtitle The subtitle content
+ */
+ void setSubtitle( const QByteArray &aSubtitle );
+
+ /**
+ * Method to set the language
+ * @param aLang The language
+ */
+ void setLanguage( const QString &aLang );
+
+ /**
+ * Method to set the frame rate
+ * @param aFramerate the frame rate
+ */
+ void setFrameRate( const double &aFramerate );
+
+ /**
+ * Method to set the duration
+ * @param aDuration the duration
+ */
+ void setDuration( const double &aDuration );
+
+ /**
+ * Method to set the release year
+ * @param aRelYear The release year
+ */
+ void setReleaseYear( const QDateTime &aRelYear );
+
+ /**
+ * Method to set the id of the subtitle
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfSubtitlePrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfSubtitle &aSubtitle );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfSubtitle &aSubtitle );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfSubtitle object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aSubtitle The SmfSubtitle object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfSubtitle &aSubtitle );
+
+/**
+ * Method for Internalization. Reads a SmfSubtitle object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aSubtitle The SmfSubtitle object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfSubtitle &aSubtitle);
+
+
+typedef QList<SmfSubtitle> SmfSubtitleList;
+
+// Make the class SmfSubtitle known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfSubtitle)
+Q_DECLARE_METATYPE(QList<SmfSubtitle>)
+
+#endif /* SMFSUBTITLE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfsubtitle_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,68 @@
+/**
+ * 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 class implemented for implicit sharing of SmfSubtitle class
+ *
+ */
+
+#ifndef SMFSUBTITLE_P_H_
+#define SMFSUBTITLE_P_H_
+
+#include <QDateTime>
+#include <QSharedData>
+
+class SmfSubtitlePrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfSubtitlePrivate( ) {
+ m_language.clear();
+ m_frameRate = 0;
+ m_duration = 0;
+ m_subtitleId.clear();
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfSubtitlePrivate( const SmfSubtitlePrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_subtitle ( aOther.m_subtitle ),
+ m_language ( aOther.m_language ),
+ m_frameRate ( aOther.m_frameRate ),
+ m_duration ( aOther.m_duration ),
+ m_releaseYr ( aOther.m_releaseYr ),
+ m_subtitleId ( aOther.m_subtitleId ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfSubtitlePrivate( )
+ {
+ }
+
+ QByteArray m_subtitle; // subtitle data
+ QString m_language; // language
+ double m_frameRate; // frame rate
+ double m_duration; // duration
+ QDateTime m_releaseYr; // release year
+ QString m_subtitleId; // subtitle id
+
+};
+
+#endif /* SMFSUBTITLE_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smftrackinfo.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,333 @@
+/**
+ * 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:
+ * The track info class represents information about a music track
+ *
+ */
+
+#include <smftrackinfo.h>
+#include <smftrackinfo_p.h>
+
+/**
+ * Constructor with default argument
+ */
+SmfTrackInfo::SmfTrackInfo( )
+ {
+ d = new SmfTrackInfoPrivate( );
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfTrackInfo::SmfTrackInfo( const SmfTrackInfo &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfTrackInfo& SmfTrackInfo::operator=( const SmfTrackInfo &aOther )
+ {
+ d->m_trackId = aOther.d->m_trackId;
+ d->m_title = aOther.d->m_title;
+ d->m_album = aOther.d->m_album;
+ d->m_artists = aOther.d->m_artists;
+ d->m_genre = aOther.d->m_genre;
+ d->m_tags = aOther.d->m_tags;
+ d->m_year = aOther.d->m_year;
+ d->m_rating = aOther.d->m_rating;
+ d->m_comments = aOther.d->m_comments;
+ d->m_duration = aOther.d->m_duration;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfTrackInfo::~SmfTrackInfo( )
+ {
+ }
+
+/**
+ * Method to get the track title
+ * @return The title of the track
+ */
+QString SmfTrackInfo::title( ) const
+ {
+ return d->m_title;
+ }
+
+/**
+ * Method to get the track album
+ * @return The album of the track
+ */
+SmfAlbum SmfTrackInfo::album( ) const
+ {
+ return d->m_album;
+ }
+
+/**
+ * Method to get the track's artists
+ * @return The artists of the track
+ */
+SmfArtists SmfTrackInfo::artists( ) const
+ {
+ return d->m_artists;
+ }
+
+/**
+ * Method to get the genre of the track
+ * @return The genre of the track
+ */
+QString SmfTrackInfo::genre( ) const
+ {
+ return d->m_genre;
+ }
+
+/**
+ * Method to get the track's tag
+ * @return The tag of the track
+ */
+QStringList SmfTrackInfo::tags( ) const
+ {
+ return d->m_tags;
+ }
+
+/**
+ * Method to get the release year of the track
+ * @return The release year of the track
+ */
+QDateTime SmfTrackInfo::year( ) const
+ {
+ return d->m_year;
+ }
+
+/**
+ * Method to get the track's rating
+ * @return The rating of the track
+ */
+SmfMusicRating SmfTrackInfo::rating( ) const
+ {
+ return d->m_rating;
+ }
+
+/**
+ * Method to get the comments on the track
+ * @return The comments on the track
+ */
+QList<SmfComment> SmfTrackInfo::comments( ) const
+ {
+ return d->m_comments;
+ }
+
+/**
+ * Method to get the track's duration
+ * @return The duration of the track
+ */
+QTime SmfTrackInfo::duration( ) const
+ {
+ return d->m_duration;
+ }
+
+/**
+ * Method to get the id of the track
+ * @return The ID value
+ */
+QString SmfTrackInfo::id( ) const
+ {
+ return d->m_trackId;
+ }
+
+/**
+ * Method to set the track title
+ * @param aTitle The new title of the track
+ */
+void SmfTrackInfo::setTitle( const QString &aTitle )
+ {
+ d->m_title = aTitle;
+ }
+
+/**
+ * Method to set the track album
+ * @param aAlbum The new album of the track
+ */
+void SmfTrackInfo::setAlbum( const SmfAlbum &aAlbum )
+ {
+ d->m_album = aAlbum;
+ }
+
+/**
+ * Method to set the track's artists
+ * @param aArtists The new artists of the track
+ */
+void SmfTrackInfo::setArtists( const SmfArtists &aArtists )
+ {
+ d->m_artists = aArtists;
+ }
+
+/**
+ * Method to set the genre of the track
+ * @param aGenre The new genre of the track
+ */
+void SmfTrackInfo::setGenre( const QString &aGenre )
+ {
+ d->m_genre = aGenre;
+ }
+
+/**
+ * Method to set the track's tag
+ * @param aTag The tag of the track
+ */
+void SmfTrackInfo::setTags( const QStringList &aTags )
+ {
+ d->m_tags = aTags;
+ }
+
+/**
+ * Method to set the release year of the track
+ * @param aYear The new release year of the track
+ */
+void SmfTrackInfo::setYear( const QDateTime &aYear )
+ {
+ d->m_year = aYear;
+ }
+
+/**
+ * Method to set the track's rating
+ * @param aRating The new rating of the track
+ */
+void SmfTrackInfo::setRating( const SmfMusicRating &aRating )
+ {
+ d->m_rating = aRating;
+ }
+
+/**
+ * Method to set the comments on the track
+ * @param aComment The new comment of the track
+ */
+void SmfTrackInfo::setComment( const QList<SmfComment> &aComments )
+ {
+ d->m_comments = aComments;
+ }
+
+/**
+ * Method to set the duration of the track
+ * @param aDuration The new duration of the track
+ */
+void SmfTrackInfo::setDuration( const QTime &aDuration )
+ {
+ d->m_duration = aDuration;
+ }
+
+/**
+ * Method to set the id of the track
+ * @param aId The ID value
+ */
+void SmfTrackInfo::setId( const QString &aId )
+ {
+ d->m_trackId = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfTrackInfo object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aTrackInfo The SmfTrackInfo object to be externalized
+ * @return reference to the written stream
+ */
+QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfTrackInfo &aTrackInfo )
+ {
+ // Serialize d->m_trackId
+ aDataStream<<aTrackInfo.d->m_trackId;
+
+ // Serialize d->m_title
+ aDataStream<<aTrackInfo.d->m_title;
+
+ // Serialize d->m_album
+ aDataStream<<aTrackInfo.d->m_album;
+
+ // Serialize d->m_artists
+ aDataStream<<aTrackInfo.d->m_artists;
+
+ // Serialize d->m_genre
+ aDataStream<<aTrackInfo.d->m_genre;
+
+ // Serialize d->m_tags
+ aDataStream<<aTrackInfo.d->m_tags;
+
+ // Serialize d->m_year
+ aDataStream<<aTrackInfo.d->m_year;
+
+ // Serialize d->m_rating
+ aDataStream<<aTrackInfo.d->m_rating;
+
+ // Serialize d->m_comments
+ aDataStream<<aTrackInfo.d->m_comments;
+
+ // Serialize d->m_duration
+ aDataStream<<aTrackInfo.d->m_duration;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfTrackInfo object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aTrackInfo The SmfTrackInfo object to be internalized
+ * @return reference to the stream
+ */
+ QDataStream &operator>>( QDataStream &aDataStream,
+ SmfTrackInfo &aTrackInfo)
+ {
+ // Deserialize d->m_trackId
+ aDataStream>>aTrackInfo.d->m_trackId;
+
+ // Deserialize d->m_title
+ aDataStream>>aTrackInfo.d->m_title;
+
+ // Deserialize d->m_album
+ aDataStream>>aTrackInfo.d->m_album;
+
+ // Deserialize d->m_artists
+ aDataStream>>aTrackInfo.d->m_artists;
+
+ // Deserialize d->m_genre
+ aDataStream>>aTrackInfo.d->m_genre;
+
+ // Deserialize d->m_tags
+ aDataStream>>aTrackInfo.d->m_tags;
+
+ // Deserialize d->m_year
+ aDataStream>>aTrackInfo.d->m_year;
+
+ // Deserialize d->m_rating
+ aDataStream>>aTrackInfo.d->m_rating;
+
+ // Deserialize d->m_comments
+ aDataStream>>aTrackInfo.d->m_comments;
+
+ // Deserialize d->m_duration
+ aDataStream>>aTrackInfo.d->m_duration;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smftrackinfo.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,224 @@
+/**
+ * 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:
+ * The track info class represents information about a music track
+ *
+ */
+
+#ifndef SMFTRACKINFO_H_
+#define SMFTRACKINFO_H_
+
+#include <QTime>
+#include <qdatastream.h>
+#include <smfmusicrating.h>
+#include <smfartists.h>
+#include "smfalbum.h"
+#include <smfcomment.h>
+#include <QStringList>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+
+class SmfTrackInfoPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The track info class represents information about a music track
+ */
+class SMFCOMMON_EXPORT SmfTrackInfo
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfTrackInfo( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfTrackInfo( const SmfTrackInfo &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfTrackInfo& operator=( const SmfTrackInfo &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfTrackInfo( );
+
+ /**
+ * Method to get the track title
+ * @return The title of the track
+ */
+ QString title( ) const;
+
+ /**
+ * Method to get the track album
+ * @return The album of the track
+ */
+ SmfAlbum album( ) const;
+
+ /**
+ * Method to get the track's artists
+ * @return The artists of the track
+ */
+ SmfArtists artists( ) const;
+
+ /**
+ * Method to get the genre of the track
+ * @return The genre of the track
+ */
+ QString genre( ) const;
+
+ /**
+ * Method to get the track's tag
+ * @return The tag of the track
+ */
+ QStringList tags( ) const;
+
+ /**
+ * Method to get the release year of the track
+ * @return The release year of the track
+ */
+ QDateTime year( ) const;
+
+ /**
+ * Method to get the track's rating
+ * @return The rating of the track
+ */
+ SmfMusicRating rating( ) const;
+
+ /**
+ * Method to get the comments on the track
+ * @return The comments on the track
+ */
+ QList<SmfComment> comments( ) const;
+
+ /**
+ * Method to get the track's duration
+ * @return The duration of the track
+ */
+ QTime duration( ) const;
+
+ /**
+ * Method to get the id of the track
+ * @return The ID value
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the track title
+ * @param aTitle The new title of the track
+ */
+ void setTitle( const QString &aTitle );
+
+ /**
+ * Method to set the track album
+ * @param aAlbum The new album of the track
+ */
+ void setAlbum( const SmfAlbum &aAlbum );
+
+ /**
+ * Method to set the track's artists
+ * @param aArtists The new artists of the track
+ */
+ void setArtists( const SmfArtists &aArtists );
+
+ /**
+ * Method to set the genre of the track
+ * @param aGenre The new genre of the track
+ */
+ void setGenre( const QString &aGenre );
+
+ /**
+ * Method to set the track's tag
+ * @param aTag The tag of the track
+ */
+ void setTags( const QStringList &aTags );
+
+ /**
+ * Method to set the release year of the track
+ * @param aYear The new release year of the track
+ */
+ void setYear( const QDateTime &aYear );
+
+ /**
+ * Method to set the track's rating
+ * @param aRating The new rating of the track
+ */
+ void setRating( const SmfMusicRating &aRating );
+
+ /**
+ * Method to set the comments on the track
+ * @param aComment The new comment of the track
+ */
+ void setComment( const QList<SmfComment> &aComments );
+
+ /**
+ * Method to set the duration of the track
+ * @param aDuration The new duration of the track
+ */
+ void setDuration( const QTime &aDuration );
+
+ /**
+ * Method to set the id of the track
+ * @param aId The ID value
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfTrackInfoPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfTrackInfo &aTrackInfo );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfTrackInfo &aTrackInfo );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfTrackInfo object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aTrackInfo The SmfTrackInfo object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfTrackInfo &aTrackInfo );
+
+/**
+ * Method for Internalization. Reads a SmfTrackInfo object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aTrackInfo The SmfTrackInfo object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfTrackInfo &aTrackInfo);
+
+
+typedef QList<SmfTrackInfo> SmfTrackInfoList;
+
+// Make the class SmfTrackInfo known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfTrackInfo)
+Q_DECLARE_METATYPE(QList<SmfTrackInfo>)
+
+#endif /* SMFTRACKINFO_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smftrackinfo_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,81 @@
+/**
+ * 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 class implemented for implicit sharing of SmfTrackInfo class
+ *
+ */
+
+#ifndef SMFTRACKINFO_P_H_
+#define SMFTRACKINFO_P_H_
+
+#include <QTime>
+#include <smfmusicrating.h>
+#include <smfcomment.h>
+#include <QStringList>
+#include <QSharedData>
+
+class SmfTrackInfoPrivate : public QSharedData
+{
+public:
+ /**
+ * Constructor
+ */
+ SmfTrackInfoPrivate( ) : m_rating( )
+ {
+ m_trackId.clear();
+ m_title.clear();
+ m_genre.clear();
+ m_tags.clear();
+ m_comments.clear();
+ }
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfTrackInfoPrivate( const SmfTrackInfoPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_trackId ( aOther.m_trackId ),
+ m_title ( aOther.m_title ),
+ m_album ( aOther.m_album ),
+ m_artists ( aOther.m_artists ),
+ m_genre ( aOther.m_genre ),
+ m_tags ( aOther.m_tags ),
+ m_year ( aOther.m_year ),
+ m_rating ( aOther.m_rating ),
+ m_comments ( aOther.m_comments ),
+ m_duration ( aOther.m_duration ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfTrackInfoPrivate( )
+ {
+ }
+
+ QString m_trackId; // track id
+ QString m_title; // title
+ SmfAlbum m_album; // album
+ SmfArtists m_artists; // artist name
+ QString m_genre; // genre information
+ QStringList m_tags; // tag information
+ QDateTime m_year; // release year
+ SmfMusicRating m_rating;// rating
+ QList<SmfComment> m_comments; // comments
+ QTime m_duration; // duration
+
+};
+
+#endif /* SMFTRACKINFO_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfurl.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,259 @@
+/**
+ * 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:
+ * The SmfUrl class represents an URL. This class has been constructed based on
+ * the link element of the The Atom Syndication Format
+ * (refer http://tools.ietf.org/html/rfc4287)
+ * For detailed description about atom link relations, refer
+ * "http://www.iana.org/assignments/link-relations/link-relations.xhtml"
+ *
+ */
+
+#include <QUrl>
+
+#include "smfurl.h"
+#include "smfurl_p.h"
+
+/**
+ * Constructor with default argument
+ */
+SmfUrl::SmfUrl( )
+ {
+ d = new SmfUrlPrivate;
+ }
+
+/**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+SmfUrl::SmfUrl( const SmfUrl &aOther )
+ : d( aOther.d )
+ {
+ }
+
+/**
+ * Overloaded = operator
+ * @param aOther The reference object
+ * @return The target reference value
+ */
+SmfUrl& SmfUrl::operator=( const SmfUrl &aOther )
+ {
+ d->m_id = aOther.d->m_id;
+ return *this;
+ }
+
+/**
+ * Destructor
+ */
+SmfUrl::~SmfUrl( )
+ {
+ }
+
+
+/**
+ * Method to get the href attribute of the link
+ * @return The href attribute of the link
+ */
+QUrl SmfUrl::href( ) const
+ {
+ return d->m_href;
+ }
+
+/**
+ * Method to get the rel attribute of the link
+ * @return The rel attribute of the link
+ */
+QString SmfUrl::rel( ) const
+ {
+ return d->m_rel;
+ }
+
+/**
+ * Method to get the type attribute of the link
+ * @return The type attribute of the link
+ */
+QString SmfUrl::type( ) const
+ {
+ return d->m_type;
+ }
+
+/**
+ * Method to get the hreflang attribute of the link
+ * @return The hreflang attribute of the link
+ */
+QString SmfUrl::hreflang( ) const
+ {
+ return d->m_hreflang;
+ }
+
+/**
+ * Method to get the title attribute of the link
+ * @return The title attribute of the link
+ */
+QString SmfUrl::title( ) const
+ {
+ return d->m_title;
+ }
+
+/**
+ * Method to get the length attribute of the link
+ * @return The length attribute of the link
+ */
+QString SmfUrl::length( ) const
+ {
+ return d->m_length;
+ }
+
+/**
+ * Method to get the id of the URL
+ * @return The ID of the URL
+ */
+QString SmfUrl::id( ) const
+ {
+ return d->m_id;
+ }
+
+/**
+ * Method to set the href attribute of the link
+ * @param aData The href attribute of the link
+ */
+void SmfUrl::setHref( const QUrl& aData )
+ {
+ d->m_href = aData;
+ }
+
+/**
+ * Method to set the rel attribute of the link
+ * @param aData The rel attribute of the link
+ */
+void SmfUrl::setRel( const QString &aData )
+ {
+ d->m_rel = aData;
+ }
+
+/**
+ * Method to set the type attribute of the link
+ * @param aData The type attribute of the link
+ */
+void SmfUrl::setType( const QString &aData )
+ {
+ d->m_type = aData;
+ }
+
+/**
+ * Method to set the hreflang attribute of the link
+ * @param aData The hreflang attribute of the link
+ */
+void SmfUrl::setHhreflang( const QString &aData )
+ {
+ d->m_hreflang = aData;
+ }
+
+/**
+ * Method to set the title attribute of the link
+ * @param aData The title attribute of the link
+ */
+void SmfUrl::setTitle( const QString &aData )
+ {
+ d->m_title = aData;
+ }
+
+/**
+ * Method to set the length attribute of the link
+ * @param aData The length attribute of the link
+ */
+void SmfUrl::setLength( const QString &aData )
+ {
+ d->m_length = aData;
+ }
+
+/**
+ * Method to set the id of the URL
+ * @param aId The ID of the URL
+ */
+void SmfUrl::setId( const QString &aId )
+ {
+ d->m_id = aId;
+ }
+
+
+/**
+ * Method for Externalization. Writes the SmfUrl object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aUrl The SmfUrl object to be externalized
+ * @return reference to the written stream
+ */
+ QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfUrl &aUrl )
+ {
+ // Serialize d->m_href
+ aDataStream<<aUrl.d->m_href;
+
+ // Serialize d->m_rel
+ aDataStream<<aUrl.d->m_rel;
+
+ // Serialize d->m_type
+ aDataStream<<aUrl.d->m_type;
+
+ // Serialize d->m_hreflang
+ aDataStream<<aUrl.d->m_hreflang;
+
+ // Serialize d->m_title
+ aDataStream<<aUrl.d->m_title;
+
+ // Serialize d->m_length
+ aDataStream<<aUrl.d->m_length;
+
+ // Serialize d->m_id
+ aDataStream<<aUrl.d->m_id;
+
+ return aDataStream;
+ }
+
+/**
+ * Method for Internalization. Reads a SmfUrl object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aUrl The SmfUrl object to be internalized
+ * @return reference to the stream
+ */
+QDataStream &operator>>( QDataStream &aDataStream,
+ SmfUrl &aUrl)
+ {
+ // Deserialize d->m_href
+ aDataStream>>aUrl.d->m_href;
+
+ // Deserialize d->m_rel
+ aDataStream>>aUrl.d->m_rel;
+
+ // Deserialize d->m_type
+ aDataStream>>aUrl.d->m_type;
+
+ // Deserialize d->m_hreflang
+ aDataStream>>aUrl.d->m_hreflang;
+
+ // Deserialize d->m_title
+ aDataStream>>aUrl.d->m_title;
+
+ // Deserialize d->m_length
+ aDataStream>>aUrl.d->m_length;
+
+ // Deserialize d->m_id
+ aDataStream>>aUrl.d->m_id;
+
+ return aDataStream;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfurl.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,190 @@
+/**
+ * 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:
+ * The SmfUrl class represents an URL. This class has been constructed based on
+ * the link element of the The Atom Syndication Format
+ * (refer http://tools.ietf.org/html/rfc4287).
+ * For detailed description about atom link relations, refer
+ * "http://www.iana.org/assignments/link-relations/link-relations.xhtml"
+ *
+ */
+
+#ifndef SMFURL_H_
+#define SMFURL_H_
+
+#include <qdatastream.h>
+#include <QSharedData>
+#include <smfclientglobal.h>
+#include <QMetaType>
+
+class SmfUrlPrivate;
+
+/**
+ * @ingroup smf_common_group
+ * The SmfUrl class represents an URL. This class has been constructed based on
+ * the link element of the The Atom Syndication Format
+ * (refer http://tools.ietf.org/html/rfc4287)
+ * For detailed description about atom link relations, refer
+ * "http://www.iana.org/assignments/link-relations/link-relations.xhtml"
+ */
+class SMFCOMMON_EXPORT SmfUrl
+ {
+public:
+ /**
+ * Constructor with default argument
+ */
+ SmfUrl( );
+
+ /**
+ * Copy Constructor
+ * @param aOther The reference object
+ */
+ SmfUrl( const SmfUrl &aOther );
+
+ /**
+ * Overloaded = operator
+ * @param aOther The reference object
+ */
+ SmfUrl& operator=( const SmfUrl &aOther );
+
+ /**
+ * Destructor
+ */
+ ~SmfUrl( );
+
+ /**
+ * Method to get the href attribute of the link
+ * @return The href attribute of the link
+ */
+ QUrl href( ) const;
+
+ /**
+ * Method to get the rel attribute of the link
+ * @return The rel attribute of the link
+ */
+ QString rel( ) const;
+
+ /**
+ * Method to get the type attribute of the link
+ * @return The type attribute of the link
+ */
+ QString type( ) const;
+
+ /**
+ * Method to get the hreflang attribute of the link
+ * @return The hreflang attribute of the link
+ */
+ QString hreflang( ) const;
+
+ /**
+ * Method to get the title attribute of the link
+ * @return The title attribute of the link
+ */
+ QString title( ) const;
+
+ /**
+ * Method to get the length attribute of the link
+ * @return The length attribute of the link
+ */
+ QString length( ) const;
+
+ /**
+ * Method to get the id of the URL
+ * @return The ID of the URL
+ */
+ QString id( ) const;
+
+ /**
+ * Method to set the href attribute of the link
+ * @param aData The href attribute of the link
+ */
+ void setHref( const QUrl& aData );
+
+ /**
+ * Method to set the rel attribute of the link
+ * @param aData The rel attribute of the link
+ */
+ void setRel( const QString &aData );
+
+ /**
+ * Method to set the type attribute of the link
+ * @param aData The type attribute of the link
+ */
+ void setType( const QString &aData );
+
+ /**
+ * Method to set the hreflang attribute of the link
+ * @param aData The hreflang attribute of the link
+ */
+ void setHhreflang( const QString &aData );
+
+ /**
+ * Method to set the title attribute of the link
+ * @param aData The title attribute of the link
+ */
+ void setTitle( const QString &aData );
+
+ /**
+ * Method to set the length attribute of the link
+ * @param aData The length attribute of the link
+ */
+ void setLength( const QString &aData );
+
+ /**
+ * Method to set the id of the URL
+ * @param aId The ID of the URL
+ */
+ void setId( const QString &aId );
+
+private:
+ QSharedDataPointer<SmfUrlPrivate> d;
+
+ friend QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfUrl &aUrl );
+
+ friend QDataStream &operator>>( QDataStream &aDataStream,
+ SmfUrl &aUrl );
+
+ };
+
+
+/**
+ * Method for Externalization. Writes the SmfUrl object to
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be written
+ * @param aUrl The SmfUrl object to be externalized
+ * @return reference to the written stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator<<( QDataStream &aDataStream,
+ const SmfUrl &aUrl );
+
+/**
+ * Method for Internalization. Reads a SmfUrl object from
+ * the stream and returns a reference to the stream.
+ * @param aDataStream Stream to be read
+ * @param aUrl The SmfUrl object to be internalized
+ * @return reference to the stream
+ */
+SMFCOMMON_EXPORT QDataStream &operator>>( QDataStream &aDataStream,
+ SmfUrl &aUrl);
+
+typedef QList<SmfUrl> SmfUrlList;
+
+// Make the class SmfUrl known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfUrl)
+Q_DECLARE_METATYPE(QList<SmfUrl>)
+
+#endif /* SMFURL_H_ */
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfcommon/smfurl_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,68 @@
+/**
+ * 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 class implemented for implicit sharing of SmfUrl class
+ *
+ */
+
+#ifndef SMFURL_P_H_
+#define SMFURL_P_H_
+
+#include <QSharedData>
+#include <QUrl>
+
+class SmfUrlPrivate : public QSharedData
+ {
+public:
+ /**
+ * Constructor
+ */
+ SmfUrlPrivate( ) {
+ m_id.clear();
+ }
+
+ /**
+ * Copy Consturctor
+ * @param aOther The reference object to be copy constructed
+ */
+ SmfUrlPrivate( const SmfUrlPrivate &aOther ) :
+ QSharedData ( aOther ),
+ m_id ( aOther.m_id ) { }
+
+ /**
+ * Destructor
+ */
+ ~SmfUrlPrivate( )
+ {
+ }
+
+ /**
+ * Data members
+ */
+ QUrl m_href; // The href attribute of an Atom link element, contains the link's IRI
+ QString m_rel; // The rel attribute that indicates the link relation type
+ QString m_type; // The type attribute. It is a hint about the type of the
+ // representation that is expected to be returned when the
+ // value of the href attribute is dereferenced
+ QString m_hreflang; // The hreflang attribute describes the language of the resource
+ // pointed to by the href attribute
+ QString m_title; // The title attribute conveys human-readable information about the link
+ QString m_length; // The length attribute indicates an advisory length
+ // of the linked content in octets
+ QString m_id; // The url ID
+
+ };
+
+#endif /* SMFURL_P_H_ */
--- a/smf/smfservermodule/smfserver/ABLD.BAT Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\CarbideWorkspace\smfserver_cleaned\smf\smfservermodule\smfserver\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/smf/smfservermodule/smfserver/bld.inf Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-// ============================================================================
-// * Makefile for building: smfserver
-// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-05-18T15:52:55
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project: smfserver.pro
-// * Template: app
-// ============================================================================
-
-#define BLD_INF_SMFSERVER_F941367E
-
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-gnumakefile Makefile_0xE5027327.mk
-smfserver_0xE5027327.mmp
-
-prj_extensions
-
-
-
-prj_exports
-
-smfplugins/smfpluginbase.h
-smfplugins/smfproviderbase.h
-smfplugins/smfcontactfetcherplugin.h
-smfplugins/smfpostproviderplugin.h
-smfplugins/smflyricsserviceplugin.h
-smfplugins/smfmusiceventsplugin.h
-smfplugins/smfmusicsearchplugin.h
-smfplugins/smfmusicserviceplugin.h
-smfplugins/smfplaylistserviceplugin.h
-smfplugins/smfgalleryplugin.h
--- a/smf/smfservermodule/smfserver/main.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/main.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -73,7 +73,6 @@
int main(int argc, char *argv[])
{
qInstallMsgHandler(debugOutput);
-
QCoreApplication a(argc, argv);
#ifndef SETTINGS_TEST
SmfServer* server = new SmfServer();
--- a/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanager.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanager.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -26,6 +26,7 @@
#include <smfpluginbase.h>
#include <smfpluginutil.h>
#include <smfprovider.h>
+#include <smfcredmgrclient.h>
#include "smfpluginmanager.h"
#include "smfpluginmanagerutil.h"
@@ -155,19 +156,18 @@
if(instance)
{
- // Get the registration token of the plugin
- QString regToken = instance->getProviderInfo()->smfRegistrationId();
QList<QUrl> urlList;
SmfPluginRequestData reqData;
// check if the plugin is authorised (with CSM)
- if( authorisePlugin(regToken, urlList ))
+ if( authorisePlugin(aPluginID, urlList ))
{
qDebug()<<"Plugin authorised";
// call the utility method to create plugin specific request
result = SmfUnknownError;
- m_util->createRequest(plugin, aOperation, aInputData, reqData, result);
+ QByteArray notused;
+ m_util->createRequest(plugin, aOperation, aInputData, reqData, result, notused);
// If the request is created successfully, call the TM method to send the request
if( SmfNoError == result )
@@ -215,6 +215,84 @@
/**
+ * Method called by Smf server to create a synchronous plugin request.
+ * @param aPluginID The plugin ID that need to perform this operation
+ * @param aOperation The type of operation to be performed
+ * @param aInputData The data required by the plugins
+ * @param aOutputData [out] The output data to be filled by the plugins
+ * @return SmfError The result of the operation. It can be :-
+ * SmfPluginNoError (if the request is success) or
+ * SmfPluginLoadError (if plugin could not be loaded) or
+ * SmfPluginNotAuthorised (if the plugin is not authorised) or
+ * SmfPluginUnknownPluginService (if the requested service is not known or unsupported)
+ */
+SmfError SmfPluginManager::createSyncRequest ( const QString& aPluginID,
+ const SmfRequestTypeID& aOperation,
+ QByteArray& aInputData,
+ QByteArray& aOutputData )
+ {
+ qDebug()<<"Inside SmfPluginManager::createSyncRequest()";
+
+ SmfError result = SmfUnknownError;
+
+ // Load the plugin
+ QObject *plugin = load(aPluginID, result);
+
+ // Check if plugin is loaded
+ if(plugin && (SmfNoError == result))
+ {
+ SmfPluginBase* instance = qobject_cast<SmfPluginBase *>(plugin);
+
+ if(instance)
+ {
+ QList<QUrl> urlList;
+ SmfPluginRequestData reqData;
+
+ // check if the plugin is authorised (with CSM)
+ if( authorisePlugin(aPluginID, urlList ))
+ {
+ qDebug()<<"Plugin authorised";
+
+ // call the utility method to create plugin specific request
+ result = SmfUnknownError;
+ m_util->createRequest(plugin, aOperation, aInputData, reqData, result, aOutputData );
+
+ // If the request is created successfully, call the TM method to send the request
+ if( SmfNoError == result )
+ qDebug()<<"Plugin request creation successful";
+ else
+ qDebug()<<"Plugin request creation failed!!!, error = "<<result;
+ }
+
+ else
+ {
+ // plugin not authorised, so unload
+ qDebug()<<"Plugin not authorised!!!";
+ unload(instance);
+ result = SmfPMPluginNotAuthorised;
+ }
+ }
+ else
+ {
+ // plugin instance cannot be casted, so unload
+ qDebug()<<"Plugin instance cannot be casted to SmfPluginBase*!!!";
+ unload(instance);
+ result = SmfPMPluginLoadError;
+ }
+ }
+
+ else
+ {
+ // plugin not loaded
+ qDebug()<<"Plugin not loaded!!!";
+ }
+
+ return result;
+ }
+
+
+
+/**
* Method called by Transport Manager when network response is available
* @param aTransportResult The result of Transport Operation
* @param aReply The QNetworkReply instance that requested
@@ -436,7 +514,7 @@
if (plugin)
{
qDebug()<<"SmfPluginBase found";
- plugin->initialize(SmfPluginUtil::getInstance());
+ plugin->initialize();
// get the plugin id
QString id = plugin->getProviderInfo()->pluginId();
@@ -551,7 +629,7 @@
if( pluginLoader->isLoaded() && plugin )
{
// Initialize the plugin
- plugin->initialize(SmfPluginUtil::getInstance());
+ plugin->initialize();
// update the plugin loader and the loaded plugin lists
m_pluginLoaderHash.insertMulti(plugin, pluginLoader);
@@ -746,42 +824,26 @@
* This method communicates with Credential and Settings Manager
* through Smf server, giving the registration token and getting
* the valid url list if available for this plugin.
- * @param aRegToken The registration token given by the plugin
+ * @param aPluginId The ID of the plugin
* @param aUrlList [out] The list of Urls that the plugin can send
* request to (to be filled by CSM). This list will be empty if
- * aRegToken is empty
+ * aPluginId is not valid or not authorised.
* @return Returns true if plugin is authorised, else returns false.
* Also returns false if aRegToken is empty.
*/
-bool SmfPluginManager::authorisePlugin( const QString &aRegToken,
+bool SmfPluginManager::authorisePlugin( const QString &aPluginId,
QList<QUrl> &aUrlList )
{
- Q_UNUSED(aRegToken)
qDebug()<<"Inside SmfPluginManager::authorisePlugin()";
-#ifdef CSM_INTEGRATED
- aUrlList.clear();
-
-// Get the valid URL list from CSM, giving the reg token
- if(aRegToken.size())
- return m_server->authorisePlugin(aRegToken, aUrlList);
- else
- return false;
-#else
+ bool authorised = false;
+ SmfCredMgrClient csmClient;
-// CSM STUBBING - start
- QUrl url1 ("http://www.example.com");
- QUrl url2 ("http://api.facebook.com");
- QUrl url3 ("http://api.flickr.com");
-
- aUrlList.append(url1);
- aUrlList.append(url2);
- aUrlList.append(url3);
-
- return true;
-// CSM STUBBING - end
-#endif
-
+ aUrlList = csmClient.URLList(aPluginId);
+ if(aUrlList.count())
+ authorised = true;
+
+ return authorised;
}
@@ -882,7 +944,7 @@
if(instance && (SmfNoError == result))
{
- instance->initialize(SmfPluginUtil::getInstance());
+ instance->initialize();
serviceProv = instance->getProviderInfo()->serviceName();
interfaceName = dir.dirName();
}
@@ -926,7 +988,7 @@
if(instance && (SmfNoError == result))
{
- instance->initialize(SmfPluginUtil::getInstance());
+ instance->initialize();
serviceProv = instance->getProviderInfo()->serviceName();
interfaceName = dir.dirName();
interfaceName.prepend("org.symbian.smf.plugin.");
@@ -993,7 +1055,7 @@
if(instance && (SmfNoError == result))
{
- instance->initialize(SmfPluginUtil::getInstance());
+ instance->initialize();
serviceProv = instance->getProviderInfo()->serviceName();
interfaceName = dir.dirName();
}
--- a/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanager.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanager.h Thu Aug 05 16:48:48 2010 +0530
@@ -120,6 +120,23 @@
QByteArray& aInputData );
/**
+ * Method called by Smf server to create a synchronous plugin request.
+ * @param aPluginID The plugin ID that need to perform this operation
+ * @param aOperation The type of operation to be performed
+ * @param aInputData The data required by the plugins
+ * @param aOutputData [out] The output data to be filled by the plugins
+ * @return SmfError The result of the operation. It can be :-
+ * SmfPluginNoError (if the request is success) or
+ * SmfPluginLoadError (if plugin could not be loaded) or
+ * SmfPluginNotAuthorised (if the plugin is not authorised) or
+ * SmfPluginUnknownPluginService (if the requested service is not known or unsupported)
+ */
+ SmfError createSyncRequest ( const QString& aPluginID,
+ const SmfRequestTypeID& aOperation,
+ QByteArray& aInputData,
+ QByteArray& aOutputData );
+
+ /**
* Method called by Transport Manager when network response is available
* @param aTransportResult The result of Transport Operation
* @param aReply The QNetworkReply instance that requested
@@ -232,14 +249,14 @@
* This method communicates with Credential and Settings Manager
* through Smf server, giving the registration token and getting
* the valid url list if available for this plugin.
- * @param aRegToken The registration token given by the plugin
+ * @param aPluginId The ID of the plugin
* @param aUrlList [out] The list of Urls that the plugin can send
* request to (to be filled by CSM). This list will be empty if
* aRegToken is empty
* @return Returns true if plugin is authorised, else returns false.
* Also returns false if aRegToken is empty.
*/
- bool authorisePlugin( const QString &aRegToken,
+ bool authorisePlugin( const QString &aPluginId,
QList<QUrl> &aUrlList );
/**
--- a/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanagerutil.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanagerutil.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -19,6 +19,8 @@
*/
// plugin interfaces
+#include <QVector>
+#include <QTextFormat>
#include <smfactivityfetcherplugin.h>
#include <smfcontactfetcherplugin.h>
#include <smfpostproviderplugin.h>
@@ -77,18 +79,22 @@
* @param aInstance Instance of the loaded plugin that perform this operation
* @param aOperation The type of operation to be performed
* @param aInputData The data required to create the web query
- * @param aReqData [out] The request data created by the plugin
+ * @param aReqData [out] The request data created by the
+ * plugin (don't consider for synchronous requests)
* @param aResult [out] SmfError, The result of the operation
* It can be :-
* SmfPluginNoError (if plugin has created the request successfully)
* SmfPluginUnknownPluginService (if plugin service is not known or unsupported)
* SmfPluginRequestCreationFailed (if request creation has failed)
+ * @param aOutputData [out] The output data to be filled by the
+ * plugins (for synchronous request only), don't consider for asynchronous requests
*/
void SmfPluginManagerUtil::createRequest ( QObject* aInstance,
const SmfRequestTypeID &aOperation,
QByteArray &aInputData,
SmfPluginRequestData &aReqData,
- SmfError &aResult )
+ SmfError &aResult,
+ QByteArray &aOutputData )
{
qDebug()<<"SmfPluginManagerUtil::createRequest()";
SmfPluginError pluginErrorVal = SmfPluginErrServiceNotSupported;
@@ -130,6 +136,14 @@
aInputData, aReqData);
break;
+ case SmfPostGetMaxCharsInPost:
+ case SmfPostGetMaxItems:
+ case SmfPostGetSupportedFormats:
+ case SmfPostGetAppearanceSupport:
+ pluginErrorVal = createSyncRequest(aInstance, aOperation,
+ aInputData, aOutputData);
+ break;
+
case SmfMusicGetLyrics:
case SmfMusicGetSubtitle:
case SmfMusicLyricsCustomRequest:
@@ -140,7 +154,6 @@
case SmfMusicGetEventsOnLoc:
case SmfMusicGetVenueOnLoc:
- case SmfMusicGetEventsOnVenue:
case SmfMusicPostEvents:
case SmfMusicEventsCustomRequest:
// Authorise the plugin and call create request methods
@@ -152,7 +165,6 @@
case SmfMusicGetTracks:
case SmfMusicGetTrackInfo:
case SmfMusicGetStores:
- case SmfMusicPostCurrentPlaying:
case SmfMusicSearchCustomRequest:
// Authorise the plugin and call create request methods
pluginErrorVal = createMusicSearchRequest(aInstance, aOperation,
@@ -161,6 +173,9 @@
case SmfMusicGetUserInfo:
case SmfMusicSearchUser:
+ case SmfMusicPostCurrentPlaying:
+ case SmfMusicPostRating:
+ case SmfMusicPostComment:
case SmfMusicServiceCustomRequest:
// Authorise the plugin and call create request methods
pluginErrorVal = createMusicServiceRequest(aInstance, aOperation,
@@ -177,6 +192,7 @@
aInputData, aReqData);
break;
+ case SmfPictureGetAlbums:
case SmfPictureGetPictures:
case SmfPictureDescription:
case SmfPictureUpload:
@@ -223,12 +239,15 @@
{
QDataStream stream(aInputData);
int pageNum, itemPerPage;
+ quint8 flag = 0;
switch(aOperation)
{
case SmfActivitySelfActivity:
qDebug()<<"Plugin Operation requested : selfactivities()";
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->selfActivities(aReqData, pageNum, itemPerPage);
break;
@@ -237,8 +256,11 @@
{
qDebug()<<"Plugin Operation requested : friendsActivities()";
SmfContact contact;
+ stream>>flag;
stream>>contact;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->friendsActivities(aReqData, contact, pageNum, itemPerPage);
break;
@@ -249,6 +271,7 @@
qDebug()<<"Plugin Operation requested : filtered()";
QList<SmfActivityObjectType> list;
QList<int> intList;
+ stream>>flag;
stream>>intList;
list.clear();
foreach(int val, intList)
@@ -257,7 +280,9 @@
list.append(type);
}
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->filtered(aReqData, list, pageNum, itemPerPage);
break;
@@ -267,9 +292,12 @@
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -317,19 +345,24 @@
{
QDataStream stream(aInputData);
int pageNum, itemPerPage;
+ quint8 flag = 0;
switch(aOperation)
{
case SmfContactGetFriends:
qDebug()<<"Plugin Operation requested : friends()";
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->friends(aReqData, pageNum, itemPerPage);
break;
case SmfContactGetFollowers:
qDebug()<<"Plugin Operation requested : followers()";
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->followers(aReqData, pageNum, itemPerPage);
break;
@@ -338,8 +371,12 @@
{
qDebug()<<"Plugin Operation requested : search()";
SmfContact searchContact;
- stream>>searchContact;
+ stream>>flag;
+ if(flag)
+ stream>>searchContact;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->search(aReqData, searchContact, pageNum, itemPerPage);
break;
@@ -349,10 +386,16 @@
{
qDebug()<<"Plugin Operation requested : searchNear()";
SmfLocation location;
+ stream>>flag;
+ if(flag)
+ stream>>location;
+ stream>>flag;
int i;
stream>>i;
SmfLocationSearchBoundary proximity = (SmfLocationSearchBoundary)i;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->searchNear(aReqData, location, proximity, pageNum, itemPerPage);
break;
@@ -361,7 +404,9 @@
case SmfContactGetGroups:
{
qDebug()<<"Plugin Operation requested : groups()";
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->groups(aReqData, pageNum, itemPerPage);
break;
@@ -371,8 +416,11 @@
{
qDebug()<<"Plugin Operation requested : searchInGroup()";
SmfGroup group;
+ stream>>flag;
stream>>group;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->searchInGroup(aReqData, group, pageNum, itemPerPage);
break;
@@ -382,9 +430,12 @@
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -436,35 +487,46 @@
SmfPost post;
SmfLocation location;
int pageNum, itemPerPage;
-
+ quint8 flag = 0;
switch(aOperation)
{
case SmfContactRetrievePosts:
qDebug()<<"Plugin Operation requested : retrieve()";
- stream>>contact;
+ stream>>flag;
+ if(flag)
+ stream>>contact;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->retrieve(aReqData, &contact, pageNum, itemPerPage);
break;
case SmfContactPost:
qDebug()<<"Plugin Operation requested : post()";
+ stream>>flag;
stream>>post;
+ stream>>flag;
stream>>location;
pluginErrorVal = plugin->post(aReqData, post, location);
break;
case SmfContactUpdatePost:
qDebug()<<"Plugin Operation requested : updatePost()";
+ stream>>flag;
stream>>post;
pluginErrorVal = plugin->updatePost(aReqData, post);
break;
case SmfContactPostDirected:
qDebug()<<"Plugin Operation requested : postDirected()";
+ stream>>flag;
stream>>post;
+ stream>>flag;
stream>>contact;
- stream>>location;
+ stream>>flag;
+ if(flag)
+ stream>>location;
qDebug()<<"Post data = "<<post.description();
qDebug()<<"Contact ID = "<<contact.value("Guid").value<QContactGuid>().guid();
pluginErrorVal = plugin->postDirected(aReqData, post, contact, &location);
@@ -474,9 +536,13 @@
{
qDebug()<<"Plugin Operation requested : commentOnAPost()";
SmfPost post2;
+ stream>>flag;
stream>>post;
+ stream>>flag;
stream>>post2;
- stream>>location;
+ stream>>flag;
+ if(flag)
+ stream>>location;
pluginErrorVal = plugin->commentOnAPost(aReqData, post, post2, &location);
break;
}
@@ -486,8 +552,10 @@
qDebug()<<"Plugin Operation requested : postAppearence()";
QString status;
int i;
+ stream>>flag;
stream>>i;
SmfPresenceInfo presence = (SmfPresenceInfo)i;
+ stream>>flag;
stream>>status;
pluginErrorVal = plugin->postAppearence(aReqData, presence, status);
break;
@@ -497,8 +565,11 @@
{
qDebug()<<"Plugin Operation requested : sharePost()";
bool edited;
+ stream>>flag;
stream>>post;
+ stream>>flag;
stream>>contact;
+ stream>>flag;
stream>>edited;
pluginErrorVal = plugin->sharePost(aReqData, post, contact, edited);
break;
@@ -508,9 +579,12 @@
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -560,13 +634,17 @@
QDataStream stream(aInputData);
SmfTrackInfo trackInfo;
int pageNum, itemPerPage;
+ quint8 flag = 0;
switch(aOperation)
{
case SmfMusicGetLyrics:
qDebug()<<"Plugin Operation requested : lyrics()";
+ stream>>flag;
stream>>trackInfo;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->lyrics(aReqData, trackInfo, pageNum, itemPerPage);
break;
@@ -576,9 +654,12 @@
qDebug()<<"Plugin Operation requested : subtitles()";
stream>>trackInfo;
int i;
+ stream>>flag;
stream>>i;
SmfSubtitleSearchFilter filter = (SmfSubtitleSearchFilter)i;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->subtitles(aReqData, trackInfo, filter, pageNum, itemPerPage);
break;
@@ -588,9 +669,12 @@
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -638,41 +722,38 @@
{
QDataStream stream(aInputData);
int pageNum, itemPerPage;
- QtMobility::QGeoPositionInfo location;
-
+ SmfLocation location;
+ quint8 flag = 0;
+
switch(aOperation)
{
case SmfMusicGetEventsOnLoc:
qDebug()<<"Plugin Operation requested : events() OnLoc";
+ stream>>flag;
stream>>location;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->events(aReqData, location, pageNum, itemPerPage);
break;
case SmfMusicGetVenueOnLoc:
qDebug()<<"Plugin Operation requested : venues()";
+ stream>>flag;
stream>>location;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->venues(aReqData, location, pageNum, itemPerPage);
break;
- case SmfMusicGetEventsOnVenue:
- {
- qDebug()<<"Plugin Operation requested : events() OnVenue";
- SmfLocation venue;
- stream>>venue;
- stream>>pageNum;
- stream>>itemPerPage;
- pluginErrorVal = plugin->events(aReqData, venue, pageNum, itemPerPage);
- break;
- }
-
case SmfMusicPostEvents:
{
qDebug()<<"Plugin Operation requested : postEvents()";
QList<SmfEvent> list;
+ stream>>flag;
stream>>list;
pluginErrorVal = plugin->postEvents(aReqData, list);
break;
@@ -682,9 +763,12 @@
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -734,21 +818,28 @@
QDataStream stream(aInputData);
int pageNum, itemPerPage;
SmfTrackInfo trackInfo;
+ quint8 flag = 0;
switch(aOperation)
{
case SmfMusicGetRecommendations:
qDebug()<<"Plugin Operation requested : recommendations()";
+ stream>>flag;
stream>>trackInfo;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->recommendations(aReqData, trackInfo, pageNum, itemPerPage);
break;
case SmfMusicGetTracks:
qDebug()<<"Plugin Operation requested : tracks()";
+ stream>>flag;
stream>>trackInfo;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->tracks(aReqData, trackInfo, pageNum, itemPerPage);
break;
@@ -757,8 +848,11 @@
{
qDebug()<<"Plugin Operation requested : trackInfo()";
SmfMusicFingerPrint fp;
+ stream>>flag;
stream>>fp;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->trackInfo(aReqData, fp, pageNum, itemPerPage);
break;
@@ -766,45 +860,25 @@
case SmfMusicGetStores:
qDebug()<<"Plugin Operation requested : stores()";
+ stream>>flag;
stream>>trackInfo;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->stores(aReqData, trackInfo, pageNum, itemPerPage);
break;
- case SmfMusicPostCurrentPlaying:
- qDebug()<<"Plugin Operation requested : postCurrentPlaying()";
- stream>>trackInfo;
- pluginErrorVal = plugin->postCurrentPlaying(aReqData, trackInfo);
- break;
-
- case SmfMusicPostRating:
- {
- qDebug()<<"Plugin Operation requested : postRating()";
- stream>>trackInfo;
- SmfMusicRating rating;
- stream>>rating;
- pluginErrorVal = plugin->postRating(aReqData, trackInfo, rating);
- break;
- }
-
- case SmfMusicPostComment:
- {
- qDebug()<<"Plugin Operation requested : postComment()";
- stream>>trackInfo;
- SmfComment comment;
- stream>>comment;
- pluginErrorVal = plugin->postComments(aReqData, trackInfo, comment);
- break;
- }
-
case SmfMusicSearchCustomRequest:
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -853,6 +927,8 @@
{
QDataStream stream(aInputData);
int pageNum, itemPerPage;
+ SmfTrackInfo trackInfo;
+ quint8 flag = 0;
switch(aOperation)
{
@@ -865,20 +941,57 @@
{
qDebug()<<"Plugin Operation requested : serachNear() for Music";
SmfLocation place;
+ stream>>flag;
stream>>place;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->searchUser(aReqData, place, pageNum, itemPerPage);
break;
}
+ case SmfMusicPostCurrentPlaying:
+ qDebug()<<"Plugin Operation requested : postCurrentPlaying()";
+ stream>>flag;
+ stream>>trackInfo;
+ pluginErrorVal = plugin->postCurrentPlaying(aReqData, trackInfo);
+ break;
+
+ case SmfMusicPostRating:
+ {
+ qDebug()<<"Plugin Operation requested : postRating()";
+ stream>>flag;
+ stream>>trackInfo;
+ SmfMusicRating rating;
+ stream>>flag;
+ stream>>rating;
+ pluginErrorVal = plugin->postRating(aReqData, trackInfo, rating);
+ break;
+ }
+
+ case SmfMusicPostComment:
+ {
+ qDebug()<<"Plugin Operation requested : postComment()";
+ stream>>flag;
+ stream>>trackInfo;
+ SmfComment comment;
+ stream>>flag;
+ stream>>comment;
+ pluginErrorVal = plugin->postComments(aReqData, trackInfo, comment);
+ break;
+ }
+
case SmfMusicServiceCustomRequest:
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -928,12 +1041,15 @@
QDataStream stream(aInputData);
int pageNum, itemPerPage;
SmfPlaylist playlist;
+ quint8 flag = 0;
switch(aOperation)
{
case SmfMusicGetPlaylists:
qDebug()<<"Plugin Operation requested : playlists()";
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->playlists(aReqData, pageNum, itemPerPage);
break;
@@ -942,8 +1058,12 @@
{
qDebug()<<"Plugin Operation requested : playlistsOf()";
SmfMusicProfile user;
- stream>>user;
+ stream>>flag;
+ if(flag)
+ stream>>user;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->playlistsOf(aReqData, user, pageNum, itemPerPage);
break;
@@ -953,14 +1073,18 @@
{
qDebug()<<"Plugin Operation requested : addToPlaylist()";
QList<SmfTrackInfo> list;
+ stream>>flag;
stream>>playlist;
- stream>>list;
+ stream>>flag;
+ if(flag)
+ stream>>list;
pluginErrorVal = plugin->addToPlaylist(aReqData, playlist, list);
break;
}
case SmfMusicPostCurrentPlayingPlaylist:
qDebug()<<"Plugin Operation requested : postCurrentPlayingPlaylist()";
+ stream>>flag;
stream>>playlist;
pluginErrorVal = plugin->postCurrentPlayingPlaylist(aReqData, playlist);
break;
@@ -969,9 +1093,12 @@
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -1019,6 +1146,7 @@
{
QDataStream stream(aInputData);
SmfPicture picture;
+ quint8 flag = 0;
switch(aOperation)
{
@@ -1029,8 +1157,11 @@
QStringList names;
SmfContact contact;
int pageNum, itemPerPage;
+ stream>>flag;
stream>>names;
- stream>>contact;
+ stream>>flag;
+ if(flag)
+ stream>>contact;
stream>>pageNum;
stream>>itemPerPage;
pluginErrorVal = plugin->albums(aReqData, names, &contact, pageNum, itemPerPage);
@@ -1042,8 +1173,11 @@
qDebug()<<"Plugin Operation requested : pictures()";
int pageNum, itemPerPage;
SmfPictureAlbumList albumList;
+ stream>>flag;
stream>>albumList;
+ stream>>flag;
stream>>pageNum;
+ stream>>flag;
stream>>itemPerPage;
pluginErrorVal = plugin->pictures(aReqData, albumList, pageNum, itemPerPage);
break;
@@ -1051,6 +1185,7 @@
case SmfPictureDescription:
qDebug()<<"Plugin Operation requested : description()";
+ stream>>flag;
stream>>picture;
pluginErrorVal = plugin->description(aReqData, picture);
break;
@@ -1059,8 +1194,12 @@
{
qDebug()<<"Plugin Operation requested : upload() single";
SmfPictureAlbum album;
- stream>>picture;
- stream>>album;
+ stream>>flag;
+ if(flag)
+ stream>>picture;
+ stream>>flag;
+ if(flag)
+ stream>>album;
pluginErrorVal = plugin->upload(aReqData, picture, &album);
break;
}
@@ -1070,8 +1209,12 @@
qDebug()<<"Plugin Operation requested : upload() Multiple";
QList<SmfPicture> list;
SmfPictureAlbum album;
- stream>>list;
- stream>>album;
+ stream>>flag;
+ if(flag)
+ stream>>list;
+ stream>>flag;
+ if(flag)
+ stream>>album;
pluginErrorVal = plugin->upload(aReqData, list, &album);
break;
}
@@ -1080,7 +1223,9 @@
{
qDebug()<<"Plugin Operation requested : postComment()";
SmfComment comment;
+ stream>>flag;
stream>>picture;
+ stream>>flag;
stream>>comment;
pluginErrorVal = plugin->postComment(aReqData, picture, comment);
break;
@@ -1090,9 +1235,12 @@
{
qDebug()<<"Plugin Operation requested : customRequest()";
int operationType;
+ stream>>flag;
stream>>operationType;
QByteArray data;
- stream>>data;
+ stream>>flag;
+ if(flag)
+ stream>>data;
pluginErrorVal = plugin->customRequest(aReqData, operationType, &data);
break;
}
@@ -1113,6 +1261,123 @@
/**
+ * Method called to create a synchronous plugin request.
+ * @param aPlugin The instance of the loaded plugin that performs the
+ * contact fetch operation.
+ * @param aOperation The type of operation to be performed
+ * @param aInputData The data required to create the web query
+ * @param aOutputData [out] The output data to be filled by the plugins
+ * @return SmfPluginError
+ */
+SmfPluginError SmfPluginManagerUtil::createSyncRequest ( QObject *aPlugin,
+ const SmfRequestTypeID &aOperation,
+ QByteArray &aInputData,
+ QByteArray &aOutputData )
+ {
+ qDebug()<<"SmfPluginManagerUtil::createSyncRequest";
+ Q_UNUSED(aInputData)
+
+ SmfPluginError pluginErrorVal = SmfPluginErrServiceNotSupported;
+
+ if(aPlugin)
+ {
+ QDataStream outStream(&aOutputData, QIODevice::ReadWrite);
+
+ switch(aOperation)
+ {
+ case SmfPostGetMaxCharsInPost:
+ {
+ qDebug()<<"Plugin Operation requested : maxCharsInPost()";
+ SmfPostProviderPlugin *plugin = NULL;
+ plugin = qobject_cast<SmfPostProviderPlugin *>(aPlugin);
+
+ if(!plugin)
+ {
+ qDebug()<<"Plugin instance couldn't be typecasted!!!";
+ pluginErrorVal = SmfPluginErrRequestNotCreated;
+ break;
+ }
+
+ qint32 val = plugin->maxCharsInPost();
+ outStream<<val;
+ pluginErrorVal = SmfPluginErrNone;
+ break;
+ }
+
+ case SmfPostGetMaxItems:
+ {
+ qDebug()<<"Plugin Operation requested : maxItems()";
+ SmfPostProviderPlugin *plugin = NULL;
+ plugin = qobject_cast<SmfPostProviderPlugin *>(aPlugin);
+
+ if(!plugin)
+ {
+ qDebug()<<"Plugin instance couldn't be typecasted!!!";
+ pluginErrorVal = SmfPluginErrRequestNotCreated;
+ break;
+ }
+
+ qint32 val = plugin->maxItems();
+ outStream<<val;
+ pluginErrorVal = SmfPluginErrNone;
+ break;
+ }
+
+ case SmfPostGetSupportedFormats:
+ {
+ qDebug()<<"Plugin Operation requested : supportedFormats()";
+ SmfPostProviderPlugin *plugin = NULL;
+ plugin = qobject_cast<SmfPostProviderPlugin *>(aPlugin);
+
+ if(!plugin)
+ {
+ qDebug()<<"Plugin instance couldn't be typecasted!!!";
+ pluginErrorVal = SmfPluginErrRequestNotCreated;
+ break;
+ }
+
+ QVector<QTextFormat> formats = plugin->supportedFormats();
+ outStream<<formats;
+ pluginErrorVal = SmfPluginErrNone;
+ break;
+ }
+
+ case SmfPostGetAppearanceSupport:
+ {
+ qDebug()<<"Plugin Operation requested : maxItems()";
+ SmfPostProviderPlugin *plugin = NULL;
+ plugin = qobject_cast<SmfPostProviderPlugin *>(aPlugin);
+
+ if(!plugin)
+ {
+ qDebug()<<"Plugin instance couldn't be typecasted!!!";
+ pluginErrorVal = SmfPluginErrRequestNotCreated;
+ break;
+ }
+
+ bool val = plugin->supportsAppearence();
+ outStream<<val;
+ pluginErrorVal = SmfPluginErrNone;
+ break;
+ }
+
+ default:
+ // do nothing, unknown service
+ qDebug()<<"No API found for this operation type!!!";
+ }
+ }
+ else
+ {
+ qDebug()<<"Plugin instance couldn't be typecasted!!!";
+ pluginErrorVal = SmfPluginErrRequestNotCreated;
+ }
+
+ return pluginErrorVal;
+ }
+
+
+
+/**
* Method called by Plugin Manager when network response is available
* @param aInstance The instance of the loaded plugin that requested
* the network operation.
@@ -1147,6 +1412,7 @@
case SmfContactSearchNear:
case SmfContactGetGroups:
case SmfContactSearchInGroup:
+ case SmfContactCustomRequest:
case SmfContactRetrievePosts:
case SmfContactPost:
case SmfContactUpdatePost:
@@ -1154,28 +1420,41 @@
case SmfContactCommentOnAPost:
case SmfContactPostAppearence:
case SmfContactSharePost:
+ case SmfContactPostCustomRequest:
case SmfMusicGetLyrics:
case SmfMusicGetSubtitle:
+ case SmfMusicLyricsCustomRequest:
case SmfMusicGetEventsOnLoc:
case SmfMusicGetVenueOnLoc:
- case SmfMusicGetEventsOnVenue:
case SmfMusicPostEvents:
+ case SmfMusicEventsCustomRequest:
case SmfMusicGetRecommendations:
case SmfMusicGetTracks:
case SmfMusicGetTrackInfo:
case SmfMusicGetStores:
- case SmfMusicPostCurrentPlaying:
+ case SmfMusicSearchCustomRequest:
case SmfMusicGetUserInfo:
case SmfMusicSearchUser:
+ case SmfMusicPostCurrentPlaying:
+ case SmfMusicPostRating:
+ case SmfMusicPostComment:
+ case SmfMusicServiceCustomRequest:
case SmfMusicGetPlaylists:
case SmfMusicGetPlaylistsOfUser:
case SmfMusicAddToPlaylist:
case SmfMusicPostCurrentPlayingPlaylist:
+ case SmfMusicPlaylistCustomRequest:
+ case SmfPictureGetAlbums:
case SmfPictureGetPictures:
case SmfPictureDescription:
case SmfPictureUpload:
case SmfPictureMultiUpload:
case SmfPicturePostComment:
+ case SmfPictureCustomRequest:
+ case SmfActivityFriendsActivities:
+ case SmfActivityFiltered:
+ case SmfActivitySelfActivity:
+ case SmfActivityCustomRequest:
{
pluginRet = aInstance->responseAvailable(aOperation, aTransportResult, aResponse,
aResult, aRetType, aPageResult );
@@ -1236,6 +1515,20 @@
qDebug()<<"SmfPluginManagerUtil::serializeResult";
switch(aOperation)
{
+ // FOR ACTIVITY - FETCHER
+ case SmfActivitySelfActivity:
+ case SmfActivityFriendsActivities:
+ case SmfActivityFiltered:
+ {
+ qDebug()<<"Serializing to : QList<SmfActivityEntry>";
+ QList<SmfActivityEntry> activityList;
+ if( aResult->canConvert<SmfActivityEntryList>() )
+ activityList = aResult->value<SmfActivityEntryList>();
+ aDataStream<<activityList;
+ break;
+ }
+
+
// FOR CONTACT - FETCHER
case SmfContactGetFriends:
case SmfContactGetFollowers:
@@ -1315,7 +1608,6 @@
// FOR MUSIC - EVENTS
case SmfMusicGetEventsOnLoc:
- case SmfMusicGetEventsOnVenue:
{
qDebug()<<"Serializing to : QList<SmfEvent>";
QList<SmfEvent> eventList;
@@ -1370,17 +1662,6 @@
break;
}
- case SmfMusicPostCurrentPlaying:
- {
- qDebug()<<"Serializing to : bool";
- bool value;
- if( QVariant::Bool == aResult->type() )
- value = aResult->toBool();
- aDataStream<<value;
- break;
- }
-
-
// FOR MUSIC - SERVICE
case SmfMusicGetUserInfo:
{
@@ -1402,6 +1683,18 @@
break;
}
+ case SmfMusicPostCurrentPlaying:
+ case SmfMusicPostRating:
+ case SmfMusicPostComment:
+ {
+ qDebug()<<"Serializing to : bool";
+ bool value;
+ if( QVariant::Bool == aResult->type() )
+ value = aResult->toBool();
+ aDataStream<<value;
+ break;
+ }
+
// FOR MUSIC - PLAYLIST SERVICE
case SmfMusicGetPlaylists:
case SmfMusicGetPlaylistsOfUser:
@@ -1426,6 +1719,16 @@
}
// FOR PICTURES - GALLERY SERVICES
+ case SmfPictureGetAlbums:
+ {
+ qDebug()<<"Serializing to : QList<SmfPictureAlbum>";
+ QList<SmfPictureAlbum> albumList;
+ if( aResult->canConvert<SmfPictureAlbumList>() )
+ albumList = aResult->value<SmfPictureAlbumList>();
+ aDataStream<<albumList;
+ break;
+ }
+
case SmfPictureGetPictures:
{
qDebug()<<"Serializing to : QList<SmfPicture>";
@@ -1458,6 +1761,26 @@
break;
}
+ // FOR ALL INTERFACES CUSTOM REQUESTS
+ case SmfContactCustomRequest:
+ case SmfContactPostCustomRequest:
+ case SmfMusicLyricsCustomRequest:
+ case SmfMusicEventsCustomRequest:
+ case SmfMusicSearchCustomRequest:
+ case SmfMusicServiceCustomRequest:
+ case SmfMusicPlaylistCustomRequest:
+ case SmfPictureCustomRequest:
+ case SmfActivityCustomRequest:
+ {
+ qDebug()<<"Custom Requests are handled as bytearrays in PM now!!!";
+ qDebug()<<"Serializing to : QByteArray";
+ QByteArray customResult;
+ if( QVariant::ByteArray == aResult->type() )
+ customResult.append(aResult->toByteArray());
+ aDataStream<<customResult;
+ break;
+ }
+
default:
// Unknown service, saved data in Plugin manager is corrupted
qDebug()<<"No operation type found!!!";
--- a/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanagerutil.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/pluginmgr/smfpluginmanagerutil.h Thu Aug 05 16:48:48 2010 +0530
@@ -63,18 +63,22 @@
* @param aInstance Instance of the loaded plugin that perform this operation
* @param aOperation The type of operation to be performed
* @param aInputData The data required to create the web query
- * @param aReqData [out] The request data created by the plugin
+ * @param aReqData [out] The request data created by the
+ * plugin (don't consider for synchronous requests)
* @param aResult [out] SmfError, The result of the operation
* It can be :-
* SmfPluginNoError (if plugin has created the request successfully)
* SmfPluginUnknownPluginService (if plugin service is not known or unsupported)
* SmfPluginRequestCreationFailed (if request creation has failed)
+ * @param aOutputData [out] The output data to be filled by the
+ * plugins (for synchronous request only), don't consider for asynchronous requests
*/
void createRequest ( QObject* aInstance,
const SmfRequestTypeID &aOperation,
QByteArray &aInputData,
SmfPluginRequestData &aReqData,
- SmfError &aResult );
+ SmfError &aResult,
+ QByteArray &aOutputData );
/**
* Method to create a web query to fetch activities
@@ -208,6 +212,20 @@
SmfPluginRequestData &aReqData );
/**
+ * Method called to create a synchronous plugin request.
+ * @param aPlugin The instance of the loaded plugin that performs the
+ * contact fetch operation.
+ * @param aOperation The type of operation to be performed
+ * @param aInputData The data required to create the web query
+ * @param aOutputData [out] The output data to be filled by the plugins
+ * @return SmfPluginError
+ */
+ SmfPluginError createSyncRequest ( QObject *aPlugin,
+ const SmfRequestTypeID &aOperation,
+ QByteArray &aInputData,
+ QByteArray &aOutputData );
+
+ /**
* Method called by Plugin Manager when network response is available
* @param aInstance The instance of the loaded plugin that requested
* the network operation.
--- a/smf/smfservermodule/smfserver/server/server.pri Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/server.pri Thu Aug 05 16:48:48 2010 +0530
@@ -1,22 +1,24 @@
INCLUDEPATH += server \
./
-
-PUBLIC_HEADERS += \
- server/smfserver.h \
- server/smfsettingshandler.h
-
+PUBLIC_HEADERS += server/smfserver.h \
+ server/smfsettingshandler.h
+
SOURCES += server/smfserver.cpp \
- server/smfsettingshandler.cpp
-
+ server/smfsettingshandler.cpp
+
symbian {
- #Settings handler is currently for only CR keys, QSettings will be provided later
- PRIVATE_HEADERS += server/smfserversymbian_p.h #\
- #server/smfsettingshandler_symbian.h
- SOURCES += server/smfserversymbian.cpp #\
- #server/smfsettingshandler_symbian.cpp
-} else {
+ PRIVATE_HEADERS += server/smfserversymbian_p.h \
+ server/smfsettingshandler_symbian.h \
+ server/smfsettingshandler_qt.h
+
+ SOURCES += server/smfserversymbian.cpp \
+ server/smfsettingshandler_symbian.cpp \
+ server/smfsettingshandler_qt.cpp
+}
+else {
PRIVATE_HEADERS += server/smfserverqt_p.h \
server/smfserverqtsession.h
+
SOURCES += server/smfserverqt.cpp \
server/smfserverqtsession.cpp
}
--- a/smf/smfservermodule/smfserver/server/smfserver.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserver.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -2,7 +2,7 @@
* 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"
+ * 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"
*
@@ -11,82 +11,93 @@
*
* Contributors:
* Manasij Roy, Nalina Hariharan
+ *
+ * Description:
+ * SMF Server component which handles the client requests and delegates
+ * them properly to the appropriate component
+ *
*/
+#include <QDebug>
+#include <qglobal.h>
+#include <smfcontact.h>
+#include <smfgroup.h>
+#include <smfpost.h>
+#include <smflocation.h>
+#include <smfpicture.h>
+#include <smfcomment.h>
+#include <smfcredmgrclient.h>
+#include <smfrelationmgr.h>
+
#include "smfserver.h"
#include "smfpluginmanager.h"
#include "smftransportmanager.h"
#include "dsm.h"
-#include "smfclientglobal.h"
-#include <smfprovider.h>
-#include <smfpost.h>
-#include <smflocation.h>
-#include <smfcontact.h>
-#include <smfpicture.h>
-#include <smfcomment.h>
-#include <SmfCredMgrClient.h>
-#include <smfrelationmgr.h>
-#include <smfclientglobal.h>
-#include <QImage>
-#include <QUrl>
-#include <smfgroup.h>
-#include <QTextStream>
-#include <QFile>
+#ifdef Q_OS_SYMBIAN
+ #include "smfserversymbian_p.h"
+#else
+ #include "smfserverqt_p.h"
+ #include "smfserverqtsession.h"
+#endif
-#ifdef Q_OS_SYMBIAN
-#include "smfserversymbian_p.h"
-#else
-#include "smfserverqt_p.h"
-#include "smfserverqtsession.h"
-#endif
SmfServer::SmfServer(QObject* parent)
: QObject(parent)
{
+ m_transportManager = NULL;
+ m_pluginManager = NULL;
+ m_credentialMngr = NULL;
}
SmfServer::~SmfServer()
-{
+ {
+ qDebug()<<"Inside Smfserver::~SmfServer()";
+ if(m_transportManager)
+ delete m_transportManager;
+ if(m_pluginManager)
+ delete m_pluginManager;
+ if(m_credentialMngr)
+ delete m_credentialMngr;
if(m_SmfServerPrivate)
{
delete m_SmfServerPrivate;
m_SmfServerPrivate = NULL;
}
-
-}
+ }
bool SmfServer::startServer()
{
+ qDebug()<<"Inside SmfServer::startServer()";
+
bool success = false;
+
//Initialize all the component handles
-
SmfTransportInitializeResult networkStatus = prepareTransport();
- qDebug()<<("Before m_pluginManager construction");
+
+ qDebug()<<"Before m_pluginManager construction";
m_pluginManager = SmfPluginManager::getInstance(this);
- qDebug()<<("After m_pluginManager construction");
+ qDebug()<<"After m_pluginManager construction";
+
// m_dataStoreManager = new SmfDataStoreManager();
+
+#ifdef Q_OS_SYMBIAN
//Initialize private implementation
- #ifdef Q_OS_SYMBIAN
TRAPD(err, m_SmfServerPrivate = SmfServerSymbian::NewL(CActive::EPriorityStandard,this));
- QString log("SmfServer::startServer=");
- int errorQ = err ;
- log += errorQ;
- qDebug()<<(log);
+ qDebug()<<"SmfServerSymbian::NewL() = "<<err;
+
if( KErrNone != err )
- {
return success;
- }
+
TInt error = m_SmfServerPrivate->Start( KSmfServerName );
+ qDebug()<<"m_SmfServerPrivate->Start = "<<error;
+
RSemaphore semaphore;
User::LeaveIfError( semaphore.OpenGlobal( KSmfServerSemaphoreName ) );
+
// Semaphore opened ok
semaphore.Signal();
semaphore.Close();
- errorQ = error ;
- log.clear();
- log = QString("m_SmfServerPrivate->Start=");
- log += QString::number(error);
- qDebug()<<(log);
+
if( KErrNone == error )
{
success = true;
@@ -96,18 +107,20 @@
//error
return success;
}
- #else
- m_SmfServerPrivate = new SmfServerQt(this);
+#else
+ // For non-symbian platforms
+ m_SmfServerPrivate = new SmfServerQt(this);
success = m_SmfServerPrivate->start();
if (!success)
{
return success;
}
- #endif
+#endif
m_credentialMngr = new SmfCredMgrClient();
return success;
}
+
//Note:- Almost all the following APIs are called by private impl via the handle
/**
* This API is called by the private impl when client is authorized
@@ -117,22 +130,20 @@
* It calls PM to get the list. Note:- PM may return SmfProviderBase which is superset of SmfProvider.
* TODO:- session should store this map for future ref?
*/
-void SmfServer::getPlugins(SmfInterfaceID interfaceID, QMap<SmfPluginID,SmfProvider>& pluginIDMap)
+void SmfServer::getPlugins(const SmfInterfaceID& interfaceID, QMap<SmfPluginID,SmfProvider>& pluginIDMap)
{
- pluginIDMap.clear();
+ qDebug()<<"Inside SmfServer::getPlugins()";
m_pluginManager->getPlugins(interfaceID,pluginIDMap);
}
-SmfPluginID SmfServer::getPlugin(SmfInterfaceID interfaceID,SmfProvider provider)
+SmfPluginID SmfServer::getPlugin(const SmfInterfaceID& interfaceID,SmfProvider provider)
{
- //TODO:- do it properly as per PM implementation
- //return PM->getplugin(interfaceID,provider);
- //TODO:- PM is not yet ready
+ qDebug()<<"Inside SmfServer::getPlugin()";
SmfPluginID id;
m_pluginManager->getPluginId(interfaceID,provider, id);
return id;
- //testing purpose only
}
+
/**
* This API is called by the private impl to get a list of authorized plugins from CM
* @param list List of plugins to be filtered
@@ -143,44 +154,75 @@
*/
void SmfServer::getAuthorizedPlugins(QList<SmfPluginID>& list,QList<SmfPluginID>& authList)
{
- //TODO:-Uncomment the following once authorization flow of plugin is implemented
-/* authList.clear();
+ qDebug()<<"Inside SmfServer::getAuthorizedPlugins()";
+ authList.clear();
for(int i=0;i<list.count();i++)
{
bool isAuthorized = m_credentialMngr->CheckPluginAuthentication(list[i]);
if(isAuthorized)
- {
authList.append(list[i]);
- }
- }*/
- authList = list;
+ }
}
+
SmfTransportInitializeResult SmfServer::prepareTransport()
{
- qDebug()<<("Before SmfTransportManager::getInstance");
+ qDebug()<<"Inside SmfServer::prepareTransport()";
m_transportManager = SmfTransportManager::getInstance();
- qDebug()<<("Before m_transportManager->initializeTransport");
+
//checking the network status
SmfTransportInitializeResult networkStatus = m_transportManager->initializeTransport();
- qDebug()<<("m_transportManager->initializeTransport return = ")<<networkStatus;
+ qDebug()<<"m_transportManager->initializeTransport() return = "<<networkStatus;
return networkStatus;
}
-void SmfServer::sendToPluginManager(int requestID,SmfPluginID pluginID,SmfInterfaceID interfaceID,SmfRequestTypeID requestTypeID,QByteArray dataForPlugin ,int pageno,int perpage)
+
+void SmfServer::sendToPluginManager ( int requestID, SmfPluginID pluginID,
+ SmfInterfaceID interfaceID, SmfRequestTypeID requestTypeID,
+ QByteArray dataForPlugin )
{
- qDebug()<<("SmfServer::delegateToPluginManager");
- qDebug()<<(QString::number(requestID));
- qDebug()<<(pluginID);
- qDebug()<<(interfaceID);
- qDebug()<<(QString::number(requestTypeID));
+ qDebug()<<"Inside SmfServer::sendToPluginManager()";
+ qDebug()<<"Request ID = "<<requestID;
+ qDebug()<<"PluginID = "<<pluginID;
+ qDebug()<<"Interface = "<<interfaceID;
+ qDebug()<<"RequestType = "<<requestTypeID;
+
//TODO:-PM should take page info too
- m_pluginManager->createRequest(requestID,pluginID,requestTypeID,dataForPlugin);
+ SmfError err = m_pluginManager->createRequest(requestID,pluginID,requestTypeID,dataForPlugin);
+ qDebug()<<"m_pluginManager->createRequest() = "<<err;
}
-SmfError SmfServer::sendToDSM(QByteArray qtdataForDSM,SmfRequestTypeID opcode,QByteArray& qtdataFromDSM)
+
+/**
+ * Request the Plugin manager to get the data.
+ * @param requestID Corresponds to a client's session
+ * @param pluginID Plugin for which the request is intended
+ * @param interfaceID Interface name
+ * @param dataForPlugin Data to be sent for this request
+ */
+SmfError SmfServer::sendToPluginManager ( SmfPluginID pluginID,
+ SmfInterfaceID interfaceID, SmfRequestTypeID requestTypeID,
+ QByteArray dataForPlugin, QByteArray &outputData)
{
+ qDebug()<<"Inside SmfServer::sendToPluginManager() for sync req";
+ qDebug()<<"PluginID = "<<pluginID;
+ qDebug()<<"Interface = "<<interfaceID;
+ qDebug()<<"RequestType = "<<requestTypeID;
+
+ //TODO:-PM should take page info too
+ SmfError err = m_pluginManager->createSyncRequest(pluginID,requestTypeID,dataForPlugin, outputData);
+ qDebug()<<"m_pluginManager->createSyncRequest() = "<<err;
+ return err;
+ }
+
+SmfError SmfServer::sendToDSM ( QByteArray qtdataForDSM, SmfRequestTypeID opcode,
+ QByteArray& qtdataFromDSM )
+ {
+ qDebug()<<"Inside SmfServer::sendToDSM()";
+
DataStoreManager* dsm = DataStoreManager::getDataStoreManager();
+
//Note:- deserialization and formation of user profile and social profile are done by server
QDataStream readStream(&qtdataForDSM,QIODevice::ReadOnly);
QDataStream writeStream(&qtdataFromDSM,QIODevice::ReadOnly);
+ quint8 flag = 0;
switch(opcode)
{
case SmfRelationCreate:
@@ -188,8 +230,12 @@
//read the incoming data
SmfProvider provider;
SmfContact contact;
- readStream>>provider;
- readStream>>contact;
+ readStream>>flag;
+ if(flag)
+ readStream>>provider;
+ readStream>>flag;
+ if(flag)
+ readStream>>contact;
SmfRelationId relnId = dsm->create(&provider,&contact);
writeStream<<relnId;
@@ -201,23 +247,60 @@
SmfContact contact;
SmfProvider provider;
readStream>>relnId;
- readStream>>contact;
- readStream>>provider;
+ readStream>>flag;
+ if(flag)
+ readStream>>contact;
+ readStream>>flag;
+ if(flag)
+ readStream>>provider;
SmfError err = dsm->associate(relnId,&contact,&provider);
int errInt = err;
writeStream<<errInt;
}
break;
+ case SmfRelationRemove:
+ {
+ SmfRelationId relnId;
+ SmfContact contact;
+ readStream>>relnId;
+ readStream>>flag;
+ if(flag)
+ readStream>>contact;
+
+ SmfError err = dsm->remove(relnId, &contact);
+ int errInt = err;
+ writeStream<<errInt;
+ break;
+ }
case SmfRelationSearchById:
{
SmfRelationId relnId;
readStream>>relnId;
SmfRelationItem* relnItem = dsm->searchById(relnId);
- writeStream<<*(relnItem);
+ quint8 flag = 1;
+ if(relnItem)
+ {
+ writeStream<<flag;
+ writeStream<<*(relnItem);
+ }
+ else
+ {
+ flag = 0;
+ writeStream<<flag;
+ }
}
break;
+ case SmfRelationSearchByContact:
+ {
+ SmfContact contact;
+ readStream>>contact;
+
+ SmfRelationId relnId = dsm->searchByContact(contact);
+ writeStream<<relnId;
+ break;
+ }
case SmfRelationCount:
{
SmfRelationId relationId;
@@ -233,9 +316,19 @@
readStream>>relationId;
readStream>>index;
SmfRelationItem* relnItem = dsm->getContact(relationId,index);
- writeStream<<relnItem;
+ quint8 flag = 1;
+ if(relnItem)
+ {
+ writeStream<<flag;
+ writeStream<<*(relnItem);
+ }
+ else
+ {
+ flag = 0;
+ writeStream<<flag;
+ }
+ break;
}
- break;
case SmfRelationGetAll:
{
SmfRelationId relationId;
@@ -251,22 +344,34 @@
writeStream<<relnIdList;
}
break;
+ case SmfRelationDeleteRelation:
+ {
+ SmfRelationId relnId;
+ readStream>>relnId;
+ SmfError err = dsm->deleteRelation(relnId);
+ int errInt = err;
+ writeStream<<errInt;
+ break;
+ }
default:
break;
}
return SmfNoError;
}
+
/**
* This slot is invoked when CM finishes the authorization of the client.
* @param authID As it contains the session ptr, sever directly invokes the session's API to notify success
*/
void SmfServer::clientAuthorizationFinished(bool success,SmfClientAuthID authID )
{
+ qDebug()<<"Inside SmfServer::clientAuthorizationFinished()";
//TODO:- implement this api in session class
//note:- in case success is false client completes the request with SmfErrClientAuthFailed
//TODO:- define set of smf wide error after consulting with other module owners
- authID.session->clientathorizationFinished(success);
+ authID.session->clientAuthorizationFinished(success);
}
+
/**
* This API is called by PM once its done with request and parsing
* @param requestID The request id which is completed
@@ -274,15 +379,13 @@
* @param error Error occured
* TODO:- should use smf wide global errors instead
*/
-void SmfServer::resultsAvailable(int requestID,QByteArray* parsedData,SmfError error)
+void SmfServer::resultsAvailable ( int requestID, QByteArray* parsedData, SmfError error )
{
- qDebug()<<("SmfServer::resultsAvailable");
- qDebug()<<("requestID=");
- qDebug()<<(QString::number(requestID));
- qDebug()<<("parsedData->size()=");
- qDebug()<<(QString::number(parsedData->size()));
- qDebug()<<("Error=");
- qDebug()<<(QString::number(error));
+ qDebug()<<"Inside SmfServer::resultsAvailable()";
+ qDebug()<<"requestID = "<<requestID;
+ qDebug()<<"parsedData->size() = "<<parsedData->size();
+ qDebug()<<"Error = "<<error;
+
//Serialize error followed by actual data
QByteArray dataWithError;
QDataStream writer(&dataWithError,QIODevice::WriteOnly);
@@ -291,16 +394,11 @@
{
writer<<*(parsedData);
}
+
//find out the appropriate session and request id and service that
m_SmfServerPrivate->findAndServiceclient(requestID,&dataWithError,error);
}
-/**
- * Seems reduntant
- */
-void SmfServer::serviceClient(QByteArray* parsedData)
- {
- Q_UNUSED(parsedData)
- }
+
/**
* This is called when CMclient notifies client expiry.
* @param type notification type, set of enums for future expansion
@@ -313,20 +411,16 @@
//resend the notify request
//CMclient->requestAuthExpiryNotify();
}
-/*void SmfServer::writeLog(QString log) const
+
+#ifdef CLIENT_SERVER_TEST
+/**
+ * Seems reduntant
+ */
+/*void SmfServer::serviceClient(QByteArray* parsedData)
{
-#ifdef WRITE_LOG
- QFile file("c:\\data\\SmfServerLogs.txt");
- if (!file.open(QIODevice::Append | QIODevice::Text))
- ;
- QTextStream out(&file);
- out << log << "\n";
- file.close();
-#else
- Q_UNUSED(log)
-#endif
+ Q_UNUSED(parsedData)
}*/
-//#ifdef CLIENT_SERVER_TEST
+
dummyPM::dummyPM(SmfServer* server,QObject* parent)
: m_server(server),QObject(parent)
{
@@ -348,4 +442,4 @@
{
}
-//#endif
+#endif
--- a/smf/smfservermodule/smfserver/server/smfserver.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserver.h Thu Aug 05 16:48:48 2010 +0530
@@ -1,185 +1,193 @@
/**
-* Copyright (c) 2010 Sasken Communication Technologies Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "{License}"
-* which accompanies this distribution, and is available
-* at the URL "{LicenseUrl}".
-*
-* Initial Contributors:
-* Manasij Roy, Sasken Communication Technologies Ltd - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* SMF Server component which handles the client requests and delegates them propoerly to the appropriate component
-*
-*/
+ * 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:
+ * SMF Server component which handles the client requests and delegates
+ * them propoerly to the appropriate component
+ *
+ */
#ifndef SMFSERVER_H
#define SMFSERVER_H
+
#include <QObject>
-#include<QMap>
-//SMF wide global const and macros, to be shared among SMF components as well as SMF aware apps
-#include "smfglobal.h"
-#include "smfprovider.h"
-#include "smftransportmanager.h" // Transport Manager
-#include <SmfCredMgrClientGlobal.h>
-/*
-* Forward declarations
-* Other components of the SMF
-*/
+#include <QMap>
+#include <smfglobal.h>
+#include <smfcredmgrclientglobal.h>
+#ifdef CLIENT_SERVER_TEST
+ #include <QTimer>
+ #include <QTextStream>
+#endif
+
+#include "smfserverglobal.h"
+
+// Forward declarations(Other components of the SMF)
class SmfTransportManager;
class SmfPluginManager;
-class SmfDataStoreManager;
-class SmfSettingsAuthManager;
-class SmfClient;
class SmfCredMgrClient;
+class SmfProvider;
+//Private implementation for different platforms
+#ifdef Q_OS_SYMBIAN
+ class SmfServerSymbian;
+ class SmfServerSymbianSession;
+#else
+ class SmfServerQt;
+ class SmfServerQtSession;
+#endif
+
+
//For the time being, need to change later
typedef QString SmfInterfaceID;
//For the time being, need to change later
typedef QString SmfPluginID;
//TODO:- define proper enums after consulting with CM owner
typedef int NotificationType;
-//Private implementation for different platforms
-#ifdef Q_OS_SYMBIAN
-class SmfServerSymbian;
-class SmfServerSymbianSession;
-#else
-class SmfServerQt;
-class SmfServerQtSession;
-#endif
-#include "smfcontact.h"
-#ifdef NO_OTHER_MODULES
-#include <QTimer>
-#include <QTextStream>
-#endif
+
+
/**
* SmfServer manages the client requests and delegates them to the appropriate SMF component,
- * service the clients asymchronously
- *
+ * service the clients synchronously or asynchronously
*/
class SmfServer : public QObject
-{
- Q_OBJECT
-
+ {
+ Q_OBJECT
+
public:
-
- SmfServer(QObject* parent = 0);
-
- /**
- * Does the following,-
- *First it'll check whether server is already running, if already running it'll
- *simply return
- *else
- *it'll start the server exe and initialize all other SMF components
- *returns whether server is started successfully or not
- */
- bool startServer();
-
- ~SmfServer();
-
+ SmfServer(QObject* parent = 0);
+ ~SmfServer();
+
+ /**
+ * Does the following,-
+ * First it'll check whether server is already running, if already
+ * running it'll simply return
+ * else it'll start the server exe and initialize all other SMF
+ * components returns whether server is started successfully or not
+ */
+ bool startServer();
+
public:
- /*
- * Requests Plugin Manager to get a list of plugin IDs who implement
- * the interface interfaceID.
- * This is used got SmfClient::GetServices () where we need a list of plugins
- */
- void getPlugins(SmfInterfaceID interfaceID, QMap<SmfPluginID,SmfProvider>& pluginIDMap);
- /**
- * Same as above, except this is used for rest of the requests where we need
- * a particular plugin
- */
- SmfPluginID getPlugin(SmfInterfaceID interfaceID,SmfProvider provider);
-
- /*
- * Requests the Credential Manager to filter out non-authorized plugin IDs
- * from the list and get authorized plugins into authList.
- */
- void getAuthorizedPlugins(QList<SmfPluginID>& list,QList<SmfPluginID>& authList);
-
- /**
- * Request CM API to get the list of authenticated plugins
- * @see SmfCredMgrClient::authenticatedPluginList()
- */
- QStringList getAuthenticatedPluginList(QString RegistrationToken);
-
-
- SmfTransportInitializeResult prepareTransport();
- /**
- * DEbugging purpose only
- */
- //void writeLog(QString log) const;
- /**
- * Request the Plugin manager to get the data.
- * @param requestID Corresponds to a client's session
- * @param pluginID Plugin for which the request is intended
- * @param interfaceID Interface name
- * @param dataForPlugin Data to be sent for this request
- *
- */
- void sendToPluginManager(int requestID,SmfPluginID pluginID,SmfInterfaceID interfaceID,SmfRequestTypeID requestTypeID,QByteArray dataForPlugin = QByteArray(), int pageNo=-1,int perpage=-1);
- /**
- * Delegates the request to DSM and receives data synshronously.
- * @param qtdataForDSM Data to be passed to DSM
- * @param opcode Opcode
- * @param qtdataFromDSM Data received from DSM
- * @return Error value returned from DSM
- */
- SmfError sendToDSM(QByteArray qtdataForDSM,SmfRequestTypeID opcode,QByteArray& qtdataFromDSM);
+ /**
+ * Requests Plugin Manager to get a list of plugin IDs who implement
+ * the interface interfaceID.
+ * This is used for SmfClient::GetServices () where we need a list of plugins
+ */
+ void getPlugins ( const SmfInterfaceID& interfaceID,
+ QMap<SmfPluginID,SmfProvider>& pluginIDMap);
+
+ /**
+ * Same as above, except this is used for rest of the requests where we need
+ * a particular plugin
+ */
+ SmfPluginID getPlugin ( const SmfInterfaceID& interfaceID, SmfProvider provider);
+
+ /**
+ * Requests the Credential Manager to filter out non-authorized plugin IDs
+ * from the list and get authorized plugins into authList.
+ */
+ void getAuthorizedPlugins ( QList<SmfPluginID>& list, QList<SmfPluginID>& authList );
+
+ /**
+ * Request CM API to get the list of authenticated plugins
+ * @see SmfCredMgrClient::authenticatedPluginList()
+ */
+ QStringList getAuthenticatedPluginList ( QString RegistrationToken );
+
+ /**
+ * Request the Plugin manager to get the data.
+ * @param requestID Corresponds to a client's session
+ * @param pluginID Plugin for which the request is intended
+ * @param interfaceID Interface name
+ * @param dataForPlugin Data to be sent for this request
+ */
+ void sendToPluginManager ( int requestID, SmfPluginID pluginID,
+ SmfInterfaceID interfaceID, SmfRequestTypeID requestTypeID,
+ QByteArray dataForPlugin = QByteArray() );
+
+ /**
+ * Request the Plugin manager to get the data.
+ * @param requestID Corresponds to a client's session
+ * @param pluginID Plugin for which the request is intended
+ * @param interfaceID Interface name
+ * @param dataForPlugin Data to be sent for this request
+ */
+ SmfError sendToPluginManager ( SmfPluginID pluginID,
+ SmfInterfaceID interfaceID, SmfRequestTypeID requestTypeID,
+ QByteArray dataForPlugin, QByteArray &outputData);
+
+ /**
+ * Delegates the request to DSM and receives data synshronously.
+ * @param qtdataForDSM Data to be passed to DSM
+ * @param opcode Opcode
+ * @param qtdataFromDSM Data received from DSM
+ * @return Error value returned from DSM
+ */
+ SmfError sendToDSM ( QByteArray qtdataForDSM, SmfRequestTypeID opcode,
+ QByteArray& qtdataFromDSM );
+
public slots:
-
- /*
+ /**
* This slot is called when Credential Manager is done with the autherizing
* the client for the first time. See isClientAuthorized() and authorizeClient().
* success specifies the success of the authorization, authID is the authentication
* ID in case its not same as SID of the client.
*/
- void clientAuthorizationFinished(bool success,SmfClientAuthID authID );
-
- /*
+ void clientAuthorizationFinished ( bool success, SmfClientAuthID authID );
+
+ /**
* This slot is called as a result of trigger from Plugin manager when the
* parsed data is available.
* @param requestID The request ID for which result is available
* @param parsedData Serialized data
*/
- void resultsAvailable(int requestID,QByteArray* parsedData,SmfError error);
+ void resultsAvailable ( int requestID, QByteArray* parsedData, SmfError error );
- /*
+#ifdef CLIENT_SERVER_TEST
+ /**
* Services the client request by sending the requested data.
* Note:- This will be handled by private implementation.
*/
- void serviceClient(QByteArray* parsedData);
-
-
- /*
+/* void serviceClient ( QByteArray* parsedData );*/
+
+ /**
* This slot is called for every cleanup timer expiry, in this slot, we need
* to call SmfDataStoreManager's API to refresh data store
*/
- void timerExpired(){};
+ void timerExpired ( ) {}
- /*
+ /**
* This method is called every time timerExpired slot is trigerred
* Fetches the last saved requests through Transport Manager and Plugin Manager
* Who will save the last request (Tranport Manager or Data Store Manager) TBD later
- *
*/
- void runSavedRequest(){};
-
- /*
+ void runSavedRequest ( ) {}
+#endif
+ /**
* This slot is called when the data store updates are available as a result of
* "runSavedRequest()".
* Note:- The "10.4.1.11 updateDatastore" can be merged with this
*/
- void dataStoreUpdateAvailable(QByteArray* respData){Q_UNUSED(respData)};
+ void dataStoreUpdateAvailable ( QByteArray* respData ){ Q_UNUSED(respData) }
/**
* Server calls this method when it receives message from the CM
* that authentication keys for the pluginID has expired
*/
- void authenticationKeysExpired(NotificationType type,SmfPluginID id);
-signals:
- //None at the moment
+ void authenticationKeysExpired ( NotificationType type, SmfPluginID id );
+
+private:
+ SmfTransportInitializeResult prepareTransport();
+
private:
//private impl
#ifdef Q_OS_SYMBIAN
@@ -190,11 +198,9 @@
//Handles of other SMF components
SmfTransportManager* m_transportManager;
SmfPluginManager* m_pluginManager;
- SmfDataStoreManager* m_dataStoreManager;
- SmfSettingsAuthManager* m_settingsAuthManager;
- SmfClient* m_smfClient;
SmfCredMgrClient* m_credentialMngr;
-};
+ };
+
#ifdef CLIENT_SERVER_TEST
class dummyPM : public QObject
{
--- a/smf/smfservermodule/smfserver/server/smfserverqt.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserverqt.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -17,94 +17,89 @@
*
*/
+#include <QLocalServer>
+#include <QLocalSocket>
+
#include "smfserverqt_p.h"
#include "smfserverqtsession.h"
#include "smfserver.h"
-#include <QLocalServer>
-#include <QLocalSocket>
-
SmfServerQt::SmfServerQt(SmfServer *wrapper)
: m_generic(wrapper)
-{
+ {
m_server = new QLocalServer(this);
connect(m_server, SIGNAL(newConnection()), this, SLOT(newClientConnected()));
-}
+ }
SmfServerQt::~SmfServerQt()
-{
+ {
m_server->close();
-}
+ }
/**
* Start the server listening for connections.
*/
bool SmfServerQt::start()
-{
+ {
const QString KServerName("SmfServerQt");
if (m_server->listen(KServerName))
- {
+ {
qDebug()<<(QString(m_server->serverName() + ": listening for connections."));
return true;
- }
+ }
else
- {
+ {
qDebug()<<(QString(KServerName + ": failed to start"));
qDebug()<<(QString(m_server->errorString()));
return false;
- }
-}
+ }
+ }
/**
* Return the number of open sessions
*/
int SmfServerQt::sessionListCount() const
-{
+ {
return m_sessions.count();
-}
-
-/*void SmfServerQt::writeLog(QString log) const
-{
- qDebug() << log.toAscii().constData();
-}*/
+ }
/**
* Called by the SmfServer when client authorization finishes.
* @param success success of the authorization
*/
void SmfServerQt::clientAuthorizationFinished(bool success)
-{
+ {
Q_UNUSED(success);
-}
+ }
/**
* Slot to receive incoming connections
*/
void SmfServerQt::newClientConnected()
-{
+ {
QLocalSocket *client(m_server->nextPendingConnection());
if (!client)
- {
- qDebug()<<("SmfServerQt::newClientConnected(): no socket - client may have dropped.");
+ {
+ qDebug()<<"SmfServerQt::newClientConnected(): no socket - client may have dropped.";
return;
- }
+ }
// Create a new session for this client.
- qDebug()<<("Client connected.");
+ qDebug()<<"Client connected.";
m_sessions.append(new SmfServerQtSession(client, this));
-}
+ }
void SmfServerQt::removeFromList()
-{
-}
+ {
+ }
int SmfServerQt::findAndServiceclient(int requestID,QByteArray* parsedData,SmfError error)
-{
+ {
Q_UNUSED(requestID);
Q_UNUSED(parsedData);
Q_UNUSED(error);
return 0;
-}
+ }
--- a/smf/smfservermodule/smfserver/server/smfserverqt_p.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserverqt_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -11,24 +11,24 @@
*
* Contributors:
* Manasij Roy, Nalina Hariharan
-* Description:
-* SMF Server implementation for platforms other than Symbian.
-* Uses QLocalServer-QLocalSocket classes
-*
-*/
+ * Description:
+ * SMF Server implementation for platforms other than Symbian.
+ * Uses QLocalServer-QLocalSocket classes
+ *
+ */
#ifndef SMFSERVERQT_P_H
#define SMFSERVERQT_P_H
-#include "smfglobal.h"
+#include <QObject>
+#include <smfglobal.h>
-#include <QObject>
class SmfServer;
class QLocalServer;
class QLocalSocket;
class SmfServerQt : public QObject
-{
+ {
Q_OBJECT
public:
@@ -39,7 +39,6 @@
bool start();
int sessionListCount() const;
- //void writeLog(QString log) const;
void clientAuthorizationFinished(bool success);
int findAndServiceclient(int requestID,QByteArray* parsedData,SmfError error);
@@ -65,6 +64,6 @@
SmfServerQt *iServer;
QLocalSocket *iClientConnection;
-};
+ };
#endif // SMFSERVERQT_P_H
--- a/smf/smfservermodule/smfserver/server/smfserverqtsession.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserverqtsession.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -12,77 +12,78 @@
* Contributors:
* Manasij Roy, Nalina Hariharan
*
- *
* Description: Session implementation for Qt desktop builds
*
*/
+#include <qdebug.h>
+
#include "smfserverqtsession.h"
#include "smfserverqt_p.h"
#include "smfserver.h"
SmfServerQtSession::SmfServerQtSession(QLocalSocket *clientConnection, SmfServerQt *server)
: m_opCode(-1), m_clientConnection(clientConnection), m_server(server)
-{
+ {
connect(m_clientConnection, SIGNAL(readyRead()), this, SLOT(readDataFromClient()));
connect(m_clientConnection, SIGNAL(error(QLocalSocket::LocalSocketError)),
this, SLOT(socketError(QLocalSocket::LocalSocketError)));
-}
+ }
SmfServerQtSession::~SmfServerQtSession()
-{
+ {
// The socket has the QLocalServer as a parent, but it should be deleted to
// save unnecessary accumulation of these objects in memory. It won't be double deleted.
delete m_clientConnection;
-}
+ }
void SmfServerQtSession::readDataFromClient()
-{
+ {
// TODO: This needs to be much safer.
if(m_clientConnection->bytesAvailable() < sizeof(typeof(SmfRequestTypeID)))
- {
+ {
// Don't read yet, haven't received opcode
return;
- }
+ }
if (m_opCode == -1)
- {
+ {
QDataStream in(m_clientConnection);
in >> m_opCode;
- }
+ }
// m_opCode set, so handle request
handleRequest();
-}
+ }
/**
* Call the appropriate handler function
*/
void SmfServerQtSession::handleRequest()
-{
+ {
switch (m_opCode)
- {
- case SmfGetService:
- handleGetService();
- break;
- default:
- m_server->writeLog(QString("Bad Request received: ") + m_opCode);
- }
-}
+ {
+ case SmfGetService:
+ handleGetService();
+ break;
+ default:
+ qDebug()<<"Bad Request received = "<<m_opCode);
+ }
+ }
/**
* Find available services for specified interface and return list to client.
*/
void SmfServerQtSession::handleGetService()
-{
- m_server->writeLog("SmfServerQtSession::handleGetService()");
+ {
+ qDebug()<<"SmfServerQtSession::handleGetService()";
QDataStream in(m_clientConnection);
// Get interface type requested
SmfInterfaceID ifName;
in >> ifName;
- m_server->writeLog("Requested: " + ifName);
+ qDebug()<<"Requested = "<<ifName;
// Get the available services for this interface
QMap<SmfPluginID, SmfProvider> services;
@@ -91,26 +92,25 @@
// write back the results
QDataStream out(m_clientConnection);
out << services;
-}
+ }
void SmfServerQtSession::clientAuthorizationFinished(bool success)
-{
+ {
Q_UNUSED(success);
-}
+ }
void SmfServerQtSession::socketError(QLocalSocket::LocalSocketError error)
-{
+ {
switch (error)
- {
- case QLocalSocket::PeerClosedError:
- m_server->writeLog("Peer closed connection.");
- break;
- case QLocalSocket::SocketTimeoutError:
- m_server->writeLog("error: connection timed out.");
- break;
- default:
- m_server->writeLog("error: unkown socket error: " + error);
- break;
- }
-}
-
+ {
+ case QLocalSocket::PeerClosedError:
+ qDebug()<<"Peer closed connection.";
+ break;
+ case QLocalSocket::SocketTimeoutError:
+ qDebug()<<"error: connection timed out.";
+ break;
+ default:
+ qDebug()<<"error: unkown socket error: "<<error;
+ break;
+ }
+ }
--- a/smf/smfservermodule/smfserver/server/smfserverqtsession.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserverqtsession.h Thu Aug 05 16:48:48 2010 +0530
@@ -12,7 +12,6 @@
* Contributors:
* Manasij Roy, Nalina Hariharan
*
- *
* Description: Session implementation for Qt desktop builds
*
*/
@@ -26,7 +25,7 @@
class SmfServerQt;
class SmfServerQtSession : public QObject
-{
+ {
Q_OBJECT
public:
@@ -47,6 +46,6 @@
int m_opCode;
QLocalSocket *m_clientConnection;
SmfServerQt *m_server;
-};
+ };
#endif // SMFSERVERQTSESSION_H
--- a/smf/smfservermodule/smfserver/server/smfserversymbian.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserversymbian.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -12,18 +12,15 @@
* Contributors:
* Manasij Roy, Nalina Hariharan
*
- *
- * Description: Private implementation for Symbian OS
+ * Description:
+ * SMF Server private implementation for Symbian
*
*/
-#ifdef WRITE_LOG
-#include <QFile>
-#include <QTextStream>
-#endif
+
#include <QDataStream>
-#include <QStringList>
-#include <QString>
+#include <QDebug>
#include <smfrelationmgr.h>
+
#include "smfserversymbian_p.h"
@@ -32,20 +29,28 @@
SmfServerSymbian* self = new(ELeave) SmfServerSymbian(aActiveObjectPriority,aWrapper);
CleanupStack::PushL(self);
self->ConstructL();
- CleanupStack::Pop(); // self
+ CleanupStack::Pop();
return self;
}
+
void SmfServerSymbian::ConstructL()
{
}
+
SmfServerSymbian::SmfServerSymbian( CActive::TPriority aActiveObjectPriority,SmfServer* aWrapper )
: CPolicyServer(0,myPolicy, ESharableSessions), iWrapper(aWrapper)
{
Q_UNUSED(aActiveObjectPriority)
}
+
+SmfServerSymbian::~SmfServerSymbian()
+ {
+ }
+
TInt SmfServerSymbian::addToSessionMap(SmfServerSymbianSession* aSession,const RMessage2& aMsg)
{
- qDebug()<<("SmfServerSymbian::addToSessionMap");
+ qDebug()<<"Inside SmfServerSymbian::addToSessionMap()";
+
if(iSessionCount)
{
//The key generation
@@ -66,66 +71,55 @@
return (-1);
}
+
TInt SmfServerSymbian::removeFromSessionMap(SmfServerSymbianSession* aSession,RMessage2& aMsg)
{
+ //To be implemented
Q_UNUSED(aSession)
-Q_UNUSED(aMsg)
-//To be implemented
+ Q_UNUSED(aMsg)
return 0;
}
-//TODO - change this to a macro using qdebug to avoid file opening and closing
-/*void SmfServerSymbian::writeLog(QString log) const
- {
-#ifdef WRITE_LOG
- QFile file("c:\\data\\SmfServerLogs.txt");
- if (!file.open(QIODevice::Append | QIODevice::Text))
- return;
- QTextStream out(&file);
- out << log << "\n";
- file.close();
-#else
- Q_UNUSED(log)
-#endif
- }*/
-SmfServerSymbian::~SmfServerSymbian()
- {
- }
SmfServer* SmfServerSymbian::wrapper()
{
return iWrapper;
}
+
CSession2* SmfServerSymbian::NewSessionL(const TVersion& aVersion, const RMessage2& /*aMessage*/) const
{
+ qDebug()<<"Inside SmfServerSymbian::NewSessionL()";
+
Q_UNUSED(aVersion)
// Check that the version is OK
// TVersion v( 0, 1, 0 );
// if (!User::QueryVersionSupported( v, aVersion ))
- // User::Leave( KErrNotSupported );
+ // User::Leave( KErrNotSupported );
+
// Create the session.
- QString log("New session created");
- qDebug()<<(log);
+ qDebug()<<"New session created";
return new (ELeave) SmfServerSymbianSession( const_cast<SmfServerSymbian*>(this) );
}
+
SmfServerSymbianSession* SmfServerSymbian::findSession(TInt id)
{
- qDebug()<<("SmfServerSymbian::findSession");
+ qDebug()<<"Inside SmfServerSymbian::findSession()";
CSessionStruct* sessionStruct = iMap.Find(id);
if(sessionStruct)
{
- qDebug()<<("Session id found");
+ qDebug()<<"Session id found";
return sessionStruct->iSession;
}
else
{
- qDebug()<<("Session id not found");
+ qDebug()<<"Session id not found";
return NULL;
}
}
+
TInt SmfServerSymbian::findAndServiceclient(TInt requestID,QByteArray* parsedData,SmfError error)
{
- qDebug()<<("SmfServerSymbian::findAndServiceclient");
+ qDebug()<<"Inside SmfServerSymbian::findAndServiceclient()";
SmfServerSymbianSession* sessionToservice = findSession(requestID);
if(sessionToservice)
{
@@ -133,23 +127,30 @@
}
return 0;
}
+
+
+
SmfServerSymbianSession::SmfServerSymbianSession(SmfServerSymbian* aServer):
iServer(aServer),iPtrToBuf(NULL,0) ,
- iIntfNmaeSymbian(NULL,0), iProviderSymbian(NULL,0),
- iIntfNameSymbian16(NULL,0) ,iXtraDataPtr(NULL,0),
- iPtrToDataForClient(NULL,0) ,iPtrDataForDSM(NULL,0),iPtrDataFromDSM(NULL,0)
+ iIntfNameSymbian8(NULL,0), iProviderSymbian8(NULL,0),
+ iIntfNameSymbian(NULL,0) ,iXtraDataPtr8(NULL,0),
+ iPtrToDataForClient(NULL,0) ,iPtr8DataForDSM(NULL,0),iPtr8DataFromDSM(NULL,0)
{
+ qDebug()<<"Inside SmfServerSymbianSession::SmfServerSymbianSession()";
iServer->iSessionCount++;
}
+
SmfServerSymbianSession::~SmfServerSymbianSession()
{
+ qDebug()<<"Inside SmfServerSymbianSession::~SmfServerSymbianSession()";
//cleanup of client resources
iServer->iSessionCount--;
}
-
-void SmfServerSymbianSession::clientathorizationFinished(bool success)
+void SmfServerSymbianSession::clientAuthorizationFinished(bool success)
{
+ qDebug()<<"Inside SmfServerSymbianSession::clientAuthorizationFinished() = "<<success;
+
//Client authorization failed
if(!success)
{
@@ -161,12 +162,14 @@
HandleClientMessageL(iMessage);
}
}
+
void SmfServerSymbianSession::resultsAvailable(QByteArray* parsedData,SmfError error)
{
-
+ qDebug()<<"Inside SmfServerSymbianSession::resultsAvailable()";
+
//Note:- The order of serialization of parsedData - Error value followed by the data
//parsedData is already serialized by PM
- qDebug()<<("SmfServerSymbianSession::resultsAvailable");
+
//We should remove the request from the map as soon its no longer outstanding
iServer->removeFromSessionMap(this,iMessage);
@@ -181,34 +184,30 @@
iPtrToDataForClient.Copy(reinterpret_cast<const TText8*>(parsedData->constData()),parsedData->length());
TInt writeErr = iMessage.Write(2,iPtrToDataForClient);
- qDebug()<<("Write=");
- QString wrErr = QString::number(writeErr);
- qDebug()<<(wrErr);
+ qDebug()<<"iMessage.Write() = "<<writeErr;
+
//signal completion for the last request
iMessage.Complete(error);
}
+
void SmfServerSymbianSession::ServiceL(const RMessage2& aMessage)
{
+ qDebug()<<"Inside SmfServerSymbianSession::ServiceL() = "<<iMessage.Function();
+ iMessage = aMessage;
- qDebug()<<("SmfServerSymbianSession::ServiceL=");
- iMessage = aMessage ;
- QString log;
- log = QString::number(iMessage.Function());
- qDebug()<<(log);
//construct the client auth id
SmfClientAuthID clientAuthID;
clientAuthID.pid = aMessage.SecureId();
clientAuthID.session = this;
//TODO:- No client pid checking?No capability? So why symbian client-server?
HandleClientMessageL(iMessage);
+ }
- }
void SmfServerSymbianSession::HandleClientMessageL(const RMessage2& aMessage)
{
- qDebug()<<("HandleClientMessageL");
+ qDebug()<<"Inside SmfServerSymbianSession::HandleClientMessageL() = "<<aMessage.Function();
iLastRequest = aMessage.Function();
-
/**Note:- Only ESmfGetService needs to be taken care separately as it doesn't involve createrequest for PM
*See SmfRequestTypeID for list of opcodes
*
@@ -220,9 +219,14 @@
*TODO:- to be changed after GetServices returns SmfProvider+pluginID
*
*/
- if(iLastRequest == SmfGetService)
+ if( (SmfGetService == iLastRequest) ||
+ (SmfPostGetMaxCharsInPost == iLastRequest) ||
+ (SmfPostGetMaxItems == iLastRequest) ||
+ (SmfPostGetSupportedFormats == iLastRequest)||
+ (SmfPostGetAppearanceSupport == iLastRequest) )
+
{
- HandleGetService(aMessage);
+ HandleSyncServiceL(aMessage);
}
else if(iLastRequest == SmfRelationCreate ||
iLastRequest == SmfRelationAssociate ||
@@ -231,7 +235,8 @@
iLastRequest == SmfRelationCount ||
iLastRequest == SmfRelationGet ||
iLastRequest == SmfRelationGetAll ||
- iLastRequest == SmfRelationGetAllRelations
+ iLastRequest == SmfRelationGetAllRelations ||
+ iLastRequest == SmfRelationDeleteRelation
)
{
HandleDSMServiceL(aMessage);
@@ -241,71 +246,103 @@
HandleCommonServiceL(aMessage);
}
}
+
void SmfServerSymbianSession::HandleDSMServiceL(const RMessage2 & aMessage)
{
+ qDebug()<<"Inside SmfServerSymbianSession::HandleDSMServiceL()";
//TODO:-If DSM takes care of deserialization and formation of User and social
//profile from the params then switch case can be removed
- if(iDataForDSM)
+ if(iData8ForDSM)
{
- delete iDataForDSM;
- iDataForDSM = NULL;
+ delete iData8ForDSM;
+ iData8ForDSM = NULL;
}
switch(iLastRequest)
{
case SmfRelationCreate:
{
- iDataForDSM = HBufC8::New(maxSmfRelationIdSize);
- iPtrDataForDSM.Set(iDataForDSM->Des());
- TInt readerr0 = aMessage.Read(0,iPtrDataForDSM);
-
+ iData8ForDSM = HBufC8::New(maxSmfRelationIdSize);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
}
break;
case SmfRelationAssociate:
{
int maxAlloc = 100;
- iDataForDSM = HBufC8::New(maxAlloc);
- iPtrDataForDSM.Set(iDataForDSM->Des());
- TInt readerr0 = aMessage.Read(0,iPtrDataForDSM);
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
}
break;
+ case SmfRelationRemove:
+ {
+ iData8ForDSM = HBufC8::New(100);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
+ break;
+ }
case SmfRelationSearchById:
{
int maxAlloc = MaxSmfContactSize;
- iDataForDSM = HBufC8::New(maxAlloc);
- iPtrDataForDSM.Set(iDataForDSM->Des());
- TInt readerr0 = aMessage.Read(0,iPtrDataForDSM);
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
+ }
+ break;
+ case SmfRelationSearchByContact:
+ {
+ int maxAlloc = 500; // hard coded in relation manager
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
}
break;
case SmfRelationCount:
{
int maxAlloc = 100;
- iDataForDSM = HBufC8::New(maxAlloc);
- iPtrDataForDSM.Set(iDataForDSM->Des());
- TInt readerr0 = aMessage.Read(0,iPtrDataForDSM);
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
}
break;
case SmfRelationGet:
{
int maxAlloc = maxSmfRelationItemSize*maxRelationItems;
- iDataForDSM = HBufC8::New(maxAlloc);
- iPtrDataForDSM.Set(iDataForDSM->Des());
- TInt readerr0 = aMessage.Read(0,iPtrDataForDSM);
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
}
break;
case SmfRelationGetAll:
{
int maxAlloc = maxSmfRelationItemSize*maxRelationItems;
- iDataForDSM = HBufC8::New(maxAlloc);
- iPtrDataForDSM.Set(iDataForDSM->Des());
- TInt readerr0 = aMessage.Read(0,iPtrDataForDSM);
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
}
break;
+ case SmfRelationGetAllRelations:
+ {
+ int maxAlloc = maxSmfRelationItemSize*maxRelationItems;
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
+ break;
+ }
+ case SmfRelationDeleteRelation:
+ {
+ int maxAlloc = 100;
+ iData8ForDSM = HBufC8::New(maxAlloc);
+ iPtr8DataForDSM.Set(iData8ForDSM->Des());
+ TInt readerr0 = aMessage.Read(0,iPtr8DataForDSM);
+ break;
+ }
default:
break;
}
//Convert into QByteArray
- QByteArray qtdataForDSM(reinterpret_cast<const char*>(iPtrDataForDSM.Ptr()),iPtrDataForDSM.Length()) ;
+ QByteArray qtdataForDSM(reinterpret_cast<const char*>(iPtr8DataForDSM.Ptr()),iPtr8DataForDSM.Length()) ;
QByteArray qtdataFromDSM;
SmfRequestTypeID opcode = (SmfRequestTypeID)iLastRequest;
SmfError dsmErr = iServer->wrapper()->sendToDSM(qtdataForDSM,opcode,qtdataFromDSM);
@@ -313,15 +350,15 @@
{
if(qtdataFromDSM.size())
{
- if(iDataFromDSM)
+ if(iData8FromDSM)
{
- delete iDataFromDSM;
- iDataFromDSM = NULL;
+ delete iData8FromDSM;
+ iData8FromDSM = NULL;
}
- iDataFromDSM = HBufC8::NewL(qtdataFromDSM.size());
- iPtrDataFromDSM.Set(iDataFromDSM->Des());
- iPtrDataFromDSM.Copy(reinterpret_cast<const TText8*>(qtdataFromDSM.constData()),qtdataFromDSM.length());
- TInt writeErr = aMessage.Write(1,iPtrDataFromDSM);
+ iData8FromDSM = HBufC8::NewL(qtdataFromDSM.size());
+ iPtr8DataFromDSM.Set(iData8FromDSM->Des());
+ iPtr8DataFromDSM.Copy(reinterpret_cast<const TText8*>(qtdataFromDSM.constData()),qtdataFromDSM.length());
+ TInt writeErr = aMessage.Write(1,iPtr8DataFromDSM);
}
}
else
@@ -332,46 +369,137 @@
TInt writeErr = aMessage.Write(2,iDSMErr);
}
}
-void SmfServerSymbianSession::HandleGetService(const RMessage2 & aMessage)
+
+
+void SmfServerSymbianSession::HandleSyncServiceL(const RMessage2 & aMessage)
{
- qDebug()<<("SmfServerSymbianSession::HandleGetService");
+ qDebug()<<"Inside SmfServerSymbianSession::HandleSyncServiceL()";
+
+ // Following is the data format sent by client
+ // 1. SmfProvider +PageInfo flag+ aPageNum + aPerPage (if pageinfoflag is set) + XtraInfo flag(size of xtra data) Serialized
+ // 2. Interface name as string ("org.symbian.smf.client.gallery")
+ // 3. Data pointer to be filled by serialized data(eg: QList<smfProvider>)
+ // 4. Input Data if xtra flag is set
- /**
- * Note:- client sends message for this opcode in the following format,-
- * Slot 0:- Interface Name buffer
- * Slot 1:- Ptr to data block to be filled with SmfProvideList* serialized into QByteArray
- * Slot 2:- Max data size allocated in the client side
- * TODO:- What if size of SmfProviderList to be passed to client is greater than
- * this size???
- */
+ TInt intfNameSize = aMessage.GetDesLength(1);
+ if(iIntfNameBuf8)
+ {
+ delete iIntfNameBuf8;
+ iIntfNameBuf8 = NULL;
+ }
+ iIntfNameBuf8 = HBufC8::NewL(intfNameSize);
+ iIntfNameSymbian8.Set(iIntfNameBuf8->Des());
+
+ //read it into iIntfNameSymbian8
+ aMessage.ReadL(1,iIntfNameSymbian8);
- iInterfaceNametbuf.Zero();
- TInt readerr = aMessage.Read(0,iInterfaceNametbuf);
- qDebug()<<(QString::number(readerr));
- QByteArray bytearray(reinterpret_cast<const char*>(iInterfaceNametbuf.Ptr()),iInterfaceNametbuf.Length()) ;
- QDataStream stream3(&bytearray,QIODevice::ReadOnly);
- stream3>>iInterfaceID;
- qDebug()<<("iInterfaceID=");
- qDebug()<<(iInterfaceID);
+ QByteArray intfName(reinterpret_cast<const char*>(iIntfNameSymbian8.Ptr()),iIntfNameSymbian8.Length()) ;
+ QDataStream readIntfNameStream(&intfName,QIODevice::ReadOnly);
+ iInterfaceID.clear();
+ readIntfNameStream>>iInterfaceID;
+ qDebug()<<"After de-serializing into iInterfaceID = "<<iInterfaceID;
+
//Interface names are diff in client and plugin, replacing *.client.* with *.plugin.*
iInterfaceID.replace(QString(".client"),QString(".plugin"));
- iServer->wrapper()->getPlugins(iInterfaceID,iPluginIDMap);
+
+ // for get services
+ if(SmfGetService == aMessage.Function())
+ HandleGetService(aMessage, iInterfaceID);
+
+ // for other services
+ else
+ {
+ // read provider info
+ TInt providerSize = aMessage.GetDesLength(0);
+ if(iProviderBuf8)
+ {
+ delete iProviderBuf8;
+ iProviderBuf8 = NULL;
+ }
+ iProviderBuf8 = HBufC8::NewL(providerSize);
+ iProviderSymbian8.Set(iProviderBuf8->Des());
+
+ //read it into iProviderSymbian8
+ aMessage.ReadL(0,iProviderSymbian8);
+
+ //convert SmfProvider info from Symbian into bytearray
+ QByteArray providerBufQt(reinterpret_cast<const char*>(iProviderSymbian8.Ptr()),iProviderSymbian8.Length());
+ qDebug()<<"providerBufQt.size = "<<providerBufQt.size();
+
+ //now de-serialize it
+ QDataStream readProviderStream(&providerBufQt,QIODevice::ReadOnly);
+ SmfProvider provider;
+ readProviderStream>>provider;
+ QByteArray XtraBufQt;
+ readProviderStream>>XtraBufQt;
+
+ //Get the plugin ID who matches provider info for a given intf name
+ SmfPluginID pluginID = iServer->wrapper()->getPlugin(iInterfaceID,provider);
+ qDebug()<<"pluginID from PM = "<<pluginID;
+
+ //we need to check only this pluginID is authorized
+ iPluginIDList.clear();
+ iPluginIDList<<pluginID;
+
+ //iAuthList will contain pluginID for a successfull case
+ iAuthList.clear();
+ iServer->wrapper()->getAuthorizedPlugins(iPluginIDList,iAuthList);
+
+ if(iAuthList.contains(pluginID))
+ {
+ //Plugin ID is authorised, service the request
+ //Generate request id only if the plugin ID is authorised
+ //request PM to get the data
+ SmfRequestTypeID opcode = (SmfRequestTypeID)aMessage.Function();
+ resultData.clear();
+ SmfError err = iServer->wrapper()->sendToPluginManager(pluginID,iInterfaceID,opcode,XtraBufQt, resultData);
+
+ if(resultData.size())
+ {
+ TPtrC8 resultPtr8(reinterpret_cast<const TText8*>(resultData.constData()),resultData.length());
+
+ TInt writeErr = aMessage.Write(2,resultPtr8);
+ qDebug()<<"aMessage.Write(2) = "<<writeErr;
+ }
+ else
+ {
+ iErrBuf.Zero();
+ iErrBuf.AppendNum(err);
+ iMessage.Write(2,iErrBuf);
+ }
+
+ //signal completion
+ aMessage.Complete(iLastRequest);
+ }
+ else
+ {
+ SmfError err = SmfNoAuthorizedPlugin;
+ iErrBuf.Zero();
+ iErrBuf.AppendNum(err);
+ iMessage.Write(2,iErrBuf);
+ aMessage.Complete(iLastRequest);
+ }
+ }
+ }
+
+void SmfServerSymbianSession::HandleGetService(const RMessage2 & aMessage, const SmfInterfaceID& aInterfaceID)
+ {
+ qDebug()<<"Inside SmfServerSymbianSession::HandleGetService()";
+
+ iServer->wrapper()->getPlugins(aInterfaceID,iPluginIDMap);
+
//form the plugin id list from the map
- QMapIterator<SmfPluginID, SmfProvider> iter(iPluginIDMap);
iPluginIDList.clear();
- while (iter.hasNext())
- {
- iter.next();
- iPluginIDList<<iter.key();
- }
+ iPluginIDList = iPluginIDMap.uniqueKeys();
+
//iAuthList will be filled by credential manager
iServer->wrapper()->getAuthorizedPlugins(iPluginIDList,iAuthList);
- //iPluginIDMap now contains SmfProvider info to return to the client
- //No need to add this to session map, as we are not requesting PM for this
+ // iPluginIDMap now contains SmfProvider info to return to the client
+ // No need to add this to session map, as we are not requesting PM for this
QMap<SmfPluginID, SmfProvider> tempMap;
QMapIterator<SmfPluginID, SmfProvider> i(iPluginIDMap);
- while (i.hasNext())
+ while(i.hasNext())
{
i.next();
if(iAuthList.contains(i.key()))
@@ -379,37 +507,35 @@
tempMap.insert(i.key(),i.value());
}
}
- //now tempMapcontains the info to be passed to the client
+ //now tempMap contains the info to be passed to the client
iPluginIDMap.clear();
iPluginIDMap = tempMap;
+
//form list of smfprovider from this map,-
- QList<SmfProvider> providerList;
- i = iPluginIDMap;
- while(i.hasNext())
- {
- i.next();
- providerList.append(i.value());
- }
+ QList<SmfProvider> providerList = iPluginIDMap.values();
+
//now serialize this list into bytearray
- byteArrayToClnt.clear();
- QDataStream stream(&byteArrayToClnt,QIODevice::WriteOnly);
+ resultData.clear();
+ QDataStream stream(&resultData,QIODevice::WriteOnly);
stream<<providerList;
- qDebug()<<("providerList.count()=");
- qDebug()<<(QString::number(providerList.count()));
- qDebug()<<("Before providerListSymbian");
+ qDebug()<<"providerList.count() = "<<providerList.count();
+
+ qDebug()<<"Before providerListSymbian";
//now convert it into TPtr8
- TPtrC8 providerListSymbian(reinterpret_cast<const TText8*>(byteArrayToClnt.constData()),byteArrayToClnt.length());
- qDebug()<<("After providerListSymbian");
- TInt writeErr = aMessage.Write(1,providerListSymbian);
- qDebug()<<("Write=");
- QString wrErr = QString::number(writeErr);
- qDebug()<<(wrErr);
+ TPtrC8 providerListSymbian(reinterpret_cast<const TText8*>(resultData.constData()),resultData.length());
+ qDebug()<<"After providerListSymbian";
+
+ TInt writeErr = aMessage.Write(2,providerListSymbian);
+ qDebug()<<"aMessage.Write(2) = "<<writeErr;
+
//signal completion
- TInt completion = SmfGetServiceComplete ;
+ TInt completion = SmfGetService;
aMessage.Complete(completion);
}
+
void SmfServerSymbianSession::HandleCommonServiceL(const RMessage2& aMessage)
{
+ qDebug()<<"Inside SmfServerSymbianSession::HandleCommonServiceL() = "<<aMessage.Function();
/**
* Note:- client sends message in the following format,-
* Slot 0:- SmfProvider* serialized+Page info flag+page number+per page (if page info flag)+xtra info flag
@@ -418,80 +544,59 @@
* Slot 3 :- Xtra Data if xtra data flag
*/
//TODO:- Use macro instead, shared betn client-server
- TInt maxProvidersize = 1000;
- TInt maxOtherInfoSize = 300;
TInt providerSize = aMessage.GetDesLength(0);
- if(iProviderBuf)
+ if(iProviderBuf8)
{
- delete iProviderBuf;
- iProviderBuf = NULL;
+ delete iProviderBuf8;
+ iProviderBuf8 = NULL;
}
- iProviderBuf = HBufC8::NewL(maxProvidersize + maxOtherInfoSize);
- iProviderSymbian.Set(iProviderBuf->Des());
-
- TInt intfNameSize = aMessage.GetDesLength(1);
- if(iIntfNameBuf)
- {
- delete iIntfNameBuf;
- iIntfNameBuf = NULL;
- }
- iIntfNameBuf = HBufC8::NewL(1000);//for safeside
- iIntfNmaeSymbian.Set(iIntfNameBuf->Des());
-
-
- //read it into iProviderSymbian
- aMessage.ReadL(0,iProviderSymbian);
- //read it into iIntfNmaeSymbian
- aMessage.ReadL(1,iIntfNmaeSymbian);
+ iProviderBuf8 = HBufC8::NewL(providerSize);
+ iProviderSymbian8.Set(iProviderBuf8->Des());
+
+ //read it into iProviderSymbian8
+ aMessage.ReadL(0,iProviderSymbian8);
//convert SmfProvider info from Symbian into bytearray
- QByteArray providerBufQt(reinterpret_cast<const char*>(iProviderSymbian.Ptr()),iProviderSymbian.Length());
- qDebug()<<("providerBufQt.size=");
- qDebug()<<(QString::number(providerBufQt.size()));
+ QByteArray providerBufQt(reinterpret_cast<const char*>(iProviderSymbian8.Ptr()),iProviderSymbian8.Length());
+ qDebug()<<"providerBufQt.size = "<<providerBufQt.size();
//now de-serialize it
QDataStream stream(&providerBufQt,QIODevice::ReadOnly);
SmfProvider provider;
- stream>>provider ;
- TInt pageinfoFlag=0;
- stream>>pageinfoFlag;
- TInt pageNo=-1;
- TInt perpage=-1;
- if(pageinfoFlag)
+ stream>>provider;
+ QByteArray XtraBufQt;
+ stream>>XtraBufQt;
+ qDebug()<<"XtraBufQt size = "<<XtraBufQt.size();
+ TInt intfNameSize = aMessage.GetDesLength(1);
+ if(iIntfNameBuf8)
{
- stream>>pageNo;
- stream>>perpage;
- qDebug()<<("pageNo=");
- qDebug()<<(QString::number(pageNo));
- qDebug()<<("perpage=");
- qDebug()<<(QString::number(perpage));
+ delete iIntfNameBuf8;
+ iIntfNameBuf8 = NULL;
}
- TInt XtraInfoFlag = 0;
- TBool isXtraData = EFalse;
- stream>>XtraInfoFlag;
- if(XtraInfoFlag)
- {
- isXtraData = ETrue;
- qDebug()<<("XtraInfoFlag=");
- qDebug()<<(QString::number(XtraInfoFlag));
- }
- qDebug()<<("iIntfNmaeSymbian.Size=");
- qDebug()<<(QString::number(iIntfNmaeSymbian.Size()));
- QByteArray bytearray(reinterpret_cast<const char*>(iIntfNmaeSymbian.Ptr()),iIntfNmaeSymbian.Length()) ;
+ iIntfNameBuf8 = HBufC8::NewL(intfNameSize);
+ iIntfNameSymbian8.Set(iIntfNameBuf8->Des());
+
+ //read it into iIntfNameSymbian8
+ aMessage.ReadL(1,iIntfNameSymbian8);
+ qDebug()<<"iIntfNameSymbian8.Size = "<<iIntfNameSymbian8.Size();
+
+ QByteArray bytearray(reinterpret_cast<const char*>(iIntfNameSymbian8.Ptr()),iIntfNameSymbian8.Length()) ;
QDataStream intfNameStream(&bytearray,QIODevice::ReadOnly);
iInterfaceID.clear();
intfNameStream>>iInterfaceID;
- qDebug()<<("After de-serializing into iInterfaceID=");
- qDebug()<<(iInterfaceID);
+ qDebug()<<"Interface Name = "<<iInterfaceID;
+
//Interface names are diff in client and plugin, replacing *.client.* with *.plugin.*
iInterfaceID.replace(QString(".client"),QString(".plugin"));
+
//Get the plugin ID who matches provider info for a given intf name
SmfPluginID pluginID = iServer->wrapper()->getPlugin(iInterfaceID,provider);
- qDebug()<<("pluginID from PM=");
- qDebug()<<(pluginID);
+ qDebug()<<"pluginID from PM = "<<pluginID;
+
+ //we need to check only this pluginID is authorized?
iPluginIDList.clear();
- //we need to check only this pluginID is authorized?
iPluginIDList<<pluginID;
+
//iAuthList will contain pluginID for a successfull case
iAuthList.clear();
iServer->wrapper()->getAuthorizedPlugins(iPluginIDList,iAuthList);
@@ -502,24 +607,8 @@
TInt id = iServer->addToSessionMap(this,aMessage);
//request PM to get the data
SmfRequestTypeID opcode = (SmfRequestTypeID)iLastRequest;
- if(isXtraData)
- {
- if(iXtraDataBuf)
- {
- delete iXtraDataBuf;
- iXtraDataBuf = NULL;
- }
- iXtraDataBuf = HBufC8::NewL(XtraInfoFlag);
- iXtraDataPtr.Set(iXtraDataBuf->Des());
- QByteArray XtraBufQt(reinterpret_cast<const char*>(iXtraDataPtr.Ptr()),iXtraDataPtr.Length());
- qDebug()<<("XtraBufQt size=");
- qDebug()<<(QString::number(XtraBufQt.size()));
- iServer->wrapper()->sendToPluginManager(id,pluginID,iInterfaceID,opcode,XtraBufQt);
- }
- else
- {
- iServer->wrapper()->sendToPluginManager(id,pluginID,iInterfaceID,opcode);
- }
+
+ iServer->wrapper()->sendToPluginManager(id,pluginID,iInterfaceID,opcode,XtraBufQt);
}
else
{
@@ -528,6 +617,4 @@
iErrBuf.AppendNum(err);
iMessage.Write(2,iErrBuf);
}
-
-
}
--- a/smf/smfservermodule/smfserver/server/smfserversymbian_p.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserversymbian_p.h Thu Aug 05 16:48:48 2010 +0530
@@ -10,30 +10,28 @@
* Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
*
* Contributors:
- * Manasij Roy, Nalina Hariharan*
+ * Manasij Roy, Nalina Hariharan
+ *
* Description:
* SMF Server private implementation for Symbian
*
- **/
+ */
#ifndef SMFSERVERSYMBIAN_H
#define SMFSERVERSYMBIAN_H
+
#include <QObject>
#include <e32hashtab.h>
#include <e32base.h>
#include <QByteArray>
#include <QString>
-//testing -start
-#include "smfprovider.h"
-//end
-//SMF wide global const and macros, to be shared among SMF components as well as SMF aware apps
-//#include <smf/smfGlobal.h>
-//#include "clientGlobal.h"
+#include "smfserver.h"
-#include "SmfServer.h"
//Forward declarations
class SmfServerSymbianSession;
+class SmfProvider;
+
/**
* Stores session and request information.
@@ -46,7 +44,6 @@
};
-
//Policy table---start
//note capabilities are yet to be finalized
//46 services as of 15th apr
@@ -107,23 +104,18 @@
myElements,
};
//Policy table---end
+
+
/**
-* Our server class - an active object - and therefore derived ultimately from CActive.
-* It accepts requests from client threads and forwards
-* them to the client session to be dealt with. It also handles the creation
-* of the server-side client session.
-**/
+ * Our server class - an active object - and therefore derived ultimately from CActive.
+ * It accepts requests from client threads and forwards
+ * them to the client session to be dealt with. It also handles the creation
+ * of the server-side client session.
+ */
class SmfServerSymbian : public CPolicyServer
-{
-
+ {
public:
- /**
- * Creates a new session with the server; the function
- * implements the pure virtutal function
- * defined in class CServer2
- */
- SmfServerSymbian(CActive::TPriority aActiveObjectPriority,SmfServer* aWrapper);
- static SmfServerSymbian * NewL(CActive::TPriority aActiveObjectPriority,SmfServer* aWrapper);
+ static SmfServerSymbian * NewL(CActive::TPriority aActiveObjectPriority,SmfServer* aWrapper);
~SmfServerSymbian();
CSession2 * NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
@@ -131,6 +123,7 @@
* Returns SmfServer
*/
SmfServer* wrapper();
+
/**
* Adds session info to the currently active session map iMap. This map is used to
* retreive the corresponding session to be serviced. The keys for this map is sent
@@ -139,17 +132,20 @@
* @param aMsg Currently redundant
*/
TInt addToSessionMap(SmfServerSymbianSession* aSession,const RMessage2& aMsg);
+
/**
* Removes the session from the active list of session map
* @param aSession Session to be removed.
* @param aMsg Currently redundant
*/
TInt removeFromSessionMap(SmfServerSymbianSession* aSession,RMessage2& aMsg);
+
/**
* Returns a symbian session for the given key from the iMap.
* @param id Session ID in the SmfServer Session map
*/
SmfServerSymbianSession* findSession(TInt id);
+
/**
* Finds the given session and services it with the data.
* @param requestID Session ID
@@ -157,12 +153,20 @@
* @param error Error code
*/
TInt findAndServiceclient(TInt requestID,QByteArray* parsedData,SmfError error);
+
+private:
/**
- * Debugging
+ * Creates a new session with the server. The function
+ * implements the pure virtual function
+ * defined in class CServer2
*/
- //void writeLog(QString log)const;
-//private:
+ SmfServerSymbian(CActive::TPriority aActiveObjectPriority,SmfServer* aWrapper);
+
void ConstructL();
+
+private:
+ friend class SmfServerSymbianSession;
+
SmfServer* iWrapper;
/**
@@ -170,21 +174,16 @@
*/
RHashMap<TInt,CSessionStruct> iMap;
- /**
- * The key in the iMap.
- * Its sent to the wrapper
- */
- TInt iRequestID;
-
TInt iSessionCount;
-};
+ };
+
/**
This class represents a session with the Smf server.
Functions are provided to respond appropriately to client messages.
*/
class SmfServerSymbianSession : public CSession2
-{
+ {
public:
/**
* Creates a session.
@@ -192,24 +191,30 @@
*/
SmfServerSymbianSession(SmfServerSymbian* aServer);
~SmfServerSymbianSession();
+
/**
* From CSession2
*/
void ServiceL(const RMessage2 & aMessage);
+
/**
* Called by the SmfServerSymbian when results are available
* @param parsedData Parsed serialized data
* @param error Smf Error code
*/
void resultsAvailable(QByteArray* parsedData,SmfError error);
+
/**
* Called by the SmfServer when client authorization finishes.
* @param success success of the authorization
*/
- void clientathorizationFinished(bool success);
+ void clientAuthorizationFinished(bool success);
+
protected:
//TMessageParams ReadMessageAndRetrieveParams (const RMessage2 & aMessage);
+
void PanicClient(const RMessage2 & aMessage, TInt aPanic) const;
+
/**
* Called by ServiceL()
* It tests the function code and then delegates to
@@ -217,11 +222,17 @@
*/
void HandleClientMessageL(const RMessage2 & aMessage);
+private:
//Following are for handling specific client requests
/**
* ESmfGetService
*/
- void HandleGetService(const RMessage2 & aMessage);
+ void HandleGetService(const RMessage2 & aMessage, const SmfInterfaceID& aInterfaceID);
+
+ /**
+ * Handles all synchronous services
+ */
+ void HandleSyncServiceL(const RMessage2 & aMessage);
/**
* Handles all the opcodes except ESmfGetService
@@ -234,27 +245,27 @@
void HandleDSMServiceL(const RMessage2 & aMessage);
-//private:
+private:
SmfServerSymbian* iServer;
RMessage2 iMessage;
TBuf<100> iErrBuf;
//this interface id will be provided by Smf client, will map Smf Client
// interface hierarchy
SmfInterfaceID iInterfaceID;
- TPtr8 iIntfNmaeSymbian;
- TPtr iIntfNameSymbian16;
+ TPtr iIntfNameSymbian;
+ TPtr8 iIntfNameSymbian8;
+
TBuf8<125> iInterfaceNametbuf;
- TPtr8 iProviderSymbian;
- TPtr8 iXtraDataPtr;
- HBufC8* iDataForDSM;
- TPtr8 iPtrDataForDSM;
- HBufC8* iDataFromDSM;
- TPtr8 iPtrDataFromDSM;
+ TPtr8 iProviderSymbian8;
+ TPtr8 iXtraDataPtr8;
+ HBufC8* iData8ForDSM;
+ TPtr8 iPtr8DataForDSM;
+ HBufC8* iData8FromDSM;
+ TPtr8 iPtr8DataFromDSM;
TBuf<100> iDSMErr;
- TBuf<100> iMaxSize;
- HBufC8* iProviderBuf;
- HBufC8* iXtraDataBuf;
- HBufC8* iIntfNameBuf;
+ HBufC8* iProviderBuf8;
+ HBufC8* iXtraDataBuf8;
+ HBufC8* iIntfNameBuf8;
QMap<SmfPluginID,SmfProvider> iPluginIDMap;
QList<SmfPluginID> iPluginIDList;
QList<SmfPluginID> iAuthList;
@@ -268,15 +279,11 @@
* Last request opcode
*/
TInt iLastRequest;
- //testing
- TBuf<525> dataToPass;
- HBufC8* iBuf;
- HBufC* iBuf16;
TPtr8 iPtrToBuf;
TPtr8 iPtrToDataForClient;
HBufC8* iDataForClient;
- QByteArray byteArrayToClnt;
- SmfProvider* providerToClnt;
- TInt iError;
-};
+ QByteArray resultData;
+ QByteArray xtraData;
+ };
+
#endif // SMFSERVERSYMBIAN_H
--- a/smf/smfservermodule/smfserver/server/smfsettingshandler.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfsettingshandler.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -16,17 +16,20 @@
* Reads/Writes settings key in a platform independent way
*/
#include "smfsettingshandler.h"
-#ifdef Q_OS_SYMBIAN
-#include "smfsettingshandler_symbian.h"
+
+#ifdef __FOR_SYMBIAN_CR_USAGE__
+ #include "smfsettingshandler_symbian.h"
#else
-#include "smfsettingshandler_qt.h"
+ #include "smfsettingshandler_qt.h"
#endif
+
SmfSettingsHandler::SmfSettingsHandler(QObject *parent)
{
-#ifdef Q_OS_SYMBIAN
+ Q_UNUSED(parent)
+#ifdef __FOR_SYMBIAN_CR_USAGE__
m_repository = CSettingsRepository::NewL();
#else
- m_repository = new SettingsRepositoryQt(this);
+ m_repository = new SmfSettingsRepositoryQt(this);
#endif
}
SmfSettingsHandler::~SmfSettingsHandler()
--- a/smf/smfservermodule/smfserver/server/smfsettingshandler.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfsettingshandler.h Thu Aug 05 16:48:48 2010 +0530
@@ -21,12 +21,14 @@
#include <QObject>
#include <QStringList>
#include <QMap>
-#ifdef Q_OS_SYMBIAN
+#ifdef __FOR_SYMBIAN_CR_USAGE__
class CSettingsRepository;
#else
-//TODO:- Implement
-class SettingsRepositoryQt;
+class SmfSettingsRepositoryQt;
#endif
+
+
+
class SmfSettingsHandler : public QObject
{
Q_OBJECT
@@ -82,10 +84,10 @@
*/
QString GetUploadFileType() const;
private:
- #ifdef Q_OS_SYMBIAN
+#ifdef __FOR_SYMBIAN_CR_USAGE__
CSettingsRepository* m_repository;
- #else
- SettingsRepositoryQt* m_repository;
- #endif
+#else
+ SmfSettingsRepositoryQt* m_repository;
+#endif
};
#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfserver/server/smfsettingshandler_qt.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,117 @@
+/*
+ * smfsettingshandler_qt.cpp
+ *
+ * Created on: Jul 8, 2010
+ * Author: satishkk
+ */
+
+#include "smfsettingshandler_qt.h"
+#include "SettingsConstants.h"
+
+SmfSettingsRepositoryQt::SmfSettingsRepositoryQt(QObject *parent)
+ {
+ Q_UNUSED(parent)
+ iSettings = new QSettings(QSettings::SystemScope,"Sasken","SMF");
+ }
+
+SmfSettingsRepositoryQt::~SmfSettingsRepositoryQt()
+ {
+ if(iSettings)
+ {
+ delete iSettings;
+ iSettings = NULL;
+ }
+ }
+/*
+
+ * Method to set the PluginDetails to QSettings
+ * Param - @aPluginStatus,holds the Plgugin Status.
+ */
+void SmfSettingsRepositoryQt::SetPluginDetails(QString& aPluginName,QString& aPluginStatus)
+ {
+ QVariant var1 = QVariant::fromValue(aPluginName);
+ QVariant var2 = QVariant::fromValue(aPluginStatus);
+ iSettings->setValue(KSettingsUIPluginNameKey,var1);
+ iSettings->setValue(KSettingsUIPluginStausKey,var2);
+ }
+/*
+ * Method to set the Auth Expiry Value to QSettings
+ * Param - @aVal,Auth Expiry Value
+ */
+void SmfSettingsRepositoryQt::SetAuthExpirationValue(QString& aVal)
+ {
+ iSettings->setValue(KSettingsUIAuthExpLimitKey,aVal);
+ }
+/*
+ * Method to set the Max. Data Transfer Limit to QSettings
+ * Param - @aVal,Max. Data Transfer Limit Value
+ */
+void SmfSettingsRepositoryQt::SetMaxDataTransferLimit(QString& aVal)
+ {
+ iSettings->setValue(KSettingsUIMaxDataTransferLimitKey,aVal);
+ }
+/*
+ * Method to set the Roaming Status for Data Transfer to QSettings
+ * Param - @aStatus,Rpaming Status value for Data Transfer
+ */
+void SmfSettingsRepositoryQt::SetRoamingStatusforDataTransfer(QString& aStatus)
+ {
+ iSettings->setValue(KSettingsUIRoamingStatusKey,aStatus);
+ }
+/*
+ * Method to set the Upload File Type to QSettings
+ * Param - @aStatus,Upload File Type Value
+ */
+void SmfSettingsRepositoryQt::SetUploadFileType(QString& aFileType)
+ {
+ iSettings->setValue(KSettingsUIUploadFileTypeKey,aFileType);
+ }
+/*
+ * Method to Get the PluginDetails from QSettings
+ */
+void SmfSettingsRepositoryQt::GetPluginDetails(QMap<QString,QString>& aDetails) const
+ {
+ QVariant Value1, Value2;
+
+ Value1 = iSettings->value(KSettingsUIPluginNameKey,Value1);
+
+ Value2 = iSettings->value(KSettingsUIPluginStausKey,Value2);
+ aDetails.insert(Value1.toString(), Value2.toString());
+
+ }
+/*
+ * Method to Get the Auth Expiry Value from QSettings
+ */
+QString SmfSettingsRepositoryQt::GetAuthExpirationValue() const
+ {
+ QVariant Value;
+ Value = iSettings->value(KSettingsUIAuthExpLimitKey,Value);
+ return Value.toString();
+ }
+/*
+ * Method to Get the Max. Data Transfer Limit from QSettings
+ */
+QString SmfSettingsRepositoryQt::GetMaxDataTransferLimit() const
+ {
+ QVariant Value;
+ Value = iSettings->value(KSettingsUIMaxDataTransferLimitKey,Value);
+ return Value.toString();
+ }
+/*
+ * Method to Get the Roaming Status for Data Transfer from QSettings
+ */
+QString SmfSettingsRepositoryQt::GetRoamingStatusforDataTransfer() const
+ {
+ QVariant Value;
+ Value = iSettings->value(KSettingsUIRoamingStatusKey,Value);
+ return Value.toString();
+ }
+/*
+ * Method to Get the Upload File Type from QSettings
+ */
+QString SmfSettingsRepositoryQt::GetUploadFileType() const
+ {
+ QVariant Value;
+ Value = iSettings->value(KSettingsUIUploadFileTypeKey,Value);
+ return Value.toString();
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfserver/server/smfsettingshandler_qt.h Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,94 @@
+/*
+ * smfsettingshandler_qt.h
+ *
+ * Created on: Jul 8, 2010
+ * Author: satishkk
+ */
+
+#ifndef SMFSETTINGSHANDLER_QT_H_
+#define SMFSETTINGSHANDLER_QT_H_
+
+#include <qsettings.h>
+#include <qstringlist.h>
+
+/*!
+ @class SmfSettingsRepositoryQt
+
+ @discussion An instance Platform Independent Settings class
+ to set/get setting values to/from symbian repository.
+ */
+class SmfSettingsRepositoryQt : public QObject
+ {
+public:
+
+
+/*!
+ @function ~SmfSettingsRepositoryQt
+
+ @discussion Destroy the object and release all memory objects
+ */
+ ~SmfSettingsRepositoryQt();
+
+ /*!
+ @function SmfSettingsRepositoryQt
+
+ @discussion Construct the Settings Object
+ */
+
+ SmfSettingsRepositoryQt(QObject *parent = 0);
+ /*
+ * Method to set the PluginDetails to QSettings
+ * Parm - @aPluginName,Name of the plugin
+ * Param - @aPluginStatus,holds the Plgugin Status.
+ */
+ void SetPluginDetails(QString& aPluginName,QString& aPluginStatus);
+ /*
+ * Method to set the Auth Expiry Value to QSettings
+ * Param - @aVal,Auth Expiry Value
+ */
+ void SetAuthExpirationValue(QString& aVal);
+ /*
+ * Method to set the Max. Data Transfer Limit to QSettings
+ * Param - @aVal,Max. Data Transfer Limit Value
+ */
+ void SetMaxDataTransferLimit(QString& aVal);
+ /*
+ * Method to set the Roaming Status for Data Transfer to QSettings
+ * Param - @aStatus,Rpaming Status value for Data Transfer
+ */
+ void SetRoamingStatusforDataTransfer(QString& aStatus);
+ /*
+ * Method to set the Upload File Type to QSettings
+ * Param - @aStatus,Upload File Type Value
+ */
+ void SetUploadFileType(QString& aFileType);
+ /*
+ * Method to Get the PluginDetails from QSettings
+ */
+ void GetPluginDetails(QMap<QString,QString>& aDetails) const;
+ /*
+ * Method to Get the Auth Expiry Value from QSettings
+ */
+ QString GetAuthExpirationValue() const;
+ /*
+ * Method to Get the Max. Data Transfer Limit from QSettings
+ */
+ QString GetMaxDataTransferLimit() const;
+ /*
+ * Method to Get the Roaming Status for Data Transfer from QSettings
+ */
+ QString GetRoamingStatusforDataTransfer() const;
+ /*
+ * Method to Get the Upload File Type from QSettings
+ */
+ QString GetUploadFileType() const;
+
+private:
+ /*!
+ Pointer to the QSettings Object
+ */
+ QSettings* iSettings;
+
+ };
+
+#endif /* SMFSETTINGSHANDLER_QT_H_ */
--- a/smf/smfservermodule/smfserver/server/smfsettingshandler_symbian.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfsettingshandler_symbian.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -15,9 +15,11 @@
* Settings Repository class of SMF
*/
+#ifdef __FOR_SYMBIAN_CR_USAGE__
+
#include <e32base.h>
#include "smfsettingshandler_symbian.h"
-#include <SettingsConstants.h>
+#include "SettingsConstants.h"
// Standard construction sequence
CSettingsRepository* CSettingsRepository::NewL()
@@ -216,4 +218,4 @@
User::LeaveIfError(iRepository->Get(KSettingsUIUploadFileTypeKey,aFtype));
}
-
+#endif
--- a/smf/smfservermodule/smfserver/server/smfsettingshandler_symbian.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfsettingshandler_symbian.h Thu Aug 05 16:48:48 2010 +0530
@@ -18,11 +18,14 @@
#ifndef SETTINGSREPOSITORY_H_
#define SETTINGSREPOSITORY_H_
+#ifdef __FOR_SYMBIAN_CR_USAGE__
+
const TInt KMaxSettingValue = 50;
#include <centralrepository.h>
#include <QStringList>
#include <QMap>
+#include <qsettings.h>
//#include <BADESCA.H>
/*!
@class CSettingsRepository
@@ -181,5 +184,6 @@
};
+#endif
#endif /* SETTINGSREPOSITORY_H_ */
--- a/smf/smfservermodule/smfserver/smfplugins/smfgalleryplugin.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfplugins/smfgalleryplugin.h Thu Aug 05 16:48:48 2010 +0530
@@ -24,6 +24,7 @@
#include <smfpicture.h>
#include <smfcomment.h>
#include <smfpicturealbum.h>
+#include <smfcontact.h>
/**
* @ingroup smf_plugin_group
--- a/smf/smfservermodule/smfserver/smfplugins/smfmusiceventsplugin.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfplugins/smfmusiceventsplugin.h Thu Aug 05 16:48:48 2010 +0530
@@ -56,7 +56,7 @@
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone
*/
virtual SmfPluginError events( SmfPluginRequestData &aRequest,
- const QGeoPositionInfo &aLocation,
+ const SmfLocation &aLocation,
const int aPageNum = SMF_FIRST_PAGE,
const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
@@ -69,20 +69,7 @@
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone
*/
virtual SmfPluginError venues( SmfPluginRequestData &aRequest,
- const QGeoPositionInfo &aLocation,
- const int aPageNum = SMF_FIRST_PAGE,
- const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
-
- /**
- * Method to get the events based on venues
- * @param aRequest [out] The request data to be sent to network
- * @param aVenue Venue of the event
- * @param aPageNum The page to be extracted
- * @param aItemsPerPage Number of items per page
- * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
- */
- virtual SmfPluginError events( SmfPluginRequestData &aRequest,
- const SmfLocation &aVenue,
+ const SmfLocation &aLocation,
const int aPageNum = SMF_FIRST_PAGE,
const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
--- a/smf/smfservermodule/smfserver/smfplugins/smfmusicsearchplugin.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfplugins/smfmusicsearchplugin.h Thu Aug 05 16:48:48 2010 +0530
@@ -100,40 +100,6 @@
const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
/**
- * Method to post the currently playing track
- * @param aRequest [out] The request data to be sent to network
- * @param aTrack The current playing track, that should be posted
- * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
- */
- virtual SmfPluginError postCurrentPlaying(
- SmfPluginRequestData &aRequest,
- const SmfTrackInfo &aTrack ) = 0;
-
- /**
- * Method to post the rating on a track
- * @param aRequest [out] The request data to be sent to network
- * @param aTrack The track on which rating should be posted
- * @param aRating The rating values
- * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
- */
- virtual SmfPluginError postRating(
- SmfPluginRequestData &aRequest,
- const SmfTrackInfo &aTrack,
- const SmfMusicRating &aRating ) = 0;
-
- /**
- * Method to post comment on a track
- * @param aRequest [out] The request data to be sent to network
- * @param aTrack The track on which comment should be posted
- * @param aComment The comment content
- * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
- */
- virtual SmfPluginError postComments(
- SmfPluginRequestData &aRequest,
- const SmfTrackInfo &aTrack,
- const SmfComment &aComment ) = 0;
-
- /**
* Customised method for SmfMusicSearchPlugin interface
* @param aRequest [out] The request data to be sent to network
* @param aOperation The operation type (should be known between
--- a/smf/smfservermodule/smfserver/smfplugins/smfmusicserviceplugin.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfplugins/smfmusicserviceplugin.h Thu Aug 05 16:48:48 2010 +0530
@@ -24,6 +24,9 @@
#include <smfpluginbase.h>
#include <smfmusicprofile.h>
#include <smflocation.h>
+#include <smftrackinfo.h>
+#include <smfmusicrating.h>
+#include <smfcomment.h>
/**
* @ingroup smf_plugin_group
@@ -65,6 +68,40 @@
const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
/**
+ * Method to post the currently playing track
+ * @param aRequest [out] The request data to be sent to network
+ * @param aTrack The current playing track, that should be posted
+ * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
+ */
+ virtual SmfPluginError postCurrentPlaying(
+ SmfPluginRequestData &aRequest,
+ const SmfTrackInfo &aTrack ) = 0;
+
+ /**
+ * Method to post the rating on a track
+ * @param aRequest [out] The request data to be sent to network
+ * @param aTrack The track on which rating should be posted
+ * @param aRating The rating values
+ * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
+ */
+ virtual SmfPluginError postRating(
+ SmfPluginRequestData &aRequest,
+ const SmfTrackInfo &aTrack,
+ const SmfMusicRating &aRating ) = 0;
+
+ /**
+ * Method to post comment on a track
+ * @param aRequest [out] The request data to be sent to network
+ * @param aTrack The track on which comment should be posted
+ * @param aComment The comment content
+ * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
+ */
+ virtual SmfPluginError postComments(
+ SmfPluginRequestData &aRequest,
+ const SmfTrackInfo &aTrack,
+ const SmfComment &aComment ) = 0;
+
+ /**
* Customised method for SmfMusicServicePlugin interface
* @param aRequest [out] The request data to be sent to network
* @param aOperation The operation type (should be known between
--- a/smf/smfservermodule/smfserver/smfplugins/smfpluginbase.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfplugins/smfpluginbase.h Thu Aug 05 16:48:48 2010 +0530
@@ -40,10 +40,8 @@
/**
* The first method to be called in the plugin that implements this interface.
* If this method is not called, plugin may not behave as expected.
- * Plugins are expected to save the aUtil handle and use as and when required.
- * @param aUtil The instance of SmfPluginUtil
*/
- virtual void initialize( SmfPluginUtil *aUtil ) = 0;
+ virtual void initialize( ) = 0;
/**
* Method to get the provider information
--- a/smf/smfservermodule/smfserver/smfplugins/smfpostproviderplugin.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfplugins/smfpostproviderplugin.h Thu Aug 05 16:48:48 2010 +0530
@@ -26,23 +26,6 @@
#include <smfpost.h>
#include <smflocation.h>
-//TODO:- Moved to SmfPost as it should b common betn client n plugin
-///**
-// * SmfPresenceInfo.
-// * Indicates the presence information of user like Online, Offline, Busy,
-// * Do no disturb, Appear Offline etc.
-// */
-//enum SmfPresenceInfo
-// {
-// ENotSupported,
-// EOnline,
-// EOffline,
-// EBusy,
-// EDoNotDisturb,
-// EAppearOffline,
-// EOther
-// };
-
/**
* @ingroup smf_plugin_group
* Interface to get/update the posts to a service provider. This class
@@ -78,7 +61,7 @@
virtual qint32 maxItems( ) const = 0;
/**
- * <Method that returns all the formatting of posts that this
+ * Method that returns all the formatting of posts that this
* service provider supports. May return 0 items to mean
* only QString is supported.
* @return Supported formats of posts
@@ -164,7 +147,7 @@
const QString &aStatus ) = 0;
/**
- * Share /a contact's post to user's friends and followers
+ * Share a contact's post to user's friends and followers
* (e.g. retweet in twitter, share on facebook)
* @param aRequest [out] The request data to be sent to network
* @param aPostData data to be posted
--- a/smf/smfservermodule/smfserver/smfserver.loc Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfserver.loc Thu Aug 05 16:48:48 2010 +0530
@@ -1,5 +1,5 @@
// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-06-22T14:10:39
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:11:43
// * This file is generated by qmake and should not be modified by the
// * user.
// ============================================================================
--- a/smf/smfservermodule/smfserver/smfserver.pro Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfserver.pro Thu Aug 05 16:48:48 2010 +0530
@@ -1,45 +1,32 @@
TEMPLATE = app
TARGET = smfserver
-
-DEFINES += NO_OTHER_MODULES \
- CLIENT_SERVER_TEST
QT += core \
gui \
network \
sql
-
-
CONFIG += mobility
-
MOBILITY = contacts \
location \
bearer \
systeminfo
-
include(datastoremgr/datastoremgr.pri)
include(pluginmgr/pluginmgr.pri)
include(server/server.pri)
include(smfplugins/smfplugins.pri)
include(transportmgr/transportmgr.pri)
-
!symbian {
include(../../desktop.pri)
include(../smfclient/common/common.pri)
-
LIBS += -lqjson
}
-
PUBLIC_HEADERS += \
smfserverglobal.h
-
HEADERS += \
$$PUBLIC_HEADERS \
$$PRIVATE_HEADERS
-
SOURCES += \
main.cpp \
smfserver_reg.rss
-
symbian: {
TARGET.UID3 = 0xE5027327
TARGET.CAPABILITY = NetworkServices \
@@ -47,9 +34,10 @@
WriteUserData \
LocalServices \
UserEnvironment \
- ReadDeviceData \
- WriteDeviceData
- LIBS += -lsmfclient.dll \
- -lsmfcredmgrclient.dll \
- -lcentralrepository
+ ReadDeviceData \
+ WriteDeviceData
+ LIBS += -lsmfclient \
+ -lsmfcredmgrclient \
+ -lcentralrepository \
+ -lsmfcommon
}
--- a/smf/smfservermodule/smfserver/smfserver.rss Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfserver.rss Thu Aug 05 16:48:48 2010 +0530
@@ -1,5 +1,5 @@
// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-06-22T14:10:39
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:11:43
// * This file is generated by qmake and should not be modified by the
// * user.
// ============================================================================
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfserver/smfserver_installer.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,30 @@
+; smfserver_installer.pkg generated by qmake at 2010-07-30T14:11:43
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"smfserver installer"},(0xA000D7CE),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Default dependency to Qt libraries
+; Default dependency to QtMobility libraries
+
+
+"D:/smf/MissingCode/smfrepo/smf/smfservermodule/smfserver/smfserver.sis" - "c:\adm\smfserver.sis"
+@"D:/Qt/4.6.2/smartinstaller.sis",(0x2002CCCD)
--- a/smf/smfservermodule/smfserver/smfserver_reg.rss Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfserver_reg.rss Thu Aug 05 16:48:48 2010 +0530
@@ -1,5 +1,5 @@
// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-06-22T14:10:39
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:11:43
// * This file is generated by qmake and should not be modified by the
// * user.
// ============================================================================
--- a/smf/smfservermodule/smfserver/smfserver_template.pkg Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/smfserver_template.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -1,11 +1,10 @@
-; smfserver_template.pkg generated by qmake at 2010-06-22T14:10:39
+; smfserver_template.pkg generated by qmake at 2010-07-30T14:11:43
; This file is generated by qmake and should not be modified by the user
;
; Language
&EN
-
; SIS header: name, uid, version
#{"smfserver"},(0xE5027327),1,0,0
@@ -17,20 +16,20 @@
; Manual PKG pre-rules from PRO files
-; Default dependency to Qt libraries
-(0x2001E61C), 4, 6, 3, {"Qt"}
; Default HW/platform dependencies
[0x101F7961],0,0,0,{"S60ProductID"}
[0x102032BE],0,0,0,{"S60ProductID"}
[0x102752AE],0,0,0,{"S60ProductID"}
[0x1028315F],0,0,0,{"S60ProductID"}
+; Default dependency to Qt libraries
+(0x2001E61C), 4, 6, 2, {"Qt"}
; Default dependency to QtMobility libraries
(0x2002AC89), 1, 0, 0, {"QtMobility"}
; Executable and default resource files
-"/Nokia/devices/Nokia_Symbian3_SDK_v0.8/epoc32/release/$(PLATFORM)/$(TARGET)/smfserver.exe" - "!:\sys\bin\smfserver.exe"
-"/Nokia/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/resource/apps/smfserver.rsc" - "!:\resource\apps\smfserver.rsc"
-"/Nokia/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/private/10003a3f/import/apps/smfserver_reg.rsc" - "!:\private\10003a3f\import\apps\smfserver_reg.rsc"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/release/$(PLATFORM)/$(TARGET)/smfserver.exe" - "!:\sys\bin\smfserver.exe"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/resource/apps/smfserver.rsc" - "!:\resource\apps\smfserver.rsc"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/private/10003a3f/import/apps/smfserver_reg.rsc" - "!:\private\10003a3f\import\apps\smfserver_reg.rsc"
; Manual PKG post-rules from PRO files
--- a/smf/smfservermodule/smfserver/transportmgr/smftransportmanager.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/transportmgr/smftransportmanager.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -32,7 +32,7 @@
*/
SmfTransportManager* SmfTransportManager::getInstance ( )
{
- qDebug()<<("Inside SmfTransportManager::getInstance()");
+ qDebug()<<"Inside SmfTransportManager::getInstance()";
if(NULL == m_myInstance)
m_myInstance = new SmfTransportManager( );
return m_myInstance;
@@ -44,7 +44,7 @@
*/
SmfTransportManager::SmfTransportManager ( )
{
- qDebug()<<("Inside SmfTransportManager::SmfTransportManager()");
+ qDebug()<<"Inside SmfTransportManager::SmfTransportManager()";
m_systemInfo = new QSystemNetworkInfo(this);
@@ -97,7 +97,7 @@
SmfNetworkStatus status;
getCurrentNetworkStatus(status);
- qDebug()<<("getCurrentNetworkStatus() returned = "+QString::number(status));
+ qDebug()<<"getCurrentNetworkStatus() returned = "+QString::number(status);
switch(status)
{
// homenetwork
--- a/smf/smfservermodule/smfserver/transportmgr/smftransportmanagerutil.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfserver/transportmgr/smftransportmanagerutil.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -18,6 +18,7 @@
*
*/
+
// Include files
#define EMULATORTESTING
@@ -69,30 +70,27 @@
m_settings->setValue("Received Data", 0);
#ifdef EMULATORTESTING
- qDebug()<<"Using PROXY SETTINGS!!!, change for device settings";
+ qDebug()<<"Using PROXY SETTINGS!!!, change for device testing";
// Reading the keys, CSM Stubbed - START
- QFile file("c:\\data\\DoNotShare.txt");
- if (!file.open(QIODevice::ReadOnly))
+ QFile winFile("c:\\data\\DoNotShare.txt");
+ if (!winFile.open(QIODevice::ReadOnly))
{
qDebug()<<"File to read the windows username and password could not be opened, returning!!!";
return;
}
- QByteArray arr = file.readAll();
- QList<QByteArray> list = arr.split(' ');
- file.close();
+ QByteArray winArr = winFile.readAll();
+ QList<QByteArray> winList = winArr.split(' ');
+ winFile.close();
- QString username(list[0]);
- QString password(list[1]);
+ QString httpUser(winList[0]);
+ QString httpPass(winList[1]);
// For proxy settings on emulator only - REMOVE for device
- QString httpProxy = "10.1.0.224";
- QString httpPort = "3148";
+ QString httpProxy = "10.1.0.214";
+ QString httpPort = "3128";
- QString httpUser(username);
- QString httpPass(password);
-
//==Classes used from Network Module==
QNetworkProxy proxy;
--- a/smf/smfservermodule/smfservermodule.pro Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/smfservermodule.pro Thu Aug 05 16:48:48 2010 +0530
@@ -1,7 +1,6 @@
TEMPLATE = subdirs
-
SUBDIRS = util \
+ smfcommon \
smfclient \
- smfserver \
- tests
+ smfserver
CONFIG += ordered
--- a/smf/smfservermodule/tests/tests.pro Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS = testsmfgetservices
-
-
--- a/smf/smfservermodule/tests/testsmfgetservices/testsmfgetservices.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/**
- * 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: Testing the GetServices API of Social Mobile Framework, expected to
- * return a list of installed service providers for a given interface.
- */
-
-#include <QtTest>
-
-#include "smfclient.h"
-
-class TestSmfGetServices : public QObject
-{
- Q_OBJECT
-
-private slots:
- void initTestCase();
- void testConnectToServer();
- void cleanupTestCase();
-
-private:
- SmfClient* m_smf;
-};
-
-void TestSmfGetServices::initTestCase()
-{
- m_smf = new SmfClient();
-}
-
-void TestSmfGetServices::testConnectToServer()
-{
- QList<SmfProvider> *services = m_smf->GetServices("org.symbian.smf.contacts.fetcher");
- qDebug() << "SmfClient::GetServices returned " << services->length() << " services.";
-}
-
-void TestSmfGetServices::cleanupTestCase()
-{
- delete m_smf;
-}
-
-QTEST_MAIN(TestSmfGetServices)
-#include "testsmfgetservices.moc"
-
--- a/smf/smfservermodule/tests/testsmfgetservices/testsmfgetservices.pro Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-# TestSmfGetServices
-
-TEMPLATE = app
-
-TARGET = testsmfgetservices
-
-QT += core \
- testlib
-
-SOURCES += ./testsmfgetservices.cpp
-
-LIBS += -lsmfclient
-
-!symbian {
- include(../../../desktop.pri)
- INCLUDEPATH += $$PWD/../../smfclient/client \
- $$PWD/../../smfclient/common \
-}
--- a/smf/smfservermodule/util/qjson/ABLD.BAT Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\CarbideWorkspace\TestQJson\qjson\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/smf/smfservermodule/util/qjson/bld.inf Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-// ============================================================================
-// * Makefile for building: qjson
-// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-05-17T12:46:26
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project: qjson.pro
-// * Template: subdirs
-// ============================================================================
-
-#define BLD_INF_QJSON_FCB74EBD
-
-#ifndef BLD_INF_SRC_FFD839FE
- #include "src\bld.inf"
-#endif // BLD_INF_SRC_FFD839FE
-#ifndef BLD_INF_TESTS_02F3D6E9
- #include "tests\bld.inf"
-#endif // BLD_INF_TESTS_02F3D6E9
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-
-prj_extensions
-
--- a/smf/smfservermodule/util/qjson/lib/qjson.prl Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfservermodule/util/qjson/lib/qjson.prl Thu Aug 05 16:48:48 2010 +0530
@@ -1,5 +1,5 @@
-QMAKE_PRL_BUILD_DIR = D:/CarbideWorkspace/TestQJson/qjson/src/
+QMAKE_PRL_BUILD_DIR = D:/smf/MissingCode/smfrepo/smf/smfservermodule/util/qjson/src
QMAKE_PRO_INPUT = src.pro
QMAKE_PRL_TARGET = qjson
-QMAKE_PRL_CONFIG = include_source_dir lex yacc warn_on debug uic resources qt warn_on incremental debug shared stl exceptions rtti create_prl dll shared qtmain moc thread
+QMAKE_PRL_CONFIG = include_source_dir lex yacc warn_on debug uic resources qt warn_on incremental debug shared stl exceptions rtti def_files create_prl dll shared qtmain moc thread
QMAKE_PRL_VERSION = 0.7.1
--- a/smf/smfservermodule/util/qjson/src/ABLD.BAT Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\CarbideWorkspace\TestQJson\qjson\src\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/smf/smfservermodule/util/qjson/src/bld.inf Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-// ============================================================================
-// * Makefile for building: qjson
-// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-05-17T16:06:46
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project: src.pro
-// * Template: lib
-// ============================================================================
-
-#define BLD_INF_SRC_FFD839FE
-
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-gnumakefile Makefile_0xEe29a5ee.mk
-src_0xEe29a5ee.mmp
-
-prj_extensions
-
-
-
-prj_exports
-
-parser.h
-parserrunnable.h
-qobjecthelper.h
-serializer.h
-serializerrunnable.h
-qjson_export.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/util/qjson/src/eabi/qjsonu.def Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,60 @@
+EXPORTS
+ _ZN5QJson10Serializer9serializeERK8QVariant @ 1 NONAME
+ _ZN5QJson10Serializer9serializeERK8QVariantP9QIODevicePb @ 2 NONAME
+ _ZN5QJson10SerializerC1Ev @ 3 NONAME
+ _ZN5QJson10SerializerC2Ev @ 4 NONAME
+ _ZN5QJson10SerializerD1Ev @ 5 NONAME
+ _ZN5QJson10SerializerD2Ev @ 6 NONAME
+ _ZN5QJson13QObjectHelper16qobject2qvariantEPK7QObjectRK11QStringList @ 7 NONAME
+ _ZN5QJson13QObjectHelper16qvariant2qobjectERK4QMapI7QString8QVariantEP7QObject @ 8 NONAME
+ _ZN5QJson13QObjectHelperC1Ev @ 9 NONAME
+ _ZN5QJson13QObjectHelperC2Ev @ 10 NONAME
+ _ZN5QJson13QObjectHelperD1Ev @ 11 NONAME
+ _ZN5QJson13QObjectHelperD2Ev @ 12 NONAME
+ _ZN5QJson14ParserRunnable11qt_metacallEN11QMetaObject4CallEiPPv @ 13 NONAME
+ _ZN5QJson14ParserRunnable11qt_metacastEPKc @ 14 NONAME
+ _ZN5QJson14ParserRunnable15parsingFinishedERK8QVariantbRK7QString @ 15 NONAME
+ _ZN5QJson14ParserRunnable16staticMetaObjectE @ 16 NONAME DATA 16
+ _ZN5QJson14ParserRunnable19getStaticMetaObjectEv @ 17 NONAME
+ _ZN5QJson14ParserRunnable3runEv @ 18 NONAME
+ _ZN5QJson14ParserRunnable7setDataERK10QByteArray @ 19 NONAME
+ _ZN5QJson14ParserRunnableC1EP7QObject @ 20 NONAME
+ _ZN5QJson14ParserRunnableC2EP7QObject @ 21 NONAME
+ _ZN5QJson14ParserRunnableD0Ev @ 22 NONAME
+ _ZN5QJson14ParserRunnableD1Ev @ 23 NONAME
+ _ZN5QJson14ParserRunnableD2Ev @ 24 NONAME
+ _ZN5QJson18SerializerRunnable11qt_metacallEN11QMetaObject4CallEiPPv @ 25 NONAME
+ _ZN5QJson18SerializerRunnable11qt_metacastEPKc @ 26 NONAME
+ _ZN5QJson18SerializerRunnable13setJsonObjectERK8QVariant @ 27 NONAME
+ _ZN5QJson18SerializerRunnable15parsingFinishedERK10QByteArraybRK7QString @ 28 NONAME
+ _ZN5QJson18SerializerRunnable16staticMetaObjectE @ 29 NONAME DATA 16
+ _ZN5QJson18SerializerRunnable19getStaticMetaObjectEv @ 30 NONAME
+ _ZN5QJson18SerializerRunnable3runEv @ 31 NONAME
+ _ZN5QJson18SerializerRunnableC1EP7QObject @ 32 NONAME
+ _ZN5QJson18SerializerRunnableC2EP7QObject @ 33 NONAME
+ _ZN5QJson18SerializerRunnableD0Ev @ 34 NONAME
+ _ZN5QJson18SerializerRunnableD1Ev @ 35 NONAME
+ _ZN5QJson18SerializerRunnableD2Ev @ 36 NONAME
+ _ZN5QJson6Parser5parseEP9QIODevicePb @ 37 NONAME
+ _ZN5QJson6Parser5parseERK10QByteArrayPb @ 38 NONAME
+ _ZN5QJson6ParserC1Ev @ 39 NONAME
+ _ZN5QJson6ParserC2Ev @ 40 NONAME
+ _ZN5QJson6ParserD1Ev @ 41 NONAME
+ _ZN5QJson6ParserD2Ev @ 42 NONAME
+ _ZNK5QJson14ParserRunnable10metaObjectEv @ 43 NONAME
+ _ZNK5QJson18SerializerRunnable10metaObjectEv @ 44 NONAME
+ _ZNK5QJson6Parser11errorStringEv @ 45 NONAME
+ _ZNK5QJson6Parser9errorLineEv @ 46 NONAME
+ _ZTIN2yy11json_parserE @ 47 NONAME
+ _ZTIN5QJson14ParserRunnableE @ 48 NONAME
+ _ZTIN5QJson18SerializerRunnableE @ 49 NONAME
+ _ZTVN2yy11json_parserE @ 50 NONAME
+ _ZTVN5QJson14ParserRunnableE @ 51 NONAME
+ _ZTVN5QJson18SerializerRunnableE @ 52 NONAME
+ _ZThn8_N5QJson14ParserRunnable3runEv @ 53 NONAME
+ _ZThn8_N5QJson14ParserRunnableD0Ev @ 54 NONAME
+ _ZThn8_N5QJson14ParserRunnableD1Ev @ 55 NONAME
+ _ZThn8_N5QJson18SerializerRunnable3runEv @ 56 NONAME
+ _ZThn8_N5QJson18SerializerRunnableD0Ev @ 57 NONAME
+ _ZThn8_N5QJson18SerializerRunnableD1Ev @ 58 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/util/qjson/src/qjson_installer.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,29 @@
+; qjson_installer.pkg generated by qmake at 2010-07-30T14:11:43
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"qjson installer"},(0xA000D7CE),0,7,1
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Default dependency to Qt libraries
+
+
+"D:/smf/MissingCode/smfrepo/smf/smfservermodule/util/qjson/src/qjson.sis" - "c:\adm\qjson.sis"
+@"D:/Qt/4.6.2/smartinstaller.sis",(0x2002CCCD)
--- a/smf/smfservermodule/util/qjson/src/qjson_template.pkg Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-; qjson_template.pkg generated by qmake at 2010-05-17T16:06:46
-; This file is generated by qmake and should not be modified by the user
-;
-
-; Language
-&EN
-
-; SIS header: name, uid, version
-#{"qjson"},(0xEe29a5ee),0,7,1
-
-; Localised Vendor name
-%{"Vendor"}
-
-; Unique Vendor name
-:"Vendor"
-
-; Manual PKG pre-rules from PRO files
-; Default HW/platform dependencies
-[0x101F7961],0,0,0,{"S60ProductID"}
-[0x102032BE],0,0,0,{"S60ProductID"}
-[0x102752AE],0,0,0,{"S60ProductID"}
-[0x1028315F],0,0,0,{"S60ProductID"}
-
-; Default dependency to Qt libraries
-(0x2001E61C), 4, 6, 1, {"Qt"}
-
-; DEPLOYMENT
-"d:/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/release/$(PLATFORM)/$(TARGET)/qjson.dll" - "!:\sys\bin\qjson.dll"
-
-; Manual PKG post-rules from PRO files
--- a/smf/smfservermodule/util/qjson/tests/Makefile Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-#############################################################################
-# Makefile for building: tests
-# Generated by qmake (2.01a) (Qt 4.6.2) on: Wed May 19 14:07:21 2010
-# Project: tests.pro
-# Template: app
-# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile tests.pro
-#############################################################################
-
-####### Compiler, tools and options
-
-CC = gcc
-CXX = g++
-DEFINES =
-CFLAGS = -pipe $(DEFINES)
-CXXFLAGS = -pipe $(DEFINES)
-INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I.
-LINK = g++
-LFLAGS =
-LIBS = $(SUBLIBS)
-AR = ar cqs
-RANLIB =
-QMAKE = /usr/bin/qmake-qt4
-TAR = tar -cf
-COMPRESS = gzip -9f
-COPY = cp -f
-SED = sed
-COPY_FILE = $(COPY)
-COPY_DIR = $(COPY) -r
-STRIP = strip
-INSTALL_FILE = install -m 644 -p
-INSTALL_DIR = $(COPY_DIR)
-INSTALL_PROGRAM = install -m 755 -p
-DEL_FILE = rm -f
-SYMLINK = ln -f -s
-DEL_DIR = rmdir
-MOVE = mv -f
-CHK_DIR_EXISTS= test -d
-MKDIR = mkdir -p
-
-####### Output directory
-
-OBJECTS_DIR = ./
-
-####### Files
-
-SOURCES =
-OBJECTS =
-DIST = /usr/share/qt4/mkspecs/common/g++.conf \
- /usr/share/qt4/mkspecs/common/unix.conf \
- /usr/share/qt4/mkspecs/common/linux.conf \
- /usr/share/qt4/mkspecs/qconfig.pri \
- /usr/share/qt4/mkspecs/features/qt_functions.prf \
- /usr/share/qt4/mkspecs/features/qt_config.prf \
- /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
- /usr/share/qt4/mkspecs/features/default_pre.prf \
- tests.pro
-QMAKE_TARGET = tests
-DESTDIR =
-TARGET = tests
-
-first: all
-####### Implicit rules
-
-.SUFFIXES: .o .c .cpp .cc .cxx .C
-
-.cpp.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cc.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cxx.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.C.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.c.o:
- $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
-
-####### Build rules
-
-all: Makefile $(TARGET)
-
-$(TARGET): $(OBJECTS)
- $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
-
-Makefile: tests.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \
- /usr/share/qt4/mkspecs/common/unix.conf \
- /usr/share/qt4/mkspecs/common/linux.conf \
- /usr/share/qt4/mkspecs/qconfig.pri \
- /usr/share/qt4/mkspecs/features/qt_functions.prf \
- /usr/share/qt4/mkspecs/features/qt_config.prf \
- /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
- /usr/share/qt4/mkspecs/features/default_pre.prf
- $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile tests.pro
-/usr/share/qt4/mkspecs/common/g++.conf:
-/usr/share/qt4/mkspecs/common/unix.conf:
-/usr/share/qt4/mkspecs/common/linux.conf:
-/usr/share/qt4/mkspecs/qconfig.pri:
-/usr/share/qt4/mkspecs/features/qt_functions.prf:
-/usr/share/qt4/mkspecs/features/qt_config.prf:
-/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
-/usr/share/qt4/mkspecs/features/default_pre.prf:
-qmake: FORCE
- @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile tests.pro
-
-dist:
- @$(CHK_DIR_EXISTS) .tmp/tests1.0.0 || $(MKDIR) .tmp/tests1.0.0
- $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/tests1.0.0/ && (cd `dirname .tmp/tests1.0.0` && $(TAR) tests1.0.0.tar tests1.0.0 && $(COMPRESS) tests1.0.0.tar) && $(MOVE) `dirname .tmp/tests1.0.0`/tests1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/tests1.0.0
-
-
-clean:compiler_clean
- -$(DEL_FILE) *~ core *.core
-
-
-####### Sub-libraries
-
-distclean: clean
- -$(DEL_FILE) $(TARGET)
- -$(DEL_FILE) Makefile
-
-
-compiler_clean:
-
-####### Compile
-
-####### Install
-
-install: FORCE
-
-uninstall: FORCE
-
-FORCE:
-
--- a/smf/smfservermodule/util/qjson/tests/bld.inf Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-// ============================================================================
-// * Makefile for building: tests
-// * Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-05-17T12:46:26
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project: tests.pro
-// * Template: app
-// ============================================================================
-
-#define BLD_INF_TESTS_02F3D6E9
-
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-gnumakefile Makefile_0xEdfa80af.mk
-tests_0xEdfa80af.mmp
-
-prj_extensions
-
--- a/smf/smfservermodule/util/qjson/tests/tests_template.pkg Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-; tests_template.pkg generated by qmake at 2010-05-17T12:46:26
-; This file is generated by qmake and should not be modified by the user
-;
-
-; Language
-&EN
-
-; SIS header: name, uid, version
-#{"tests"},(0xEdfa80af),1,0,0
-
-; Localised Vendor name
-%{"Vendor"}
-
-; Unique Vendor name
-:"Vendor"
-
-; Manual PKG pre-rules from PRO files
-; Default HW/platform dependencies
-[0x101F7961],0,0,0,{"S60ProductID"}
-[0x102032BE],0,0,0,{"S60ProductID"}
-[0x102752AE],0,0,0,{"S60ProductID"}
-[0x1028315F],0,0,0,{"S60ProductID"}
-
-
-; Executable and default resource files
-"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/release/$(PLATFORM)/$(TARGET)/tests.exe" - "!:\sys\bin\tests.exe"
-"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/data/z/resource/apps/tests.rsc" - "!:\resource\apps\tests.rsc"
-"/S60/devices/S60_5th_Edition_SDK_v0.9/epoc32/data/z/private/10003a3f/import/apps/tests_reg.rsc" - "!:\private\10003a3f\import\apps\tests_reg.rsc"
-
-; Manual PKG post-rules from PRO files
--- a/smf/smfsettingsui/PlatfromIndependentSettings.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/PlatfromIndependentSettings.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -17,7 +17,7 @@
#include "PlatfromIndependentSettings.h"
-#ifndef __FOR_SYMBIAN__
+#ifndef __FOR_SYMBIAN_CR_USAGE__
#include "SettingsConstants.h"
--- a/smf/smfsettingsui/PlatfromIndependentSettings.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/PlatfromIndependentSettings.h Thu Aug 05 16:48:48 2010 +0530
@@ -16,7 +16,7 @@
*/
#include "SettingsConstants.h"
-#ifndef __FOR_SYMBIAN__
+#ifndef __FOR_SYMBIAN_CR_USAGE__
#ifndef PLATFROMINDEPENDENTSETTINGS_H_
#define PLATFROMINDEPENDENTSETTINGS_H_
--- a/smf/smfsettingsui/SMFSettings.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SMFSettings.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -41,7 +41,7 @@
createMenuActions();
//Instance of CSettingsRepository
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
iSettingsRepository = CSettingsRepository::NewL();
#else
iSettingsRepository = new CPFIndSettings;
@@ -220,7 +220,7 @@
{
QStringList PLuginDetails = GetPluginDetails();
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
//conversion from QString to Descriptor
TPtrC PluginName(static_cast<const TUint16*>(PLuginDetails[0].utf16()), PLuginDetails[0].length());
TPtrC PluginStatus(static_cast<const TUint16*>(PLuginDetails[1].utf16()), PLuginDetails[1].length());
@@ -232,7 +232,7 @@
iSettingsRepository->SetPluginDetails(PluginName,PluginStatus);
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
//conversion from QString to Descriptor
TPtrC AthExpValue(static_cast<const TUint16*>(GetAuthExpirationValue().utf16()), GetAuthExpirationValue().length());
#else
@@ -241,7 +241,7 @@
iSettingsRepository->SetAuthExpirationValue(AthExpValue);
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
//conversion from QString to Descriptor
TPtrC MaxDataTrValue(static_cast<const TUint16*>(GetMaxDataTransferLimit().utf16()), GetMaxDataTransferLimit().length());
#else
@@ -249,7 +249,7 @@
#endif
iSettingsRepository->SetMaxDataTransferLimit(MaxDataTrValue);
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
//conversion from QString to Descriptor
TPtrC RoamingStatus(static_cast<const TUint16*>(GetRoamingStatusforDataTransfer().utf16()), GetRoamingStatusforDataTransfer().length());
#else
@@ -258,7 +258,7 @@
iSettingsRepository->SetRoamingStatusforDataTransfer(RoamingStatus);
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
//conversion from QString to Descriptor
TPtrC UploadFileType(static_cast<const TUint16*>(GetUploadFileType().utf16()), GetUploadFileType().length());
#else
@@ -279,7 +279,7 @@
{
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
QString myString;
TBuf<KMaxSettingValue> Buf;
//conversion from Descriptor to QString
--- a/smf/smfsettingsui/SMFSettings.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SMFSettings.h Thu Aug 05 16:48:48 2010 +0530
@@ -116,7 +116,7 @@
*/
Ui::SMFSettingsClass *ui;
- #ifdef __FOR_SYMBIAN__
+ #ifdef __FOR_SYMBIAN_CR_USAGE__
CSettingsRepository* iSettingsRepository;
#else
CPFIndSettings* iSettingsRepository;
--- a/smf/smfsettingsui/SMFSettings.loc Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SMFSettings.loc Thu Aug 05 16:48:48 2010 +0530
@@ -1,5 +1,5 @@
// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-06-22T14:10:38
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:11:43
// * This file is generated by qmake and should not be modified by the
// * user.
// ============================================================================
--- a/smf/smfsettingsui/SMFSettings.rss Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SMFSettings.rss Thu Aug 05 16:48:48 2010 +0530
@@ -1,5 +1,5 @@
// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-06-22T14:10:38
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:11:43
// * This file is generated by qmake and should not be modified by the
// * user.
// ============================================================================
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfsettingsui/SMFSettings_installer.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,29 @@
+; SMFSettings_installer.pkg generated by qmake at 2010-07-30T14:11:43
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"SMFSettings installer"},(0xA000D7CE),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Default dependency to Qt libraries
+
+
+"D:/smf/MissingCode/smfrepo/smf/smfsettingsui/SMFSettings.sis" - "c:\adm\SMFSettings.sis"
+@"D:/Qt/4.6.2/smartinstaller.sis",(0x2002CCCD)
--- a/smf/smfsettingsui/SMFSettings_reg.rss Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SMFSettings_reg.rss Thu Aug 05 16:48:48 2010 +0530
@@ -1,5 +1,5 @@
// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-06-22T14:10:38
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:11:43
// * This file is generated by qmake and should not be modified by the
// * user.
// ============================================================================
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfsettingsui/SMFSettings_template.pkg Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,33 @@
+; SMFSettings_template.pkg generated by qmake at 2010-07-30T14:11:43
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"SMFSettings"},(0xE6313AF5),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Default dependency to Qt libraries
+(0x2001E61C), 4, 6, 2, {"Qt"}
+
+; Executable and default resource files
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/release/$(PLATFORM)/$(TARGET)/SMFSettings.exe" - "!:\sys\bin\SMFSettings.exe"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/resource/apps/SMFSettings.rsc" - "!:\resource\apps\SMFSettings.rsc"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/private/10003a3f/import/apps/SMFSettings_reg.rsc" - "!:\private\10003a3f\import\apps\SMFSettings_reg.rsc"
+
+; Manual PKG post-rules from PRO files
--- a/smf/smfsettingsui/SettingsConstants.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SettingsConstants.h Thu Aug 05 16:48:48 2010 +0530
@@ -8,9 +8,9 @@
#ifndef SETTINGSCONSTANTS_H_
#define SETTINGSCONSTANTS_H_
-//#define __FOR_SYMBIAN__
+//#define __FOR_SYMBIAN_CR_USAGE__
-#ifdef __FOR_SYMBIAN__
+#ifdef __FOR_SYMBIAN_CR_USAGE__
#include <e32base.h>
//UID of the Setting Application
static const TUid KCRUidSettings = { 0xE6313AF5 };
--- a/smf/smfsettingsui/SettingsRepository.cpp Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SettingsRepository.cpp Thu Aug 05 16:48:48 2010 +0530
@@ -17,7 +17,7 @@
#include "SettingsRepository.h"
-#ifdef __FOR_SYMBIAN__
+#ifdef __FOR_SYMBIAN_CR_USAGE__
#include <e32base.h>
--- a/smf/smfsettingsui/SettingsRepository.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/SettingsRepository.h Thu Aug 05 16:48:48 2010 +0530
@@ -17,7 +17,7 @@
#include "SettingsConstants.h"
-#ifdef __FOR_SYMBIAN__
+#ifdef __FOR_SYMBIAN_CR_USAGE__
#ifndef SETTINGSREPOSITORY_H_
#define SETTINGSREPOSITORY_H_
--- a/smf/smfsettingsui/ui_SMFSettings.h Thu Aug 05 16:46:37 2010 +0530
+++ b/smf/smfsettingsui/ui_SMFSettings.h Thu Aug 05 16:48:48 2010 +0530
@@ -1,8 +1,8 @@
/********************************************************************************
** Form generated from reading UI file 'SMFSettings.ui'
**
-** Created: Tue Jun 22 13:44:11 2010
-** by: Qt User Interface Compiler version 4.6.3
+** Created: Fri Jul 30 14:06:09 2010
+** by: Qt User Interface Compiler version 4.6.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/