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

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

#include <osgDB/DynamicLibrary>

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

TYPE_NAME_ALIAS(void *, osgDB::DynamicLibrary::HANDLE)

TYPE_NAME_ALIAS(void *, osgDB::DynamicLibrary::PROC_ADDRESS)

BEGIN_OBJECT_REFLECTOR(osgDB::DynamicLibrary)
	I_DeclaringFile("osgDB/DynamicLibrary");
	I_BaseType(osg::Referenced);
	I_Method0(const std::string &, getName,
	          Properties::NON_VIRTUAL,
	          __C5_std_string_R1__getName,
	          "return name of library stripped of path. ",
	          "");
	I_Method0(const std::string &, getFullName,
	          Properties::NON_VIRTUAL,
	          __C5_std_string_R1__getFullName,
	          "return name of library including full path to it. ",
	          "");
	I_Method0(osgDB::DynamicLibrary::HANDLE, getHandle,
	          Properties::NON_VIRTUAL,
	          __HANDLE__getHandle,
	          "return handle to .dso/.dll dynamic library itself. ",
	          "");
	I_Method1(osgDB::DynamicLibrary::PROC_ADDRESS, getProcAddress, IN, const std::string &, procName,
	          Properties::NON_VIRTUAL,
	          __PROC_ADDRESS__getProcAddress__C5_std_string_R1,
	          "return address of function located in library. ",
	          "");
	I_StaticMethod1(osgDB::DynamicLibrary *, loadLibrary, IN, const std::string &, libraryName,
	                __DynamicLibrary_P1__loadLibrary__C5_std_string_R1_S,
	                "returns a pointer to a DynamicLibrary object on successfully opening of library returns NULL on failure. ",
	                "");
	I_ProtectedConstructor0(____DynamicLibrary,
	                        "disallow default constructor. ",
	                        "");
	I_ProtectedConstructor1(IN, const osgDB::DynamicLibrary &, x,
	                        Properties::NON_EXPLICIT,
	                        ____DynamicLibrary__C5_DynamicLibrary_R1,
	                        "disallow copy constructor. ",
	                        "");
	I_ProtectedConstructor2(IN, const std::string &, name, IN, osgDB::DynamicLibrary::HANDLE, handle,
	                        ____DynamicLibrary__C5_std_string_R1__HANDLE,
	                        "Disallow public construction so that users have to go through loadLibrary() above which returns NULL on failure, a valid DynamicLibrary object on success. ",
	                        "");
	I_SimpleProperty(const std::string &, FullName, 
	                 __C5_std_string_R1__getFullName, 
	                 0);
	I_SimpleProperty(osgDB::DynamicLibrary::HANDLE, Handle, 
	                 __HANDLE__getHandle, 
	                 0);
	I_SimpleProperty(const std::string &, Name, 
	                 __C5_std_string_R1__getName, 
	                 0);
END_REFLECTOR

