smf/smfservermodule/smfserver/server/smfserver.cpp
changeset 25 a180113055cb
parent 18 013a02bf2bb0
child 26 83d6a149c755
--- a/smf/smfservermodule/smfserver/server/smfserver.cpp	Thu Sep 23 17:20:22 2010 +0530
+++ b/smf/smfservermodule/smfserver/server/smfserver.cpp	Thu Sep 23 17:43:31 2010 +0530
@@ -67,14 +67,11 @@
 
 bool SmfServer::startServer()
 	{
-	qDebug()<<"Inside SmfServer::startServer()";
-	
 	bool success = false;
 	
 	//Initialize all the component handles
 	SmfTransportInitializeResult networkStatus = prepareTransport();
 	
-	qDebug()<<"Before m_pluginManager construction";
 	m_pluginManager = SmfPluginManager::getInstance(this);
 	qDebug()<<"After m_pluginManager construction";
 	
@@ -166,7 +163,6 @@
 
 SmfTransportInitializeResult SmfServer::prepareTransport()
 	{
-	qDebug()<<"Inside SmfServer::prepareTransport()";
 	m_transportManager = SmfTransportManager::getInstance();
 	
 	//checking the network status
@@ -175,19 +171,24 @@
 	return networkStatus;
 	}
 
-void SmfServer::sendToPluginManager ( int requestID, SmfPluginID pluginID, 
+SmfError SmfServer::sendToPluginManager ( int requestID, SmfPluginID pluginID, 
 		SmfInterfaceID interfaceID, SmfRequestTypeID requestTypeID, 
 		QByteArray dataForPlugin )
 	{
 	qDebug()<<"Inside SmfServer::sendToPluginManager()";
+	Q_UNUSED(interfaceID)
+#ifdef DETAILEDDEBUGGING
 	qDebug()<<"Request ID = "<<requestID;
 	qDebug()<<"PluginID = "<<pluginID;
 	qDebug()<<"Interface = "<<interfaceID;
 	qDebug()<<"RequestType = "<<requestTypeID;
-
+#endif
+	
 	//TODO:-PM should take page info too
 	SmfError err = m_pluginManager->createRequest(requestID,pluginID,requestTypeID,dataForPlugin);
-	qDebug()<<"m_pluginManager->createRequest() = "<<err;
+	qDebug()<<"m_pluginManager->createRequest() ret value = "<<err;
+	
+	return err;
 	}
 
 /**
@@ -202,9 +203,12 @@
 		QByteArray dataForPlugin, QByteArray &outputData)
 	{
 	qDebug()<<"Inside SmfServer::sendToPluginManager() for sync req";
+	Q_UNUSED(interfaceID)
+#ifdef DETAILEDDEBUGGING
 	qDebug()<<"PluginID = "<<pluginID;
 	qDebug()<<"Interface = "<<interfaceID;
 	qDebug()<<"RequestType = "<<requestTypeID;
+#endif
 
 	//TODO:-PM should take page info too
 	SmfError err = m_pluginManager->createSyncRequest(pluginID,requestTypeID,dataForPlugin, outputData);
@@ -221,56 +225,93 @@
 	
 	//Note:- deserialization and formation of user profile and social profile are done by server
 	QDataStream readStream(&qtdataForDSM,QIODevice::ReadOnly);
-	QDataStream writeStream(&qtdataFromDSM,QIODevice::ReadOnly);
+	QDataStream writeStream(&qtdataFromDSM,QIODevice::WriteOnly);
 	quint8 flag = 0;
 	switch(opcode)
 		{
 		case SmfRelationCreate:
 			{
 			//read the incoming data
-			SmfProvider provider;
-			SmfContact contact;
+			SmfProvider *provider = new SmfProvider();
+			SmfContact *contact = new SmfContact();
+			readStream>>flag;
+			if(flag)
+				readStream>>*provider;
+			else 
+				{
+				delete provider;
+				provider = NULL;
+				}
 			readStream>>flag;
 			if(flag)
-				readStream>>provider;
-			readStream>>flag;
-			if(flag)
-				readStream>>contact;
-
-			SmfRelationId relnId = dsm->create(&provider,&contact);
+				readStream>>*contact;
+			else 
+				{
+				delete contact;
+				contact = NULL;
+				}
+			SmfRelationId relnId = dsm->create(provider,contact);
 			writeStream<<relnId;
+			if(provider != NULL)
+				delete provider;
+			if(contact != NULL)
+				delete contact;
 			}
 			break;
 		case SmfRelationAssociate:
 			{
 			SmfRelationId relnId;
-			SmfContact contact;
-			SmfProvider provider;
+			SmfContact *contact = new SmfContact();
+			SmfProvider *provider = new SmfProvider();
 			readStream>>relnId;
 			readStream>>flag;
 			if(flag)
-				readStream>>contact;
+				readStream>>*contact;
+			else 
+				{
+				delete contact;
+				contact = NULL;
+				}
 			readStream>>flag;
 			if(flag)
-				readStream>>provider;
+				readStream>>*provider;
+			else 
+				{
+				delete provider;
+				provider = NULL;
+				}
 
-			SmfError err = dsm->associate(relnId,&contact,&provider);
+			QString snsName = provider->serviceName();
+			QString snsUrl = (provider->serviceUrl()).toString();
+			QString snsDesc = provider->description();
+			
+			SmfError err = dsm->associate(relnId,contact,provider);
 			int errInt = err;
 			writeStream<<errInt;
+			if(contact != NULL)
+				delete contact;
+			if(provider != NULL)
+				delete provider;
 			}
 			break;
 		case SmfRelationRemove:
 			{
 			SmfRelationId relnId;
-			SmfContact contact;
+			SmfContact *contact = new SmfContact();
 			readStream>>relnId;
 			readStream>>flag;
 			if(flag)
-				readStream>>contact;
-
-			SmfError err = dsm->remove(relnId, &contact);
+				readStream>>*contact;
+			else 
+				{
+				delete contact;
+				contact = NULL;
+				}
+			SmfError err = dsm->remove(relnId, contact);
 			int errInt = err;
 			writeStream<<errInt;
+			if(NULL != contact)
+				delete contact;
 			break;
 			}
 		case SmfRelationSearchById:
@@ -382,10 +423,12 @@
 void SmfServer::resultsAvailable ( int requestID, QByteArray* parsedData, SmfError error )
 	{
 	qDebug()<<"Inside SmfServer::resultsAvailable()";
+#ifdef DETAILEDDEBUGGING
 	qDebug()<<"requestID = "<<requestID;
 	qDebug()<<"parsedData->size() = "<<parsedData->size();
 	qDebug()<<"Error = "<<error;
-
+#endif
+	
 	//Serialize error followed by actual data
 	QByteArray dataWithError;
 	QDataStream writer(&dataWithError,QIODevice::WriteOnly);