From 95cbf332c606f034d07c2ce0e87cd8bdc12b387c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Minisini?= Date: Fri, 15 Apr 2016 13:58:50 +0000 Subject: [PATCH] [GB.DBUS] * BUG: Correctly marshall arrays of classes (for example, String[][]). git-svn-id: svn://localhost/gambas/trunk@7745 867c0c6c-44f3-4631-809d-bfa615b0a4ec --- gb.dbus/src/gb.dbus/.icon.png | Bin 3754 -> 10680 bytes gb.dbus/src/gb.dbus/.project | 1 + gb.dbus/src/gb.dbus/.src/DBusObject.class | 10 +----- gb.dbus/src/helper.c | 38 +++++++++++++++++++++- 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/gb.dbus/src/gb.dbus/.icon.png b/gb.dbus/src/gb.dbus/.icon.png index 8748600ba47d0a4a6ca32a923a53fa6a66dfa7fd..025c3393fd319b39234fc43e5df747fe9cfe14ab 100644 GIT binary patch literal 10680 zcmb_?bySn#-~O}FJwRdfkPrpw1{ozGBA|c_X^`$NVT1^h3L*?}2uLX1Da`~V1Yx9< z5-KIqvG>vM`@ZM=et*B`+&kOZ?%nx`>$*Nqoc>)+8cJ45003yTwbbtc00jI90mwNMC*v0RsB(wLG1?|1@XDYhptkY zH;pFh?5n(aQgwdOf5_Ufa_8jiM6hJq5l8(wBvO=EUvjrrX>J>OeUpeh67hf0OfLPZ zr8zrp7mCaAhbDe!wOff{NhLTQW1q;=0jeK{{WNsg`pf&xM}AinAqCITzd|p*nk`g^ z6(Ge)$+?ja3O04k6n4$+xS~()j=SmY>j8}TM+<^a(+QcnVgA85JFHQ+#6|G_KK^2p z>*D9g#r#qL`LgIt|10*9m(4LQx*V!G8JsCr-W>&N>L-iO{yhCP^9R}o_!$E*_EdZ^ zmtocwH%4#$yB$8*k{QMoA0Yzk$^n1*_c+xQuL+hU{ZM-Itc#U7uxv)y?16hgj z>$jT@D3+k19A>7Vrd*4WFJH&;tFwbHJGNUn_f}Ulh!y7ihr8r%?{WQ@rN>x)cDq?K zn7B_k*;ydi?XABjSM_#=UL|GkJK7UA3aB%G_4tbD@A8VUS0`FyLMyhn-uDl zvGUH4y_@~@$Dx+eVZT|~R`7Rn1{ZL@7bJ=jeKr#mWJ>013ad5vXOYHxMGH=OSe#>+ zAFmfQeANF|&B1$A`?biAKKx8*o3cXdnm1A3$p~qd2`ozOU$TEy7QU{hEj$kg5~{o& z2I+7ISblBCCsk5Qrr$5G5lS*-t1(lsS@lcBAomu;+{4dWGMbeRb7)bbR~;`DPZb^( zOG|GPCc;mmkl1b7yyEOklH4Q>qwbfOm^*QA>B_Z4hD#$1-&f6zWAXmeac3^+AvxnO z^mSvq4>`upepS|E#hLhTP(WBxwL})36hc@1R$|gtA7DEjoG#9q&H@IUf~}N>ut<$4 z=~ipD{r!jGCxXw&U^vf0CUhQZqS6B2$I2#$}Vy&-{}5`GEn&4o_GJ@8b7is~Gk!wQ9>vR6mK z!?q4zqAoR!$d|2-aFw;;v|hl|AJ*&8fNQNm#ggO}KaiAs|4R#N*~awo*6DaeTD$*P z5%%|SkrY3_rGu&QC%F;qMfT9%`;q?eDyJdrDJLTa>2O&{XHPKjMQ+U@F`)0_{*~~a zptTDui&E79ed*{V`&(HXd+*^Y2ibewn}c))B2(5hijTy;ou9@9g~e#Q08gdbgRxP% zpBD7g4}BirGlo>xn+ylbo}o0I!y+Wc&yH<9LIi)hKaN_4^jI@FLj;^3aqMIKTSu_t zX*H7Kg;MP&$Qo*IQ_lN)XA(kDbF)_+j)q#@HDVSFyItQ!WMaab&+j{5DCVoMfejGg zRQ_bQ#Dtc2E>8+ZvANuO&X#ce)WYu7H%T91bPE0`XlUdrk^A)->~?-NHNV=$@yJd7 zZoPT_J_(5JjiEl{t}pvnoiAERyfrWc0YNmlDoF<`NM%#9bH8$1UgG1hg5cDW?1p~4 zkWo`+y`JX5QR}_)4LLuLuX$R?Tef#-cX*U+&*X3oH#%}3<@B3pDZKKy-!_tTboMJ) zYxJy8%LFFtkPx{HQ6Cr+0{jf`=_otj_t%=`qHXYayK)>X+$^hw%5Bw0yecV*zaE-l7K!Fb55%fHQci>q;LycWh3Gua%ftB!E&T7$xMg!7Q%;Vp6VTw#r^biCc6;0+76Wk0*+a zHrd}FOElQ-OCnX+drL?<@;vX*-0=*2u2u9?y|CY?GtqSwkRu6^^_ML<-iyNOTF7ML zyZQSzt1!p_I;XJZD^)L;&|SB0L?D(|GJsrO}9MTUh8wb+Y;}) zBlx{6@BB^y7}3lT0m;pAl1MKD6BL!Qb(VLqXo3;>xo42uzRhwSFgC!G+AHmix4(Tx zK7?(<^+9Jpcdoir)CD{=*susm{i`_|Uj#*>?wt9oSNAI!mC zkG`v#0F-KYM0CoQvU_>h6_%?*llM)Pki`+9N6Th}1xDOt^fxG6vgt#|#dx zoRvELxqp_f%O9^=WX18zd#~RfPb^~J9v7`pt`NZGzKWs(FM>J;G79Tel##;GJ~|p2 zChLe^#ZJy0XGglOB5rDegSnc?f`hG7$GkD7Pm&5J%{t4}HTNve!2LO`3F9BqGZPms zAjuV#BrSA_We_WwFFHF=!(>-^wHMV8dG(AG9LMQ=99V;7N0$#quv}d!ecih7`a58U z3Ay(ub@l4APfx%zW3?S+fyIAe$f$>+4Sj0jF7A3Tsba7Ktju4b`T{x#?VhFebD<&R z+fMC0##`U0h0qf$^sKh9Wgr%h>0=*X&C4A$hs>YA#RPg^AN zq&Nsup$xbz#p$>~ z60~2PP*&*=arw|9lemd@k_q21O50M130`r?&ej==$Ur=Im8-vlFAhk@IiLmow4VNKmtiF z{2^5Kznh3sl^5?3u>8iDE;W5PvBj!B3kWi^D3dV)w}kQYz6 zI;-4bJ6CG9Zm0-FccB254b|L@GxQ31P^5sv)>;suEu_)!lr?&BQRTEWSQ|$5wvkDB zKyhA=STm&u1$bfh?P-wb>zdVK?IfO*7xc_g%cg)20s-R{dvVPNnd}5VIvydwuE!$I zh+4fFASyzcT@L|G`Z!`StlO3#9DZ?>T(Cd~T;WvF-$`y%P9YJ!bwyS+thNceb{??3 zG`ab6dZcT?(hg6){7J43fb(^t{;YI)y*2383qJ{&9#Q3msr+OQQHP1pp@0fBIA8Aw z!BaePy#W&DTZ%>)Ki6r8ua{;XoL;uOU}UCe07Uvjw!e0lJ;YxfHUOtAZmp$SJg*4% z(q6f!pmhpg&QoRTxb|j|%j@|Y#G=#R4-wo{i)ksxdS-SOGf=GqC6qdnJW`g-!W7Ua zPC*FMeS^Z(Be)^TFp|~p4iMo?I{ouCY)$}ktWN>K^6SlQ;cP)W$p3VSVTkbl^3!jw zErdByW2Lo4RS12zD5|XNhHuOK-qygt4kdK)cX~^6$f0o9@u1~$Hyu)OyBtQf*cnB3 zbhMJZyR+0iH$8Z&IHI-`g$`m(Bvm@wQ9JwPfK>R~Z8^m+AP&10lnVz`F2NZ9VgoBJ z;D6_iM5|X_JKDSR9ulW||Ib>c84xKT$_tR^b)*1@Sg4wca^BRXvmkydG=h?v;{W>* z`uEErD6F?|aYO?3cjRJTxPj-hbH!8=aPKk3L<~;~*GD8sAaOSLch)iwNE!i8?iA06 zSgIp0C~}qDCP{QjYwVB#Le7n~?}Pi2uCqoB!-dSF+#EfrX_DS_e*qm-#rFLsf!_>q zN460*9neI6{y{4RXaso8I^r39&)^C~Tq2|pe=_cwumpqbj`#xoSjKArbxx<4WMg5{ zi#Pcj@Tt&KXkI@^ zqt-m2T+q$4L@lof!B_D6SD z-%$*RZ*EZO&})Yx^2Ny2B2KhaWgcaV(I*@Q0a?o7LL zwa>EU+OX`{(z?<69FT;+?uVLipJmuOEUpZmb6>0mF(=P(%7?{qtnmPiDPe?RL`Ma-e%G_;X^sk7fo7UZ*Oo+Y zRxU&fCfx!YF|2~{`AcUsyYO0%0Q1|iYb8E7hHTW= zHqqJLqwo#@KWg=3M%5PTGy`oF=)4fwL z-dDM0DjubeUtIUz$uWA39x(Z1la$1@loiE&v2}~i@)sSr_az)VU{!!hNH14$c%NG2 znTddS((*dp-X8A2St7TWm+o@8A?1y-Ox<0{Av^bLCw}vUR?n+lA)Xv$!X#15jt)x_ z=>h9U+?>Du?9S$Jewbpj3R!fB;sPXToKC8xch6&MqKt`N6OH|$+cBT*&Yu*BKNyMX z10Le_>#5VmzL+Qv^Bx&Q8hoPf5fAJm5yzrpj|u)3J-emb`8GeNegrzo^OqaDW)x*# z*2jcj;&Uv*5E>M2hJKLg@L#|ova^4DVTp44=tq4LSsVTt>rf30M})!un(v1xuG~#c zAI;O3dabLNM!e99@qB09Ga86h%l1mp0D}XI+%09wymaQJ)JglYwvSc*aQTHrS!H?Oa{AHDewDk|xU~B5cD#O9#CvhcC#U`Y8 za=4e2VS|q0l21G6Q&@tMO?f0;89hp0R$44q)Y>Z#?Iq_C-_X-IeY?tK6XI#IC+M5l zDdpQ3^Ffp<7mT<=P$BxdcNJ34DkpY#YS%`-gpR{m)q2HuG-{%`7Mz!d1Rs?)@yn}3 zx6f}a{hS15+W67rqEvp`|Xtro|Y1!l6kjUc;tFATde%oMrty01*)ITdEF}Xtj%3!_h z5Hoh`VAsthwr$RE!AoGU$cBX%U?QeK^DX1p!K7r7ZFO>8NUa-VyL@-Pmu^xpuniUI z@?&c27!1oh#W%Y;6FTjFusYY5LOffxmiO(ig?QvksnaGKL3F7x!bC= z3RU^^d7tNR5^)ZXB?E2zv8ehW)zZ-JJf!0b{9S#-yBjO;o@p@M#2ty@wh%pAR!TG` z^}elD#$9xiw@pM)0-5rliNwpj-Vas$dF(@1s7Q@|qfI0DBGrM^uAS%??HZ$*%BLzB z%H7RQ7}hmlccK$E8wHpnRWm*kkX~0-Y0-LrLi*N9rfHC? z>rch}pK@~s*xiT%cci$f{mOyUg(vw<5mUz%b95wf#110#JcEilpSW8fQ*ajtUQn@o zqk+#Nt1V5jJ!7k^ig-SU$ZFus-uLKS*pyZjx}_VyZqZbZ(~UW+?%gDaF?)CF%eE|t zG4Fs(=;*fbD9xQn^JwWR%y{a)tGH=xp& z#)XdxY@ZRzJq|9WP87TuMyamU`jm8N zT05~~lHy!0li{z^w#uSRmquQ7j!BiuF-@|&@SO&L$*xjevakBY-}~15E))?fcMt

;ylQ?d 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 Z;903&j literal 3754 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 U3REXv8UO$Q07*qoM6N<$g7Lxw&Hw-a diff --git a/gb.dbus/src/gb.dbus/.project b/gb.dbus/src/gb.dbus/.project index c851eee6c..264ca9e08 100644 --- a/gb.dbus/src/gb.dbus/.project +++ b/gb.dbus/src/gb.dbus/.project @@ -6,4 +6,5 @@ Version=3.8.90 VersionFile=1 Component=gb.dbus TabSize=2 +Language=fr Packager=1 diff --git a/gb.dbus/src/gb.dbus/.src/DBusObject.class b/gb.dbus/src/gb.dbus/.src/DBusObject.class index 8358b3e63..02ff8b058 100644 --- a/gb.dbus/src/gb.dbus/.src/DBusObject.class +++ b/gb.dbus/src/gb.dbus/.src/DBusObject.class @@ -598,17 +598,9 @@ Public Sub DBusObserver_Message() If $aInterface And If sInterface <> $sInterface Then sMethod = Replace(sInterface, ".", "_") & "_" & sMethod Endif - - ' If InStr(sMethod, "XAyatana") Then - ' With $hObserver.Message.Arguments - ' Print sMethod - ' For I = 0 To .Max - ' Print "["; I; "] "; .[I] - ' Next - ' End With - ' Endif sType = Object.Class(Me)[sMethod].Type + If sType Then vVal = Object.Call(Me, sMethod, hObs.Message.Arguments) If TypeOf(vVal) = gb.Object And If vVal Is DBusValues Then diff --git a/gb.dbus/src/helper.c b/gb.dbus/src/helper.c index c64b6d6fe..cdf482d2a 100644 --- a/gb.dbus/src/helper.c +++ b/gb.dbus/src/helper.c @@ -98,6 +98,7 @@ aT ARRAY Array {TT} DICT_ENTRY Collection ***************************************************************************/ + typedef struct { const char *name; @@ -128,6 +129,10 @@ CONV_TYPE _conv_type[] = static const char *to_dbus_type(GB_VALUE *arg) { CONV_TYPE *p; + GB_TYPE type, atype; + int a; + const char *dtype; + char *result; switch(arg->type) { @@ -145,6 +150,8 @@ static const char *to_dbus_type(GB_VALUE *arg) if (arg->type >= GB_T_OBJECT) { + //fprintf(stderr, "%s\n", GB.GetClassName((void *)arg->type)); + for (p = _conv_type; p->name; p++) { if (GB.FindClass(p->name) == arg->type) @@ -152,7 +159,36 @@ static const char *to_dbus_type(GB_VALUE *arg) } if (GB.Is(arg->_object.value, GB.FindClass("Array"))) - return "av"; + { + type = arg->type; + a = 0; + + for(;;) + { + atype = GB.GetArrayType(type); + if (atype <= GB_T_OBJECT) + break; + type = atype; + a++; + } + + dtype = "v"; + for (p = _conv_type; p->name; p++) + { + if (GB.FindClass(p->name) == type) + { + dtype = p->dbus; + break; + } + } + + result = NULL; + while (a--) + result = GB.AddChar(result, 'a'); + result = GB.AddString(result, dtype, strlen(dtype)); + + return result; + } if (GB.Is(arg->_object.value, CLASS_DBusVariant)) return "v";