RSB
0.17.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
AsioServiceContext.h
Go to the documentation of this file.
1
/* ============================================================
2
*
3
* This file is part of the RSB project
4
*
5
* Copyright (C) 2014 Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
6
*
7
* This file may be licensed under the terms of the
8
* GNU Lesser General Public License Version 3 (the ``LGPL''),
9
* or (at your option) any later version.
10
*
11
* Software distributed under the License is distributed
12
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
13
* express or implied. See the LGPL for the specific language
14
* governing rights and limitations.
15
*
16
* You should have received a copy of the LGPL along with this
17
* program. If not, go to http://www.gnu.org/licenses/lgpl.html
18
* or write to the Free Software Foundation, Inc.,
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
*
21
* The development of this software was supported by:
22
* CoR-Lab, Research Institute for Cognition and Robotics
23
* Bielefeld University
24
*
25
* ============================================================ */
26
27
#pragma once
28
29
#include <boost/asio.hpp>
30
#include <boost/shared_ptr.hpp>
31
#include <boost/thread.hpp>
32
33
#include <rsc/logging/Logger.h>
34
35
#include "rsb/rsbexports.h"
36
37
namespace
rsb
{
38
namespace
transport {
39
47
class
RSB_EXPORT
AsioServiceContext
{
48
public
:
49
AsioServiceContext
();
50
virtual
~
AsioServiceContext
();
51
52
typedef
boost::shared_ptr<boost::asio::io_service>
ServicePtr
;
53
54
ServicePtr getService();
55
56
private
:
57
typedef
boost::shared_ptr<boost::asio::io_service::work>
WorkPtr
;
58
59
rsc::logging::LoggerPtr
logger
;
60
ServicePtr
service
;
61
WorkPtr
keepAlive
;
62
boost::thread
thread
;
63
};
64
65
typedef
boost::shared_ptr<AsioServiceContext>
AsioServiceContextPtr
;
66
67
}
68
}
rsb
Definition:
CommException.cpp:31
rsb::transport::AsioServiceContextPtr
boost::shared_ptr< AsioServiceContext > AsioServiceContextPtr
Definition:
AsioServiceContext.h:65
rsb::transport::AsioServiceContext
A class that keeps a boost asio service alive as long as this class lives.
Definition:
AsioServiceContext.h:47
rsb::transport::AsioServiceContext::service
ServicePtr service
Definition:
AsioServiceContext.h:60
rsb::transport::AsioServiceContext::keepAlive
WorkPtr keepAlive
Definition:
AsioServiceContext.h:61
rsb::transport::AsioServiceContext::WorkPtr
boost::shared_ptr< boost::asio::io_service::work > WorkPtr
Definition:
AsioServiceContext.h:57
rsb::transport::AsioServiceContext::logger
rsc::logging::LoggerPtr logger
Definition:
AsioServiceContext.h:59
rsb::transport::AsioServiceContext::thread
boost::thread thread
Definition:
AsioServiceContext.h:62
rsb::transport::AsioServiceContext::ServicePtr
boost::shared_ptr< boost::asio::io_service > ServicePtr
Definition:
AsioServiceContext.h:52
rsb
transport
AsioServiceContext.h
Generated by
1.8.11