00001 #ifndef _RQT_MRTA_ARCHITECTURE_CONFIG_ARCHITECTURE_H_ 00002 #define _RQT_MRTA_ARCHITECTURE_CONFIG_ARCHITECTURE_H_ 00003 00004 #include "utilities/abstract_config.h" 00005 #include "rqt_mrta/config/architecture/allocations.h" 00006 #include "rqt_mrta/config/architecture/robots.h" 00007 #include "rqt_mrta/config/architecture/tasks.h" 00008 00009 namespace rqt_mrta 00010 { 00011 namespace config 00012 { 00013 namespace architecture 00014 { 00015 class Architecture : public utilities::AbstractConfig 00016 { 00017 Q_OBJECT 00018 public: 00019 Architecture(QObject* parent = NULL); 00020 virtual ~Architecture(); 00021 Allocations* getAllocations() const; 00022 QString getName() const; 00023 Robots* getRobots() const; 00024 Tasks* getTasks() const; 00025 void setName(const QString& name); 00026 void save(QSettings& settings) const; 00027 void load(QSettings& settings); 00028 void reset(); 00029 void write(QDataStream& stream) const; 00030 void read(QDataStream& stream); 00031 Architecture& operator=(const Architecture& config); 00032 00033 signals: 00034 void nameChanged(const QString& name); 00035 00036 private: 00037 QString name_; 00038 Allocations* allocations_; 00039 Robots* robots_; 00040 Tasks* tasks_; 00041 }; 00042 } 00043 } 00044 } 00045 00046 #endif // _RQT_MRTA_ARCHITECTURE_CONFIG_ARCHITECTURE_H_