Receive path as parameter in config_register
authorEduardo Lima (Etrunko) <eduardo.lima@intel.com>
Thu, 3 Oct 2013 14:58:15 +0000 (11:58 -0300)
committerEduardo Lima (Etrunko) <eduardo.lima@intel.com>
Thu, 3 Oct 2013 14:58:15 +0000 (11:58 -0300)
Change-Id: Ibcf24447cff3cc560b75cf11bc3148c452779f2d
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
src/wkb-ibus-config.c
src/wkb-ibus.c
src/wkb-ibus.h

index 96cdf56..ccfc14b 100644 (file)
@@ -185,10 +185,9 @@ static const Eldbus_Service_Interface_Desc _wkb_ibus_config_interface =
 };
 
 Eldbus_Service_Interface *
-wkb_ibus_config_register(Eldbus_Connection *conn)
+wkb_ibus_config_register(Eldbus_Connection *conn, const char *path)
 {
    Eldbus_Service_Interface *ret = NULL;
-   const char *path;
 
    if (_conf_eet)
      {
@@ -202,9 +201,7 @@ wkb_ibus_config_register(Eldbus_Connection *conn)
         goto end;
      }
 
-   path = eina_stringshare_printf("%s/wkb-ibus-cfg.eet", efreet_config_home_get());
    _conf_eet = wkb_ibus_config_eet_new(path, ret);
-   eina_stringshare_del(path);
 
    if (!_conf_eet)
      {
index b2b299b..eee552b 100644 (file)
@@ -82,7 +82,7 @@ _wkb_name_owner_changed_cb(void *data, const char *bus, const char *old_id, cons
 static void
 _wkb_name_acquired_cb(void *data, const Eldbus_Message *msg)
 {
-   const char *name;
+   const char *name, *path;
 
    _check_message_errors(msg);
 
@@ -101,7 +101,9 @@ _wkb_name_acquired_cb(void *data, const Eldbus_Message *msg)
      }
    else if (strncmp(name, IBUS_INTERFACE_CONFIG, strlen(IBUS_INTERFACE_CONFIG)) == 0)
      {
-        ctx->config = wkb_ibus_config_register(ctx->conn);
+        path = eina_stringshare_printf("%s/wkb-ibus-cfg.eet", efreet_config_home_get());
+        ctx->config = wkb_ibus_config_register(ctx->conn, path);
+        eina_stringshare_del(path);
         INF("Registering Config Interface: %s", ctx->config ? "Success" : "Fail");
      }
    else
index 8d04acf..1d92eef 100644 (file)
@@ -36,7 +36,7 @@ Eina_Bool wkb_ibus_is_connected(void);
 Eldbus_Service_Interface * wkb_ibus_panel_register(Eldbus_Connection *conn);
 
 /* Config */
-Eldbus_Service_Interface * wkb_ibus_config_register(Eldbus_Connection *conn);
+Eldbus_Service_Interface * wkb_ibus_config_register(Eldbus_Connection *conn, const char *path);
 void wkb_ibus_config_unregister(void);
 
 #ifdef __cplusplus