I am talking about the internals of the API, not the return values. How can we be certain the data will be identical if the source, storage and retrieval mechanisms are different on every distro.
I can't follow this discussion, too abstract and intellectual for me. So now is the plan to build a different API for every distro and hope (and pray) that the return values will be identical, right?
And people find it weird I get exasperated?
For the last time: the internals are not relevant, and no, there is only ONE API (otherwise, which methods to call?).
And for those I have lost along the way: an API is nothing more than documentation. What classes, what methods, what arguments, what return values.
In terms that you may understand better: the Python os.path API is defined here: https://docs.python....ry/os.path.html. In it, it describes the method isdir(), like so:
os.path.isdir(path)
Return True if path is an existing directory. This follows symbolic links, so both islink() and isdir() can be true for the same path.
You understand it, you don't question what isdir() exactly does internally, and you trust that what it returns is correct.
Are you now suggesting that if we define a "box API" the same way, you don't trust the differerent image builders to honor the API description and return the correct values? No matter how they are obtained?
And even if that is not the case, who cares?
Say we decide to have the method has7DigitDisplay() return False hardcoded. So what? Maybe something doesn't work on a specific box as expected, but that is then our problem, and not yours as Enigma or plugin developer. All you need to know is that the method exists, and it returns a boolean.
For the same reason, it doesn't matter if that True or False is obtained:
- from a key=value text file inserted during the box for every specific box
- from a boxbranding binary compiled from box specific source during the build
- from runtime detection of proc entries and values
- ...
In all cases you can trust you get a boolean back if you call the method in your code. And you don't need to know more.
Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)
Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.
Many answers to your question can be found in our new and improved wiki.