%module module %begin %{ #define SWIG_PYTHON_2_UNICODE %} #define DEPRECATED(x) %include %include %include %include %import(module="libdnf.common_types") "common_types.i" %exception %{ try { $action } catch (const std::exception & e) { SWIG_exception(SWIG_RuntimeError, e.what()); } %} typedef int Id; %{ // make SWIG wrap following headers #include "libdnf/module/ModulePackageContainer.hpp" %} %inline %{ typedef libdnf::ModuleDependencies ModuleDependencies; typedef libdnf::ModuleProfile ModuleProfile; %} %template(VectorModulePackagePtr) std::vector; %template(VectorVectorVectorModulePackagePtr) std::vector>>; %template(VectorModuleProfile) std::vector; %include // this must follow std_vector_ext.i include, otherwise it returns garbage instead of list of strings %template(MapStringVectorString) std::map>; // make SWIG wrap following headers %nodefaultctor libdnf::ModulePackage; %nodefaultctor libdnf::ModuleProfile; %include "libdnf/module/ModulePackage.hpp" %ignore libdnf::ModulePackageContainer::Exception; %ignore libdnf::ModulePackageContainer::NoModuleException; %ignore libdnf::ModulePackageContainer::NoStreamException; %ignore libdnf::ModulePackageContainer::EnabledStreamException; %ignore libdnf::ModulePackageContainer::EnableMultipleStreamsException; %include "libdnf/module/ModulePackageContainer.hpp" %include "libdnf/module/modulemd/ModuleProfile.hpp"