Main Page
Namespaces
Classes
Files
File List
File Members
src
resource
resource_manager.cpp
Go to the documentation of this file.
1
/*********************************************************************
2
*
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2018, University of Luxembourg
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/or other materials provided
17
* with the distribution.
18
* * Neither the name of University of Luxembourg nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*
35
* Author: Maciej Zurad
36
*********************************************************************/
37
#include <
robot_activity/resource/resource_manager.h
>
38
39
namespace
robot_activity
40
{
41
namespace
resource
42
{
43
44
template
<
class
Resource>
45
void
ResourceManager<Resource>::acquireAll
(
const
ros::NodeHandlePtr
& node_handle)
46
{
47
for
(
auto
&& r : resources_)
48
r->acquire(node_handle);
49
}
50
51
template
<
class
Resource>
52
void
ResourceManager<Resource>::releaseAll
()
53
{
54
for
(
auto
&& r : resources_)
55
r->release();
56
}
57
58
template
<
class
Resource>
59
void
ResourceManager<Resource>::pauseAll
()
60
{
61
for
(
auto
&& r : resources_)
62
r->pause();
63
}
64
65
template
<
class
Resource>
66
void
ResourceManager<Resource>::resumeAll
()
67
{
68
for
(
auto
&& r : resources_)
69
r->resume();
70
}
71
72
template
class
ResourceManager<ManagedSubscriber>
;
73
template
class
ResourceManager<ManagedServiceServer>
;
74
75
}
// namespace resource
76
}
// namespace robot_activity
robot_activity::resource::ResourceManager::pauseAll
void pauseAll()
Pauses all managed resources.
Definition:
resource_manager.cpp:59
robot_activity::resource::ResourceManager::resumeAll
void resumeAll()
Resumes all managed resources.
Definition:
resource_manager.cpp:66
robot_activity::resource::ResourceManager::acquireAll
void acquireAll(const ros::NodeHandlePtr &node_handle)
Acquires all managed resources.
Definition:
resource_manager.cpp:45
boost::shared_ptr< NodeHandle >
robot_activity
Definition:
isolated_async_timer.h:53
robot_activity::resource::ResourceManager::releaseAll
void releaseAll()
Releases all managed resources.
Definition:
resource_manager.cpp:52
resource_manager.h
ResourceManager<Resource> class implements a resource manager for managed resources, such as ManagedSubscriber and ManagedServiceServer.
robot_activity::resource::ResourceManager< ManagedSubscriber >
robot_activity
Author(s): Maciej ZURAD
autogenerated on Thu Jun 6 2019 19:32:17