summaryrefslogtreecommitdiffstats
path: root/lib/util/kdevjobtimer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/util/kdevjobtimer.cpp')
-rw-r--r--lib/util/kdevjobtimer.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/util/kdevjobtimer.cpp b/lib/util/kdevjobtimer.cpp
new file mode 100644
index 00000000..b7f9e2ae
--- /dev/null
+++ b/lib/util/kdevjobtimer.cpp
@@ -0,0 +1,39 @@
+/***************************************************************************
+ * Copyright (C) 2006 by Jens Dagerbo *
+ * *
+ * 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 "kdevjobtimer.h"
+
+KDevJobTimer::KDevJobTimer( void * payload, QObject *parent, const char *name)
+ : QTimer(parent, name)
+{
+ m_payload = payload;
+ connect( this, SIGNAL(timeout()), this, SLOT(slotTimeout()) );
+}
+
+KDevJobTimer::~KDevJobTimer()
+{
+}
+
+void KDevJobTimer::singleShot(int msec, QObject * receiver, const char * member, void * payload)
+{
+ KDevJobTimer * p = new KDevJobTimer( payload );
+ p->start( msec, true );
+ connect( p, SIGNAL(timeout(void*)), receiver, member );
+}
+
+void KDevJobTimer::slotTimeout()
+{
+ emit timeout( m_payload );
+ m_payload = 0;
+ deleteLater();
+}
+
+#include "kdevjobtimer.moc"