--- a/smf/smfservermodule/smfclient/client/smfpostprovider_p.cpp Mon Jun 07 11:43:45 2010 +0100
+++ b/smf/smfservermodule/smfclient/client/smfpostprovider_p.cpp Wed Jun 23 19:51:49 2010 +0530
@@ -12,8 +12,6 @@
* Contributors:
* Manasij Roy, Nalina Hariharan
*
- * Description:
- * The SmfEvent class represents an event
*
*/
@@ -26,12 +24,12 @@
#ifdef Q_OS_SYMBIAN
#include "smfclientsymbian.h"
#else
-#include "smfclientqt.h"
+#include "SmfClientQt.h"
#endif
SmfPostProviderPrivate::SmfPostProviderPrivate(SmfPostProvider* postProvider)
: m_postProvider(postProvider),m_postList(NULL)
{
- //private impl for symbian
+ //private impl for symbian
#ifdef Q_OS_SYMBIAN
m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
#endif
@@ -61,18 +59,35 @@
//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
- write<<*(user);
+ 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
- QString intfName(postProviderInterface);
-
+ intfName.clear();
+ intfName.append(postProviderInterface);
+ int maxAllocation = MaxSmfPostSize*perPage;
//call private impl's send method
- m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactRetrievePosts);
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactRetrievePosts,maxAllocation,m_xtraInfoSerialized);
}
@@ -84,21 +99,29 @@
*/
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
- write<<postData;
+ xtraInfoWrite<<postData;
//SmfPlace
- write<<location;
-
+ 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);
+ 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
@@ -113,14 +136,21 @@
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
- write<<postData;
-
+ 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);
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactUpdatePost,10,m_xtraInfoSerialized);
}
/**
@@ -132,23 +162,32 @@
*/
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
- write<<postData;
+ xtraInfoWrite<<postData;
//SmfContact
- write<<contact;
+ xtraInfoWrite<<contact;
//SmfPlace
- write<<location;
+ 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);
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactPostDirected,10,m_xtraInfoSerialized);
}
/**
@@ -166,11 +205,18 @@
//serialize start
QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
write<<*(m_baseProvider);
- write<<appearence;
+ 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);
+ 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)
@@ -185,13 +231,21 @@
//serialize start
QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
write<<*(m_baseProvider);
- write<<postData;
- write<<contact;
- write<<edited;
+ 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);
+ m_SmfClientPrivate->sendRequest(m_serializedDataToServer,intfName,SmfContactSharePost,10,m_serializedDataToServer);
}
/**
* From smfobserver
@@ -199,16 +253,13 @@
void SmfPostProviderPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
{
writeLog("SmfPostProviderPrivate::resultsAvailable");
-
- //note:- "result" is serialized and we need to de-serialize it as per opcode
- //TODO:- order of serialization Error value followed by data
-
+ writeLog("opcode=");
+ writeLog(QString::number(opcode));
QDataStream reader(&result,QIODevice::ReadOnly);
-
//Now de-serialize it based on opcode
switch(opcode)
{
- case SmfContactRetrievePostsComplete:
+ case SmfContactRetrievePosts:
{
if(m_postList)
{
@@ -217,12 +268,6 @@
}
m_postList = new SmfPostList;
- //TODO
- // SmfError error;
- // reader>>error;
- // writeLog("Error=");
- // writeLog(QString::number(error));
- // SmfError err = (SmfError)error;
reader>>*(m_postList);
writeLog("postList.count=");
writeLog(QString::number(m_postList->count()));
@@ -237,31 +282,28 @@
}
break;
- case SmfContactPostComplete:
+ case SmfContactPost:
{
- bool success;
- reader>>success;
- writeLog("success=");
- if(success)
- writeLog("true");
- emit m_postProvider->postFinished(success);
+ int errInt;
+ reader>>errInt;
+ writeLog("success=");
+ SmfError success = (SmfError)errInt;
+ emit m_postProvider->postFinished(success);
}
break;
- case SmfContactUpdatePostComplete:
- case SmfContactPostDirectedComplete:
- case SmfContactSharePostComplete:
+ case SmfContactUpdatePost:
+ case SmfContactPostDirected:
+ case SmfContactSharePost:
{
- bool success;
- reader>>success;
+ int errInt;
+ reader>>errInt;
writeLog("success=");
- if(success)
- writeLog("true");
+ SmfError success = (SmfError)errInt;
emit m_postProvider->postFinished(success);
}
-// default:
-// //should panic?
-//
+ default:
+ Q_ASSERT_X(1,"SmfPostProviderPrivate::resultsAvailable","default case");
}
}
void SmfPostProviderPrivate::writeLog(QString log) const