#define DBUS_PATH "/setting/dbus_handler"
#define DBUS_SIGNAL_INTERFACE "org.tizen.setting.signal"
+#define APPID_LENGTH 10
+#define APPID_POS_FROM_PATH 10
+
static char* s_pkg_name;
static char* substring(const char* str, size_t begin, size_t len)
* package ID
*
* ncbyusjryr.AppSetting --> package ID is ncbyusjryr
+ * "Update_" "ncbyusjryr"
*/
static char* get_app_string(char* path)
{
SETTING_TRACE_BEGIN;
- char* temp = substring(path, 10, 10/*string size*/);
+ char* temp = substring(path, APPID_POS_FROM_PATH, APPID_LENGTH/*string size*/);
SETTING_TRACE("package ID : >>> %s ",temp );
return temp;
}
setting_main_appdata *ad = user_data;
char* pkg_name = get_app_string(ad->plugin_path);
- s_pkg_name = pkg_name;
- if (dbus_message_is_signal(message, DBUS_SIGNAL_INTERFACE, pkg_name))
+ char str_buf[MAX_COMMON_BUFFER_LEN];
+ snprintf(str_buf, MAX_COMMON_BUFFER_LEN, "Update_%s", pkg_name);
+ s_pkg_name = strdup(str_buf);
+
+ if (pkg_name)
+ {
+ free(pkg_name);
+ pkg_name = NULL;
+ }
+
+ if (s_pkg_name == NULL)
+ {
+ SETTING_TRACE("s_pkg_name is NULL - it's abnormal operation");
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+ SETTING_TRACE("s_pkg_name : %s ", s_pkg_name);
+ if (dbus_message_is_signal(message, DBUS_SIGNAL_INTERFACE, s_pkg_name))
{
if (dbus_message_get_args(message, &error,
DBUS_TYPE_UINT32, &sender_pid,
if (bus == NULL)
return -1;
- if (s_pkg_name == NULL) return -1;
+ if (s_pkg_name == NULL)
+ {
+ SETTING_TRACE("s_pkg_name is NULL - it's abnormal operation");
+ return -1;
+ }
message = dbus_message_new_signal(DBUS_PATH, DBUS_SIGNAL_INTERFACE, s_pkg_name);