Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'jb48450' into 'master'
[timed] Add API for dismissing snoozed alarms. Contributes to JB#48450

See merge request mer-core/timed!23
  • Loading branch information
adenexter committed Dec 21, 2020
2 parents 6b2dd13 + 64efa87 commit 930727f
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/lib/interface.h
Expand Up @@ -100,6 +100,7 @@ namespace Maemo
qtdbus_method(get_events, (const QList<uint> &cookies), QVariant::fromValue(cookies)) ;
qtdbus_method(cancel, (uint32_t cookie), cookie) ;
qtdbus_method(cancel_events, (const QList<uint> &cookies), QVariant::fromValue(cookies)) ;
qtdbus_method(dismiss, (uint32_t cookie), cookie) ;
qtdbus_method(replace_event, (const Maemo::Timed::Event &e, uint32_t cookie), e.dbus_output(__PRETTY_FUNCTION__), cookie) ;
qtdbus_method(query, (const QMap<QString,QVariant> &attr), QVariant::fromValue(attr)) ;
qtdbus_method(query_attributes, (uint32_t cookie), cookie) ;
Expand Down
7 changes: 7 additions & 0 deletions src/server/adaptor.h
Expand Up @@ -221,6 +221,13 @@ public slots:
timed->cancel_events(cookies, failed) ;
}

bool dismiss(uint cookie, const QDBusMessage &message)
{
Q_UNUSED(message);
log_notice("DBUS::com.nokia.time.dismiss(cookie=%u) by %s", cookie, PEER) ;
return timed->dismiss(cookie_t(cookie)) ;
}

QString ping(const QDBusMessage &message)
{
Q_UNUSED(message);
Expand Down
3 changes: 1 addition & 2 deletions src/server/dsme-mode.h
Expand Up @@ -2,7 +2,6 @@
#define MAEMO_TIMED_DSME_MODE_H

#include <string>
using std::string ;

#include <QObject>
#include <QDBusPendingCallWatcher>
Expand All @@ -19,7 +18,7 @@ struct dsme_mode_t : public QObject

Q_OBJECT ;
Q_SIGNALS:
void mode_reported(const string &mode) ;
void mode_reported(const std::string &mode) ;
void mode_is_changing() ;
public Q_SLOTS:
void init_request() ;
Expand Down
20 changes: 20 additions & 0 deletions src/server/machine.cpp
Expand Up @@ -621,6 +621,26 @@ bool machine_t::dialog_response(cookie_t c, int value)
return true ;
}

bool machine_t::dismiss_by_cookie(cookie_t c)
{
event_t *e = find_event(c);

if (!e) {
log_error("Invalid cookie [%d] in dismiss", c.value()) ;
return false;
}

if (!(e->flags & EventFlags::Snoozing)) {
log_error("Unexpected dismisall of event [%d]", c.value()) ;
return false;
}

request_state(e, state_served) ;

invoke_process_transition_queue() ;
return true;
}

event_t *machine_t::find_event(cookie_t c)
{
log_assert(!transition_in_progress()) ;
Expand Down
1 change: 1 addition & 0 deletions src/server/machine.h
Expand Up @@ -86,6 +86,7 @@ struct machine_t : public QObject
bool cancel_by_cookie(cookie_t c) ;
void cancel_events(const QList<uint> &cookies, QList<uint> &failed) ;
void cancel_event(event_t *e) ;
bool dismiss_by_cookie(cookie_t c);
event_t *find_event(cookie_t c) ;
void alarm_gate(bool open) ;
bool dialog_response(cookie_t c, int value) ;
Expand Down
1 change: 1 addition & 0 deletions src/server/timed.h
Expand Up @@ -124,6 +124,7 @@ struct Timed : public QCoreApplication
bool dialog_response(cookie_t c, int value) ;
bool cancel(cookie_t c) { return am->cancel_by_cookie(c) ; }
void cancel_events(const QList<uint> &cookies, QList<uint> &failed) { am->cancel_events(cookies, failed) ;}
bool dismiss(cookie_t c) { return am->dismiss_by_cookie(c) ; }
void alarm_gate(bool value) { return am->alarm_gate(value) ; }
int default_snooze(int value) { return settings->default_snooze(value) ; }
bool get_alarm_present();
Expand Down

0 comments on commit 930727f

Please sign in to comment.