aboutsummaryrefslogtreecommitdiff
path: root/src/clock-watcher.cpp
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2014-04-24 22:43:15 -0500
committerCharles Kerr <charles.kerr@canonical.com>2014-04-24 22:43:15 -0500
commit27b500307fe8035defb510a0d694fa1fa7fa3950 (patch)
treeb5108a91beabf803c4ea4d71a99129718c5a7026 /src/clock-watcher.cpp
parent4008e0a91ebdc1cf5c5715a122fed318124c8802 (diff)
parenta396e6af3cd16530202f6cbecbd45c7a3f6ac893 (diff)
downloadayatana-indicator-datetime-27b500307fe8035defb510a0d694fa1fa7fa3950.tar.gz
ayatana-indicator-datetime-27b500307fe8035defb510a0d694fa1fa7fa3950.tar.bz2
ayatana-indicator-datetime-27b500307fe8035defb510a0d694fa1fa7fa3950.zip
prefer to use ubuntu-platform-hardware-api for wakeups when possible s.t. user-defined alarms/appointments can wake up the phone from sleep to give a snap decision.
Diffstat (limited to 'src/clock-watcher.cpp')
-rw-r--r--src/clock-watcher.cpp81
1 files changed, 0 insertions, 81 deletions
diff --git a/src/clock-watcher.cpp b/src/clock-watcher.cpp
deleted file mode 100644
index 5da66c8..0000000
--- a/src/clock-watcher.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2014 Canonical Ltd.
- *
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 3, as published
- * by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranties of
- * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Charles Kerr <charles.kerr@canonical.com>
- */
-
-#include <datetime/clock-watcher.h>
-
-namespace unity {
-namespace indicator {
-namespace datetime {
-
-/***
-****
-***/
-
-ClockWatcherImpl::ClockWatcherImpl(const std::shared_ptr<Clock>& clock,
- const std::shared_ptr<UpcomingPlanner>& upcoming_planner):
- m_clock(clock),
- m_upcoming_planner(upcoming_planner)
-{
- m_clock->date_changed.connect([this](){
- const auto now = m_clock->localtime();
- g_debug("ClockWatcher %p refretching appointments due to date change: %s", this, now.format("%F %T").c_str());
- m_upcoming_planner->date().set(now);
- });
-
- m_clock->minute_changed.connect([this](){
- g_debug("ClockWatcher %p calling pulse() due to clock minute_changed", this);
- pulse();
- });
-
- m_upcoming_planner->appointments().changed().connect([this](const std::vector<Appointment>&){
- g_debug("ClockWatcher %p calling pulse() due to appointments changed", this);
- pulse();
- });
-
- pulse();
-}
-
-core::Signal<const Appointment&>& ClockWatcherImpl::alarm_reached()
-{
- return m_alarm_reached;
-}
-
-void ClockWatcherImpl::pulse()
-{
- const auto now = m_clock->localtime();
-
- for(const auto& appointment : m_upcoming_planner->appointments().get())
- {
- if (m_triggered.count(appointment.uid))
- continue;
- if (!DateTime::is_same_minute(now, appointment.begin))
- continue;
-
- m_triggered.insert(appointment.uid);
- m_alarm_reached(appointment);
- }
-}
-
-/***
-****
-***/
-
-} // namespace datetime
-} // namespace indicator
-} // namespace unity