ó %œ‡Uc@spddlZddlZdejkZd„Zdefd„ƒYZdefd„ƒYZdefd „ƒYZd efd „ƒYZ d efd „ƒYZ de fd„ƒYZ de fd„ƒYZ de fd„ƒYZ x9ddddddddfD]Zejjee ƒqÿW[de fd„ƒYZx*dddfD]ZejjeeƒqEW[de fd„ƒYZejjd eƒejjd!eƒd"e fd#„ƒYZejjd$eƒd%e fd&„ƒYZejjd$eƒd'e fd(„ƒYZd)e fd*„ƒYZxdd+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:fD],ZejjeeƒejjeeƒqVW[d;e fd<„ƒYZx'd=d>fD]Zejjeeƒq¬W[d?efd@„ƒYZejjdAeƒdBefdC„ƒYZejjdAeƒdDefdE„ƒYZejjdFeƒdGefdH„ƒYZejjdFeƒdIefdJ„ƒYZejjdKeƒdLe fdM„ƒYZejjdKeƒdNe fdO„ƒYZ ejjdPe ƒdQe fdR„ƒYZ!ejjdPe!ƒdSe fdT„ƒYZ"dUe fdV„ƒYZ#x'dWdXfD]Zejjee#ƒqMW[dYe fdZ„ƒYZ$x@d[d\d]d^fD],Zejjee"ƒejjee$ƒq–Wd_e fd`„ƒYZ%ejjdae%ƒdbe fdc„ƒYZ&ejjdae&ƒdde&fde„ƒYZ'ejjdfe'ƒdge&fdh„ƒYZ(ejjdie(ƒdje&fdk„ƒYZ)ejjdle)ƒdme&fdn„ƒYZ*ejjdoe*ƒdpe fdq„ƒYZ+ejjdre+ƒejjdse+ƒdte fdu„ƒYZ,ejjdve,ƒdwe fdx„ƒYZ-dye fdz„ƒYZ.d{„Z/e0d|krle/ƒndS(}iÿÿÿÿNtPYGTK_CODEGEN_DEBUGcCs:|ddkr#dj||fƒSdj||fƒSdS(s7Joins a C type and a variable name into a single stringiÿÿÿÿt*t tN(tjoin(tctypetname((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytjoin_ctype_name stCodeSinkcBs;eZd„Zd„Zdd„Zdd„Zd„ZRS(cCsd|_g|_dS(Ni(t indent_levelt indent_stack(tself((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyt__init__s cCstt|tƒst‚g}x/|jdƒD]}|jd|j|ƒq+W|drg|jdƒndj|ƒS(Ns RiÿÿÿÿR(t isinstancetstrtAssertionErrortsplittappendR R(R tcodetltline((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyt _format_codes RcCs t‚dS(N(tNotImplementedError(R R((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytwritelnsicCs&|jj|jƒ|j|7_dS(slAdd a certain ammount of indentation to all lines written from now on and until unindent() is calledN(R RR (R tlevel((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytindent"scCs|jjƒ|_dS(s?Revert indentation level to the value before last indent() callN(R tpopR (R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytunindent(s(t__name__t __module__R RRRR(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRs    t FileCodeSinkcBseZd„Zdd„ZRS(cCs/tj|ƒt|tƒs"t‚||_dS(N(RR R tfileRtfp(R R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR .s RcCs|jj|j|ƒƒdS(N(R twriteR(R R((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR3s(RRR R(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR-s tMemoryCodeSinkcBs/eZd„Zdd„Zd„Zd„ZRS(cCstj|ƒg|_dS(N(RR tlines(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR 7s RcCs|jj|j|ƒƒdS(N(R#RR(R R((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR;scCsIt|tƒst‚x$|jD]}|j|jƒƒqWg|_dS(N(R RRR#Rtrstrip(R tsinkR((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytflush_to>scCsFg}x'|jD]}|j|j|ƒƒqWg|_dj|ƒS(NR(R#RRR(R RR((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytflushDs  (RRR RR&R'(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR"6s   tReverseWrappercBsŒeZdZed„Zd d„Zd„Zd„Zd„Z e d„Z e d„Z d„Z d „Zd d d d d d „Zd „ZRS( s)Object that generates a C->Python wrappercCs©t|tƒst‚||_d|_d|_||_g|_t ƒ|_ t ƒ|_ t ƒ|_ t ƒ|_ g|_g|_g|_g|_|j g|_dS(N(R RRtcnametNonet called_pyobjt method_namet is_statict parametersR"t declarationstpost_return_codetbodytcheck_exception_codetcleanup_actionst pyargv_itemstpyargv_optional_itemstpyret_parse_itemstcode_sinks_stack(R R)R-((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR Ms             cCs=|dk st‚|jdks't‚||_||_dS(N(R*RR+R,(R R+R,((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytset_call_targetbs cCs"t|tƒst‚||_dS(N(R t ReturnTypeRt return_type(R R:((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytset_return_typehscCs)t|tƒst‚|jj|ƒdS(N(R t ParameterRR.R(R tparam((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyt add_parameterlscCs|jj|ƒdS(N(R/R(R t decl_code((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytadd_declarationpscCs-|r|jj|ƒn|jj|ƒdS(N(R5RR4(R tvariabletoptional((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytadd_pyargv_itemsscCs<|r"|jjd||fƒn|jj||fƒdS(Ni(R6tinsertR(R tformat_specifiert parametertprepend((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytadd_pyret_parse_itemyscCs|jjd|ƒdS(Ni(R7RD(R t code_sink((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytpush_code_sink€scCs|jjdƒS(Ni(R7R(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyt pop_code_sinkƒscCsb|dkr|jd}n|dk r8|j|ƒn|dk r<|jd|fƒ|jƒ|dkrŸ|jdƒ|jƒ|jdƒ|jƒn|j|ƒ|jdƒ|dk rÕ|j|ƒnx|jD]}|j|ƒqßW|j|ƒz|jjƒWd|j ƒX|jƒ|jdƒn|dk r^|jj d|ƒndS(sÍAdd a chunk of code with cleanup and error handling This method is to be used by TypeHandlers when generating code Keywork arguments: code -- code to add cleanup -- code to cleanup any dynamic resources created by @code (except in case of failure) (default None) failure_expression -- C boolean expression to indicate if anything failed (default None) failure_cleanup -- code to cleanup any dynamic resources created by @code in case of failure (default None) failure_exception -- code to raise an exception in case of failure (which will be immediately printed and cleared), (default None) code_sink -- "code sink" to use; by default, ReverseWrapper.body is used, which writes the main body of the wrapper, before calling the python method. Alternatively, ReverseWrapper.after_pyret_parse can be used, to write code after the PyArg_ParseTuple that parses the python method return value. is if (%s) {sif (PyErr_Occurred())sPyErr_Print();Nt}( R*R7RRRR3RJR:twrite_error_returnRKRD(R Rtcleanuptfailure_expressiontfailure_cleanuptfailure_exceptionRItcleanup_action((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyt write_code‡s4                c Cs=t|tƒst‚trN|jjdƒ|jjdƒ|jjdƒn|jdƒ|j ddddƒx|j D]}|j ƒq{W|j d7k sªtd ƒ‚|jrÐ|jd |jjƒƒn|j|jjƒƒttj|j ƒ}|jd |jd j|ƒfƒ|jjƒ|jd ƒ|jrê|jdƒd}|jrÒ|jdt|jƒƒd}xg|jD]D}|jjd|ƒ|jjƒ|jjdƒ|jjƒq‡Wqztt|jƒƒ}n|jrn|jdƒd}|jdƒd}x^|jD]D}|jjd|ƒ|jjƒ|jjdƒ|jjƒq#Wn d}d7}|jjƒ|dkrç|j d|ddƒd}xx|jD]m}y|jjd|ƒWn%tk rÿ|jjd|ƒnX|jjd|||fƒ|d7}qºWx¹|jD]«}|jjd|ƒ|jjƒy|jjd|ƒWn%tk r›|jjd|ƒnX|jjd|||fƒ|jjƒ|jjdƒ|d7}q5Wn|jjƒ|j d7krL|j d |j |fdd!ƒ|j!j"|jƒ|j d7d"d#ƒnv|jd$ƒ|j d%|j |j fdd&d"d'ƒ|j d(|fdd!ƒ|j!j"|jƒ|j d7d"d#ƒt|j#ƒ}|jj$ƒt|j#ƒ} |jjƒd)ks7|| ko| dk s7td*t%|jƒfƒ‚|jƒ|j#d8gkrr|j dd7d"d,d-d.ƒnÇt|j#ƒdkr—|j d/ƒnt|j#ƒdkr9d0d1d+jg|j#D]\} }| ^qƒg} | j&g|j#D]\} }|rñ|^qñƒ|j dd7d"d2d j| ƒfƒntrR|jjd3ƒn|jj"|ƒ|jƒtr…|jjd4ƒn|jj"|ƒ|jƒtr¸|jjd5ƒn|jj"|ƒ|jƒx|jD]} |j| ƒqÜW|jjƒd)kr"|jƒ|jd6ƒn|jƒ|jdƒd7S(9s(Generate the code into a CodeSink objects/* begin declarations */s/* begin main body */s/* begin post-return code */sPyGILState_STATE __py_state;Rs$__py_state = pyg_gil_state_ensure();RNs"pyg_gil_state_release(__py_state);s9Parameters failed to provide a target function or method.s static %ss%s(%s) {s, sPyObject *py_retval;sPyObject *py_args;tpy_argssint argc = %i;targcsif (%s)s++argc;s int argc = 0;tNULLspy_args = PyTuple_New(%s);sPy_DECREF(py_args);isPy_DECREF(%s);sPy_INCREF(%s);sPyTuple_SET_ITEM(%s, %i, %s);is if (%s) {sPy_XDECREF(%s);RLs"py_retval = PyObject_Call(%s, %s);sPy_XDECREF(py_retval);ROs !py_retvalsPyObject *py_method;s-py_method = PyObject_GetAttrString(%s, "%s");sPy_DECREF(py_method);s !py_methods/py_retval = PyObject_CallObject(py_method, %s);tvoidscBug in reverse wrappers: return type handler %s is not prepared to cooperate multiple return valuesRspy_retval != Py_NoneRQsFPyErr_SetString(PyExc_TypeError, "virtual method should return None");s,py_retval = Py_BuildValue("(N)", py_retval);t py_retvals"%s"s!PyArg_ParseTuple(%s)s/* end declarations */s/* end main body */s/* end post-return code */sreturn retval;N(RR('R RRt DEBUG_MODER/RR1R0R@RSR.t convert_c2pyR+R*R-R:t get_c_typetmapR<tformat_for_c_protoR)Rt write_declR4R5tlenRRRR3tremovet ValueErrorR,R2R&R6twrite_conversionttypetextend( R R%R=tc_proto_paramsRTRUtargtpost len_beforet len_aftertformattparamsRR((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pytgenerateÃsö   #                          2/     N(RRt__doc__tTrueR R*R8R;R>R@tFalseRCRHRJRKRSRl(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR(Ks           7t TypeHandlercBseZd„ZRS(cKs+t|tƒst‚||_||_dS(N(R R(Rtwrappertprops(R RqRr((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR cs (RRR (((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRpbsR9cBs2eZeZd„Zd„Zd„Zd„ZRS(cCs t‚dS(N(R(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[lscCs t‚dS(N(R(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^oscCs t‚dS(s,Write "return " code in case of errorN(R(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMrscCs t‚dS(s¯Writes code to convert Python return value in 'py_retval' into C 'retval'. Returns a string with C boolean expression that determines if anything went wrong. N(R(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbvs(RRRotsupports_optionalR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR9hs    R<cBs,eZd„Zd„Zd„Zd„ZRS(cKs tj|||||_dS(N(RpR R(R RqRRr((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR ~scCs t‚dS(N(R(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[‚scCsdS(s1Write some code before calling the Python method.N((R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZ…scCst|jƒ|jƒS(N(RR[R(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR]‰s(RRR R[RZR](((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR<|s   t StringParamcBseZd„Zd„ZRS(cCs|jjddƒjddƒS(Ntc_typeschar *sconst-sconst (Rrtgettreplace(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[scCsy|jjdtƒr‚|jjd|jƒ|jjdd|j|j|jfdd|jƒ|jjd|jdtƒnó|jjdtƒr|jjd |jƒ|jjdd |j|j|j|jfdd |jƒ|jjd|jƒnq|jjd|jƒ|jjdd|j|j|jfdd |jd d |jƒ|jjd|jƒdS(NRBsPyObject *py_%s = NULL;Rs-if (%s) py_%s = PyString_FromString(%s); RNsPy_XDECREF(py_%s);spy_%stnulloksPyObject *py_%s;scif (%s) py_%s = PyString_FromString(%s); else { Py_INCREF(Py_None); py_%s = Py_None; } sPy_DECREF(py_%s);ROs!py_%s( RrRvRoRqR@RRSRCRn(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZ“s$  (RRR[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRtŽs schar*sgchar*s const-char*s char-const*s const-gchar*s gchar-const*tstringt static_stringt StringReturncBs,eZd„Zd„Zd„Zd„ZRS(cCs|jjddƒjddƒS(NRuschar *sconst-sconst (RrRvRw(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[¶scCs|jjd|jƒƒdS(Ns %s retval;(RqR@R[(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^ºscCs|jjdƒdS(Ns return NULL;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRM¾scCs9|jjdddtƒ|jjdd|jjƒdS(Ntss&retvalRGsretval = g_strdup(retval);RI(RqRHRnRSR0(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbÁs(RRR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR{´s   t VoidReturncBs,eZd„Zd„Zd„Zd„ZRS(cCsdS(NRW((R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[ÌscCsdS(N((R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^ÏscCs|jjdƒdS(Nsreturn;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMÒscCs|jjdddtƒdS(NRRG(RqRHRn(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbÕs(RRR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR}Ês   RWtnonet GObjectParamcBseZd„Zd„ZRS(cCs|jjddƒS(NRus GObject *(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[ÝscCsn|jjd|jƒ|jjdd|j|j|j|jfdd|jƒ|jjd|jƒdS(NsPyObject *py_%s = NULL;Rshif (%s) py_%s = pygobject_new((GObject *) %s); else { Py_INCREF(Py_None); py_%s = Py_None; }RNsPy_DECREF(py_%s);spy_%s(RqR@RRSRC(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZàs (RRR[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRÛs sGObject*t GObjectReturncBs2eZeZd„Zd„Zd„Zd„ZRS(cCs|jjddƒS(NRus GObject *(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[òscCsM|jjdƒs/|jjd|jƒƒn|jjd|jƒƒdS(NRBs %s retval;s%s retval = NULL;(RrRvRqR@R[(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^õscCs|jjdƒdS(Ns return NULL;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMûscCs›|jjdƒs^|jjddddddƒ|jjd|jƒƒ|jjdƒn9|jjdddd dd ƒ|jjd |jƒƒdS( NRBRROs/!PyObject_TypeCheck(py_retval, &PyGObject_Type)RQs?PyErr_SetString(PyExc_TypeError, "retval should be a GObject");s'retval = (%s) pygobject_get(py_retval);s!g_object_ref((GObject *) retval);sGpy_retval != Py_None && !PyObject_TypeCheck(py_retval, &PyGObject_Type)sGPyErr_SetString(PyExc_TypeError, "retval should be None or a GObject");spif (py_retval != Py_None) { retval = (%s) pygobject_get(py_retval); g_object_ref((GObject *) retval); } (RrRvRqRSR*R[(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbþs    (RRRnRsR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR€îs    tIntParamcBseZd„Zd„ZRS(cCs|jjddƒS(NRutint(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[scCsb|jjd|jƒ|jjdd|j|jfdd|jƒ|jjd|jƒdS(NsPyObject *py_%s;Rspy_%s = PyInt_FromLong(%s);RNsPy_DECREF(py_%s);spy_%s(RqR@RRSRC(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZs (RRR[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRs t IntReturncBs,eZd„Zd„Zd„Zd„ZRS(cCs|jjddƒS(NRuR‚(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[#scCs|jjd|jƒƒdS(Ns %s retval;(RqR@R[(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^%scCs|jjdƒdS(Nsreturn -G_MAXINT;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRM'scCs|jjdddtƒdS(Ntis&retvalRG(RqRHRn(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRb)s(RRR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRƒ"s   R‚tginttguinttshorttgshorttgushorttlongtglongtgsizetgssizetguint8tgint8tguint16tgint16tgint32tGTimet IntPtrParamcBs#eZd„Zd„Zd„ZRS(cKsed|krtjdƒ‚n|ddkrKtjd|dfƒ‚ntj||||dS(Nt directions+cannot use int* parameter without directiontouttinouts-cannot use int* parameter with direction '%s'(soutR—(targtypestArgTypeConfigurationErrorR<R (R RqRRr((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR 4s  cCs|jjddƒS(NRusint*(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[=scCsŽ|jddkrt|jjd|jƒ|jjdd|j|jfdd|jƒ|jjd|jƒn|jjd |jƒdS( NR•R—sPyObject *py_%s;Rspy_%s = PyInt_FromLong(*%s);RNsPy_DECREF(py_%s);spy_%sR„(RrRqR@RRSRCRH(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZ?s(RRR R[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR”3s sint*sgint*t GEnumReturncBseZd„ZRS(cCs+|jjdddd|jdfƒdS(NRROs2pyg_enum_get_value(%s, py_retval, (gint *)&retval)ttypecode(RqRSR*Rr(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbMs (RRRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRšLstGEnumt GEnumParamcBseZd„ZRS(cCsy|jjd|jƒ|jjdd|j|jd|jfdd|jdd|jƒ|jjd |jƒdS( NsPyObject *py_%s;Rs$py_%s = pyg_enum_from_gtype(%s, %s);R›RNsPy_DECREF(py_%s);ROs!py_%sspy_%s(RqR@RRSRrRC(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZWs  (RRRZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRVst GFlagsReturncBseZd„ZRS(cCs(|jjdddd|jdƒdS(NRROs3pyg_flags_get_value(%s, py_retval, (gint *)&retval)R›(RqRSR*Rr(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbbs (RRRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRžastGFlagst GFlagsParamcBseZd„ZRS(cCsy|jjd|jƒ|jjdd|j|jd|jfdd|jdd|jƒ|jjd |jƒdS( NsPyObject *py_%s;Rs%py_%s = pyg_flags_from_gtype(%s, %s);R›RNsPy_DECREF(py_%s);ROs!py_%sspy_%s(RqR@RRSRrRC(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZls  (RRRZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR kstGtkTreePathParamcBseZd„ZRS(cCso|jjd|jƒ|jjdd|j|jfdd|jdd|jƒ|jjd|jƒdS( NsPyObject *py_%s;Rs(py_%s = pygtk_tree_path_to_pyobject(%s);RNsPy_DECREF(py_%s);ROs!py_%sspy_%s(RqR@RRSRC(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZys  (RRRZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR¡xss GtkTreePath*tGtkTreePathReturncBs,eZd„Zd„Zd„Zd„ZRS(cCs|jjddƒS(NRus GtkTreePath *(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[†scCs|jjdƒdS(NsGtkTreePath * retval;(RqR@(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^ˆscCs|jjdƒdS(Ns return NULL;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMŠscCs |jjdddddƒdS(Ns3retval = pygtk_tree_path_from_pyobject(py_retval); ROs!retvalRQsCPyErr_SetString(PyExc_TypeError, "retval should be a GtkTreePath");(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbŒs (RRR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR¢…s   t BooleanReturncBs,eZd„Zd„Zd„Zd„ZRS(cCsdS(Ntgboolean((R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[—scCs$|jjdƒ|jjdƒdS(Nsgboolean retval;sPyObject *py_main_retval;(RqR@(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^™scCs|jjdƒdS(Ns return FALSE;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMœscCs9|jjdddtƒ|jjdd|jjƒdS(NtOs&py_main_retvalRGs7retval = PyObject_IsTrue(py_main_retval)? TRUE : FALSE;RI(RqRHRnRSR0(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbžs (RRR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR£–s   R¤t BooleanParamcBseZd„Zd„ZRS(cCsdS(NR¤((R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[¦scCsR|jjd|jƒ|jjd|j|jfƒ|jjd|jƒdS(NsPyObject *py_%s;spy_%s = %s? Py_True : Py_False;spy_%s(RqR@RRSRC(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZ¨s (RRR[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR¦¥s t DoubleParamcBseZd„Zd„ZRS(cCs|jjddƒS(NRutgdouble(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[²scCsb|jjd|jƒ|jjdd|j|jfdd|jƒ|jjd|jƒdS(NsPyObject *py_%s;Rspy_%s = PyFloat_FromDouble(%s);RNsPy_DECREF(py_%s);spy_%s(RqR@RRSRC(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZ´s (RRR[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR§±s tDoublePtrParamcBs#eZd„Zd„Zd„ZRS(cKsed|krtjdƒ‚n|ddkrKtjd|dfƒ‚ntj||||dS(NR•s.cannot use double* parameter without directionR–s0cannot use double* parameter with direction '%s'(sout(R˜R™R<R (R RqRRr((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR ¼s  cCs|jjddƒS(NRusdouble*(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[ÅscCs|jjd|jƒdS(Ntd(RqRHR(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZÇs(RRR R[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR©»s sdouble*sgdouble*t DoubleReturncBs,eZd„Zd„Zd„Zd„ZRS(cCs|jjddƒS(NRuR¨(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[ÎscCs|jjd|jƒƒdS(Ns %s retval;(RqR@R[(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^ÐscCs|jjdƒdS(Nsreturn -G_MAXFLOAT;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMÒscCs|jjdddtƒdS(NRªs&retvalRG(RqRHRn(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbÔs(RRR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR«Ís   tfloattdoubletgfloatR¨t GBoxedParamcBseZd„Zd„ZRS(cCs|jjdƒjddƒS(NRusconst-sconst (RrRvRw(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[ÝscCs×|jjd|jƒ|jƒ}|jdƒr‚|tdƒ}|jjdd|j|jd||jfdd|jƒn:|jjdd|j|jd|jfdd|jƒ|jjd |jƒdS( NsPyObject *py_%s;sconst Rs/py_%s = pyg_boxed_new(%s, (%s) %s, TRUE, TRUE);R›RNsPy_DECREF(py_%s);s,py_%s = pyg_boxed_new(%s, %s, FALSE, FALSE);spy_%s( RqR@RR[t startswithR_RSRrRC(R Rtctype_no_const((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRZßs   (RRR[RZ(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR¯Üs tGBoxedt GBoxedReturncBs,eZd„Zd„Zd„Zd„ZRS(cCs|jjdƒS(NRu(RrRv(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR[ôscCs|jjd|jƒƒdS(Ns %s retval;(RqR@R[(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR^öscCs|jjdƒdS(Nsreturn retval;(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMøsc CsZ|jjdddd|jdfdd|jdfƒ|jjd|jdƒdS( NRROs!pyg_boxed_check(py_retval, %s)R›RQs:PyErr_SetString(PyExc_TypeError, "retval should be a %s");ttypenames&retval = pyg_boxed_get(py_retval, %s);(RqRSR*Rr(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRbús (RRR[R^RMRb(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyR³ós   tGdkRegionPtrReturncBseZd„Zd„ZRS(cCs|jjdƒdS(Nsreturn gdk_region_new();(RqRS(R ((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyRMscCs1d|jdRÄRtRRlRtstderr(RÎRq((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyt_test{s t__main__(1R˜tostenvironRYRtobjectRRR"R(RpR9R<RtRtmatchertregister_reverseR{tregister_reverse_retR}RR€RRƒtargtypeR”RšRRžR R¡R¢R£R¦R§R©R«R¯R³RµR¹R¼R¿RÂRÃRÄRÅRÐR(((s4/usr/share/pygobject27/2.0/codegen/reversewrapper.pyts°    ÿ!$