Add vsm_get_event_fd and vsm_enter_eventloop
[platform/core/security/vasum.git] / client / vasum-client.cpp
index 5310b42..f36c1ed 100644 (file)
@@ -45,15 +45,24 @@ Client& getClient(VsmClient client)
 
 } // namespace
 
-/* external */
-API VsmStatus vsm_start_glib_loop()
+API VsmStatus vsm_get_poll_fd(VsmClient client, int* fd)
 {
-    return Client::vsm_start_glib_loop();
+    return getClient(client).vsm_get_poll_fd(fd);
 }
 
-API VsmStatus vsm_stop_glib_loop()
+API VsmStatus vsm_enter_eventloop(VsmClient client, int flags, int timeout)
 {
-    return Client::vsm_stop_glib_loop();
+    return getClient(client).vsm_enter_eventloop(flags, timeout);
+}
+
+API VsmStatus vsm_set_dispatcher_type(VsmClient client, VsmDispacherType dispacher)
+{
+    return getClient(client).vsm_set_dispatcher_type(dispacher);
+}
+
+API VsmStatus vsm_get_dispatcher_type(VsmClient client, VsmDispacherType* dispacher)
+{
+    return getClient(client).vsm_get_dispatcher_type(dispacher);
 }
 
 API VsmClient vsm_client_create()
@@ -64,12 +73,17 @@ API VsmClient vsm_client_create()
 
 API VsmStatus vsm_connect(VsmClient client)
 {
-    return getClient(client).createSystem();
+    return getClient(client).connectSystem();
 }
 
 API VsmStatus vsm_connect_custom(VsmClient client, const char* address)
 {
-    return getClient(client).create(address);
+    return getClient(client).connect(address);
+}
+
+API VsmStatus vsm_disconnect(VsmClient client)
+{
+    return getClient(client).disconnect();
 }
 
 API void vsm_array_string_free(VsmArrayString astring)
@@ -133,6 +147,11 @@ API VsmStatus vsm_get_active_zone_id(VsmClient client, VsmString* id)
     return getClient(client).vsm_get_active_zone_id(id);
 }
 
+API VsmStatus vsm_get_zone_rootpath(VsmClient client, const char* id, VsmString* rootpath)
+{
+    return getClient(client).vsm_get_zone_rootpath(id, rootpath);
+}
+
 API VsmStatus vsm_lookup_zone_by_pid(VsmClient client, int pid, VsmString* id)
 {
     return getClient(client).vsm_lookup_zone_by_pid(pid, id);
@@ -250,18 +269,58 @@ API VsmStatus vsm_netdev_set_ipv6_addr(VsmClient client,
     return getClient(client).vsm_netdev_set_ipv6_addr(zone, netdevId, addr, prefix);
 }
 
-API VsmStatus vsm_create_netdev(VsmClient client,
-                                const char* zone,
-                                VsmNetdevType netdevType,
-                                const char* target,
-                                const char* netdevId)
+API VsmStatus vsm_netdev_del_ipv4_addr(VsmClient client,
+                                       const char* zone,
+                                       const char* netdevId,
+                                       struct in_addr* addr,
+                                       int prefix)
+{
+    return getClient(client).vsm_netdev_del_ipv4_addr(zone, netdevId, addr, prefix);
+}
+
+API VsmStatus vsm_netdev_del_ipv6_addr(VsmClient client,
+                                       const char* zone,
+                                       const char* netdevId,
+                                       struct in6_addr* addr,
+                                       int prefix)
+{
+    return getClient(client).vsm_netdev_del_ipv6_addr(zone, netdevId, addr, prefix);
+}
+
+API VsmStatus vsm_netdev_up(VsmClient client,
+                            const char* zone,
+                            const char* netdevId)
+{
+    return getClient(client).vsm_netdev_up(zone, netdevId);
+}
+
+API VsmStatus vsm_netdev_down(VsmClient client,
+                              const char* zone,
+                              const char* netdevId)
+{
+    return getClient(client).vsm_netdev_down(zone, netdevId);
+}
+
+API VsmStatus vsm_create_netdev_veth(VsmClient client,
+                                     const char* zone,
+                                     const char* zoneDev,
+                                     const char* hostDev)
+{
+    return getClient(client).vsm_create_netdev_veth(zone, zoneDev, hostDev);
+}
+
+API VsmStatus vsm_create_netdev_macvlan(VsmClient client,
+                                        const char* zone,
+                                        const char* zoneDev,
+                                        const char* hostDev,
+                                        enum macvlan_mode mode)
 {
-    return getClient(client).vsm_create_netdev(zone, netdevType, target, netdevId);
+    return getClient(client).vsm_create_netdev_macvlan(zone, zoneDev, hostDev, mode);
 }
 
-API VsmStatus vsm_destroy_netdev(VsmClient client, const char* zone, const char* netdevId)
+API VsmStatus vsm_create_netdev_phys(VsmClient client, const char* zone, const char* devId)
 {
-    return getClient(client).vsm_destroy_netdev(zone, netdevId);
+    return getClient(client).vsm_create_netdev_phys(zone, devId);
 }
 
 API VsmStatus vsm_lookup_netdev_by_name(VsmClient client,
@@ -272,6 +331,11 @@ API VsmStatus vsm_lookup_netdev_by_name(VsmClient client,
     return getClient(client).vsm_lookup_netdev_by_name(zone, netdevId, netdev);
 }
 
+API VsmStatus vsm_destroy_netdev(VsmClient client, const char* zone, const char* devId)
+{
+    return getClient(client).vsm_destroy_netdev(zone, devId);
+}
+
 API VsmStatus vsm_declare_file(VsmClient client,
                                const char* zone,
                                VsmFileType type,