/**************************************************************************** ** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. ** ** This file is part of the KD Tools library. ** ** Licensees holding valid commercial KD Tools licenses may use this file in ** accordance with the KD Tools Commercial License Agreement provided with ** the Software. ** ** ** This file may be distributed and/or modified under the terms of the ** GNU Lesser General Public License version 2 and version 3 as published by the ** Free Software Foundation and appearing in the file LICENSE.LGPL included. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** Contact info@kdab.com if any conditions of this licensing are not ** clear to you. ** **********************************************************************/ #ifndef __KDTOOLS__CORE__KDWATCHDOG_H__ #define __KDTOOLS__CORE__KDWATCHDOG_H__ #include #include class KDTOOLSCORE_EXPORT KDWatchdog : public QObject { Q_OBJECT Q_PROPERTY( bool active READ isActive WRITE setActive ) Q_PROPERTY( int timeoutInterval READ timeoutInterval WRITE setTimeoutInterval ) public: explicit KDWatchdog( QObject* parent = 0 ); ~KDWatchdog(); bool isActive() const; int timeoutInterval() const; public Q_SLOTS: void setTimeoutInterval( int interval ); void setActive( bool active ); void activate(); void deactivate(); void resetTimeoutTimer(); Q_SIGNALS: void timeout(); private: class Private; kdtools::pimpl_ptr< Private > d; }; #endif /* __KDTOOLS__CORE__KDWATCHDOG_H__ */