tizen beta release
[framework/web/wrt-plugins-common.git] / src / Commons / TypesDeclaration.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 #ifndef WRTDEVICEAPIS_COMMONS_TYPES_DECLARATION_
17 #define WRTDEVICEAPIS_COMMONS_TYPES_DECLARATION_
18
19 #include <string>
20 #include <vector>
21
22 namespace WrtDeviceApis {
23 namespace Commons {
24
25 struct AceFeature
26 {
27     AceFeature(const std::string& featName) : name(featName) {}
28     std::string name;
29 };
30
31 typedef std::vector <AceFeature> AceFeatures;
32
33 struct AceDeviceCapParam
34 {
35     AceDeviceCapParam(const std::string& parName,
36             const std::string& parVal) : name(parName),
37         value(parVal)
38     {
39     }
40
41     std::string name;
42     std::string value;
43 };
44
45 typedef std::vector <AceDeviceCapParam> AceDeviceCapParams;
46
47 struct AceDeviceCapability
48 {
49     AceDeviceCapability() {}
50     AceDeviceCapability(const std::string& name,
51             const AceDeviceCapParams& params) :
52         devCapName(name),
53         devCapParams(params)
54     {
55     }
56
57     std::string devCapName;
58     AceDeviceCapParams devCapParams;
59 };
60
61 typedef std::vector <AceDeviceCapability> AceDeviceCaps;
62
63 struct AceFunction
64 {
65     std::string name;
66     AceFeatures features;
67     AceDeviceCaps deviceCapabilities;
68 };
69 } // namespace Commons
70 } // namespace WrtDeviceApis
71
72 #endif