- static void setProfileEvent(Profile p, QTime event_time) {
- // Get event cookie
- QSettings settings("TimedSilencer", "TimedSilencer");
- cookie_t cookie;
- if(p == SILENT)
- cookie = settings.value("silencing_cookie", 0).toLongLong();
- else
- cookie = settings.value("unsilencing_cookie", 0).toLongLong();
- alarm_event_t *eve = 0;
- if(cookie == 0 || (eve = alarmd_event_get(cookie)) == 0) {
- qDebug("Profile event does not exist yet, creating it...");
- // The event does not exist yet
- newProfileEvent(p, event_time);
- return;
+ static void setProfileEvents(QByteArray event_id) {
+ setProfileEvents(ProfileEvent::findByID(event_id));
+ }
+
+ static bool checkIfStillActive(ProfileEvent *pe) {
+ Q_ASSERT(pe->activated);
+ foreach(const long &cookie, pe->alarmd_cookies) {
+ alarm_event_t *eve = 0;
+ if((eve = alarmd_event_get(cookie)) != 0) {
+ // Free all dynamic memory associated with the alarm event
+ alarm_event_delete(eve);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ static void setProfileEvents(ProfileEvent *pe) {
+ Q_ASSERT(pe->activated);
+ // First clear old alarmd events
+ foreach(const long &cookie, pe->alarmd_cookies) {
+ qDebug("Unregistering event with cookie %ld", cookie);
+ alarmd_event_del(cookie);