我正在使用About + session Listener来控制我的灯泡设备。为了接收lampstatechange通知,我在发布时已经注册了lampstatechange的信号处理程序(在内省成功之后)。但我的申请没有收到状态变更通知。以下是我注册灯状态信号的代码片段。我无法理解为什么回调没有收到!
const InterfaceDescription* uniqueId = bus.GetInterface(LampServiceStateInterfaceName);
const InterfaceDescription::Member* sig = uniqueId->GetMember("LampStateChanged");
if (sig) {
QStatus sstatus = bus.RegisterSignalHandler(this, static_cast<MessageReceiver::SignalHandler>(&AJDeviceHandler::LampsStateChagedHandler), sig, "/org/allseen/LSF/Lamp");
printf("\n RegisterSignalHandler %s \n",QCC_StatusText(sstatus));
}
我继承了以下Alljoyn类: class AJDeviceHandler:public AboutListener,public SessionListener,public lsf :: Thread,public PingListener,public MessageReceiver
[注意:当我运行lighting_controller_service时,状态更改回调接收完美。)