[pygccxml-commit] SF.net SVN: pygccxml:[1563] pyplusplus_dev/pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2009-01-12 22:55:23
|
Revision: 1563 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1563&view=rev Author: roman_yakovenko Date: 2009-01-12 22:02:33 +0000 (Mon, 12 Jan 2009) Log Message: ----------- changing treatment of opaque types Modified Paths: -------------- pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py Modified: pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py =================================================================== --- pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py 2009-01-12 21:48:25 UTC (rev 1562) +++ pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py 2009-01-12 22:02:33 UTC (rev 1563) @@ -126,6 +126,10 @@ if isinstance( decl, declarations.namespace_t ): continue + + if isinstance( decl, declarations.class_types ): + if decl.opaque: + continue if not decl.exportable: #leave only decls that user wants to export and that could be exported Modified: pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2009-01-12 21:48:25 UTC (rev 1562) +++ pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2009-01-12 22:02:33 UTC (rev 1563) @@ -137,15 +137,14 @@ def _get_opaque( self ): return self._opaque - def _set_opaque( self, value ): self._opaque = value - self.ignore = value #don't expose opaque type - opaque = property( _get_opaque, _set_opaque - , doc="If True, Py++ will treat return types and arguments T* as opaque types." \ - +"Thus it will be able to generate code, that uses " \ - +" BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID macro in a right places." ) + , doc="If True, Py++ will treat return types and arguments T* as opaque types. " + +"nFor Boost.Python code generator it means that macro BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID everywhere it needed. " + +"For ctypes code generator it means that the class will be introduced, but without fields. " + +"For both code generators it means: you will only be able to get and pass pointers around. " + +"Other functionality will not be available." ) @property def class_var_name(self): @@ -731,4 +730,4 @@ self._no_init = value no_init = property( _get_no_init, _set_no_init - , doc="If True, class will be registered with 'boost::python::no_init'" ) \ No newline at end of file + , doc="If True, class will be registered with 'boost::python::no_init'" ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |