-
Notifications
You must be signed in to change notification settings - Fork 7
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
🐛 (interface): Forward declare RGB struct #469
Conversation
Running clang-tidy locally showed the issue. interface::LED depends on RGB.h inside CoreLED, which is a bug, interfaces should never depend on specifi implemetations. The fix is to forward delcare struct RGB inside the interface header so that it is available to the drivers implementing the interface. This also allows different implemtation of RGB.h to coexist depending on the needs.
Codecov Report
@@ Coverage Diff @@
## develop #469 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 76 76
Lines 1262 1262
=========================================
Hits 1262 1262
Continue to review full report at Codecov.
|
File comparision analysis report🔖 Info
📝 SummaryClick to show summary
🗺️ Map files diff outputClick to show diff listNo differenes where found in map files. |
Kudos, SonarCloud Quality Gate passed! |
File comparision analysis report🔖 Info
📝 SummaryClick to show summary
🗺️ Map files diff outputClick to show diff listNo differenes where found in map files. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In that case, interface::Graphics
and interface::Font
in CoreVideo have to be updated too since they depend on implementation of CGColor and CGPixel.
Running clang-tidy locally showed the issue. interface::LED depends on
RGB.h inside CoreLED, which is a bug, interfaces should never depend on
specifi implemetations.
The fix is to forward delcare struct RGB inside the interface header so
that it is available to the drivers implementing the interface.
This also allows different implemtation of RGB.h to coexist depending on
the needs.