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

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

namespace bp = boost::python;

struct LinkedEventArgs_wrapper : CEGUI::LinkedEventArgs, bp::wrapper< CEGUI::LinkedEventArgs > {

    LinkedEventArgs_wrapper(::CEGUI::EventArgs const & args, ::CEGUI::EventSet const * event_set )
    : CEGUI::LinkedEventArgs( boost::ref(args), boost::python::ptr(event_set) )
      , bp::wrapper< CEGUI::LinkedEventArgs >(){
        // constructor
    
    }

    static ::CEGUI::EventArgs const & get_originalArgs( CEGUI::LinkedEventArgs& inst ) {
        return inst.originalArgs;
    }

    static ::CEGUI::EventSet const * get_sourceEventSet(CEGUI::LinkedEventArgs const & inst ){
        return inst.sourceEventSet;
    }
    
    static void set_sourceEventSet( CEGUI::LinkedEventArgs & inst, ::CEGUI::EventSet const * new_value ){ 
        inst.sourceEventSet = new_value;
    }

};

void register_LinkedEventArgs_class(){

    { //::CEGUI::LinkedEventArgs
        typedef bp::class_< LinkedEventArgs_wrapper, bp::bases< CEGUI::EventArgs >, boost::noncopyable > LinkedEventArgs_exposer_t;
        LinkedEventArgs_exposer_t LinkedEventArgs_exposer = LinkedEventArgs_exposer_t( "LinkedEventArgs", "*!\n\
        \n\
            EventArgs subclass used for linked events, that is an event fired on an\n\
            EventSet that was triggered by some other event (either on the same\n\
            EventSet or a different EventSet.\n\
        *\n", bp::init< CEGUI::EventArgs const &, CEGUI::EventSet const * >(( bp::arg("args"), bp::arg("event_set") )) );
        bp::scope LinkedEventArgs_scope( LinkedEventArgs_exposer );
        LinkedEventArgs_exposer.def( "get_originalArgs"
                , (::CEGUI::EventArgs const & (*)( ::CEGUI::LinkedEventArgs & ))(&LinkedEventArgs_wrapper::get_originalArgs)
                , bp::return_value_policy< bp::copy_const_reference >()
                , "! a reference to the EventArgs passed to handlers of the triggering event.\n" );
        LinkedEventArgs_exposer.add_property( "sourceEventSet"
                    , bp::make_function( (::CEGUI::EventSet const * (*)( ::CEGUI::LinkedEventArgs const & ))(&LinkedEventArgs_wrapper::get_sourceEventSet), bp::return_internal_reference< >() )
                    , bp::make_function( (void (*)( ::CEGUI::LinkedEventArgs &,::CEGUI::EventSet const * ))(&LinkedEventArgs_wrapper::set_sourceEventSet), bp::with_custodian_and_ward_postcall< 1, 2 >() )
                    , "! a reference to the EventArgs passed to handlers of the triggering event.\n\
        ! pointer to the EventSet that is the source of this linked event.\n" );
    }

}
