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

#include "boost/python.hpp"
#include "generators/include/python_CEGUI.h"
#include "NamedXMLResourceManagerScheme.pypp.hpp"

namespace bp = boost::python;

struct NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper : CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >, bp::wrapper< CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > > {

    NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper(::CEGUI::String const & resource_type )
    : CEGUI::NamedXMLResourceManager<CEGUI::Scheme, CEGUI::Scheme_xmlHandler>( boost::ref(resource_type) )
      , bp::wrapper< CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > >(){
        // constructor
    
    }

    ::CEGUI::Scheme & doExistingObjectAction( ::CEGUI::String const object_name, ::CEGUI::Scheme * object, ::CEGUI::XMLResourceExistsAction const action ){
        return CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::doExistingObjectAction( object_name, boost::python::ptr(object), action );
    }

    virtual void doPostObjectAdditionAction( ::CEGUI::Scheme & arg0 ){
        if( bp::override func_doPostObjectAdditionAction = this->get_override( "doPostObjectAdditionAction" ) )
            func_doPostObjectAdditionAction( boost::ref(arg0) );
        else{
            this->CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::doPostObjectAdditionAction( boost::ref(arg0) );
        }
    }
    
    virtual void default_doPostObjectAdditionAction( ::CEGUI::Scheme & arg0 ){
        CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::doPostObjectAdditionAction( boost::ref(arg0) );
    }

    virtual void fireEvent( ::CEGUI::String const & name, ::CEGUI::EventArgs & args, ::CEGUI::String const & eventNamespace="" ) {
        if( bp::override func_fireEvent = this->get_override( "fireEvent" ) )
            func_fireEvent( boost::ref(name), boost::ref(args), boost::ref(eventNamespace) );
        else{
            this->CEGUI::EventSet::fireEvent( boost::ref(name), boost::ref(args), boost::ref(eventNamespace) );
        }
    }
    
    void default_fireEvent( ::CEGUI::String const & name, ::CEGUI::EventArgs & args, ::CEGUI::String const & eventNamespace="" ) {
        CEGUI::EventSet::fireEvent( boost::ref(name), boost::ref(args), boost::ref(eventNamespace) );
    }

    void fireEvent_impl( ::CEGUI::String const & name, ::CEGUI::EventArgs & args ){
        CEGUI::EventSet::fireEvent_impl( boost::ref(name), boost::ref(args) );
    }

    ::CEGUI::ScriptModule * getScriptModule(  ) const {
        return CEGUI::EventSet::getScriptModule(  );
    }

    virtual ::CEGUI::RefCounted< CEGUI::BoundSlot > subscribeScriptedEvent( ::CEGUI::String const & name, ::CEGUI::String const & subscriber_name ) {
        if( bp::override func_subscribeScriptedEvent = this->get_override( "subscribeScriptedEvent" ) )
            return func_subscribeScriptedEvent( boost::ref(name), boost::ref(subscriber_name) );
        else{
            return this->CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), boost::ref(subscriber_name) );
        }
    }
    
    ::CEGUI::RefCounted< CEGUI::BoundSlot > default_subscribeScriptedEvent( ::CEGUI::String const & name, ::CEGUI::String const & subscriber_name ) {
        return CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), boost::ref(subscriber_name) );
    }

    virtual ::CEGUI::RefCounted< CEGUI::BoundSlot > subscribeScriptedEvent( ::CEGUI::String const & name, unsigned int group, ::CEGUI::String const & subscriber_name ) {
        if( bp::override func_subscribeScriptedEvent = this->get_override( "subscribeScriptedEvent" ) )
            return func_subscribeScriptedEvent( boost::ref(name), group, boost::ref(subscriber_name) );
        else{
            return this->CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), group, boost::ref(subscriber_name) );
        }
    }
    
    ::CEGUI::RefCounted< CEGUI::BoundSlot > default_subscribeScriptedEvent( ::CEGUI::String const & name, unsigned int group, ::CEGUI::String const & subscriber_name ) {
        return CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), group, boost::ref(subscriber_name) );
    }

};

void register_NamedXMLResourceManagerScheme_class(){

    { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >
        typedef bp::class_< NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper, bp::bases< CEGUI::ResourceEventSet >, boost::noncopyable > NamedXMLResourceManagerScheme_exposer_t;
        NamedXMLResourceManagerScheme_exposer_t NamedXMLResourceManagerScheme_exposer = NamedXMLResourceManagerScheme_exposer_t( "NamedXMLResourceManagerScheme", bp::init< CEGUI::String const & >(( bp::arg("resource_type") )) );
        bp::scope NamedXMLResourceManagerScheme_scope( NamedXMLResourceManagerScheme_exposer );
        bp::implicitly_convertible< CEGUI::String const &, CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > >();
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createAll
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef void ( exported_class_t::*createAll_function_type )( ::CEGUI::String const &,::CEGUI::String const & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "createAll"
                , createAll_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createAll )
                , ( bp::arg("pattern"), bp::arg("resource_group") ) );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createFromContainer
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef ::CEGUI::Scheme & ( exported_class_t::*createFromContainer_function_type )( ::CEGUI::RawDataContainer const &,::CEGUI::XMLResourceExistsAction ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "createFromContainer"
                , createFromContainer_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createFromContainer )
                , ( bp::arg("source"), bp::arg("action")=CEGUI::XREA_RETURN )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createFromFile
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef ::CEGUI::Scheme & ( exported_class_t::*createFromFile_function_type )( ::CEGUI::String const &,::CEGUI::String const &,::CEGUI::XMLResourceExistsAction ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "createFromFile"
                , createFromFile_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createFromFile )
                , ( bp::arg("xml_filename"), bp::arg("resource_group")="", bp::arg("action")=CEGUI::XREA_RETURN )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createFromString
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef ::CEGUI::Scheme & ( exported_class_t::*createFromString_function_type )( ::CEGUI::String const &,::CEGUI::XMLResourceExistsAction ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "createFromString"
                , createFromString_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::createFromString )
                , ( bp::arg("source"), bp::arg("action")=CEGUI::XREA_RETURN )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::destroy
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef void ( exported_class_t::*destroy_function_type )( ::CEGUI::String const & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "destroy"
                , destroy_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::destroy )
                , ( bp::arg("object_name") )
                , "----------------------------------------------------------------------------\n" );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::destroy
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef void ( exported_class_t::*destroy_function_type )( ::CEGUI::Scheme const & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "destroy"
                , destroy_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::destroy )
                , ( bp::arg("object") )
                , "----------------------------------------------------------------------------\n" );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::destroyAll
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef void ( exported_class_t::*destroyAll_function_type )(  ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "destroyAll"
                , destroyAll_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::destroyAll )
                , "----------------------------------------------------------------------------\n" );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::doExistingObjectAction
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef ::CEGUI::Scheme & ( NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::*doExistingObjectAction_function_type )( ::CEGUI::String const,::CEGUI::Scheme *,::CEGUI::XMLResourceExistsAction const ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "doExistingObjectAction"
                , doExistingObjectAction_function_type( &NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::doExistingObjectAction )
                , ( bp::arg("object_name"), bp::arg("object"), bp::arg("action") )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::doPostObjectAdditionAction
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef void ( NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::*doPostObjectAdditionAction_function_type )( ::CEGUI::Scheme & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "doPostObjectAdditionAction"
                , doPostObjectAdditionAction_function_type( &NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::default_doPostObjectAdditionAction )
                , ( bp::arg("arg0") )
                , "----------------------------------------------------------------------------\n" );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::get
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef ::CEGUI::Scheme & ( exported_class_t::*get_function_type )( ::CEGUI::String const & ) const;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "get"
                , get_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::get )
                , ( bp::arg("object_name") )
                , bp::return_value_policy< bp::reference_existing_object >()
                , "----------------------------------------------------------------------------\n" );
        
        }
        { //::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::isDefined
        
            typedef CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler > exported_class_t;
            typedef bool ( exported_class_t::*isDefined_function_type )( ::CEGUI::String const & ) const;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "isDefined"
                , isDefined_function_type( &::CEGUI::NamedXMLResourceManager< CEGUI::Scheme, CEGUI::Scheme_xmlHandler >::isDefined )
                , ( bp::arg("object_name") )
                , "----------------------------------------------------------------------------\n" );
        
        }
        { //::CEGUI::EventSet::fireEvent
        
            typedef void ( ::CEGUI::EventSet::*fireEvent_function_type )( ::CEGUI::String const &,::CEGUI::EventArgs &,::CEGUI::String const & ) ;
            typedef void ( NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::*default_fireEvent_function_type )( ::CEGUI::String const &,::CEGUI::EventArgs &,::CEGUI::String const & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "fireEvent"
                , fireEvent_function_type(&::CEGUI::EventSet::fireEvent)
                , default_fireEvent_function_type(&NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::default_fireEvent)
                , ( bp::arg("name"), bp::arg("args"), bp::arg("eventNamespace")="" ) );
        
        }
        { //::CEGUI::EventSet::fireEvent_impl
        
            typedef void ( NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::*fireEvent_impl_function_type )( ::CEGUI::String const &,::CEGUI::EventArgs & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "fireEvent_impl"
                , fireEvent_impl_function_type( &NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::fireEvent_impl )
                , ( bp::arg("name"), bp::arg("args") )
                , "! Implementation event firing member\n" );
        
        }
        { //::CEGUI::EventSet::getScriptModule
        
            typedef ::CEGUI::ScriptModule * ( NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::*getScriptModule_function_type )(  ) const;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "getScriptModule"
                , getScriptModule_function_type( &NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::getScriptModule )
                , bp::return_value_policy< bp::reference_existing_object >()
                , "! Implementation event firing member\n\
            ! Helper to return the script module pointer or throw.\n" );
        
        }
        { //::CEGUI::EventSet::subscribeScriptedEvent
        
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( ::CEGUI::EventSet::*subscribeScriptedEvent_function_type )( ::CEGUI::String const &,::CEGUI::String const & ) ;
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::*default_subscribeScriptedEvent_function_type )( ::CEGUI::String const &,::CEGUI::String const & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "subscribeScriptedEvent"
                , subscribeScriptedEvent_function_type(&::CEGUI::EventSet::subscribeScriptedEvent)
                , default_subscribeScriptedEvent_function_type(&NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::default_subscribeScriptedEvent)
                , ( bp::arg("name"), bp::arg("subscriber_name") ) );
        
        }
        { //::CEGUI::EventSet::subscribeScriptedEvent
        
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( ::CEGUI::EventSet::*subscribeScriptedEvent_function_type )( ::CEGUI::String const &,unsigned int,::CEGUI::String const & ) ;
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::*default_subscribeScriptedEvent_function_type )( ::CEGUI::String const &,unsigned int,::CEGUI::String const & ) ;
            
            NamedXMLResourceManagerScheme_exposer.def( 
                "subscribeScriptedEvent"
                , subscribeScriptedEvent_function_type(&::CEGUI::EventSet::subscribeScriptedEvent)
                , default_subscribeScriptedEvent_function_type(&NamedXMLResourceManager_less__CEGUI_scope_Scheme_comma__CEGUI_scope_Scheme_xmlHandler__greater__wrapper::default_subscribeScriptedEvent)
                , ( bp::arg("name"), bp::arg("group"), bp::arg("subscriber_name") ) );
        
        }
    }

}
