<div dir="ltr"><div>Yes I agree, that would be more user friendly.</div><div><br></div>Only downside I see with that is that I'm not sure how an error would propagate "out of JNI" call, but py->java way it would be hard to mess up considering we could just pass in dicts, java->py way would be probably okay too with json builder.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Phil Thompson <<a href="mailto:phil@riverbankcomputing.com">phil@riverbankcomputing.com</a>> ezt írta (időpont: 2020. máj. 12., K, 10:19):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 11/05/2020 22:38, Kálmán Viktor wrote:<br>
> My idea was that with a single string argument and string return value<br>
> users can simply pass in/return JSON and that would cover multiple<br>
> arguments and string/int/bool/float/list/dict types.<br>
> <br>
> It's a little hacky but probably still nicer than hacking Qt and <br>
> pyjnius<br>
> together.<br>
<br>
In that case I'd be more receptive to a method that took a QJsonObject <br>
argument and returned a QJsonObject value that under the covers <br>
converted to and from string data.<br>
<br>
That way it would be more obviously a PyQt extension and less likely to <br>
compromise a possible (future) wrapping of the actual API.<br>
<br>
Phil<br>
> Phil Thompson <<a href="mailto:phil@riverbankcomputing.com" target="_blank">phil@riverbankcomputing.com</a>> ezt írta (időpont: 2020. <br>
> máj.<br>
> 11., H, 22:39):<br>
> <br>
>> On 11/05/2020 18:38, Kálmán Viktor wrote:<br>
>> > Hello!<br>
>> ><br>
>> > I'm wondering if it would be possible to<br>
>> > extend QAndroidJniObject's callStaticMethod to a version that supports<br>
>> > passing in a single string argument and the return value is also a<br>
>> > string.<br>
>> ><br>
>> > I tried something like this locally, but both gave me JNI error when<br>
>> > trying<br>
>> > to use them (the parameterless int return valued callStaticMethod works<br>
>> > fine but would it be good to pass in string, same for return value),<br>
>> > but<br>
>> > I'm not really familiar with SIP so it was just guess work (also tried<br>
>> > changing int to QString but that also gave me an error)<br>
>> ><br>
>> > static int callStaticMethod(const char *className, const char<br>
>> > *methodName, const char *signature, const char *parameter);<br>
>> > %MethodCode<br>
>> > sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1, a2,<br>
>> > a3);<br>
>> > %End<br>
>> ><br>
>> > static int callStaticMethod(const char *className, const char<br>
>> > *methodName, const char *parameter);<br>
>> > %MethodCode<br>
>> > sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1,<br>
>> > "(Ljava/lang/String;)I", a2);<br>
>> > %End<br>
>> <br>
>> And what about other combinations of arguments? Each combination would<br>
>> have to be implemented on a case by case basis and I don't want to <br>
>> start<br>
>> taking random requests.<br>
>> <br>
>> Phil<br>
>> <br>
<br>
</blockquote></div>