ó 6šâWc@s\dZddlTddlTddlTdefd„ƒYZiad„Ziad„Z dS(s& Various helpers for interface files. iÿÿÿÿ(t*tFunctionWrappercBs#eZdZdd„Zd„ZRS(s^Holds information about a wrapper for a function or a method. It is divided in 2 parts: the name of the Wrapper, and its code. The code is placed in the declaration section of the module, while the name is used to def' the function or method (with the pyste namespace prepend to it). If code is None, the name is left unchanged. cCs||_||_dS(N(tnametcode(tselfRR((s7/usr/lib/python2.7/dist-packages/Pyste/exporterutils.pyt__init__s cCs"|jrtj|jS|jSdS(N(Rt namespacestpysteR(R((s7/usr/lib/python2.7/dist-packages/Pyste/exporterutils.pytFullNames N(t__name__t __module__t__doc__tNoneRR(((s7/usr/lib/python2.7/dist-packages/Pyste/exporterutils.pyRs cCsÇd„}d„}|j}||ƒs3||ƒr7|S|dkrj|jrjt|tƒrjttƒ}nt|ttfƒ}|rÃ|dkrÃd|jƒ}|t krÃ|GHHdt | Error: %s returns a pointer or a reference, but no policy was specified.iN( tresultR tconstt isinstancet ReferenceTypetreturn_value_policytcopy_const_referencet PointerTypeRt_printed_warnings(tfunctiontpolicyRRRt needs_policytwarning((s7/usr/lib/python2.7/dist-packages/Pyste/exporterutils.pyt HandlePolicy)s    $  cCs,d|}|tkr$dt|<|SdSdS(Ns,BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID(%s) i(t_exported_type_idsR (ttypenametmacro((s7/usr/lib/python2.7/dist-packages/Pyste/exporterutils.pytEspecializeTypeIDPs    N( R tsettingstpoliciest declarationstobjectRRRRR (((s7/usr/lib/python2.7/dist-packages/Pyste/exporterutils.pyts    &