From: Taeyoung Kim Date: Thu, 26 May 2016 09:51:58 +0000 (+0900) Subject: extcon: change interface for extcon devices to dbus signal X-Git-Tag: submit/tizen/20160527.033639^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d5a42d95c8e54d8231886d9c0120b7cb2bcd9c57;p=platform%2Fadaptation%2Femulator%2Femulator-daemon.git extcon: change interface for extcon devices to dbus signal - The interface for extcon devices such as usb cable and earjack is changed from dbus method to dbus signal. Thus the signal is broadcasted. Change-Id: Iae3407645b18bdea7d19fcaa4f0ac6b199f1fc48 Signed-off-by: Taeyoung Kim --- diff --git a/include/emuld.h b/include/emuld.h index 2e5b6f7..09c152c 100644 --- a/include/emuld.h +++ b/include/emuld.h @@ -125,6 +125,7 @@ void send_emuld_connection(void); void add_msg_proc_common(void); void add_msg_proc_ext(void); void dbus_send(const char* device, const char* target, const char* option); +void dbus_send_signal(const char* device, const char* target, const char* option); int parse_val(char *buff, unsigned char data, char *parsbuf); bool msgproc_hds(ijcommand* ijcmd); bool msgproc_cmd(ijcommand* ijcmd); diff --git a/src/common.cpp b/src/common.cpp index 9a655ad..4063ee5 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -291,6 +291,23 @@ void dbus_send(const char* device, const char* target, const char* option) LOGINFO("dbus_send: %s", cmd); } +#define DBUS_SEND_PRE_CMD_SIGNAL "dbus-send --system --type=signal /Org/Tizen/System/DeviceD/" +#define DBUS_SEND_MID_CMD_SIGNAL " org.tizen.system.deviced." +void dbus_send_signal(const char* device, const char* target, const char* option) +{ + const char* dbus_send_pre_cmd = DBUS_SEND_PRE_CMD_SIGNAL; + const char* dbus_send_mid_cmd = DBUS_SEND_MID_CMD_SIGNAL; + char cmd[DBUS_MSG_BUF_SIZE]; + + if (device == NULL || option == NULL || target == NULL) + return; + + snprintf(cmd, sizeof(cmd), "%s%s%s%s.%s string:\"%s\" %s", dbus_send_pre_cmd, target, dbus_send_mid_cmd, target, device, device, option); + + systemcall(cmd); + LOGINFO("dbus_send: %s", cmd); +} + void add_msg_proc_common(void) { bool ret; diff --git a/src/mobile.cpp b/src/mobile.cpp index a49b6bc..ca6bf83 100644 --- a/src/mobile.cpp +++ b/src/mobile.cpp @@ -107,7 +107,7 @@ static void dbus_send_usb(int on) snprintf(option, sizeof(option), "int32:2 string:\"usb\" string:\"%d\"", on); - dbus_send(usb_device, DBUS_SEND_EXTCON, option); + dbus_send_signal(usb_device, DBUS_SEND_EXTCON, option); } static void dbus_send_earjack(int on) @@ -117,7 +117,7 @@ static void dbus_send_earjack(int on) snprintf(option, sizeof(option), "int32:2 string:\"earjack\" string:\"%d\"", on); - dbus_send(earjack_device, DBUS_SEND_EXTCON, option); + dbus_send_signal(earjack_device, DBUS_SEND_EXTCON, option); } int parse_motion_data(int len, char *buffer) diff --git a/src/wearable.cpp b/src/wearable.cpp index c6cd949..93e843d 100644 --- a/src/wearable.cpp +++ b/src/wearable.cpp @@ -71,7 +71,7 @@ static void dbus_send_usb(int on) snprintf(option, sizeof(option), "int32:2 string:\"usb\" string:\"%d\"", on); - dbus_send(usb_device, DBUS_SEND_EXTCON, option); + dbus_send_signal(usb_device, DBUS_SEND_EXTCON, option); } static void dbus_send_earjack(int on) @@ -81,7 +81,7 @@ static void dbus_send_earjack(int on) snprintf(option, sizeof(option), "int32:2 string:\"earjack\" string:\"%d\"", on); - dbus_send(earjack_device, DBUS_SEND_EXTCON, option); + dbus_send_signal(earjack_device, DBUS_SEND_EXTCON, option); } static int read_from_file(const char* file_name)