00001 #ifndef _RQT_MRTA_ARCHITECTURE_CONFIG_H_ 00002 #define _RQT_MRTA_ARCHITECTURE_CONFIG_H_ 00003 00004 #include "utilities/abstract_config.h" 00005 #include "rqt_mrta/config/architecture/architecture.h" 00006 #include "rqt_mrta/config/architecture/widgets.h" 00007 #include "rqt_mrta/config/configs.h" 00008 #include "rqt_mrta/config/launches.h" 00009 00010 namespace rqt_mrta 00011 { 00012 namespace config 00013 { 00014 namespace architecture 00015 { 00016 class RqtMrtaArchitecture : public utilities::AbstractConfig 00017 { 00018 Q_OBJECT 00019 public: 00020 RqtMrtaArchitecture(QObject* parent = NULL); 00021 virtual ~RqtMrtaArchitecture(); 00022 QString getArchitecturePackage() const; 00023 QString getArchitecturePackageUrl() const; 00024 Architecture* getArchitecture() const; 00025 Configs* getConfigs() const; 00026 Launches* getLaunches() const; 00027 Widgets* getWidgets() const; 00028 void setArchitecturePackage(const QString& package); 00029 void setArchitecturePackageUrl(const QString &url); 00030 void save(const QString& url) const; 00031 void load(const QString& url); 00032 void reset(); 00033 void write(QDataStream& stream) const; 00034 void read(QDataStream& stream); 00035 RqtMrtaArchitecture& operator=(const RqtMrtaArchitecture& config); 00036 00037 signals: 00038 void architecturePackageChanged(const QString &package); 00039 void architecturePackageUrlChanged(const QString& url); 00040 00041 private: 00042 QString package_; 00043 QString url_; 00044 Architecture* architecture_; 00045 Configs* configs_; 00046 Launches* launches_; 00047 Widgets* widgets_; 00048 void save(QSettings& settings) const; 00049 void load(QSettings& settings); 00050 }; 00051 } 00052 } 00053 } 00054 00055 #endif // _RQT_MRTA_ARCHITECTURE_CONFIG_H_