summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-11-12 19:48:32 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-11-12 20:41:59 (GMT)
commit8231ecc07c1c7d5e260a2795b0660de157501850 (patch)
tree935baa855914d632086fcac5f26330c2f0261216 /Swiften/Network/BoostTimer.h
parent48bb7441f913144d6a20687ff79264e4631156f0 (diff)
downloadswift-8231ecc07c1c7d5e260a2795b0660de157501850.zip
swift-8231ecc07c1c7d5e260a2795b0660de157501850.tar.bz2
Created a TimerFactory, and abstracted Timer.
Diffstat (limited to 'Swiften/Network/BoostTimer.h')
-rw-r--r--Swiften/Network/BoostTimer.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/Swiften/Network/BoostTimer.h b/Swiften/Network/BoostTimer.h
new file mode 100644
index 0000000..9b27cf9
--- /dev/null
+++ b/Swiften/Network/BoostTimer.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include <boost/asio.hpp>
+#include <boost/thread.hpp>
+#include <boost/enable_shared_from_this.hpp>
+
+#include "Swiften/EventLoop/EventOwner.h"
+#include "Swiften/Network/Timer.h"
+
+namespace Swift {
+ class BoostTimer : public Timer, public EventOwner, public boost::enable_shared_from_this<BoostTimer> {
+ public:
+ BoostTimer(int milliseconds, boost::asio::io_service* service);
+
+ virtual void start();
+ virtual void stop();
+
+ private:
+ void handleTimerTick(const boost::system::error_code& error);
+
+ private:
+ int timeout;
+ boost::asio::deadline_timer timer;
+ };
+}