]> git.lyx.org Git - lyx.git/blobdiff - src/Timeout.h
citation patch from Angus
[lyx.git] / src / Timeout.h
index fb6797116af007ba64f668842392ba8a990be21e..264cef33ef40662169d27dcb402d64d3159ff749 100644 (file)
@@ -1,19 +1,40 @@
 // -*- C++ -*-
+/* This file is part of
+ * ====================================================== 
+ * 
+ *           LyX, The Document Processor
+ *        
+ *           Copyright 1995 Matthias Ettrich
+ *           Copyright 1995-2000 The LyX Team.
+ *
+ * ====================================================== */
+
 #ifndef TIMEOUT_H
 #define TIMEOUT_H
 
+#include <config.h>
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include <sigc++/signal_system.h>
+
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::Signal0;
+#endif
+
 /** This class executes the callback when the timeout expires.
     This class currently uses a regular callback, later it will use
     signals and slots to provide the same.
 */
 class Timeout {
 public:
-       ///
-       typedef void (*TimeoutCallback)(void *);
-       
        ///
        enum Type {
+               ///
                ONETIME,
+               ///
                CONTINOUS
        };
        ///
@@ -29,9 +50,9 @@ public:
        ///
        void restart();
        ///
-       void callback(TimeoutCallback cb, void * data);
+       Signal0<void> timeout;
        ///
-       void callback();
+       void emit();
        ///
        void setType(Type t);
        ///
@@ -40,13 +61,9 @@ private:
        ///
        Type type;
        ///
-       int timeout;
+       int timeout_ms;
        ///
        int timeout_id;
-       ///
-       TimeoutCallback callback_;
-       ///
-       void * data_;
 };
 
 #endif