Go to the documentation of this file.00001 #ifndef _RQT_MRTA_APPLICATION_CONFIG_ROBOT_H_
00002 #define _RQT_MRTA_APPLICATION_CONFIG_ROBOT_H_
00003
00004 #include "utilities/abstract_config.h"
00005 #include "rqt_mrta/config/application/tasks.h"
00006
00007 namespace rqt_mrta
00008 {
00009 namespace config
00010 {
00011 namespace application
00012 {
00013 class Robot : public utilities::AbstractConfig
00014 {
00015 Q_OBJECT
00016 public:
00017 Robot(QObject* parent = NULL);
00018 virtual ~Robot();
00019 QString getId() const;
00020 Tasks* getTasks() const;
00021 void setId(const QString& name);
00022 void save(QSettings& settings) const;
00023 void load(QSettings& settings);
00024 void reset();
00025 void write(QDataStream& stream) const;
00026 void read(QDataStream& stream);
00027 Robot& operator=(const Robot& config);
00028 QString validate() const;
00029
00030 signals:
00031 void idChanged(const QString& id);
00032 void taskIdChanged(size_t task_index, const QString& task_id);
00033 void added(size_t task_index);
00034 void removed(const QString& task_id);
00035 void cleared();
00036
00037 private:
00038 QString id_;
00039 Tasks* tasks_;
00040
00041 private slots:
00042 void taskChanged(size_t task_index, const QString& task_id);
00043 void taskAdded(size_t task_index);
00044 void taskRemoved(const QString& task_id);
00045 void tasksCleared();
00046 };
00047 }
00048 }
00049 }
00050
00051 #endif // _RQT_MRTA_APPLICATION_CONFIG_ROBOT_H_