include
ros
message_deserializer.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2009, Willow Garage, Inc.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright notice,
7
* this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the names of Willow Garage, Inc. nor the names of its
12
* contributors may be used to endorse or promote products derived from
13
* this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
* POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef ROSCPP_MESSAGE_DESERIALIZER_H
29
#define ROSCPP_MESSAGE_DESERIALIZER_H
30
31
#include "
forwards.h
"
32
#include "common.h"
33
34
#include <
ros/serialized_message.h
>
35
36
#include <boost/thread/mutex.hpp>
37
#include <boost/shared_array.hpp>
38
39
namespace
ros
40
{
41
42
class
SubscriptionCallbackHelper
;
43
typedef
boost::shared_ptr<SubscriptionCallbackHelper>
SubscriptionCallbackHelperPtr
;
44
45
class
ROSCPP_DECL
MessageDeserializer
46
{
47
public
:
48
MessageDeserializer
(
const
SubscriptionCallbackHelperPtr
& helper,
const
SerializedMessage
& m,
const
boost::shared_ptr<M_string>
& connection_header);
49
50
VoidConstPtr
deserialize
();
51
const
boost::shared_ptr<M_string>
&
getConnectionHeader
() {
return
connection_header_; }
52
53
private
:
54
SubscriptionCallbackHelperPtr
helper_
;
55
SerializedMessage
serialized_message_
;
56
boost::shared_ptr<M_string>
connection_header_
;
57
58
boost::mutex
mutex_
;
59
VoidConstPtr
msg_
;
60
};
61
typedef
boost::shared_ptr<MessageDeserializer>
MessageDeserializerPtr
;
62
63
}
64
65
#endif // ROSCPP_MESSAGE_DESERIALIZER_H
66
ros::SubscriptionCallbackHelperPtr
boost::shared_ptr< SubscriptionCallbackHelper > SubscriptionCallbackHelperPtr
Definition:
message_deserializer.h:42
ros::SerializedMessage
deserialize
void deserialize(Stream &stream, boost::array< T, N > &t)
ros::MessageDeserializerPtr
boost::shared_ptr< MessageDeserializer > MessageDeserializerPtr
Definition:
message_deserializer.h:61
boost::shared_ptr< SubscriptionCallbackHelper >
forwards.h
ros
ros::MessageDeserializer::getConnectionHeader
const boost::shared_ptr< M_string > & getConnectionHeader()
Definition:
message_deserializer.h:51
ros::MessageDeserializer::helper_
SubscriptionCallbackHelperPtr helper_
Definition:
message_deserializer.h:54
serialized_message.h
ros::MessageDeserializer::mutex_
boost::mutex mutex_
Definition:
message_deserializer.h:58
ros::MessageDeserializer::connection_header_
boost::shared_ptr< M_string > connection_header_
Definition:
message_deserializer.h:56
ros::MessageDeserializer
Definition:
message_deserializer.h:45
ros::SubscriptionCallbackHelper
Abstract base class used by subscriptions to deal with concrete message types through a common interf...
Definition:
subscription_callback_helper.h:69
ros::MessageDeserializer::serialized_message_
SerializedMessage serialized_message_
Definition:
message_deserializer.h:55
ros::MessageDeserializer::msg_
VoidConstPtr msg_
Definition:
message_deserializer.h:59
roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim, Dirk Thomas
, Jacob Perron
autogenerated on Sat Sep 14 2024 02:59:35