-
Notifications
You must be signed in to change notification settings - Fork 5
Add tizen_interop_callbacks #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The callbacks are working nice. The thing that I don't like is the fact that the way it is implemented building this plugin depends on all the API headers. I was even thinking about separating packages like tizen_interop_callbacks (for common), tizen_interop_callbacks_iot, tizen_interop_callbacks_tv and publish versions multiple versions of the package (4.0.x, 5.0.x, 6.0.x, 6.5.x, 7.0.x). |
I got the idea for removing build time dependency - the compiler only needs to know some parameter types, those can be included in the file. Will investigate and implement it. |
Two approaches (code, macros) are presented. Example app works.
Only the parser is included. Old code used in previous approaches was removed.
The plugin has been moved to packages/ directory too.
TizenInteropCallbacks.register() will be able to auto choose non-blocking if possible - i.e. if user does not specify blocking, and there is a non-blocking proxy, a non blocking callback will be registed.
Change exported native function names to include TizenInteropCallbacks prefix. Mentioned that there can be only 5 callbacks registered. Added a feature of generator to prepend a header include with other header include - that solves iotcon headers issue that iotcon-client.h depends on iotcon-errors.h but does not include it itself.
This time use the parameters passed by flutter-tizen do determine where the headers are. The user doesn't need to have FLUTTER_ROOT set, so better not rely on that.
This is to prepare for adding more examples.
This removes dependency on Native API headers.
@wiertel Is |
I tried to run it now and got such errors in API header (contacts_filter_h, contacts_list_h) - I'm pretty sure that one means the header is written in such a way that including it fails unless other header was already included and it's not an indication of an issue with generator. I will change the code used for verification in such a way that running it will not fail. Maybe by applying some changes to header includes or changing platform/version to be used by default. And add some more description about it. There is comment about it: https://github.com/flutter-tizen/tizen_interop/pull/19/files#diff-7dcd916636fc9f3b3d75cbcad9087d52ab5c7087ea780a34c39effc6818ca11dR19 |
@wiertel Headers for public APIs supported by |
Some description have been added. The `verify` mode now succeeds in default configuration and prints summary.
Thank you! |
closes #10
The mechanism implemented in this plugins allows receiving callbacks from other threads of native API.