smf/smfservermodule/smfclient/smfmusic_p.h
author cgandhi
Tue, 12 Oct 2010 15:23:52 +0530
changeset 27 b3e1347ac96a
parent 25 a180113055cb
permissions -rw-r--r--
Updating the information for test applications and results.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     1
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     2
 * Copyright (c) 2010 Sasken Communication Technologies Ltd.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     3
 * All rights reserved.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     5
 * under the terms of the "Eclipse Public License v1.0" 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     6
 * which accompanies  this distribution, and is available
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html"
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     8
 *
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     9
 * Initial Contributors:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    10
 * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    11
 *
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    12
 * Contributors:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    13
 * Manasij Roy, Nalina Hariharan
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    14
 * 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    15
 * Description:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    16
 * Private implementation of music related services
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    17
 * 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    18
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    19
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    20
#ifndef SMFMUSICPRIVATE_H_
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    21
#define SMFMUSICPRIVATE_H_
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    22
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    23
#include <qcontactgeolocation.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    24
#include <smfglobal.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    25
#include <smfobserver.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    26
#include <smfevent.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    27
#include <smfsubtitle.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    28
#include <smfmusicprofile.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    29
#include <smflyrics.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    30
#include <smfplaylist.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    31
#include <smftrackinfo.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    32
#include <smflocation.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    33
#include <smfprovider.h>
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    34
#include <smfartists.h>
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    35
#include <smfalbum.h>
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    36
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    37
#ifdef Q_OS_SYMBIAN
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    38
	class CSmfClientSymbian;	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    39
#else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    40
	class SmfClientQt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    41
#endif
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    42
class SmfMusicService;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    43
class SmfMusicSearch;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    44
class SmfPlaylistService;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    45
class SmfLyricsService;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    46
class SmfMusicFingerPrint;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    47
class SmfMusicRating;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    48
class SmfComment;
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    49
class SmfContact;
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    50
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    51
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    52
class SmfMusicServicePrivate : public smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    53
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    54
	Q_OBJECT
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    55
public:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    56
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    57
	 * Constructor
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    58
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    59
	SmfMusicServicePrivate(SmfMusicService* aMusicService);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    60
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    61
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    62
	 * Destructor
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    63
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    64
	~SmfMusicServicePrivate();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    65
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    66
	/**
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    67
	 * Gets self profile information (e.g. music likings, feavorites etc) asynchronously.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    68
	 * userMusicInfoAvailable() signal is emitted with SmfMusicProfile when the info is arrived
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    69
	 * @return SmfError. SmfNoError if success, else appropriate error code
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    70
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    71
	SmfError userMusicInfo ( );
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    72
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    73
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    74
	 * Asynchronously searches information about artisits in this service. All information 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    75
	 * in SmfArtists is not required, however more available the better 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    76
	 * searchArtistInfoAvailable() signal is emitted when the info is arrived.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    77
	 * @param artist The search criteria
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    78
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    79
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    80
	 * @return SmfError, SmfNoError if success, else appropriate error value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    81
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    82
	SmfError searchArtist ( SmfArtists artist, int pageNum = SMF_FIRST_PAGE,
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    83
						int perPage = SMF_ITEMS_PER_PAGE );
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    84
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    85
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    86
	 * Asynchronously searches information about albums in this service. All information 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    87
	 * in SmfAlbum is not required, however more available the better 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    88
	 * searchAlbumInfoAvailable() signal is emitted when the info is arrived.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    89
	 * @param album The search criteria
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    90
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    91
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    92
	 * @return SmfError, SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    93
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    94
	SmfError searchAlbum ( SmfAlbum album, int pageNum = SMF_FIRST_PAGE,
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    95
						int perPage = SMF_ITEMS_PER_PAGE );
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    96
	
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    97
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    98
	 * Asynchronously searches information about events in this service. All information 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
    99
	 * in SmfEvents is not required, however more available the better 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   100
	 * searchEventsInfoAvailable() signal is emitted when the info is arrived.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   101
	 * @param event The search criteria
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   102
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   103
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   104
	 * @return SmfError, SmfNoError if success, else appropriate error value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   105
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   106
	SmfError searchEvents ( SmfEvent event, int pageNum = SMF_FIRST_PAGE,
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   107
						int perPage = SMF_ITEMS_PER_PAGE );
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   108
	
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   109
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   110
	 * Asynchronously searches information about venue in this service. All information 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   111
	 * in SmfVenue is not required, however more available the better 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   112
	 * searchVenueInfoAvailable() signal is emitted when the info is arrived.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   113
	 * @param location The search criteria
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   114
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   115
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   116
	 * @return SmfError, SmfNoError if success, else appropriate error value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   117
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   118
	SmfError searchVenue ( SmfLocation location, int pageNum = SMF_FIRST_PAGE,
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   119
						int perPage = SMF_ITEMS_PER_PAGE );
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   120
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   121
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   122
	 * Asynchronously searches information about other service users for a particular venue
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   123
	 * searchUserInfoAvailable() signal is emitted with SmfMusicProfileList when the info is arrived.
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   124
	 * When the list is big user can specify the page number and per page item data.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   125
	 * If not supplied by the user default values are used.
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   126
	 * @param location The search criteria
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   127
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   128
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   129
	 * @return SmfError, SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   130
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   131
	SmfError searchUser ( SmfLocation venue, int pageNum = SMF_FIRST_PAGE,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   132
						int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   133
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   134
	/**
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   135
	 * Posts currently playing track.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   136
	 * Success can be checked by checking the signal postFinished()
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   137
	 * @param track Track to post
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   138
	 * @return SmfError, SmfNoError if success, else appropriate error value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   139
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   140
	SmfError postCurrentPlaying ( SmfTrackInfo track);
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   141
	
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   142
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   143
	 * Rate a music via this API 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   144
	 * Success can be checked by checking the signal postFinished()
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   145
	 * @param track Track on which rating should be posted
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   146
	 * @param rate Rating value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   147
	 * @return SmfError, SmfNoError if success, else appropriate error value 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   148
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   149
	SmfError postRating ( SmfTrackInfo track, SmfMusicRating rate);
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   150
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   151
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   152
	 * Comment on a track via this API 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   153
	 * Success can be checked by checking the signal postFinished()
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   154
	 * @param track Track on which comment should be posted
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   155
	 * @param comment The comemnt to be posted
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   156
	 * @return SmfError, SmfNoError if success, else appropriate error value  
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   157
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   158
	SmfError postComments ( SmfTrackInfo track, SmfComment comment);
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   159
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   160
	/**
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   161
	 * Request for a custom operation. The signal customDataAvailable() is emitted 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   162
	 * when the result is available.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   163
	 * @param operationId OperationId
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   164
	 * @param customData Custom data to be sent
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   165
	 * @return SmfError. SmfNoError if success, else appropriate error code
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   166
	 * Note:-Interpretation of operationId and customData is upto the concerned
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   167
	 * plugin and client application. service provider should provide some
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   168
	 * serializing-deserializing utilities for these custom data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   169
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   170
	SmfError customRequest ( const int& operationId, QByteArray* customData );
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   171
	
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   172
    /**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   173
     * Cancels a request generated due to the call to any API which results 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   174
     * into http request. Might return error if no request is currently pending.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   175
     * Please note that there can be only one request pending at any point of time
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   176
     * @return Appropriate SmfError value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   177
     */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   178
	SmfError cancelRequest ();
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   179
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   180
public: // from smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   181
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   182
	 * To notify availibility of asynchronous requests.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   183
	 * @param result Requested result, before using must check error param.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   184
	 * @param opcode Requested opcode, for which the result has arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   185
	 * @param error Error 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   186
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   187
	void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   188
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   189
private:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   190
	SmfMusicService* m_musicService;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   191
	//serialized byte array of provider+other info to be sent to the server
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   192
	//The order:- SmfProvider then params in order of their appearance in fn
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   193
	QByteArray m_serializedDataToServer;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   194
#ifdef Q_OS_SYMBIAN
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   195
	CSmfClientSymbian* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   196
	friend class CSmfClientSymbian;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   197
#else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   198
	SmfClientQt* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   199
	friend class SmfClientQt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   200
#endif
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   201
	quint8 m_argFlag;
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   202
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   203
	};
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   204
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   205
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   206
//SmfMusicSearch
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   207
class SmfMusicSearchPrivate : public smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   208
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   209
	Q_OBJECT
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   210
public:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   211
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   212
	 * Constructor
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   213
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   214
	SmfMusicSearchPrivate(SmfMusicSearch* aMusicSearch);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   215
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   216
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   217
	 * Constructor
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   218
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   219
	~SmfMusicSearchPrivate();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   220
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   221
public:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   222
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   223
	 * Searches for music recommendations similar to a particulartrack asynchronously.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   224
	 * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   225
	 * once its arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   226
	 * When the list is big user can specify the page number and per page item data.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   227
	 * If not supplied by the user default values are used.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   228
	 * @param track The track for which similar recommendations need to be fetched.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   229
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   230
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   231
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   232
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   233
	SmfError recommendations ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   234
			int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   235
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   236
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   237
	 * Searches for tracks similar to a given track asynchronously.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   238
	 * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   239
	 * once its arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   240
	 * When the list is big user can specify the page number and per page item data.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   241
	 * If not supplied by the user default values are used.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   242
	 * @param track The search criteria, similar tracks are searched
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   243
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   244
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   245
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   246
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   247
	SmfError tracksSimilar ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   248
			int perPage = SMF_ITEMS_PER_PAGE);
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   249
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   250
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   251
	 * Searches for tracks for a given album asynchronously.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   252
	 * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   253
	 * once its arrived.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   254
	 * When the list is big user can specify the page number and per page item data.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   255
	 * If not supplied by the user default values are used.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   256
	 * @param album The album containing the id
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   257
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   258
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   259
	 * @return SmfNoError if success, else appropriate error value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   260
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   261
	SmfError tracksOfAlbum ( SmfAlbum album, int pageNum = SMF_FIRST_PAGE,
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   262
			int perPage = SMF_ITEMS_PER_PAGE);
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   263
	
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   264
	/**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   265
	 * Searches for tracks for a given artist(s) asynchronously.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   266
	 * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   267
	 * once its arrived.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   268
	 * When the list is big user can specify the page number and per page item data.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   269
	 * If not supplied by the user default values are used.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   270
	 * @param artists The artists list
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   271
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   272
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   273
	 * @return SmfNoError if success, else appropriate error value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   274
	 */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   275
	SmfError tracksOfArtist ( SmfArtists artists, int pageNum = SMF_FIRST_PAGE,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   276
			int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   277
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   278
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   279
	 * Searches for a track having similar finger print asynchronously.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   280
	 * The signal trackSearchAvailable() is emitted with SmfTrackInfoList
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   281
	 * once its arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   282
	 * @param signature The search criteria,signature to be searched for
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   283
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   284
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   285
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   286
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   287
	SmfError trackInfo ( SmfMusicFingerPrint signature, int pageNum = SMF_FIRST_PAGE,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   288
			int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   289
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   290
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   291
	 * Search information about where to buy this song from asynchronously.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   292
	 * The signal storeSearchAvailable() is emitted with SmfProviderList once its arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   293
	 * @param track The search criteria for stores
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   294
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   295
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   296
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   297
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   298
	SmfError stores ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE, 
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   299
			int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   300
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   301
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   302
	 * Request for a custom operation. The signal customDataAvailable() is emitted 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   303
	 * when the result is available.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   304
	 * @param operationId OperationId
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   305
	 * @param customData Custom data to be sent
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   306
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   307
	 * Note:-Interpretation of operationId and customData is upto the concerned
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   308
	 * plugin and client application. service provider should provide some
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   309
	 * serializing-deserializing utilities for these custom data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   310
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   311
	SmfError customRequest ( const int& operationId, QByteArray* customData );
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   312
	
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   313
    /**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   314
     * Cancels a request generated due to the call to any API which results 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   315
     * into http request. Might return error if no request is currently pending.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   316
     * Please note that there can be only one request pending at any point of time
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   317
     * @return Appropriate SmfError value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   318
     */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   319
	SmfError cancelRequest ();
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   320
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   321
public: //From smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   322
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   323
	 * To notify availibility of asynchronous requests.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   324
	 * @param result Requested result, before using must check error param.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   325
	 * @param opcode Requested opcode, for which the result has arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   326
	 * @param error Error 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   327
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   328
	void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   329
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   330
private:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   331
	SmfMusicSearch *m_musicSearch;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   332
	//serialized byte array of provider+other info to be sent to the server
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   333
	//The order:- SmfProvider then params in order of their appearance in fn
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   334
	QByteArray m_serializedDataToServer;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   335
#ifdef Q_OS_SYMBIAN
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   336
	CSmfClientSymbian* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   337
	friend class CSmfClientSymbian;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   338
#else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   339
	SmfClientQt* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   340
	friend class SmfClientQt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   341
#endif
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   342
	quint8 m_argFlag;
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   343
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   344
	};
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   345
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   346
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   347
class SmfPlaylistServicePrivate : public smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   348
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   349
	Q_OBJECT
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   350
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   351
public:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   352
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   353
	 * Constructs SmfPlaylistService with base provider info
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   354
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   355
	SmfPlaylistServicePrivate(SmfPlaylistService* aPlayLstSrvc);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   356
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   357
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   358
	 * Destructor
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   359
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   360
	~SmfPlaylistServicePrivate();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   361
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   362
public:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   363
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   364
	 * Gets the list playlists for the logged-in user asynchronously.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   365
	 * The signal playlistsListAvailable() signal is emitted with
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   366
	 * SmfPlaylistList once its arrived .
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   367
	 * When the list is big user can specify the page number and per page item data.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   368
	 * If not supplied by the user default values are used.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   369
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   370
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   371
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   372
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   373
	SmfError playlists ( int pageNum = SMF_FIRST_PAGE,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   374
			int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   375
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   376
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   377
	 * Gets the list playlists for the given user asynchronously.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   378
	 * The signal playlistsListAvailable() signal is emitted with
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   379
	 * SmfPlaylistList once its arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   380
	 * When the list is big user can specify the page number and per page item data.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   381
	 * If not supplied by the user default values are used.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   382
	 * @param user User for which to get the playlists
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   383
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   384
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   385
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   386
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   387
	SmfError playlistsOf ( SmfContact* user, int pageNum = SMF_FIRST_PAGE,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   388
			int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   389
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   390
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   391
	 * Upload currently playing track to a playlist. Signal
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   392
	 * playlistUpdated() can be checked for success value
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   393
	 * @param plst The playlist to be added in
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   394
	 * @param tracks The list of tracks to uploaded
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   395
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   396
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   397
	SmfError addToPlaylist ( SmfPlaylist plst, SmfTrackInfoList* tracks );
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   398
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   399
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   400
	 * Upload currently playing playlist . Signal
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   401
	 * playlistUpdated() can be checked for success value
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   402
	 * @param plst The playlist to be uploaded
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   403
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   404
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   405
	SmfError postCurrentPlayingPlaylist ( SmfPlaylist plst );
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   406
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   407
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   408
	 * Request for a custom operation. The signal customDataAvailable() is emitted 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   409
	 * when the result is available.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   410
	 * @param operationId OperationId
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   411
	 * @param customData Custom data to be sent
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   412
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   413
	 * Note:-Interpretation of operationId and customData is upto the concerned
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   414
	 * plugin and client application. service provider should provide some
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   415
	 * serializing-deserializing utilities for these custom data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   416
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   417
	SmfError customRequest ( const int& operationId, QByteArray* customData );
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   418
	
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   419
    /**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   420
     * Cancels a request generated due to the call to any API which results 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   421
     * into http request. Might return error if no request is currently pending.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   422
     * Please note that there can be only one request pending at any point of time
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   423
     * @return Appropriate SmfError value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   424
     */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   425
	SmfError cancelRequest ();
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   426
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   427
public: //From smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   428
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   429
	 * To notify availibility of asynchronous requests.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   430
	 * @param result Requested result, before using must check error param.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   431
	 * @param opcode Requested opcode, for which the result has arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   432
	 * @param error Error 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   433
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   434
	void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   435
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   436
private:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   437
	SmfPlaylistService* m_playlstSrvc;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   438
	//serialized byte array of provider+other info to be sent to the server
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   439
	//The order:- SmfProvider then params in order of their appearance in fn
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   440
	QByteArray m_serializedDataToServer;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   441
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   442
#ifdef Q_OS_SYMBIAN
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   443
	CSmfClientSymbian* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   444
	friend class CSmfClientSymbian;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   445
#else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   446
	SmfClientQt* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   447
	friend class SmfClientQt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   448
#endif
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   449
	quint8 m_argFlag;
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   450
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   451
	};
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   452
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   453
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   454
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   455
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   456
 * provides service ("org.symbian.smf.client.music.lyrics")
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   457
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   458
class SmfLyricsServicePrivate : public smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   459
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   460
	Q_OBJECT
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   461
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   462
public:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   463
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   464
	 * Constructs SmfLyricsService with base provider info.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   465
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   466
	SmfLyricsServicePrivate(SmfLyricsService* aLyricsSrvc);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   467
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   468
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   469
	 * Destructor
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   470
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   471
	~SmfLyricsServicePrivate();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   472
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   473
public:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   474
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   475
	 * Get the lyrics lists asynchrnously, it fetches texts without time info.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   476
	 * lyricsAvailable() notification comes SmfLyricsList with when the data is available
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   477
	 * @param track Track for which lyrics needs to be fetched.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   478
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   479
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   480
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   481
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   482
	SmfError lyrics ( SmfTrackInfo track, int pageNum = SMF_FIRST_PAGE,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   483
			int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   484
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   485
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   486
	 * Get the lyrics lists asynchrnously, it fetches texts with time info.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   487
	 * Subtitle search filter can be applied
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   488
	 * subtitleAvailable() notification comes SmfSubtitleList with when the data is available
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   489
	 * @param track Track for which subtitle needs to be fetched.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   490
	 * @param filter Subtitle search filter
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   491
	 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   492
	 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   493
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   494
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   495
	SmfError subtitles ( SmfTrackInfo track, SmfSubtitleSearchFilter filter,
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   496
			int pageNum = SMF_FIRST_PAGE, int perPage = SMF_ITEMS_PER_PAGE);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   497
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   498
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   499
	 * Request for a custom operation. The signal customDataAvailable() is emitted 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   500
	 * when the result is available.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   501
	 * @param operationId OperationId
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   502
	 * @param customData Custom data to be sent
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   503
	 * @return SmfNoError if success, else appropriate error value
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   504
	 * Note:-Interpretation of operationId and customData is upto the concerned
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   505
	 * plugin and client application. service provider should provide some
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   506
	 * serializing-deserializing utilities for these custom data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   507
	 */
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   508
	SmfError customRequest ( const int& operationId, QByteArray* customData );
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   509
	
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   510
    /**
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   511
     * Cancels a request generated due to the call to any API which results 
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   512
     * into http request. Might return error if no request is currently pending.
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   513
     * Please note that there can be only one request pending at any point of time
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   514
     * @return Appropriate SmfError value
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   515
     */
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   516
	SmfError cancelRequest ();
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   517
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   518
public: //From smfObserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   519
	/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   520
	 * To notify availibility of asynchronous requests.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   521
	 * @param result Requested result, before using must check error param.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   522
	 * @param opcode Requested opcode, for which the result has arrived.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   523
	 * @param error Error 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   524
	 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   525
	void resultsAvailable(QByteArray result,SmfRequestTypeID opcode, SmfError error);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   526
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   527
private:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   528
	SmfLyricsService *m_lyricsSrvc;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   529
	//serialized byte array of provider+other info to be sent to the server
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   530
	//The order:- SmfProvider then params in order of their appearance in fn
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   531
	QByteArray m_serializedDataToServer;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   532
#ifdef Q_OS_SYMBIAN
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   533
	CSmfClientSymbian* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   534
	friend class CSmfClientSymbian;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   535
#else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   536
	SmfClientQt* m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   537
	friend class SmfClientQt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   538
#endif
25
a180113055cb Music Events are now normal Fetcher APIs added
cgandhi
parents: 18
diff changeset
   539
	quint8 m_argFlag;
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   540
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   541
	};
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   542
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   543
#endif