00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef RTKINPUT_H
00021 #define RTKINPUT_H
00022
00023 #include "rtknamespace.h"
00024 #include "rtkvariant.h"
00025 #include "rtkinputfield.h"
00026
00027
00028 class QXmlAttributes;
00029
00030 namespace RTK {
00031
00032 class Input {
00033
00034 public:
00035 Input(const String& name = String::null, const String& driver = String::null)
00036 :mName(name), mDriver(driver)
00037
00038 {};
00039 virtual ~Input() {};
00040 virtual bool init() = 0;
00041 virtual bool next() = 0;
00042 virtual Variant getValue(uint ) { return Variant(); }
00043 virtual Variant getValue(const String &) { return Variant(); }
00044 virtual bool parseAttrs(const QXmlAttributes&) { return true; };
00045
00046 InputField *getInputField(const String &name) const;
00047 InputField *getInputField(int i) const { return mInputFields[i]; }
00048 int insertInputField(InputField *inputfield);
00049
00050
00051 public:
00053 const String& getName() const { return mName; };
00055 void setName(const String& name) { mName = name; };
00057 const String& getDriver() const { return mDriver; };
00058 protected:
00059 String mName;
00060 String mDriver;
00061
00062
00063 protected:
00064 QValueList<InputField *> mInputFields;
00065 };
00066
00067 };
00068
00069 #endif