当使用sdbus ++来查询带有“(iii)”签名的属性时,我尝试了多种组合,但最终发现它可以工作...这实际上是我们应该打开sdbus :: Struct包装的方式。
它似乎确实有效,但是我无法将其包裹在get <>()的语法上。
有人可以指向解释get语法的参考,以便让我感觉良好或对其进行修改以使其正确并“令人赏心悦目”。
auto genericProxy = sdbus::createProxy(serviceName, objectPath);
sdbus::Struct<int32_t, int32_t, int32_t> state = genericProxy->getProperty(propertyName).onInterface(interfaceName);
color = state.get<0>();
brightness = state.get<1>();
time = state.get<2>();