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

#include "boost/python.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "boost/python/object.hpp"
#include "boost/python/str.hpp"
#include "CvPluginFuncInfo.pypp.hpp"

namespace bp = boost::python;

struct CvPluginFuncInfo_wrapper : CvPluginFuncInfo, bp::wrapper< CvPluginFuncInfo > {

    CvPluginFuncInfo_wrapper(CvPluginFuncInfo const & arg )
    : CvPluginFuncInfo( arg )
      , bp::wrapper< CvPluginFuncInfo >(){
        // copy constructor
        
    }

    CvPluginFuncInfo_wrapper()
    : CvPluginFuncInfo()
      , bp::wrapper< CvPluginFuncInfo >(){
        // null constructor
        
    }

};

static bp::object get_func_names( ::CvPluginFuncInfo const & inst ){        
    return inst.func_names? bp::str(inst.func_names): bp::object();
}

void register_CvPluginFuncInfo_class(){

    bp::class_< CvPluginFuncInfo_wrapper >( "CvPluginFuncInfo" )    
        .add_property( "this", pyplus_conv::make_addressof_inst_getter< CvPluginFuncInfo >() )    
        .add_property( "default_func_addr"
                    , pyplus_conv::make_addressof_getter(&CvPluginFuncInfo::default_func_addr)
                    , pyplus_conv::make_address_setter(&CvPluginFuncInfo::default_func_addr) )    
        .add_property( "func_addr"
                    , pyplus_conv::make_addressof_getter(&CvPluginFuncInfo::func_addr)
                    , pyplus_conv::make_address_setter(&CvPluginFuncInfo::func_addr) )    
        .def_readwrite( "loaded_from", &CvPluginFuncInfo::loaded_from )    
        .def_readwrite( "search_modules", &CvPluginFuncInfo::search_modules )    
        .add_property( "func_names", &::get_func_names );

}
