// This file has been generated by Py++.

#include "boost/python.hpp"
#include "python_CEGUIOgreRenderer.h"
#include "OgreResourceProvider.pypp.hpp"

namespace bp = boost::python;

struct OgreResourceProvider_wrapper : CEGUI::OgreResourceProvider, bp::wrapper< CEGUI::OgreResourceProvider > {

    OgreResourceProvider_wrapper( )
    : CEGUI::OgreResourceProvider( )
      , bp::wrapper< CEGUI::OgreResourceProvider >(){
        // null constructor
    
    }

    virtual ::size_t getResourceGroupFileNames( ::std::vector< CEGUI::String > & out_vec, ::CEGUI::String const & file_pattern, ::CEGUI::String const & resource_group ) {
        if( bp::override func_getResourceGroupFileNames = this->get_override( "getResourceGroupFileNames" ) )
            return func_getResourceGroupFileNames( boost::ref(out_vec), boost::ref(file_pattern), boost::ref(resource_group) );
        else{
            return this->CEGUI::OgreResourceProvider::getResourceGroupFileNames( boost::ref(out_vec), boost::ref(file_pattern), boost::ref(resource_group) );
        }
    }
    
    ::size_t default_getResourceGroupFileNames( ::std::vector< CEGUI::String > & out_vec, ::CEGUI::String const & file_pattern, ::CEGUI::String const & resource_group ) {
        return CEGUI::OgreResourceProvider::getResourceGroupFileNames( boost::ref(out_vec), boost::ref(file_pattern), boost::ref(resource_group) );
    }

    virtual void loadRawDataContainer( ::CEGUI::String const & filename, ::CEGUI::RawDataContainer & output, ::CEGUI::String const & resourceGroup ) {
        if( bp::override func_loadRawDataContainer = this->get_override( "loadRawDataContainer" ) )
            func_loadRawDataContainer( boost::ref(filename), boost::ref(output), boost::ref(resourceGroup) );
        else{
            this->CEGUI::OgreResourceProvider::loadRawDataContainer( boost::ref(filename), boost::ref(output), boost::ref(resourceGroup) );
        }
    }
    
    void default_loadRawDataContainer( ::CEGUI::String const & filename, ::CEGUI::RawDataContainer & output, ::CEGUI::String const & resourceGroup ) {
        CEGUI::OgreResourceProvider::loadRawDataContainer( boost::ref(filename), boost::ref(output), boost::ref(resourceGroup) );
    }

    virtual void unloadRawDataContainer( ::CEGUI::RawDataContainer & output ) {
        if( bp::override func_unloadRawDataContainer = this->get_override( "unloadRawDataContainer" ) )
            func_unloadRawDataContainer( boost::ref(output) );
        else{
            this->CEGUI::OgreResourceProvider::unloadRawDataContainer( boost::ref(output) );
        }
    }
    
    void default_unloadRawDataContainer( ::CEGUI::RawDataContainer & output ) {
        CEGUI::OgreResourceProvider::unloadRawDataContainer( boost::ref(output) );
    }

};

void register_OgreResourceProvider_class(){

    { //::CEGUI::OgreResourceProvider
        typedef bp::class_< OgreResourceProvider_wrapper, bp::bases< ::CEGUI::ResourceProvider >, boost::noncopyable > OgreResourceProvider_exposer_t;
        OgreResourceProvider_exposer_t OgreResourceProvider_exposer = OgreResourceProvider_exposer_t( "OgreResourceProvider", bp::init< >() );
        bp::scope OgreResourceProvider_scope( OgreResourceProvider_exposer );
        { //::CEGUI::OgreResourceProvider::getResourceGroupFileNames
        
            typedef ::size_t ( ::CEGUI::OgreResourceProvider::*getResourceGroupFileNames_function_type )( ::std::vector< CEGUI::String > &,::CEGUI::String const &,::CEGUI::String const & ) ;
            typedef ::size_t ( OgreResourceProvider_wrapper::*default_getResourceGroupFileNames_function_type )( ::std::vector< CEGUI::String > &,::CEGUI::String const &,::CEGUI::String const & ) ;
            
            OgreResourceProvider_exposer.def( 
                "getResourceGroupFileNames"
                , getResourceGroupFileNames_function_type(&::CEGUI::OgreResourceProvider::getResourceGroupFileNames)
                , default_getResourceGroupFileNames_function_type(&OgreResourceProvider_wrapper::default_getResourceGroupFileNames)
                , ( bp::arg("out_vec"), bp::arg("file_pattern"), bp::arg("resource_group") ) );
        
        }
        { //::CEGUI::OgreResourceProvider::loadRawDataContainer
        
            typedef void ( ::CEGUI::OgreResourceProvider::*loadRawDataContainer_function_type )( ::CEGUI::String const &,::CEGUI::RawDataContainer &,::CEGUI::String const & ) ;
            typedef void ( OgreResourceProvider_wrapper::*default_loadRawDataContainer_function_type )( ::CEGUI::String const &,::CEGUI::RawDataContainer &,::CEGUI::String const & ) ;
            
            OgreResourceProvider_exposer.def( 
                "loadRawDataContainer"
                , loadRawDataContainer_function_type(&::CEGUI::OgreResourceProvider::loadRawDataContainer)
                , default_loadRawDataContainer_function_type(&OgreResourceProvider_wrapper::default_loadRawDataContainer)
                , ( bp::arg("filename"), bp::arg("output"), bp::arg("resourceGroup") ) );
        
        }
        { //::CEGUI::OgreResourceProvider::unloadRawDataContainer
        
            typedef void ( ::CEGUI::OgreResourceProvider::*unloadRawDataContainer_function_type )( ::CEGUI::RawDataContainer & ) ;
            typedef void ( OgreResourceProvider_wrapper::*default_unloadRawDataContainer_function_type )( ::CEGUI::RawDataContainer & ) ;
            
            OgreResourceProvider_exposer.def( 
                "unloadRawDataContainer"
                , unloadRawDataContainer_function_type(&::CEGUI::OgreResourceProvider::unloadRawDataContainer)
                , default_unloadRawDataContainer_function_type(&OgreResourceProvider_wrapper::default_unloadRawDataContainer)
                , ( bp::arg("output") ) );
        
        }
    }

}
