|
| virtual QString | GetArrayContainerObjectVariableName () const =0 |
| | Same as GetContainerObjectVariableName, but only for arrays/lists.
|
| |
| virtual bool | AddFieldValueWriteToObject (QTextStream &stream, const imtsdl::CSdlField &field, const QString &variableName, uint horizontalIndents) const =0 |
| | Writes code, that sets a scalar value to an object.
|
| |
| virtual bool | AddObjectValueWriteToObject (QTextStream &stream, const imtsdl::CSdlField &field, const QString &variableName, uint horizontalIndents) const =0 |
| | Same as AddFieldValueWriteToObject, but only for object's container as object i.e.
|
| |
| virtual QString | AddCreationOfTemporaryArray (QTextStream &stream, const imtsdl::CSdlField &field) const =0 |
| | This method is used to create an array to store objects of the same type as the field.
|
| |
| virtual bool | AddFieldValueAppendToObjectArray (QTextStream &stream, const imtsdl::CSdlField &field, const QString &arrayContainerVariableName, const QString &variableName, uint horizontalIndents) const =0 |
| | Writes code, that appends a scalar value to an object.
|
| |
| virtual bool | AddArrayWriteToObject (QTextStream &stream, const imtsdl::CSdlField &field, const QString &variableName, const QString &targetObjectVariableName, uint horizontalIndents) const =0 |
| | writes code, that sets an array variableName to an object targetObjectVariableName
|
| |
| virtual bool | AddContainerValueCheckConditionBegin (QTextStream &stream, const imtsdl::CSdlField &field, bool expected, quint16 horizontalIndents) const =0 |
| | Writes a begin of code, that checks whether the object contains a value.
|
| |
| virtual bool | AddContainerValueReadFromObject (QTextStream &stream, const imtsdl::CSdlField &field, const QString &variableName, quint16 horizontalIndents) const =0 |
| | Writes a begin of code, that reads a value from an object.
|
| |
| virtual bool | AddContainerListAccessCode (QTextStream &stream, const imtsdl::CSdlField &field, const QString &variableName, quint16 horizontalIndents, ListAccessResult &result) const =0 |
| | Writes code, that obtains a value from an object as list.
|
| |
| virtual void | WriteTypenameToObjectCode (QTextStream &stream, const imtsdl::CSdlType &sdlType) const =0 |
| | Writes code that writes the typename to an object.
|
| |
| virtual QString | GetUnionListElementType (bool forScalar) const |
| |
| void | WriteSetValueToStruct (QTextStream &stream, const imtsdl::CSdlField &field, const QString &objectName=QStringLiteral("object")) const |
| | Simply generates a start of code, that sets a value to struct like.
|
| |
|
| enum | ConversionType { CT_MODEL_SCALAR = 2
, CT_MODEL_ARRAY = 3
, CT_GQL_SCALAR = 8
, CT_GQL_ARRAY = 12
, CT_JSON_SCALAR = 32
, CT_JSON_ARRAY = 48
} |
| |
| static QString | ConvertTypeOrEnumOrUnion (const CSdlField &sdlField, const SdlEnumList &enumList, const SdlUnionList &unionList, bool *isCustomPtr=nullptr, bool *isComplexPtr=nullptr, bool *isArrayPtr=nullptr, bool *isEnumPtr=nullptr, bool *isUnion=nullptr) |
| |
| static std::shared_ptr< CSdlEntryBase > | GetSdlTypeOrEnumOrUnionForField (const CSdlField &sdlField, const SdlTypeList &typeList, const SdlEnumList &enumList, const SdlUnionList &unionList) |
| |
| static QMap< QString, QString > | CalculateTargetCppFilesFromSchemaParams (const iprm::IParamsSet &schemaParams, const ISdlProcessArgumentsParser &argumentParser, bool relativePath=false) |
| |
| static QString | GetCompleteOutputPath (const iprm::IParamsSet &schemaParams, const ISdlProcessArgumentsParser &argumentParser, bool cleanPath, bool cppPath) |
| | resolves a complete output path from schema params and template(if enabled) if template is not enabled, returns argumentParser.GetOutputDirectoryPath()
|
| |
|
static QString | GetTempOutputPathFromParams (const iprm::IParamsSet *paramsPtr, const QString &fallbackPath=QString()) |
| | extracts a temp path from paramsPtr ant returns it on successfull, returns fallbackPath otherwise
|
| |
| static QString | s_sdlGlobalPrefix |
| | Defines an SDL scheme namespace prefix.
|
| |
The base C++ class modificator, adds saving and loading generated SDL types to/from 'object'
- Warning
- ALL modificators MUST inherit from this class!
Definition at line 20 of file CObjectModificatorCompBase.h.
| virtual bool imtsdlgencpp::CObjectModificatorCompBase::AddContainerListAccessCode |
( |
QTextStream & |
stream, |
|
|
const imtsdl::CSdlField & |
field, |
|
|
const QString & |
variableName, |
|
|
quint16 |
horizontalIndents, |
|
|
ListAccessResult & |
result |
|
) |
| const |
|
protectedpure virtual |
Writes code, that obtains a value from an object as list.
const QJsonArray vsluesArray = jsonObject["values"].toArray();
const qsizetype valuesArrayCount = valuesArray.size();
this method MUST fill result with correct values ListAccessResult::listVariableName = "vsluesArray", because it is a list storage ListAccessResult::listCountVariableName = "valuesArrayCount", because it indicates a number of elements ListAccessResult::listCountVariableType = "qsizetype", because a type of count variable ListAccessResult::customListAccessMethodName = {NULL|"at"}, because the QJsonArray (a container of objects) uses operator[] or method at() to access items by index ListAccessResult::toObjectTransformMethod = ".toJsonObject()", bacause access by index returns QJsonValue, but we need a QJsonObject in case JSON for custom types ListAccessResult::toObjectTransformMethod = ".toString()", bacause access by index returns QJsonValue, but we need a QString in case JSON if a field is string