/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!

THIS FILE IS GENERATED BY W05_COMPILE

This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/

#include "W05ScriptIncludes.h"
/* CodePack:BeginIgnore() */
#ifndef VCZH_DEBUG_NO_REFLECTION
/* CodePack:ConditionOff(VCZH_DEBUG_NO_REFLECTION, W05ScriptReflection.h) */
#include "W05ScriptReflection.h"
#endif
/* CodePack:EndIgnore() */

#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#endif

#define GLOBAL_SYMBOL ::vl_workflow_global::W05Script::
#define GLOBAL_NAME ::vl_workflow_global::W05Script::Instance().
#define GLOBAL_OBJ &::vl_workflow_global::W05Script::Instance()

/***********************************************************************
Global Variables
***********************************************************************/

BEGIN_GLOBAL_STORAGE_CLASS(vl_workflow_global_W05Script)
	vl_workflow_global::W05Script instance;
	INITIALIZE_GLOBAL_STORAGE_CLASS
	FINALIZE_GLOBAL_STORAGE_CLASS
END_GLOBAL_STORAGE_CLASS(vl_workflow_global_W05Script)

namespace vl_workflow_global
{
/***********************************************************************
Global Functions
***********************************************************************/

	W05Script& W05Script::Instance()
	{
		return Getvl_workflow_global_W05Script().instance;
	}

/***********************************************************************
Closures
***********************************************************************/

	//-------------------------------------------------------------------

	__vwsnc1_W05Script_myscript_MyApp_CreateScripting__myapi_IScripting::__vwsnc1_W05Script_myscript_MyApp_CreateScripting__myapi_IScripting(::myscript::MyApp* __vwsnctorthis_0)
		:__vwsnthis_0(::vl::__vwsn::This(__vwsnctorthis_0))
	{
	}

	void __vwsnc1_W05Script_myscript_MyApp_CreateScripting__myapi_IScripting::Execute(const ::vl::WString& name)
	{
		::myapi::App::Print(((::vl::WString::Unmanaged(L"Hello, ") + name) + ::vl::WString::Unmanaged(L"!")));
	}

}

/***********************************************************************
Class (::myscript::MyApp)
***********************************************************************/

namespace myscript
{
	MyApp::MyApp()
	{
	}

	::vl::Ptr<::myapi::IScripting> MyApp::CreateScripting()
	{
		return ::vl::Ptr<::myapi::IScripting>(new ::vl_workflow_global::__vwsnc1_W05Script_myscript_MyApp_CreateScripting__myapi_IScripting(this));
	}

}
#undef GLOBAL_SYMBOL
#undef GLOBAL_NAME
#undef GLOBAL_OBJ

#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__clang__)
#pragma clang diagnostic pop
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#endif
