Go to the documentation of this file.00001 #ifndef _UTILITIES_ABSTRACT_CONFIG_H_
00002 #define _UTILITIES_ABSTRACT_CONFIG_H_
00003
00004 #include <QDataStream>
00005 #include <QObject>
00006 #include <QSettings>
00007 #include <ros/console.h>
00008
00009 namespace utilities
00010 {
00011 class AbstractConfig : public QObject
00012 {
00013 Q_OBJECT
00014 public:
00015 AbstractConfig(QObject* parent = NULL);
00016 virtual ~AbstractConfig();
00017 virtual void save(QSettings& settings) const = 0;
00018 virtual void load(QSettings& settings) = 0;
00019 virtual void reset() = 0;
00020 virtual void write(QDataStream& stream) const = 0;
00021 virtual void read(QDataStream& stream) = 0;
00022
00023 signals:
00024 void changed();
00025 };
00026
00027 QDataStream& operator<<(QDataStream& stream, const AbstractConfig& config);
00028 QDataStream& operator>>(QDataStream& stream, AbstractConfig& config);
00029 }
00030
00031 #endif // _UTILITIES_ABSTRACT_CONFIG_H_