2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef _ABSTRACT_LAYER_MEDIACONTENT_AUDIO_H_
19 #define _ABSTRACT_LAYER_MEDIACONTENT_AUDIO_H_
24 #include <dpl/optional.h>
25 #include <dpl/shared_ptr.h>
26 #include "MediacontentMedia.h"
27 #include "MediacontentLyrics.h"
35 namespace Mediacontent {
37 class MediacontentAudio : public MediacontentMedia
42 virtual ~MediacontentAudio();
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;
58 MediacontentLyricsPtr getAudioLyrics() const;
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);
72 void setAudioLyrics(MediacontentLyricsPtr value);
83 string m_audioCopyright;
87 int m_audioPlayedTime;
90 bool m_isChangedPlayCount;
91 bool m_isChangedPlayedTime;
93 MediacontentLyricsPtr m_lyrics;
97 typedef DPL::SharedPtr<MediacontentAudio> MediacontentAudioPtr;
104 #endif /* _ABSTRACT_LAYER_MEDIACONTENT_AUDIO_H_ */