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
[addons][pvr] change addon system to C++ style #16485
Conversation
e7a203c
to
9a5126c
Compare
213d442
to
53728dd
Compare
The added documents are now visible here: http://alwinesch.github.io/group__cpp__kodi__addon__pvr.html |
b0d0379
to
f72de8d
Compare
Great @AlwinEsch . ✌️ I will review as as soon as I find some time. |
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.
Great work. Some general questions and suggestions, though.
xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PVRClient.h
Outdated
Show resolved
Hide resolved
xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PVRClient.h
Outdated
Show resolved
Hide resolved
xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PVRClient.h
Outdated
Show resolved
Hide resolved
xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PVRClient.h
Outdated
Show resolved
Hide resolved
xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/PVRClient.h
Outdated
Show resolved
Hide resolved
1930e56
to
acc1f13
Compare
ac6d796
to
43c3c4e
Compare
Not final, but is updated: Test with pvr.demo was OK. |
43c3c4e
to
caf5e7e
Compare
IMO, convertion to a C++ plugin API is a very bad idea. I'm a professional C/C++ developer and for many years I was responsible for an image processing plugin library for both Windows and Linux that was loaded by several applications. So, I strongly believe that the conversion to a C++ plugin API will complicate plugin development instead of simplifying it. |
It will still use a C API under the hood. Think of c++ being an implementation language of which there could be others. |
Hm, ok. I currently don't fully overlook the changes. |
Full ack. Good thing is that we will not do that. :-) Everything that crosses shared library boundaries is plain C. The new C++ API is "just" a convenience wrapper for a C API. The addon dev needs not to deal with C stuff any longer. |
This thought to have it cleaner and to take for other languages.
To allow by them a direct handling if e.g. connection error comes.
Before was already 29 bits used where the unsigned int comes to his end. This use now a 64 bit for them.
This add the new instance class for PVR system. There everything supported like before but now on easier way on addons. This are splittet to separate files.
This use "PVR_[TIMER][RECORDING]_VALUE_NOT_AVAILABLE" to define it as -1.
This add back the on first commit removed docs in a good usable doxygen style and much increased on most places.
…ient" As this is a very big change it makes sense for me to rename them too.
Only on PVRClient.cpp is the C++ part included to make a check about.
Only ignored parts are the "#define"'s within "C" headers , as them within a 'extern "C"' becomes his parts two spaces but not the define.
Before was it without, but as this need nowhere a change it must be "const" to prevent wrong changes.
Also are his new header depends addd to there.
…rface group This thought to generate a easily by user usable list about parts and allow c&p for new projects. This scan the headers about and if a `/// @copydetails ...header_addon_auto_check` or `/// @copydetails ...source_addon_auto_check` is included becomes about related group the list generated. This list is added in .gitignore to prevent problems if by API changes not updated. There must be a system in automatic doxygen build start by doc upload added.
5c0f2cd
to
7ef55fa
Compare
jenkins build this please |
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
[addons][pvr] change addon system to C++ style
Description
This converts the PVR addon system to the C ++ type.
The changes here are still in their infancy and not fully tested yet.
In addition, the Doxygen documentation is revised to have the presentation arranged.
The last commit with the
WIP
is not finished yet and for behaving to addon changes this has to be properly and thoroughly set up and tested.Ready addons
Motivation and Context
How Has This Been Tested?
Currently only with pvr.demo from here:
kodi-pvr/pvr.demo#65
Screenshots (if appropriate):
Types of change
Checklist: