signon 8.54

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

signondisposable.h
Go to the documentation of this file.
1 /*
2 * This file is part of signon
3 *
4 * Copyright (C) 2010 Nokia Corporation.
5 *
6 * Contact: Alberto Mardegan <alberto.mardegan@canonical.com>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * version 2.1 as published by the Free Software Foundation.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA
21 */
22
23 #ifndef SIGNONDISPOSABLE_H_
24 #define SIGNONDISPOSABLE_H_
25
26 #include "signond-common.h"
27
28 #include <QtCore>
29 #include <time.h>
30
31 namespace SignonDaemonNS {
32
39 class SignonDisposable: public QObject
40 {
41 Q_OBJECT
42
43 protected:
44 virtual ~SignonDisposable();
45
46 public:
54 SignonDisposable(int maxInactivity, QObject *parent);
55
60 virtual void destroy() { deleteLater(); }
61
66 void keepInUse() const;
67
73 void setAutoDestruct(bool value = true) const;
74
83 static void invokeOnIdle(int maxInactivity,
84 QObject *object, const char *member);
85
86 public Q_SLOTS:
91 static void destroyUnused();
92
93 private:
94 int maxInactivity;
95 mutable time_t lastActivity;
96 mutable bool autoDestruct;
97 }; //class SignonDaemon
98
99 } //namespace SignonDaemonNS
100
101 #endif /* SIGNONDISPOSABLE_H_ */
SignonDaemonNS::SignonDisposable::SignonDisposable
SignonDisposable(int maxInactivity, QObject *parent)
Construct an object that can be automatically destroyed after having being unused for seconds...
Definition: signondisposable.cpp:33
SignonDaemonNS::SignonDisposable
Base class for server objects that can be automatically destroyed after a certain period of inactivit...
Definition: signondisposable.h:39
SignonDaemonNS::SignonDisposable::invokeOnIdle
static void invokeOnIdle(int maxInactivity, QObject *object, const char *member)
Invoke the specified method on when there are no disposable objects for more than seconds...
Definition: signondisposable.cpp:81
signond-common.h
SignonDaemonNS::SignonDisposable::destroyUnused
static void destroyUnused()
Deletes all disposable object for which the inactivity time has elapsed.
Definition: signondisposable.cpp:109
SignonDaemonNS::SignonDisposable::destroy
virtual void destroy()
Performs any predestruction operations and the destruction itself.
Definition: signondisposable.h:60
SignonDaemonNS::SignonDisposable::~SignonDisposable
virtual ~SignonDisposable()
Definition: signondisposable.cpp:52
SignonDaemonNS::SignonDisposable::setAutoDestruct
void setAutoDestruct(bool value=true) const
Mark the object as used.
Definition: signondisposable.cpp:75
SignonDaemonNS::SignonDisposable::keepInUse
void keepInUse() const
Mark the object as used.
Definition: signondisposable.cpp:57