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

#include "boost/python.hpp"
#include "__call_policies.pypp.hpp"
#include "__convenience.pypp.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "CvVSModule.pypp.hpp"

namespace bp = boost::python;

struct CvVSModule_wrapper : CvVSModule, bp::wrapper< CvVSModule > {

    CvVSModule_wrapper( )
    : CvVSModule( )
      , bp::wrapper< CvVSModule >(){
        // null constructor
    
    }

    virtual void LoadState( ::CvFileStorage * arg0, ::CvFileNode * arg1 ) {
        namespace bpl = boost::python;
        if( bpl::override func_LoadState = this->get_override( "LoadState" ) ){
            bpl::object py_result = bpl::call<bpl::object>( func_LoadState.ptr(), arg0, arg1 );
        }
        else{
            CvVSModule::LoadState( boost::python::ptr(arg0), boost::python::ptr(arg1) );
        }
    }
    
    static void default_LoadState( ::CvVSModule & inst, ::cv::FileStorage & arg0, ::cv::FileNode & arg1 ){
        if( dynamic_cast< CvVSModule_wrapper * >( boost::addressof( inst ) ) ){
            inst.::CvVSModule::LoadState(arg0.fs, *(arg1));
        }
        else{
            inst.LoadState(arg0.fs, *(arg1));
        }
    }

    virtual void ParamUpdate(  ) {
        if( bp::override func_ParamUpdate = this->get_override( "ParamUpdate" ) )
            func_ParamUpdate(  );
        else{
            this->CvVSModule::ParamUpdate(  );
        }
    }
    
    void default_ParamUpdate(  ) {
        CvVSModule::ParamUpdate( );
    }

    virtual void Release(  ){
        bp::override func_Release = this->get_override( "Release" );
        func_Release(  );
    }

    virtual void SaveState( ::CvFileStorage * arg0 ) {
        namespace bpl = boost::python;
        if( bpl::override func_SaveState = this->get_override( "SaveState" ) ){
            bpl::object py_result = bpl::call<bpl::object>( func_SaveState.ptr(), arg0 );
        }
        else{
            CvVSModule::SaveState( boost::python::ptr(arg0) );
        }
    }
    
    static void default_SaveState( ::CvVSModule & inst, ::cv::FileStorage & arg0 ){
        if( dynamic_cast< CvVSModule_wrapper * >( boost::addressof( inst ) ) ){
            inst.::CvVSModule::SaveState(arg0.fs);
        }
        else{
            inst.SaveState(arg0.fs);
        }
    }

};

void register_CvVSModule_class(){

    bp::class_< CvVSModule_wrapper, boost::noncopyable >( "CvVSModule", bp::init< >() )    
        .add_property( "this", pyplus_conv::make_addressof_inst_getter< CvVSModule >() )    
        .def( 
            "GetNickName"
            , (char const * ( ::CvVSModule::* )(  ) )( &::CvVSModule::GetNickName ) )    
        .def( 
            "GetParam"
            , (double ( ::CvVSModule::* )( char const * ) )( &::CvVSModule::GetParam )
            , ( bp::arg("name") ) )    
        .def( 
            "GetParamComment"
            , (char const * ( ::CvVSModule::* )( char const * ) )( &::CvVSModule::GetParamComment )
            , ( bp::arg("name") ) )    
        .def( 
            "GetParamName"
            , (char const * ( ::CvVSModule::* )( int ) )( &::CvVSModule::GetParamName )
            , ( bp::arg("index") ) )    
        .def( 
            "GetParamStr"
            , (char const * ( ::CvVSModule::* )( char const * ) )( &::CvVSModule::GetParamStr )
            , ( bp::arg("name") ) )    
        .def( 
            "GetTypeName"
            , (char const * ( ::CvVSModule::* )(  ) )( &::CvVSModule::GetTypeName ) )    
        .def( 
            "IsModuleName"
            , (int ( ::CvVSModule::* )( char const * ) )( &::CvVSModule::IsModuleName )
            , ( bp::arg("name") ) )    
        .def( 
            "IsModuleTypeName"
            , (int ( ::CvVSModule::* )( char const * ) )( &::CvVSModule::IsModuleTypeName )
            , ( bp::arg("name") ) )    
        .def( 
            "LoadState"
            , (void (*)( ::CvVSModule &,::cv::FileStorage &,::cv::FileNode & ))( &CvVSModule_wrapper::default_LoadState )
            , ( bp::arg("inst"), bp::arg("arg0"), bp::arg("arg1") )
            , "\nArgument 'arg0':"\
    "\n    C/C++ type: ::CvFileStorage *."\
    "\n    Python type: FileStorage."\
    "\nArgument 'arg1':"\
    "\n    C/C++ type: ::CvFileNode *."\
    "\n    Python type: FileNode." )    
        .def( 
            "ParamUpdate"
            , (void ( ::CvVSModule::* )(  ) )(&::CvVSModule::ParamUpdate)
            , (void ( CvVSModule_wrapper::* )(  ) )(&CvVSModule_wrapper::default_ParamUpdate) )    
        .def( 
            "Release"
            , bp::pure_virtual( (void ( ::CvVSModule::* )(  ) )(&::CvVSModule::Release) ) )    
        .def( 
            "SaveState"
            , (void (*)( ::CvVSModule &,::cv::FileStorage & ))( &CvVSModule_wrapper::default_SaveState )
            , ( bp::arg("inst"), bp::arg("arg0") )
            , "\nArgument 'arg0':"\
    "\n    C/C++ type: ::CvFileStorage *."\
    "\n    Python type: FileStorage." )    
        .def( 
            "SetNickName"
            , (void ( ::CvVSModule::* )( char const * ) )( &::CvVSModule::SetNickName )
            , ( bp::arg("pStr") ) )    
        .def( 
            "SetParam"
            , (void ( ::CvVSModule::* )( char const *,double ) )( &::CvVSModule::SetParam )
            , ( bp::arg("name"), bp::arg("val") ) )    
        .def( 
            "SetParamStr"
            , (void ( ::CvVSModule::* )( char const *,char const * ) )( &::CvVSModule::SetParamStr )
            , ( bp::arg("name"), bp::arg("str") ) )    
        .def( 
            "TransferParamsFromChild"
            , (void ( ::CvVSModule::* )( ::CvVSModule *,char const * ) )( &::CvVSModule::TransferParamsFromChild )
            , ( bp::arg("pM"), bp::arg("prefix")=bp::object() ) )    
        .def( 
            "TransferParamsToChild"
            , (void ( ::CvVSModule::* )( ::CvVSModule *,char * ) )( &::CvVSModule::TransferParamsToChild )
            , ( bp::arg("pM"), bp::arg("prefix")=bp::object() ) );

}
