summaryrefslogtreecommitdiffstats
path: root/lib/util/tdevjobtimer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/util/tdevjobtimer.cpp')
-rw-r--r--lib/util/tdevjobtimer.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/util/tdevjobtimer.cpp b/lib/util/tdevjobtimer.cpp
new file mode 100644
index 00000000..0e1465e0
--- /dev/null
+++ b/lib/util/tdevjobtimer.cpp
@@ -0,0 +1,39 @@
+/***************************************************************************
+ * Copyright (C) 2006 by Jens Dagerbo *
+ * jens.dagerbo@swipnet.se *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "tdevjobtimer.h"
+
+TDevJobTimer::TDevJobTimer( void * payload, TQObject *parent, const char *name)
+ : TQTimer(parent, name)
+{
+ m_payload = payload;
+ connect( this, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotTimeout()) );
+}
+
+TDevJobTimer::~TDevJobTimer()
+{
+}
+
+void TDevJobTimer::singleShot(int msec, TQObject * receiver, const char * member, void * payload)
+{
+ TDevJobTimer * p = new TDevJobTimer( payload );
+ p->start( msec, true );
+ connect( p, TQT_SIGNAL(timeout(void*)), receiver, member );
+}
+
+void TDevJobTimer::slotTimeout()
+{
+ emit timeout( m_payload );
+ m_payload = 0;
+ deleteLater();
+}
+
+#include "tdevjobtimer.moc"