#ifndef VCZH_PRESENTATION_REFLECTION_GUIINSTANCESCHE_WORKFLOWCODEGEN
#define VCZH_PRESENTATION_REFLECTION_GUIINSTANCESCHE_WORKFLOWCODEGEN
#include "../GuiInstanceLoader.h"
#include "../../Resources/GuiParserManager.h"
#include "../../Reflection/TypeDescriptors/GuiReflectionPlugin.h"
namespace
{
namespace
{
namespace
{
struct
{
*
=
nullptr
;
::
;
<
>
;
};
typedef
collections
::
<
,
::
>
;
typedef
collections
::
<
,
<
description
::
>>
;
typedef
collections
::
<
*,
>
;
typedef
collections
::
<
,
<
::
>>
;
struct
:
public
,
public
<
>
{
<
>
;
<
>
;
::
;
;
collections
::
<
>
;
::
;
*
=
nullptr
;
;
;
};
}
extern
workflow
::
analyzer
::
*
Workflow_GetSharedManager
();
extern
<
workflow
::
analyzer
::
>
Workflow_TransferSharedManager
();
extern
<
workflow
::
>
(
GuiResourcePrecompileContext
&
,
,
const
&
,
,
collections
::
<
>&
,
parsing
::
= {
0
,
0
});
extern
<
workflow
::
>
(
GuiResourcePrecompileContext
&
,
,
const
&
,
,
collections
::
<
>&
,
parsing
::
= {
0
,
0
});
extern
<
workflow
::
>
(
GuiResourcePrecompileContext
&
,
,
const
&
,
,
collections
::
<
>&
,
parsing
::
= {
0
,
0
});
extern
<
workflow
::
>
Workflow_ParseCoProviderStatement
(
GuiResourcePrecompileContext
&
,
,
const
&
,
,
collections
::
<
>&
,
parsing
::
= {
0
,
0
});
extern
<
workflow
::
>
(
GuiResourcePrecompileContext
&
,
,
const
&
,
,
collections
::
<
>&
,
parsing
::
= {
0
,
0
});
extern
(
<
workflow
::
>
);
extern
<
workflow
::
>
(
GuiResourcePrecompileContext
&
,
description
::
*
,
,
const
&
,
,
collections
::
<
>&
);
extern
<
workflow
::
>
(
GuiResourcePrecompileContext
&
,
types
::
&
,
*
,
const
::
&
,
<
>
,
const
&
,
const
&
,
,
::
&
);
extern
<
workflow
::
>
Workflow_InstallUriProperty
(
GuiResourcePrecompileContext
&
,
types
::
&
,
,
*
,
const
::
&
,
<
>
,
const
&
,
const
&
,
,
::
&
);
extern
<
workflow
::
>
Workflow_InstallBindProperty
(
GuiResourcePrecompileContext
&
,
types
::
&
,
,
description
::
*
,
<
workflow
::
>
);
extern
<
workflow
::
>
Workflow_InstallEvalProperty
(
GuiResourcePrecompileContext
&
,
types
::
&
,
,
*
,
const
::
&
,
<
>
,
<
workflow
::
>
,
,
::
&
);
extern
<
workflow
::
>
(
GuiResourcePrecompileContext
&
,
types
::
&
,
,
description
::
*
,
const
&
);
extern
<
workflow
::
>
Workflow_GenerateEventHandler
(
GuiResourcePrecompileContext
&
,
description
::
*
);
extern
<
workflow
::
>
Workflow_InstallEvalEvent
(
GuiResourcePrecompileContext
&
,
types
::
&
,
,
description
::
*
,
<
workflow
::
>
);
extern
<
workflow
::
>
Workflow_CreateModuleWithUsings
(
<
>
,
const
&
);
extern
<
workflow
::
>
(
const
&
,
<
workflow
::
>
);
extern
<
workflow
::
>
Workflow_InstallCtorClass
(
types
::
&
,
<
workflow
::
>
);
extern
void
Workflow_CreatePointerVariable
(
<
workflow
::
>
,
,
description
::
*
);
extern
void
Workflow_CreateVariablesForReferenceValues
(
<
workflow
::
>
,
types
::
&
);
struct
{
*
;
;
<
>
;
<
>
;
()
:loader(
0
)
{
}
(
*
,
)
:loader(
)
, typeName(
)
{
}
(
<
>
)
:loader(
0
)
, item(
)
, context(
().
<
>())
{
}
bool
()
const
{
return
!=
0
||
;
}
};
extern
::
Workflow_AdjustPropertySearchType
(
types
::
&
,
::
,
);
extern
bool
Workflow_GetPropertyTypes
(
&
,
types
::
&
,
*
,
::
,
,
<
::
>
,
collections
::
<
types
::
>&
,
::
&
);
extern
<
reflection
::
description
::
>
Workflow_GetSuggestedParameterType
(
reflection
::
description
::
*
);
extern
::
Workflow_CollectReferences
(
GuiResourcePrecompileContext
&
,
types
::
&
,
::
&
);
extern
void
Workflow_GenerateCreating
(
GuiResourcePrecompileContext
&
,
types
::
&
,
<
workflow
::
>
,
::
&
);
extern
void
Workflow_GenerateBindings
(
GuiResourcePrecompileContext
&
,
types
::
&
,
<
workflow
::
>
,
::
&
);
extern
FindInstanceLoadingSource
(
<
>
,
,
const
&
);
extern
<
>
(
<
>
,
*
,
<
GuiResourceClassNameRecord
>
);
extern
FindInstanceLoadingSource
(
<
>
,
*
);
extern
<
workflow
::
>
Workflow_PrecompileInstanceContext
(
GuiResourcePrecompileContext
&
,
const
&
,
types
::
&
,
::
&
);
extern
<
workflow
::
>
Workflow_GenerateInstanceClass
(
GuiResourcePrecompileContext
&
,
const
&
,
types
::
&
,
::
&
,
);
#define WORKFLOW_ENVIRONMENT_VARIABLE_ADD\
FOREACH_INDEXER(GlobalStringKey, envVar, index, repr->environmentVariables.Keys())\
{\
auto value = repr->environmentVariables.Values()[index];\
resolvingResult.envVars.Add(envVar, value);\
}\
#define WORKFLOW_ENVIRONMENT_VARIABLE_REMOVE\
FOREACH_INDEXER(GlobalStringKey, envVar, index, repr->environmentVariables.Keys())\
{\
auto value = repr->environmentVariables.Values()[index];\
resolvingResult.envVars.Remove(envVar, value.Obj());\
}\
namespace
{
struct
{
;
parsing
::
;
;
};
class
:
public
,
public
<
>
{
using
=
collections
::
<
<
parsing
::
>,
>;
public
:
;
};
}
extern
void
Workflow_RecordScriptPosition
(
GuiResourcePrecompileContext
&
,
,
<
workflow
::
>
,
parsing
::
= {
0
,
0
});
extern
void
Workflow_RecordScriptPosition
(
GuiResourcePrecompileContext
&
,
,
<
workflow
::
>
,
parsing
::
= {
0
,
0
});
extern
void
Workflow_RecordScriptPosition
(
GuiResourcePrecompileContext
&
,
,
<
workflow
::
>
,
parsing
::
= {
0
,
0
});
extern
void
Workflow_RecordScriptPosition
(
GuiResourcePrecompileContext
&
,
,
<
workflow
::
>
,
parsing
::
= {
0
,
0
});
extern
void
Workflow_RecordScriptPosition
(
GuiResourcePrecompileContext
&
,
,
<
workflow
::
>
,
parsing
::
= {
0
,
0
});
extern
<
types
::
>
Workflow_GetScriptPosition
(
GuiResourcePrecompileContext
&
);
extern
void
Workflow_ClearScriptPosition
(
GuiResourcePrecompileContext
&
);
}
}
#endif