return callMethod(HOST_INTERFACE, api::host::METHOD_SET_ACTIVE_CONTAINER, args_in);
}
+ScStatus Client::sc_add_container(const char* id) noexcept
+{
+ assert(id);
+
+ GVariant* args_in = g_variant_new("(s)", id);
+ return callMethod(HOST_INTERFACE, api::host::METHOD_ADD_CONTAINER, args_in);
+}
+
ScStatus Client::sc_container_dbus_state(ScContainerDbusStateCallback containerDbusStateCallback,
void* data) noexcept
{
ScStatus sc_set_active_container(const char* id) noexcept;
/**
+ * @see ::sc_add_container
+ */
+ ScStatus sc_add_container(const char* id) noexcept;
+
+ /**
* @see ::sc_container_dbus_state
*/
ScStatus sc_container_dbus_state(ScContainerDbusStateCallback containerDbusStateCallback,
return getClient(client).sc_set_active_container(id);
}
+API ScStatus sc_add_container(ScClient client, const char* id)
+{
+ return getClient(client).sc_add_container(id);
+}
+
API ScStatus sc_container_dbus_state(ScClient client,
ScContainerDbusStateCallback containerDbusStateCallback,
void* data)
ScStatus sc_set_active_container(ScClient client, const char* id);
/**
+ * Create and add container
+ *
+ * @param[in] client security-containers-server's client
+ * @param[in] id container id
+ * @return status of this function call
+ */
+ScStatus sc_add_container(ScClient client, const char* id);
+
+/**
* Register dbus state change callback function.
*
* @note The callback function will be invoked on a different thread.
sc_client_free(client);
}
+BOOST_AUTO_TEST_CASE(AddContainerTest)
+{
+ const std::string newActiveContainerId = "";
+
+ ScClient client = sc_client_create();
+ ScStatus status = sc_connect(client);
+ BOOST_REQUIRE_EQUAL(SCCLIENT_SUCCESS, status);
+ status = sc_add_container(client, newActiveContainerId.c_str());
+ BOOST_REQUIRE_EQUAL(SCCLIENT_CUSTOM_ERROR, status);
+ sc_client_free(client);
+}
+
BOOST_AUTO_TEST_CASE(FileMoveRequestTest)
{
const std::string path = "/tmp/fake_path";