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

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

#include <OpenThreads/Barrier>

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

#include <osg/observer_ptr>
        
BEGIN_OBJECT_REFLECTOR(OpenThreads::Barrier)
	I_DeclaringFile("OpenThreads/Barrier");
	I_ConstructorWithDefaults1(IN, int, numThreads, 0,
	                           Properties::NON_EXPLICIT,
	                           ____Barrier__int,
	                           "Constructor. ",
	                           "");
	I_Method0(void, reset,
	          Properties::VIRTUAL,
	          __void__reset,
	          "Reset the barrier to it's original state. ",
	          "");
	I_MethodWithDefaults1(void, block, IN, unsigned int, numThreads, 0,
	                      Properties::VIRTUAL,
	                      __void__block__unsigned_int,
	                      "Block until numThreads threads have entered the barrier. ",
	                      "");
	I_Method0(void, release,
	          Properties::VIRTUAL,
	          __void__release,
	          "Release the barrier, now. ",
	          "");
	I_Method0(int, numThreadsCurrentlyBlocked,
	          Properties::VIRTUAL,
	          __int__numThreadsCurrentlyBlocked,
	          "Return the number of threads currently blocked in the barrier, Return -1 if error. ",
	          "");
	I_Method0(void, invalidate,
	          Properties::NON_VIRTUAL,
	          __void__invalidate,
	          "",
	          "");
END_REFLECTOR

