2013년 7월 30일 화요일 오후 3시 30분 30초 UTC+9, Kilcheon Kim 님의 말:
> Hi, All,
>
>
>
> Actually, I am studying how to port native application(made by C and C++)
> into B2G.
>
> I added my test library in root directory such as "/b2g/libTEST". And I used
> js-ctypes to load native library(libTEST.so).
>
> Now library was ran properly by js-ctypes. My library should use some thread.
>
> As my testing, thread and timer work well.
>
>
>
> But I have a problem about js-ctypes callback.
>
> I am defining my callback in gecko layer such as:
>
>
>
> myCallback = function(arg) {
>
> debug("myCallback : arg = " + arg);
>
> }
>
> ......
>
> SetMy_CB = library.declare("SetMyCallback",
>
> ctypes.default_abi,
>
> ctypes.void_t,
>
> ctypes.voidptr_t);
>
> My_CB = ctypes.FunctionType(
>
> ctypes.default_abi,
>
> ctypes.void_t,
>
> [ctypes.voidptr_t]
>
> ).ptr;
>
> SetMy_CB(My_CB(myCallback));
>
>
>
> and I add some code in my library for callback such as :
>
> **** in header file
>
> typedef void MyCallback_forGecko(void* in_bitmap);
>
> extern void SetMyCallback(MyCallback_forGecko* callback);
>
> ......
>
>
>
> **** in source file
>
> static MyCallback_forGecko* gMyCallback_forGecko;
>
> void SetMyCallback(Callback_MyCallback_forGecko* callback)
>
> {
>
> gMyCallback_forGecko = callback;
>
> }
>
> ......
>
> gMyCallback_forGecko(arg) //call callback function
>
>
>
> In this case, I got crash because thread is not main thread, when gMyCallback
> called.
>
> My library should be use two gThreads to run.
>
> Of course, I know that thread is same to use js-ctypes callback. But I don't
> know how to use same thread in gecko and my library.
>
> Would please let me know how to implement js-ctypes callback?
>
> Any help would be greatly appreciated.
>
>
>
> Thanks,
Please anybody help me ~~~
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g