// ***************************************************************************
//
//   Generated automatically by genwrapper.
//   Please DO NOT EDIT this file!
//
// ***************************************************************************

#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>

#include <osg/GraphicsContext>
#include <osg/GraphicsThread>
#include <osg/Object>
#include <osg/State>

// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif

BEGIN_ENUM_REFLECTOR(osg::BarrierOperation::PreBlockOp)
	I_DeclaringFile("osg/GraphicsThread");
	I_EnumLabel(osg::BarrierOperation::NO_OPERATION);
	I_EnumLabel(osg::BarrierOperation::GL_FLUSH);
	I_EnumLabel(osg::BarrierOperation::GL_FINISH);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::BarrierOperation)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::Operation);
	I_BaseType(OpenThreads::Barrier);
	I_ConstructorWithDefaults3(IN, int, numThreads, , IN, osg::BarrierOperation::PreBlockOp, op, osg::BarrierOperation::NO_OPERATION, IN, bool, keep, true,
	                           ____BarrierOperation__int__PreBlockOp__bool,
	                           "",
	                           "");
	I_Method0(void, release,
	          Properties::VIRTUAL,
	          __void__release,
	          "Release the barrier, now. ",
	          "");
	I_PublicMemberProperty(osg::BarrierOperation::PreBlockOp, _preBlockOp);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::BlockAndFlushOperation)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::GraphicsOperation);
	I_BaseType(OpenThreads::Block);
	I_Constructor0(____BlockAndFlushOperation,
	               "",
	               "");
	I_Method0(void, release,
	          Properties::VIRTUAL,
	          __void__release,
	          "",
	          "");
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::EndOfDynamicDrawBlock)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(OpenThreads::BlockCount);
	I_BaseType(osg::State::DynamicObjectRenderingCompletedCallback);
	I_Constructor1(IN, unsigned, int,
	               Properties::NON_EXPLICIT,
	               ____EndOfDynamicDrawBlock__unsigned,
	               "",
	               "");
	I_Method1(void, completed, IN, osg::State *, state,
	          Properties::VIRTUAL,
	          __void__completed__osg_State_P1,
	          "",
	          "");
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::FlushDeletedGLObjectsOperation)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::GraphicsOperation);
	I_ConstructorWithDefaults2(IN, double, availableTime, , IN, bool, keep, false,
	                           ____FlushDeletedGLObjectsOperation__double__bool,
	                           "",
	                           "");
	I_PublicMemberProperty(double, _availableTime);
END_REFLECTOR

BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::GraphicsOperation)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::Operation);
	I_Constructor2(IN, const std::string &, name, IN, bool, keep,
	               ____GraphicsOperation__C5_std_string_R1__bool,
	               "",
	               "");
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::GraphicsThread)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::OperationThread);
	I_Constructor0(____GraphicsThread,
	               "",
	               "");
	I_Method0(void, run,
	          Properties::VIRTUAL,
	          __void__run,
	          "Run does the graphics thread run loop. ",
	          "");
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::ReleaseContext_Block_MakeCurrentOperation)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::GraphicsOperation);
	I_BaseType(osg::RefBlock);
	I_Constructor0(____ReleaseContext_Block_MakeCurrentOperation,
	               "",
	               "");
	I_Method0(void, release,
	          Properties::VIRTUAL,
	          __void__release,
	          "",
	          "");
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::RunOperations)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::GraphicsOperation);
	I_Constructor0(____RunOperations,
	               "",
	               "");
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osg::SwapBuffersOperation)
	I_DeclaringFile("osg/GraphicsThread");
	I_BaseType(osg::GraphicsOperation);
	I_Constructor0(____SwapBuffersOperation,
	               "",
	               "");
END_REFLECTOR

