TransportTypes.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef _TRANSPORT_TYPES_HH_
18 #define _TRANSPORT_TYPES_HH_
19 
20 #ifndef Q_MOC_RUN
21 #include <boost/shared_ptr.hpp>
22 #endif
23 // avoid collision from Mac OS X's ConditionalMacros.h
24 // see gazebo issue #1289
25 #ifdef __MACH__
26 # undef TYPE_BOOL
27 #endif
28 #include <google/protobuf/message.h>
29 #include "gazebo/util/system.hh"
30 
34 namespace gazebo
35 {
36  namespace transport
37  {
38  class Publisher;
39  class Publication;
40  class PublicationTransport;
41  class Subscriber;
42  class SubscriptionTransport;
43  class Node;
44 
47  typedef boost::shared_ptr<google::protobuf::Message> MessagePtr;
48 
51  typedef boost::shared_ptr<Publisher> PublisherPtr;
52 
55  typedef boost::shared_ptr<Subscriber> SubscriberPtr;
56 
59  typedef boost::shared_ptr<Node> NodePtr;
60 
63  typedef boost::shared_ptr<Publication> PublicationPtr;
64 
67  typedef boost::shared_ptr<PublicationTransport> PublicationTransportPtr;
68 
71  typedef boost::shared_ptr<SubscriptionTransport> SubscriptionTransportPtr;
72  }
73 }
74 
75 #endif
76 
77 
Forward declarations for the common classes.
Definition: Animation.hh:33
boost::shared_ptr< google::protobuf::Message > MessagePtr
Definition: TransportTypes.hh:47
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:51
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:55
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:59
boost::shared_ptr< Publication > PublicationPtr
Definition: TransportTypes.hh:63
boost::shared_ptr< SubscriptionTransport > SubscriptionTransportPtr
Definition: TransportTypes.hh:71
boost::shared_ptr< PublicationTransport > PublicationTransportPtr
Definition: TransportTypes.hh:67