Beta merge 2
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / Mediacontent / MediacontentFolder.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
19 #ifndef _ABSTRACT_LAYER_MEDIACONTENT_FOLDER_H_
20 #define _ABSTRACT_LAYER_MEDIACONTENT_FOLDER_H_
21
22 #include <map>
23 #include <ctime>
24 #include <string>
25 #include <vector>
26 #include <dpl/optional.h>
27 #include <dpl/shared_ptr.h>
28
29 using namespace std;
30
31 namespace TizenApis {
32 namespace Api {
33 namespace Mediacontent {
34
35 typedef vector<std::string> EditableAttributeList;
36 typedef DPL::SharedPtr<EditableAttributeList> EditableAttributeListPtr;
37
38 typedef vector<std::string> MediaIdList;
39 typedef DPL::SharedPtr<MediaIdList> MediaIdListPtr;
40
41 class MediacontentFolder
42 {
43         public:
44
45         MediacontentFolder();
46         virtual ~MediacontentFolder();
47
48         EditableAttributeListPtr        getEditableAttr() const;
49         string  getFolderUUID() const;
50         string  getFolderPath() const;  
51         string  getFolderName() const;
52         string  getFolderStorageType();
53         tm      getFolderModifiedDate() const;
54         MediaIdListPtr  getMediaIdList() const; 
55
56         void setFolderUUID(const string &value);
57         void setFolderPath(const string &value);        
58         void setFolderName(const string &value);
59         void setFolderStorageType(const string &value);         
60         void setFolderModifiedDate(const tm &value);
61         void setMediaIdList(const MediaIdListPtr &value);
62
63         void insertValue(string attr, string value);
64         string findValue(string attr);
65
66         void display() const;
67
68         protected:
69
70         string  m_folderUUID;
71         string  m_folderPath;   
72         string  m_folderName;
73         string  m_storageType;          
74         tm      m_modifiedDate;
75         MediaIdListPtr m_mediaIdArrayPtr;
76         EditableAttributeListPtr m_editableAttrPtr;
77         map<string,string> m_folderValue;
78
79 };
80
81 typedef DPL::SharedPtr<MediacontentFolder> MediacontentFolderPtr;
82 typedef std::vector<MediacontentFolderPtr> MediacontentFolderList;
83 typedef DPL::SharedPtr<MediacontentFolderList> MediacontentFolderListPtr;
84
85
86 }
87 }
88 }
89
90 #endif /* _ABSTRACT_LAYER_MEDIACONTENT_FOLDER_H_ */
91