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_MEDIA_H_
19 #define _ABSTRACT_LAYER_MEDIACONTENT_MEDIA_H_
24 #include <dpl/optional.h>
25 #include <dpl/shared_ptr.h>
31 namespace Mediacontent {
38 MEDIA_TYPE_UNKOWN = 4,
42 typedef vector<std::string> EditableAttributeList;
43 typedef DPL::SharedPtr<EditableAttributeList> EditableAttributeListPtr;
45 class MediacontentMedia
50 virtual ~MediacontentMedia();
52 string getMediaUUID() const;
53 string getMediaType() const;
55 string getDisplayName() const;
56 string getFilePath() const;
57 string getThumbnailPath() const;
58 tm getCreatedDate() const;
59 tm getReleasedDate() const;
60 tm getModifiedDate() const;
61 string getDescription() const;
62 int getFavorite() const;
64 bool getIsChangedFavorite() const;
66 void setMediaUUID(const string &value);
67 void setMediaType(const string &value);
68 void setMimeType(const string &value);
69 void setDisplayName(const string &value);
70 void setFilePath(const string &value);
71 void setThumbnailPath(const string &value);
72 void setCreatedDate(const tm &value);
73 void setReleasedDate(const tm &value);
74 void setModifiedDate(const tm &value);
75 void setFavorite( int value);
76 void setDescription(const string &value);
79 virtual EditableAttributeListPtr getEditableAttr() const;
87 string m_thumbnailPath;
93 bool m_isChangedFavorite;
97 EditableAttributeListPtr m_editableAttrPtr;
102 typedef DPL::SharedPtr<MediacontentMedia> MediacontentMediaPtr;
103 typedef std::vector<MediacontentMediaPtr> MediacontentMediaList;
104 typedef DPL::SharedPtr<MediacontentMediaList> MediacontentMediaListPtr;
111 #endif /* _ABSTRACT_LAYER_MEDIACONTENT_MEDIA_H_ */