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

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

#include <osg/CopyOp>
#include <osg/Image>
#include <osg/Node>
#include <osg/Object>
#include <osg/Shape>
#include <osgDB/Archive>
#include <osgDB/ReaderWriter>

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

BEGIN_ENUM_REFLECTOR(osgDB::ReaderWriter::ArchiveStatus)
	I_EnumLabel(osgDB::ReaderWriter::READ);
	I_EnumLabel(osgDB::ReaderWriter::WRITE);
	I_EnumLabel(osgDB::ReaderWriter::CREATE);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgDB::ReaderWriter)
	I_BaseType(osg::Object);
	I_Constructor0();
	I_ConstructorWithDefaults2(IN, const osgDB::ReaderWriter &, rw, , IN, const osg::CopyOp, copyop, osg::CopyOp::SHALLOW_COPY);
	I_Method0(osg::Object *, cloneType);
	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop);
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj);
	I_Method0(const char *, libraryName);
	I_Method0(const char *, className);
	I_Method1(bool, acceptsExtension, IN, const std::string &, x);
	I_MethodWithDefaults4(osgDB::ReaderWriter::ReadResult, openArchive, IN, const std::string &, x, , IN, osgDB::ReaderWriter::ArchiveStatus, x, , IN, unsigned, int, 4096, IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, openArchive, IN, std::istream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readObject, IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readImage, IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readHeightField, IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readNode, IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeObject, IN, const osg::Object &, x, , IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeImage, IN, const osg::Image &, x, , IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeHeightField, IN, const osg::HeightField &, x, , IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeNode, IN, const osg::Node &, x, , IN, const std::string &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readObject, IN, std::istream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readImage, IN, std::istream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readHeightField, IN, std::istream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults2(osgDB::ReaderWriter::ReadResult, readNode, IN, std::istream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeObject, IN, const osg::Object &, x, , IN, std::ostream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeImage, IN, const osg::Image &, x, , IN, std::ostream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeHeightField, IN, const osg::HeightField &, x, , IN, std::ostream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
	I_MethodWithDefaults3(osgDB::ReaderWriter::WriteResult, writeNode, IN, const osg::Node &, x, , IN, std::ostream &, x, , IN, const osgDB::ReaderWriter::Options *, x, NULL);
END_REFLECTOR

BEGIN_ENUM_REFLECTOR(osgDB::ReaderWriter::Options::CacheHintOptions)
	I_EnumLabel(osgDB::ReaderWriter::Options::CACHE_NONE);
	I_EnumLabel(osgDB::ReaderWriter::Options::CACHE_NODES);
	I_EnumLabel(osgDB::ReaderWriter::Options::CACHE_IMAGES);
	I_EnumLabel(osgDB::ReaderWriter::Options::CACHE_HEIGHTFIELDS);
	I_EnumLabel(osgDB::ReaderWriter::Options::CACHE_ARCHIVES);
	I_EnumLabel(osgDB::ReaderWriter::Options::CACHE_OBJECTS);
	I_EnumLabel(osgDB::ReaderWriter::Options::CACHE_ALL);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgDB::ReaderWriter::Options)
	I_BaseType(osg::Object);
	I_Constructor0();
	I_Constructor1(IN, const std::string &, str);
	I_ConstructorWithDefaults2(IN, const osgDB::ReaderWriter::Options &, options, , IN, const osg::CopyOp, copyop, osg::CopyOp::SHALLOW_COPY);
	I_Method0(osg::Object *, cloneType);
	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop);
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj);
	I_Method0(const char *, libraryName);
	I_Method0(const char *, className);
	I_Method1(void, setOptionString, IN, const std::string &, str);
	I_Method0(const std::string &, getOptionString);
	I_Method1(void, setDatabasePath, IN, const std::string &, str);
	I_Method0(osgDB::FilePathList &, getDatabasePathList);
	I_Method0(const osgDB::FilePathList &, getDatabasePathList);
	I_Method1(void, setObjectCacheHint, IN, osgDB::ReaderWriter::Options::CacheHintOptions, useObjectCache);
	I_Method0(osgDB::ReaderWriter::Options::CacheHintOptions, getObjectCacheHint);
	I_WriteOnlyProperty(const std::string &, DatabasePath);
	I_ReadOnlyProperty(osgDB::FilePathList &, DatabasePathList);
	I_Property(osgDB::ReaderWriter::Options::CacheHintOptions, ObjectCacheHint);
	I_Property(const std::string &, OptionString);
END_REFLECTOR

BEGIN_ENUM_REFLECTOR(osgDB::ReaderWriter::ReadResult::ReadStatus)
	I_EnumLabel(osgDB::ReaderWriter::ReadResult::FILE_NOT_HANDLED);
	I_EnumLabel(osgDB::ReaderWriter::ReadResult::FILE_NOT_FOUND);
	I_EnumLabel(osgDB::ReaderWriter::ReadResult::FILE_LOADED);
	I_EnumLabel(osgDB::ReaderWriter::ReadResult::FILE_LOADED_FROM_CACHE);
	I_EnumLabel(osgDB::ReaderWriter::ReadResult::ERROR_IN_READING_FILE);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osgDB::ReaderWriter::ReadResult)
	I_ConstructorWithDefaults1(IN, osgDB::ReaderWriter::ReadResult::ReadStatus, status, osgDB::ReaderWriter::ReadResult::FILE_NOT_HANDLED);
	I_Constructor1(IN, const std::string &, m);
	I_ConstructorWithDefaults2(IN, osg::Object *, obj, , IN, osgDB::ReaderWriter::ReadResult::ReadStatus, status, osgDB::ReaderWriter::ReadResult::FILE_LOADED);
	I_Constructor1(IN, const osgDB::ReaderWriter::ReadResult &, rr);
	I_Method0(osg::Object *, getObject);
	I_Method0(osg::Image *, getImage);
	I_Method0(osg::HeightField *, getHeightField);
	I_Method0(osg::Node *, getNode);
	I_Method0(osgDB::Archive *, getArchive);
	I_Method0(bool, validObject);
	I_Method0(bool, validImage);
	I_Method0(bool, validHeightField);
	I_Method0(bool, validNode);
	I_Method0(bool, validArchive);
	I_Method0(osg::Object *, takeObject);
	I_Method0(osg::Image *, takeImage);
	I_Method0(osg::HeightField *, takeHeightField);
	I_Method0(osg::Node *, takeNode);
	I_Method0(osgDB::Archive *, takeArchive);
	I_Method0(const std::string &, message);
	I_Method0(osgDB::ReaderWriter::ReadResult::ReadStatus, status);
	I_Method0(bool, success);
	I_Method0(bool, loadedFromCache);
	I_Method0(bool, error);
	I_Method0(bool, notHandled);
	I_Method0(bool, notFound);
	I_ReadOnlyProperty(osgDB::Archive *, Archive);
	I_ReadOnlyProperty(osg::HeightField *, HeightField);
	I_ReadOnlyProperty(osg::Image *, Image);
	I_ReadOnlyProperty(osg::Node *, Node);
	I_ReadOnlyProperty(osg::Object *, Object);
END_REFLECTOR

BEGIN_ENUM_REFLECTOR(osgDB::ReaderWriter::WriteResult::WriteStatus)
	I_EnumLabel(osgDB::ReaderWriter::WriteResult::FILE_NOT_HANDLED);
	I_EnumLabel(osgDB::ReaderWriter::WriteResult::FILE_SAVED);
	I_EnumLabel(osgDB::ReaderWriter::WriteResult::ERROR_IN_WRITING_FILE);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osgDB::ReaderWriter::WriteResult)
	I_ConstructorWithDefaults1(IN, osgDB::ReaderWriter::WriteResult::WriteStatus, status, osgDB::ReaderWriter::WriteResult::FILE_NOT_HANDLED);
	I_Constructor1(IN, const std::string &, m);
	I_Constructor1(IN, const osgDB::ReaderWriter::WriteResult &, rr);
	I_Method0(const std::string &, message);
	I_Method0(osgDB::ReaderWriter::WriteResult::WriteStatus, status);
	I_Method0(bool, success);
	I_Method0(bool, error);
	I_Method0(bool, notHandled);
END_REFLECTOR

TYPE_NAME_ALIAS(std::deque< std::string >, osgDB::FilePathList);

STD_VECTOR_REFLECTOR(std::deque< std::string >);

