aboutsummaryrefslogtreecommitdiff
path: root/include/datetime/planner-eds.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/datetime/planner-eds.h')
-rw-r--r--include/datetime/planner-eds.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/include/datetime/planner-eds.h b/include/datetime/planner-eds.h
index 3d558df..95b5d79 100644
--- a/include/datetime/planner-eds.h
+++ b/include/datetime/planner-eds.h
@@ -20,8 +20,9 @@
#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
@@ -31,18 +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,
+ EdsPlanner(const std::shared_ptr<EdsEngine>& eds_engine,
const std::shared_ptr<Timezone>& timezone);
- virtual ~PlannerEds();
+ 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