00001 #ifndef _RQT_MRTA_ARCHITECTURE_CONFIG_TOPIC_H_ 00002 #define _RQT_MRTA_ARCHITECTURE_CONFIG_TOPIC_H_ 00003 00004 #include <ros/duration.h> 00005 #include "utilities/abstract_config.h" 00006 00007 namespace rqt_mrta 00008 { 00009 namespace config 00010 { 00011 namespace architecture 00012 { 00013 class Topic : public utilities::AbstractConfig 00014 { 00015 Q_OBJECT 00016 public: 00017 Topic(QObject* parent = NULL); 00018 virtual ~Topic(); 00019 QString getName() const; 00020 QString getType() const; 00021 size_t getQueueSize() const; 00022 QString getField() const; 00023 ros::Duration getTimeout() const; 00024 ros::Duration getHorizon() const; 00025 void setName(const QString& name); 00026 void setType(const QString& type); 00027 void setQueueSize(const size_t& queue_size); 00028 void setField(const QString& field); 00029 void setTimeout(const ros::Duration& timeout); 00030 void setHorizon(const ros::Duration& horizon); 00031 void save(QSettings& settings) const; 00032 void load(QSettings& settings); 00033 void reset(); 00034 void write(QDataStream& stream) const; 00035 void read(QDataStream& stream); 00036 Topic& operator=(const Topic& config); 00037 00038 signals: 00039 void nameChanged(const QString& name); 00040 void typeChanged(const QString& type); 00041 void queueSizeChanged(const size_t& queue_size); 00042 void fieldChanged(const QString& field); 00043 void timeoutChanged(const ros::Duration& timeout); 00044 void horizonChanged(const ros::Duration& horizon); 00045 00046 private: 00047 QString name_; 00048 QString type_; 00049 size_t queue_size_; 00050 QString field_; 00051 ros::Duration timeout_; 00052 ros::Duration horizon_; 00053 }; 00054 } 00055 } 00056 } 00057 00058 #endif // _RQT_MRTA_ARCHITECTURE_CONFIG_TOPIC_H_