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

#include "boost/python.hpp"
#include "python_CEGUI.h"
#include "DefaultLogger.pypp.hpp"

namespace bp = boost::python;

struct DefaultLogger_wrapper : CEGUI::DefaultLogger, bp::wrapper< CEGUI::DefaultLogger > {

    DefaultLogger_wrapper( )
    : CEGUI::DefaultLogger( )
      , bp::wrapper< CEGUI::DefaultLogger >(){
        // null constructor
    
    }

    virtual void logEvent( ::CEGUI::String const & message, ::CEGUI::LoggingLevel level=::CEGUI::Standard ) {
        if( bp::override func_logEvent = this->get_override( "logEvent" ) )
            func_logEvent( boost::ref(message), level );
        else{
            this->CEGUI::DefaultLogger::logEvent( boost::ref(message), level );
        }
    }
    
    void default_logEvent( ::CEGUI::String const & message, ::CEGUI::LoggingLevel level=::CEGUI::Standard ) {
        CEGUI::DefaultLogger::logEvent( boost::ref(message), level );
    }

    virtual void setLogFilename( ::CEGUI::String const & filename, bool append=false ) {
        if( bp::override func_setLogFilename = this->get_override( "setLogFilename" ) )
            func_setLogFilename( boost::ref(filename), append );
        else{
            this->CEGUI::DefaultLogger::setLogFilename( boost::ref(filename), append );
        }
    }
    
    void default_setLogFilename( ::CEGUI::String const & filename, bool append=false ) {
        CEGUI::DefaultLogger::setLogFilename( boost::ref(filename), append );
    }

};

void register_DefaultLogger_class(){

    { //::CEGUI::DefaultLogger
        typedef bp::class_< DefaultLogger_wrapper, bp::bases< CEGUI::Logger >, boost::noncopyable > DefaultLogger_exposer_t;
        DefaultLogger_exposer_t DefaultLogger_exposer = DefaultLogger_exposer_t( "DefaultLogger", "*!\n\
        \n\
           Default implementation for the Logger class.\n\
            If you want to redirect CEGUI logs to some place other than a text file,\n\
            implement your own Logger implementation and create a object of the\n\
            Logger type before creating the CEGUI.System singleton.\n\
        *\n", bp::no_init );
        bp::scope DefaultLogger_scope( DefaultLogger_exposer );
        DefaultLogger_exposer.def( bp::init< >("*!\n\
        \n\
           Constructor for DefaultLogger object.\n\
        *\n") );
        { //::CEGUI::DefaultLogger::logEvent
        
            typedef void ( ::CEGUI::DefaultLogger::*logEvent_function_type )( ::CEGUI::String const &,::CEGUI::LoggingLevel ) ;
            typedef void ( DefaultLogger_wrapper::*default_logEvent_function_type )( ::CEGUI::String const &,::CEGUI::LoggingLevel ) ;
            
            DefaultLogger_exposer.def( 
                "logEvent"
                , logEvent_function_type(&::CEGUI::DefaultLogger::logEvent)
                , default_logEvent_function_type(&DefaultLogger_wrapper::default_logEvent)
                , ( bp::arg("message"), bp::arg("level")=::CEGUI::Standard ) );
        
        }
        { //::CEGUI::DefaultLogger::setLogFilename
        
            typedef void ( ::CEGUI::DefaultLogger::*setLogFilename_function_type )( ::CEGUI::String const &,bool ) ;
            typedef void ( DefaultLogger_wrapper::*default_setLogFilename_function_type )( ::CEGUI::String const &,bool ) ;
            
            DefaultLogger_exposer.def( 
                "setLogFilename"
                , setLogFilename_function_type(&::CEGUI::DefaultLogger::setLogFilename)
                , default_setLogFilename_function_type(&DefaultLogger_wrapper::default_setLogFilename)
                , ( bp::arg("filename"), bp::arg("append")=(bool)(false) ) );
        
        }
    }

}
