smf/smfservermodule/smfclient/smfmusic_p.cpp
changeset 25 a180113055cb
parent 18 013a02bf2bb0
equal deleted inserted replaced
24:1cee9f1b95e0 25:a180113055cb
    51 		delete m_SmfClientPrivate;
    51 		delete m_SmfClientPrivate;
    52 		m_SmfClientPrivate = NULL;
    52 		m_SmfClientPrivate = NULL;
    53 		}
    53 		}
    54 	}
    54 	}
    55 
    55 
    56 void SmfMusicServicePrivate::userinfo()
    56 SmfError SmfMusicServicePrivate::userMusicInfo()
    57 	{
    57 	{
       
    58 	SmfError err = SmfNoError;
    58 	//We need to pass Opcode and SmfProvider serialized into bytearray 
    59 	//We need to pass Opcode and SmfProvider serialized into bytearray 
    59 	SmfProvider* m_baseProvider = m_musicService->getProvider();
    60 	SmfProvider* m_baseProvider = m_musicService->getProvider();
    60 	m_serializedDataToServer.clear();
    61 	m_serializedDataToServer.clear();
    61 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
    62 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
    62 	write<<*m_baseProvider;
    63 	write<<*m_baseProvider;
    65 	int maxalloc = SmfMusicProfileMaxSize;
    66 	int maxalloc = SmfMusicProfileMaxSize;
    66 	
    67 	
    67 	//call private impl's send method
    68 	//call private impl's send method
    68 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName, 
    69 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName, 
    69 			SmfMusicGetUserInfo, maxalloc);
    70 			SmfMusicGetUserInfo, maxalloc);
    70 	}
    71 	return err;
    71 
    72 	}
    72 void SmfMusicServicePrivate::searchUser(SmfLocation venue, int pageNum, int perPage)
    73 
    73 	{
    74 SmfError SmfMusicServicePrivate::searchArtist ( SmfArtists artist, int pageNum, int perPage )
       
    75 	{
       
    76 	SmfError err = SmfNoError;
    74 	//We need to pass Opcode and SmfProvider serialized into bytearray 
    77 	//We need to pass Opcode and SmfProvider serialized into bytearray 
    75 	SmfProvider* m_baseProvider = m_musicService->getProvider();
    78 	SmfProvider* m_baseProvider = m_musicService->getProvider();
    76 	m_serializedDataToServer.clear();
    79 	m_serializedDataToServer.clear();
    77 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
    80 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
    78 	write<<*m_baseProvider;
    81 	write<<*m_baseProvider;
    79 	m_argFlag = 1;
    82 	
    80 	write<<m_argFlag;
    83 	QByteArray dataToPlugins;
    81 	write<<venue;
    84 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
    82 	write<<m_argFlag;
    85 	m_argFlag = 1;
    83 	write<<pageNum;
    86 	streamToPlugin<<m_argFlag;
    84 	write<<m_argFlag;
    87 	streamToPlugin<<artist;
    85 	write<<perPage;
    88 	streamToPlugin<<m_argFlag;
       
    89 	streamToPlugin<<pageNum;
       
    90 	streamToPlugin<<m_argFlag;
       
    91 	streamToPlugin<<perPage;
       
    92 	
       
    93 	write<<dataToPlugins;
    86 	
    94 	
    87 	QString intfName(musicServiceInterface);
    95 	QString intfName(musicServiceInterface);
    88 	int maxalloc = SmfMusicProfileMaxSize*perPage;
    96 	int maxalloc = SmfMusicProfileMaxSize*perPage;
    89 	
    97 	
    90 	//call private impl's send method
    98 	//call private impl's send method
    91 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
    99 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   100 			SmfMusicSearchArtist, maxalloc);
       
   101 	return err;
       
   102 	}
       
   103 
       
   104 SmfError SmfMusicServicePrivate::searchAlbum ( SmfAlbum album, int pageNum, int perPage )
       
   105 	{
       
   106 	SmfError err = SmfNoError;
       
   107 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   108 	SmfProvider* m_baseProvider = m_musicService->getProvider();
       
   109 	m_serializedDataToServer.clear();
       
   110 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   111 	write<<*m_baseProvider;
       
   112 	
       
   113 	QByteArray dataToPlugins;
       
   114 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   115 	m_argFlag = 1;
       
   116 	streamToPlugin<<m_argFlag;
       
   117 	streamToPlugin<<album;
       
   118 	streamToPlugin<<m_argFlag;
       
   119 	streamToPlugin<<pageNum;
       
   120 	streamToPlugin<<m_argFlag;
       
   121 	streamToPlugin<<perPage;
       
   122 	
       
   123 	write<<dataToPlugins;
       
   124 	
       
   125 	QString intfName(musicServiceInterface);
       
   126 	int maxalloc = SmfMusicProfileMaxSize*perPage;
       
   127 	
       
   128 	//call private impl's send method
       
   129 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   130 			SmfMusicSearchAlbum, maxalloc);
       
   131 	return err;
       
   132 	}
       
   133 
       
   134 
       
   135 SmfError SmfMusicServicePrivate::searchEvents ( SmfEvent event, int pageNum, int perPage )
       
   136 	{
       
   137 	SmfError err = SmfNoError;
       
   138 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   139 	SmfProvider* m_baseProvider = m_musicService->getProvider();
       
   140 	m_serializedDataToServer.clear();
       
   141 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   142 	write<<*m_baseProvider;
       
   143 	
       
   144 	QByteArray dataToPlugins;
       
   145 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   146 	m_argFlag = 1;
       
   147 	streamToPlugin<<m_argFlag;
       
   148 	streamToPlugin<<event;
       
   149 	streamToPlugin<<m_argFlag;
       
   150 	streamToPlugin<<pageNum;
       
   151 	streamToPlugin<<m_argFlag;
       
   152 	streamToPlugin<<perPage;
       
   153 	
       
   154 	write<<dataToPlugins;
       
   155 	
       
   156 	QString intfName(musicServiceInterface);
       
   157 	int maxalloc = SmfMusicProfileMaxSize*perPage;
       
   158 	
       
   159 	//call private impl's send method
       
   160 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   161 			SmfMusicSearchEvent, maxalloc);
       
   162 	return err;
       
   163 	}
       
   164 
       
   165 SmfError SmfMusicServicePrivate::searchVenue ( SmfLocation location, int pageNum, int perPage )
       
   166 	{
       
   167 	SmfError err = SmfNoError;
       
   168 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   169 	SmfProvider* m_baseProvider = m_musicService->getProvider();
       
   170 	m_serializedDataToServer.clear();
       
   171 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   172 	write<<*m_baseProvider;
       
   173 	
       
   174 	QByteArray dataToPlugins;
       
   175 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   176 	m_argFlag = 1;
       
   177 	streamToPlugin<<m_argFlag;
       
   178 	streamToPlugin<<location;
       
   179 	streamToPlugin<<m_argFlag;
       
   180 	streamToPlugin<<pageNum;
       
   181 	streamToPlugin<<m_argFlag;
       
   182 	streamToPlugin<<perPage;
       
   183 	
       
   184 	write<<dataToPlugins;
       
   185 	
       
   186 	QString intfName(musicServiceInterface);
       
   187 	int maxalloc = SmfMusicProfileMaxSize*perPage;
       
   188 	
       
   189 	//call private impl's send method
       
   190 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   191 			SmfMusicSearchVenue, maxalloc);
       
   192 	return err;
       
   193 	}
       
   194 	
       
   195 SmfError SmfMusicServicePrivate::searchUser(SmfLocation venue, int pageNum, int perPage)
       
   196 	{
       
   197 	SmfError err = SmfNoError;
       
   198 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   199 	SmfProvider* m_baseProvider = m_musicService->getProvider();
       
   200 	m_serializedDataToServer.clear();
       
   201 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   202 	write<<*m_baseProvider;
       
   203 	
       
   204 	QByteArray dataToPlugins;
       
   205 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   206 	m_argFlag = 1;
       
   207 	streamToPlugin<<m_argFlag;
       
   208 	streamToPlugin<<venue;
       
   209 	streamToPlugin<<m_argFlag;
       
   210 	streamToPlugin<<pageNum;
       
   211 	streamToPlugin<<m_argFlag;
       
   212 	streamToPlugin<<perPage;
       
   213 	
       
   214 	write<<dataToPlugins;
       
   215 	
       
   216 	QString intfName(musicServiceInterface);
       
   217 	int maxalloc = SmfMusicProfileMaxSize*perPage;
       
   218 	
       
   219 	//call private impl's send method
       
   220 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
    92 	SmfMusicSearchUser, maxalloc);
   221 	SmfMusicSearchUser, maxalloc);
    93 	}
   222 	return err;
    94 
   223 	}
    95 void SmfMusicServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
   224 
    96 	{
   225 SmfError SmfMusicServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
       
   226 	{
       
   227 	SmfError err = SmfNoError;
    97 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   228 	//We need to pass Opcode and SmfProvider serialized into bytearray 
    98 	SmfProvider* m_baseProvider = m_musicService->getProvider();
   229 	SmfProvider* m_baseProvider = m_musicService->getProvider();
    99 	m_serializedDataToServer.clear();
   230 	m_serializedDataToServer.clear();
   100 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   231 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   101 	write<<*m_baseProvider;
   232 	write<<*m_baseProvider;
   102 	m_argFlag = 1;
   233 	
   103 	write<<m_argFlag;
   234 	QByteArray dataToPlugins;
   104 	write<<operationId;
   235 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   236 	
       
   237 	m_argFlag = 1;
       
   238 	streamToPlugin<<m_argFlag;
       
   239 	streamToPlugin<<operationId;
   105 	if(customData)
   240 	if(customData)
   106 		{
   241 		{
   107 		write<<m_argFlag;
   242 		streamToPlugin<<m_argFlag;
   108 		write<<*customData;
   243 		streamToPlugin<<*customData;
   109 		}
   244 		}
   110 	else
   245 	else
   111 		{
   246 		{
   112 		m_argFlag = 0;
   247 		m_argFlag = 0;
   113 		write<<m_argFlag;
   248 		streamToPlugin<<m_argFlag;
   114 		}
   249 		}
       
   250 	
       
   251 	write<<dataToPlugins;
   115 	
   252 	
   116 	QString intfName(musicServiceInterface);
   253 	QString intfName(musicServiceInterface);
   117 	//ToDo:- How much size to allocate for custo data? keeping SmfMusicProfileMaxSize for now
   254 	//ToDo:- How much size to allocate for custo data? keeping SmfMusicProfileMaxSize for now
   118 	int maxAlloc = SmfMusicProfileMaxSize;
   255 	int maxAlloc = SmfMusicProfileMaxSize;
   119 	
   256 	
   120 	//call private impl's send method
   257 	//call private impl's send method
   121 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   258 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   122 			SmfMusicServiceCustomRequest, maxAlloc);
   259 			SmfMusicServiceCustomRequest, maxAlloc);
   123 	}
   260 	return err;
   124 
   261 	}
   125 void SmfMusicServicePrivate::postCurrentPlaying(SmfTrackInfo track) 
   262 
   126 	{
   263 SmfError SmfMusicServicePrivate::postCurrentPlaying(SmfTrackInfo track) 
       
   264 	{
       
   265 	SmfError err = SmfNoError;
   127 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   266 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   128 	SmfProvider* m_baseProvider = m_musicService->getProvider();
   267 	SmfProvider* m_baseProvider = m_musicService->getProvider();
   129 	m_serializedDataToServer.clear();
   268 	m_serializedDataToServer.clear();
   130 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   269 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   131 	write<<*(m_baseProvider);
   270 	write<<*(m_baseProvider);
   132 	m_argFlag = 1;
   271 	
   133 	write<<m_argFlag;
   272 	QByteArray dataToPlugins;
   134 	write<<track;
   273 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   274 	
       
   275 	m_argFlag = 1;
       
   276 	streamToPlugin<<m_argFlag;
       
   277 	streamToPlugin<<track;
       
   278 	
       
   279 	write<<dataToPlugins;
   135 	
   280 	
   136 	QString intfName(musicServiceInterface);
   281 	QString intfName(musicServiceInterface);
   137 	//TODO:-revisit all the maxalloc
   282 	//TODO:-revisit all the maxalloc
   138 	int maxalloc = 1000;
   283 	int maxalloc = 1000;
   139 	
   284 	
   140 	//call private impl's send method
   285 	//call private impl's send method
   141 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   286 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   142 			SmfMusicPostCurrentPlaying, maxalloc);
   287 			SmfMusicPostCurrentPlaying, maxalloc);
   143 	}
   288 	return err;
   144 
   289 	}
   145 void SmfMusicServicePrivate::postRating(SmfTrackInfo track, SmfMusicRating rate) 
   290 
   146 	{
   291 SmfError SmfMusicServicePrivate::postRating(SmfTrackInfo track, SmfMusicRating rate) 
       
   292 	{
       
   293 	SmfError err = SmfNoError;
   147 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   294 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   148 	SmfProvider* m_baseProvider = m_musicService->getProvider();
   295 	SmfProvider* m_baseProvider = m_musicService->getProvider();
   149 	m_serializedDataToServer.clear();
   296 	m_serializedDataToServer.clear();
   150 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   297 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   151 	write<<*(m_baseProvider);
   298 	write<<*(m_baseProvider);
   152 	m_argFlag = 1;
   299 	
   153 	write<<m_argFlag;
   300 	QByteArray dataToPlugins;
   154 	write<<track;
   301 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   155 	write<<m_argFlag;
   302 	
   156 	write<<rate;
   303 	m_argFlag = 1;
       
   304 	streamToPlugin<<m_argFlag;
       
   305 	streamToPlugin<<track;
       
   306 	streamToPlugin<<m_argFlag;
       
   307 	streamToPlugin<<rate;
       
   308 	
       
   309 	write<<dataToPlugins;
   157 
   310 
   158 	QString intfName(musicServiceInterface);
   311 	QString intfName(musicServiceInterface);
   159 	//TODO:-revisit all the maxalloc
   312 	//TODO:-revisit all the maxalloc
   160 	int maxalloc = 1000;
   313 	int maxalloc = 1000;
   161 	
   314 	
   162 	//call private impl's send method
   315 	//call private impl's send method
   163 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   316 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   164 	SmfMusicPostRating, maxalloc);
   317 	SmfMusicPostRating, maxalloc);
   165 	}
   318 	return err;
   166 
   319 	}
   167 void SmfMusicServicePrivate::postComments(SmfTrackInfo track, SmfComment comment) 
   320 
   168 	{
   321 SmfError SmfMusicServicePrivate::postComments(SmfTrackInfo track, SmfComment comment) 
       
   322 	{
       
   323 	SmfError err = SmfNoError;
   169 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   324 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   170 	SmfProvider* m_baseProvider = m_musicService->getProvider();
   325 	SmfProvider* m_baseProvider = m_musicService->getProvider();
   171 	m_serializedDataToServer.clear();
   326 	m_serializedDataToServer.clear();
   172 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   327 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   173 	write<<*(m_baseProvider);
   328 	write<<*(m_baseProvider);
   174 	m_argFlag = 1;
   329 	
   175 	write<<m_argFlag;
   330 	QByteArray dataToPlugins;
   176 	write<<track;
   331 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   177 	write<<m_argFlag;
   332 	
   178 	write<<comment;
   333 	m_argFlag = 1;
       
   334 	streamToPlugin<<m_argFlag;
       
   335 	streamToPlugin<<track;
       
   336 	streamToPlugin<<m_argFlag;
       
   337 	streamToPlugin<<comment;
       
   338 	
       
   339 	write<<dataToPlugins;
   179 	
   340 	
   180 	QString intfName(musicServiceInterface);
   341 	QString intfName(musicServiceInterface);
   181 	//TODO:-revisit all the maxalloc
   342 	//TODO:-revisit all the maxalloc
   182 	int maxalloc = 1000;
   343 	int maxalloc = 1000;
   183 	
   344 	
   184 	//call private impl's send method
   345 	//call private impl's send method
   185 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   346 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   186 			SmfMusicPostComment, maxalloc);
   347 			SmfMusicPostComment, maxalloc);
       
   348 	return err;
       
   349 	}
       
   350 
       
   351 
       
   352 SmfError SmfMusicServicePrivate::cancelRequest()
       
   353 	{
       
   354 	qDebug()<<"Inside SmfMusicServicePrivate::cancelRequest()";
       
   355 	QByteArray notused;
       
   356 	QByteArray retData = m_SmfClientPrivate->sendSyncRequest(notused,SmfCancelRequest,1000, notused);
       
   357 	
       
   358 	//De-serialize it into SmfError
       
   359 	QDataStream reader(&retData,QIODevice::ReadOnly);
       
   360 	int val;
       
   361 	reader>>val;
       
   362 	SmfError error = (SmfError) val;
       
   363 	return error;
   187 	}
   364 	}
   188 
   365 
   189 void SmfMusicServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
   366 void SmfMusicServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
   190 	{
   367 	{
   191 	//note:- "result" is serialized and we need to de-serialize it as per opcode
   368 	//note:- "result" is serialized and we need to de-serialize it as per opcode
   199 		case SmfMusicGetUserInfo:
   376 		case SmfMusicGetUserInfo:
   200 			{
   377 			{
   201 			SmfMusicProfile* m_profile = new SmfMusicProfile;
   378 			SmfMusicProfile* m_profile = new SmfMusicProfile;
   202 			reader>>*m_profile;
   379 			reader>>*m_profile;
   203 
   380 
   204 			emit m_musicService->userInfoAvailable(m_profile,error);
   381 			emit m_musicService->userMusicInfoAvailable(m_profile,error);
       
   382 			break;
       
   383 			}
       
   384 			
       
   385 		case SmfMusicSearchArtist:
       
   386 			{
       
   387 			SmfArtistsList *m_List = new SmfArtistsList;
       
   388 			reader>>*m_List;
       
   389 			
       
   390 			//ToDo :- not incorporating paging now
       
   391 			SmfResultPage page;
       
   392 
       
   393 			emit m_musicService->searchArtistInfoAvailable(m_List, error, page);
       
   394 			break;
       
   395 			}
       
   396 			
       
   397 		case SmfMusicSearchAlbum:
       
   398 			{
       
   399 			SmfAlbumList *m_List = new SmfAlbumList;
       
   400 			reader>>*m_List;
       
   401 			
       
   402 			//ToDo :- not incorporating paging now
       
   403 			SmfResultPage page;
       
   404 
       
   405 			emit m_musicService->searchAlbumInfoAvailable(m_List, error, page);
       
   406 			break;
       
   407 			}
       
   408 			
       
   409 		case SmfMusicSearchEvent:
       
   410 			{
       
   411 			SmfEventList *m_List = new SmfEventList;
       
   412 			reader>>*m_List;
       
   413 			
       
   414 			//ToDo :- not incorporating paging now
       
   415 			SmfResultPage page;
       
   416 
       
   417 			emit m_musicService->searchEventsInfoAvailable(m_List, error, page);
       
   418 			break;
       
   419 			}
       
   420 		case SmfMusicSearchVenue:
       
   421 			{
       
   422 			SmfLocationList *m_List = new SmfLocationList;
       
   423 			reader>>*m_List;
       
   424 			
       
   425 			//ToDo :- not incorporating paging now
       
   426 			SmfResultPage page;
       
   427 
       
   428 			emit m_musicService->searchVenueInfoAvailable(m_List, error, page);
   205 			break;
   429 			break;
   206 			}
   430 			}
   207 				
   431 				
   208 		case SmfMusicSearchUser:
   432 		case SmfMusicSearchUser:
   209 			{
   433 			{
   211 			reader>>*m_profileList;
   435 			reader>>*m_profileList;
   212 			
   436 			
   213 			//ToDo :- not incorporating paging now
   437 			//ToDo :- not incorporating paging now
   214 			SmfResultPage page;
   438 			SmfResultPage page;
   215 
   439 
   216 			emit m_musicService->searchInfoAvailable(m_profileList, error, page);
   440 			emit m_musicService->searchUserInfoAvailable(m_profileList, error, page);
   217 			break;
   441 			break;
   218 			}
   442 			}
   219 			
   443 			
   220 		case SmfMusicPostCurrentPlaying:
   444 		case SmfMusicPostCurrentPlaying:
   221 		case SmfMusicPostRating:
   445 		case SmfMusicPostRating:
   263 		delete m_SmfClientPrivate;
   487 		delete m_SmfClientPrivate;
   264 		m_SmfClientPrivate = NULL;
   488 		m_SmfClientPrivate = NULL;
   265 		}
   489 		}
   266 	}
   490 	}
   267 
   491 
   268 void SmfMusicSearchPrivate::recommendations(SmfTrackInfo track, int pageNum, int perPage)
   492 SmfError SmfMusicSearchPrivate::recommendations(SmfTrackInfo track, int pageNum, int perPage)
   269 	{
   493 	{
       
   494 	SmfError err = SmfNoError;
   270 	//We need to pass Opcode and SmfProvider serialized into bytearray
   495 	//We need to pass Opcode and SmfProvider serialized into bytearray
   271 	m_serializedDataToServer.clear();
   496 	m_serializedDataToServer.clear();
   272 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   497 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   273 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   498 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   274 	write<<*m_baseProvider;
   499 	write<<*m_baseProvider;
   275 	m_argFlag = 1;
   500 	
   276 	write<<m_argFlag;
   501 	QByteArray dataToPlugins;
   277 	write<<track;
   502 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   278 	write<<m_argFlag;
   503 	
   279 	write<<pageNum;
   504 	m_argFlag = 1;
   280 	write<<m_argFlag;
   505 	streamToPlugin<<m_argFlag;
   281 	write<<perPage;
   506 	streamToPlugin<<track;
       
   507 	streamToPlugin<<m_argFlag;
       
   508 	streamToPlugin<<pageNum;
       
   509 	streamToPlugin<<m_argFlag;
       
   510 	streamToPlugin<<perPage;
       
   511 	
       
   512 	write<<dataToPlugins;
   282 		
   513 		
   283 	QString intfName(musicSearchInterface);
   514 	QString intfName(musicSearchInterface);
   284 	//TODO:-revisit all the maxalloc
   515 	//TODO:-revisit all the maxalloc
   285 	int maxalloc = 1000;
   516 	int maxalloc = SmfMusicTracksMaxSize*perPage;
   286 	
   517 	
   287 	//call private impl's send method
   518 	//call private impl's send method
   288 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   519 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   289 			SmfMusicGetRecommendations, maxalloc);
   520 			SmfMusicGetRecommendations, maxalloc);
   290 	}
   521 	return err;
   291 
   522 	}
   292 void SmfMusicSearchPrivate::tracks(SmfTrackInfo track, int pageNum, int perPage)
   523 
   293 	{
   524 SmfError SmfMusicSearchPrivate::tracksSimilar ( SmfTrackInfo track, int pageNum, int perPage )
   294 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   525 	{
       
   526 	SmfError err = SmfNoError;
       
   527 	//We need to pass Opcode and SmfProvider serialized into bytearray
       
   528 	m_serializedDataToServer.clear();
   295 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   529 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   296 	m_serializedDataToServer.clear();
   530 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   297 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   531 	write<<*m_baseProvider;
   298 	write<<*m_baseProvider;
   532 	
   299 	m_argFlag = 1;
   533 	
   300 	write<<m_argFlag;
   534 	QByteArray dataToPlugins;
   301 	write<<track;
   535 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   302 	write<<m_argFlag;
   536 	
   303 	write<<pageNum;
   537 	m_argFlag = 1;
   304 	write<<m_argFlag;
   538 	streamToPlugin<<m_argFlag;
   305 	write<<perPage;
   539 	streamToPlugin<<track;
       
   540 	streamToPlugin<<m_argFlag;
       
   541 	streamToPlugin<<pageNum;
       
   542 	streamToPlugin<<m_argFlag;
       
   543 	streamToPlugin<<perPage;
       
   544 	
       
   545 	write<<dataToPlugins;
   306 	
   546 	
   307 	QString intfName(musicSearchInterface);
   547 	QString intfName(musicSearchInterface);
   308 	//TODO:-revisit all the maxalloc
   548 	//TODO:-revisit all the maxalloc
   309 	int maxalloc = 1000;
   549 	int maxalloc = SmfMusicTracksMaxSize*perPage;
   310 	
   550 	
   311 	//call private impl's send method
   551 	//call private impl's send method
   312 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   552 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   313 			SmfMusicGetTracks, maxalloc);
   553 			SmfMusicGetTracksSimilar, maxalloc);
   314 	}
   554 	return err;
   315 
   555 	}
   316 void SmfMusicSearchPrivate::trackInfo(SmfMusicFingerPrint signature, int pageNum, int perPage)
   556 
   317 	{
   557 SmfError SmfMusicSearchPrivate::tracksOfAlbum ( SmfAlbum album, int pageNum, int perPage )
   318 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   558 	{
       
   559 	SmfError err = SmfNoError;
       
   560 	//We need to pass Opcode and SmfProvider serialized into bytearray
       
   561 	m_serializedDataToServer.clear();
   319 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   562 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   320 	m_serializedDataToServer.clear();
   563 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   321 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   564 	write<<*m_baseProvider;
   322 	write<<*m_baseProvider;
   565 
   323 	m_argFlag = 1;
   566 	QByteArray dataToPlugins;
   324 	write<<m_argFlag;
   567 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   325 	write<<signature;
   568 	
   326 	write<<m_argFlag;
   569 	m_argFlag = 1;
   327 	write<<pageNum;
   570 	streamToPlugin<<m_argFlag;
   328 	write<<m_argFlag;
   571 	streamToPlugin<<album;
   329 	write<<perPage;
   572 	streamToPlugin<<m_argFlag;
   330 	
   573 	streamToPlugin<<pageNum;
       
   574 	streamToPlugin<<m_argFlag;
       
   575 	streamToPlugin<<perPage;
       
   576 	
       
   577 	write<<dataToPlugins;
       
   578 		
   331 	QString intfName(musicSearchInterface);
   579 	QString intfName(musicSearchInterface);
   332 	//TODO:-revisit all the maxalloc
   580 	//TODO:-revisit all the maxalloc
   333 	int maxalloc = 1000;
   581 	int maxalloc = SmfMusicTracksMaxSize*perPage;
       
   582 	
       
   583 	//call private impl's send method
       
   584 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   585 			SmfMusicGetTracksOfAlbum, maxalloc);
       
   586 	return err;
       
   587 	}
       
   588 
       
   589 SmfError SmfMusicSearchPrivate::tracksOfArtist ( SmfArtists artists, int pageNum, int perPage )
       
   590 	{
       
   591 	SmfError err = SmfNoError;
       
   592 	//We need to pass Opcode and SmfProvider serialized into bytearray
       
   593 	m_serializedDataToServer.clear();
       
   594 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
       
   595 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   596 	write<<*m_baseProvider;
       
   597 	
       
   598 	QByteArray dataToPlugins;
       
   599 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   600 	
       
   601 	m_argFlag = 1;
       
   602 	streamToPlugin<<m_argFlag;
       
   603 	streamToPlugin<<artists;
       
   604 	streamToPlugin<<m_argFlag;
       
   605 	streamToPlugin<<pageNum;
       
   606 	streamToPlugin<<m_argFlag;
       
   607 	streamToPlugin<<perPage;
       
   608 	
       
   609 	write<<dataToPlugins;
       
   610 		
       
   611 	QString intfName(musicSearchInterface);
       
   612 	//TODO:-revisit all the maxalloc
       
   613 	int maxalloc = SmfMusicTracksMaxSize*perPage;
       
   614 	
       
   615 	//call private impl's send method
       
   616 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   617 			SmfMusicGetTracksOfArtist, maxalloc);
       
   618 	return err;
       
   619 	}
       
   620 
       
   621 SmfError SmfMusicSearchPrivate::trackInfo(SmfMusicFingerPrint signature, int pageNum, int perPage)
       
   622 	{
       
   623 	SmfError err = SmfNoError;
       
   624 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   625 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
       
   626 	m_serializedDataToServer.clear();
       
   627 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   628 	write<<*m_baseProvider;
       
   629 
       
   630 	QByteArray dataToPlugins;
       
   631 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   632 	
       
   633 	m_argFlag = 1;
       
   634 	streamToPlugin<<m_argFlag;
       
   635 	streamToPlugin<<signature;
       
   636 	streamToPlugin<<m_argFlag;
       
   637 	streamToPlugin<<pageNum;
       
   638 	streamToPlugin<<m_argFlag;
       
   639 	streamToPlugin<<perPage;
       
   640 	
       
   641 	write<<dataToPlugins;
       
   642 	
       
   643 	QString intfName(musicSearchInterface);
       
   644 	//TODO:-revisit all the maxalloc
       
   645 	int maxalloc = SmfMusicTracksMaxSize*perPage;
   334 	
   646 	
   335 	//call private impl's send method
   647 	//call private impl's send method
   336 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName, 
   648 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName, 
   337 			SmfMusicGetTrackInfo, maxalloc);
   649 			SmfMusicGetTrackInfo, maxalloc);
   338 	}
   650 	return err;
   339 
   651 	}
   340 void SmfMusicSearchPrivate::stores(SmfTrackInfo track, int pageNum, int perPage)
   652 
   341 	{
   653 SmfError SmfMusicSearchPrivate::stores(SmfTrackInfo track, int pageNum, int perPage)
       
   654 	{
       
   655 	SmfError err = SmfNoError;
   342 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   656 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   343 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   657 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   344 	m_serializedDataToServer.clear();
   658 	m_serializedDataToServer.clear();
   345 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   659 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   346 	write<<*(m_baseProvider);
   660 	write<<*(m_baseProvider);
   347 	m_argFlag = 1;
   661 
   348 	write<<m_argFlag;
   662 	QByteArray dataToPlugins;
   349 	write<<track;
   663 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   350 	write<<m_argFlag;
   664 	
   351 	write<<pageNum;
   665 	m_argFlag = 1;
   352 	write<<m_argFlag;
   666 	streamToPlugin<<m_argFlag;
   353 	write<<perPage;
   667 	streamToPlugin<<track;
       
   668 	streamToPlugin<<m_argFlag;
       
   669 	streamToPlugin<<pageNum;
       
   670 	streamToPlugin<<m_argFlag;
       
   671 	streamToPlugin<<perPage;
       
   672 	
       
   673 	write<<dataToPlugins;
   354 	
   674 	
   355 	QString intfName(musicSearchInterface);
   675 	QString intfName(musicSearchInterface);
   356 	/** @TODO:-revisit all the maxalloc */
   676 	/** @TODO:-revisit all the maxalloc */
   357 	int maxalloc = 1000;
   677 	int maxalloc = 1000*perPage;
   358 	
   678 	
   359 	//call private impl's send method
   679 	//call private impl's send method
   360 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   680 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   361 			SmfMusicGetStores, maxalloc);
   681 			SmfMusicGetStores, maxalloc);
   362 	}
   682 	return err;
   363 
   683 	}
   364 void SmfMusicSearchPrivate::customRequest ( const int& operationId, QByteArray* customData )
   684 
   365 	{
   685 SmfError SmfMusicSearchPrivate::customRequest ( const int& operationId, QByteArray* customData )
       
   686 	{
       
   687 	SmfError err = SmfNoError;
   366 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   688 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   367 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   689 	SmfProvider* m_baseProvider = m_musicSearch->getProvider();
   368 	m_serializedDataToServer.clear();
   690 	m_serializedDataToServer.clear();
   369 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   691 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   370 	write<<*m_baseProvider;
   692 	write<<*m_baseProvider;
   371 	m_argFlag = 1;
   693 
   372 	write<<m_argFlag;
   694 	QByteArray dataToPlugins;
   373 	write<<operationId;
   695 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   374 	
   696 	
       
   697 	m_argFlag = 1;
       
   698 	streamToPlugin<<m_argFlag;
       
   699 	streamToPlugin<<operationId;
   375 	if(customData)
   700 	if(customData)
   376 		{
   701 		{
   377 		write<<m_argFlag;
   702 		streamToPlugin<<m_argFlag;
   378 		write<<*customData;
   703 		streamToPlugin<<*customData;
   379 		}
   704 		}
   380 	else
   705 	else
   381 		{
   706 		{
   382 		m_argFlag = 0;
   707 		m_argFlag = 0;
   383 		write<<m_argFlag;
   708 		streamToPlugin<<m_argFlag;
   384 		}
   709 		}
       
   710 	
       
   711 	write<<dataToPlugins;
   385 	
   712 	
   386 	QString intfName(musicSearchInterface);
   713 	QString intfName(musicSearchInterface);
   387 	/** @TODO:-revisit all the maxalloc */
   714 	/** @TODO:-revisit all the maxalloc */
   388 	int maxalloc = 1000;
   715 	int maxalloc = 10000;
   389 	
   716 	
   390 	//call private impl's send method
   717 	//call private impl's send method
   391 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   718 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   392 			SmfMusicSearchCustomRequest, maxalloc);
   719 			SmfMusicSearchCustomRequest, maxalloc);
   393 	}
   720 	return err;
   394 
   721 	}
       
   722 
       
   723 SmfError SmfMusicSearchPrivate::cancelRequest()
       
   724 	{
       
   725 	qDebug()<<"Inside SmfMusicSearchPrivate::cancelRequest()";
       
   726 	QByteArray notused;
       
   727 	QByteArray retData = m_SmfClientPrivate->sendSyncRequest(notused,SmfCancelRequest,1000, notused);
       
   728 	
       
   729 	//De-serialize it into SmfError
       
   730 	QDataStream reader(&retData,QIODevice::ReadOnly);
       
   731 	int val;
       
   732 	reader>>val;
       
   733 	SmfError error = (SmfError) val;
       
   734 	return error;
       
   735 	}
   395 
   736 
   396 
   737 
   397 void SmfMusicSearchPrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
   738 void SmfMusicSearchPrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
   398 	{
   739 	{
   399 	//note:- "result" is serialized and we need to de-serialize it as per opcode
   740 	//note:- "result" is serialized and we need to de-serialize it as per opcode
   403 	
   744 	
   404 	//Now de-serialize it based on opcode
   745 	//Now de-serialize it based on opcode
   405 	switch(opcode)
   746 	switch(opcode)
   406 		{
   747 		{
   407 		case SmfMusicGetRecommendations:
   748 		case SmfMusicGetRecommendations:
   408 		case SmfMusicGetTracks:
   749 		case SmfMusicGetTracksSimilar:
       
   750 		case SmfMusicGetTracksOfAlbum:
       
   751 		case SmfMusicGetTracksOfArtist:
   409 		case SmfMusicGetTrackInfo:
   752 		case SmfMusicGetTrackInfo:
   410 				{
   753 				{
   411 				SmfTrackInfoList* m_trackInfoList = new SmfTrackInfoList;
   754 				SmfTrackInfoList* m_trackInfoList = new SmfTrackInfoList;
   412 				reader>>*(m_trackInfoList);
   755 				reader>>*(m_trackInfoList);
   413 				
   756 				
   468 		delete m_SmfClientPrivate;
   811 		delete m_SmfClientPrivate;
   469 		m_SmfClientPrivate = NULL;
   812 		m_SmfClientPrivate = NULL;
   470 		}	
   813 		}	
   471 	}
   814 	}
   472 
   815 
   473 void SmfPlaylistServicePrivate::playlists(int pageNum, int perPage)
   816 SmfError SmfPlaylistServicePrivate::playlists(int pageNum, int perPage)
   474 	{
   817 	{
       
   818 	SmfError err = SmfNoError;
   475 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   819 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   476 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   820 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   477 	m_serializedDataToServer.clear();
   821 	m_serializedDataToServer.clear();
   478 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   822 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   479 	write<<*(m_baseProvider);
   823 	write<<*(m_baseProvider);
   480 	m_argFlag = 1;
   824 
   481 	write<<m_argFlag;
   825 	QByteArray dataToPlugins;
   482 	write<<pageNum;
   826 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   483 	write<<m_argFlag;
   827 	
   484 	write<<perPage;
   828 	m_argFlag = 1;
       
   829 	streamToPlugin<<m_argFlag;
       
   830 	streamToPlugin<<pageNum;
       
   831 	streamToPlugin<<m_argFlag;
       
   832 	streamToPlugin<<perPage;
       
   833 		
       
   834 	write<<dataToPlugins;
   485 	
   835 	
   486 	QString intfName(playlistServiceInterface);
   836 	QString intfName(playlistServiceInterface);
   487 	//TODO:-revisit all the maxalloc
   837 	//TODO:-revisit all the maxalloc
   488 	int maxalloc = 1000;
   838 	int maxalloc = SmfMusicPlaylistMaxSize*perPage;
   489 	
   839 	
   490 	//call private impl's send method
   840 	//call private impl's send method
   491 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   841 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   492 			SmfMusicGetPlaylists, maxalloc);
   842 			SmfMusicGetPlaylists, maxalloc);
   493 	}
   843 	return err;
   494 
   844 	}
   495 void SmfPlaylistServicePrivate::playlistsOf(SmfMusicProfile *user, int pageNum, int perPage)
   845 
   496 	{
   846 SmfError SmfPlaylistServicePrivate::playlistsOf(SmfContact *user, int pageNum, int perPage)
       
   847 	{
       
   848 	SmfError err = SmfNoError;
   497 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   849 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   498 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   850 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   499 	m_serializedDataToServer.clear();
   851 	m_serializedDataToServer.clear();
   500 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   852 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   501 	write<<*(m_baseProvider);
   853 	write<<*(m_baseProvider);
       
   854 	
       
   855 	QByteArray dataToPlugins;
       
   856 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   857 	
   502 	if(user)
   858 	if(user)
   503 		{
   859 		{
   504 		m_argFlag = 1;
   860 		m_argFlag = 1;
   505 		write<<m_argFlag;
   861 		streamToPlugin<<m_argFlag;
   506 		write<<*user;
   862 		streamToPlugin<<*user;
   507 		}
   863 		}
   508 	else
   864 	else
   509 		{
   865 		{
   510 		m_argFlag = 0;
   866 		m_argFlag = 0;
   511 		write<<m_argFlag;
   867 		streamToPlugin<<m_argFlag;
   512 		}
   868 		}
   513 	m_argFlag = 1;
   869 	m_argFlag = 1;
   514 	write<<m_argFlag;
   870 	streamToPlugin<<m_argFlag;
   515 	write<<pageNum;
   871 	streamToPlugin<<pageNum;
   516 	write<<m_argFlag;
   872 	streamToPlugin<<m_argFlag;
   517 	write<<perPage;
   873 	streamToPlugin<<perPage;
       
   874 		
       
   875 	write<<dataToPlugins;
   518 		
   876 		
   519 	QString intfName(playlistServiceInterface);
   877 	QString intfName(playlistServiceInterface);
   520 	//TODO:-revisit all the maxalloc
   878 	//TODO:-revisit all the maxalloc
   521 	int maxalloc = 1000;
   879 	int maxalloc = SmfMusicPlaylistMaxSize*perPage;
   522 	
   880 	
   523 	//call private impl's send method
   881 	//call private impl's send method
   524 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   882 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   525 			SmfMusicGetPlaylistsOfUser, maxalloc);
   883 			SmfMusicGetPlaylistsOfUser, maxalloc);
   526 	}
   884 	return err;
   527 
   885 	}
   528 int SmfPlaylistServicePrivate::addToPlaylist(SmfPlaylist plst, SmfTrackInfoList *tracks)
   886 
   529 	{
   887 SmfError SmfPlaylistServicePrivate::addToPlaylist(SmfPlaylist plst, SmfTrackInfoList *tracks)
       
   888 	{
       
   889 	SmfError err = SmfNoError;
   530 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   890 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   531 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   891 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   532 	m_serializedDataToServer.clear();
   892 	m_serializedDataToServer.clear();
   533 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   893 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   534 	write<<*(m_baseProvider);
   894 	write<<*(m_baseProvider);
   535 	m_argFlag = 1;
   895 	
   536 	write<<m_argFlag;
   896 	QByteArray dataToPlugins;
   537 	write<<plst;
   897 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   898 	
       
   899 	m_argFlag = 1;
       
   900 	streamToPlugin<<m_argFlag;
       
   901 	streamToPlugin<<plst;
   538 	if(tracks)
   902 	if(tracks)
   539 		{
   903 		{
   540 		write<<m_argFlag;
   904 		streamToPlugin<<m_argFlag;
   541 		write<<*tracks;
   905 		streamToPlugin<<*tracks;
   542 		}
   906 		}
   543 	else
   907 	else
   544 		{
   908 		{
   545 		m_argFlag = 0;
   909 		m_argFlag = 0;
   546 		write<<m_argFlag;
   910 		streamToPlugin<<m_argFlag;
   547 		}
   911 		}
       
   912 		
       
   913 	write<<dataToPlugins;
   548 		
   914 		
   549 	QString intfName(playlistServiceInterface);
   915 	QString intfName(playlistServiceInterface);
   550 	//TODO:-revisit all the maxalloc
   916 	//TODO:-revisit all the maxalloc
   551 	int maxalloc = 1000;
   917 	int maxalloc = 1000;
   552 	
   918 	
   553 	//call private impl's send method
   919 	//call private impl's send method
   554 	return m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   920 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   555 			SmfMusicAddToPlaylist, maxalloc);
   921 			SmfMusicAddToPlaylist, maxalloc);
   556 	}
   922 	return err;
   557 
   923 	}
   558 int SmfPlaylistServicePrivate::postCurrentPlayingPlaylist(SmfPlaylist plst)
   924 
   559 	{
   925 SmfError SmfPlaylistServicePrivate::postCurrentPlayingPlaylist(SmfPlaylist plst)
       
   926 	{
       
   927 	SmfError err = SmfNoError;
   560 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   928 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   561 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   929 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   562 	m_serializedDataToServer.clear();
   930 	m_serializedDataToServer.clear();
   563 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   931 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   564 	write<<*(m_baseProvider);
   932 	write<<*(m_baseProvider);
   565 	m_argFlag = 1;
   933 	
   566 	write<<m_argFlag;
   934 	QByteArray dataToPlugins;
   567 	write<<plst;
   935 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
       
   936 	
       
   937 	m_argFlag = 1;
       
   938 	streamToPlugin<<m_argFlag;
       
   939 	streamToPlugin<<plst;
       
   940 		
       
   941 	write<<dataToPlugins;
   568 	
   942 	
   569 	QString intfName(playlistServiceInterface);
   943 	QString intfName(playlistServiceInterface);
   570 	//TODO:-revisit all the maxalloc
   944 	//TODO:-revisit all the maxalloc
   571 	int maxalloc = 1000;
   945 	int maxalloc = 1000;
   572 	
   946 	
   573 	//call private impl's send method
   947 	//call private impl's send method
   574 	return m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   948 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   575 			SmfMusicPostCurrentPlayingPlaylist, maxalloc);
   949 			SmfMusicPostCurrentPlayingPlaylist, maxalloc);
   576 	}
   950 	return err;
   577 
   951 	}
   578 void SmfPlaylistServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
   952 
   579 	{
   953 SmfError SmfPlaylistServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
       
   954 	{
       
   955 	SmfError err = SmfNoError;
   580 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   956 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   581 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   957 	SmfProvider* m_baseProvider = m_playlstSrvc->getProvider();
   582 	m_serializedDataToServer.clear();
   958 	m_serializedDataToServer.clear();
   583 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   959 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   584 	write<<*m_baseProvider;
   960 	write<<*m_baseProvider;
   585 	m_argFlag = 1;
   961 
   586 	write<<m_argFlag;
   962 	QByteArray dataToPlugins;
   587 	write<<operationId;
   963 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   588 	
   964 	
       
   965 	m_argFlag = 1;
       
   966 	streamToPlugin<<m_argFlag;
       
   967 	streamToPlugin<<operationId;
   589 	if(customData)
   968 	if(customData)
   590 		{
   969 		{
   591 		write<<m_argFlag;
   970 		streamToPlugin<<m_argFlag;
   592 		write<<*customData;
   971 		streamToPlugin<<*customData;
   593 		}
   972 		}
   594 	else
   973 	else
   595 		{
   974 		{
   596 		m_argFlag = 0;
   975 		m_argFlag = 0;
   597 		write<<m_argFlag;
   976 		streamToPlugin<<m_argFlag;
   598 		}
   977 		}
       
   978 	
       
   979 	write<<dataToPlugins;
   599 	
   980 	
   600 	QString intfName(playlistServiceInterface);
   981 	QString intfName(playlistServiceInterface);
   601 	//TODO:-revisit all the maxalloc
   982 	//TODO:-revisit all the maxalloc
   602 	int maxalloc = 1000;
   983 	int maxalloc = 10000;
   603 	
   984 	
   604 	//call private impl's send method
   985 	//call private impl's send method
   605 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   986 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   606 			SmfMusicPlaylistCustomRequest, maxalloc);
   987 			SmfMusicPlaylistCustomRequest, maxalloc);
       
   988 	return err;
       
   989 	}
       
   990 
       
   991 SmfError SmfPlaylistServicePrivate::cancelRequest()
       
   992 	{
       
   993 	qDebug()<<"Inside SmfPlaylistServicePrivate::cancelRequest()";
       
   994 	QByteArray notused;
       
   995 	QByteArray retData = m_SmfClientPrivate->sendSyncRequest(notused,SmfCancelRequest,1000, notused);
       
   996 	
       
   997 	//De-serialize it into SmfError
       
   998 	QDataStream reader(&retData,QIODevice::ReadOnly);
       
   999 	int val;
       
  1000 	reader>>val;
       
  1001 	SmfError error = (SmfError) val;
       
  1002 	return error;
   607 	}
  1003 	}
   608 
  1004 
   609 void SmfPlaylistServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
  1005 void SmfPlaylistServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
   610 	{
  1006 	{
   611 	//note:- "result" is serialized and we need to de-serialize it as per opcode
  1007 	//note:- "result" is serialized and we need to de-serialize it as per opcode
   652 		}
  1048 		}
   653 	}
  1049 	}
   654 //SmfPlaylistServicePrivate end
  1050 //SmfPlaylistServicePrivate end
   655 
  1051 
   656 
  1052 
   657 //SmfMusicEventsPrivate start
  1053 
   658 SmfMusicEventsPrivate::SmfMusicEventsPrivate(SmfMusicEvents *aMusicEvent)
  1054 //SmfLyricsServicePrivate start
   659 		:m_musicEvent(aMusicEvent)
  1055 SmfLyricsServicePrivate::SmfLyricsServicePrivate(SmfLyricsService *aLyricsSrvc)
       
  1056 		: m_lyricsSrvc(aLyricsSrvc)
   660 	{
  1057 	{
   661 #ifdef Q_OS_SYMBIAN
  1058 #ifdef Q_OS_SYMBIAN
   662 	//private impl for symbian
  1059 	//private impl for symbian
   663 	m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
  1060 	m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
   664 #else
  1061 #else
   665 	//TODO:- Use private impl for other platforms or else Qt impl
  1062 	//TODO:- Use private impl for other platforms or else Qt impl
   666 #endif
  1063 #endif
   667 	}
  1064 	}
   668 
  1065 
   669 SmfMusicEventsPrivate::~SmfMusicEventsPrivate()
  1066 SmfLyricsServicePrivate::~SmfLyricsServicePrivate()
   670 	{
  1067 	{
   671 	if(m_SmfClientPrivate)
  1068 	if(m_SmfClientPrivate)
   672 		{
  1069 		{
   673 		delete m_SmfClientPrivate;
  1070 		delete m_SmfClientPrivate;
   674 		m_SmfClientPrivate = NULL;
  1071 		m_SmfClientPrivate = NULL;
   675 		}
  1072 		}
   676 	}
  1073 	}
   677 
  1074 
   678 void SmfMusicEventsPrivate::events(SmfLocation venue, int pageNum, int perPage)
  1075 SmfError SmfLyricsServicePrivate::lyrics(SmfTrackInfo track, int pageNum, int perPage)
   679 	{
  1076 	{
   680 	//We need to pass Opcode and SmfProvider serialized into bytearray 
  1077 	SmfError err = SmfNoError;
   681 	SmfProvider* m_baseProvider = m_musicEvent->getProvider();
  1078 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
  1079 	SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
   682 	m_serializedDataToServer.clear();
  1080 	m_serializedDataToServer.clear();
   683 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
  1081 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   684 	write<<*(m_baseProvider);
  1082 	write<<*(m_baseProvider);
   685 	m_argFlag = 1;
  1083 
   686 	write<<m_argFlag;
  1084 	QByteArray dataToPlugins;
   687 	write<<venue;
  1085 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   688 	write<<m_argFlag;
  1086 	
   689 	write<<pageNum;
  1087 	m_argFlag = 1;
   690 	write<<m_argFlag;
  1088 	streamToPlugin<<m_argFlag;
   691 	write<<perPage;
  1089 	streamToPlugin<<track;
   692 		
  1090 	streamToPlugin<<m_argFlag;
   693 	QString intfName(musicEventServiceInterface);
  1091 	streamToPlugin<<pageNum;
   694 	//TODO:-revisit all the maxalloc
  1092 	streamToPlugin<<m_argFlag;
   695 	int maxalloc = 1000;
  1093 	streamToPlugin<<perPage;
   696 	
  1094 	
   697 	//call private impl's send method
  1095 	write<<dataToPlugins;
   698 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   699 			SmfMusicGetEventsOnLoc, maxalloc);
       
   700 	}
       
   701 
       
   702 void SmfMusicEventsPrivate::venues(SmfLocation location, int pageNum, int perPage)
       
   703 	{
       
   704 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   705 	SmfProvider* m_baseProvider = m_musicEvent->getProvider();
       
   706 	m_serializedDataToServer.clear();
       
   707 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   708 	write<<*(m_baseProvider);
       
   709 	m_argFlag = 1;
       
   710 	write<<m_argFlag;
       
   711 	write<<location;
       
   712 	write<<m_argFlag;
       
   713 	write<<pageNum;
       
   714 	write<<m_argFlag;
       
   715 	write<<perPage;
       
   716 		
       
   717 	QString intfName(musicEventServiceInterface);
       
   718 	//TODO:-revisit all the maxalloc
       
   719 	int maxalloc = 1000;
       
   720 	
       
   721 	//call private impl's send method
       
   722 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   723 			SmfMusicGetVenueOnLoc, maxalloc);
       
   724 	}
       
   725 
       
   726 void SmfMusicEventsPrivate::postEvents(SmfEventList events)
       
   727 	{
       
   728 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   729 	SmfProvider* m_baseProvider = m_musicEvent->getProvider();
       
   730 	m_serializedDataToServer.clear();
       
   731 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   732 	write<<*(m_baseProvider);
       
   733 	m_argFlag = 1;
       
   734 	write<<m_argFlag;
       
   735 	write<<events;
       
   736 	
       
   737 	QString intfName(musicEventServiceInterface);
       
   738 	//TODO:-revisit all the maxalloc
       
   739 	int maxalloc = 1000;
       
   740 	
       
   741 	//call private impl's send method
       
   742 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   743 			SmfMusicPostEvents, maxalloc);
       
   744 	}
       
   745 
       
   746 void SmfMusicEventsPrivate::customRequest ( const int& operationId, QByteArray* customData )
       
   747 	{
       
   748 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   749 	SmfProvider* m_baseProvider = m_musicEvent->getProvider();
       
   750 	m_serializedDataToServer.clear();
       
   751 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   752 	write<<*m_baseProvider;
       
   753 	m_argFlag = 1;
       
   754 	write<<m_argFlag;
       
   755 	write<<operationId;
       
   756 	
       
   757 	if(customData)
       
   758 		{
       
   759 		write<<m_argFlag;
       
   760 		write<<*customData;
       
   761 		}
       
   762 	else
       
   763 		{
       
   764 		m_argFlag = 0;
       
   765 		write<<m_argFlag;
       
   766 		}
       
   767 	
       
   768 	QString intfName(musicEventServiceInterface);
       
   769 	//TODO:-revisit all the maxalloc
       
   770 	int maxalloc = 1000;
       
   771 	
       
   772 	//call private impl's send method
       
   773 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
       
   774 			SmfMusicEventsCustomRequest, maxalloc);
       
   775 	}
       
   776 
       
   777 void SmfMusicEventsPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
       
   778 	{
       
   779 	//note:- "result" is serialized and we need to de-serialize it as per opcode
       
   780 	//Order of serialization Error value followed by data
       
   781 	
       
   782 	QDataStream reader(&result,QIODevice::ReadOnly);
       
   783 	
       
   784 	//Now de-serialize it based on opcode
       
   785 	switch(opcode)
       
   786 		{
       
   787 		case SmfMusicGetEventsOnLoc:
       
   788 			{
       
   789 			SmfEventList* m_events = new SmfEventList;
       
   790 			reader>>*(m_events);
       
   791 			
       
   792 			// ToDo :-
       
   793 			SmfResultPage page;
       
   794 			
       
   795 			m_musicEvent->eventsAvailable(m_events,error,page);
       
   796 			break;
       
   797 			}
       
   798 			
       
   799 		case SmfMusicGetVenueOnLoc:
       
   800 			{
       
   801 			SmfLocationList* m_venues = new SmfLocationList;
       
   802 			reader>>*(m_venues);
       
   803 			
       
   804 			//ToDo :-
       
   805 			SmfResultPage page;
       
   806 			
       
   807 			m_musicEvent->venuesAvailable(m_venues,error,page);
       
   808 			break;
       
   809 			}
       
   810 			
       
   811 		case SmfMusicPostEvents:
       
   812 			m_musicEvent->eventsUpdated(error);
       
   813 			break;
       
   814 			
       
   815 		case SmfMusicEventsCustomRequest:
       
   816    			{
       
   817    			int operationId;
       
   818    			QByteArray *data = new QByteArray;
       
   819    			reader>>operationId;
       
   820    			reader>>*data;
       
   821    			qDebug()<<"operationId = "<<operationId;
       
   822    			qDebug()<<"data size = "<<data->size();
       
   823    			emit m_musicEvent->customDataAvailable(operationId, data);
       
   824    			break;
       
   825    			}
       
   826    			
       
   827 		default:
       
   828 			Q_ASSERT_X(1,"SmfMusicEventsPrivate::resultsAvailable","unknown opcode");
       
   829 		}
       
   830 	}
       
   831 //SmfMusicEventsPrivate end
       
   832 
       
   833 
       
   834 //SmfLyricsServicePrivate start
       
   835 SmfLyricsServicePrivate::SmfLyricsServicePrivate(SmfLyricsService *aLyricsSrvc)
       
   836 		: m_lyricsSrvc(aLyricsSrvc)
       
   837 	{
       
   838 #ifdef Q_OS_SYMBIAN
       
   839 	//private impl for symbian
       
   840 	m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
       
   841 #else
       
   842 	//TODO:- Use private impl for other platforms or else Qt impl
       
   843 #endif
       
   844 	}
       
   845 
       
   846 SmfLyricsServicePrivate::~SmfLyricsServicePrivate()
       
   847 	{
       
   848 	if(m_SmfClientPrivate)
       
   849 		{
       
   850 		delete m_SmfClientPrivate;
       
   851 		m_SmfClientPrivate = NULL;
       
   852 		}
       
   853 	}
       
   854 
       
   855 void SmfLyricsServicePrivate::lyrics(SmfTrackInfo track, int pageNum, int perPage)
       
   856 	{
       
   857 	//We need to pass Opcode and SmfProvider serialized into bytearray 
       
   858 	SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
       
   859 	m_serializedDataToServer.clear();
       
   860 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
       
   861 	write<<*(m_baseProvider);
       
   862 	m_argFlag = 1;
       
   863 	write<<m_argFlag;
       
   864 	write<<track;
       
   865 	write<<m_argFlag;
       
   866 	write<<pageNum;
       
   867 	write<<m_argFlag;
       
   868 	write<<perPage;
       
   869 		
  1096 		
   870 	QString intfName(lyricsServiceInterface);
  1097 	QString intfName(lyricsServiceInterface);
   871 	//TODO:-revisit all the maxalloc
  1098 	//TODO:-revisit all the maxalloc
   872 	int maxalloc = 1000;
  1099 	int maxalloc = SmfMusicLyricsMaxSize*perPage;
   873 	
  1100 	
   874 	//call private impl's send method
  1101 	//call private impl's send method
   875 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
  1102 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   876 			SmfMusicGetLyrics, maxalloc);
  1103 			SmfMusicGetLyrics, maxalloc);
   877 	}
  1104 	return err;
   878 
  1105 	}
   879 void SmfLyricsServicePrivate::subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter, 
  1106 
       
  1107 SmfError SmfLyricsServicePrivate::subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter, 
   880 		int pageNum, int perPage)
  1108 		int pageNum, int perPage)
   881 	{
  1109 	{
       
  1110 	SmfError err = SmfNoError;
   882 	//We need to pass Opcode and SmfProvider serialized into bytearray 
  1111 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   883 	SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
  1112 	SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
   884 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
  1113 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   885 	write<<*(m_baseProvider);
  1114 	write<<*(m_baseProvider);
   886 	m_argFlag = 1;
  1115 
   887 	write<<m_argFlag;
  1116 	QByteArray dataToPlugins;
   888 	write<<track;
  1117 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   889 	write<<m_argFlag;
  1118 	
   890 	write<<filter;
  1119 	m_argFlag = 1;
   891 	write<<m_argFlag;
  1120 	streamToPlugin<<m_argFlag;
   892 	write<<pageNum;
  1121 	streamToPlugin<<track;
   893 	write<<m_argFlag;
  1122 	streamToPlugin<<m_argFlag;
   894 	write<<perPage;
  1123 	streamToPlugin<<filter;
       
  1124 	streamToPlugin<<m_argFlag;
       
  1125 	streamToPlugin<<pageNum;
       
  1126 	streamToPlugin<<m_argFlag;
       
  1127 	streamToPlugin<<perPage;
       
  1128 	
       
  1129 	write<<dataToPlugins;
   895 		
  1130 		
   896 	QString intfName(lyricsServiceInterface);
  1131 	QString intfName(lyricsServiceInterface);
   897 	//TODO:-revisit all the maxalloc
  1132 	//TODO:-revisit all the maxalloc
   898 	int maxalloc = 1000;
  1133 	int maxalloc = SmfMusicLyricsMaxSize*perPage;
   899 	
  1134 	
   900 	//call private impl's send method
  1135 	//call private impl's send method
   901 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
  1136 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   902 			SmfMusicGetSubtitle, maxalloc);
  1137 			SmfMusicGetSubtitle, maxalloc);
   903 	}
  1138 	return err;
   904 
  1139 	}
   905 void SmfLyricsServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
  1140 
   906 	{
  1141 SmfError SmfLyricsServicePrivate::customRequest ( const int& operationId, QByteArray* customData )
       
  1142 	{
       
  1143 	SmfError err = SmfNoError;
   907 	//We need to pass Opcode and SmfProvider serialized into bytearray 
  1144 	//We need to pass Opcode and SmfProvider serialized into bytearray 
   908 	SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
  1145 	SmfProvider* m_baseProvider = m_lyricsSrvc->getProvider();
   909 	m_serializedDataToServer.clear();
  1146 	m_serializedDataToServer.clear();
   910 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
  1147 	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
   911 	write<<*m_baseProvider;
  1148 	write<<*m_baseProvider;
   912 	m_argFlag = 1;
  1149 
   913 	write<<m_argFlag;
  1150 	QByteArray dataToPlugins;
   914 	write<<operationId;
  1151 	QDataStream streamToPlugin(&dataToPlugins, QIODevice::WriteOnly);
   915 	
  1152 	
       
  1153 	m_argFlag = 1;
       
  1154 	streamToPlugin<<m_argFlag;
       
  1155 	streamToPlugin<<operationId;
   916 	if(customData)
  1156 	if(customData)
   917 		{
  1157 		{
   918 		write<<m_argFlag;
  1158 		streamToPlugin<<m_argFlag;
   919 		write<<*customData;
  1159 		streamToPlugin<<*customData;
   920 		}
  1160 		}
   921 	else
  1161 	else
   922 		{
  1162 		{
   923 		m_argFlag = 0;
  1163 		m_argFlag = 0;
   924 		write<<m_argFlag;
  1164 		streamToPlugin<<m_argFlag;
   925 		}
  1165 		}
       
  1166 	
       
  1167 	write<<dataToPlugins;
   926 	
  1168 	
   927 	QString intfName(lyricsServiceInterface);
  1169 	QString intfName(lyricsServiceInterface);
   928 	//TODO:-revisit all the maxalloc
  1170 	//TODO:-revisit all the maxalloc
   929 	int maxalloc = 1000;
  1171 	int maxalloc = 10000;
   930 	
  1172 	
   931 	//call private impl's send method
  1173 	//call private impl's send method
   932 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
  1174 	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
   933 			SmfMusicLyricsCustomRequest, maxalloc);
  1175 			SmfMusicLyricsCustomRequest, maxalloc);
       
  1176 	return err;
       
  1177 	}
       
  1178 
       
  1179 SmfError SmfLyricsServicePrivate::cancelRequest()
       
  1180 	{
       
  1181 	qDebug()<<"Inside SmfLyricsServicePrivate::cancelRequest()";
       
  1182 	QByteArray notused;
       
  1183 	QByteArray retData = m_SmfClientPrivate->sendSyncRequest(notused,SmfCancelRequest,1000, notused);
       
  1184 	
       
  1185 	//De-serialize it into SmfError
       
  1186 	QDataStream reader(&retData,QIODevice::ReadOnly);
       
  1187 	int val;
       
  1188 	reader>>val;
       
  1189 	SmfError error = (SmfError) val;
       
  1190 	return error;
   934 	}
  1191 	}
   935 
  1192 
   936 void SmfLyricsServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
  1193 void SmfLyricsServicePrivate::resultsAvailable(QByteArray result, SmfRequestTypeID opcode, SmfError error)
   937 	{
  1194 	{
   938 	//note:- "result" is serialized and we need to de-serialize it as per opcode
  1195 	//note:- "result" is serialized and we need to de-serialize it as per opcode