From 13d371f6c4974baad92574f5e287a72313080432 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 13 Sep 2014 15:45:23 -0500 Subject: hide the implementation detials of FileTimezone and GeoclueTimezone behind Impl classes --- include/datetime/clock.h | 2 -- include/datetime/timezone-file.h | 17 ++++------------- include/datetime/timezone-geoclue.h | 22 +++------------------- 3 files changed, 7 insertions(+), 34 deletions(-) (limited to 'include/datetime') diff --git a/include/datetime/clock.h b/include/datetime/clock.h index 0b2a543..0445aab 100644 --- a/include/datetime/clock.h +++ b/include/datetime/clock.h @@ -25,8 +25,6 @@ #include #include -#include // GDBusConnection - #include // std::shared_ptr, std::unique_ptr namespace unity { diff --git a/include/datetime/timezone-file.h b/include/datetime/timezone-file.h index a67c01a..eca9c29 100644 --- a/include/datetime/timezone-file.h +++ b/include/datetime/timezone-file.h @@ -24,9 +24,6 @@ #include // std::string -#include -#include - namespace unity { namespace indicator { namespace datetime { @@ -37,21 +34,15 @@ namespace datetime { class FileTimezone: public Timezone { public: - FileTimezone(); FileTimezone(const std::string& filename); ~FileTimezone(); private: - void set_filename(const std::string& filename); - static void on_file_changed(gpointer gself); - void clear(); - void reload(); - - std::string m_filename; - GFileMonitor * m_monitor = nullptr; - unsigned long m_monitor_handler_id = 0; + class Impl; + friend Impl; + std::unique_ptr impl; - // we have raw pointers and glib tags in here, so disable copying + // we have pointers in here, so disable copying FileTimezone(const FileTimezone&) =delete; FileTimezone& operator=(const FileTimezone&) =delete; }; diff --git a/include/datetime/timezone-geoclue.h b/include/datetime/timezone-geoclue.h index 4a5b726..ab6b815 100644 --- a/include/datetime/timezone-geoclue.h +++ b/include/datetime/timezone-geoclue.h @@ -22,11 +22,6 @@ #include // base class -#include - -#include -#include - namespace unity { namespace indicator { namespace datetime { @@ -41,21 +36,10 @@ public: ~GeoclueTimezone(); private: - static void on_bus_got (GObject*, GAsyncResult*, gpointer); - static void on_client_created (GObject*, GAsyncResult*, gpointer); - static void on_address_changed (GDBusConnection*, const gchar*, const gchar*, const gchar*, const gchar*, GVariant*, gpointer); - static void on_requirements_set (GObject*, GAsyncResult*, gpointer); - static void on_address_started (GObject*, GAsyncResult*, gpointer); - static void on_address_got (GObject*, GAsyncResult*, gpointer); - void setTimezoneFromAddressVariant (GVariant*); - static GVariant * call_finish (GObject*, GAsyncResult*); - - GCancellable * m_cancellable = nullptr; - GDBusConnection * m_connection = nullptr; - std::string m_client_object_path; - guint m_signal_subscription = 0; + struct Impl; + std::unique_ptr impl; - // we've got pointers and gsignal tags in here, so don't allow copying + // we've got pointers in here, so don't allow copying GeoclueTimezone(const GeoclueTimezone&) =delete; GeoclueTimezone& operator=(const GeoclueTimezone&) =delete; }; -- cgit v1.2.3