Senselib FFI: Use devDesc object in SenseApiLib, also add per-device metadata to xcbXorg

We also had to write conversion constructors and so on to CSenseDeviceDesc.
The technical debt that's being piled up from this C FFI is excessive.
I think we'll end it here. API Libs will have to be written in C++
from now on. API Lib interfaces will be in C++.

We'll use cross compilers to ensure stability for out-of-tree lib
development.
This commit is contained in:
2025-01-13 11:53:38 -04:00
parent 660f0f0e73
commit a4f96c8dfa
4 changed files with 84 additions and 12 deletions
+3 -1
View File
@@ -32,7 +32,8 @@ public:
SenseApiDesc() = default;
SenseApiDesc(const CSenseApiDesc& cDesc)
// The caller should sanity check before calling this constructor.
: name(cDesc.name)
: name(cDesc.name),
sal_mgmt_libOps(cDesc.sal_mgmt_libOps)
{
for (uint32_t i = 0; i < cDesc.numExportedImplexorApis; ++i)
{
@@ -51,6 +52,7 @@ public:
std::string name;
// These are the implexors whose APIs this lib exports.
std::vector<ExportedImplexorApiDesc> exportedImplexorApis;
Csal_mgmt_libOps* sal_mgmt_libOps;
std::string stringify() const {
std::string result = "Name: " + name + "\n";