summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2015-05-22 14:02:47 +0900
committerJiyoung Yun <jy910.yun@samsung.com>2015-05-22 14:02:47 +0900
commit2f1a34a3028eb80dfb68c78fedd527c5ac762d65 (patch)
tree004f7f6ea75a7370eed9a573fc05585d9a9bf00e
parenta9a9942acdf4b694fbe43ff840c0f071f151b825 (diff)
downloaddeviced-2f1a34a3028eb80dfb68c78fedd527c5ac762d65.tar.gz
deviced-2f1a34a3028eb80dfb68c78fedd527c5ac762d65.tar.bz2
deviced-2f1a34a3028eb80dfb68c78fedd527c5ac762d65.zip
deviced: Add changed flash state method
Whenever who requests to turn on and off flash device, deviced will broadcast 'ChangeFlashState' dbus signal. Change-Id: Ic07f3568d804753b84972cf4f2a4e2cfee4af4b4 Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
-rw-r--r--src/led/torch.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/led/torch.c b/src/led/torch.c
index f4ad1f75..8e9dff50 100644
--- a/src/led/torch.c
+++ b/src/led/torch.c
@@ -32,6 +32,8 @@
#define LED_MAX_BRIGHTNESS 100
#define GET_BRIGHTNESS(x) (((x) >> 24) & 0xFF)
+#define SIGNAL_FLASH_STATE "ChangeFlashState"
+
static struct led_device *led_dev;
static struct led_state led_state = {
.type = LED_TYPE_MANUAL,
@@ -40,6 +42,18 @@ static struct led_state led_state = {
.duty_off = 0,
};
+static void flash_state_broadcast(int val)
+{
+ char *arr[1];
+ char str_state[32];
+
+ snprintf(str_state, sizeof(str_state), "%d", val);
+ arr[0] = str_state;
+
+ broadcast_edbus_signal(DEVICED_PATH_LED, DEVICED_INTERFACE_LED,
+ SIGNAL_FLASH_STATE, "i", arr);
+}
+
static DBusMessage *edbus_get_brightness(E_DBus_Object *obj, DBusMessage *msg)
{
DBusMessageIter iter;
@@ -110,6 +124,9 @@ static DBusMessage *edbus_set_brightness(E_DBus_Object *obj, DBusMessage *msg)
memcpy(&led_state, &tmp, sizeof(led_state));
+ /* flash status broadcast */
+ flash_state_broadcast(val);
+
/* if enable is ON, noti will be show or hide */
if (enable) {
if (val)