@@ -144,6 +144,16 @@ public:
144144 return 0;
145145 }
146146
147+ void setIdleHint(bool idle)
148+ {
149+ QDBusMessage msg = QDBusMessage::createMethodCall(LOGIN1_SERVICE,
150+ logindSessionPath,
151+ LOGIN1_SESSION_IFACE,
152+ "SetIdleHint");
153+ msg << idle;
154+ QDBusConnection::systemBus().asyncCall(msg);
155+ }
156+
147157private Q_SLOTS:
148158 void onPropertiesChanged(const QString &iface, const QVariantMap &changedProps, const QStringList &invalidatedProps)
149159 {
@@ -168,16 +178,6 @@ private Q_SLOTS:
168178 }
169179 }
170180
171− void setIdleHint(bool idle)
172− {
173− QDBusMessage msg = QDBusMessage::createMethodCall(LOGIN1_SERVICE,
174− logindSessionPath,
175− LOGIN1_SESSION_IFACE,
176− "SetIdleHint");
177− msg << idle;
178− QDBusConnection::systemBus().asyncCall(msg);
179− }
180−
181181Q_SIGNALS:
182182 void screensaverActiveChanged(bool active);
183183};
@@ -423,6 +423,11 @@ quint32 DBusGnomeScreensaverWrapper::GetActiveTime() const
423423 return d->screensaverActiveTime();
424424}
425425
426+void DBusGnomeScreensaverWrapper::SimulateUserActivity()
427+{
428+ d->setIdleHint(false);
429+}
430+
426431
427432DBusScreensaverWrapper::DBusScreensaverWrapper()
428433 : UnityDBusObject("/org/freedesktop/ScreenSaver", "org.freedesktop.ScreenSaver")
@@ -459,4 +464,9 @@ quint32 DBusScreensaverWrapper::GetSessionIdleTime() const
459464 return QDateTime::fromMSecsSinceEpoch(d->idleSinceUSecTimestamp()/1000).secsTo(QDateTime::currentDateTime());
460465}
461466
467+void DBusScreensaverWrapper::SimulateUserActivity()
468+{
469+ d->setIdleHint(false);
470+}
471+
462472#include "dbusunitysessionservice.moc"