diff -r 63339781d179 -r 09b1ac925e3f securitydialogs/Autolock/autolockuseractivityservice/stub/src/autolockuseractivityservice_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitydialogs/Autolock/autolockuseractivityservice/stub/src/autolockuseractivityservice_p.cpp Tue Aug 31 16:04:40 2010 +0300 @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: autolockuseractivityservice_p.cpp +* +*/ + +#include "autolockuseractivityservice.h" +#include "autolockuseractivityservice_p.h" + +#include +#include + +// ======== MEMBER FUNCTIONS ======== + +/*! + Constructor. + \param servicePublic public implementation. +*/ +AutolockUserActivityServicePrivate::AutolockUserActivityServicePrivate(AutolockUserActivityService *servicePublic) : + m_q(servicePublic), mInactivityPeriod(9) +{ + mActivityTimer = new QTimer(); + QObject::connect(mActivityTimer, SIGNAL(timeout()), m_q, SIGNAL(active())); + + mInactivityTimer = new QTimer(); + QObject::connect(mInactivityTimer, SIGNAL(timeout()), m_q, SIGNAL(notActive())); +} + +/*! + Destructor. +*/ +AutolockUserActivityServicePrivate::~AutolockUserActivityServicePrivate() +{ + delete mActivityTimer; + delete mInactivityTimer; +} + +/*! + Sets the inactivity period after which to emit signal of inactivity. + \param seconds after which inactivity is detected. +*/ +void AutolockUserActivityServicePrivate::setInactivityPeriod(int seconds) +{ + mInactivityPeriod = seconds; + if (isWatching()) { + mInactivityTimer->start(seconds * 1000); + } +} + +/*! + Retrives the current inactivity period setting. + \retval inactivity period set. +*/ +int AutolockUserActivityServicePrivate::inactivityPeriod() const +{ + return mInactivityPeriod; +} + +/*! + Starts or stops activity manager user activity watching. + \param shouldWatch determines if we shoul start watching or stop watching. +*/ +void AutolockUserActivityServicePrivate::watch(bool shouldWatch) +{ + if (shouldWatch && !isWatching()) { + mActivityTimer->start(5000); + mInactivityTimer->start(mInactivityPeriod * 1000); + } else if (!shouldWatch && isWatching()) { + mActivityTimer->stop(); + mInactivityTimer->stop(); + } +} + +/*! + Checks if activity service is currently watching for user activity. + \retval true if user acitivity service is active. +*/ +bool AutolockUserActivityServicePrivate::isWatching() const +{ + return (mActivityTimer->isActive() || mInactivityTimer->isActive()); +} + +