From 4f631c67cd90572be1fd6048626745b5647e21ef Mon Sep 17 00:00:00 2001 From: Rafal Walczyna Date: Fri, 6 Apr 2018 09:19:43 +0200 Subject: [PATCH 01/16] [Messaging] Fixed permissions of temporary file used for messaging File created by mkstemp() gives permissions only for user, that's why msg-service could not read from file and body of message was empty. [Verification] 100% passrate on TM1 Change-Id: I290277294459ca96392b9a97adccded1664a426d Signed-off-by: Rafal Walczyna --- src/messaging/message.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/messaging/message.cc b/src/messaging/message.cc index ba6aaa6..5fdbbc6 100644 --- a/src/messaging/message.cc +++ b/src/messaging/message.cc @@ -346,6 +346,11 @@ PlatformResult saveToTempFile(const std::string& data, std::string* file_name) { if (-1 == file_descriptor) { return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Temp file creation failed"); } + // Change permision of file to -rw-r--r-- + int ret_fchmod = fchmod(file_descriptor, 0644); + if (-1 == ret_fchmod) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Permission changing failed"); + } std::string tmp_name = buf; -- 2.7.4 From 267bb302f95a17adf319ef0678509f568f0785f7 Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Fri, 6 Apr 2018 09:29:15 +0200 Subject: [PATCH 02/16] [version] 2.20 Change-Id: I8c11218bf7cb61b4dcc530a205e7a4bfc1d94be9 --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 2e5500f..5c7573d 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 2.19 +Version: 2.20 Release: 0 License: Apache-2.0 and BSD-3-Clause and MIT Group: Development/Libraries -- 2.7.4 From d808969a450b5a31470b8c559559c548ee0baecf Mon Sep 17 00:00:00 2001 From: Szymon Jastrzebski Date: Tue, 10 Oct 2017 08:56:25 +0200 Subject: [PATCH 03/16] [Power] Refactoring module Previous implementation depended partly on Deviced functions through the dbus interface. Currently, the implementation uses only DeviceD Native API (except the ReleaseBrightness and SetBrightness methods). TheReleaseBrightness is still not wrapped into the Native C DeviceD API). [Verification] TCT pass: A/M - 100%. Change-Id: I03124c0d332bf03cd5481ac2b38c9e5c9a534063 Signed-off-by: Szymon Jastrzebski --- src/common/GDBus/auto_gen_interface.c | 2052 -------------------- src/common/GDBus/auto_gen_interface.h | 257 --- src/common/GDBus/gdbus_interface_generate.sh | 3 - src/common/GDBus/gdbus_powerwrapper.cc | 235 --- src/common/GDBus/gdbus_powerwrapper.h | 68 - src/common/GDBus/gdbus_tizen_display_interface.xml | 50 - src/common/common.gyp | 4 - src/power/power.gyp | 3 - src/power/power_api.js | 281 ++- src/power/power_instance.cc | 161 +- src/power/power_instance.h | 28 +- src/power/power_manager.cc | 649 +++---- src/power/power_manager.h | 72 +- src/power/power_platform_proxy.cc | 99 - src/power/power_platform_proxy.h | 48 - 15 files changed, 540 insertions(+), 3470 deletions(-) delete mode 100644 src/common/GDBus/auto_gen_interface.c delete mode 100644 src/common/GDBus/auto_gen_interface.h delete mode 100755 src/common/GDBus/gdbus_interface_generate.sh delete mode 100644 src/common/GDBus/gdbus_powerwrapper.cc delete mode 100644 src/common/GDBus/gdbus_powerwrapper.h delete mode 100644 src/common/GDBus/gdbus_tizen_display_interface.xml delete mode 100644 src/power/power_platform_proxy.cc delete mode 100644 src/power/power_platform_proxy.h diff --git a/src/common/GDBus/auto_gen_interface.c b/src/common/GDBus/auto_gen_interface.c deleted file mode 100644 index f00cec5..0000000 --- a/src/common/GDBus/auto_gen_interface.c +++ /dev/null @@ -1,2052 +0,0 @@ -/* - * Generated by gdbus-codegen 2.40.2. DO NOT EDIT. - * - * The license of this code is the same as for the source it was derived from. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "auto_gen_interface.h" - -#include -#ifdef G_OS_UNIX -# include -#endif - -typedef struct -{ - GDBusArgInfo parent_struct; - gboolean use_gvariant; -} _ExtendedGDBusArgInfo; - -typedef struct -{ - GDBusMethodInfo parent_struct; - const gchar *signal_name; - gboolean pass_fdlist; -} _ExtendedGDBusMethodInfo; - -typedef struct -{ - GDBusSignalInfo parent_struct; - const gchar *signal_name; -} _ExtendedGDBusSignalInfo; - -typedef struct -{ - GDBusPropertyInfo parent_struct; - const gchar *hyphen_name; - gboolean use_gvariant; -} _ExtendedGDBusPropertyInfo; - -typedef struct -{ - GDBusInterfaceInfo parent_struct; - const gchar *hyphen_name; -} _ExtendedGDBusInterfaceInfo; - -typedef struct -{ - const _ExtendedGDBusPropertyInfo *info; - guint prop_id; - GValue orig_value; /* the value before the change */ -} ChangedProperty; - -static void -_changed_property_free (ChangedProperty *data) -{ - g_value_unset (&data->orig_value); - g_free (data); -} - -static gboolean -_g_strv_equal0 (gchar **a, gchar **b) -{ - gboolean ret = FALSE; - guint n; - if (a == NULL && b == NULL) - { - ret = TRUE; - goto out; - } - if (a == NULL || b == NULL) - goto out; - if (g_strv_length (a) != g_strv_length (b)) - goto out; - for (n = 0; a[n] != NULL; n++) - if (g_strcmp0 (a[n], b[n]) != 0) - goto out; - ret = TRUE; -out: - return ret; -} - -static gboolean -_g_variant_equal0 (GVariant *a, GVariant *b) -{ - gboolean ret = FALSE; - if (a == NULL && b == NULL) - { - ret = TRUE; - goto out; - } - if (a == NULL || b == NULL) - goto out; - ret = g_variant_equal (a, b); -out: - return ret; -} - -G_GNUC_UNUSED static gboolean -_g_value_equal (const GValue *a, const GValue *b) -{ - gboolean ret = FALSE; - g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b)); - switch (G_VALUE_TYPE (a)) - { - case G_TYPE_BOOLEAN: - ret = (g_value_get_boolean (a) == g_value_get_boolean (b)); - break; - case G_TYPE_UCHAR: - ret = (g_value_get_uchar (a) == g_value_get_uchar (b)); - break; - case G_TYPE_INT: - ret = (g_value_get_int (a) == g_value_get_int (b)); - break; - case G_TYPE_UINT: - ret = (g_value_get_uint (a) == g_value_get_uint (b)); - break; - case G_TYPE_INT64: - ret = (g_value_get_int64 (a) == g_value_get_int64 (b)); - break; - case G_TYPE_UINT64: - ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b)); - break; - case G_TYPE_DOUBLE: - { - /* Avoid -Wfloat-equal warnings by doing a direct bit compare */ - gdouble da = g_value_get_double (a); - gdouble db = g_value_get_double (b); - ret = memcmp (&da, &db, sizeof (gdouble)) == 0; - } - break; - case G_TYPE_STRING: - ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0); - break; - case G_TYPE_VARIANT: - ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b)); - break; - default: - if (G_VALUE_TYPE (a) == G_TYPE_STRV) - ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b)); - else - g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a))); - break; - } - return ret; -} - -/* ------------------------------------------------------------------------ - * Code for interface org.tizen.system.deviced.display - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:_auto_genOrgTizenSystemDevicedDisplay - * @title: _auto_genOrgTizenSystemDevicedDisplay - * @short_description: Generated C code for the org.tizen.system.deviced.display D-Bus interface - * - * This section contains code for working with the org.tizen.system.deviced.display D-Bus interface in C. - */ - -/* ---- Introspection data for org.tizen.system.deviced.display ---- */ - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_state = -{ - { - -1, - (gchar *) "state", - (gchar *) "s", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option1 = -{ - { - -1, - (gchar *) "option1", - (gchar *) "s", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option2 = -{ - { - -1, - (gchar *) "option2", - (gchar *) "s", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_timeout = -{ - { - -1, - (gchar *) "timeout", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_state, - &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option1, - &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option2, - &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_timeout, - NULL -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_result = -{ - { - -1, - (gchar *) "result", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_result, - NULL -}; - -static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate = -{ - { - -1, - (gchar *) "lockstate", - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_pointers, - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_pointers, - NULL - }, - "handle-lockstate", - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_state = -{ - { - -1, - (gchar *) "state", - (gchar *) "s", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_option = -{ - { - -1, - (gchar *) "option", - (gchar *) "s", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_state, - &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_option, - NULL -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_result = -{ - { - -1, - (gchar *) "result", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_result, - NULL -}; - -static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate = -{ - { - -1, - (gchar *) "unlockstate", - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_pointers, - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_pointers, - NULL - }, - "handle-unlockstate", - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_result = -{ - { - -1, - (gchar *) "result", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_result, - NULL -}; - -static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_release_brightness = -{ - { - -1, - (gchar *) "ReleaseBrightness", - NULL, - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_pointers, - NULL - }, - "handle-release-brightness", - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_brightness = -{ - { - -1, - (gchar *) "brightness", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_brightness, - NULL -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_result = -{ - { - -1, - (gchar *) "result", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_result, - NULL -}; - -static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness = -{ - { - -1, - (gchar *) "HoldBrightness", - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_pointers, - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_pointers, - NULL - }, - "handle-hold-brightness", - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_result = -{ - { - -1, - (gchar *) "result", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_result, - NULL -}; - -static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_current_brightness = -{ - { - -1, - (gchar *) "CurrentBrightness", - NULL, - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_pointers, - NULL - }, - "handle-current-brightness", - FALSE -}; - -static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_result = -{ - { - -1, - (gchar *) "result", - (gchar *) "i", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_result, - NULL -}; - -static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness = -{ - { - -1, - (gchar *) "CustomBrightness", - NULL, - (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_pointers, - NULL - }, - "handle-custom-brightness", - FALSE -}; - -static const _ExtendedGDBusMethodInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_pointers[] = -{ - &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate, - &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate, - &__auto_gen_org_tizen_system_deviced_display_method_info_release_brightness, - &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness, - &__auto_gen_org_tizen_system_deviced_display_method_info_current_brightness, - &__auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness, - NULL -}; - -static const _ExtendedGDBusInterfaceInfo __auto_gen_org_tizen_system_deviced_display_interface_info = -{ - { - -1, - (gchar *) "org.tizen.system.deviced.display", - (GDBusMethodInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_pointers, - NULL, - NULL, - NULL - }, - "org-tizen-system-deviced-display", -}; - - -/** - * _auto_gen_org_tizen_system_deviced_display_interface_info: - * - * Gets a machine-readable description of the org.tizen.system.deviced.display D-Bus interface. - * - * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. - */ -GDBusInterfaceInfo * -_auto_gen_org_tizen_system_deviced_display_interface_info (void) -{ - return (GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_override_properties: - * @klass: The class structure for a #GObject-derived class. - * @property_id_begin: The property id to assign to the first overridden property. - * - * Overrides all #GObject properties in the #_auto_genOrgTizenSystemDevicedDisplay interface for a concrete class. - * The properties are overridden in the order they are defined. - * - * Returns: The last property id. - */ -guint -_auto_gen_org_tizen_system_deviced_display_override_properties (GObjectClass *klass, guint property_id_begin) -{ - return property_id_begin - 1; -} - - - -/** - * _auto_genOrgTizenSystemDevicedDisplay: - * - * Abstract interface type for the D-Bus interface org.tizen.system.deviced.display. - */ - -/** - * _auto_genOrgTizenSystemDevicedDisplayIface: - * @parent_iface: The parent interface. - * @handle_current_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-current-brightness signal. - * @handle_custom_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-custom-brightness signal. - * @handle_hold_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-hold-brightness signal. - * @handle_lockstate: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-lockstate signal. - * @handle_release_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-release-brightness signal. - * @handle_unlockstate: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-unlockstate signal. - * - * Virtual table for the D-Bus interface org.tizen.system.deviced.display. - */ - -typedef _auto_genOrgTizenSystemDevicedDisplayIface _auto_genOrgTizenSystemDevicedDisplayInterface; -G_DEFINE_INTERFACE (_auto_genOrgTizenSystemDevicedDisplay, _auto_gen_org_tizen_system_deviced_display, G_TYPE_OBJECT); - -static void -_auto_gen_org_tizen_system_deviced_display_default_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface) -{ - /* GObject signals for incoming D-Bus method calls: */ - /** - * _auto_genOrgTizenSystemDevicedDisplay::handle-lockstate: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: A #GDBusMethodInvocation. - * @arg_state: Argument passed by remote caller. - * @arg_option1: Argument passed by remote caller. - * @arg_option2: Argument passed by remote caller. - * @arg_timeout: Argument passed by remote caller. - * - * Signal emitted when a remote caller is invoking the lockstate() D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_lockstate() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-lockstate", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_lockstate), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 5, - G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); - - /** - * _auto_genOrgTizenSystemDevicedDisplay::handle-unlockstate: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: A #GDBusMethodInvocation. - * @arg_state: Argument passed by remote caller. - * @arg_option: Argument passed by remote caller. - * - * Signal emitted when a remote caller is invoking the unlockstate() D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_unlockstate() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-unlockstate", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_unlockstate), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 3, - G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING); - - /** - * _auto_genOrgTizenSystemDevicedDisplay::handle-release-brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the ReleaseBrightness() D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_release_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-release-brightness", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_release_brightness), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * _auto_genOrgTizenSystemDevicedDisplay::handle-hold-brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: A #GDBusMethodInvocation. - * @arg_brightness: Argument passed by remote caller. - * - * Signal emitted when a remote caller is invoking the HoldBrightness() D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_hold_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-hold-brightness", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_hold_brightness), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 2, - G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_INT); - - /** - * _auto_genOrgTizenSystemDevicedDisplay::handle-current-brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the CurrentBrightness() D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_current_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-current-brightness", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_current_brightness), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * _auto_genOrgTizenSystemDevicedDisplay::handle-custom-brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the CustomBrightness() D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_custom_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-custom-brightness", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_custom_brightness), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_lockstate: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @arg_state: Argument to pass with the method invocation. - * @arg_option1: Argument to pass with the method invocation. - * @arg_option2: Argument to pass with the method invocation. - * @arg_timeout: Argument to pass with the method invocation. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the lockstate() D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_call_lockstate_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync() for the synchronous, blocking version of this method. - */ -void -_auto_gen_org_tizen_system_deviced_display_call_lockstate ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - const gchar *arg_state, - const gchar *arg_option1, - const gchar *arg_option2, - gint arg_timeout, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "lockstate", - g_variant_new ("(sssi)", - arg_state, - arg_option1, - arg_option2, - arg_timeout), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_lockstate_finish: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_lockstate(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_lockstate(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_lockstate_finish ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @arg_state: Argument to pass with the method invocation. - * @arg_option1: Argument to pass with the method invocation. - * @arg_option2: Argument to pass with the method invocation. - * @arg_timeout: Argument to pass with the method invocation. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the lockstate() D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_call_lockstate() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_lockstate_sync ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - const gchar *arg_state, - const gchar *arg_option1, - const gchar *arg_option2, - gint arg_timeout, - gint *out_result, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "lockstate", - g_variant_new ("(sssi)", - arg_state, - arg_option1, - arg_option2, - arg_timeout), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_unlockstate: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @arg_state: Argument to pass with the method invocation. - * @arg_option: Argument to pass with the method invocation. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the unlockstate() D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync() for the synchronous, blocking version of this method. - */ -void -_auto_gen_org_tizen_system_deviced_display_call_unlockstate ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - const gchar *arg_state, - const gchar *arg_option, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "unlockstate", - g_variant_new ("(ss)", - arg_state, - arg_option), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_unlockstate(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_unlockstate(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @arg_state: Argument to pass with the method invocation. - * @arg_option: Argument to pass with the method invocation. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the unlockstate() D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_call_unlockstate() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - const gchar *arg_state, - const gchar *arg_option, - gint *out_result, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "unlockstate", - g_variant_new ("(ss)", - arg_state, - arg_option), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_release_brightness: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the ReleaseBrightness() D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync() for the synchronous, blocking version of this method. - */ -void -_auto_gen_org_tizen_system_deviced_display_call_release_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "ReleaseBrightness", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_release_brightness(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_release_brightness(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the ReleaseBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_call_release_brightness() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "ReleaseBrightness", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_hold_brightness: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @arg_brightness: Argument to pass with the method invocation. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the HoldBrightness() D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync() for the synchronous, blocking version of this method. - */ -void -_auto_gen_org_tizen_system_deviced_display_call_hold_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint arg_brightness, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "HoldBrightness", - g_variant_new ("(i)", - arg_brightness), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_hold_brightness(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_hold_brightness(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @arg_brightness: Argument to pass with the method invocation. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the HoldBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_call_hold_brightness() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint arg_brightness, - gint *out_result, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "HoldBrightness", - g_variant_new ("(i)", - arg_brightness), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_current_brightness: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the CurrentBrightness() D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync() for the synchronous, blocking version of this method. - */ -void -_auto_gen_org_tizen_system_deviced_display_call_current_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "CurrentBrightness", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_current_brightness(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_current_brightness(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the CurrentBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_call_current_brightness() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "CurrentBrightness", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_custom_brightness: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the CustomBrightness() D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync() for the synchronous, blocking version of this method. - */ -void -_auto_gen_org_tizen_system_deviced_display_call_custom_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "CustomBrightness", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_custom_brightness(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_custom_brightness(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync: - * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy. - * @out_result: (out): Return location for return parameter or %NULL to ignore. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the CustomBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_call_custom_brightness() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -_auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync ( - _auto_genOrgTizenSystemDevicedDisplay *proxy, - gint *out_result, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "CustomBrightness", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "(i)", - out_result); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_complete_lockstate: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * @result: Parameter to return. - * - * Helper function used in service implementations to finish handling invocations of the lockstate() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -_auto_gen_org_tizen_system_deviced_display_complete_lockstate ( - _auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, - gint result) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("(i)", - result)); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_complete_unlockstate: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * @result: Parameter to return. - * - * Helper function used in service implementations to finish handling invocations of the unlockstate() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -_auto_gen_org_tizen_system_deviced_display_complete_unlockstate ( - _auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, - gint result) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("(i)", - result)); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_complete_release_brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * @result: Parameter to return. - * - * Helper function used in service implementations to finish handling invocations of the ReleaseBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -_auto_gen_org_tizen_system_deviced_display_complete_release_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, - gint result) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("(i)", - result)); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_complete_hold_brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * @result: Parameter to return. - * - * Helper function used in service implementations to finish handling invocations of the HoldBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -_auto_gen_org_tizen_system_deviced_display_complete_hold_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, - gint result) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("(i)", - result)); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_complete_current_brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * @result: Parameter to return. - * - * Helper function used in service implementations to finish handling invocations of the CurrentBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -_auto_gen_org_tizen_system_deviced_display_complete_current_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, - gint result) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("(i)", - result)); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_complete_custom_brightness: - * @object: A #_auto_genOrgTizenSystemDevicedDisplay. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * @result: Parameter to return. - * - * Helper function used in service implementations to finish handling invocations of the CustomBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -_auto_gen_org_tizen_system_deviced_display_complete_custom_brightness ( - _auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, - gint result) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("(i)", - result)); -} - -/* ------------------------------------------------------------------------ */ - -/** - * _auto_genOrgTizenSystemDevicedDisplayProxy: - * - * The #_auto_genOrgTizenSystemDevicedDisplayProxy structure contains only private data and should only be accessed using the provided API. - */ - -/** - * _auto_genOrgTizenSystemDevicedDisplayProxyClass: - * @parent_class: The parent class. - * - * Class structure for #_auto_genOrgTizenSystemDevicedDisplayProxy. - */ - -struct __auto_genOrgTizenSystemDevicedDisplayProxyPrivate -{ - GData *qdata; -}; - -static void _auto_gen_org_tizen_system_deviced_display_proxy_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface); - -#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 -G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplayProxy, _auto_gen_org_tizen_system_deviced_display_proxy, G_TYPE_DBUS_PROXY, - G_ADD_PRIVATE (_auto_genOrgTizenSystemDevicedDisplayProxy) - G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_proxy_iface_init)); - -#else -G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplayProxy, _auto_gen_org_tizen_system_deviced_display_proxy, G_TYPE_DBUS_PROXY, - G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_proxy_iface_init)); - -#endif -static void -_auto_gen_org_tizen_system_deviced_display_proxy_finalize (GObject *object) -{ - _auto_genOrgTizenSystemDevicedDisplayProxy *proxy = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY (object); - g_datalist_clear (&proxy->priv->qdata); - G_OBJECT_CLASS (_auto_gen_org_tizen_system_deviced_display_proxy_parent_class)->finalize (object); -} - -static void -_auto_gen_org_tizen_system_deviced_display_proxy_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec G_GNUC_UNUSED) -{ -} - -static void -_auto_gen_org_tizen_system_deviced_display_proxy_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec G_GNUC_UNUSED) -{ -} - -static void -_auto_gen_org_tizen_system_deviced_display_proxy_g_signal (GDBusProxy *proxy, - const gchar *sender_name G_GNUC_UNUSED, - const gchar *signal_name, - GVariant *parameters) -{ - _ExtendedGDBusSignalInfo *info; - GVariantIter iter; - GVariant *child; - GValue *paramv; - guint num_params; - guint n; - guint signal_id; - info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, signal_name); - if (info == NULL) - return; - num_params = g_variant_n_children (parameters); - paramv = g_new0 (GValue, num_params + 1); - g_value_init (¶mv[0], _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY); - g_value_set_object (¶mv[0], proxy); - g_variant_iter_init (&iter, parameters); - n = 1; - while ((child = g_variant_iter_next_value (&iter)) != NULL) - { - _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; - if (arg_info->use_gvariant) - { - g_value_init (¶mv[n], G_TYPE_VARIANT); - g_value_set_variant (¶mv[n], child); - n++; - } - else - g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); - g_variant_unref (child); - } - signal_id = g_signal_lookup (info->signal_name, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY); - g_signal_emitv (paramv, signal_id, 0, NULL); - for (n = 0; n < num_params + 1; n++) - g_value_unset (¶mv[n]); - g_free (paramv); -} - -static void -_auto_gen_org_tizen_system_deviced_display_proxy_g_properties_changed (GDBusProxy *_proxy, - GVariant *changed_properties, - const gchar *const *invalidated_properties) -{ - _auto_genOrgTizenSystemDevicedDisplayProxy *proxy = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY (_proxy); - guint n; - const gchar *key; - GVariantIter *iter; - _ExtendedGDBusPropertyInfo *info; - g_variant_get (changed_properties, "a{sv}", &iter); - while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) - { - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, key); - g_datalist_remove_data (&proxy->priv->qdata, key); - if (info != NULL) - g_object_notify (G_OBJECT (proxy), info->hyphen_name); - } - g_variant_iter_free (iter); - for (n = 0; invalidated_properties[n] != NULL; n++) - { - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, invalidated_properties[n]); - g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); - if (info != NULL) - g_object_notify (G_OBJECT (proxy), info->hyphen_name); - } -} - -static void -_auto_gen_org_tizen_system_deviced_display_proxy_init (_auto_genOrgTizenSystemDevicedDisplayProxy *proxy) -{ -#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 - proxy->priv = _auto_gen_org_tizen_system_deviced_display_proxy_get_instance_private (proxy); -#else - proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, _auto_genOrgTizenSystemDevicedDisplayProxyPrivate); -#endif - - g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), _auto_gen_org_tizen_system_deviced_display_interface_info ()); -} - -static void -_auto_gen_org_tizen_system_deviced_display_proxy_class_init (_auto_genOrgTizenSystemDevicedDisplayProxyClass *klass) -{ - GObjectClass *gobject_class; - GDBusProxyClass *proxy_class; - - gobject_class = G_OBJECT_CLASS (klass); - gobject_class->finalize = _auto_gen_org_tizen_system_deviced_display_proxy_finalize; - gobject_class->get_property = _auto_gen_org_tizen_system_deviced_display_proxy_get_property; - gobject_class->set_property = _auto_gen_org_tizen_system_deviced_display_proxy_set_property; - - proxy_class = G_DBUS_PROXY_CLASS (klass); - proxy_class->g_signal = _auto_gen_org_tizen_system_deviced_display_proxy_g_signal; - proxy_class->g_properties_changed = _auto_gen_org_tizen_system_deviced_display_proxy_g_properties_changed; - -#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 - g_type_class_add_private (klass, sizeof (_auto_genOrgTizenSystemDevicedDisplayProxyPrivate)); -#endif -} - -static void -_auto_gen_org_tizen_system_deviced_display_proxy_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface) -{ -} - -/** - * _auto_gen_org_tizen_system_deviced_display_proxy_new: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied. - * @user_data: User data to pass to @callback. - * - * Asynchronously creates a proxy for the D-Bus interface org.tizen.system.deviced.display. See g_dbus_proxy_new() for more details. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_proxy_new_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_proxy_new_sync() for the synchronous, blocking version of this constructor. - */ -void -_auto_gen_org_tizen_system_deviced_display_proxy_new ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_proxy_new_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_proxy_new(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_proxy_new(). - * - * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set. - */ -_auto_genOrgTizenSystemDevicedDisplay * -_auto_gen_org_tizen_system_deviced_display_proxy_new_finish ( - GAsyncResult *res, - GError **error) -{ - GObject *ret; - GObject *source_object; - source_object = g_async_result_get_source_object (res); - ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); - g_object_unref (source_object); - if (ret != NULL) - return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret); - else - return NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_proxy_new_sync: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL - * - * Synchronously creates a proxy for the D-Bus interface org.tizen.system.deviced.display. See g_dbus_proxy_new_sync() for more details. - * - * The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_proxy_new() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set. - */ -_auto_genOrgTizenSystemDevicedDisplay * -_auto_gen_org_tizen_system_deviced_display_proxy_new_sync ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL); - if (ret != NULL) - return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret); - else - return NULL; -} - - -/** - * _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: A bus name (well-known or unique). - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied. - * @user_data: User data to pass to @callback. - * - * Like _auto_gen_org_tizen_system_deviced_display_proxy_new() but takes a #GBusType instead of a #GDBusConnection. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish() to get the result of the operation. - * - * See _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. - */ -void -_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL); -} - -/** - * _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus(). - * - * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set. - */ -_auto_genOrgTizenSystemDevicedDisplay * -_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish ( - GAsyncResult *res, - GError **error) -{ - GObject *ret; - GObject *source_object; - source_object = g_async_result_get_source_object (res); - ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); - g_object_unref (source_object); - if (ret != NULL) - return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret); - else - return NULL; -} - -/** - * _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: A bus name (well-known or unique). - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL - * - * Like _auto_gen_org_tizen_system_deviced_display_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. - * - * The calling thread is blocked until a reply is received. - * - * See _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set. - */ -_auto_genOrgTizenSystemDevicedDisplay * -_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL); - if (ret != NULL) - return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret); - else - return NULL; -} - - -/* ------------------------------------------------------------------------ */ - -/** - * _auto_genOrgTizenSystemDevicedDisplaySkeleton: - * - * The #_auto_genOrgTizenSystemDevicedDisplaySkeleton structure contains only private data and should only be accessed using the provided API. - */ - -/** - * _auto_genOrgTizenSystemDevicedDisplaySkeletonClass: - * @parent_class: The parent class. - * - * Class structure for #_auto_genOrgTizenSystemDevicedDisplaySkeleton. - */ - -struct __auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate -{ - GValue *properties; - GList *changed_properties; - GSource *changed_properties_idle_source; - GMainContext *context; - GMutex lock; -}; - -static void -__auto_gen_org_tizen_system_deviced_display_skeleton_handle_method_call ( - GDBusConnection *connection G_GNUC_UNUSED, - const gchar *sender G_GNUC_UNUSED, - const gchar *object_path G_GNUC_UNUSED, - const gchar *interface_name, - const gchar *method_name, - GVariant *parameters, - GDBusMethodInvocation *invocation, - gpointer user_data) -{ - _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (user_data); - _ExtendedGDBusMethodInfo *info; - GVariantIter iter; - GVariant *child; - GValue *paramv; - guint num_params; - guint num_extra; - guint n; - guint signal_id; - GValue return_value = G_VALUE_INIT; - info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); - g_assert (info != NULL); - num_params = g_variant_n_children (parameters); - num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); - n = 0; - g_value_init (¶mv[n], _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY); - g_value_set_object (¶mv[n++], skeleton); - g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); - g_value_set_object (¶mv[n++], invocation); - if (info->pass_fdlist) - { -#ifdef G_OS_UNIX - g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); - g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); -#else - g_assert_not_reached (); -#endif - } - g_variant_iter_init (&iter, parameters); - while ((child = g_variant_iter_next_value (&iter)) != NULL) - { - _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; - if (arg_info->use_gvariant) - { - g_value_init (¶mv[n], G_TYPE_VARIANT); - g_value_set_variant (¶mv[n], child); - n++; - } - else - g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); - g_variant_unref (child); - } - signal_id = g_signal_lookup (info->signal_name, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY); - g_value_init (&return_value, G_TYPE_BOOLEAN); - g_signal_emitv (paramv, signal_id, 0, &return_value); - if (!g_value_get_boolean (&return_value)) - g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); - g_value_unset (&return_value); - for (n = 0; n < num_params + num_extra; n++) - g_value_unset (¶mv[n]); - g_free (paramv); -} - -static GVariant * -__auto_gen_org_tizen_system_deviced_display_skeleton_handle_get_property ( - GDBusConnection *connection G_GNUC_UNUSED, - const gchar *sender G_GNUC_UNUSED, - const gchar *object_path G_GNUC_UNUSED, - const gchar *interface_name G_GNUC_UNUSED, - const gchar *property_name, - GError **error, - gpointer user_data) -{ - _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (user_data); - GValue value = G_VALUE_INIT; - GParamSpec *pspec; - _ExtendedGDBusPropertyInfo *info; - GVariant *ret; - ret = NULL; - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, property_name); - g_assert (info != NULL); - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); - if (pspec == NULL) - { - g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); - } - else - { - g_value_init (&value, pspec->value_type); - g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); - ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); - g_value_unset (&value); - } - return ret; -} - -static gboolean -__auto_gen_org_tizen_system_deviced_display_skeleton_handle_set_property ( - GDBusConnection *connection G_GNUC_UNUSED, - const gchar *sender G_GNUC_UNUSED, - const gchar *object_path G_GNUC_UNUSED, - const gchar *interface_name G_GNUC_UNUSED, - const gchar *property_name, - GVariant *variant, - GError **error, - gpointer user_data) -{ - _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (user_data); - GValue value = G_VALUE_INIT; - GParamSpec *pspec; - _ExtendedGDBusPropertyInfo *info; - gboolean ret; - ret = FALSE; - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, property_name); - g_assert (info != NULL); - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); - if (pspec == NULL) - { - g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); - } - else - { - if (info->use_gvariant) - g_value_set_variant (&value, variant); - else - g_dbus_gvariant_to_gvalue (variant, &value); - g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); - g_value_unset (&value); - ret = TRUE; - } - return ret; -} - -static const GDBusInterfaceVTable __auto_gen_org_tizen_system_deviced_display_skeleton_vtable = -{ - __auto_gen_org_tizen_system_deviced_display_skeleton_handle_method_call, - __auto_gen_org_tizen_system_deviced_display_skeleton_handle_get_property, - __auto_gen_org_tizen_system_deviced_display_skeleton_handle_set_property, - {NULL} -}; - -static GDBusInterfaceInfo * -_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) -{ - return _auto_gen_org_tizen_system_deviced_display_interface_info (); -} - -static GDBusInterfaceVTable * -_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) -{ - return (GDBusInterfaceVTable *) &__auto_gen_org_tizen_system_deviced_display_skeleton_vtable; -} - -static GVariant * -_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) -{ - _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (_skeleton); - - GVariantBuilder builder; - guint n; - g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); - if (__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct.properties == NULL) - goto out; - for (n = 0; __auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct.properties[n] != NULL; n++) - { - GDBusPropertyInfo *info = __auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct.properties[n]; - if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) - { - GVariant *value; - value = __auto_gen_org_tizen_system_deviced_display_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.tizen.system.deviced.display", info->name, NULL, skeleton); - if (value != NULL) - { - g_variant_take_ref (value); - g_variant_builder_add (&builder, "{sv}", info->name, value); - g_variant_unref (value); - } - } - } -out: - return g_variant_builder_end (&builder); -} - -static void -_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton) -{ -} - -static void _auto_gen_org_tizen_system_deviced_display_skeleton_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface); -#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 -G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplaySkeleton, _auto_gen_org_tizen_system_deviced_display_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, - G_ADD_PRIVATE (_auto_genOrgTizenSystemDevicedDisplaySkeleton) - G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_skeleton_iface_init)); - -#else -G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplaySkeleton, _auto_gen_org_tizen_system_deviced_display_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, - G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_skeleton_iface_init)); - -#endif -static void -_auto_gen_org_tizen_system_deviced_display_skeleton_finalize (GObject *object) -{ - _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (object); - g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); - if (skeleton->priv->changed_properties_idle_source != NULL) - g_source_destroy (skeleton->priv->changed_properties_idle_source); - g_main_context_unref (skeleton->priv->context); - g_mutex_clear (&skeleton->priv->lock); - G_OBJECT_CLASS (_auto_gen_org_tizen_system_deviced_display_skeleton_parent_class)->finalize (object); -} - -static void -_auto_gen_org_tizen_system_deviced_display_skeleton_init (_auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton) -{ -#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 - skeleton->priv = _auto_gen_org_tizen_system_deviced_display_skeleton_get_instance_private (skeleton); -#else - skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, _auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate); -#endif - - g_mutex_init (&skeleton->priv->lock); - skeleton->priv->context = g_main_context_ref_thread_default (); -} - -static void -_auto_gen_org_tizen_system_deviced_display_skeleton_class_init (_auto_genOrgTizenSystemDevicedDisplaySkeletonClass *klass) -{ - GObjectClass *gobject_class; - GDBusInterfaceSkeletonClass *skeleton_class; - - gobject_class = G_OBJECT_CLASS (klass); - gobject_class->finalize = _auto_gen_org_tizen_system_deviced_display_skeleton_finalize; - - skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); - skeleton_class->get_info = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_info; - skeleton_class->get_properties = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_properties; - skeleton_class->flush = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_flush; - skeleton_class->get_vtable = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_vtable; - -#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 - g_type_class_add_private (klass, sizeof (_auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate)); -#endif -} - -static void -_auto_gen_org_tizen_system_deviced_display_skeleton_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface) -{ -} - -/** - * _auto_gen_org_tizen_system_deviced_display_skeleton_new: - * - * Creates a skeleton object for the D-Bus interface org.tizen.system.deviced.display. - * - * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplaySkeleton): The skeleton object. - */ -_auto_genOrgTizenSystemDevicedDisplay * -_auto_gen_org_tizen_system_deviced_display_skeleton_new (void) -{ - return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (g_object_new (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, NULL)); -} - diff --git a/src/common/GDBus/auto_gen_interface.h b/src/common/GDBus/auto_gen_interface.h deleted file mode 100644 index c90e84f..0000000 --- a/src/common/GDBus/auto_gen_interface.h +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Generated by gdbus-codegen 2.40.2. DO NOT EDIT. - * - * The license of this code is the same as for the source it was derived from. - */ - -#ifndef __AUTO_GEN_INTERFACE_H__ -#define __AUTO_GEN_INTERFACE_H__ - -#include - -G_BEGIN_DECLS - -/* ------------------------------------------------------------------------ */ -/* Declarations for org.tizen.system.deviced.display */ - -#define _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY \ - (_auto_gen_org_tizen_system_deviced_display_get_type()) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY(o) \ - (G_TYPE_CHECK_INSTANCE_CAST((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, \ - _auto_genOrgTizenSystemDevicedDisplay)) -#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY(o) \ - (G_TYPE_CHECK_INSTANCE_TYPE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY)) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_GET_IFACE(o) \ - (G_TYPE_INSTANCE_GET_INTERFACE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, \ - _auto_genOrgTizenSystemDevicedDisplayIface)) - -struct __auto_genOrgTizenSystemDevicedDisplay; -typedef struct __auto_genOrgTizenSystemDevicedDisplay _auto_genOrgTizenSystemDevicedDisplay; -typedef struct __auto_genOrgTizenSystemDevicedDisplayIface - _auto_genOrgTizenSystemDevicedDisplayIface; - -struct __auto_genOrgTizenSystemDevicedDisplayIface { - GTypeInterface parent_iface; - - gboolean (*handle_current_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_custom_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_hold_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, gint arg_brightness); - - gboolean (*handle_lockstate)(_auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, const gchar *arg_state, - const gchar *arg_option1, const gchar *arg_option2, - gint arg_timeout); - - gboolean (*handle_release_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_unlockstate)(_auto_genOrgTizenSystemDevicedDisplay *object, - GDBusMethodInvocation *invocation, const gchar *arg_state, - const gchar *arg_option); -}; - -GType _auto_gen_org_tizen_system_deviced_display_get_type(void) G_GNUC_CONST; - -GDBusInterfaceInfo *_auto_gen_org_tizen_system_deviced_display_interface_info(void); -guint _auto_gen_org_tizen_system_deviced_display_override_properties(GObjectClass *klass, - guint property_id_begin); - -/* D-Bus method call completion functions: */ -void _auto_gen_org_tizen_system_deviced_display_complete_lockstate( - _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result); - -void _auto_gen_org_tizen_system_deviced_display_complete_unlockstate( - _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result); - -void _auto_gen_org_tizen_system_deviced_display_complete_release_brightness( - _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result); - -void _auto_gen_org_tizen_system_deviced_display_complete_hold_brightness( - _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result); - -void _auto_gen_org_tizen_system_deviced_display_complete_current_brightness( - _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result); - -void _auto_gen_org_tizen_system_deviced_display_complete_custom_brightness( - _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result); - -/* D-Bus method calls: */ -void _auto_gen_org_tizen_system_deviced_display_call_lockstate( - _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option1, - const gchar *arg_option2, gint arg_timeout, GCancellable *cancellable, - GAsyncReadyCallback callback, gpointer user_data); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_lockstate_finish( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res, - GError **error); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync( - _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option1, - const gchar *arg_option2, gint arg_timeout, gint *out_result, GCancellable *cancellable, - GError **error); - -void _auto_gen_org_tizen_system_deviced_display_call_unlockstate( - _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option, - GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res, - GError **error); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync( - _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option, - gint *out_result, GCancellable *cancellable, GError **error); - -void _auto_gen_org_tizen_system_deviced_display_call_release_brightness( - _auto_genOrgTizenSystemDevicedDisplay *proxy, GCancellable *cancellable, - GAsyncReadyCallback callback, gpointer user_data); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res, - GError **error); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GCancellable *cancellable, - GError **error); - -void _auto_gen_org_tizen_system_deviced_display_call_hold_brightness( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint arg_brightness, GCancellable *cancellable, - GAsyncReadyCallback callback, gpointer user_data); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res, - GError **error); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint arg_brightness, gint *out_result, - GCancellable *cancellable, GError **error); - -void _auto_gen_org_tizen_system_deviced_display_call_current_brightness( - _auto_genOrgTizenSystemDevicedDisplay *proxy, GCancellable *cancellable, - GAsyncReadyCallback callback, gpointer user_data); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res, - GError **error); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GCancellable *cancellable, - GError **error); - -void _auto_gen_org_tizen_system_deviced_display_call_custom_brightness( - _auto_genOrgTizenSystemDevicedDisplay *proxy, GCancellable *cancellable, - GAsyncReadyCallback callback, gpointer user_data); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res, - GError **error); - -gboolean _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync( - _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GCancellable *cancellable, - GError **error); - -/* ---- */ - -#define _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY \ - (_auto_gen_org_tizen_system_deviced_display_proxy_get_type()) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY(o) \ - (G_TYPE_CHECK_INSTANCE_CAST((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, \ - _auto_genOrgTizenSystemDevicedDisplayProxy)) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY_CLASS(k) \ - (G_TYPE_CHECK_CLASS_CAST((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, \ - _auto_genOrgTizenSystemDevicedDisplayProxyClass)) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY_GET_CLASS(o) \ - (G_TYPE_INSTANCE_GET_CLASS((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, \ - _auto_genOrgTizenSystemDevicedDisplayProxyClass)) -#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY(o) \ - (G_TYPE_CHECK_INSTANCE_TYPE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY)) -#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY_CLASS(k) \ - (G_TYPE_CHECK_CLASS_TYPE((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY)) - -typedef struct __auto_genOrgTizenSystemDevicedDisplayProxy - _auto_genOrgTizenSystemDevicedDisplayProxy; -typedef struct __auto_genOrgTizenSystemDevicedDisplayProxyClass - _auto_genOrgTizenSystemDevicedDisplayProxyClass; -typedef struct __auto_genOrgTizenSystemDevicedDisplayProxyPrivate - _auto_genOrgTizenSystemDevicedDisplayProxyPrivate; - -struct __auto_genOrgTizenSystemDevicedDisplayProxy { - /*< private >*/ - GDBusProxy parent_instance; - _auto_genOrgTizenSystemDevicedDisplayProxyPrivate *priv; -}; - -struct __auto_genOrgTizenSystemDevicedDisplayProxyClass { - GDBusProxyClass parent_class; -}; - -GType _auto_gen_org_tizen_system_deviced_display_proxy_get_type(void) G_GNUC_CONST; - -void _auto_gen_org_tizen_system_deviced_display_proxy_new( - GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, - GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -_auto_genOrgTizenSystemDevicedDisplay *_auto_gen_org_tizen_system_deviced_display_proxy_new_finish( - GAsyncResult *res, GError **error); -_auto_genOrgTizenSystemDevicedDisplay *_auto_gen_org_tizen_system_deviced_display_proxy_new_sync( - GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, - GCancellable *cancellable, GError **error); - -void _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus( - GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, - GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -_auto_genOrgTizenSystemDevicedDisplay * -_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish(GAsyncResult *res, - GError **error); -_auto_genOrgTizenSystemDevicedDisplay * -_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync( - GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, - GCancellable *cancellable, GError **error); - -/* ---- */ - -#define _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON \ - (_auto_gen_org_tizen_system_deviced_display_skeleton_get_type()) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON(o) \ - (G_TYPE_CHECK_INSTANCE_CAST((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, \ - _auto_genOrgTizenSystemDevicedDisplaySkeleton)) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON_CLASS(k) \ - (G_TYPE_CHECK_CLASS_CAST((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, \ - _auto_genOrgTizenSystemDevicedDisplaySkeletonClass)) -#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON_GET_CLASS(o) \ - (G_TYPE_INSTANCE_GET_CLASS((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, \ - _auto_genOrgTizenSystemDevicedDisplaySkeletonClass)) -#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON(o) \ - (G_TYPE_CHECK_INSTANCE_TYPE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON)) -#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON_CLASS(k) \ - (G_TYPE_CHECK_CLASS_TYPE((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON)) - -typedef struct __auto_genOrgTizenSystemDevicedDisplaySkeleton - _auto_genOrgTizenSystemDevicedDisplaySkeleton; -typedef struct __auto_genOrgTizenSystemDevicedDisplaySkeletonClass - _auto_genOrgTizenSystemDevicedDisplaySkeletonClass; -typedef struct __auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate - _auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate; - -struct __auto_genOrgTizenSystemDevicedDisplaySkeleton { - /*< private >*/ - GDBusInterfaceSkeleton parent_instance; - _auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate *priv; -}; - -struct __auto_genOrgTizenSystemDevicedDisplaySkeletonClass { - GDBusInterfaceSkeletonClass parent_class; -}; - -GType _auto_gen_org_tizen_system_deviced_display_skeleton_get_type(void) G_GNUC_CONST; - -_auto_genOrgTizenSystemDevicedDisplay *_auto_gen_org_tizen_system_deviced_display_skeleton_new( - void); - -G_END_DECLS - -#endif /* __AUTO_GEN_INTERFACE_H__ */ diff --git a/src/common/GDBus/gdbus_interface_generate.sh b/src/common/GDBus/gdbus_interface_generate.sh deleted file mode 100755 index 1af72dc..0000000 --- a/src/common/GDBus/gdbus_interface_generate.sh +++ /dev/null @@ -1,3 +0,0 @@ -gdbus-codegen --generate-c-code auto_gen_interface \ - --c-namespace _auto_gen \ - gdbus_tizen_display_interface.xml diff --git a/src/common/GDBus/gdbus_powerwrapper.cc b/src/common/GDBus/gdbus_powerwrapper.cc deleted file mode 100644 index f280ab4..0000000 --- a/src/common/GDBus/gdbus_powerwrapper.cc +++ /dev/null @@ -1,235 +0,0 @@ -#include "common/GDBus/gdbus_powerwrapper.h" -#include -#include "common/logger.h" - -namespace common { -namespace gdbus { - -GDBusWrapperError::GDBusWrapperError() { -} - -void GDBusWrapperError::ReportError(GError *error) { - InitError(); - if (error != nullptr) { - code_ = static_cast(error->code); - msg_ = std::string(error->message); - source_ = "glib"; - } -} - -void GDBusWrapperError::ReportError(const std::string &msg) { - InitError(); - msg_ = msg; - source_ = "user"; -} - -void GDBusWrapperError::InitError() { - code_ = 0; - msg_ = ""; - source_ = ""; -} - -std::string GDBusWrapperError::Error() { - std::stringstream result; - result << "GDBUS REPORT ERROR: "; - result << " source: "; - result << source_; - result << " code: "; - result << std::to_string(code_); - result << " message: "; - result << msg_; - result << std::endl; - return result.str(); -} - -const std::string GDBusPowerWrapper::kDefaultBusName = "org.tizen.system.deviced"; -const std::string GDBusPowerWrapper::kDefaultObjectPath = "/Org/Tizen/System/DeviceD/Display"; - -GDBusPowerWrapper::GDBusPowerWrapper(const std::string &bus_name, const std::string &object_path, - GBusType bus_type, GDBusProxyFlags bus_proxy_flags) - : bus_type_(bus_type), - bus_proxy_flags_(bus_proxy_flags), - bus_name_(bus_name), - object_path_(object_path), - proxy_(nullptr), - err_(new GDBusWrapperError()) { -} - -bool GDBusPowerWrapper::Connect() { - GError *error = nullptr; - proxy_ = _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync( - bus_type_, bus_proxy_flags_, bus_name_.c_str(), object_path_.c_str(), NULL, &error); - if (!proxy_) { - err_->ReportError(error); - return false; - } - return true; -} - -bool GDBusPowerWrapper::CurrentBrightness(int *result) { - if (!result) { - err_->ReportError("Null pointer function CurrentBrightness, parameter: result"); - return false; - } - if (!IsConnected()) { - err_->ReportError("No connected to bus, try execute method Connect"); - return false; - } - GError *error = nullptr; - gint out_result; - gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync( - proxy_, &out_result, NULL, &error); - if (!ret) { - err_->ReportError(error); - return false; - } - *result = out_result; - return true; -} - -bool GDBusPowerWrapper::CustomBrightness(int *result) { - if (!result) { - err_->ReportError("Null pointer in function CustomBrightness, parameter result"); - return false; - } - if (!IsConnected()) { - err_->ReportError("No connected to bus, try execute method Connect"); - return false; - } - GError *error = nullptr; - gint out_result; - gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync( - proxy_, &out_result, NULL, &error); - if (!ret) { - err_->ReportError(error); - return false; - } - *result = static_cast(out_result); - return true; -} - -bool GDBusPowerWrapper::HoldBrightness(const int brightness, int *result) { - if (!result) { - err_->ReportError("Null pointer in function HoldBrightness, parameter result"); - return false; - } - if (!IsConnected()) { - err_->ReportError("No connected to bus, try execute method Connect"); - return false; - } - - GError *error = nullptr; - gint out_result; - gint in_brightness = static_cast(brightness); - gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync( - proxy_, in_brightness, &out_result, NULL, &error); - if (!ret) { - err_->ReportError(error); - return false; - } - *result = static_cast(out_result); - return true; -} - -bool GDBusPowerWrapper::LockState(int *result) { - return LockStateRaw("lcddim", "staycurstate", "NULL", 0, result); -} - -bool GDBusPowerWrapper::LockStateRaw(const std::string &state, const std::string &option1, - const std::string &option2, const int timeout, int *result) { - if (!result) { - err_->ReportError("Null pointer in function LockState, parameter result"); - return false; - } - if (!IsConnected()) { - err_->ReportError("No connected to bus, try execute method Connect"); - return false; - } - - GError *error = nullptr; - const gchar *arg_state = static_cast(state.c_str()); - const gchar *arg_option1 = static_cast(option1.c_str()); - const gchar *arg_option2 = static_cast(option2.c_str()); - const gint _timeout = static_cast(timeout); - - gint out_result; - gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync( - proxy_, arg_state, arg_option1, arg_option2, _timeout, &out_result, NULL, &error); - if (!ret) { - err_->ReportError(error); - return false; - } - *result = static_cast(out_result); - return true; -} - -bool GDBusPowerWrapper::ReleaseBrightness(int *result) { - if (!result) { - err_->ReportError("Null pointer in function ReleaseBrightness, parameter result"); - return false; - } - if (!IsConnected()) { - err_->ReportError("No connected to bus, try execute method Connect"); - return false; - } - GError *error = nullptr; - gint out_result; - gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync( - proxy_, &out_result, NULL, &error); - if (!ret) { - err_->ReportError(error); - return false; - } - *result = static_cast(out_result); - return true; -} - -bool GDBusPowerWrapper::UnlockState(int *result) { - return UnlockStateRaw("lcddim", "keeptimer", result); -} - -bool GDBusPowerWrapper::UnlockStateRaw(const std::string &state, const std::string &option, - int *result) { - if (!result) { - err_->ReportError("Null pointer in function UnlockState, parameter result"); - return false; - } - if (!IsConnected()) { - err_->ReportError("No connected to bus, try execute method Connect"); - return false; - } - - GError *error = nullptr; - gint out_result; - const gchar *arg_state = static_cast(state.c_str()); - const gchar *arg_option = static_cast(option.c_str()); - gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync( - proxy_, arg_state, arg_option, &out_result, NULL, &error); - if (!ret) { - err_->ReportError(error); - return false; - } - *result = static_cast(out_result); - return true; -} - -std::string GDBusPowerWrapper::GetLastError() { - return err_->Error(); -} - -bool GDBusPowerWrapper::IsConnected() { - if (!proxy_) { - return Connect(); - } - return true; -} - -GDBusPowerWrapper::~GDBusPowerWrapper() { - if (proxy_ != nullptr) { - g_object_unref(proxy_); - proxy_ = nullptr; - } -} - -} // namespace gdbus -} // namespace common diff --git a/src/common/GDBus/gdbus_powerwrapper.h b/src/common/GDBus/gdbus_powerwrapper.h deleted file mode 100644 index 4aa678d..0000000 --- a/src/common/GDBus/gdbus_powerwrapper.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef GDBUSWRAPPER_H -#define GDBUSWRAPPER_H - -#include -#include -#include -#include "auto_gen_interface.h" - -namespace common { -namespace gdbus { - -class GDBusWrapperError { - public: - GDBusWrapperError(); - void ReportError(GError *error_); - void ReportError(const std::string &msg); - std::string Error(); - - private: - std::string source_; - std::string msg_; - int code_; - void InitError(); -}; - -class GDBusPowerWrapper { - public: - GDBusPowerWrapper(const std::string &bus_name, const std::string &object_path, - GBusType bus_type = G_BUS_TYPE_SYSTEM, - GDBusProxyFlags bus_proxy_flags = G_DBUS_PROXY_FLAGS_NONE); - - ~GDBusPowerWrapper(); - - static const std::string kDefaultBusName; - static const std::string kDefaultObjectPath; - - bool Connect(); - bool CurrentBrightness(int *result); - bool CustomBrightness(int *result); - bool HoldBrightness(const int brightness, int *result); - bool LockState(int *result); - bool ReleaseBrightness(int *result); - bool UnlockState(int *result); - std::string GetLastError(); - - private: - GBusType bus_type_; - GDBusProxyFlags bus_proxy_flags_; - - std::string bus_name_; - std::string object_path_; - _auto_genOrgTizenSystemDevicedDisplay *proxy_; - std::unique_ptr err_; - - bool IsConnected(); - bool IsValidHoldBrightness(int brightness) const; - bool IsValidTimeout(int timeout) const; - - bool LockStateRaw(const std::string &state, const std::string &option1, - const std::string &option2, const int timeout, int *result); - - bool UnlockStateRaw(const std::string &state, const std::string &option, int *result); -}; - -} // namespace gdbus -} // namespace common - -#endif // GDBUSWRAPPER_H diff --git a/src/common/GDBus/gdbus_tizen_display_interface.xml b/src/common/GDBus/gdbus_tizen_display_interface.xml deleted file mode 100644 index 18422e4..0000000 --- a/src/common/GDBus/gdbus_tizen_display_interface.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/common/common.gyp b/src/common/common.gyp index 7f4e78e..90fd8a4 100644 --- a/src/common/common.gyp +++ b/src/common/common.gyp @@ -42,10 +42,6 @@ 'GDBus/connection.h', 'GDBus/proxy.cpp', 'GDBus/proxy.h', - 'GDBus/gdbus_powerwrapper.cc', - 'GDBus/gdbus_powerwrapper.h', - 'GDBus/auto_gen_interface.c', - 'GDBus/auto_gen_interface.h', 'filesystem/filesystem_storage_types.h', 'filesystem/filesystem_storage.h', 'filesystem/filesystem_storage.cc', diff --git a/src/power/power.gyp b/src/power/power.gyp index 8b6c10f..74a4204 100755 --- a/src/power/power.gyp +++ b/src/power/power.gyp @@ -17,8 +17,6 @@ 'power_instance.h', 'power_manager.cc', 'power_manager.h', - 'power_platform_proxy.cc', - 'power_platform_proxy.h' ], 'conditions': [ ['tizen == 1', { @@ -26,7 +24,6 @@ 'packages': [ 'capi-system-device', 'deviced', - 'vconf', ] }, }], diff --git a/src/power/power_api.js b/src/power/power_api.js index 06453eb..769ccf1 100755 --- a/src/power/power_api.js +++ b/src/power/power_api.js @@ -19,6 +19,7 @@ var validator_ = xwalk.utils.validator; var types_ = validator_.Types; var native_ = new xwalk.utils.NativeManager(extension); var privUtils_ = xwalk.utils; +var T_ = xwalk.utils.type; function ListenerManager(native, listenerName) { this.listener; @@ -27,9 +28,7 @@ function ListenerManager(native, listenerName) { } ListenerManager.prototype.onListenerCalled = function(msg) { - if(this.listener) { - this.listener(msg.prev_state, msg.new_state); - } + this.listener(msg.previousState, msg.changedState); }; ListenerManager.prototype.addListener = function(callback) { @@ -42,45 +41,11 @@ ListenerManager.prototype.removeListener = function() { delete this.listener; }; -var screenStateChangeListener = new ListenerManager(native_, "SCREEN_STATE_LISTENER"); - -function callNative(cmd, args) { - var json = {'cmd':cmd, 'args':args}; - var argjson = JSON_.stringify(json); - var resultString = extension.internal.sendSyncMessage(argjson); - var result = JSON_.parse(resultString); - - if (typeof result !== 'object') { - throw new WebAPIException(WebAPIException.UNKNOWN_ERR); - } - - if (result['status'] == 'success') { - if('result' in result) { - return result['result']; - } - return true; - } else if (result['status'] == 'error') { - var err = result['error']; - if(err) { - throw new WebAPIException(err); - } - return false; - } -} - -function callNativeWithCallback(cmd, args, callback) { - if(callback) { - var id = nextCallbackId(); - args['callbackId'] = id; - callbacks[id] = callback; - } - - return callNative(cmd, args); -} +ListenerManager.prototype.isListenerSet = function() { + return this.native.isListenerSet(this.listenerName); +}; -function SetReadOnlyProperty(obj, n, v){ - Object.defineProperty(obj, n, {value:v, writable: false}); -} +var screenStateChangeListener = new ListenerManager(native_, 'ScreenStateChangeListener'); var PowerResource = { 'SCREEN': 'SCREEN', @@ -106,6 +71,8 @@ var PowerCpuState = { 'CPU_AWAKE': 'CPU_AWAKE' }; +var PowerState = Object.assign({}, PowerScreenState, PowerCpuState); + /** * This class provides functions to request and release power resource. * @constructor @@ -121,32 +88,36 @@ function PowerManager() { * @param {!PowerState} state The minimal state in which the power resource * is desired to be. */ -PowerManager.prototype.request = function(resource, state) { - var args = validator_.validateArgs(arguments, [ - {'name' : 'resource', 'type': types_.ENUM, 'values' : ['SCREEN', 'CPU']}, - {'name' : 'state', 'type': types_.ENUM, 'values' : ['SCREEN_OFF', 'SCREEN_DIM', 'SCREEN_NORMAL', 'SCREEN_BRIGHT', 'CPU_AWAKE']} - ]); - - if (args['state'] && args.state === PowerScreenState['SCREEN_BRIGHT']) { - privUtils_.warn('DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next release.'); - } +PowerManager.prototype.request = function() { + var args = validator_.validateMethod(arguments, [{ + name: 'resource', + type: types_.ENUM, + values: T_.getValues(PowerResource) + }, { + name: 'state', + type: types_.ENUM, + values: T_.getValues(PowerState) + }]); + + if (args.state === PowerScreenState.SCREEN_BRIGHT) { + privUtils_.warn('DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next release.'); + } - var nativeParam = { - }; + if ((args.resource === PowerResource.SCREEN && args.state === PowerCpuState.CPU_AWAKE) || + (args.resource === PowerResource.CPU && args.state !== PowerCpuState.CPU_AWAKE) || + (args.resource === PowerResource.SCREEN && args.state === PowerScreenState.SCREEN_OFF)) { + throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR); + } - if (args['resource']) { - nativeParam['resource'] = args.resource; - } - if (args['state']) { - nativeParam['state'] = args.state; - } + var nativeParam = { + resource: args.resource, + state: args.state + }; - try { - var syncResult = callNative('PowerManager_request', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } + var ret = native_.callSync('PowerManager_request', nativeParam); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } }; /** @@ -154,45 +125,52 @@ PowerManager.prototype.request = function(resource, state) { * @param {!PowerResource} resource The resource for which requests are to * be removed. */ -PowerManager.prototype.release = function(resource) { - var args = validator_.validateArgs(arguments, [ - {'name' : 'resource', 'type': types_.ENUM, 'values' : ['SCREEN', 'CPU']} - ]); - - if (!PowerResource.hasOwnProperty(args.resource)) - throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR); - - var nativeParam = { - }; - if (args['resource']) { - nativeParam['resource'] = args.resource; - } - try { - var syncResult = callNative('PowerManager_release', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } - +PowerManager.prototype.release = function() { + var args = validator_.validateMethod(arguments, [{ + name: 'resource', + type: types_.ENUM, + values: T_.getValues(PowerResource) + }]); + + var nativeParam = { + resource: args.resource + }; + + var ret = native_.callSync('PowerManager_release', nativeParam); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } }; /** * Sets the screen state change callback and monitors its state changes. * @param {!function} listener The screen state change callback. */ -PowerManager.prototype.setScreenStateChangeListener = function(listener) { - var args = validator_.validateArgs(arguments, [ - {name: 'listener', type: types_.FUNCTION} - ]); - - screenStateChangeListener.addListener(args.listener); +PowerManager.prototype.setScreenStateChangeListener = function() { + var args = validator_.validateArgs(arguments, [ + {name: 'listener', type: types_.FUNCTION} + ]); + + if (!screenStateChangeListener.isListenerSet()) { + var ret = native_.callSync('PowerManager_setScreenStateChangeListener', {}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } + } + screenStateChangeListener.addListener(args.listener); }; /** * Unsets the screen state change callback and stop monitoring it. */ PowerManager.prototype.unsetScreenStateChangeListener = function() { - screenStateChangeListener.removeListener(); + if (screenStateChangeListener.isListenerSet()) { + var ret = native_.callSync('PowerManager_unsetScreenStateChangeListener', {}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } + } + screenStateChangeListener.removeListener(); }; /** @@ -200,45 +178,32 @@ PowerManager.prototype.unsetScreenStateChangeListener = function() { * @return {number} Current screen brightness value. */ PowerManager.prototype.getScreenBrightness = function() { - var nativeParam = { - }; - var syncResult = 0; - - try { - syncResult = callNative('PowerManager_getScreenBrightness', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } - - return syncResult; + var ret = native_.callSync('PowerManager_getScreenBrightness', {}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } else { + return native_.getResultObject(ret); + } } /** * Sets the screen brightness level for an application, from 0 to 1. * @param {!number} brightness The screen brightness value to set. */ -var PowerManagerSetScreenBrightness = function() { - var args = validator_.validateArgs(arguments, [ - {'name' : 'brightness', 'type': types_.DOUBLE} - ]); - - if (args.brightness < 0 || args.brightness > 1) - throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR); - - var nativeParam = { - 'brightness': args.brightness - }; - try { - var syncResult = callNative('PowerManager_setScreenBrightness', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } -}; +PowerManager.prototype.setScreenBrightness = function() { + var args = validator_.validateArgs(arguments, [ + {name: 'brightness', type: types_.DOUBLE} + ]); + + if (args.brightness < 0 || args.brightness > 1) { + throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR); + } -PowerManager.prototype.setScreenBrightness = function(brightness) { - PowerManagerSetScreenBrightness.apply(this, arguments); + var ret = native_.callSync('PowerManager_setScreenBrightness', + {brightness: args.brightness}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } } /** @@ -246,70 +211,46 @@ PowerManager.prototype.setScreenBrightness = function(brightness) { * @return {boolean} true if screen is on. */ PowerManager.prototype.isScreenOn = function() { - var nativeParam = { - }; - var syncResult = 0; - - try { - syncResult = callNative('PowerManager_isScreenOn', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } - - return syncResult; + var ret = native_.callSync('PowerManager_isScreenOn', {}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } else { + return native_.getResultObject(ret); + } } /** * Restores the screen brightness to the system default setting value. */ PowerManager.prototype.restoreScreenBrightness = function() { - var nativeParam = { - }; - - try { - var syncResult = callNative('PowerManager_restoreScreenBrightness', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } + var ret = native_.callSync('PowerManager_restoreScreenBrightness', {}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } } /** - * Turns on the screen. + * Turns the screen on. */ PowerManager.prototype.turnScreenOn = function() { - privUtils_.warn('DEPRECATION WARNING: turnScreenOn() is deprecated and will be removed from next release. Use request() instead.'); + privUtils_.warn('DEPRECATION WARNING: turnScreenOn() is deprecated and will be removed from next release. Use request() instead.'); - var nativeParam = { - }; - - try { - var syncResult = callNative('PowerManager_turnScreenOn', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } + var ret = native_.callSync('PowerManager_turnScreenOn', {}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } } /** - * Turns off the screen. + * Turns the screen off. */ PowerManager.prototype.turnScreenOff = function() { - privUtils_.warn('DEPRECATION WARNING: turnScreenOff() is deprecated and will be removed from next release. Use release() instead.'); - - var nativeParam = { - }; - - try { - var syncResult = callNative('PowerManager_turnScreenOff', nativeParam); - // if you need synchronous result from native function using 'syncResult'. - } catch(e) { - throw e; - } + privUtils_.warn('DEPRECATION WARNING: turnScreenOff() is deprecated and will be removed from next release. Use release() instead.'); + var ret = native_.callSync('PowerManager_turnScreenOff', {}); + if (native_.isFailure(ret)) { + throw native_.getErrorObject(ret); + } } - -exports = new PowerManager(); - +exports = new PowerManager(); \ No newline at end of file diff --git a/src/power/power_instance.cc b/src/power/power_instance.cc index b1e6968..b4e6c8b 100644 --- a/src/power/power_instance.cc +++ b/src/power/power_instance.cc @@ -27,8 +27,6 @@ #include "common/platform_exception.h" #include "common/tools.h" -#include "power_manager.h" - namespace extension { namespace power { @@ -43,133 +41,140 @@ const std::map kPowerStateMap = { {"SCREEN_OFF", POWER_STATE_SCREEN_OFF}, {"SCREEN_DIM", POWER_STATE_SCREEN_DIM}, {"SCREEN_NORMAL", POWER_STATE_SCREEN_NORMAL}, - {"SCREEN_BRIGHT", POWER_STATE_SCREEN_BRIGHT}, + {"SCREEN_BRIGHT", + POWER_STATE_SCREEN_BRIGHT}, // TODO: remove this enum when removing enum from the API {"CPU_AWAKE", POWER_STATE_CPU_AWAKE}}; } // namespace using namespace common; using namespace extension::power; -PowerInstance::PowerInstance() { +PowerInstance::PowerInstance() : manager_(*this) { ScopeLogger(); using std::placeholders::_1; using std::placeholders::_2; #define REGISTER_SYNC(c, x) RegisterSyncHandler(c, std::bind(&PowerInstance::x, this, _1, _2)); - REGISTER_SYNC("PowerManager_turnScreenOff", PowerManagerTurnscreenoff); - REGISTER_SYNC("PowerManager_restoreScreenBrightness", PowerManagerRestorescreenbrightness); - REGISTER_SYNC("PowerManager_request", PowerManagerRequest); - REGISTER_SYNC("PowerManager_getScreenBrightness", PowerManagerGetscreenbrightness); - REGISTER_SYNC("PowerManager_release", PowerManagerRelease); - REGISTER_SYNC("PowerManager_isScreenOn", PowerManagerIsscreenon); - REGISTER_SYNC("PowerManager_turnScreenOn", PowerManagerTurnscreenon); - REGISTER_SYNC("PowerManager_setScreenBrightness", PowerManagerSetscreenbrightness); + REGISTER_SYNC("PowerManager_request", Request); + REGISTER_SYNC("PowerManager_release", Release); + REGISTER_SYNC("PowerManager_setScreenStateChangeListener", SetScreenStateChangeListener); + REGISTER_SYNC("PowerManager_unsetScreenStateChangeListener", UnsetScreenStateChangeListener); + REGISTER_SYNC("PowerManager_getScreenBrightness", GetScreenBrightness); + REGISTER_SYNC("PowerManager_setScreenBrightness", SetScreenBrightness); + REGISTER_SYNC("PowerManager_isScreenOn", IsScreenOn); + REGISTER_SYNC("PowerManager_restoreScreenBrightness", RestoreScreenBrightness); + REGISTER_SYNC("PowerManager_turnScreenOn", TurnScreenOn); + REGISTER_SYNC("PowerManager_turnScreenOff", TurnScreenOff); #undef REGISTER_SYNC - PowerManager::GetInstance()->AddListener(this); } PowerInstance::~PowerInstance() { ScopeLogger(); - - PowerManager::GetInstance()->RemoveListener(this); - - PlatformResult result = PowerManager::GetInstance()->RestoreScreenBrightness(); - if (result.IsError()) { - LoggerE("Failed to restore brightness."); - } } -enum PowerCallbacks { - PowerManagerTurnscreenoffCallback, - PowerManagerRestorescreenbrightnessCallback, - PowerManagerRequestCallback, - PowerManagerGetscreenbrightnessCallback, - PowerManagerReleaseCallback, - PowerManagerUnsetscreenstatechangelistenerCallback, - PowerManagerIsscreenonCallback, - PowerManagerTurnscreenonCallback, - PowerManagerSetscreenbrightnessCallback, - PowerManagerSetscreenstatechangelistenerCallback -}; - #define CHECK_EXIST(args, name, out) \ if (!args.contains(name)) { \ LogAndReportError(TypeMismatchException(name " is required argument"), out); \ return; \ } -void PowerInstance::PowerManagerRequest(const picojson::value& args, picojson::object& out) { +void PowerInstance::Request(const picojson::value& args, picojson::object& out) { ScopeLogger(); CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out); const std::string& resource = args.get("resource").get(); const std::string& state = args.get("state").get(); - PlatformResult result = PowerManager::GetInstance()->Request(kPowerResourceMap.at(resource), - kPowerStateMap.at(state)); - if (result.IsError()) + PlatformResult result = + manager_.Request(kPowerResourceMap.at(resource), kPowerStateMap.at(state)); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(out); + } } -void PowerInstance::PowerManagerRelease(const picojson::value& args, picojson::object& out) { +void PowerInstance::Release(const picojson::value& args, picojson::object& out) { ScopeLogger(); const std::string& resource = args.get("resource").get(); - PlatformResult result = PowerManager::GetInstance()->Release(kPowerResourceMap.at(resource)); - if (result.IsError()) + PlatformResult result = manager_.Release(kPowerResourceMap.at(resource)); + if (result.IsError()) { + LogAndReportError(result, &out); + } else { + ReportSuccess(out); + } +} + +void PowerInstance::SetScreenStateChangeListener(const picojson::value& args, + picojson::object& out) { + ScopeLogger(); + PlatformResult result = manager_.SetScreenStateChangeListener(); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(out); + } } -void PowerInstance::PowerManagerGetscreenbrightness(const picojson::value& args, - picojson::object& out) { +void PowerInstance::UnsetScreenStateChangeListener(const picojson::value& args, + picojson::object& out) { + ScopeLogger(); + PlatformResult result = manager_.UnsetScreenStateChangeListener(); + if (result.IsError()) { + LogAndReportError(result, &out); + } else { + ReportSuccess(out); + } +} + +void PowerInstance::GetScreenBrightness(const picojson::value& args, picojson::object& out) { ScopeLogger(); double brightness; - PlatformResult result = PowerManager::GetInstance()->GetScreenBrightness(&brightness); - if (result.IsError()) + PlatformResult result = manager_.GetScreenBrightness(&brightness); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(picojson::value(brightness), out); + } } -void PowerInstance::PowerManagerSetscreenbrightness(const picojson::value& args, - picojson::object& out) { +void PowerInstance::SetScreenBrightness(const picojson::value& args, picojson::object& out) { ScopeLogger(); CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out); CHECK_EXIST(args, "brightness", out) double brightness = args.get("brightness").get(); - PlatformResult result = PowerManager::GetInstance()->SetScreenBrightness(brightness); - if (result.IsError()) + PlatformResult result = manager_.SetScreenBrightness(brightness); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(out); + } } -void PowerInstance::PowerManagerIsscreenon(const picojson::value& args, picojson::object& out) { +void PowerInstance::IsScreenOn(const picojson::value& args, picojson::object& out) { ScopeLogger(); bool state = false; - PlatformResult result = PowerManager::GetInstance()->IsScreenOn(&state); - if (result.IsError()) + PlatformResult result = manager_.IsScreenOn(&state); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(picojson::value(state), out); + } } -void PowerInstance::PowerManagerRestorescreenbrightness(const picojson::value& args, - picojson::object& out) { +void PowerInstance::RestoreScreenBrightness(const picojson::value& args, picojson::object& out) { ScopeLogger(); - PlatformResult result = PowerManager::GetInstance()->RestoreScreenBrightness(); - if (result.IsError()) + PlatformResult result = manager_.RestoreScreenBrightness(); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(out); + } } -void PowerInstance::PowerManagerTurnscreenon(const picojson::value& args, picojson::object& out) { +void PowerInstance::TurnScreenOn(const picojson::value& args, picojson::object& out) { ScopeLogger(); LoggerW( "DEPRECATION WARNING: turnScreenOn() is deprecated and will be removed from next release. " @@ -177,14 +182,15 @@ void PowerInstance::PowerManagerTurnscreenon(const picojson::value& args, picojs CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out); - PlatformResult result = PowerManager::GetInstance()->SetScreenState(true); - if (result.IsError()) + PlatformResult result = manager_.TurnScreenOn(); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(out); + } } -void PowerInstance::PowerManagerTurnscreenoff(const picojson::value& args, picojson::object& out) { +void PowerInstance::TurnScreenOff(const picojson::value& args, picojson::object& out) { ScopeLogger(); LoggerW( "DEPRECATION WARNING: turnScreenOff() is deprecated and will be removed from next release. " @@ -192,29 +198,12 @@ void PowerInstance::PowerManagerTurnscreenoff(const picojson::value& args, picoj CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out); - PlatformResult result = PowerManager::GetInstance()->SetScreenState(false); - if (result.IsError()) + PlatformResult result = manager_.TurnScreenOff(); + if (result.IsError()) { LogAndReportError(result, &out); - else + } else { ReportSuccess(out); -} - -void PowerInstance::OnScreenStateChanged(PowerState prev_state, PowerState new_state) { - ScopeLogger(); - picojson::value event = picojson::value(picojson::object()); - picojson::object& obj = event.get(); - obj["cmd"] = picojson::value("ScreenStateChanged"); - obj["listenerId"] = picojson::value("SCREEN_STATE_LISTENER"); - for (auto it = kPowerStateMap.begin(); it != kPowerStateMap.end(); ++it) { - if (it->second == prev_state) { - obj["prev_state"] = picojson::value(it->first); - } - if (it->second == new_state) { - obj["new_state"] = picojson::value(it->first); - } } - - Instance::PostMessage(this, event.serialize().c_str()); } #undef CHECK_EXIST diff --git a/src/power/power_instance.h b/src/power/power_instance.h index 33d8efe..fb57d49 100644 --- a/src/power/power_instance.h +++ b/src/power/power_instance.h @@ -19,29 +19,29 @@ #include "common/extension.h" -#include "power_manager.h" +#include "power/power_manager.h" namespace extension { namespace power { -class PowerInstance : public common::ParsedInstance, public PowerManagerListener { +class PowerInstance : public common::ParsedInstance { public: PowerInstance(); virtual ~PowerInstance(); private: - void PowerManagerRequest(const picojson::value& args, picojson::object& out); - void PowerManagerRelease(const picojson::value& args, picojson::object& out); - void PowerManagerGetscreenbrightness(const picojson::value& args, picojson::object& out); - void PowerManagerSetscreenbrightness(const picojson::value& args, picojson::object& out); - void PowerManagerIsscreenon(const picojson::value& args, picojson::object& out); - void PowerManagerRestorescreenbrightness(const picojson::value& args, picojson::object& out); - void PowerManagerTurnscreenon(const picojson::value& args, picojson::object& out); - void PowerManagerTurnscreenoff(const picojson::value& args, picojson::object& out); - void SetScreenState(const picojson::value& args, picojson::object& out); - - // Override - void OnScreenStateChanged(PowerState prev_state, PowerState new_state); + void Request(const picojson::value& args, picojson::object& out); + void Release(const picojson::value& args, picojson::object& out); + void SetScreenStateChangeListener(const picojson::value& args, picojson::object& out); + void UnsetScreenStateChangeListener(const picojson::value& args, picojson::object& out); + void GetScreenBrightness(const picojson::value& args, picojson::object& out); + void SetScreenBrightness(const picojson::value& args, picojson::object& out); + void IsScreenOn(const picojson::value& args, picojson::object& out); + void RestoreScreenBrightness(const picojson::value& args, picojson::object& out); + void TurnScreenOn(const picojson::value& args, picojson::object& out); + void TurnScreenOff(const picojson::value& args, picojson::object& out); + + PowerManager manager_; }; } // namespace power diff --git a/src/power/power_manager.cc b/src/power/power_manager.cc index cf50a59..c8638b6 100644 --- a/src/power/power_manager.cc +++ b/src/power/power_manager.cc @@ -24,473 +24,422 @@ #include #include #include -#include #include "common/logger.h" -#include "power_platform_proxy.h" + +#include "power_instance.h" using namespace common; using namespace std; +#define MAIN_DISPLAY 0 + namespace extension { namespace power { -PowerManager::PowerManager() - : current_state_(POWER_STATE_SCREEN_NORMAL), - bright_state_enabled_(false), - current_brightness_(-1), - should_be_read_from_cache_(false), - set_custom_brightness_(false), - current_requested_state_(POWER_STATE_NONE) { +namespace { +static const std::string kListenerId = "listenerId"; +static const std::string kScreenStateChangeListener = "ScreenStateChangeListener"; +static const std::string kPreviousState = "previousState"; +static const std::string kChangedState = "changedState"; + +const char* kPowerTarget = "org.tizen.system.deviced"; +const char* kPowerObject = "/Org/Tizen/System/DeviceD/Display"; +const char* kPowerInterface = "org.tizen.system.deviced.display"; +const char* kReleaseBrightness = "ReleaseBrightness"; +const char* kHoldBrightness = "HoldBrightness"; +} // namespace + +PowerManager::PowerManager(PowerInstance& instance) + : instance_(instance), + is_screen_listener_set(false), + max_brightness_(-1), + current_screen_state(DISPLAY_STATE_NORMAL), + // In fact, above value does not matter now. + // The screen state will be acquired before setting + // the listener. + screen_lock_state_(POWER_LOCK_DISPLAY), + // Above value does not mattern now as well. + is_screen_bright_set(false), + is_cpu_state_locked(false), + is_screen_state_locked(false) { ScopeLogger(); + GetMaxBrightness(); +} - display_state_e platform_state = DISPLAY_STATE_NORMAL; - int ret = device_display_get_state(&platform_state); - if (DEVICE_ERROR_NONE != ret) LoggerE("device_display_get_state failed (%d)", ret); - - switch (platform_state) { - case DISPLAY_STATE_NORMAL: - current_state_ = POWER_STATE_SCREEN_NORMAL; - break; - case DISPLAY_STATE_SCREEN_DIM: - current_state_ = POWER_STATE_SCREEN_DIM; - break; - case DISPLAY_STATE_SCREEN_OFF: - current_state_ = POWER_STATE_SCREEN_OFF; - break; - default: - current_state_ = POWER_STATE_NONE; - break; +PowerManager::~PowerManager() { + ScopeLogger(); + if (is_screen_listener_set) { + UnsetScreenStateChangeListener(); } - - ret = device_add_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::OnPlatformStateChangedCB, - static_cast(this)); - if (DEVICE_ERROR_NONE != ret) LoggerE("device_add_callback failed (%d)", ret); + ReleaseCPUState(); + ReleaseScreenState(); } -PowerManager::~PowerManager() { +PlatformResult PowerManager::Request(PowerResource resource, PowerState state) { ScopeLogger(); - int ret = - device_remove_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::OnPlatformStateChangedCB); - if (DEVICE_ERROR_NONE != ret) LoggerE("device_remove_callback failed (%d)", ret); + + switch (resource) { + case POWER_RESOURCE_SCREEN: + return RequestScreenState(state); + case POWER_RESOURCE_CPU: + default: + return RequestCPUState(); + } } -PowerManager* PowerManager::GetInstance() { +PlatformResult PowerManager::Release(PowerResource resource) { ScopeLogger(); - static PowerManager instance; - return &instance; + + switch (resource) { + case POWER_RESOURCE_SCREEN: + return ReleaseScreenState(); + case POWER_RESOURCE_CPU: + default: + return ReleaseCPUState(); + } } -void PowerManager::OnPlatformStateChangedCB(device_callback_e type, void* value, void* user_data) { +void PowerManager::ScreenStateChangeCB(device_callback_e type, void* value, void* user_data) { ScopeLogger(); - PowerManager* object = static_cast(user_data); - if (object == NULL) { - LoggerE("User data is NULL"); + PowerManager* manager = static_cast(user_data); + if (nullptr == manager) { + LoggerE("User data is nullptr"); return; } - if (type != DEVICE_CALLBACK_DISPLAY_STATE) { - LoggerE("type is not DISPLAY_STATE"); + + if (DEVICE_CALLBACK_DISPLAY_STATE != type) { + LoggerE("callback should be called for type DEVICE_CALLBACK_DISPLAY_STATE."); return; } - display_state_e state = static_cast(reinterpret_cast(value)); - PowerState current = POWER_STATE_SCREEN_OFF; - switch (state) { - case DISPLAY_STATE_NORMAL: - current = - object->bright_state_enabled_ ? POWER_STATE_SCREEN_BRIGHT : POWER_STATE_SCREEN_NORMAL; - - // TODO: Remove log along with removal of deprecation power state - if (POWER_STATE_SCREEN_BRIGHT == current) { - LoggerW( - "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next " - "release."); - } - break; - case DISPLAY_STATE_SCREEN_DIM: - current = POWER_STATE_SCREEN_DIM; - break; - case DISPLAY_STATE_SCREEN_OFF: { - current = POWER_STATE_SCREEN_OFF; - if (object->set_custom_brightness_ == true) { - PlatformResult result = object->RestoreScreenBrightness(); - if (result.IsError()) { - LOGGER(ERROR) << "RestoreScreenBrightness failed"; - return; - } - object->set_custom_brightness_ = false; - } - break; - } + display_state_e state = static_cast(reinterpret_cast(value)); + if (manager->current_screen_state == state) { + return; } - object->BroadcastScreenState(current); -} -void PowerManager::AddListener(PowerManagerListener* listener) { - ScopeLogger(); - auto it = std::find(listeners_.begin(), listeners_.end(), listener); - if (it == listeners_.end()) listeners_.push_back(listener); + picojson::value result = picojson::value(picojson::object()); + picojson::object& object = result.get(); + object[kListenerId] = picojson::value(kScreenStateChangeListener); + object[kPreviousState] = + picojson::value(manager->ScreenStateToString(manager->current_screen_state)); + object[kChangedState] = picojson::value(manager->ScreenStateToString(state)); + manager->current_screen_state = state; + Instance::PostMessage(&manager->instance_, result.serialize().c_str()); } -void PowerManager::RemoveListener(PowerManagerListener* listener) { +PlatformResult PowerManager::SetScreenStateChangeListener() { ScopeLogger(); - listeners_.remove(listener); -} - -PlatformResult PowerManager::Request(PowerResource resource, PowerState state) { - ScopeLogger(); - if (resource == POWER_RESOURCE_SCREEN && state == POWER_STATE_CPU_AWAKE) - return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, "invalid PowerState"); - if (resource == POWER_RESOURCE_CPU && state != POWER_STATE_CPU_AWAKE) - return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, "invalid PowerState"); - - if (current_requested_state_ == POWER_STATE_SCREEN_DIM) { - int result = 0; - auto error_code = PowerPlatformProxy::GetInstance().UnlockState(&result); - if (!error_code || result < 0) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_unlock error", - ("deviceUnlockState error %d", result)); - } + PlatformResult result = GetDisplayState(¤t_screen_state); + if (result.IsError()) { + return result; } - int ret = 0; - switch (state) { - case POWER_STATE_CPU_AWAKE: { - ret = device_power_request_lock(POWER_LOCK_CPU, 0); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_lock error", - ("device_power_request_lock error %d", ret)); - } - break; - } - case POWER_STATE_SCREEN_DIM: { - int result = 0; - auto error_code = PowerPlatformProxy::GetInstance().LockState(&result); - if (!error_code || result < 0) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_lock error", - ("device_power_request_lock error %d", result)); - } - break; - } - case POWER_STATE_SCREEN_NORMAL: { - ret = device_power_request_lock(POWER_LOCK_DISPLAY, 0); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, "device_power_request_lock error", - ("device_power_request_lock error %d", ret)); - } - break; - } - case POWER_STATE_SCREEN_BRIGHT: { - LoggerW( - "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next " - "release."); - - int max_brightness; - ret = device_display_get_max_brightness(0, &max_brightness); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, - "Platform error while getting max brightness", - ("Platform error while getting max brightness: %d", ret)); - } - - PlatformResult set_result = SetPlatformBrightness(max_brightness); - if (set_result.IsError()) return set_result; - LoggerD("Succeeded setting the brightness to a max level: %d", max_brightness); - - ret = device_display_change_state(DISPLAY_STATE_NORMAL); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult( - ErrorCode::UNKNOWN_ERR, "device_display_change_state error", - ("device_display_change_state(DISPLAY_STATE_NORMAL) error %d", ret)); - } - - ret = device_power_request_lock(POWER_LOCK_DISPLAY, 0); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_lock error", - ("device_power_request_lock error %d", ret)); - } - - bright_state_enabled_ = true; - - display_state_e platform_state = DISPLAY_STATE_NORMAL; - ret = device_display_get_state(&platform_state); - if (DEVICE_ERROR_NONE != ret) LoggerE("device_display_get_state failed (%d)", ret); - if (DISPLAY_STATE_NORMAL == platform_state) { - // TODO: Remove log along with removal of deprecation power state - LoggerW( - "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next " - "release."); - BroadcastScreenState(POWER_STATE_SCREEN_BRIGHT); - } - break; - } - case POWER_STATE_SCREEN_OFF: - return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, - "SCREEN_OFF state cannot be requested"); - default: - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while locking state"); + int ret = + device_add_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::ScreenStateChangeCB, this); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to set change listener", + ("Failed to set change listener %d", ret)); } - current_requested_state_ = state; + is_screen_listener_set = true; return PlatformResult(ErrorCode::NO_ERROR); } -PlatformResult PowerManager::Release(PowerResource resource) { +PlatformResult PowerManager::UnsetScreenStateChangeListener() { ScopeLogger(); - int ret; - if (POWER_RESOURCE_SCREEN == resource) { - ret = device_power_release_lock(POWER_LOCK_DISPLAY); - if (DEVICE_ERROR_NONE != ret) LoggerE("Platform return value from dim unlock: %d", ret); - - if (bright_state_enabled_) { - int result = 0; - auto error_code = PowerPlatformProxy::GetInstance().SetBrightnessFromSettings(&result); - if (!error_code || DEVICE_ERROR_NONE != result) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, - "Platform error while setting restore brightness", - ("Platform error while setting restore brightness %d", result)); - } - } - bright_state_enabled_ = false; - - display_state_e platform_state = DISPLAY_STATE_NORMAL; - if (current_requested_state_ == POWER_STATE_SCREEN_DIM) { - int result = 0; - auto error_code = PowerPlatformProxy::GetInstance().UnlockState(&result); - if (!error_code || DEVICE_ERROR_NONE != result) { - LoggerE("Failed to UnlockState (%d)", result); - } - } - ret = device_display_get_state(&platform_state); - if (DEVICE_ERROR_NONE != ret) { - LoggerE("device_display_get_state failed (%d)", ret); - } else { - if (DISPLAY_STATE_NORMAL == platform_state) { - BroadcastScreenState(POWER_STATE_SCREEN_NORMAL); - } - } - - current_requested_state_ = POWER_STATE_NONE; - } else if (POWER_RESOURCE_CPU == resource) { - ret = device_power_release_lock(POWER_LOCK_CPU); - if (DEVICE_ERROR_NONE != ret) LoggerE("Platform return value from off unlock: %d", ret); + int ret = + device_remove_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::ScreenStateChangeCB); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to unset change listener", + ("Failed to unset change listener %d", ret)); } + is_screen_listener_set = false; return PlatformResult(ErrorCode::NO_ERROR); } PlatformResult PowerManager::GetScreenBrightness(double* output) { ScopeLogger(); - int brightness = 0; - - auto error_code = GetPlatformBrightness(&brightness); - - if (!error_code) { - LoggerE("Failed to obtain brightness value from platform."); - return error_code; + PlatformResult result = GetMaxBrightness(); + if (result.IsError()) { + return result; } - LoggerD("Brightness value: %d", brightness); - - int max_brightness; - int ret = device_display_get_max_brightness(0, &max_brightness); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while getting max brightness", - ("Platform error while getting brightness: %d", ret)); + int brightness = 0; + result = GetScreenBrightness(&brightness); + if (result.IsError()) { + return result; } - *output = (double)brightness / (double)max_brightness; + + *output = (double)brightness / (double)max_brightness_; return PlatformResult(ErrorCode::NO_ERROR); } PlatformResult PowerManager::SetScreenBrightness(double brightness) { ScopeLogger(); - if (brightness > 1 || brightness < 0) - return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, - "brightness should be 0 <= brightness <= 1"); - int max_brightness; - int ret = device_display_get_max_brightness(0, &max_brightness); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while getting max brightness", - ("Platform error while setting restore brightness: %d", ret)); + PlatformResult result = GetMaxBrightness(); + if (result.IsError()) { + return result; } - int platform_brightness = (int)(brightness * max_brightness); - if (platform_brightness == 0) { + int platform_brightness = (int)(brightness * max_brightness_); + if (0 == platform_brightness) { + // The value '0' on native level is treated as setting ScreenState to "SCREEN_DIM", thus the + // brightness values come from range from 1 to max_brightness_ (which is usually equal to + // '100'). platform_brightness = 1; } - PlatformResult set_result = SetPlatformBrightness(platform_brightness); - if (set_result.IsError()) return set_result; + + result = SetBrightness(platform_brightness); + if (result.IsError()) { + return result; + } + LoggerD("Set the brightness value: %d", platform_brightness); - return set_result; + return PlatformResult(ErrorCode::NO_ERROR); } PlatformResult PowerManager::IsScreenOn(bool* state) { ScopeLogger(); - display_state_e platform_state = DISPLAY_STATE_NORMAL; - - int ret = device_display_get_state(&platform_state); - if (DEVICE_ERROR_NONE != ret) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error while getting screen state.", - ("device_display_get_state failed (%d)", ret)); + display_state_e display_state = DISPLAY_STATE_NORMAL; + PlatformResult result = GetDisplayState(&display_state); + if (result.IsError()) { + return result; } - *state = (DISPLAY_STATE_SCREEN_OFF != platform_state); + *state = (DISPLAY_STATE_SCREEN_OFF != display_state); return PlatformResult(ErrorCode::NO_ERROR); } -PlatformResult PowerManager::SetScreenState(bool onoff) { +PlatformResult PowerManager::TurnScreenOn() { ScopeLogger(); - int ret = device_display_change_state(onoff ? DISPLAY_STATE_NORMAL : DISPLAY_STATE_SCREEN_OFF); + return SetScreenState(DISPLAY_STATE_NORMAL); +} + +PlatformResult PowerManager::TurnScreenOff() { + ScopeLogger(); + return SetScreenState(DISPLAY_STATE_SCREEN_OFF); +} + +PlatformResult PowerManager::SetScreenState(display_state_e state) { + ScopeLogger(); + int ret = device_display_change_state(state); if (DEVICE_ERROR_NONE != ret) { return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while changing screen state", ("Platform error while changing screen state %d", ret)); } + return PlatformResult(ErrorCode::NO_ERROR); +} - int timeout = 100; - bool state = false; - while (timeout--) { - PlatformResult result = IsScreenOn(&state); - if (result.IsError()) { - return result; - } +PlatformResult PowerManager::CallNativeFunctionThroughDbus(const std::string& method_name, + GVariant* parameters) { + GError* error = nullptr; + GVariant* variant = nullptr; + variant = + g_dbus_connection_call_sync(common::dbus::Connection::getInstance().getDBus(), kPowerTarget, + kPowerObject, kPowerInterface, method_name.c_str(), parameters, + NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); + if (!variant || error) { + std::string message = error ? error->message : ""; + g_error_free(error); + return LogAndCreateResult( + ErrorCode::UNKNOWN_ERR, "DBus returned error", + ("Failed to call %s method - %s", method_name.c_str(), message.c_str())); + } + int result = 0; + g_variant_get(variant, "(i)", &result); + g_variant_unref(variant); + if (DEVICE_ERROR_NONE != result) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "DBus method returned error", + ("%s method returned error code %d", method_name.c_str(), result)); + } + return PlatformResult(ErrorCode::NO_ERROR); +} - if (state == onoff) { - break; - } +PlatformResult PowerManager::RestoreScreenBrightness() { + ScopeLogger(); + + // Need to request Native Deviced devs for wrapping + // below [internal] d-bus method: + // org.tizen.system.deviced + // /Org/Tizen/System/DeviceD/Display + // org.tizen.system.deviced.display.ReleaseBrightness + + // TODO: refactor this method when the function will be ready: + // display_release_brightness(); - struct timespec sleep_time = {0, 100L * 1000L * 1000L}; - nanosleep(&sleep_time, nullptr); + return CallNativeFunctionThroughDbus(kReleaseBrightness, g_variant_new("()")); +} + +PlatformResult PowerManager::GetMaxBrightness() { + ScopeLogger(); + + if (0 > max_brightness_) { + int ret = device_display_get_max_brightness(MAIN_DISPLAY, &max_brightness_); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, + "Platform error while getting max brightness", + ("Platform error while getting max brightness: %d", ret)); + } } return PlatformResult(ErrorCode::NO_ERROR); } -PlatformResult PowerManager::RestoreScreenBrightness() { +PlatformResult PowerManager::SetBrightness(int brightness) { ScopeLogger(); - int result = 0; - auto error_code = PowerPlatformProxy::GetInstance().SetBrightnessFromSettings(&result); - if (!error_code || DEVICE_ERROR_NONE != result) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while restoring brightness", - ("Platform error while restoring brightness %d", result)); + /* + Warning: implementation should use below commented code (public Native Device API). + However, this implementation does not guarantee the backward compability because of the + RestoreScreenBrightness method. + TODO: When the ReleaseBrightness dbus method is wrapped (see comment in the + PowerManager::RestoreScreenBrightness method) the implementation might be fully dependend only + on Native API. + + int ret = device_display_set_brightness(MAIN_DISPLAY, brightness); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while setting brightness", + ("Platform error while setting brightness: %d", ret)); } return PlatformResult(ErrorCode::NO_ERROR); + */ + return CallNativeFunctionThroughDbus(kHoldBrightness, g_variant_new("(i)", brightness)); } -PlatformResult PowerManager::SetPlatformBrightness(int brightness) { +const char* PowerManager::ScreenStateToString(display_state_e state) { ScopeLogger(); - if (current_state_ == POWER_STATE_SCREEN_DIM) { - current_brightness_ = brightness; - LoggerD("Current state is not normal state the value is saved in cache: %d", brightness); - should_be_read_from_cache_ = true; - return PlatformResult(ErrorCode::NO_ERROR); - } else if (current_state_ == POWER_STATE_SCREEN_BRIGHT) { - LoggerW( - "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next release."); + switch (state) { + case DISPLAY_STATE_NORMAL: + if (is_screen_bright_set) { + return "SCREEN_BRIGHT"; + } else { + return "SCREEN_NORMAL"; + } + case DISPLAY_STATE_SCREEN_DIM: + return "SCREEN_DIM"; + case DISPLAY_STATE_SCREEN_OFF: + default: + return "SCREEN_OFF"; + } +} + +PlatformResult PowerManager::GetDisplayState(display_state_e* state) { + ScopeLogger(); + int ret = device_display_get_state(state); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error while getting screen state.", + ("device_display_get_state failed (%d)", ret)); + } + + return PlatformResult(ErrorCode::NO_ERROR); +} - current_brightness_ = brightness; - LoggerD("Current state is not normal state the value is saved in cache: %d", brightness); - should_be_read_from_cache_ = true; +PlatformResult PowerManager::RequestCPUState() { + ScopeLogger(); + if (is_cpu_state_locked) { return PlatformResult(ErrorCode::NO_ERROR); - } else { - should_be_read_from_cache_ = false; } - int result = 0; - auto error_code = PowerPlatformProxy::GetInstance().SetBrightness(brightness, &result); - if (!error_code || result != 0) { - return LogAndCreateResult( - ErrorCode::UNKNOWN_ERR, "Platform error while setting brightness.", - ("Platform error while setting %d brightness: %d", brightness, result)); + int ret = device_power_request_lock(POWER_LOCK_CPU, 0); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to request for CPU state", + ("device_power_request_lock error %d", ret)); } - set_custom_brightness_ = true; - current_brightness_ = brightness; + is_cpu_state_locked = true; return PlatformResult(ErrorCode::NO_ERROR); } -PlatformResult PowerManager::GetPlatformBrightness(int* result) { +PlatformResult PowerManager::RequestScreenState(PowerState state) { ScopeLogger(); + PlatformResult result = ReleaseScreenState(); + if (result.IsError()) { + return result; + } - int brightness = 0; - - int is_custom_mode = 0; - auto error_code = PowerPlatformProxy::GetInstance().IsCustomBrightness(&is_custom_mode); + int ret = DEVICE_ERROR_NONE; + switch (state) { + case POWER_STATE_SCREEN_DIM: + screen_lock_state_ = POWER_LOCK_DISPLAY_DIM; + break; + case POWER_STATE_SCREEN_BRIGHT: + result = SetBrightness(max_brightness_); + if (result.IsError()) { + return result; + } - if (!error_code) { - LoggerE("Failed to check if custom brightness is set."); - return error_code; + ret = device_display_change_state(DISPLAY_STATE_NORMAL); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult( + ErrorCode::UNKNOWN_ERR, "Failed to change display state", + ("device_display_change_state(DISPLAY_STATE_NORMAL) error %d", ret)); + } + is_screen_bright_set = true; + case POWER_STATE_SCREEN_NORMAL: + default: + screen_lock_state_ = POWER_LOCK_DISPLAY; + break; } - if ((is_custom_mode && current_brightness_ != -1) || should_be_read_from_cache_) { - LoggerD("return custom brightness %d", current_brightness_); - *result = current_brightness_; - return PlatformResult(ErrorCode::NO_ERROR); + ret = device_power_request_lock(screen_lock_state_, 0); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to request for screen state", + ("device_power_request_lock error %d", ret)); } + is_screen_state_locked = true; + return PlatformResult(ErrorCode::NO_ERROR); +} - int is_auto_brightness = 0; - vconf_get_int(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, &is_auto_brightness); - if (is_auto_brightness == 1) { - int ret = vconf_get_int(VCONFKEY_SETAPPL_PREFIX - "/automatic_brightness_level" /*prevent RSA build error*/, - &brightness); - if (ret != 0) { - // RSA binary has no AUTOMATIC_BRIGHTNESS - vconf_get_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, &brightness); - } - } else { - LoggerD("Brightness via DBUS"); - auto error_code = PowerPlatformProxy::GetInstance().GetBrightness(&brightness); +PlatformResult PowerManager::ReleaseCPUState() { + ScopeLogger(); - if (!error_code) { - LoggerE("Failed to obtain brightness via DBUS."); - return error_code; - } + if (!is_cpu_state_locked) { + return PlatformResult(ErrorCode::NO_ERROR); } - LoggerD("BRIGHTNESS(%s) %d", is_auto_brightness == 1 ? "auto" : "fix", brightness); - - *result = brightness; - + int ret = device_power_release_lock(POWER_LOCK_CPU); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to release CPU lock", + ("device_power_release_lock error %d", ret)); + } + is_cpu_state_locked = false; return PlatformResult(ErrorCode::NO_ERROR); } -PlatformResult PowerManager::RestoreSettedBrightness() { +PlatformResult PowerManager::ReleaseScreenState() { ScopeLogger(); - PlatformResult result(ErrorCode::NO_ERROR); - int is_custom_mode = 0; - vconf_get_int(VCONFKEY_PM_CUSTOM_BRIGHTNESS_STATUS, &is_custom_mode); - if (is_custom_mode || should_be_read_from_cache_) { - if (current_brightness_ == -1) { - // brightness was changed in other process - result = RestoreScreenBrightness(); - } else { - result = SetPlatformBrightness(current_brightness_); - } + + if (!is_screen_state_locked) { + return PlatformResult(ErrorCode::NO_ERROR); } - should_be_read_from_cache_ = false; - return result; -} -void PowerManager::BroadcastScreenState(PowerState current) { - ScopeLogger(); - if (current_state_ == current) return; + int ret = device_power_release_lock(screen_lock_state_); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to release screen lock", + ("Platform error while releasing lock: %d", ret)); + } - PowerState prev_state = current_state_; - current_state_ = current; + is_screen_state_locked = false; - if (current_state_ == POWER_STATE_SCREEN_NORMAL) { - if (prev_state == POWER_STATE_SCREEN_DIM) { - PlatformResult result = RestoreSettedBrightness(); - if (result.IsError()) { - LOGGER(ERROR) << "Error restore custom brightness " << result.message(); - } - } else if (prev_state == POWER_STATE_SCREEN_OFF) { - should_be_read_from_cache_ = false; + if (is_screen_bright_set) { + PlatformResult result = RestoreScreenBrightness(); + if (result.IsError()) { + return result; } + is_screen_bright_set = false; } - for (auto it = listeners_.begin(); it != listeners_.end(); ++it) { - (*it)->OnScreenStateChanged(prev_state, current_state_); + return PlatformResult(ErrorCode::NO_ERROR); +} + +PlatformResult PowerManager::GetScreenBrightness(int* output) { + ScopeLogger(); + int ret = device_display_get_brightness(MAIN_DISPLAY, output); + if (DEVICE_ERROR_NONE != ret) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while getting brightness", + ("Platform error while getting brightness: %d", ret)); } + return PlatformResult(ErrorCode::NO_ERROR); } } // namespace power diff --git a/src/power/power_manager.h b/src/power/power_manager.h index da82348..8f85063 100644 --- a/src/power/power_manager.h +++ b/src/power/power_manager.h @@ -18,9 +18,10 @@ #define POWER_POWER_MANAGER_H_ #include -#include -#include +#include +#include +#include "common/GDBus/connection.h" #include "common/platform_result.h" namespace extension { @@ -36,49 +37,58 @@ enum PowerState { POWER_STATE_SCREEN_OFF, POWER_STATE_SCREEN_DIM, POWER_STATE_SCREEN_NORMAL, - POWER_STATE_SCREEN_BRIGHT, + POWER_STATE_SCREEN_BRIGHT, // TODO: remove this enum when removing enum from the API POWER_STATE_CPU_AWAKE, }; -class PowerManagerListener { - public: - virtual void OnScreenStateChanged(PowerState prev_state, PowerState new_state) = 0; -}; +class PowerInstance; class PowerManager { public: - void AddListener(PowerManagerListener* listener); - void RemoveListener(PowerManagerListener* listener); + PowerManager(PowerInstance& instance); + virtual ~PowerManager(); + common::PlatformResult Request(PowerResource resource, PowerState state); common::PlatformResult Release(PowerResource resource); + common::PlatformResult SetScreenStateChangeListener(); + common::PlatformResult UnsetScreenStateChangeListener(); common::PlatformResult GetScreenBrightness(double* output); common::PlatformResult SetScreenBrightness(double brightness); - common::PlatformResult RestoreScreenBrightness(); common::PlatformResult IsScreenOn(bool* state); - common::PlatformResult SetScreenState(bool onoff); - - static PowerManager* GetInstance(); - private: - common::PlatformResult GetPlatformBrightness(int* result); - common::PlatformResult SetPlatformBrightness(int brightness); - common::PlatformResult RestoreSettedBrightness(); + // TODO: remove "TurnScreen..." methods AND SetScreenState() method + // when it is removed from the API + common::PlatformResult TurnScreenOn(); + common::PlatformResult TurnScreenOff(); - PowerManager(); - virtual ~PowerManager(); - - void BroadcastScreenState(PowerState current); - - static void OnPlatformStateChangedCB(device_callback_e type, void* value, void* user_data); - - std::list listeners_; + common::PlatformResult RestoreScreenBrightness(); - PowerState current_state_; - bool bright_state_enabled_; - int current_brightness_; - bool should_be_read_from_cache_; - bool set_custom_brightness_; - PowerState current_requested_state_; + private: + static void ScreenStateChangeCB(device_callback_e type, void* value, void* user_data); + common::PlatformResult CallNativeFunctionThroughDbus(const std::string& method_name, + GVariant* parameters); + + common::PlatformResult SetScreenState(display_state_e state); + common::PlatformResult GetMaxBrightness(); + common::PlatformResult SetBrightness(int brightness); + const char* ScreenStateToString(display_state_e state); + common::PlatformResult GetDisplayState(display_state_e* state); + common::PlatformResult RequestCPUState(); + common::PlatformResult RequestScreenState(PowerState state); + common::PlatformResult ReleaseCPUState(); + common::PlatformResult ReleaseScreenState(); + common::PlatformResult GetScreenBrightness(int* output); + + PowerInstance& instance_; + bool is_screen_listener_set; + int max_brightness_; + display_state_e current_screen_state; + power_lock_e screen_lock_state_; + // TODO: remove below attribute, when "SCREEN_BRIGHT" enum is removed from the API + bool is_screen_bright_set; + + bool is_cpu_state_locked; + bool is_screen_state_locked; }; } // namespace power diff --git a/src/power/power_platform_proxy.cc b/src/power/power_platform_proxy.cc deleted file mode 100644 index 5947805..0000000 --- a/src/power/power_platform_proxy.cc +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "power_platform_proxy.h" - -#include - -#include "common/logger.h" - -using namespace common; - -namespace extension { -namespace power { - -PowerPlatformProxy::PowerPlatformProxy() - : gdbus_op_(common::gdbus::GDBusPowerWrapper::kDefaultBusName, - common::gdbus::GDBusPowerWrapper::kDefaultObjectPath) { - ScopeLogger(); -} - -PowerPlatformProxy::~PowerPlatformProxy() { - ScopeLogger(); -} - -PowerPlatformProxy& PowerPlatformProxy::GetInstance() { - ScopeLogger(); - static PowerPlatformProxy instance; - return instance; -} - -common::PlatformResult PowerPlatformProxy::LockState(int* result) { - ScopeLogger(); - if (!gdbus_op_.LockState(result)) { - LoggerE("%s", gdbus_op_.GetLastError().c_str()); - return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus"); - } - return PlatformResult(ErrorCode::NO_ERROR); -} - -common::PlatformResult PowerPlatformProxy::UnlockState(int* result) { - ScopeLogger(); - if (!gdbus_op_.UnlockState(result)) { - LoggerE("%s", gdbus_op_.GetLastError().c_str()); - return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus"); - } - return PlatformResult(ErrorCode::NO_ERROR); -} - -common::PlatformResult PowerPlatformProxy::SetBrightnessFromSettings(int* result) { - ScopeLogger(); - if (!gdbus_op_.ReleaseBrightness(result)) { - LoggerE("%s", gdbus_op_.GetLastError().c_str()); - return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus"); - } - return PlatformResult(ErrorCode::NO_ERROR); -} - -common::PlatformResult PowerPlatformProxy::SetBrightness(int val, int* result) { - ScopeLogger(); - if (!gdbus_op_.HoldBrightness(val, result)) { - LoggerE("%s", gdbus_op_.GetLastError().c_str()); - return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus"); - } - return PlatformResult(ErrorCode::NO_ERROR); -} - -common::PlatformResult PowerPlatformProxy::GetBrightness(int* result) { - ScopeLogger(); - if (!gdbus_op_.CurrentBrightness(result)) { - LoggerE("%s", gdbus_op_.GetLastError().c_str()); - return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus"); - } - return PlatformResult(ErrorCode::NO_ERROR); -} - -common::PlatformResult PowerPlatformProxy::IsCustomBrightness(int* result) { - ScopeLogger(); - if (!gdbus_op_.CustomBrightness(result)) { - LoggerE("%s", gdbus_op_.GetLastError().c_str()); - return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus"); - } - return PlatformResult(ErrorCode::NO_ERROR); -} - -} // namespace power -} // namespace extension diff --git a/src/power/power_platform_proxy.h b/src/power/power_platform_proxy.h deleted file mode 100644 index fb5e32a..0000000 --- a/src/power/power_platform_proxy.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef POWER_POWER_PLATFORM_PROXY_H_ -#define POWER_POWER_PLATFORM_PROXY_H_ - -#include "common/GDBus/gdbus_powerwrapper.h" -#include "common/platform_result.h" - -namespace extension { -namespace power { - -class PowerPlatformProxy { - public: - common::PlatformResult LockState(int* result); - common::PlatformResult UnlockState(int* result); - common::PlatformResult SetBrightnessFromSettings(int* result); - common::PlatformResult SetBrightness(int val, int* result); - - common::PlatformResult GetBrightness(int* result); - common::PlatformResult IsCustomBrightness(int* result); - - static PowerPlatformProxy& GetInstance(); - - private: - PowerPlatformProxy(); - virtual ~PowerPlatformProxy(); - - common::gdbus::GDBusPowerWrapper gdbus_op_; -}; - -} // namespace power -} // namespace extension - -#endif // POWER_POWER_PLATFORM_PROXY_H_ -- 2.7.4 From 20a5f25726763cc3a5a44961f473eef0669b0eca Mon Sep 17 00:00:00 2001 From: Pawel Wasowski Date: Wed, 4 Apr 2018 18:33:30 +0200 Subject: [PATCH 04/16] [Power] Prevent override of power level locked with Web API Chromium used to override power level locked by Web API with its own settings. The level set by Web API was not restored. From now on, Chromium will not override power level lock, after receiving "__DisableChromiumInternalPowerLock" message from the Web API and will be able to control the locked power level, after receiving "__EnableChromiumInternalPowerLock" message. Change-Id: Ia14f873766e26bd02ae7eecb182c69e0b6af00e8 Signed-off-by: Pawel Wasowski --- src/power/power_manager.cc | 26 ++++++++++++++++++++++++++ src/power/power_manager.h | 3 +++ src/utils/utils_api.js | 6 +++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/power/power_manager.cc b/src/power/power_manager.cc index c8638b6..3646d8f 100644 --- a/src/power/power_manager.cc +++ b/src/power/power_manager.cc @@ -387,6 +387,16 @@ PlatformResult PowerManager::RequestScreenState(PowerState state) { ("device_power_request_lock error %d", ret)); } is_screen_state_locked = true; + + /* + * In some cases Chromium requests power lock on screen backlight + * (e.g. when an mp4 video is played in the app). This results in + * overriding the power level set by the Web API. + * + * Below method prevents Chromium from locking the power level. + */ + DisableChromiumInternalPowerLock(); + return PlatformResult(ErrorCode::NO_ERROR); } @@ -421,6 +431,12 @@ PlatformResult PowerManager::ReleaseScreenState() { is_screen_state_locked = false; + /* + * Below method enables Chromium to lock screen backlight power level, + * when it is no longer locked by the Web API. + */ + EnableChromiumInternalPowerLock(); + if (is_screen_bright_set) { PlatformResult result = RestoreScreenBrightness(); if (result.IsError()) { @@ -442,5 +458,15 @@ PlatformResult PowerManager::GetScreenBrightness(int* output) { return PlatformResult(ErrorCode::NO_ERROR); } +void PowerManager::EnableChromiumInternalPowerLock() { + ScopeLogger(); + Instance::PostMessage(&instance_, "__EnableChromiumInternalPowerLock"); +} + +void PowerManager::DisableChromiumInternalPowerLock() { + ScopeLogger(); + Instance::PostMessage(&instance_, "__DisableChromiumInternalPowerLock"); +} + } // namespace power } // namespace extension diff --git a/src/power/power_manager.h b/src/power/power_manager.h index 8f85063..c3c46d3 100644 --- a/src/power/power_manager.h +++ b/src/power/power_manager.h @@ -79,6 +79,9 @@ class PowerManager { common::PlatformResult ReleaseScreenState(); common::PlatformResult GetScreenBrightness(int* output); + void EnableChromiumInternalPowerLock(); + void DisableChromiumInternalPowerLock(); + PowerInstance& instance_; bool is_screen_listener_set; int max_brightness_; diff --git a/src/utils/utils_api.js b/src/utils/utils_api.js index 4cc9868..2eef03e 100644 --- a/src/utils/utils_api.js +++ b/src/utils/utils_api.js @@ -1017,7 +1017,11 @@ var NativeManager = function(extension) { }); extension_.setMessageListener(function(json) { - var msg = JSON_.parse(json); + try { + var msg = JSON_.parse(json); + } catch (error) { + xwalk.utils.error('Invalid JSON received: ' + json); + } var id; if (msg.hasOwnProperty(this.CALLBACK_ID_KEY)) { -- 2.7.4 From 4ccba17e546a3d8278217c4702a2c3590bfe5b6d Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Tue, 17 Apr 2018 10:45:24 +0200 Subject: [PATCH 05/16] [Application] Add removing event_handler in destructor. Removing all event_handler from events while closing application. Without removing event_handler it is possible that native api will call event with destroyed data. This fix is to prevent such situation [Verification] Code compiles without error. TCT passrate 100% Change-Id: I94d1fbb85ad47ca6dbcba6c56cd043521952860e Signed-off-by: Lukasz Bardeli --- src/application/application_manager.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/application/application_manager.cc b/src/application/application_manager.cc index 821f0fd..5ac925e 100644 --- a/src/application/application_manager.cc +++ b/src/application/application_manager.cc @@ -103,6 +103,13 @@ ApplicationManager::ApplicationManager(ApplicationInstance& instance) ApplicationManager::~ApplicationManager() { ScopeLogger(); StopAppInfoEventListener(); + for (auto it = event_handler_map_.begin(); it != event_handler_map_.end();) { + int ret = event_remove_event_handler(it->second); + if (EVENT_ERROR_NONE != ret) { + LoggerE("event_remove_event_handler failed, error: %d (%s)", ret, get_error_message(ret)); + } + it = event_handler_map_.erase(it); + } } void ApplicationManager::GetCurrentApplication(const std::string& app_id, picojson::object* out) { -- 2.7.4 From 590bb7aae552b0deef51be0c6c2d130cafe6696c Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Wed, 18 Apr 2018 08:11:18 +0200 Subject: [PATCH 06/16] [Spec] Fixing build dependency [Verification] Code compiles without errors. Change-Id: I7bc3f9c4ed440ab00822366c49843228be626b62 Signed-off-by: Piotr Kosko --- packaging/webapi-plugins.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 5c7573d..cc1902f 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -484,6 +484,7 @@ BuildRequires: pkgconfig(ecore-file) BuildRequires: pkgconfig(email-service) BuildRequires: pkgconfig(msg-service) BuildRequires: pkgconfig(db-util) +BuildRequires: pkgconfig(dbus-glib-1) %endif %if 0%{?tizen_feature_badge_support} -- 2.7.4 From 9c9f5b4d8ea1a31fdb0e6b545ea7fa7c133a61fd Mon Sep 17 00:00:00 2001 From: Rafal Walczyna Date: Tue, 17 Apr 2018 14:39:23 +0200 Subject: [PATCH 07/16] [IoTcon] Fix query creation for requests [Bug] query was not created properly when there was no resource interface set [Verification] 100% passrate on TM1 Change-Id: Iea1db9418fe10e9fad56a9bb7de1c34c95cbc5dd Signed-off-by: Rafal Walczyna --- src/iotcon/iotcon_utils.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/iotcon/iotcon_utils.cc b/src/iotcon/iotcon_utils.cc index 70546a4..abbe5d8 100644 --- a/src/iotcon/iotcon_utils.cc +++ b/src/iotcon/iotcon_utils.cc @@ -1106,11 +1106,14 @@ common::TizenResult IotconUtils::QueryToJson(iotcon_query_h query, picojson::obj { // resourceInterface char* interface = nullptr; - auto result = ConvertIotconError(iotcon_query_get_interface(query, &interface)); - if (!result || !interface) { - LogAndReturnTizenError(result, ("iotcon_query_get_interface() failed")); + int err_code = iotcon_query_get_interface(query, &interface); + if (IOTCON_ERROR_NONE != err_code) { + // if no interface is set to query we continue execution to set other values + LoggerW("iotcon_query_get_interface() failed: %d, ignoring resource interface in query", + err_code); + } else { + out->insert(std::make_pair(kResourceInterface, picojson::value{interface})); } - out->insert(std::make_pair(kResourceInterface, picojson::value{interface})); } { -- 2.7.4 From 87e3fe5c183776964cd7ff227748f58a332355cb Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Wed, 18 Apr 2018 10:28:21 +0200 Subject: [PATCH 08/16] [version] 2.21 Change-Id: Id7ba90815fd7970998c28343c0b1e5cce6fac32f Signed-off-by: Piotr Kosko --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index cc1902f..58f41cb 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 2.20 +Version: 2.21 Release: 0 License: Apache-2.0 and BSD-3-Clause and MIT Group: Development/Libraries -- 2.7.4 From c617a8c0d69ef6cdfd499cafcbfe729042c89199 Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Tue, 24 Apr 2018 12:40:19 +0200 Subject: [PATCH 09/16] [Filesystem] Fixing file filter [Bug] 1. FileFilter name was not matching '%' wildcard on the beginning of filename 2. wildcard escaping need to be done by using '\\%' not '\%' - proper comment added in code to ease future investigations. [Verification] Code compiles successfully. TCT passrate is 100%. Below code: var filter = "piotr\\%kosko%"; function onsuccess(files) { console.log("There are " + files.length + " in the selected folder"); for (var i =0; i < files.length; ++i) { console.log(files[i].name) } } function onerror(error) { console.log("The error " + error.message + " occurred when listing the files in the selected folder"); } tizen.filesystem.resolve("documents", function(dir) { dir.listFiles(onsuccess, onerror, {name: filter}); }, function(e) { console.log("Error " + e.message);}, "r"); for filter "piotr\\%kosko%" filters file: piotr%koskoTest for filter "%kosko%" filter files: piotrkoskoTest piotrkosko piotrTestkoskoTest kosko piotr%koskoTest piotr%kosko Change-Id: If7e6c3c3ad97a3d01a800916ba73c5f7749ae0cb Signed-off-by: Piotr Kosko --- src/filesystem/js/file.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/filesystem/js/file.js b/src/filesystem/js/file.js index 524d7b6..d5d2d20 100644 --- a/src/filesystem/js/file.js +++ b/src/filesystem/js/file.js @@ -73,7 +73,7 @@ function stringToRegex(str) { if (str === '') { return new RegExp(_regString, 'i'); } - + // single '\' sign is not visible in JS string, escaping % wildcard need to be done by '\\%' str = str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); var _percentTokens = str.split('%'); @@ -81,11 +81,13 @@ function stringToRegex(str) { for (i = 0; i < _percentTokens.length - 1; ++i) { _regString = _regString + _percentTokens[i]; if (_regString[_regString.length - 1] === '\\') { + // special handling \\% sequence - '%' sign is threaten as regular sign - not wildcard _regString = _regString.split(''); _regString.pop(); _regString = _regString.join('') + '%'; } - else if (_regString.lastIndexOf('\*') !== _regString.length - 2) { + else { + // handling '%' as a wildcard _regString = _regString + '.*'; } } -- 2.7.4 From 5b2319f7afd43f17fb7515e7879bc63e7138e188 Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Wed, 25 Apr 2018 12:42:27 +0200 Subject: [PATCH 10/16] [version] 2.22 Change-Id: I75c3fdd794b62946720fc5cb537c437ab33843bd Signed-off-by: Piotr Kosko --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 58f41cb..f271a81 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 2.21 +Version: 2.22 Release: 0 License: Apache-2.0 and BSD-3-Clause and MIT Group: Development/Libraries -- 2.7.4 From bb922e7477cb08f24622e3ae2edc86f774c0ab64 Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Thu, 10 May 2018 08:43:35 +0200 Subject: [PATCH 11/16] [Iotcon] Prevent iotcon from call timeout after found resource In ResourceFoundCallback after some resource was found, timeout will never be called. [Verification] Code compiles without error. TCT tests passrate 100% Change-Id: I96ca592eb94e14c374b6eab99ca1956108f37154 Signed-off-by: Lukasz Bardeli --- src/iotcon/iotcon_instance.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/iotcon/iotcon_instance.cc b/src/iotcon/iotcon_instance.cc index 705fb1f..6bc88a8 100644 --- a/src/iotcon/iotcon_instance.cc +++ b/src/iotcon/iotcon_instance.cc @@ -40,8 +40,10 @@ const std::string kPrivilegeIotcon = "http://tizen.org/privilege/internet"; struct CallbackData { common::PostCallback fun; + bool was_called; CallbackData(common::PostCallback f) { fun = f; + was_called = false; } }; @@ -1305,10 +1307,16 @@ bool IotconInstance::ResourceFoundCallback(iotcon_remote_resource_h resource, io common::TizenResult ret = common::TizenSuccess(); switch (result) { case IOTCON_ERROR_NONE: + // Mark that this callback was called at leas once (some resource was found) + data->was_called = true; ret = IotconUtils::RemoteResourceToJson(resource, &v.get()); break; case IOTCON_ERROR_TIMEOUT: LoggerD("IOTCON_TIMEOUT"); + // if TIMEOUT was called after some resource was found then do not call errorCallback + if (data->was_called) { + return IOTCON_FUNC_STOP; + } default: ret = IotconUtils::ConvertIotconError(result); } -- 2.7.4 From 9acb235d0ea732dda1dc80de145224fa090af494 Mon Sep 17 00:00:00 2001 From: Rafal Walczyna Date: Wed, 16 May 2018 14:29:03 +0200 Subject: [PATCH 12/16] [humanactivitymonitor] Fixing rRinterval value in heartRate data rRinterval was always 0. This value is now available, but measurement is not present in unified builds. It was tested on R765 and R600 with solis binaries and it worked fine. [verification] AutoTCT - 100% pass Change-Id: I3c181c53e0832f429774f86277bcaeda4708c0b7 Signed-off-by: Rafal Walczyna --- src/humanactivitymonitor/humanactivitymonitor_manager.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/humanactivitymonitor/humanactivitymonitor_manager.cc b/src/humanactivitymonitor/humanactivitymonitor_manager.cc index 22d52b5..9a52f2f 100644 --- a/src/humanactivitymonitor/humanactivitymonitor_manager.cc +++ b/src/humanactivitymonitor/humanactivitymonitor_manager.cc @@ -1371,15 +1371,18 @@ HumanActivityMonitorManager::HumanActivityMonitorManager() return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "To few values of HRM event"); } - LOGGER(DEBUG) << " |- values[0]: " << event->values[0]; - LOGGER(DEBUG) << " |- values[1]: " << event->values[1]; + LOGGER(DEBUG) << " |- values[0][HR ]: " << event->values[0]; + LOGGER(DEBUG) << " |- values[2][RRI]: " << event->values[2]; float hr = floor(event->values[0] + 0.5); // heart beat rate 0 ~ 220 integer (bpm) - // there are no public native api for peak to peak interval. + // there are no public native api documentation for peak to peak interval. // but RRI = (60 / HR) * 1000 - // or unofficially values[1] is rri (0 ~ 5000 ms) - float rri = floor(event->values[1] + 0.5); + // @ 18.05.2018 + // in capi, rri is in values[2], but it is not documented because value can be unstable + // and it is not available on all devices. On solis it works fine. + + float rri = floor(event->values[2] + 0.5); // rr-interval 0 ~ 5000 integer (ms) data->insert(std::make_pair("heartRate", picojson::value(static_cast(hr)))); data->insert(std::make_pair("rRInterval", picojson::value(static_cast(rri)))); -- 2.7.4 From 91163a0cef0b132df874079d69b714b8d4e25866 Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Fri, 18 May 2018 13:44:31 +0200 Subject: [PATCH 13/16] [version] 2.23 Change-Id: I7634bdecaab795b4f9db8b76ecc92a8ee00da755 Signed-off-by: Piotr Kosko --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index f271a81..c6a0ee0 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 2.22 +Version: 2.23 Release: 0 License: Apache-2.0 and BSD-3-Clause and MIT Group: Development/Libraries -- 2.7.4 From e0bb8cb548c52464703190e668624a13fa68f718 Mon Sep 17 00:00:00 2001 From: Pawel Kaczmarczyk Date: Tue, 10 Jul 2018 15:35:36 +0200 Subject: [PATCH 14/16] [HRM] Fix for resetting pedometer data after calling start [Bug] Pedometer properties were not reset back to zero after calling start again. [Verification] Auto TCT passrate 100% Manual (wearable and mobile emulators) 100% Change-Id: I4b961a5c05224accb7ff482c570b3dd3aa352bb4 Signed-off-by: Pawel Kaczmarczyk --- .../humanactivitymonitor_manager.cc | 212 ++++++++++++--------- 1 file changed, 121 insertions(+), 91 deletions(-) diff --git a/src/humanactivitymonitor/humanactivitymonitor_manager.cc b/src/humanactivitymonitor/humanactivitymonitor_manager.cc index 9a52f2f..1dc5779 100644 --- a/src/humanactivitymonitor/humanactivitymonitor_manager.cc +++ b/src/humanactivitymonitor/humanactivitymonitor_manager.cc @@ -269,6 +269,7 @@ class HumanActivityMonitorManager::Monitor { class GestureMonitor; class SensorMonitor; class GpsMonitor; + class PedometerMonitor; explicit Monitor(const std::string& t) : type_(t) { ScopeLogger(type()); @@ -533,10 +534,10 @@ class HumanActivityMonitorManager::Monitor::SensorMonitor SensorMonitor(const std::string& t, sensor_type_e s, const SensorEventConverter& c, const SensorRecordedConverter& r) : Monitor(t), - sensor_(s), - handle_(nullptr), converter_(c), converter_recorded_(r), + sensor_(s), + handle_(nullptr), recorded_data_(nullptr) { ScopeLogger(type()); } @@ -764,6 +765,9 @@ class HumanActivityMonitorManager::Monitor::SensorMonitor recorded_data_->push_back(*data); } + SensorEventConverter converter_; + SensorRecordedConverter converter_recorded_; + private: static void OnSensorEvent(sensor_h, sensor_event_s* event, void* user_data) { ScopeLogger(); @@ -869,12 +873,123 @@ class HumanActivityMonitorManager::Monitor::SensorMonitor sensor_type_e sensor_; sensor_listener_h handle_; - SensorEventConverter converter_; - SensorRecordedConverter converter_recorded_; picojson::array* recorded_data_; std::mutex mutex_; }; +class HumanActivityMonitorManager::Monitor::PedometerMonitor + : public HumanActivityMonitorManager::Monitor::SensorMonitor { + private: + bool is_first_read; + + public: + PedometerMonitor() + : SensorMonitor(kActivityTypePedometer, SENSOR_HUMAN_PEDOMETER, nullptr, nullptr), + is_first_read(true) { + ScopeLogger(); + converter_ = [this](sensor_event_s* event, picojson::object* data) -> PlatformResult { + + ScopeLogger("Entered into asynchronous function, convert_pedometer"); + + const auto pedometer_data = (PedometerDataWrapper*)event; + + static PedometerDataWrapper initial_pedometer_data; + + if (this->is_first_read) { + initial_pedometer_data = *pedometer_data; + this->is_first_read = false; + } + + static float steps_so_far = 0.0; + + const auto state = pedometer_data->state(); + + data->insert(std::make_pair(kStepStatus, picojson::value(FromSensorPedometerState(state)))); + data->insert(std::make_pair(kSpeed, picojson::value(pedometer_data->speed()))); + data->insert(std::make_pair(kWalkingFrequency, picojson::value(pedometer_data->frequency()))); + + data->insert(std::make_pair( + kCumulativeDistance, + picojson::value(pedometer_data->distance() - initial_pedometer_data.distance()))); + data->insert(std::make_pair( + kCumulativeCalorie, + picojson::value(pedometer_data->calories() - initial_pedometer_data.calories()))); + data->insert(std::make_pair( + kCumulativeTotalStepCount, + picojson::value(pedometer_data->steps() - initial_pedometer_data.steps()))); + data->insert(std::make_pair( + kCumulativeWalkStepCount, + picojson::value(pedometer_data->walk_steps() - initial_pedometer_data.walk_steps()))); + data->insert(std::make_pair( + kCumulativeRunStepCount, + picojson::value(pedometer_data->run_steps() - initial_pedometer_data.run_steps()))); + + data->insert( + std::make_pair(kAccumulativeDistance, picojson::value(pedometer_data->distance()))); + data->insert( + std::make_pair(kAccumulativeCalorie, picojson::value(pedometer_data->calories()))); + data->insert( + std::make_pair(kAccumulativeTotalStepCount, picojson::value(pedometer_data->steps()))); + data->insert(std::make_pair(kAccumulativeWalkStepCount, + picojson::value(pedometer_data->walk_steps()))); + data->insert( + std::make_pair(kAccumulativeRunStepCount, picojson::value(pedometer_data->run_steps()))); + + auto& diffs = + data->insert(std::make_pair(kStepCountDifferences, picojson::value{picojson::array{}})) + .first->second.get(); + LoggerD("pedometer_data->diffs_count: %d", pedometer_data->diffs_count); + if (pedometer_data->diffs_count > 0) { + for (int i = 0; i < pedometer_data->diffs_count; ++i) { + InsertStepDifference(pedometer_data->diffs[i].steps, + getCurrentTimeStamp(pedometer_data->diffs[i].timestamp) / 1000, + &diffs); + } + } else { + InsertStepDifference(steps_so_far > 0.0 ? pedometer_data->steps() - steps_so_far : 0.0, + getCurrentTimeStamp(pedometer_data->timestamp) / 1000, &diffs); + } + + steps_so_far = pedometer_data->steps(); + + return PlatformResult(ErrorCode::NO_ERROR); + }; + + converter_recorded_ = [](void* data, picojson::object* obj) -> PlatformResult { + ScopeLogger("Entered into asynchronous function, convert_recorded_pedometer"); + + SensorRecorderDataMap map_int{{SENSOR_RECORDER_DATA_STEPS, kRecordedTotalStepCount}, + {SENSOR_RECORDER_DATA_WALK_STEPS, kRecordedWalkStepCount}, + {SENSOR_RECORDER_DATA_RUN_STEPS, kRecordedRunStepCount}}; + + SensorRecorderDataMap map_double{{SENSOR_RECORDER_DATA_DISTANCE, kRecordedDistance}, + {SENSOR_RECORDER_DATA_CALORIE, kRecordedCalorie}}; + + auto result = ConvertRecordedInt(data, obj, map_int); + if (!result) { + return result; + } + + result = ConvertRecordedDouble(data, obj, map_double); + if (!result) { + return result; + } + + return ConvertRecordedTime(data, obj); + }; + } + + virtual ~PedometerMonitor() { + ScopeLogger(); + } + + virtual PlatformResult SetListenerImpl(const picojson::value& args) override { + ScopeLogger(); + is_first_read = true; + return HumanActivityMonitorManager::Monitor::SensorMonitor::SetListenerImpl(args); + } +}; + class HumanActivityMonitorManager::Monitor::GpsMonitor : public HumanActivityMonitorManager::Monitor { public: @@ -1299,66 +1414,6 @@ HumanActivityMonitorManager::HumanActivityMonitorManager() : activity_recognition_(std::make_shared()) { ScopeLogger(); - auto convert_pedometer = [](sensor_event_s* event, picojson::object* data) -> PlatformResult { - ScopeLogger("Entered into asynchronous function, convert_pedometer"); - - const auto pedometer_data = (PedometerDataWrapper*)event; - - static const auto initial_pedometer_data = *pedometer_data; // will be initialized only once - static float steps_so_far = 0.0; - - const auto state = pedometer_data->state(); - - data->insert(std::make_pair(kStepStatus, picojson::value(FromSensorPedometerState(state)))); - data->insert(std::make_pair(kSpeed, picojson::value(pedometer_data->speed()))); - data->insert(std::make_pair(kWalkingFrequency, picojson::value(pedometer_data->frequency()))); - - data->insert(std::make_pair( - kCumulativeDistance, - picojson::value(pedometer_data->distance() - initial_pedometer_data.distance()))); - data->insert(std::make_pair( - kCumulativeCalorie, - picojson::value(pedometer_data->calories() - initial_pedometer_data.calories()))); - data->insert( - std::make_pair(kCumulativeTotalStepCount, - picojson::value(pedometer_data->steps() - initial_pedometer_data.steps()))); - data->insert(std::make_pair( - kCumulativeWalkStepCount, - picojson::value(pedometer_data->walk_steps() - initial_pedometer_data.walk_steps()))); - data->insert(std::make_pair( - kCumulativeRunStepCount, - picojson::value(pedometer_data->run_steps() - initial_pedometer_data.run_steps()))); - - data->insert( - std::make_pair(kAccumulativeDistance, picojson::value(pedometer_data->distance()))); - data->insert(std::make_pair(kAccumulativeCalorie, picojson::value(pedometer_data->calories()))); - data->insert( - std::make_pair(kAccumulativeTotalStepCount, picojson::value(pedometer_data->steps()))); - data->insert( - std::make_pair(kAccumulativeWalkStepCount, picojson::value(pedometer_data->walk_steps()))); - data->insert( - std::make_pair(kAccumulativeRunStepCount, picojson::value(pedometer_data->run_steps()))); - - auto& diffs = - data->insert(std::make_pair(kStepCountDifferences, picojson::value{picojson::array{}})) - .first->second.get(); - LOGGER(DEBUG) << " pedometer_data->diffs_coun: " << pedometer_data->diffs_count; - if (pedometer_data->diffs_count > 0) { - for (int i = 0; i < pedometer_data->diffs_count; ++i) { - InsertStepDifference(pedometer_data->diffs[i].steps, - getCurrentTimeStamp(pedometer_data->diffs[i].timestamp) / 1000, - &diffs); - } - } else { - InsertStepDifference(steps_so_far > 0.0 ? pedometer_data->steps() - steps_so_far : 0.0, - getCurrentTimeStamp(pedometer_data->timestamp) / 1000, &diffs); - } - - steps_so_far = pedometer_data->steps(); - - return PlatformResult(ErrorCode::NO_ERROR); - }; - auto convert_hrm = [](sensor_event_s* event, picojson::object* data) -> PlatformResult { ScopeLogger("Entered into asynchronous function, convert_hrm"); @@ -1425,29 +1480,6 @@ HumanActivityMonitorManager::HumanActivityMonitorManager() return PlatformResult(ErrorCode::NO_ERROR); }; - auto convert_recorded_pedometer = [](void* data, picojson::object* obj) -> PlatformResult { - ScopeLogger("Entered into asynchronous function, convert_recorded_pedometer"); - - SensorRecorderDataMap map_int{{SENSOR_RECORDER_DATA_STEPS, kRecordedTotalStepCount}, - {SENSOR_RECORDER_DATA_WALK_STEPS, kRecordedWalkStepCount}, - {SENSOR_RECORDER_DATA_RUN_STEPS, kRecordedRunStepCount}}; - - SensorRecorderDataMap map_double{{SENSOR_RECORDER_DATA_DISTANCE, kRecordedDistance}, - {SENSOR_RECORDER_DATA_CALORIE, kRecordedCalorie}}; - - auto result = ConvertRecordedInt(data, obj, map_int); - if (!result) { - return result; - } - - result = ConvertRecordedDouble(data, obj, map_double); - if (!result) { - return result; - } - - return ConvertRecordedTime(data, obj); - }; - auto convert_recorded_hrm = [](void* data, picojson::object* obj) -> PlatformResult { ScopeLogger("Entered into asynchronous function, convert_recorded_hrm"); @@ -1491,10 +1523,8 @@ HumanActivityMonitorManager::HumanActivityMonitorManager() return ConvertRecordedTime(data, obj); }; - monitors_.insert(std::make_pair( - kActivityTypePedometer, - std::make_shared(kActivityTypePedometer, SENSOR_HUMAN_PEDOMETER, - convert_pedometer, convert_recorded_pedometer))); + monitors_.insert(std::make_pair(kActivityTypePedometer, + std::make_shared())); monitors_.insert(std::make_pair(kActivityTypeWristUp, std::make_shared(kActivityTypeWristUp))); monitors_.insert(std::make_pair( -- 2.7.4 From 8cacc6d48ce88fefad4fc89c3f41bacad4e13e06 Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Thu, 12 Jul 2018 07:38:20 +0200 Subject: [PATCH 15/16] [version] 2.24 Change-Id: I612a9ec9977025efbbb35fa2c58e4c3ec8226b79 Signed-off-by: Lukasz Bardeli --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index c6a0ee0..70ab9fb 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 2.23 +Version: 2.24 Release: 0 License: Apache-2.0 and BSD-3-Clause and MIT Group: Development/Libraries -- 2.7.4 From 41ee8a49f96c04e9b9c69382b140e9e07ce384c2 Mon Sep 17 00:00:00 2001 From: Pawel Kaczmarczyk Date: Thu, 26 Jul 2018 09:05:03 +0200 Subject: [PATCH 16/16] [NFC] Minor fixes [Bugs] 1. In special cases records objects were created as empty 2. If NFCPeerDetectCallback or NFCTagDetectCallback did not have defined function to call on action an TypeError would be thrown. [Verification] tct-nfc-tizen-tests passrate 100% Change-Id: I32d6cbdc05c491f42100580a1cfe021c4c877bfc Signed-off-by: Pawel Kaczmarczyk --- src/nfc/nfc_api.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/nfc/nfc_api.js b/src/nfc/nfc_api.js index c282348..4dcead5 100644 --- a/src/nfc/nfc_api.js +++ b/src/nfc/nfc_api.js @@ -347,7 +347,7 @@ function setTagListener() { return; } } - args.listener[message.action](tagObject); + native_.callIfPossible(args.listener[message.action], tagObject); }; // Register (acivate) core listener if not done yet @@ -380,7 +380,7 @@ function setPeerListener() { if ('onattach' === msg.action) { data = new NFCPeer(msg.id); } - args.listener[msg.action](data); + native_.callIfPossible(args.listener[msg.action], data); }; if (!native_.isListenerSet(PEER_LISTENER)) { @@ -924,7 +924,7 @@ var toRecordsArray = function(array) { var data = new InternalRecordData(array[i].tnf, array[i].type, array[i].payload, array[i].id); if (array[i].recordType == 'Record') { - result.push(new tizen.NDEFRecord(data.tnf_, data.type_, data.payload_, data.id_)); + result.push(new tizen.NDEFRecord(data.tnf, data.type, data.payload, data.id)); continue; } @@ -940,7 +940,7 @@ var toRecordsArray = function(array) { } if (array[i].recordType == 'RecordMedia') { - result.push(new tizen.NDEFRecordMedia(array[i].mimeType, array[i].data, data)); + result.push(new tizen.NDEFRecordMedia(array[i].mimeType, null, data)); continue; } } @@ -1528,11 +1528,11 @@ tizen.NDEFRecordMedia = function(mimeType, data, internal_) { try { if (arguments.length >= 2) { mimeType_ = converter_.toString(mimeType); - data_ = toByteArray(data, Math.pow(2, 32) - 1); if (!type_.isNullOrUndefined(internal_) && (internal_ instanceof InternalRecordData)) { tizen.NDEFRecord.call(this, internal_.tnf, internal_.type, internal_.payload, internal_.id); } else { + data_ = toByteArray(data, Math.pow(2, 32) - 1); var result = native_.callSync( 'NDEFRecordMedia_constructor', { 'mimeType': mimeType_, -- 2.7.4