Thanks for sharing the solution mate :)
I don't know if you are aware, but you can also ask questions on Pharo's
discord. Though it's easier to go through the history of conversations by
email.
Cheers,

Harald

Le mar. 7 déc. 2021 à 04:53, <tomazz.t...@gmail.com> a écrit :

> Found the solution! Here it is, if somebody needs the description.
>
> The webview_bind() function in DLL that expects to get a pointer to the
> function in Pharo can be called like this:
>
> WebViewLibrary >> bind: webview name: aString callback: aFFICallback 
> arguments: aByteString
>
>       ^ self ffiCall: #(void webview_bind(void * webview, const char * 
> aString, FFICallback aFFICallback, void * aByteString))
>
> Before doing the actual call, the callback should be made according to fn
> signature:
>
> doIt := FFICallback
>
>               signature: #( void (const char *seq, const char *req, void * 
> arg) )
>
>               block: [ :seq :req :arg |
>
>                         “do the stuff”
>
>               ].
>
> And the call is then made as:
>
> WebViewLibrary new bind: webview name: 'newJsFunctionName' callback: doIt  
> arguments: args.
>
> The next challenge is, of course, threading ...
>
> Best wishes,
> Tomaz
>

Reply via email to