#include <hxcpp.h>

#ifndef INCLUDED_snow_types_FileEventType
#include <snow/types/FileEventType.h>
#endif
namespace snow{
namespace types{

::snow::types::FileEventType FileEventType_obj::create;

::snow::types::FileEventType FileEventType_obj::drop;

::snow::types::FileEventType FileEventType_obj::modify;

::snow::types::FileEventType FileEventType_obj::remove;

::snow::types::FileEventType FileEventType_obj::unknown;

HX_DEFINE_CREATE_ENUM(FileEventType_obj)

int FileEventType_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("create")) return 3;
	if (inName==HX_CSTRING("drop")) return 4;
	if (inName==HX_CSTRING("modify")) return 1;
	if (inName==HX_CSTRING("remove")) return 2;
	if (inName==HX_CSTRING("unknown")) return 0;
	return super::__FindIndex(inName);
}

int FileEventType_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("create")) return 0;
	if (inName==HX_CSTRING("drop")) return 0;
	if (inName==HX_CSTRING("modify")) return 0;
	if (inName==HX_CSTRING("remove")) return 0;
	if (inName==HX_CSTRING("unknown")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic FileEventType_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("create")) return create;
	if (inName==HX_CSTRING("drop")) return drop;
	if (inName==HX_CSTRING("modify")) return modify;
	if (inName==HX_CSTRING("remove")) return remove;
	if (inName==HX_CSTRING("unknown")) return unknown;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("unknown"),
	HX_CSTRING("modify"),
	HX_CSTRING("remove"),
	HX_CSTRING("create"),
	HX_CSTRING("drop"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(FileEventType_obj::create,"create");
	HX_MARK_MEMBER_NAME(FileEventType_obj::drop,"drop");
	HX_MARK_MEMBER_NAME(FileEventType_obj::modify,"modify");
	HX_MARK_MEMBER_NAME(FileEventType_obj::remove,"remove");
	HX_MARK_MEMBER_NAME(FileEventType_obj::unknown,"unknown");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(FileEventType_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(FileEventType_obj::create,"create");
	HX_VISIT_MEMBER_NAME(FileEventType_obj::drop,"drop");
	HX_VISIT_MEMBER_NAME(FileEventType_obj::modify,"modify");
	HX_VISIT_MEMBER_NAME(FileEventType_obj::remove,"remove");
	HX_VISIT_MEMBER_NAME(FileEventType_obj::unknown,"unknown");
};
#endif

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

Dynamic __Create_FileEventType_obj() { return new FileEventType_obj; }

void FileEventType_obj::__register()
{

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

void FileEventType_obj::__boot()
{
hx::Static(create) = hx::CreateEnum< FileEventType_obj >(HX_CSTRING("create"),3);
hx::Static(drop) = hx::CreateEnum< FileEventType_obj >(HX_CSTRING("drop"),4);
hx::Static(modify) = hx::CreateEnum< FileEventType_obj >(HX_CSTRING("modify"),1);
hx::Static(remove) = hx::CreateEnum< FileEventType_obj >(HX_CSTRING("remove"),2);
hx::Static(unknown) = hx::CreateEnum< FileEventType_obj >(HX_CSTRING("unknown"),0);
}


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