diff --git a/src/slack-timedate.cpp b/src/slack-timedate.cpp index 223ce78..41a4961 100644 --- a/src/slack-timedate.cpp +++ b/src/slack-timedate.cpp @@ -169,7 +169,9 @@ namespace dlackware::timedate try { - introspection_data = Gio::DBus::NodeInfo::create_for_xml(INTROSPECTION_XML); + auto introspection_xml = Glib::file_get_contents(dlackware::timedate::introspection_xml); + + introspection_data = Gio::DBus::NodeInfo::create_for_xml(introspection_xml); } catch (Glib::Error& slack_err) { @@ -303,19 +305,19 @@ gboolean slack_set_time(gint64 seconds_since_epoch, gboolean relative) { return FALSE; } - ts.tv_sec += static_cast(seconds_since_epoch / USEC_PER_SEC); - ts.tv_nsec += (seconds_since_epoch % USEC_PER_SEC) * NSEC_PER_USEC; + ts.tv_sec += static_cast(seconds_since_epoch / dlackware::timedate::usec_per_sec); + ts.tv_nsec += (seconds_since_epoch % dlackware::timedate::usec_per_sec) * dlackware::timedate::nsec_per_usec; if (ts.tv_nsec < 0) { --ts.tv_sec; - ts.tv_nsec += USEC_PER_SEC; + ts.tv_nsec += dlackware::timedate::usec_per_sec; } } else { - ts.tv_sec = static_cast(seconds_since_epoch / USEC_PER_SEC); - ts.tv_nsec = (seconds_since_epoch % USEC_PER_SEC) * NSEC_PER_USEC; + ts.tv_sec = static_cast(seconds_since_epoch / dlackware::timedate::usec_per_sec); + ts.tv_nsec = (seconds_since_epoch % dlackware::timedate::usec_per_sec) * dlackware::timedate::nsec_per_usec; } return clock_settime (CLOCK_REALTIME, &ts) == 0; } diff --git a/src/slack-timedate.h b/src/slack-timedate.h index a687ab0..41eb0e7 100644 --- a/src/slack-timedate.h +++ b/src/slack-timedate.h @@ -23,46 +23,16 @@ #define BUS_NAME "org.freedesktop.timedate1" #define BUS_PATH "/org/freedesktop/timedate1" -#define BUS_INTERFACE "org.freedesktop.timedate1" - -#define INTROSPECTION_XML DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE \ - "\n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " \n" \ - " " \ - " \n" \ - "\n" #define DEFAULT_EXIT_SEC 300 -constexpr gint32 USEC_PER_SEC = 1000000ULL; -constexpr gint32 NSEC_PER_USEC = 1000ULL; - namespace dlackware::timedate { constexpr const char *zoneinfo_database = "/usr/share/zoneinfo"; + constexpr const char *introspection_xml = "/usr/share/dbus-1/interfaces/org.freedesktop.timedate1.xml"; + + constexpr const gint32 usec_per_sec = 1000000ULL; + constexpr const gint32 nsec_per_usec = 1000ULL; // Returns the system time zone. Glib::ustring timezone();