9#include <istd/TDelPtr.h>
10#include <iprm/ITextParam.h>
11#include <ilog/TLoggerCompWrap.h>
14#include <imtsdl/ISdlProcessArgumentsParser.h>
15#include <imtsdl/ISdlTypeListProvider.h>
16#include <imtsdl/ISdlEnumListProvider.h>
17#include <imtsdl/ISdlUnionListProvider.h>
18#include <imtsdl/CSdlTools.h>
19#include <imtsdlgencpp/IIncludeDirectivesProvider.h>
20#include <imtsdlgencpp/ICxxModifier.h>
21#include <imtsdlgencpp/CCxxProcessorCompBase.h>
33 public virtual ICxxModifier
39 I_REGISTER_INTERFACE(ICxxModifier)
40 I_ASSIGN(m_processorModificatorNameAttrPtr,
"ProcessModificatorName",
"The name, allows to do processing, received from arguments in 'modificators' section",
false,
"<NEED_TO_SET!>")
41 I_ASSIGN(m_argumentParserCompPtr,
"ArgumentParser",
"Command line process argument parser",
true,
"ArgumentParser")
42 I_ASSIGN(m_sdlTypeListCompPtr,
"SdlTypeListProvider",
"SDL types used to create a code",
true,
"SdlTypeListProvider")
43 I_ASSIGN(m_sdlEnumListCompPtr,
"SdlEnumListProvider",
"SDL enums used to create a code",
true,
"SdlEnumListProvider")
44 I_ASSIGN(m_sdlUnionListCompPtr,
"SdlUnionListProvider",
"SDL unioins used to create a code",
true,
"SdlUnionListProvider")
45 I_ASSIGN(m_originalSchemaNamespaceCompPtr,
"OriginalSchemaNamespace",
"The namespace of the original(root) schema",
true,
"OriginalSchemaNamespace")
50 virtual bool ProcessEntry(
51 const imtsdl::CSdlEntryBase& sdlEntry,
52 QIODevice* headerDevicePtr,
53 QIODevice* sourceDevicePtr =
nullptr,
54 const iprm::IParamsSet* paramsPtr =
nullptr)
const override;
58 virtual bool ProcessSourceClassFile(
const imtsdl::CSdlType& sdlType, QIODevice* sourceDevicePtr,
const iprm::IParamsSet* paramsPtr)
const = 0;
59 virtual bool ProcessHeaderClassFile(
const imtsdl::CSdlType& sdlType, QIODevice* headerDevicePtr,
const iprm::IParamsSet* paramsPtr)
const = 0;
62 I_ATTR(QString, m_processorModificatorNameAttrPtr);
63 I_REF(imtsdl::ISdlProcessArgumentsParser, m_argumentParserCompPtr);
64 I_REF(imtsdl::ISdlTypeListProvider, m_sdlTypeListCompPtr);
65 I_REF(imtsdl::ISdlEnumListProvider, m_sdlEnumListCompPtr);
66 I_REF(imtsdl::ISdlUnionListProvider, m_sdlUnionListCompPtr);
67 I_REF(iprm::ITextParam, m_originalSchemaNamespaceCompPtr);