qnode.hpp
Go to the documentation of this file.
00001 
00008 /*****************************************************************************
00009 ** Ifdefs
00010 *****************************************************************************/
00011 
00012 #ifndef %(package)s_QNODE_HPP_
00013 #define %(package)s_QNODE_HPP_
00014 
00015 /*****************************************************************************
00016 ** Includes
00017 *****************************************************************************/
00018 
00019 // To workaround boost/qt4 problems that won't be bugfixed. Refer to
00020 //    https://bugreports.qt.io/browse/QTBUG-22829
00021 #ifndef Q_MOC_RUN
00022 #include <ros/ros.h>
00023 #endif
00024 #include <string>
00025 #include <QThread>
00026 #include <QStringListModel>
00027 
00028 
00029 /*****************************************************************************
00030 ** Namespaces
00031 *****************************************************************************/
00032 
00033 namespace %(package)s {
00034 
00035 /*****************************************************************************
00036 ** Class
00037 *****************************************************************************/
00038 
00039 class QNode : public QThread {
00040     Q_OBJECT
00041 public:
00042         QNode(int argc, char** argv );
00043         virtual ~QNode();
00044         bool init();
00045         bool init(const std::string &master_url, const std::string &host_url);
00046         void run();
00047 
00048         /*********************
00049         ** Logging
00050         **********************/
00051         enum LogLevel {
00052                  Debug,
00053                  Info,
00054                  Warn,
00055                  Error,
00056                  Fatal
00057          };
00058 
00059         QStringListModel* loggingModel() { return &logging_model; }
00060         void log( const LogLevel &level, const std::string &msg);
00061 
00062 Q_SIGNALS:
00063         void loggingUpdated();
00064     void rosShutdown();
00065 
00066 private:
00067         int init_argc;
00068         char** init_argv;
00069         ros::Publisher chatter_publisher;
00070     QStringListModel logging_model;
00071 };
00072 
00073 }  // namespace %(package)s
00074 
00075 #endif /* %(package)s_QNODE_HPP_ */


qt_create
Author(s): Daniel Stonier
autogenerated on Thu Jun 6 2019 22:05:36