00001 #ifndef _RQT_MRTA_APPLICATION_CONFIG_H_ 00002 #define _RQT_MRTA_APPLICATION_CONFIG_H_ 00003 00004 #include "rqt_mrta/config/application/application.h" 00005 #include "rqt_mrta/config/configs.h" 00006 #include "rqt_mrta/config/launches.h" 00007 00008 namespace rqt_mrta 00009 { 00010 namespace config 00011 { 00012 namespace application 00013 { 00014 class RqtMrtaApplication : public utilities::AbstractConfig 00015 { 00016 Q_OBJECT 00017 public: 00018 RqtMrtaApplication(QObject* parent = NULL); 00019 virtual ~RqtMrtaApplication(); 00020 QString getApplicationPackage() const; 00021 QString getApplicationPackageUrl() const; 00022 Application* getApplication() const; 00023 Configs* getConfigs() const; 00024 Launches* getLaunches() const; 00025 void setApplicationPackage(const QString& package); 00026 void setApplicationPackageUrl(const QString &url); 00027 void save() const; 00028 void save(const QString& filename) const; 00029 void load(const QString& filename); 00030 void reset(); 00031 void write(QDataStream& stream) const; 00032 void read(QDataStream& stream); 00033 RqtMrtaApplication& operator=(const RqtMrtaApplication& config); 00034 00035 signals: 00036 void applicationPackageChanged(const QString &package); 00037 void applicationPackageUrlChanged(const QString& url); 00038 00039 private: 00040 QString package_; 00041 QString url_; 00042 Application* application_; 00043 Configs* configs_; 00044 Launches* launches_; 00045 void save(QSettings& settings) const; 00046 void load(QSettings& settings); 00047 }; 00048 } 00049 } 00050 } 00051 00052 #endif // _RQT_MRTA_APPLICATION_CONFIG_H_