Skip to content
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

C API for easier third-party bindings #484

Open
NeusFear opened this issue Nov 11, 2022 · 2 comments
Open

C API for easier third-party bindings #484

NeusFear opened this issue Nov 11, 2022 · 2 comments
Labels
binding Issues related to adding functionality

Comments

@NeusFear
Copy link

NeusFear commented Nov 11, 2022

Maintaining a C API would make creating a third party bindings easier for users.

It would be unreasonable for us to request things like "add a Java API" or something along those lines, but if you added a C API we could use JNI to bind to the C API ourselves with relative ease. Bindings not limited to just Java obviously, there are many other languages that allow binding to C very simply.

I realize that the community guidelines say that we are supposed to use the YouTrack, but when attempting to do that I get an error saying that there are no more seats available. So I am resorting to here,

@sbaer
Copy link
Member

sbaer commented Nov 11, 2022

There actually is a large C API in place as this is what the .NET bindings use for pInvokes. This can be found in the librhino3dm_native directory.

How can we make this easier for people to use for access from other languages?

@NeusFear
Copy link
Author

NeusFear commented Nov 11, 2022

To us in the LWJGL (lightweight java game library) community it seems like the C headers are not all inclusive. I'm not sure if this is because the C# bindings may be generated from the C++ api or something similar, but essentially we would need headers for the full library in C to be able to bind to it with JNI.

@fraguada fraguada added the binding Issues related to adding functionality label Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding Issues related to adding functionality
Projects
None yet
Development

No branches or pull requests

3 participants