RSB
0.13.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
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::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 on Sat Nov 5 2016 00:34:36 for RSB by
1.8.6