aboutsummaryrefslogtreecommitdiff
path: root/include/datetime/locations.h
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2014-01-14 23:07:10 -0600
committerCharles Kerr <charles.kerr@canonical.com>2014-01-14 23:07:10 -0600
commitee64bb2698adfe27e55615a8856b0e2c78ad8469 (patch)
treeb8fb6e1440ac700f7f51e5c765303abb315c6399 /include/datetime/locations.h
parent3b8833efe6ab21387b6f73b4a4ef757445801623 (diff)
downloadayatana-indicator-datetime-ee64bb2698adfe27e55615a8856b0e2c78ad8469.tar.gz
ayatana-indicator-datetime-ee64bb2698adfe27e55615a8856b0e2c78ad8469.tar.bz2
ayatana-indicator-datetime-ee64bb2698adfe27e55615a8856b0e2c78ad8469.zip
Function: add fully-tested ActionGroups, per-profile Menus, state object.
Form: Add code annotations/comments. Remove dead code. Use Mir style guide. Todo: GSettings toggles, sync with new dbus-test-runner API, get GNOME Panel building again
Diffstat (limited to 'include/datetime/locations.h')
-rw-r--r--include/datetime/locations.h38
1 files changed, 27 insertions, 11 deletions
diff --git a/include/datetime/locations.h b/include/datetime/locations.h
index a06d1cc..ee67615 100644
--- a/include/datetime/locations.h
+++ b/include/datetime/locations.h
@@ -20,6 +20,8 @@
#ifndef INDICATOR_DATETIME_LOCATIONS_H
#define INDICATOR_DATETIME_LOCATIONS_H
+#include <datetime/date-time.h>
+
#include <core/property.h>
#include <string>
@@ -31,28 +33,42 @@ namespace datetime {
/**
* \brief A physical place and its timezone; eg, "America/Chicago" + "Oklahoma City"
+ *
+ * @see Locations
*/
-struct Location
+class Location
{
- /** timezone; eg, "America/Chicago" */
- std::string zone;
-
- /* human-readable location name; eg, "Oklahoma City" */
- std::string name;
+public:
+ const std::string& zone() const { return m_zone; }
- /** offset from UTC in microseconds */
- int64_t offset = 0;
+ const std::string& name() const { return m_name; }
bool operator== (const Location& that) const
{
- return (name == that.name) && (zone == that.zone) && (offset == that.offset);
+ return (name() == that.name()) &&
+ (zone() == that.zone()) &&
+ (m_offset == that.m_offset);
}
Location (const std::string& zone, const std::string& name);
+
+private:
+
+ /** timezone; eg, "America/Chicago" */
+ std::string m_zone;
+
+ /* human-readable location name; eg, "Oklahoma City" */
+ std::string m_name;
+
+ /** offset from UTC in microseconds */
+ int64_t m_offset = 0;
};
/**
- * A container for an ordered list of Locations.
+ * Container which holds an ordered list of Locations
+ *
+ * @see Location
+ * @see State
*/
class Locations
{
@@ -61,7 +77,7 @@ public:
virtual ~Locations() =default;
/** \brief an ordered list of Location items */
- core::Property<std::vector<Location> > locations;
+ core::Property<std::vector<Location>> locations;
};
} // namespace datetime