00001 #ifndef _RQT_MRTA_ARCHITECTURE_CONFIG_ROBOTS_H_ 00002 #define _RQT_MRTA_ARCHITECTURE_CONFIG_ROBOTS_H_ 00003 00004 #include "utilities/abstract_config.h" 00005 #include "rqt_mrta/config/architecture/busy_robots.h" 00006 #include "rqt_mrta/config/architecture/idle_robots.h" 00007 00008 namespace rqt_mrta 00009 { 00010 namespace config 00011 { 00012 namespace architecture 00013 { 00014 class Robots : public utilities::AbstractConfig 00015 { 00016 Q_OBJECT 00017 public: 00018 Robots(QObject* parent = NULL); 00019 virtual ~Robots(); 00020 QString getType() const; 00021 QString getConfigId() const; 00022 QString getLaunchId() const; 00023 BusyRobots* getBusyRobots() const; 00024 IdleRobots* getIdleRobots() const; 00025 void setType(const QString& type); 00026 void setConfigId(const QString& config_id); 00027 void setLaunchId(const QString& launch_id); 00028 void save(QSettings& settings) const; 00029 void load(QSettings& settings); 00030 void reset(); 00031 void write(QDataStream& stream) const; 00032 void read(QDataStream& stream); 00033 Robots& operator=(const Robots& config); 00034 00035 signals: 00036 void typeChanged(const QString& type); 00037 void configIdChanged(const QString& config_id); 00038 void launchIdChanged(const QString& launch_id); 00039 00040 private: 00041 QString type_; 00042 QString config_id_; 00043 QString launch_id_; 00044 BusyRobots* busy_robots_; 00045 IdleRobots* idle_robots_; 00046 }; 00047 } 00048 } 00049 } 00050 00051 #endif // _RQT_MRTA_ARCHITECTURE_CONFIG_ROBOTS_H_