e_info: add deiconify_approve on/off option 26/169226/2 accepted/tizen/unified/20180207.060411 submit/tizen/20180206.232118
authorJunSeok, Kim <juns.kim@samsung.com>
Mon, 5 Feb 2018 04:25:26 +0000 (13:25 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Tue, 6 Feb 2018 07:40:02 +0000 (07:40 +0000)
Add deiconify_approve on/off potion to enlightenment_info

Change-Id: I8c33bc5a191ef4e6414d83c06a2ca9e6c6a62d70

src/bin/e_info_client.c
src/bin/e_info_server.c

index a1e4b8e97b5c172723076adc1dc7eb94ccc61782..1ab50565b258aa14565875ceba55e035deb25244 100644 (file)
@@ -4254,6 +4254,63 @@ usage:
 finish:
    return;
 }
+
+static void
+_e_info_client_cb_deiconify_approve(const Eldbus_Message *msg)
+{
+   const char *errname = NULL, *errtext = NULL;
+   const char *result = NULL;
+
+   EINA_SAFETY_ON_TRUE_GOTO(eldbus_message_error_get(msg, &errname, &errtext), err);
+   EINA_SAFETY_ON_FALSE_GOTO(eldbus_message_arguments_get(msg, "s", &result), err);
+
+   printf("%s\n", result);
+
+   goto finish;
+
+err:
+   if (errname || errtext)
+     {
+        printf("errname : %s, errmsg : %s\n", errname, errtext);
+     }
+   else
+     {
+        printf("Error occured in _e_info_client_cb_deiconify_approve\n");
+     }
+
+finish:
+   return;
+}
+
+static void
+_e_info_client_proc_deiconify_approve(int argc, char **argv)
+{
+   int deiconify_approve_option = -1;
+   if ((argc != 3) || ((argv[2][0] != '0') && (argv[2][0] != '1')))
+     {
+        _e_info_client_eldbus_message_with_args("deiconify_approve",
+                                                _e_info_client_cb_deiconify_approve,
+                                                "i",
+                                                2);
+        goto usage;
+     }
+   else
+     {
+        deiconify_approve_option = atoi(argv[2]);
+        _e_info_client_eldbus_message_with_args("deiconify_approve",
+                                                _e_info_client_cb_deiconify_approve,
+                                                "i",
+                                                deiconify_approve_option);
+        goto finish;
+     }
+
+usage:
+   printf("Usage : %s %s [<0:off>/<1:on>]\n", argv[0], argv[1]);
+
+finish:
+   return;
+}
+
 static struct
 {
    const char *option;
@@ -4509,6 +4566,12 @@ static struct
       "set buffer_flush configure",
       _e_info_client_proc_buffer_flush
    },
+   {
+      "deiconify_approve",
+      "[0:off / 1:on]",
+      "set deiconify_approve configure",
+      _e_info_client_proc_deiconify_approve
+   },
 };
 
 static void
index f19b7ee660bc27f89f2d7e81bb2d0d4e30af2e20..c7c1627fbd0723790e0605dc30af185dc5edd8de 100644 (file)
@@ -5213,6 +5213,45 @@ _e_info_server_cb_buffer_flush(const Eldbus_Service_Interface *iface EINA_UNUSED
    return reply;
 }
 
+static Eldbus_Message *
+_e_info_server_cb_deiconify_approve(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
+{
+   Eldbus_Message *reply = NULL;
+   int msg_from_client = 0;
+   char msg_to_client[128] = {0};
+   E_Client *ec = NULL;
+
+   if (!eldbus_message_arguments_get(msg, "i", &msg_from_client))
+     {
+        snprintf(msg_to_client, sizeof(msg_to_client), "Error occured while get message");
+     }
+   else
+     {
+        switch (msg_from_client)
+          {
+           case 0:
+           case 1:
+              e_config->deiconify_approve = msg_from_client;
+              for (ec = e_client_top_get(); ec; ec = e_client_below_get(ec))
+                {
+                   ec->exp_iconify.deiconify_update = msg_from_client;
+                }
+              snprintf(msg_to_client, sizeof(msg_to_client), "Successfully changed!  e_config->deiconify_approve : %d",
+                       e_config->deiconify_approve);
+              break;
+           default:
+              snprintf(msg_to_client, sizeof(msg_to_client), "Not changed!  e_config->deiconify_approve : %d",
+                       e_config->deiconify_approve);
+              break;
+          }
+     }
+
+   reply = eldbus_message_method_return_new(msg);
+   eldbus_message_arguments_append(reply, "s", msg_to_client);
+
+   return reply;
+}
+
 //{ "method_name", arguments_from_client, return_values_to_client, _method_cb, ELDBUS_METHOD_FLAG },
 static const Eldbus_Method methods[] = {
    { "get_window_info", NULL, ELDBUS_ARGS({"iiiisa("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
@@ -5271,6 +5310,7 @@ static const Eldbus_Method methods[] = {
    { "module_unload", ELDBUS_ARGS({"s", "target module"}), ELDBUS_ARGS({"s", "unload result"}), _e_info_server_cb_module_unload, 0 },
    { "shutdown", NULL, ELDBUS_ARGS({"s", "shutdown result"}), _e_info_server_cb_shutdown, 0 },
    { "buffer_flush", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"s", "buffer_flush status"}), _e_info_server_cb_buffer_flush, 0},
+   { "deiconify_approve", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"s", "deiconify_approve status"}), _e_info_server_cb_deiconify_approve, 0},
    { NULL, NULL, NULL, NULL, 0 }
 };