#include <hxcpp.h>

#ifndef INCLUDED_snow_types_GamepadDeviceEventType
#include <snow/types/GamepadDeviceEventType.h>
#endif
namespace snow{
namespace types{

::snow::types::GamepadDeviceEventType GamepadDeviceEventType_obj::device_added;

::snow::types::GamepadDeviceEventType GamepadDeviceEventType_obj::device_remapped;

::snow::types::GamepadDeviceEventType GamepadDeviceEventType_obj::device_removed;

HX_DEFINE_CREATE_ENUM(GamepadDeviceEventType_obj)

int GamepadDeviceEventType_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("device_added")) return 0;
	if (inName==HX_CSTRING("device_remapped")) return 2;
	if (inName==HX_CSTRING("device_removed")) return 1;
	return super::__FindIndex(inName);
}

int GamepadDeviceEventType_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("device_added")) return 0;
	if (inName==HX_CSTRING("device_remapped")) return 0;
	if (inName==HX_CSTRING("device_removed")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic GamepadDeviceEventType_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("device_added")) return device_added;
	if (inName==HX_CSTRING("device_remapped")) return device_remapped;
	if (inName==HX_CSTRING("device_removed")) return device_removed;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("device_added"),
	HX_CSTRING("device_removed"),
	HX_CSTRING("device_remapped"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(GamepadDeviceEventType_obj::device_added,"device_added");
	HX_MARK_MEMBER_NAME(GamepadDeviceEventType_obj::device_remapped,"device_remapped");
	HX_MARK_MEMBER_NAME(GamepadDeviceEventType_obj::device_removed,"device_removed");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(GamepadDeviceEventType_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(GamepadDeviceEventType_obj::device_added,"device_added");
	HX_VISIT_MEMBER_NAME(GamepadDeviceEventType_obj::device_remapped,"device_remapped");
	HX_VISIT_MEMBER_NAME(GamepadDeviceEventType_obj::device_removed,"device_removed");
};
#endif

static ::String sMemberFields[] = { ::String(null()) };
Class GamepadDeviceEventType_obj::__mClass;

Dynamic __Create_GamepadDeviceEventType_obj() { return new GamepadDeviceEventType_obj; }

void GamepadDeviceEventType_obj::__register()
{

hx::Static(__mClass) = hx::RegisterClass(HX_CSTRING("snow.types.GamepadDeviceEventType"), hx::TCanCast< GamepadDeviceEventType_obj >,sStaticFields,sMemberFields,
	&__Create_GamepadDeviceEventType_obj, &__Create,
	&super::__SGetClass(), &CreateGamepadDeviceEventType_obj, sMarkStatics
#ifdef HXCPP_VISIT_ALLOCS
    , sVisitStatic
#endif
#ifdef HXCPP_SCRIPTABLE
    , 0
#endif
);
}

void GamepadDeviceEventType_obj::__boot()
{
hx::Static(device_added) = hx::CreateEnum< GamepadDeviceEventType_obj >(HX_CSTRING("device_added"),0);
hx::Static(device_remapped) = hx::CreateEnum< GamepadDeviceEventType_obj >(HX_CSTRING("device_remapped"),2);
hx::Static(device_removed) = hx::CreateEnum< GamepadDeviceEventType_obj >(HX_CSTRING("device_removed"),1);
}


} // end namespace snow
} // end namespace types
