Go to the documentation of this file.00001
00008
00009
00010
00011
00012 #ifndef NODE_HPP_
00013 #define NODE_HPP_
00014
00015
00016
00017
00018
00019 #include <ros/ros.h>
00020 #include <string>
00021 #include <QThread>
00022 #include <QStringListModel>
00023
00024
00025
00026
00027
00028 class QNode : public QThread {
00029 Q_OBJECT
00030
00031 public:
00032 QNode(int argc, char** argv, const std::string &name );
00033 virtual ~QNode();
00034
00035 bool on_init();
00036 bool on_init(const std::string &master_url, const std::string &host_url);
00037 void shutdown();
00038 virtual void run() = 0;
00039
00040 QStringListModel* loggingModel() { return &logging; }
00041 const std::string& nodeName() { return node_name; }
00042
00043 Q_SIGNALS:
00044 void loggingUpdated();
00045 void rosShutdown();
00046
00047 protected:
00048 virtual void ros_comms_init() = 0;
00049 int init_argc;
00050 char** init_argv;
00051 QStringListModel logging;
00052 const std::string node_name;
00053 };
00054
00055 #endif