summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwansu.yoo <wansu.yoo@samsung.com>2019-10-01 09:08:20 +0900
committerwansu.yoo <wansu.yoo@samsung.com>2019-10-01 09:13:33 +0900
commitc4bcb09273967e3a135b2d373d1d990fea38838f (patch)
treeb1adc46e8f4313826fc1a5ec25d9e68eb2da27a7
parenta5a798b1824d2228b22af78bc41f018ad4a3cdf7 (diff)
downloadedge-orchestration-c4bcb09273967e3a135b2d373d1d990fea38838f.tar.gz
edge-orchestration-c4bcb09273967e3a135b2d373d1d990fea38838f.tar.bz2
edge-orchestration-c4bcb09273967e3a135b2d373d1d990fea38838f.zip
-. add self_select param to make requestor choose -. add dbus method for self_select param -. change samples with self_select param Change-Id: Ie927a66035c81217ce955664a22479f3cb17be41 Signed-off-by: wansu.yoo <wansu.yoo@samsung.com>
-rw-r--r--CMain/inc/orchestration.h2
-rw-r--r--CMain/inc/orchestration_server.h3
-rw-r--r--CMain/lib/liborchestration.abin18429264 -> 18429488 bytes
-rw-r--r--CMain/src/main.c9
-rw-r--r--CMain/src/orchestration_server.c7
m---------edge-home-orchestration-go0
-rw-r--r--libedge-orchestration/inc/dbus_consumer.h2
-rw-r--r--libedge-orchestration/inc/orchestration_client.h3
-rw-r--r--libedge-orchestration/sample/main_android.c2
-rw-r--r--libedge-orchestration/sample/main_android_chromium.c2
-rw-r--r--libedge-orchestration/sample/main_container.c2
-rw-r--r--libedge-orchestration/sample/main_native.c2
-rw-r--r--libedge-orchestration/sample/main_native_chromium.c2
-rwxr-xr-xlibedge-orchestration/src/dbus_consumer.c5
-rwxr-xr-xlibedge-orchestration/src/orchestration_client.c22
15 files changed, 37 insertions, 26 deletions
diff --git a/CMain/inc/orchestration.h b/CMain/inc/orchestration.h
index 55bb5ae..e25d012 100644
--- a/CMain/inc/orchestration.h
+++ b/CMain/inc/orchestration.h
@@ -106,7 +106,7 @@ extern "C" {
extern int OrchestrationInit();
-extern ResponseService OrchestrationRequestService(char* p0, RequestServiceInfo* p1, int p2);
+extern ResponseService OrchestrationRequestService(char* p0, int p1, RequestServiceInfo* p2, int p3);
extern int PrintLog(char* p0);
diff --git a/CMain/inc/orchestration_server.h b/CMain/inc/orchestration_server.h
index e4397a1..4661ec3 100644
--- a/CMain/inc/orchestration_server.h
+++ b/CMain/inc/orchestration_server.h
@@ -23,6 +23,7 @@ extern "C"
{
#endif
+#include <stdbool.h>
#include <orchestration.h>
#define DEBUG(fmt, ...) printf("[%s:%d] ", __FILE__, __LINE__); printf((fmt), ##__VA_ARGS__);
@@ -41,7 +42,7 @@ typedef enum {
ORCH_ERROR_NONE = 0,
} _orchestration_state_e;
-typedef int (*request_service_cb)(char* app_name, RequestServiceInfo service_info[], int count);
+typedef int (*request_service_cb)(char* app_name, bool self_select, RequestServiceInfo service_info[], int count);
void set_default_dbus_interface(void);
int orchestration_server_initialize(request_service_cb cb);
diff --git a/CMain/lib/liborchestration.a b/CMain/lib/liborchestration.a
index 6c96835..3258c0d 100644
--- a/CMain/lib/liborchestration.a
+++ b/CMain/lib/liborchestration.a
Binary files differ
diff --git a/CMain/src/main.c b/CMain/src/main.c
index 306f51a..a317850 100644
--- a/CMain/src/main.c
+++ b/CMain/src/main.c
@@ -23,19 +23,20 @@
#include <orchestration_server.h>
-int request_cb(char* app_name, RequestServiceInfo service_info[], int count){
+int request_cb(char* app_name, bool self_select, RequestServiceInfo service_info[], int count){
int ret = ORCH_ERROR_NONE;
ResponseService result;
DEBUG("[orchestration_server]\n")
DEBUG("\t app_name : %s\n", app_name);
+ DEBUG("\t self_select : %s\n", self_select ? "true" : "false");
DEBUG("\t count : %d\n", count);
for (int ix = 0; ix < count; ix++) {
DEBUG("\t service_info[%d].ExecutionType : %s\n", ix, service_info[ix].ExecutionType);
DEBUG("\t service_info[%d].ExeCmd : %s\n", ix, service_info[ix].ExeCmd);
}
- result = OrchestrationRequestService(app_name, service_info, count);
+ result = OrchestrationRequestService(app_name, self_select, service_info, count);
DEBUG("result = %s\n", result.Message);
/* TO DO : parsing API response */
@@ -43,7 +44,7 @@ int request_cb(char* app_name, RequestServiceInfo service_info[], int count){
}
void* thread_orchestration() {
- DEBUG("Start OrchestrationInit Thread !!");
+ DEBUG("Start OrchestrationInit Thread !!\n");
OrchestrationInit();
return NULL;
}
@@ -61,7 +62,7 @@ int main(void){
}
set_default_dbus_interface();
- DEBUG("orchestration_server_initialize call");
+ DEBUG("orchestration_server_initialize call\n");
result = orchestration_server_initialize(request_cb);
if(result != ORCH_ERROR_NONE){
DEBUG("orchestration_server_initialize failed\n");
diff --git a/CMain/src/orchestration_server.c b/CMain/src/orchestration_server.c
index 6836df7..504a774 100644
--- a/CMain/src/orchestration_server.c
+++ b/CMain/src/orchestration_server.c
@@ -38,6 +38,7 @@ static gchar introspection_xml[] =
" <interface name='org.tizen.orchestration.agent'>"
" <method name='request_service'>"
" <arg type='s' name='app_name' direction='in'/>"
+ " <arg type='i' name='self_select' direction='in'/>"
" <arg type='a(ss)' name='service_info' direction='in'/>"
" <arg type='i' name='count' direction='in'/>"
" <arg type='i' name='return_value' direction='out'/>"
@@ -64,6 +65,7 @@ static int _request_service(GVariant *parameters)
char *app_name;
int count;
+ bool self_select;
GVariantIter *iter;
RequestServiceInfo service_info[MAX_SVC_INFO_NUM] = {NULL, };
@@ -72,10 +74,11 @@ static int _request_service(GVariant *parameters)
return ORCH_ERROR_INVALID_PARAMETER;
}
- g_variant_get(parameters, "(sa(ss)i)", &app_name, &iter, &count);
+ g_variant_get(parameters, "(sia(ss)i)", &app_name, &self_select, &iter, &count);
DEBUG("[orchestration dbus_interface] _request_service\n");
DEBUG("\t app_name = %s\n", app_name);
+ DEBUG("\t self_select = %s\n", self_select ? "true" : "false");
DEBUG("\t count = %d\n", count);
for (int i = 0; i < count; i++) {
@@ -89,7 +92,7 @@ static int _request_service(GVariant *parameters)
if (g_strcmp0(app_name, "") == 0)
return ORCH_ERROR_INVALID_PARAMETER;
- result = _request_service_cb(app_name, service_info, count);
+ result = _request_service_cb(app_name, self_select, service_info, count);
return result;
}
diff --git a/edge-home-orchestration-go b/edge-home-orchestration-go
-Subproject 258d34f118ea058d8680321364d65dd207f743e
+Subproject 713e72b6ce4b5c471dc61effceb62ac9bff1bb5
diff --git a/libedge-orchestration/inc/dbus_consumer.h b/libedge-orchestration/inc/dbus_consumer.h
index 3d59e61..dea127d 100644
--- a/libedge-orchestration/inc/dbus_consumer.h
+++ b/libedge-orchestration/inc/dbus_consumer.h
@@ -32,7 +32,7 @@ typedef enum {
} _orchestration_dbus_state_e;
int dbus_consumer_initailze();
-int request_service_execute(char* app_name, service_info_s service_info[], int count);
+int request_service_execute(char* app_name, bool self_select, service_info_s service_info[], int count);
#ifdef __cplusplus
}
diff --git a/libedge-orchestration/inc/orchestration_client.h b/libedge-orchestration/inc/orchestration_client.h
index 4ab6899..e7ee24b 100644
--- a/libedge-orchestration/inc/orchestration_client.h
+++ b/libedge-orchestration/inc/orchestration_client.h
@@ -23,6 +23,8 @@ extern "C"
{
#endif
+#include <stdbool.h>
+
typedef enum
{
ORCH_CLIENT_ERROR_NONE = 0,
@@ -54,6 +56,7 @@ typedef struct
typedef void (*orchestration_changed_service_status_cb)(orchestration_service_status_e staus, void *user_data);
orchestration_client_state_e orchestration_request_service(char *app_name,
+ bool self_select,
orchestration_service_info_s service_info,
orchestration_changed_service_status_cb cb,
void *user_data);
diff --git a/libedge-orchestration/sample/main_android.c b/libedge-orchestration/sample/main_android.c
index ce480f9..7cea39d 100644
--- a/libedge-orchestration/sample/main_android.c
+++ b/libedge-orchestration/sample/main_android.c
@@ -31,6 +31,6 @@ int main() {
service_info.count = 1;
service_info.services[0].exec_type = "android";
service_info.services[0].exec_parameter = PACKAGE_NAME;
- orchestration_request_service(SERVICE_NAME, service_info, status_cb, NULL);
+ orchestration_request_service(SERVICE_NAME, false, service_info, status_cb, NULL);
return 0;
} \ No newline at end of file
diff --git a/libedge-orchestration/sample/main_android_chromium.c b/libedge-orchestration/sample/main_android_chromium.c
index 9999f92..6ff1322 100644
--- a/libedge-orchestration/sample/main_android_chromium.c
+++ b/libedge-orchestration/sample/main_android_chromium.c
@@ -78,6 +78,6 @@ int main() {
service_info.services[0].exec_type = "android";
service_info.services[0].exec_parameter = exec_param;
printf("service_info.exec_parameter: %s\n", service_info.services[0].exec_parameter);
- orchestration_request_service(SERVICE_NAME, service_info, status_cb, NULL);
+ orchestration_request_service(SERVICE_NAME, false, service_info, status_cb, NULL);
return 0;
} \ No newline at end of file
diff --git a/libedge-orchestration/sample/main_container.c b/libedge-orchestration/sample/main_container.c
index 96de957..ae243ce 100644
--- a/libedge-orchestration/sample/main_container.c
+++ b/libedge-orchestration/sample/main_container.c
@@ -28,6 +28,6 @@ int main() {
service_info.count = 1;
service_info.services[0].exec_type = "container";
service_info.services[0].exec_parameter = "docker run hello-world";
- orchestration_request_service("hello", service_info, status_cb, NULL);
+ orchestration_request_service("hello", false, service_info, status_cb, NULL);
return 0;
} \ No newline at end of file
diff --git a/libedge-orchestration/sample/main_native.c b/libedge-orchestration/sample/main_native.c
index bb2c14a..10f8888 100644
--- a/libedge-orchestration/sample/main_native.c
+++ b/libedge-orchestration/sample/main_native.c
@@ -30,6 +30,6 @@ int main() {
service_info.services[0].exec_parameter = "ls -al";
service_info.services[1].exec_type = "container";
service_info.services[1].exec_parameter = "docker run hello-world";
- orchestration_request_service("list_segments", service_info, status_cb, NULL);
+ orchestration_request_service("list_segments", false, service_info, status_cb, NULL);
return 0;
} \ No newline at end of file
diff --git a/libedge-orchestration/sample/main_native_chromium.c b/libedge-orchestration/sample/main_native_chromium.c
index 52b37b0..7e240c7 100644
--- a/libedge-orchestration/sample/main_native_chromium.c
+++ b/libedge-orchestration/sample/main_native_chromium.c
@@ -70,6 +70,6 @@ int main() {
service_info.services[0].exec_type = "native";
service_info.services[0].exec_parameter = strncat(command, ipstr, strlen(ipstr));
printf("service_info.exec_parameter: %s\n", service_info.services[0].exec_parameter);
- orchestration_request_service("org.tizen.chromium-efl", service_info, status_cb, NULL);
+ orchestration_request_service("org.tizen.chromium-efl", false, service_info, status_cb, NULL);
return 0;
} \ No newline at end of file
diff --git a/libedge-orchestration/src/dbus_consumer.c b/libedge-orchestration/src/dbus_consumer.c
index 882d419..f7dc435 100755
--- a/libedge-orchestration/src/dbus_consumer.c
+++ b/libedge-orchestration/src/dbus_consumer.c
@@ -47,7 +47,7 @@ int dbus_consumer_initailze()
return ORCH_DBUS_ERROR_NONE;
}
-int request_service_execute(char* app_name, service_info_s service_info[], int count)
+int request_service_execute(char* app_name, bool self_select, service_info_s service_info[], int count)
{
int idx;
GError *error = NULL;
@@ -56,6 +56,7 @@ int request_service_execute(char* app_name, service_info_s service_info[], int c
printf("[orchestration dbus_consumer] request_service_execute\n");
printf("\t app_name = %s\n", app_name);
+ printf("\t self_select = %s\n", self_select ? "true" : "false");
printf("\t count = %d\n", count);
for (idx = 0; idx < count; idx++) {
printf("\t service_info[%d].exec_type = %s\n", idx, service_info[idx].exec_type);
@@ -72,7 +73,7 @@ int request_service_execute(char* app_name, service_info_s service_info[], int c
);
}
- services = g_variant_new ("(sa(ss)i)", app_name, builder, count);
+ services = g_variant_new ("(sia(ss)i)", app_name, self_select, builder, count);
g_variant_builder_unref (builder);
GVariant *result =
diff --git a/libedge-orchestration/src/orchestration_client.c b/libedge-orchestration/src/orchestration_client.c
index 6a96d95..e2a9305 100755
--- a/libedge-orchestration/src/orchestration_client.c
+++ b/libedge-orchestration/src/orchestration_client.c
@@ -29,9 +29,10 @@ orchestration_changed_service_status_cb _changed_service_status_cb;
#define _ORCHESTRATION_REQUEST_SERVICE_METHOD "request_service"
orchestration_client_state_e orchestration_request_service(char *app_name,
- orchestration_service_info_s service_info,
- orchestration_changed_service_status_cb cb,
- void *user_data)
+ bool self_select,
+ orchestration_service_info_s service_info,
+ orchestration_changed_service_status_cb cb,
+ void *user_data)
{
int result = 0;
@@ -55,14 +56,15 @@ orchestration_client_state_e orchestration_request_service(char *app_name,
}
printf("[orchestration_client]\n");
- printf("\t app_name : %s\n", app_name);
- printf("\t count : %d\n", service_info.count);
- for (int i = 0; i < service_info.count; i++) {
- printf("\t service_info[%d]->exec_type : %s\n", i, service_info.services[i].exec_type);
- printf("\t service_info[%d]->exec_parameter : %s\n", i, service_info.services[i].exec_parameter);
- }
+ printf("\t app_name : %s\n", app_name);
+ printf("\t self_select : %s\n", self_select ? "true" : "false");
+ printf("\t count : %d\n", service_info.count);
+ for (int i = 0; i < service_info.count; i++) {
+ printf("\t service_info[%d]->exec_type : %s\n", i, service_info.services[i].exec_type);
+ printf("\t service_info[%d]->exec_parameter : %s\n", i, service_info.services[i].exec_parameter);
+ }
- result = request_service_execute(app_name, service_info.services, service_info.count);
+ result = request_service_execute(app_name, self_select, service_info.services, service_info.count);
if (result != ORCH_DBUS_ERROR_NONE)
{
printf("request_service_execute failed\n");