Main Page
Namespaces
Classes
Files
File List
File Members
include
jsk_topic_tools
stealth_relay.h
Go to the documentation of this file.
1
// -*- mode: C++ -*-
2
/*********************************************************************
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2017, JSK Lab
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/o2r other materials provided
17
* with the distribution.
18
* * Neither the name of the JSK Lab 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
/*
36
* stealth_relay.h
37
* Author: Furushchev <furushchev@jsk.imi.i.u-tokyo.ac.jp>
38
*/
39
40
41
#ifndef STEALTH_RELAY_H__
42
#define STEALTH_RELAY_H__
43
44
#include <boost/thread.hpp>
45
#include <
nodelet/nodelet.h
>
46
#include <
topic_tools/shape_shifter.h
>
47
48
#include <dynamic_reconfigure/server.h>
49
#include <jsk_topic_tools/StealthRelayConfig.h>
50
51
52
namespace
jsk_topic_tools
53
{
54
class
StealthRelay
:
public
nodelet::Nodelet
55
{
56
typedef
boost::shared_ptr<topic_tools::ShapeShifter const>
AnyMsgConstPtr
;
57
typedef
StealthRelayConfig
Config
;
58
protected
:
59
virtual
void
onInit
();
60
virtual
void
subscribe
();
61
virtual
void
unsubscribe
();
62
virtual
bool
isSubscribed
();
63
virtual
void
configCallback
(Config& config, uint32_t level);
64
virtual
void
inputCallback
(
const
ros::MessageEvent<topic_tools::ShapeShifter>
& event);
65
virtual
void
inputCallback
(
const
AnyMsgConstPtr& msg);
66
virtual
void
timerCallback
(
const
ros::TimerEvent
& event);
67
virtual
int
getNumOtherSubscribers
(
const
std::string& name);
68
69
boost::mutex
mutex_
;
70
boost::shared_ptr<ros::NodeHandle>
nh_
,
pnh_
;
71
boost::shared_ptr<dynamic_reconfigure::Server<Config>
>
srv_
;
72
ros::Publisher
pub_
;
73
ros::Subscriber
sub_
;
74
ros::Timer
poll_timer_
;
75
std::string
monitor_topic_
;
76
double
monitor_rate_
;
77
int
queue_size_
;
78
bool
enable_monitor_
;
79
bool
subscribed_
;
80
bool
advertised_
;
81
};
82
}
83
84
#endif // STEALTH_RELAY_H__
jsk_topic_tools::StealthRelay::monitor_topic_
std::string monitor_topic_
Definition:
stealth_relay.h:75
jsk_topic_tools::StealthRelay::nh_
boost::shared_ptr< ros::NodeHandle > nh_
Definition:
stealth_relay.h:70
jsk_topic_tools::StealthRelay::sub_
ros::Subscriber sub_
Definition:
stealth_relay.h:73
jsk_topic_tools::StealthRelay::poll_timer_
ros::Timer poll_timer_
Definition:
stealth_relay.h:74
jsk_topic_tools::StealthRelay::onInit
virtual void onInit()
Definition:
stealth_relay_nodelet.cpp:45
jsk_topic_tools::StealthRelay::timerCallback
virtual void timerCallback(const ros::TimerEvent &event)
Definition:
stealth_relay_nodelet.cpp:155
jsk_topic_tools::StealthRelay::queue_size_
int queue_size_
Definition:
stealth_relay.h:77
boost::shared_ptr< topic_tools::ShapeShifter const >
jsk_topic_tools::StealthRelay::Config
StealthRelayConfig Config
Definition:
stealth_relay.h:57
jsk_topic_tools::StealthRelay::advertised_
bool advertised_
Definition:
stealth_relay.h:80
jsk_topic_tools::StealthRelay::subscribed_
bool subscribed_
Definition:
stealth_relay.h:79
jsk_topic_tools::StealthRelay::configCallback
virtual void configCallback(Config &config, uint32_t level)
Definition:
stealth_relay_nodelet.cpp:100
nodelet.h
nodelet::Nodelet
jsk_topic_tools::StealthRelay::subscribe
virtual void subscribe()
Definition:
stealth_relay_nodelet.cpp:80
ros::Subscriber
shape_shifter.h
ros::MessageEvent
jsk_topic_tools
Definition:
block_nodelet.h:42
jsk_topic_tools::StealthRelay::getNumOtherSubscribers
virtual int getNumOtherSubscribers(const std::string &name)
Definition:
stealth_relay_nodelet.cpp:173
jsk_topic_tools::StealthRelay::pub_
ros::Publisher pub_
Definition:
stealth_relay.h:72
jsk_topic_tools::StealthRelay::enable_monitor_
bool enable_monitor_
Definition:
stealth_relay.h:78
jsk_topic_tools::StealthRelay::mutex_
boost::mutex mutex_
Definition:
stealth_relay.h:69
jsk_topic_tools::StealthRelay::AnyMsgConstPtr
boost::shared_ptr< topic_tools::ShapeShifter const > AnyMsgConstPtr
Definition:
stealth_relay.h:56
jsk_topic_tools::StealthRelay::isSubscribed
virtual bool isSubscribed()
Definition:
stealth_relay_nodelet.cpp:95
jsk_topic_tools::StealthRelay::pnh_
boost::shared_ptr< ros::NodeHandle > pnh_
Definition:
stealth_relay.h:70
jsk_topic_tools::StealthRelay::srv_
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
Definition:
stealth_relay.h:71
ros::Publisher
jsk_topic_tools::StealthRelay::monitor_rate_
double monitor_rate_
Definition:
stealth_relay.h:76
jsk_topic_tools::StealthRelay::inputCallback
virtual void inputCallback(const ros::MessageEvent< topic_tools::ShapeShifter > &event)
Definition:
stealth_relay_nodelet.cpp:133
ros::Timer
ros::TimerEvent
jsk_topic_tools::StealthRelay::unsubscribe
virtual void unsubscribe()
Definition:
stealth_relay_nodelet.cpp:88
jsk_topic_tools::StealthRelay
Definition:
stealth_relay.h:54
jsk_topic_tools
Author(s): Kei Okada
, Yusuke Furuta
autogenerated on Tue Feb 6 2018 03:45:19