author | cgandhi |
Tue, 14 Sep 2010 17:23:49 +0530 | |
changeset 21 | 74572af13dfc |
parent 18 | 013a02bf2bb0 |
child 25 | a180113055cb |
permissions | -rw-r--r-- |
7
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
1 |
/** |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Sasken Communication Technologies Ltd. |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
5 |
* under the terms of the "Eclipse Public License v1.0" |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html" |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
8 |
* |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
10 |
* Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
11 |
* |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
12 |
* Contributors: |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
13 |
* Manasij Roy, Nalina Hariharan |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
14 |
* |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
15 |
* Description: |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
16 |
* Interface specification for music services |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
17 |
* |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
18 |
*/ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
19 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
20 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
21 |
#ifndef SMFMUSICSERVICEPLUGIN_H_ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
22 |
#define SMFMUSICSERVICEPLUGIN_H_ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
23 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
24 |
#include <smfpluginbase.h> |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
25 |
#include <smfmusicprofile.h> |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
26 |
#include <smflocation.h> |
18 | 27 |
#include <smftrackinfo.h> |
28 |
#include <smfmusicrating.h> |
|
29 |
#include <smfcomment.h> |
|
7
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
30 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
31 |
/** |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
32 |
* @ingroup smf_plugin_group |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
33 |
* Interface specification for music services. This class provides basic |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
34 |
* functionality to allow application to search for a user or check for |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
35 |
* user information etc. |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
36 |
* |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
37 |
* All of the functionality described here should be implemented by a service |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
38 |
* specific plug-in. |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
39 |
*/ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
40 |
class SmfMusicServicePlugin : public SmfPluginBase |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
41 |
{ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
42 |
public: |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
43 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
44 |
/** |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
45 |
* Destructor |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
46 |
*/ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
47 |
virtual ~SmfMusicServicePlugin( ) {} |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
48 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
49 |
/** |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
50 |
* Method to get self profile information |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
51 |
* @param aRequest [out] The request data to be sent to network |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
52 |
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
53 |
*/ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
54 |
virtual SmfPluginError userInfo( SmfPluginRequestData &aRequest ) = 0; |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
55 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
56 |
/** |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
57 |
* Method to search information about other service users for a |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
58 |
* particular place |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
59 |
* @param aRequest [out] The request data to be sent to network |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
60 |
* @param aPlace The place which is the search criteria |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
61 |
* @param aPageNum The page to be extracted |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
62 |
* @param aItemsPerPage Number of items per page |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
63 |
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
64 |
*/ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
65 |
virtual SmfPluginError searchUser( SmfPluginRequestData &aRequest, |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
66 |
const SmfLocation &aPlace, |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
67 |
const int aPageNum = SMF_FIRST_PAGE, |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
68 |
const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0; |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
69 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
70 |
/** |
18 | 71 |
* Method to post the currently playing track |
72 |
* @param aRequest [out] The request data to be sent to network |
|
73 |
* @param aTrack The current playing track, that should be posted |
|
74 |
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
|
75 |
*/ |
|
76 |
virtual SmfPluginError postCurrentPlaying( |
|
77 |
SmfPluginRequestData &aRequest, |
|
78 |
const SmfTrackInfo &aTrack ) = 0; |
|
79 |
||
80 |
/** |
|
81 |
* Method to post the rating on a track |
|
82 |
* @param aRequest [out] The request data to be sent to network |
|
83 |
* @param aTrack The track on which rating should be posted |
|
84 |
* @param aRating The rating values |
|
85 |
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
|
86 |
*/ |
|
87 |
virtual SmfPluginError postRating( |
|
88 |
SmfPluginRequestData &aRequest, |
|
89 |
const SmfTrackInfo &aTrack, |
|
90 |
const SmfMusicRating &aRating ) = 0; |
|
91 |
||
92 |
/** |
|
93 |
* Method to post comment on a track |
|
94 |
* @param aRequest [out] The request data to be sent to network |
|
95 |
* @param aTrack The track on which comment should be posted |
|
96 |
* @param aComment The comment content |
|
97 |
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
|
98 |
*/ |
|
99 |
virtual SmfPluginError postComments( |
|
100 |
SmfPluginRequestData &aRequest, |
|
101 |
const SmfTrackInfo &aTrack, |
|
102 |
const SmfComment &aComment ) = 0; |
|
103 |
||
104 |
/** |
|
7
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
105 |
* Customised method for SmfMusicServicePlugin interface |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
106 |
* @param aRequest [out] The request data to be sent to network |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
107 |
* @param aOperation The operation type (should be known between |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
108 |
* the client interface and the plugin) |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
109 |
* @param aData The data required to form the request (The type |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
110 |
* of data should be known between client and the plugin) |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
111 |
* @return SmfPluginError Plugin error if any, else SmfPluginErrNone |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
112 |
*/ |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
113 |
virtual SmfPluginError customRequest( SmfPluginRequestData &aRequest, |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
114 |
const int &aOperation, QByteArray *aData ) = 0; |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
115 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
116 |
}; |
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
117 |
|
14
a469c0e6e7fb
changes for SmfPost, SmfCredentialMgr, PLuginManager, SmfServer. Adding Sample Plugins and Sample Client Applications.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
7
diff
changeset
|
118 |
Q_DECLARE_INTERFACE( SmfMusicServicePlugin, "org.symbian.smf.plugin.music.service/v0.2" ); |
7
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
119 |
|
be09cf1f39dd
Updating the source code for plugin manager, transport manager, smfserver and smf client.
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
120 |
#endif /* SMFMUSICSERVICEPLUGIN_H_ */ |