summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/StreamStack')
-rw-r--r--Swiften/StreamStack/WhitespacePingLayer.cpp10
-rw-r--r--Swiften/StreamStack/WhitespacePingLayer.h9
2 files changed, 6 insertions, 13 deletions
diff --git a/Swiften/StreamStack/WhitespacePingLayer.cpp b/Swiften/StreamStack/WhitespacePingLayer.cpp
index b9fbbd1..b10ba1a 100644
--- a/Swiften/StreamStack/WhitespacePingLayer.cpp
+++ b/Swiften/StreamStack/WhitespacePingLayer.cpp
@@ -6,13 +6,9 @@ namespace Swift {
static const int TIMEOUT_MILLISECONDS = 60000;
WhitespacePingLayer::WhitespacePingLayer() {
- timer_ = new Timer(TIMEOUT_MILLISECONDS);
- timer_->onTick.connect(boost::bind(&WhitespacePingLayer::handleTimerTick, this));
- timer_->start();
-}
-
-WhitespacePingLayer::~WhitespacePingLayer() {
- delete timer_;
+ timer = boost::shared_ptr<Timer>(new Timer(TIMEOUT_MILLISECONDS));
+ timer->onTick.connect(boost::bind(&WhitespacePingLayer::handleTimerTick, this));
+ timer->start();
}
void WhitespacePingLayer::writeData(const ByteArray& data) {
diff --git a/Swiften/StreamStack/WhitespacePingLayer.h b/Swiften/StreamStack/WhitespacePingLayer.h
index 01fd3e3..ed0648b 100644
--- a/Swiften/StreamStack/WhitespacePingLayer.h
+++ b/Swiften/StreamStack/WhitespacePingLayer.h
@@ -1,7 +1,7 @@
-#ifndef SWIFTEN_WhitespacePingLayer_H
-#define SWIFTEN_WhitespacePingLayer_H
+#pragma once
#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
#include "Swiften/StreamStack/StreamLayer.h"
@@ -11,7 +11,6 @@ namespace Swift {
class WhitespacePingLayer : public StreamLayer, boost::noncopyable {
public:
WhitespacePingLayer();
- ~WhitespacePingLayer();
void writeData(const ByteArray& data);
void handleDataRead(const ByteArray& data);
@@ -20,8 +19,6 @@ namespace Swift {
void handleTimerTick();
private:
- Timer* timer_;
+ boost::shared_ptr<Timer> timer;
};
}
-
-#endif