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

Extending the plugin API and callbacks API without breaking the ABI #2033

Open
jrohel opened this issue Feb 4, 2025 · 0 comments
Open

Extending the plugin API and callbacks API without breaking the ABI #2033

jrohel opened this issue Feb 4, 2025 · 0 comments
Assignees
Labels
Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take

Comments

@jrohel
Copy link
Contributor

jrohel commented Feb 4, 2025

Plugin hooks and callback functions are done using virtual methods. Callback users and plugin developers implement the necessary virtual methods. This approach is simple and, moreover, supported in SWIG. SWIG supports cross-language polymorphism - SWIG directors.

During development, as in this PR #1592, there may be a need to extend the API - add a new plugin hooks and a new callbacks. The problem is that adding a new virtual method to an existing class will break its ABI.

A technique needs to be found for adding new plugin hooks and callbacks without breaking the original ABI. The solution needs to work with SWIG.

@jrohel jrohel self-assigned this Feb 4, 2025
@kontura kontura added the Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take label Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take
Projects
None yet
Development

No branches or pull requests

2 participants