string_pub_sub.h
Go to the documentation of this file.
1 //
2 // Created by nakakura on 22/08/31.
3 //
4 
5 #ifndef SKYWAY_PLUGIN_STRING_PUB_SUB_H
6 #define SKYWAY_PLUGIN_STRING_PUB_SUB_H
7 
8 #include <skyway/skyway_plugin.h>
9 
10 #include <mutex>
11 #include <thread>
12 
13 #include "std_msgs/String.h"
14 
15 namespace string_pub_sub {
17  private:
20  nh_.advertise<std_msgs::String>("skyway_string_publisher", 1000);
21  ros::Subscriber sub_ = nh_.subscribe("skyway_string_subscriber", 1000,
23  std::shared_ptr<std::function<void(std::string)>> callback_;
24  std::list<std::string> parameters_{};
25  std::mutex mutex_;
26  std::thread loop_thread_;
28 
29  void subscribe(const std_msgs::String::ConstPtr& msg);
30  void service_thread();
31 
32  public:
33  StringPubSub();
34  ~StringPubSub();
35  virtual void Initialize(
36  std::shared_ptr<rapidjson::Document> parameter,
37  std::shared_ptr<std::function<void(std::string)>> callback) override;
38  virtual void Execute(std::string data) override;
39  virtual void Shutdown() override;
40 };
41 }; // namespace string_pub_sub
42 
43 #endif // SKYWAY_PLUGIN_STRING_PUB_SUB_H
string_pub_sub::StringPubSub::~StringPubSub
~StringPubSub()
Definition: string_pub_sub.cpp:13
string_pub_sub::StringPubSub::parameters_
std::list< std::string > parameters_
Definition: string_pub_sub.h:24
ros::Publisher
string_pub_sub::StringPubSub::mutex_
std::mutex mutex_
Definition: string_pub_sub.h:25
string_pub_sub::StringPubSub::Execute
virtual void Execute(std::string data) override
Definition: string_pub_sub.cpp:28
string_pub_sub::StringPubSub::nh_
ros::NodeHandle nh_
Definition: string_pub_sub.h:18
string_pub_sub::StringPubSub::StringPubSub
StringPubSub()
Definition: string_pub_sub.cpp:9
ros::NodeHandle::advertise
Publisher advertise(AdvertiseOptions &ops)
skyway_plugin::SkyWayStringPlugin
Definition: skyway_plugin.h:31
skyway_plugin.h
string_pub_sub::StringPubSub::loop_thread_
std::thread loop_thread_
Definition: string_pub_sub.h:26
string_pub_sub::StringPubSub
Definition: string_pub_sub.h:16
string_pub_sub::StringPubSub::callback_
std::shared_ptr< std::function< void(std::string)> > callback_
Definition: string_pub_sub.h:23
string_pub_sub
Definition: string_pub_sub.h:15
ros::NodeHandle::subscribe
Subscriber subscribe(const std::string &topic, uint32_t queue_size, const boost::function< void(C)> &callback, const VoidConstPtr &tracked_object=VoidConstPtr(), const TransportHints &transport_hints=TransportHints())
string_pub_sub::StringPubSub::Initialize
virtual void Initialize(std::shared_ptr< rapidjson::Document > parameter, std::shared_ptr< std::function< void(std::string)>> callback) override
Definition: string_pub_sub.cpp:18
string_pub_sub::StringPubSub::is_running_
bool is_running_
Definition: string_pub_sub.h:27
string_pub_sub::StringPubSub::sub_
ros::Subscriber sub_
Definition: string_pub_sub.h:21
string_pub_sub::StringPubSub::Shutdown
virtual void Shutdown() override
Definition: string_pub_sub.cpp:33
string_pub_sub::StringPubSub::subscribe
void subscribe(const std_msgs::String::ConstPtr &msg)
Definition: string_pub_sub.cpp:64
string_pub_sub::StringPubSub::service_thread
void service_thread()
Definition: string_pub_sub.cpp:35
string_pub_sub::StringPubSub::pub_
ros::Publisher pub_
Definition: string_pub_sub.h:19
ros::NodeHandle
ros::Subscriber


skyway
Author(s): Toshiya Nakakura
autogenerated on Thu Oct 26 2023 02:42:21