00001 #ifndef _MRTA_TASK_H_ 00002 #define _MRTA_TASK_H_ 00003 00004 #include <QObject> 00005 00006 namespace rqt_mrta 00007 { 00008 namespace config 00009 { 00010 namespace application 00011 { 00012 class Task; 00013 } 00014 } 00015 } 00016 00017 namespace mrta 00018 { 00019 class Task : public QObject 00020 { 00021 Q_OBJECT 00022 public: 00023 typedef rqt_mrta::config::application::Task Config; 00024 Task(QObject *parent = NULL); 00025 Task(QObject *parent, Config* config); 00026 Task(const Task& task); 00027 virtual ~Task(); 00028 Config *getConfig() const; 00029 void setConfig(Config* config); 00030 QString getId() const; 00031 Task& operator=(const Task& task); 00032 00033 public slots: 00034 void setId(const QString& id); 00035 00036 signals: 00037 void changed(); 00038 void idChanged(const QString& id); 00039 00040 private: 00041 QString id_; 00042 Config* config_; 00043 00044 private slots: 00045 void configDestroyed(); 00046 }; 00047 } 00048 00049 #endif // _MRTA_TASK_H_