Re: Question about extending QtAndroidExtras

Kálmán Viktor <[email protected]> Mon, 11 May 2020 23:38:24 +0200
Newsgroups gmane.comp.python.pyqt-pykde
Message-ID <CA+sJfQwvWg9tL6CKK+aqtwLzAuQioxcs0Y=r77+W+70jTikeeg@mail.gmail.com>
My idea was that with a single string argument and string return value
users can simply pass in/return JSON and that would cover multiple
arguments and string/int/bool/float/list/dict types.

It's a little hacky but probably still nicer than hacking Qt and pyjnius
together.



Phil Thompson <[email protected]> ezt írta (időpont: 2020. máj.
11., H, 22:39):

> On 11/05/2020 18:38, Kálmán Viktor wrote:
> > Hello!
> >
> > I'm wondering if it would be possible to
> > extend QAndroidJniObject's callStaticMethod to a version that supports
> > passing in a single string argument and the return value is also a
> > string.
> >
> > I tried something like this locally, but both gave me JNI error when
> > trying
> > to use them (the parameterless int return valued callStaticMethod works
> > fine but would it be good to pass in string,  same for return value),
> > but
> > I'm not really familiar with SIP so it was just guess work (also tried
> > changing int to QString but that also gave me an error)
> >
> >     static int callStaticMethod(const char *className, const char
> > *methodName, const char *signature, const char *parameter);
> > %MethodCode
> >         sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1, a2,
> > a3);
> > %End
> >
> >     static int callStaticMethod(const char *className, const char
> > *methodName, const char *parameter);
> > %MethodCode
> >         sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1,
> > "(Ljava/lang/String;)I", a2);
> > %End
>
> And what about other combinations of arguments? Each combination would
> have to be implemented on a case by case basis and I don't want to start
> taking random requests.
>
> Phil
>