Enable dbus action in trigger 20/47720/1
authorSomin Kim <somin926.kim@samsung.com>
Tue, 8 Sep 2015 07:17:15 +0000 (16:17 +0900)
committerSomin Kim <somin926.kim@samsung.com>
Tue, 8 Sep 2015 07:17:15 +0000 (16:17 +0900)
Change-Id: Id99453d0e9ae4c0a09b6aee328d81426e65963ff
Signed-off-by: Mu-Woong <muwoong.lee@samsung.com>
Signed-off-by: Somin Kim <somin926.kim@samsung.com>
CMakeLists.txt
include/context_trigger_internal.h
include/context_trigger_types_internal.h
src/context_trigger.cpp

index ed69fdc..6207e59 100644 (file)
@@ -38,7 +38,6 @@ INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeL
 INSTALL(
        DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/context-service
        FILES_MATCHING
-       PATTERN "context_trigger_internal.h" EXCLUDE
        PATTERN "*.h"
 )
 
index 93f24f3..23b5146 100644 (file)
@@ -17,6 +17,7 @@
 #ifndef __TIZEN_CONTEXT_CONTEXT_TRIGGER_INTERNAL_H__
 #define __TIZEN_CONTEXT_CONTEXT_TRIGGER_INTERNAL_H__
 
+#include <glib.h>
 #include <context_trigger.h>
 
 /**
@@ -28,8 +29,8 @@
  * @param[in]  object_path             Path of the remote object
  * @param[in]  interface_name  D-Bus interface to invoke method on
  * @param[in]  method_name             The name of the method to invoke
- * @param[in]  user_data               A user-defined string to be delivered as the first parameter of the method.
- *                                                             @c NULL if not passing any values.
+ * @param[in]  param                   Tuple with parameters for the method,
+ *                                                             or @c NULL if not passing parameters.
  *
  * @return             0 on success, otherwise a negative error value
  * @retval             #CONTEXT_TRIGGER_ERROR_NONE                                     Successful
@@ -40,6 +41,6 @@
  */
 int context_trigger_rule_set_action_dbus_call(context_trigger_rule_h rule,
                const char *bus_name, const char *object_path, const char *interface_name,
-               const char *method_name, const char *user_data);
+               const char *method_name, GVariant *param);
 
 #endif
index 5b584b2..6c0913e 100644 (file)
@@ -59,7 +59,7 @@
 #define CT_RULE_ACTION_DBUS_OBJECT             "ACTION_DBUS_OBJ"
 #define CT_RULE_ACTION_DBUS_INTERFACE  "ACTION_DBUS_IFACE"
 #define CT_RULE_ACTION_DBUS_METHOD             "ACTION_DBUS_METHOD"
-#define CT_RULE_ACTION_DBUS_USER_DATA  "ACTION_DBUS_USERDATA"
+#define CT_RULE_ACTION_DBUS_PARAMETER  "ACTION_DBUS_PARAM"
 
 #define CT_RESPONSE "RES"
 
index c74bfbd..bd04e14 100644 (file)
@@ -467,28 +467,31 @@ EXTAPI int context_trigger_rule_set_action_notification(context_trigger_rule_h r
        return CONTEXT_TRIGGER_ERROR_NONE;
 }
 
-#if 0
 EXTAPI int context_trigger_rule_set_action_dbus_call(context_trigger_rule_h rule,
-               const char *bus_name, const char *object_path, const char *interface_name, const char *method_name, const char *user_data)
+               const char *bus_name, const char *object_path, const char *interface_name, const char *method_name, GVariant *param)
 {
        ASSERT_NOT_NULL(rule && bus_name && object_path && interface_name && method_name);
 
-       // if action arleady exists
+       /* if action arleady exists */
        std::string type;
        if ((rule->jrule).get(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_TYPE, &type))
                return CONTEXT_TRIGGER_ERROR_INVALID_RULE;
 
-       // Set D-Bus info
+       /* Set action type */
        (rule->jrule).set(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_TYPE, CT_RULE_ACTION_TYPE_DBUS_CALL);
+
+       /* Set basic dbus method call info */
        (rule->jrule).set(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_DBUS_NAME, bus_name);
        (rule->jrule).set(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_DBUS_OBJECT, object_path);
        (rule->jrule).set(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_DBUS_INTERFACE, interface_name);
        (rule->jrule).set(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_DBUS_METHOD, method_name);
-       (rule->jrule).set(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_DBUS_USER_DATA, (user_data ? user_data : ""));
+
+       /* Set the parameters */
+       if (param)
+               (rule->jrule).set(CT_RULE_DETAILS "." CT_RULE_ACTION, CT_RULE_ACTION_DBUS_PARAMETER, param);
 
        return CONTEXT_TRIGGER_ERROR_NONE;
 }
-#endif
 
 // Set description
 EXTAPI int context_trigger_rule_set_description(context_trigger_rule_h rule, const char* description)