summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-04-01 17:23:49 (GMT)
committerTobias Markmann <tm@ayena.de>2016-04-04 08:28:23 (GMT)
commit741c45b74d5f634622eb5f757c49323274fb8937 (patch)
treeb9cfa6c2fe2e79e03cc8cb7c1ca1e9cf45aa5328 /Swiften/EventLoop
parenteddd92ed76ae68cb1e202602fd3ebd11b69191a2 (diff)
downloadswift-741c45b74d5f634622eb5f757c49323274fb8937.zip
swift-741c45b74d5f634622eb5f757c49323274fb8937.tar.bz2
Modernize code to use C++11 shared_ptr instead of Boost's
This change was done by applying the following 'gsed' replacement calls to all source files: 's/\#include <boost\/shared_ptr\.hpp>/\#include <memory>/g' 's/\#include <boost\/enable_shared_from_this\.hpp>/\#include <memory>/g' 's/\#include <boost\/smart_ptr\/make_shared\.hpp>/\#include <memory>/g' 's/\#include <boost\/make_shared\.hpp>/\#include <memory>/g' 's/\#include <boost\/weak_ptr\.hpp>/\#include <memory>/g' 's/boost::make_shared/std::make_shared/g' 's/boost::dynamic_pointer_cast/std::dynamic_pointer_cast/g' 's/boost::shared_ptr/std::shared_ptr/g' 's/boost::weak_ptr/std::weak_ptr/g' 's/boost::enable_shared_from_this/std::enable_shared_from_this/g' The remaining issues have been fixed manually. Test-Information: Code builds on OS X 10.11.4 and unit tests pass. Change-Id: Ia7ae34eab869fb9ad6387a1348426b71ae4acd5f
Diffstat (limited to 'Swiften/EventLoop')
-rw-r--r--Swiften/EventLoop/BoostASIOEventLoop.cpp4
-rw-r--r--Swiften/EventLoop/BoostASIOEventLoop.h9
-rw-r--r--Swiften/EventLoop/Event.h7
-rw-r--r--Swiften/EventLoop/EventLoop.cpp4
-rw-r--r--Swiften/EventLoop/EventLoop.h4
-rw-r--r--Swiften/EventLoop/UnitTest/EventLoopTest.cpp8
6 files changed, 19 insertions, 17 deletions
diff --git a/Swiften/EventLoop/BoostASIOEventLoop.cpp b/Swiften/EventLoop/BoostASIOEventLoop.cpp
index a9d1440..bab8b54 100644
--- a/Swiften/EventLoop/BoostASIOEventLoop.cpp
+++ b/Swiften/EventLoop/BoostASIOEventLoop.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015 Isode Limited.
+ * Copyright (c) 2015-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -10,7 +10,7 @@
namespace Swift {
-BoostASIOEventLoop::BoostASIOEventLoop(boost::shared_ptr<boost::asio::io_service> ioService) : ioService_(ioService) {
+BoostASIOEventLoop::BoostASIOEventLoop(std::shared_ptr<boost::asio::io_service> ioService) : ioService_(ioService) {
}
diff --git a/Swiften/EventLoop/BoostASIOEventLoop.h b/Swiften/EventLoop/BoostASIOEventLoop.h
index c39aaf5..41304c4 100644
--- a/Swiften/EventLoop/BoostASIOEventLoop.h
+++ b/Swiften/EventLoop/BoostASIOEventLoop.h
@@ -1,13 +1,14 @@
/*
- * Copyright (c) 2015 Isode Limited.
+ * Copyright (c) 2015-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
+#include <memory>
+
#include <boost/asio/io_service.hpp>
-#include <boost/shared_ptr.hpp>
#include <boost/thread.hpp>
#include <Swiften/Base/API.h>
@@ -17,7 +18,7 @@
namespace Swift {
class SWIFTEN_API BoostASIOEventLoop : public EventLoop {
public:
- BoostASIOEventLoop(boost::shared_ptr<boost::asio::io_service> ioService);
+ BoostASIOEventLoop(std::shared_ptr<boost::asio::io_service> ioService);
virtual ~BoostASIOEventLoop();
protected:
@@ -26,7 +27,7 @@ namespace Swift {
virtual void eventPosted();
private:
- boost::shared_ptr<boost::asio::io_service> ioService_;
+ std::shared_ptr<boost::asio::io_service> ioService_;
bool isEventInASIOEventLoop_;
boost::recursive_mutex isEventInASIOEventLoopMutex_;
diff --git a/Swiften/EventLoop/Event.h b/Swiften/EventLoop/Event.h
index eecd896..e92bb33 100644
--- a/Swiften/EventLoop/Event.h
+++ b/Swiften/EventLoop/Event.h
@@ -6,15 +6,16 @@
#pragma once
+#include <memory>
+
#include <boost/function.hpp>
-#include <boost/shared_ptr.hpp>
#include <Swiften/EventLoop/EventOwner.h>
namespace Swift {
class Event {
public:
- Event(boost::shared_ptr<EventOwner> owner, const boost::function<void()>& callback) : id(~0U), owner(owner), callback(callback) {
+ Event(std::shared_ptr<EventOwner> owner, const boost::function<void()>& callback) : id(~0U), owner(owner), callback(callback) {
}
bool operator==(const Event& o) const {
@@ -22,7 +23,7 @@ namespace Swift {
}
unsigned int id;
- boost::shared_ptr<EventOwner> owner;
+ std::shared_ptr<EventOwner> owner;
boost::function<void()> callback;
};
}
diff --git a/Swiften/EventLoop/EventLoop.cpp b/Swiften/EventLoop/EventLoop.cpp
index 2434277..730ee0a 100644
--- a/Swiften/EventLoop/EventLoop.cpp
+++ b/Swiften/EventLoop/EventLoop.cpp
@@ -74,7 +74,7 @@ void EventLoop::handleNextEvents() {
}
}
-void EventLoop::postEvent(boost::function<void ()> callback, boost::shared_ptr<EventOwner> owner) {
+void EventLoop::postEvent(boost::function<void ()> callback, std::shared_ptr<EventOwner> owner) {
Event event(owner, callback);
bool callEventPosted = false;
{
@@ -91,7 +91,7 @@ void EventLoop::postEvent(boost::function<void ()> callback, boost::shared_ptr<E
}
}
-void EventLoop::removeEventsFromOwner(boost::shared_ptr<EventOwner> owner) {
+void EventLoop::removeEventsFromOwner(std::shared_ptr<EventOwner> owner) {
boost::recursive_mutex::scoped_lock removeLock(removeEventsMutex_);
boost::recursive_mutex::scoped_lock lock(eventsMutex_);
events_.remove_if(lambda::bind(&Event::owner, lambda::_1) == owner);
diff --git a/Swiften/EventLoop/EventLoop.h b/Swiften/EventLoop/EventLoop.h
index 84a3e9d..c7f7760 100644
--- a/Swiften/EventLoop/EventLoop.h
+++ b/Swiften/EventLoop/EventLoop.h
@@ -33,13 +33,13 @@ namespace Swift {
* An optional \ref EventOwner can be passed, allowing later removal of events that have not yet been
* executed using the \ref removeEventsFromOwner method.
*/
- void postEvent(boost::function<void ()> event, boost::shared_ptr<EventOwner> owner = boost::shared_ptr<EventOwner>());
+ void postEvent(boost::function<void ()> event, std::shared_ptr<EventOwner> owner = std::shared_ptr<EventOwner>());
/**
* The \ref removeEventsFromOwner method removes all events from the specified \ref owner from the
* event queue.
*/
- void removeEventsFromOwner(boost::shared_ptr<EventOwner> owner);
+ void removeEventsFromOwner(std::shared_ptr<EventOwner> owner);
protected:
/**
diff --git a/Swiften/EventLoop/UnitTest/EventLoopTest.cpp b/Swiften/EventLoop/UnitTest/EventLoopTest.cpp
index 1028b7e..55715d0 100644
--- a/Swiften/EventLoop/UnitTest/EventLoopTest.cpp
+++ b/Swiften/EventLoop/UnitTest/EventLoopTest.cpp
@@ -44,8 +44,8 @@ class EventLoopTest : public CppUnit::TestFixture {
void testRemove() {
SimpleEventLoop testling;
- boost::shared_ptr<MyEventOwner> eventOwner1(new MyEventOwner());
- boost::shared_ptr<MyEventOwner> eventOwner2(new MyEventOwner());
+ std::shared_ptr<MyEventOwner> eventOwner1(new MyEventOwner());
+ std::shared_ptr<MyEventOwner> eventOwner2(new MyEventOwner());
testling.postEvent(boost::bind(&EventLoopTest::logEvent, this, 1), eventOwner1);
testling.postEvent(boost::bind(&EventLoopTest::logEvent, this, 2), eventOwner2);
@@ -62,7 +62,7 @@ class EventLoopTest : public CppUnit::TestFixture {
void testHandleEvent_Recursive() {
DummyEventLoop testling;
- boost::shared_ptr<MyEventOwner> eventOwner(new MyEventOwner());
+ std::shared_ptr<MyEventOwner> eventOwner(new MyEventOwner());
testling.postEvent(boost::bind(&EventLoopTest::runEventLoop, this, &testling, eventOwner), eventOwner);
testling.postEvent(boost::bind(&EventLoopTest::logEvent, this, 0), eventOwner);
@@ -78,7 +78,7 @@ class EventLoopTest : public CppUnit::TestFixture {
void logEvent(int i) {
events_.push_back(i);
}
- void runEventLoop(DummyEventLoop* loop, boost::shared_ptr<MyEventOwner> eventOwner) {
+ void runEventLoop(DummyEventLoop* loop, std::shared_ptr<MyEventOwner> eventOwner) {
loop->processEvents();
CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(events_.size()));
loop->postEvent(boost::bind(&EventLoopTest::logEvent, this, 1), eventOwner);