forwards.h
Go to the documentation of this file.
1 #include "sick_scan/sick_scan_base.h" /* Base definitions included in all header files, added by add_sick_scan_base_header.py. Do not edit this line. */
2 /*
3  * Copyright (C) 2008, Morgan Quigley and Willow Garage, Inc.
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  * * Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the names of Stanford University or Willow Garage, Inc. nor the names of its
13  * contributors may be used to endorse or promote products derived from
14  * this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 #ifndef ROSCPP_FORWARDS_H
30 #define ROSCPP_FORWARDS_H
31 
32 #include <string>
33 #include <vector>
34 #include <map>
35 #include <set>
36 #include <list>
37 
38 #include <memory>
39 #include <functional>
40 //#include <boost/make_shared.hpp>
41 //#include <boost/weak_ptr.hpp>
42 //#include <boost/function.hpp>
43 
44 #include <ros/time.h>
45 #include <ros/macros.h>
46 #include "exceptions.h"
47 #include "ros/datatypes.h"
48 
49 namespace roswrap
50 {
51 
52 typedef std::shared_ptr<void> VoidPtr;
53 typedef std::weak_ptr<void> VoidWPtr;
54 typedef std::shared_ptr<void const> VoidConstPtr;
55 typedef std::weak_ptr<void const> VoidConstWPtr;
56 
57 class Header;
58 class Transport;
59 typedef std::shared_ptr<Transport> TransportPtr;
61 typedef std::shared_ptr<TransportTCP> TransportTCPPtr;
63 typedef std::shared_ptr<TransportUDP> TransportUDPPtr;
64 class Connection;
65 typedef std::shared_ptr<Connection> ConnectionPtr;
66 typedef std::set<ConnectionPtr> S_Connection;
67 typedef std::vector<ConnectionPtr> V_Connection;
69 typedef std::shared_ptr<Publication> PublicationPtr;
70 typedef std::vector<PublicationPtr> V_Publication;
72 typedef std::shared_ptr<SubscriberLink> SubscriberLinkPtr;
73 typedef std::vector<SubscriberLinkPtr> V_SubscriberLink;
75 typedef std::shared_ptr<Subscription> SubscriptionPtr;
76 typedef std::weak_ptr<Subscription> SubscriptionWPtr;
77 typedef std::list<SubscriptionPtr> L_Subscription;
78 typedef std::vector<SubscriptionPtr> V_Subscription;
79 typedef std::set<SubscriptionPtr> S_Subscription;
81 typedef std::shared_ptr<PublisherLink> PublisherLinkPtr;
82 typedef std::vector<PublisherLinkPtr> V_PublisherLink;
84 typedef std::shared_ptr<ServicePublication> ServicePublicationPtr;
85 typedef std::list<ServicePublicationPtr> L_ServicePublication;
86 typedef std::vector<ServicePublicationPtr> V_ServicePublication;
88 typedef std::shared_ptr<ServiceServerLink> ServiceServerLinkPtr;
89 typedef std::list<ServiceServerLinkPtr> L_ServiceServerLink;
90 class Transport;
91 typedef std::shared_ptr<Transport> TransportPtr;
92 class NodeHandle;
93 typedef std::shared_ptr<NodeHandle> NodeHandlePtr;
94 
95 
97 typedef std::function<void(const SingleSubscriberPublisher&)> SubscriberStatusCallback;
98 
99 class CallbackQueue;
101 class CallbackInterface;
102 typedef std::shared_ptr<CallbackInterface> CallbackInterfacePtr;
103 
105 {
108  const VoidConstPtr& tracked_object = VoidConstPtr(),
109  CallbackQueueInterface* callback_queue = 0)
110  : connect_(connect)
111  , disconnect_(disconnect)
112  , callback_queue_(callback_queue)
113  {
114  has_tracked_object_ = false;
115  if (tracked_object)
116  {
117  has_tracked_object_ = true;
118  tracked_object_ = tracked_object;
119  }
120  }
123 
127 };
128 typedef std::shared_ptr<SubscriberCallbacks> SubscriberCallbacksPtr;
129 
134 {
137 
140 
141  struct
142  {
144  } profile;
145 };
146 typedef std::function<void(const TimerEvent&)> TimerCallback;
147 
152 {
155 
158 
159  struct
160  {
162  } profile;
163 };
164 typedef std::function<void(const WallTimerEvent&)> WallTimerCallback;
165 
167 typedef std::shared_ptr<ServiceManager> ServiceManagerPtr;
169 typedef std::shared_ptr<TopicManager> TopicManagerPtr;
170 class ConnectionManager;
171 typedef std::shared_ptr<ConnectionManager> ConnectionManagerPtr;
173 typedef std::shared_ptr<XMLRPCManager> XMLRPCManagerPtr;
174 class PollManager;
175 typedef std::shared_ptr<PollManager> PollManagerPtr;
176 
177 }
178 
179 #endif
roswrap::ConnectionPtr
std::shared_ptr< Connection > ConnectionPtr
Definition: connection.h:58
roswrap::WallTimerEvent
Structure passed as a parameter to the callback invoked by a ros::WallTimer.
Definition: forwards.h:151
roswrap::SubscriberCallbacks::has_tracked_object_
bool has_tracked_object_
Definition: forwards.h:124
roswrap::XMLRPCManagerPtr
std::shared_ptr< XMLRPCManager > XMLRPCManagerPtr
Definition: forwards.h:172
roswrap::WallTime
Time representation. Always wall-clock time.
Definition: time.h:233
roswrap::Time
Time representation. May either represent wall clock time or ROS clock time.
Definition: time.h:177
roswrap::VoidWPtr
std::weak_ptr< void > VoidWPtr
Definition: forwards.h:53
roswrap::WallTimerCallback
std::function< void(const WallTimerEvent &)> WallTimerCallback
Definition: forwards.h:164
roswrap::SubscriberCallbacks::disconnect_
SubscriberStatusCallback disconnect_
Definition: forwards.h:122
roswrap::Subscription
Manages a subscription on a single topic.
Definition: subscription.h:66
roswrap::NodeHandlePtr
std::shared_ptr< NodeHandle > NodeHandlePtr
Definition: forwards.h:92
roswrap::ConnectionManagerPtr
std::shared_ptr< ConnectionManager > ConnectionManagerPtr
Definition: connection_manager.h:42
roswrap::TimerEvent::current_expected
Time current_expected
In a perfect world, this is when the current callback should be happening.
Definition: forwards.h:138
roswrap::TopicManagerPtr
std::shared_ptr< TopicManager > TopicManagerPtr
Definition: forwards.h:168
roswrap::SubscriberCallbacks::SubscriberCallbacks
SubscriberCallbacks(const SubscriberStatusCallback &connect=SubscriberStatusCallback(), const SubscriberStatusCallback &disconnect=SubscriberStatusCallback(), const VoidConstPtr &tracked_object=VoidConstPtr(), CallbackQueueInterface *callback_queue=0)
Definition: forwards.h:106
roswrap::WallTimerEvent::current_expected
WallTime current_expected
In a perfect world, this is when the current callback should be happening.
Definition: forwards.h:156
roswrap::V_SubscriberLink
std::vector< SubscriberLinkPtr > V_SubscriberLink
Definition: forwards.h:73
roswrap::VoidConstWPtr
std::weak_ptr< void const > VoidConstWPtr
Definition: forwards.h:55
roswrap::PollManager
Definition: poll_manager.h:49
roswrap::TransportUDPPtr
std::shared_ptr< TransportUDP > TransportUDPPtr
Definition: forwards.h:62
roswrap::TransportTCPPtr
std::shared_ptr< TransportTCP > TransportTCPPtr
Definition: forwards.h:60
roswrap::L_ServiceServerLink
std::list< ServiceServerLinkPtr > L_ServiceServerLink
Definition: forwards.h:89
roswrap::ConnectionManager
Definition: connection_manager.h:45
exceptions.h
roswrap::SubscriptionWPtr
std::weak_ptr< Subscription > SubscriptionWPtr
Definition: forwards.h:76
roswrap::V_Subscription
std::vector< SubscriptionPtr > V_Subscription
Definition: forwards.h:78
roswrap::TimerEvent::last_real
Time last_real
When the last callback actually happened.
Definition: forwards.h:136
roswrap::TransportPtr
std::shared_ptr< Transport > TransportPtr
Definition: connection.h:56
roswrap::SubscriberCallbacks
Definition: forwards.h:104
roswrap::V_PublisherLink
std::vector< PublisherLinkPtr > V_PublisherLink
Definition: forwards.h:82
roswrap::L_ServicePublication
std::list< ServicePublicationPtr > L_ServicePublication
Definition: forwards.h:85
roswrap::WallTimerEvent::current_real
WallTime current_real
This is when the current callback was actually called (Time::now() as of the beginning of the callbac...
Definition: forwards.h:157
roswrap::TransportTCP
TCPROS transport.
Definition: transport_tcp.h:57
roswrap::WallTimerEvent::last_real
WallTime last_real
When the last callback actually happened.
Definition: forwards.h:154
roswrap::V_ServicePublication
std::vector< ServicePublicationPtr > V_ServicePublication
Definition: forwards.h:86
roswrap::TimerEvent::last_expected
Time last_expected
In a perfect world, this is when the last callback should have happened.
Definition: forwards.h:135
roswrap::CallbackQueue
This is the default implementation of the ros::CallbackQueueInterface.
Definition: callback_queue.h:58
roswrap::CallbackQueueInterface
Abstract interface for a queue used to handle all callbacks within roscpp.
Definition: callback_queue_interface.h:83
roswrap::SubscriberCallbacks::callback_queue_
CallbackQueueInterface * callback_queue_
Definition: forwards.h:126
roswrap
Definition: param_modi.cpp:41
roswrap::WallTimerEvent::last_duration
WallDuration last_duration
How long the last callback ran for.
Definition: forwards.h:161
roswrap::SingleSubscriberPublisher
Allows publication of a message to a single subscriber. Only available inside subscriber connection c...
Definition: single_subscriber_publisher.h:45
roswrap::WallDuration
Duration representation for use with the WallTime class.
Definition: duration.h:137
roswrap::ServicePublication
Manages an advertised service.
Definition: service_publication.h:62
roswrap::PollManagerPtr
std::shared_ptr< PollManager > PollManagerPtr
Definition: connection_manager.h:39
roswrap::SubscriberCallbacks::connect_
SubscriberStatusCallback connect_
Definition: forwards.h:121
roswrap::WallTimerEvent::last_expected
WallTime last_expected
In a perfect world, this is when the last callback should have happened.
Definition: forwards.h:153
roswrap::VoidPtr
std::shared_ptr< void > VoidPtr
Definition: forwards.h:52
roswrap::NodeHandle
roscpp's interface for creating subscribers, publishers, etc.
Definition: node_handle.h:87
roswrap::SubscriberLinkPtr
std::shared_ptr< SubscriberLink > SubscriberLinkPtr
Definition: forwards.h:71
roswrap::V_Connection
std::vector< ConnectionPtr > V_Connection
Definition: forwards.h:67
roswrap::L_Subscription
std::list< SubscriptionPtr > L_Subscription
Definition: forwards.h:77
roswrap::ServiceServerLinkPtr
std::shared_ptr< ServiceServerLink > ServiceServerLinkPtr
Definition: forwards.h:87
roswrap::TopicManager
Definition: topic_manager.h:64
roswrap::Header
Provides functionality to parse a connection header and retrieve values from it.
Definition: header.h:53
roswrap::ServiceManagerPtr
std::shared_ptr< ServiceManager > ServiceManagerPtr
Definition: forwards.h:166
roswrap::WallTimerEvent::profile
struct roswrap::WallTimerEvent::@14 profile
roswrap::TimerEvent::profile
struct roswrap::TimerEvent::@13 profile
sick_scan_base.h
roswrap::Publication
A Publication manages an advertised topic.
Definition: publication.h:54
roswrap::CallbackInterface
Abstract interface for items which can be added to a CallbackQueueInterface.
Definition: callback_queue_interface.h:49
roswrap::S_Subscription
std::set< SubscriptionPtr > S_Subscription
Definition: forwards.h:79
roswrap::TimerCallback
std::function< void(const TimerEvent &)> TimerCallback
Definition: forwards.h:146
roswrap::SubscriberCallbacksPtr
std::shared_ptr< SubscriberCallbacks > SubscriberCallbacksPtr
Definition: forwards.h:128
roswrap::TimerEvent::current_real
Time current_real
This is when the current callback was actually called (Time::now() as of the beginning of the callbac...
Definition: forwards.h:139
roswrap::PublicationPtr
std::shared_ptr< Publication > PublicationPtr
Definition: forwards.h:68
roswrap::ServicePublicationPtr
std::shared_ptr< ServicePublication > ServicePublicationPtr
Definition: forwards.h:83
roswrap::TimerEvent
Structure passed as a parameter to the callback invoked by a ros::Timer.
Definition: forwards.h:133
roswrap::Transport
Abstract base class that allows abstraction of the transport type, eg. TCP, shared memory,...
Definition: transport.h:56
roswrap::SubscriberStatusCallback
std::function< void(const SingleSubscriberPublisher &)> SubscriberStatusCallback
Definition: forwards.h:96
roswrap::ServiceManager
Definition: service_manager.h:55
roswrap::PublisherLinkPtr
std::shared_ptr< PublisherLink > PublisherLinkPtr
Definition: forwards.h:80
roswrap::CallbackInterfacePtr
std::shared_ptr< CallbackInterface > CallbackInterfacePtr
Definition: callback_queue_interface.h:75
roswrap::XMLRPCManager
Definition: xmlrpc_manager.h:95
roswrap::VoidConstPtr
std::shared_ptr< void const > VoidConstPtr
Definition: forwards.h:54
roswrap::TimerEvent::last_duration
WallDuration last_duration
How long the last callback ran for.
Definition: forwards.h:143
roswrap::SubscriptionPtr
std::shared_ptr< Subscription > SubscriptionPtr
Definition: forwards.h:74
roswrap::Connection
Encapsulates a connection to a remote host, independent of the transport type.
Definition: connection.h:71
roswrap::SubscriberCallbacks::tracked_object_
VoidConstWPtr tracked_object_
Definition: forwards.h:125
roswrap::V_Publication
std::vector< PublicationPtr > V_Publication
Definition: forwards.h:70
roswrap::S_Connection
std::set< ConnectionPtr > S_Connection
Definition: forwards.h:66
roswrap::TransportUDP
UDPROS transport.
Definition: transport_udp.h:68


sick_scan_xd
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:08