include
bondcpp
timeout.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009, Willow Garage, Inc.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* * Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* * Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* * Neither the name of the Willow Garage, Inc. nor the names of its
14
* contributors may be used to endorse or promote products derived from
15
* this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
* POSSIBILITY OF SUCH DAMAGE.
28
*/
29
30
#ifndef BONDCPP__TIMEOUT_H_
31
#define BONDCPP__TIMEOUT_H_
32
33
#include <
ros/ros.h
>
34
35
namespace
bond
{
36
37
class
Timeout
38
{
39
public
:
40
Timeout
(
41
const
ros::Duration
&
d
,
42
boost::function<
void
(
void
)> on_timeout = boost::function<
void
(
void
)>());
43
Timeout
(
44
const
ros::WallDuration
&
d
,
45
boost::function<
void
(
void
)> on_timeout = boost::function<
void
(
void
)>());
46
~Timeout
();
47
48
// Undefined what these do to a running timeout
49
void
setDuration
(
const
ros::Duration
&
d
);
50
void
setDuration
(
const
ros::WallDuration
&
d
);
51
52
void
reset
();
53
void
cancel
();
54
ros::WallDuration
left
();
55
56
private
:
57
ros::NodeHandle
nh_
;
58
ros::SteadyTimer
timer_
;
59
ros::SteadyTime
deadline_
;
60
ros::WallDuration
duration_
;
61
boost::function<void(
void
)>
on_timeout_
;
62
63
void
timerCallback
(
const
ros::SteadyTimerEvent
&e);
64
};
65
66
67
}
// namespace bond
68
69
#endif // BONDCPP__TIMEOUT_H_
bond::Timeout::deadline_
ros::SteadyTime deadline_
Definition:
timeout.h:59
bond::Timeout::timerCallback
void timerCallback(const ros::SteadyTimerEvent &e)
Definition:
timeout.cpp:81
bond::Timeout::setDuration
void setDuration(const ros::Duration &d)
Definition:
timeout.cpp:53
ros.h
bond::Timeout::reset
void reset()
Definition:
timeout.cpp:64
bond::Timeout::~Timeout
~Timeout()
Definition:
timeout.cpp:48
ros::SteadyTimer
bond::Timeout::timer_
ros::SteadyTimer timer_
Definition:
timeout.h:58
bond::Timeout
Definition:
timeout.h:37
ros::SteadyTime
d
d
ros::SteadyTimerEvent
bond::Timeout::left
ros::WallDuration left()
Definition:
timeout.cpp:76
bond
Definition:
bond.h:60
bond::Timeout::duration_
ros::WallDuration duration_
Definition:
timeout.h:60
bond::Timeout::nh_
ros::NodeHandle nh_
Definition:
timeout.h:57
bond::Timeout::on_timeout_
boost::function< void(void)> on_timeout_
Definition:
timeout.h:61
bond::Timeout::Timeout
Timeout(const ros::Duration &d, boost::function< void(void)> on_timeout=boost::function< void(void)>())
Definition:
timeout.cpp:36
ros::WallDuration
ros::Duration
ros::NodeHandle
bond::Timeout::cancel
void cancel()
Definition:
timeout.cpp:71
bondcpp
Author(s): Stuart Glaser
autogenerated on Tue Mar 1 2022 23:53:37