src
message_handler.hpp
Go to the documentation of this file.
1
//
3
// Copyright (c) 2020 NovAtel Inc.
4
//
5
// Permission is hereby granted, free of charge, to any person obtaining a copy
6
// of this software and associated documentation files (the "Software"), to deal
7
// in the Software without restriction, including without limitation the rights
8
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
// copies of the Software, and to permit persons to whom the Software is
10
// furnished to do so, subject to the following conditions:
11
//
12
// The above copyright notice and this permission notice shall be included in all
13
// copies or substantial portions of the Software.
14
//
15
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
// SOFTWARE.
22
//
24
25
#ifndef __MESSAGE_HANDLER_HPP__
26
#define __MESSAGE_HANDLER_HPP__
27
28
#include <
ros/ros.h
>
29
30
#include <
pluginlib/class_loader.h
>
31
#include <
pluginlib/class_list_macros.h
>
32
33
#include "
oem7_raw_message_if.hpp
"
34
using
novatel_oem7::Oem7RawMessageIf
;
35
36
#include "
novatel_oem7_driver/oem7_message_decoder_if.hpp
"
37
#include "
novatel_oem7_driver/oem7_message_handler_if.hpp
"
38
39
#include <boost/scoped_ptr.hpp>
40
41
namespace
novatel_oem7_driver
42
{
47
class
MessageHandler
48
{
49
pluginlib::ClassLoader<novatel_oem7_driver::Oem7MessageHandlerIf>
msg_handler_loader_
;
50
51
typedef
boost::shared_ptr<novatel_oem7_driver::Oem7MessageHandlerIf>
MessageHandlerShPtr
;
52
typedef
std::list<MessageHandlerShPtr>
MsgHandlerList
;
53
typedef
boost::scoped_ptr<MsgHandlerList>
MessageHandlerListPtr
;
54
typedef
std::map<int, MessageHandlerListPtr>
MessageHandlerMap
;
55
MessageHandlerMap
msg_handler_map_
;
56
57
public
:
58
MessageHandler
(
ros::NodeHandle
& nh);
59
60
void
handleMessage
(Oem7RawMessageIf::ConstPtr raw_msg);
61
};
62
}
63
64
#endif
class_loader.h
boost::shared_ptr
ros.h
novatel_oem7_driver::MessageHandler::msg_handler_loader_
pluginlib::ClassLoader< novatel_oem7_driver::Oem7MessageHandlerIf > msg_handler_loader_
Plugin loader.
Definition:
message_handler.hpp:49
novatel_oem7_driver::MessageHandler::MessageHandlerShPtr
boost::shared_ptr< novatel_oem7_driver::Oem7MessageHandlerIf > MessageHandlerShPtr
Definition:
message_handler.hpp:51
novatel_oem7_driver::MessageHandler::MsgHandlerList
std::list< MessageHandlerShPtr > MsgHandlerList
Definition:
message_handler.hpp:52
class_list_macros.h
oem7_message_decoder_if.hpp
novatel_oem7_driver::MessageHandler
Definition:
message_handler.hpp:47
oem7_message_handler_if.hpp
pluginlib::ClassLoader< novatel_oem7_driver::Oem7MessageHandlerIf >
novatel_oem7_driver::MessageHandler::msg_handler_map_
MessageHandlerMap msg_handler_map_
Dispatch map for raw messages.
Definition:
message_handler.hpp:55
oem7_raw_message_if.hpp
novatel_oem7_driver::MessageHandler::MessageHandler
MessageHandler(ros::NodeHandle &nh)
Definition:
message_handler.cpp:37
novatel_oem7_driver::MessageHandler::MessageHandlerMap
std::map< int, MessageHandlerListPtr > MessageHandlerMap
Definition:
message_handler.hpp:54
novatel_oem7_driver::MessageHandler::MessageHandlerListPtr
boost::scoped_ptr< MsgHandlerList > MessageHandlerListPtr
Definition:
message_handler.hpp:53
novatel_oem7::Oem7RawMessageIf
Definition:
oem7_raw_message_if.hpp:35
novatel_oem7_driver
Definition:
oem7_imu.hpp:25
novatel_oem7_driver::MessageHandler::handleMessage
void handleMessage(Oem7RawMessageIf::ConstPtr raw_msg)
Definition:
message_handler.cpp:65
ros::NodeHandle
novatel_oem7_driver
Author(s):
autogenerated on Sat Feb 3 2024 03:51:34