summaryrefslogtreecommitdiff
path: root/src/clock.c
diff options
context:
space:
mode:
authorNiraj Kumar Goit <niraj.g@samsung.com>2022-02-17 21:43:13 +0530
committerNiraj Kumar Goit <niraj.g@samsung.com>2022-02-23 21:00:32 +0530
commitbf0e619ef451bde3568c1af509ccb12cbda2ff93 (patch)
treeedc77ad122572a91f8ec267629fb1c4ffffabb4b /src/clock.c
parent2985b9822ac3f5acfef2933cbda98c1285e11af4 (diff)
parentf89b473dfd8e916314b534b3397442f8c869c783 (diff)
downloadconnman-bf0e619ef451bde3568c1af509ccb12cbda2ff93.tar.gz
connman-bf0e619ef451bde3568c1af509ccb12cbda2ff93.tar.bz2
connman-bf0e619ef451bde3568c1af509ccb12cbda2ff93.zip
Merge tag 'upstream/1.40' into tizen.submit/tizen/20220224.061208
Change-Id: I4ed89827d776db6eeec11878bc1cd0cd6c5e1e80 Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com> Signed-off-by: Anjali Nijhara <a.nijhara@samsung.com>
Diffstat (limited to 'src/clock.c')
-rwxr-xr-xsrc/clock.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/clock.c b/src/clock.c
index 40729b2e..58a52c0e 100755
--- a/src/clock.c
+++ b/src/clock.c
@@ -176,6 +176,7 @@ static DBusMessage *get_properties(DBusConnection *conn,
{
DBusMessage *reply;
DBusMessageIter array, dict;
+ dbus_bool_t is_synced;
struct timeval tv;
const char *str;
#if defined TIZEN_EXT
@@ -222,6 +223,10 @@ static DBusMessage *get_properties(DBusConnection *conn,
connman_dbus_dict_append_array(&dict, "Timeservers",
DBUS_TYPE_STRING, append_timeservers, NULL);
+ is_synced = __connman_timeserver_is_synced();
+ connman_dbus_dict_append_basic(&dict, "TimeserverSynced",
+ DBUS_TYPE_BOOLEAN, &is_synced);
+
connman_dbus_dict_close(&array, &dict);
return reply;
@@ -275,6 +280,7 @@ static DBusMessage *set_property(DBusConnection *conn,
if (settimeofday(&tv, NULL) < 0)
return __connman_error_invalid_arguments(msg);
+ __connman_timeserver_set_synced(false);
connman_dbus_property_changed_basic(CONNMAN_MANAGER_PATH,
CONNMAN_CLOCK_INTERFACE, "Time",
DBUS_TYPE_UINT64, &newval);
@@ -301,6 +307,13 @@ static DBusMessage *set_property(DBusConnection *conn,
connman_dbus_property_changed_basic(CONNMAN_MANAGER_PATH,
CONNMAN_CLOCK_INTERFACE, "TimeUpdates",
DBUS_TYPE_STRING, &strval);
+
+ if (newval == TIME_UPDATES_AUTO) {
+ struct connman_service *service;
+
+ service = connman_service_get_default();
+ __connman_timeserver_conf_update(service);
+ }
} else if (g_str_equal(name, "Timezone")) {
const char *strval;
@@ -380,6 +393,8 @@ static DBusMessage *set_property(DBusConnection *conn,
connman_dbus_property_changed_array(CONNMAN_MANAGER_PATH,
CONNMAN_CLOCK_INTERFACE, "Timeservers",
DBUS_TYPE_STRING, append_timeservers, NULL);
+ } else if (g_str_equal(name, "TimeserverSynced")) {
+ return __connman_error_permission_denied(msg);
} else
return __connman_error_invalid_property(msg);