diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
| commit | c068f22329d5cc722622a2183bbb22eef2093df7 (patch) | |
| tree | 12d56c1aede67988a55e241364606bfbb4dba933 /tool_src/QvLib/QvFieldData.h | |
| download | openparsec-c068f22329d5cc722622a2183bbb22eef2093df7.tar.xz openparsec-c068f22329d5cc722622a2183bbb22eef2093df7.zip | |
Diffstat (limited to 'tool_src/QvLib/QvFieldData.h')
| -rw-r--r-- | tool_src/QvLib/QvFieldData.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tool_src/QvLib/QvFieldData.h b/tool_src/QvLib/QvFieldData.h new file mode 100644 index 0000000..3fb74d8 --- /dev/null +++ b/tool_src/QvLib/QvFieldData.h @@ -0,0 +1,46 @@ +#ifndef _QV_FIELD_DATA_ +#define _QV_FIELD_DATA_ + +#include <QvBasic.h> +#include <QvPList.h> +#include <QvString.h> + +class QvField; +class QvInput; +class QvNode; + +class QvFieldData { + public: + QvFieldData() {} + ~QvFieldData(); + + void addField(QvNode *defObject, const char *fieldName, + const QvField *field); + + int getNumFields() const { return fields.getLength(); } + + const QvName & getFieldName(int index) const; + + QvField * getField(const QvNode *object, + int index) const; + + void addEnumValue(const char *typeName, + const char *valName, int val); + void getEnumData(const char *typeName, int &num, + const int *&vals, const QvName *&names); + + QvBool read(QvInput *in, QvNode *object, + QvBool errorOnUnknownField = TRUE) const; + + QvBool read(QvInput *in, QvNode *object, + const QvName &fieldName, + QvBool &foundName) const; + + QvBool readFieldTypes(QvInput *in, QvNode *object); + + private: + QvPList fields; + QvPList enums; +}; + +#endif /* _QV_FIELD_DATA_ */ |
