lxcpp: provisioning implementation (part 2)
[platform/core/security/vasum.git] / server / host-dbus-definitions.hpp
1 /*
2  *  Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *  Contact: Piotr Bartosiewicz <p.bartosiewi@partner.samsung.com>
5  *
6  *  Licensed under the Apache License, Version 2.0 (the "License");
7  *  you may not use this file except in compliance with the License.
8  *  You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *  Unless required by applicable law or agreed to in writing, software
13  *  distributed under the License is distributed on an "AS IS" BASIS,
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *  See the License for the specific language governing permissions and
16  *  limitations under the License
17  */
18
19 /**
20  * @file
21  * @author  Piotr Bartosiewicz (p.bartosiewi@partner.samsung.com)
22  * @brief   Host dbus api definitions
23  */
24
25 #ifndef SERVER_HOST_DBUS_DEFINITIONS_HPP
26 #define SERVER_HOST_DBUS_DEFINITIONS_HPP
27
28 #include <string>
29
30 namespace vasum {
31 namespace api {
32 namespace dbus {
33
34 const std::string BUS_NAME                        = "org.tizen.vasum.host";
35 const std::string OBJECT_PATH                     = "/org/tizen/vasum/host";
36 const std::string INTERFACE                       = "org.tizen.vasum.host.manager";
37
38
39 const std::string METHOD_GET_ZONE_ID_LIST         = "GetZoneIds";
40 const std::string METHOD_GET_ACTIVE_ZONE_ID       = "GetActiveZoneId";
41 const std::string METHOD_GET_ZONE_INFO            = "GetZoneInfo";
42 const std::string METHOD_SET_NETDEV_ATTRS         = "SetNetdevAttrs";
43 const std::string METHOD_GET_NETDEV_ATTRS         = "GetNetdevAttrs";
44 const std::string METHOD_GET_NETDEV_LIST          = "GetNetdevList";
45 const std::string METHOD_CREATE_NETDEV_VETH       = "CreateNetdevVeth";
46 const std::string METHOD_CREATE_NETDEV_MACVLAN    = "CreateNetdevMacvlan";
47 const std::string METHOD_CREATE_NETDEV_PHYS       = "CreateNetdevPhys";
48 const std::string METHOD_DESTROY_NETDEV           = "DestroyNetdev";
49 const std::string METHOD_DELETE_NETDEV_IP_ADDRESS = "DeleteNetdevIpAddress";
50 const std::string METHOD_DECLARE_FILE             = "DeclareFile";
51 const std::string METHOD_DECLARE_MOUNT            = "DeclareMount";
52 const std::string METHOD_DECLARE_LINK             = "DeclareLink";
53 const std::string METHOD_GET_DECLARATIONS         = "GetDeclarations";
54 const std::string METHOD_REMOVE_DECLARATION       = "RemoveDeclaration";
55 const std::string METHOD_SET_ACTIVE_ZONE          = "SetActiveZone";
56 const std::string METHOD_CREATE_ZONE              = "CreateZone";
57 const std::string METHOD_DESTROY_ZONE             = "DestroyZone";
58 const std::string METHOD_SHUTDOWN_ZONE            = "ShutdownZone";
59 const std::string METHOD_START_ZONE               = "StartZone";
60 const std::string METHOD_LOCK_ZONE                = "LockZone";
61 const std::string METHOD_UNLOCK_ZONE              = "UnlockZone";
62 const std::string METHOD_GRANT_DEVICE             = "GrantDevice";
63 const std::string METHOD_REVOKE_DEVICE            = "RevokeDevice";
64 const std::string METHOD_PROXY_CALL               = "ProxyCall";
65 const std::string METHOD_CREATE_FILE              = "CreateFile";
66 const std::string METHOD_LOCK_QUEUE               = "LockQueue";
67 const std::string METHOD_UNLOCK_QUEUE             = "UnlockQueue";
68 const std::string METHOD_SWITCH_TO_DEFAULT        = "SwitchToDefault";
69 const std::string METHOD_CLEAN_UP_ZONES_ROOT      = "CleanUpZonesRoot";
70
71 const std::string DEFINITION =
72     "<node>"
73     "  <interface name='" + INTERFACE + "'>"
74     "    <method name='" + METHOD_LOCK_QUEUE + "'>"
75     "    </method>"
76     "    <method name='" + METHOD_UNLOCK_QUEUE + "'>"
77     "    </method>"
78     "    <method name='" + METHOD_GET_ZONE_ID_LIST + "'>"
79     "      <arg type='as' name='result' direction='out'/>"
80     "    </method>"
81     "    <method name='" + METHOD_GET_ACTIVE_ZONE_ID + "'>"
82     "      <arg type='s' name='result' direction='out'/>"
83     "    </method>"
84     "    <method name='" + METHOD_GET_ZONE_INFO + "'>"
85     "      <arg type='s' name='id' direction='in'/>"
86     "      <arg type='s' name='id' direction='out'/>"
87     "      <arg type='i' name='vt' direction='out'/>"
88     "      <arg type='s' name='state' direction='out'/>"
89     "      <arg type='s' name='rootPath' direction='out'/>"
90     "    </method>"
91     "    <method name='" + METHOD_SET_NETDEV_ATTRS + "'>"
92     "      <arg type='s' name='zone' direction='in'/>"
93     "      <arg type='s' name='netdev' direction='in'/>"
94     "      <arg type='a(ss)' name='attributes' direction='in'/>"
95     "    </method>"
96     "    <method name='" + METHOD_GET_NETDEV_ATTRS + "'>"
97     "      <arg type='s' name='zone' direction='in'/>"
98     "      <arg type='s' name='netdev' direction='in'/>"
99     "      <arg type='a(ss)' name='attributes' direction='out'/>"
100     "    </method>"
101     "    <method name='" + METHOD_GET_NETDEV_LIST + "'>"
102     "      <arg type='s' name='zone' direction='in'/>"
103     "      <arg type='as' name='list' direction='out'/>"
104     "    </method>"
105     "    <method name='" + METHOD_CREATE_NETDEV_VETH + "'>"
106     "      <arg type='s' name='id' direction='in'/>"
107     "      <arg type='s' name='zoneDev' direction='in'/>"
108     "      <arg type='s' name='hostDev' direction='in'/>"
109     "    </method>"
110     "    <method name='" + METHOD_CREATE_NETDEV_MACVLAN + "'>"
111     "      <arg type='s' name='id' direction='in'/>"
112     "      <arg type='s' name='zoneDev' direction='in'/>"
113     "      <arg type='s' name='hostDev' direction='in'/>"
114     "      <arg type='u' name='mode' direction='in'/>"
115     "    </method>"
116     "    <method name='" + METHOD_CREATE_NETDEV_PHYS + "'>"
117     "      <arg type='s' name='id' direction='in'/>"
118     "      <arg type='s' name='devId' direction='in'/>"
119     "    </method>"
120     "    <method name='" + METHOD_DESTROY_NETDEV + "'>"
121     "      <arg type='s' name='id' direction='in'/>"
122     "      <arg type='s' name='devId' direction='in'/>"
123     "    </method>"
124     "    <method name='" + METHOD_DELETE_NETDEV_IP_ADDRESS + "'>"
125     "      <arg type='s' name='id' direction='in'/>"
126     "      <arg type='s' name='devId' direction='in'/>"
127     "      <arg type='s' name='ip' direction='in'/>"
128     "    </method>"
129     "    <method name='" + METHOD_DECLARE_FILE + "'>"
130     "      <arg type='s' name='zone' direction='in'/>"
131     "      <arg type='i' name='type' direction='in'/>"
132     "      <arg type='s' name='path' direction='in'/>"
133     "      <arg type='i' name='flags' direction='in'/>"
134     "      <arg type='i' name='mode' direction='in'/>"
135     "      <arg type='s' name='id' direction='out'/>"
136     "    </method>"
137     "    <method name='" + METHOD_DECLARE_MOUNT + "'>"
138     "      <arg type='s' name='source' direction='in'/>"
139     "      <arg type='s' name='zone' direction='in'/>"
140     "      <arg type='s' name='target' direction='in'/>"
141     "      <arg type='s' name='type' direction='in'/>"
142     "      <arg type='t' name='flags' direction='in'/>"
143     "      <arg type='s' name='data' direction='in'/>"
144     "      <arg type='s' name='id' direction='out'/>"
145     "    </method>"
146     "    <method name='" + METHOD_DECLARE_LINK + "'>"
147     "      <arg type='s' name='source' direction='in'/>"
148     "      <arg type='s' name='zone' direction='in'/>"
149     "      <arg type='s' name='target' direction='in'/>"
150     "      <arg type='s' name='id' direction='out'/>"
151     "    </method>"
152     "    <method name='" + METHOD_GET_DECLARATIONS + "'>"
153     "      <arg type='s' name='zone' direction='in'/>"
154     "      <arg type='as' name='list' direction='out'/>"
155     "    </method>"
156     "    <method name='" + METHOD_REMOVE_DECLARATION + "'>"
157     "      <arg type='s' name='zone' direction='in'/>"
158     "      <arg type='s' name='declaration' direction='in'/>"
159     "    </method>"
160     "    <method name='" + METHOD_SET_ACTIVE_ZONE + "'>"
161     "      <arg type='s' name='id' direction='in'/>"
162     "    </method>"
163     "    <method name='" + METHOD_CREATE_ZONE + "'>"
164     "      <arg type='s' name='id' direction='in'/>"
165     "      <arg type='s' name='templateName' direction='in'/>"
166     "    </method>"
167     "    <method name='" + METHOD_CREATE_FILE + "'>"
168     "      <arg type='s' name='id' direction='in'/>"
169     "      <arg type='s' name='path' direction='in'/>"
170     "      <arg type='i' name='flags' direction='in'/>"
171     "      <arg type='i' name='mode' direction='in'/>"
172     "      <arg type='h' name='fileDescriptor' direction='out'/>"
173     "    </method>"
174     "    <method name='" + METHOD_DESTROY_ZONE + "'>"
175     "      <arg type='s' name='id' direction='in'/>"
176     "    </method>"
177     "    <method name='" + METHOD_SHUTDOWN_ZONE + "'>"
178     "      <arg type='s' name='id' direction='in'/>"
179     "    </method>"
180     "    <method name='" + METHOD_START_ZONE + "'>"
181     "      <arg type='s' name='id' direction='in'/>"
182     "    </method>"
183     "    <method name='" + METHOD_LOCK_ZONE + "'>"
184     "      <arg type='s' name='id' direction='in'/>"
185     "    </method>"
186     "    <method name='" + METHOD_UNLOCK_ZONE + "'>"
187     "      <arg type='s' name='id' direction='in'/>"
188     "    </method>"
189     "    <method name='" + METHOD_GRANT_DEVICE + "'>"
190     "      <arg type='s' name='id' direction='in'/>"
191     "      <arg type='s' name='device' direction='in'/>"
192     "      <arg type='u' name='flags' direction='in'/>"
193     "    </method>"
194     "    <method name='" + METHOD_REVOKE_DEVICE + "'>"
195     "      <arg type='s' name='id' direction='in'/>"
196     "      <arg type='s' name='device' direction='in'/>"
197     "    </method>"
198     "    <method name='" + METHOD_PROXY_CALL + "'>"
199     "      <arg type='s' name='target' direction='in'/>"
200     "      <arg type='s' name='busName' direction='in'/>"
201     "      <arg type='s' name='objectPath' direction='in'/>"
202     "      <arg type='s' name='interface' direction='in'/>"
203     "      <arg type='s' name='method' direction='in'/>"
204     "      <arg type='v' name='parameters' direction='in'/>"
205     "      <arg type='v' name='result' direction='out'/>"
206     "    </method>"
207     "    <method name='" + METHOD_SWITCH_TO_DEFAULT + "'>"
208     "    </method>"
209     "    <method name='" + METHOD_CLEAN_UP_ZONES_ROOT + "'>"
210     "    </method>"
211     "  </interface>"
212     "</node>";
213
214 } // namespace dbus
215 } // namespace api
216 } // namespace vasum
217
218
219 #endif // SERVER_HOST_DBUS_DEFINITIONS_HPP