00001 #ifndef _RQT_MRTA_CONFIG_LAUNCH_H_ 00002 #define _RQT_MRTA_CONFIG_LAUNCH_H_ 00003 00004 #include <QMap> 00005 #include "utilities/abstract_config.h" 00006 00007 namespace rqt_mrta 00008 { 00009 namespace config 00010 { 00011 class Includes; 00012 class Launch : public utilities::AbstractConfig 00013 { 00014 Q_OBJECT 00015 public: 00016 Launch(QObject* parent = NULL); 00017 virtual ~Launch(); 00018 QString getId() const; 00019 Includes* getIncludes() const; 00020 QMap<QString, QString> getMap() const; 00021 void setId(const QString& id); 00022 void add(const QString& key, const QString& value); 00023 QString validate() const; 00024 void save(QSettings& settings) const; 00025 void load(QSettings& settings); 00026 void reset(); 00027 void write(QDataStream& stream) const; 00028 void read(QDataStream& stream); 00029 Launch& operator=(const Launch& config); 00030 void saveAsLaunch(const QString& url) const; 00031 00032 signals: 00033 void idChanged(const QString &id); 00034 00035 private: 00036 typedef QMap<QString, QString> Map; 00037 typedef Map::iterator iterator; 00038 typedef Map::const_iterator const_iterator; 00039 QString id_; 00040 Includes* includes_; 00041 Map map_; 00042 QString toLaunch() const; 00043 }; 00044 } 00045 } 00046 00047 #endif // _RQT_MRTA_CONFIG_LAUNCH_H_