serialization_ros.h
Go to the documentation of this file.
1 //==============================================================================
2 // Copyright (c) 2012, Johannes Meyer, TU Darmstadt
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 // * Redistributions of source code must retain the above copyright
8 // notice, 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 name of the Flight Systems and Automatic Control group,
13 // TU Darmstadt, nor the names of its contributors may be used to
14 // endorse or promote products derived from this software without
15 // 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 HOLDER BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //==============================================================================
28 
29 #ifndef UBLOX_SERIALIZATION_ROS_H
30 #define UBLOX_SERIALIZATION_ROS_H
31 
32 #include "serialization.h"
33 #include "checksum.h"
34 
35 #include <ros/serialization.h>
36 
37 namespace ublox {
38 
39 template <typename T>
40 void Serializer<T>::read(const uint8_t *data, uint32_t count,
41  typename boost::call_traits<T>::reference message) {
42  ros::serialization::IStream stream(const_cast<uint8_t *>(data), count);
44 }
45 
46 template <typename T>
48  typename boost::call_traits<T>::param_type message) {
50 }
51 
52 template <typename T>
53 void Serializer<T>::write(uint8_t *data, uint32_t size,
54  typename boost::call_traits<T>::param_type message) {
55  ros::serialization::OStream stream(data, size);
57 }
58 
59 } // namespace ublox
60 
61 #endif // UBLOX_SERIALIZATION_ROS_H
static void write(Stream &stream, typename boost::call_traits< T >::param_type t)
static uint32_t serializedLength(typename boost::call_traits< T >::param_type t)
static void write(uint8_t *data, uint32_t size, typename boost::call_traits< T >::param_type message)
Encode the message payload as a byte array.
static void read(const uint8_t *data, uint32_t count, typename boost::call_traits< T >::reference message)
Decode the message payload from the data buffer.
static void read(Stream &stream, typename boost::call_traits< T >::reference t)
static uint32_t serializedLength(typename boost::call_traits< T >::param_type message)
Get the length of the message payload in bytes.
Definition: checksum.h:34


ublox_serialization
Author(s): Johannes Meyer
autogenerated on Thu Jan 28 2021 03:13:50