Beta merge 2
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / Mediacontent / MediacontentAudio.h
1 /*
2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. 
15 */
16
17
18 #ifndef _ABSTRACT_LAYER_MEDIACONTENT_AUDIO_H_
19 #define _ABSTRACT_LAYER_MEDIACONTENT_AUDIO_H_
20
21 #include <ctime>
22 #include <string>
23 #include <vector>
24 #include <dpl/optional.h>
25 #include <dpl/shared_ptr.h>
26 #include "MediacontentMedia.h"
27 #include "MediacontentLyrics.h"
28
29
30 using namespace std;
31
32
33 namespace TizenApis {
34 namespace Api {
35 namespace Mediacontent {
36
37 class MediacontentAudio : public MediacontentMedia
38 {
39         public:
40
41         MediacontentAudio();
42         virtual ~MediacontentAudio();
43
44
45         string getAudioAlbum() const;
46         string getAudioArtist() const;
47         string getAudioGenre() const;
48         string getAudioComposer() const;
49         string getAudioCopyright() const;
50         int getAudioBitrate() const;    
51         int getAudioTrackNum() const;
52         int getAudioDuration() const;   
53         int getAudioRating() const;
54         int getAudioPlayCount() const;
55         int getAudioPlayedTime() const;
56         int getAudioSize() const;
57         
58         MediacontentLyricsPtr getAudioLyrics() const;
59
60         void setAudioAlbum(const string &value);
61         void setAudioArtist(const string &value);
62         void setAudioGenre(const string &value);
63         void setAudioComposer(const string &value);
64         void setAudioCopyright(const string &value);
65         void setAudioBitrate(const int &value); 
66         void setAudioTrackNum(const int &value);
67         void setAudioDuration(const int &value);        
68         void setAudioPlayCount(const int &value);
69         void setAudioPlayedTime(const int &value);
70         void setAudioSize(const int &value);
71
72         void setAudioLyrics(MediacontentLyricsPtr value);
73
74         
75         void display() const;                   
76
77
78         protected:
79         string m_audioAlbum;
80         string m_audioArtist;
81         string m_audioGenre;
82         string m_audioAuthor;
83         string m_audioCopyright;
84         int m_audioTrackNum;
85         int m_audioDuration;
86         int m_audioPlayCount;
87         int m_audioPlayedTime;
88         int m_audioBitrate;
89         int m_audioSize;
90         bool m_isChangedPlayCount;
91         bool m_isChangedPlayedTime;
92
93         MediacontentLyricsPtr m_lyrics;
94
95 };
96
97 typedef DPL::SharedPtr<MediacontentAudio> MediacontentAudioPtr;
98
99
100 }
101 }
102 }
103
104 #endif /* _ABSTRACT_LAYER_MEDIACONTENT_AUDIO_H_ */
105