aboutsummaryrefslogtreecommitdiff
path: root/include/datetime/planner-eds.h
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2014-03-14 17:37:00 +0000
committerCI bot <ps-jenkins@lists.canonical.com>2014-03-14 17:37:00 +0000
commit9f3136ba1c79020c10e58fa53e87a84bcce7dc29 (patch)
treefa0c19e8e5c7f362b7a04f0ad3e6f57d96c1462c /include/datetime/planner-eds.h
parent39d8fc602053397a3596d6d35afb5738b09b05a6 (diff)
parent35b0a3601f1d7d9f757467ffc7b909c461c2f49d (diff)
downloadayatana-indicator-datetime-9f3136ba1c79020c10e58fa53e87a84bcce7dc29.tar.gz
ayatana-indicator-datetime-9f3136ba1c79020c10e58fa53e87a84bcce7dc29.tar.bz2
ayatana-indicator-datetime-9f3136ba1c79020c10e58fa53e87a84bcce7dc29.zip
When the user clicks on a date in the calendar, update the "Upcoming Events" section to show events starting at that date. Fixes: 1290169, 1290171, 1291468
Diffstat (limited to 'include/datetime/planner-eds.h')
-rw-r--r--include/datetime/planner-eds.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/include/datetime/planner-eds.h b/include/datetime/planner-eds.h
index a99f611..95b5d79 100644
--- a/include/datetime/planner-eds.h
+++ b/include/datetime/planner-eds.h
@@ -20,8 +20,10 @@
#ifndef INDICATOR_DATETIME_PLANNER_EDS_H
#define INDICATOR_DATETIME_PLANNER_EDS_H
-#include <datetime/clock.h>
-#include <datetime/planner.h>
+#include <datetime/planner-range.h>
+
+#include <datetime/engine-eds.h>
+#include <datetime/timezone.h>
#include <memory> // shared_ptr, unique_ptr
@@ -30,17 +32,24 @@ namespace indicator {
namespace datetime {
/**
- * \brief Planner which uses EDS as its backend
+ * \brief An EDS-based #RangePlanner
*/
-class PlannerEds: public Planner
+class EdsPlanner: public RangePlanner
{
public:
- PlannerEds(const std::shared_ptr<Clock>& clock);
- virtual ~PlannerEds();
+ EdsPlanner(const std::shared_ptr<EdsEngine>& eds_engine,
+ const std::shared_ptr<Timezone>& timezone);
+ virtual ~EdsPlanner();
+
+ core::Property<std::vector<Appointment>>& appointments();
+
+protected:
+ void rebuild_now();
private:
- class Impl;
- std::unique_ptr<Impl> p;
+ std::shared_ptr<EdsEngine> m_engine;
+ std::shared_ptr<Timezone> m_timezone;
+ core::Property<std::vector<Appointment>> m_appointments;
};
} // namespace datetime