okteta
datainformationfactory.cpp
Go to the documentation of this file.
32 AbstractBitfieldDataInformation* DataInformationFactory::newBitfield(const BitfieldParsedData& pd)
116 pd.error().nospace() << "Enum type (" << definition->type() << ") and value type (" << primitiveType
120 PrimitiveDataInformation* primData = PrimitiveFactory::newInstance(pd.name, primitiveType, lwc);
148 QString generateLengthFunction(DataInformation* current, DataInformation* last, QString elemName,
218 return new ArrayDataInformation(pd.name, fixedLength.value, pd.arrayType, pd.parent, QScriptValue());
236 pd.error() << "Referenced array length element (" << lengthStr << ") contains '.', this is not allowed!";
300 bool DataInformationFactory::commonInitialization(DataInformation* data, const CommonParsedData& pd)
367 pd.error() << "Bad pointer type, only unsigned integers are allowed"; //TODO offsets (signed int + bitfields)
373 TaggedUnionDataInformation* DataInformationFactory::newTaggedUnion(const TaggedUnionParsedData& pd)
375 QScopedPointer<TaggedUnionDataInformation> tagged(new TaggedUnionDataInformation(pd.name, pd.parent));
387 pd.error() << "No children in tagged union. At least one is required so that tag can be evaluated.";
401 pd.error() << "Alternative number" << i << "is not valid. SelectIf is neither function nor number!";
Interface that must be implemented by all datatypes.
Definition: datainformation.h:67
bool commonInitialization(DataInformation *data, const CommonParsedData &pd)
Definition: datainformationfactory.cpp:300
Definition: scriptlogger.h:94
StringDataInformation * newString(const StringParsedData &pd)
Definition: datainformationfactory.cpp:249
void setTerminationCodePoint(uint term)
Definition: stringdatainformation.h:140
Definition: flagdatainformation.h:29
virtual unsigned int childCount() const =0
Definition: datainformation.h:278
PointerDataInformation * newPointer(const PointerParsedData &pd)
Definition: datainformationfactory.cpp:346
FlagDataInformation * newFlags(const EnumParsedData &pd)
Definition: datainformationfactory.cpp:198
QScriptValue functionSafeEval(QScriptEngine *engine, const QString &str)
This essentially calls engine->evaluate(str), but ensures it can be a function (QTBUG-5757) ...
Definition: parserutils.cpp:184
DataInformation * pointerTarget
Definition: datainformationfactory.h:104
QScopedPointer< ChildrenParser > children
Definition: datainformationfactory.h:125
Holds a number that was converted either from a QScriptValue or a QString.
Definition: parserutils.h:84
Definition: enumdatainformation.h:29
QScriptValue selectIf
Definition: datainformationfactory.h:112
TaggedUnionDataInformation * newTaggedUnion(const TaggedUnionParsedData &pd)
Definition: datainformationfactory.cpp:373
virtual PrimitiveDataType type() const =0
void setMaxCharCount(uint count)
Definition: stringdatainformation.h:130
Definition: primitivedatatype.h:42
QSharedPointer< ChildrenParser > fields
Definition: datainformationfactory.h:113
A class holding the data of a struct for Okteta.
Definition: taggeduniondatainformation.h:31
Definition: datainformationfactory.h:71
void setValidationFunc(const QScriptValue &func)
Definition: datainformation.h:374
Definition: arraydatainformation.h:36
Definition: primitivedatatype.h:54
Definition: datainformationfactory.h:56
ParsedNumber< quint32 > termination
Definition: datainformationfactory.h:85
Definition: datainformationfactory.h:44
ParsedNumber< uint > uintFromScriptValue(const QScriptValue &val)
Definition: parserutils.cpp:103
virtual DataInformation * childAt(unsigned int) const =0
Definition: datainformation.h:268
Definition: primitivedatatype.h:39
Definition: primitivedatatype.h:45
void setToStringFunction(const QScriptValue &value)
Definition: datainformation.h:379
PrimitiveDataInformation * newPrimitive(const PrimitiveParsedData &pd)
Definition: datainformationfactory.cpp:68
StringDataInformation::StringType toStringEncoding(const QString &str, const LoggerWithContext &logger)
Definition: parserutils.cpp:148
Definition: primitivedatatype.h:46
void setByteOrder(DataInformationEndianess newEndianess)
Definition: datainformation.h:293
ParsedNumber< quint32 > maxCharCount
Definition: datainformationfactory.h:86
UnionDataInformation * newUnion(const StructOrUnionParsedData &pd)
Definition: datainformationfactory.cpp:290
PrimitiveDataType typeStringToType(const QString &string, const LoggerWithContext &logger)
Converts typeStr to a PrimitiveDataType case-insensitively.
Definition: primitivefactory.cpp:30
For use by the parsers so that the functions don't have as many parameters.
Definition: parserutils.h:48
Definition: stringdata.h:43
EnumDataInformation * newEnum(const EnumParsedData &pd)
Definition: datainformationfactory.cpp:193
PrimitiveDataInformation * asPrimitive()
A class holding the data of a union for Okteta.
Definition: uniondatainformation.h:28
Definition: primitivedatatype.h:48
PrimitiveDataInformation * newInstance(const QString &name, PrimitiveDataType type, const LoggerWithContext &logger, DataInformation *parent)
Definition: primitivefactory.cpp:66
static QMap< AllPrimitiveTypes, QString > parseEnumValues(const QScriptValue &val, const LoggerWithContext &logger, PrimitiveDataType type=Type_UInt64)
Definition: enumdefinition.cpp:31
void setCustomTypeName(const QString &customTypeName)
Set a custom string to be used for typeName() instead of the default.
Definition: datainformation.cpp:103
If selector is a function and it evaluates to true these fields are chosen.
Definition: taggeduniondatainformation.h:39
Definition: datainformationfactory.h:64
DataInformation * asDataInformation()
Definition: datainformationbase.h:107
Definition: enumdefinition.h:37
Definition: datainformationbase.h:44
StructureDataInformation * newStruct(const StructOrUnionParsedData &pd)
Definition: datainformationfactory.cpp:295
Definition: datainformationfactory.h:101
QVector< Alternatives > alternatives
Definition: datainformationfactory.h:117
Definition: primitivedatatype.h:35
ArrayDataInformation * newArray(const ArrayParsedData &pd)
Definition: datainformationfactory.cpp:203
ParsedNumber< quint64 > uint64FromScriptValue(const QScriptValue &val)
Definition: parserutils.cpp:120
void setUpdateFunc(const QScriptValue &func)
Definition: datainformation.h:369
void setMaxByteCount(uint count)
Definition: stringdatainformation.h:120
QScriptValue enumValuesObject
only used if enumDef is null, to allow sharing (only possible in OSD)
Definition: datainformationfactory.h:77
Definition: primitivedatatype.h:47
A base class for all primitive data elements (e.g.
Definition: primitivedatainformation.h:34
virtual bool isPrimitive() const
Definition: datainformationbase.cpp:45
Definition: datainformationfactory.h:93
QScopedPointer< ChildrenParser > defaultFields
Definition: datainformationfactory.h:118
ParsedNumber< quint32 > maxByteCount
Definition: datainformationfactory.h:87
DataInformation::DataInformationEndianess endianess
Definition: datainformationfactory.h:51
Definition: datainformationfactory.h:82
Definition: stringdatainformation.h:39
uint terminationMode() const
Definition: stringdatainformation.h:155
QScopedPointer< ChildrenParser > children
Definition: datainformationfactory.h:116
A class holding the data of a struct for Okteta.
Definition: structuredatainformation.h:28
AbstractBitfieldDataInformation * newBitfield(const BitfieldParsedData &pd)
Definition: datainformationfactory.cpp:32
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.