|
1 /** |
|
2 * @file smfmusicprofile.h |
|
3 * @author Nalina Hariharan, Sasken Communication Technologies Ltd - Initial contribution |
|
4 * @version 1.0 |
|
5 * |
|
6 * @section LICENSE |
|
7 * |
|
8 * Copyright (c) 2010 Sasken Communication Technologies Ltd. |
|
9 * All rights reserved. |
|
10 * This component and the accompanying materials are made available |
|
11 * under the terms of the "{License}" |
|
12 * which accompanies this distribution, and is available |
|
13 * at the URL "{LicenseUrl}". |
|
14 * |
|
15 * @section DESCRIPTION |
|
16 * |
|
17 * The music profile class represents a user's profile in music site |
|
18 */ |
|
19 |
|
20 #ifndef SMFMUSICPROFILE_H_ |
|
21 #define SMFMUSICPROFILE_H_ |
|
22 |
|
23 #include <qdatastream.h> |
|
24 #include "SmfClientGlobal.h" |
|
25 |
|
26 #include "smfcontact.h" |
|
27 class SmfTrackInfo; |
|
28 class SmfEventsList; |
|
29 typedef QList<SmfTrackInfo> SmfTrackInfoList; |
|
30 /** |
|
31 * User profile containing music usage and interest info, extends SmfContact. |
|
32 * Consists of,- |
|
33 * 1. Conatct info |
|
34 * 2. Music usage info as SmfTrackInfoList |
|
35 * 3. Interest info as SmfTrackInfoList |
|
36 * 4. Events SmfEventsList |
|
37 */ |
|
38 class SMFCLIENT_EXPORT SmfMusicProfile : public SmfContact |
|
39 { |
|
40 Q_OBJECT |
|
41 |
|
42 public: |
|
43 // Seeing as this is a plug-in implementation, these will realistically |
|
44 // be generated by SMF factory of some kind |
|
45 SmfMusicProfile(QObject* parent = 0); |
|
46 ~SmfMusicProfile(); |
|
47 |
|
48 /** |
|
49 * Gets the music usage info of the user as list of SmfTrackInfo |
|
50 */ |
|
51 SmfTrackInfoList* getMusicUsageInfo(); |
|
52 |
|
53 /** |
|
54 * Gets the music interest info of the user as list of SmfTrackInfo |
|
55 */ |
|
56 SmfTrackInfoList* getInterestInfo(); |
|
57 |
|
58 /** |
|
59 * Gets the user events as list of SmfEvents |
|
60 */ |
|
61 SmfEventsList* getUserEvents(); |
|
62 |
|
63 /** |
|
64 * Sets the music usage info of the user as list of SmfTrackInfo |
|
65 */ |
|
66 void setMusicUsageInfo(SmfTrackInfoList* usage); |
|
67 |
|
68 /** |
|
69 * Gets the music interest info of the user as list of SmfTrackInfo |
|
70 */ |
|
71 void setInterestInfo(SmfTrackInfoList* interest); |
|
72 |
|
73 private: |
|
74 SmfTrackInfoList* usage; |
|
75 SmfTrackInfoList* interest; |
|
76 |
|
77 }; |
|
78 /** |
|
79 * Externalization |
|
80 */ |
|
81 QDataStream &operator<<(QDataStream &, const SmfMusicProfile&); |
|
82 /** |
|
83 * Internalization |
|
84 */ |
|
85 QDataStream &operator>>(QDataStream &, SmfMusicProfile&); |
|
86 #endif /* SMFMUSICPROFILE_H_ */ |