author | cgandhi <chandradeep.gandhi@sasken.com> |
Tue, 02 Mar 2010 16:24:32 +0530 | |
changeset 0 | 5d2360e70d9f |
permissions | -rw-r--r-- |
0
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
1 |
/* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Sasken Communication Technologies Ltd. |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
5 |
* under the terms of the "{License}" |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
7 |
* at the URL "{LicenseUrl}". |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
8 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
10 |
* Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
11 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
12 |
* Contributors: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
13 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
14 |
* Description: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
15 |
* Interface spefication for music related services |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
16 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
17 |
*/ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
18 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
19 |
#ifndef SMFMUSIC_H |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
20 |
#define SMFMUSIC_H |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
21 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
22 |
class SmfProvider; //basic Smf service Provider info |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
23 |
class SmfMusicRating;//rating value from 0..31 - services would map accordingly |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
24 |
class SmfMusicProfile; //user profile containing music usage and interest info, extends SmfContact |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
25 |
class SmfTracknfo; //id, title, album, artist, genre, tag, director,release year, rating, comment info |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
26 |
class SmfMusicFingerPrint; //generation is not in scope of smf |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
27 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
28 |
class SmfMusicModel; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
29 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
30 |
/** |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
31 |
* basic music service ("org.symbian.smf.music.service") |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
32 |
*/ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
33 |
class SmfMusicService : public SmfProvider |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
34 |
{ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
35 |
Q_OBJECT; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
36 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
37 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
38 |
// Seeing as this is a plug-in implementation, these will realistically |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
39 |
// be generated by SMF factory of some kind |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
40 |
SmfMusicService(QObject* parent = 0); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
41 |
~SmfMusicService(); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
42 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
43 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
44 |
virtual SmfMusicProfile userinfo() = 0; // get self profile information |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
45 |
virtual QList<SmfMusicProfile> searchUser(SmfVenue venue) = 0; // search information about other service users |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
46 |
virtual SmfMusicModel model() = 0; // maybe we can make a QItemModel-derived model? |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
47 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
48 |
slots: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
49 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
50 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
51 |
signals: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
52 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
53 |
}; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
54 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
55 |
/** |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
56 |
* provides service ("org.symbian.smf.music.search") |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
57 |
*/ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
58 |
class SmfMusicSearch : public SmfProvider |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
59 |
{ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
60 |
Q_OBJECT; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
61 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
62 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
63 |
// Seeing as this is a plug-in implementation, these will realistically |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
64 |
// be generated by SMF factory of some kind |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
65 |
SmfMusicSearch(QObject* parent = 0); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
66 |
~SmfMusicSearch(); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
67 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
68 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
69 |
// Get the track listing - might be made asynchrnous later |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
70 |
virtual QList<SmfTrackInfo> recommendations(SmfTrackInfo track) = 0; // basic list of track objects |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
71 |
virtual QList<SmfTrackInfo> tracks(SmfTrackInfo track) = 0; // basic list of track objects |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
72 |
virtual QList<SmfTrackInfo> trackInfo(SmfMusicFingerPrint signature) = 0; // search by fingerprint object |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
73 |
virtual QList<SmfProvider> stores(SmfTrackInfo track) = 0; // search information about where to buy this song from |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
74 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
75 |
slots: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
76 |
virtual int postCurrentPlaying(SmfTrackInfo track) = 0; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
77 |
//virtual int postRating(SmfTrackInfo track, SmfMusicRating rate) = 0; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
78 |
//virtual int postComments(SmfTrackInfo track, SmfComment comment) = 0; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
79 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
80 |
signal: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
81 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
82 |
} |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
83 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
84 |
class SmfPlaylist;//remote playlist |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
85 |
/** |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
86 |
* provides service ("org.symbian.smf.music.playlist") |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
87 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
88 |
* Interface to a remote playlist service. This class |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
89 |
* provides some basic functionality to allow applications |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
90 |
* to interact with playlists in some music related service provider (e.g. last.fm). |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
91 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
92 |
* Note that branding information for the particular service implementation |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
93 |
* is available from base-class functions. See also: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
94 |
* SmfProvider::serviceName(), SmfProvider::serviceIcon() |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
95 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
96 |
* All of the functionality described here should be implemented by a service |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
97 |
* specific plug-in object. |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
98 |
* |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
99 |
*/ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
100 |
class SmfPlaylistService : public SmfProvider |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
101 |
{ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
102 |
Q_OBJECT; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
103 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
104 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
105 |
// Seeing as this is a plug-in implementation, these will realistically |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
106 |
// be generated by SMF factory of some kind |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
107 |
SmfPlaylistService(QObject* parent = 0); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
108 |
~SmfPlaylistService(); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
109 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
110 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
111 |
// Get the playist listing - might be made asynchrnous later |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
112 |
virtual QList<SmfPlaylist> playlists() = 0; // basic list of playlist objects for the logged-in user |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
113 |
virtual QList<SmfPlaylist> playlistsOf(SmfMusicProfile user) = 0; // basic list of playlist objects for other user |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
114 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
115 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
116 |
slots: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
117 |
// Upload currently playing song, etc - slots can connect to UI controls more easily |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
118 |
virtual int addToPlaylist(SmfPlaylist plst, QList<SmfTrackInfo> tracks) = 0; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
119 |
virtual int postCurrentPlayingPlaylist(SmfPlaylist plst) = 0; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
120 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
121 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
122 |
signals: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
123 |
//signals remote updation of playlist |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
124 |
virtual int playlistUpdated(void) = 0; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
125 |
}; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
126 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
127 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
128 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
129 |
class SmfEvent;//musical events |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
130 |
class SmfVenue;//popular venues |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
131 |
/** |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
132 |
* provides service ("org.symbian.smf.music.events") |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
133 |
*/ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
134 |
class SmfMusicEvents : public SmfProvider |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
135 |
{ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
136 |
Q_OBJECT; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
137 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
138 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
139 |
// Seeing as this is a plug-in implementation, these will realistically |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
140 |
// be generated by SMF factory of some kind |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
141 |
SmfMusicEvents(QObject* parent = 0); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
142 |
~SmfMusicEvents(); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
143 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
144 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
145 |
virtual QList<SmfEvents> events(QContactGeolocation location) = 0; // basic list of events objects |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
146 |
virtual QList<SmfVenue> venues(QContactGeolocation location) = 0; // basic list of venue objects |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
147 |
virtual QList<SmfEvents> events(SmfVenue venue) = 0; // basic list of events objects |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
148 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
149 |
slot: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
150 |
//update your event |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
151 |
virtual void postEvents(QList<SmfEvents> events); //might not be supported by all service provider |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
152 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
153 |
signal: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
154 |
virtual void eventsupdated(void); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
155 |
}; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
156 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
157 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
158 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
159 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
160 |
class SmfSubtitleSearchFilter;//language, frame rate, duration, release year |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
161 |
/** |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
162 |
* provides service ("org.symbian.smf.music.lyrics") |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
163 |
*/ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
164 |
class SmfLyricsService : public SmfProvider |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
165 |
{ |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
166 |
Q_OBJECT; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
167 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
168 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
169 |
// Seeing as this is a plug-in implementation, these will realistically |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
170 |
// be generated by SMF factory of some kind |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
171 |
SmfLyricsService(QObject* parent = 0); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
172 |
~SmfLyricsService(); |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
173 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
174 |
public: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
175 |
// Get the lyrics listing - might be made asynchrnous later |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
176 |
virtual QList<SmfLyrics> lyrics(SmfTrackInfo track) = 0; //texts without time information |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
177 |
virtual QList<SmfSubtitle> subtitles(SmfTrackInfo track, SmfSubtitleSearchFilter filter) = 0; // texts with time information |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
178 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
179 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
180 |
slots: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
181 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
182 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
183 |
signals: |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
184 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
185 |
}; |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
186 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
187 |
|
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
188 |
#endif // SMFMUSIC_H |
5d2360e70d9f
Application level use cases to illustrate the goal of SMF. Pushing the draft header files for SMF client and one sample application cpp
cgandhi <chandradeep.gandhi@sasken.com>
parents:
diff
changeset
|
189 |