qnode.hpp
Go to the documentation of this file.
00001 
00008 /*****************************************************************************
00009 ** Ifdefs
00010 *****************************************************************************/
00011 
00012 #ifndef NODE_HPP_
00013 #define NODE_HPP_
00014 
00015 /*****************************************************************************
00016 ** Includes
00017 *****************************************************************************/
00018 
00019 #include <ros/ros.h>
00020 #include <string>
00021 #include <QThread>
00022 #include <QStringListModel>
00023 
00024 /*****************************************************************************
00025 ** Class
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 /* NODE_HPP_ */


qt_tutorials
Author(s): Daniel Stonier
autogenerated on Mon Oct 6 2014 03:58:04