本文整理汇总了C++中MobiCoreDevice::notify方法的典型用法代码示例。如果您正苦于以下问题:C++ MobiCoreDevice::notify方法的具体用法?C++ MobiCoreDevice::notify怎么用?C++ MobiCoreDevice::notify使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MobiCoreDevice
的用法示例。
在下文中一共展示了MobiCoreDevice::notify方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processNotify
//------------------------------------------------------------------------------
void MobiCoreDriverDaemon::processNotify(Connection *connection)
{
// Read entire command data
MC_DRV_CMD_NOTIFY_struct cmd;
//RECV_PAYLOAD_FROM_CLIENT(connection, &cmd);
void *payload = (void *)((uintptr_t)&cmd + sizeof(mcDrvCommandHeader_t));
uint32_t payload_len = sizeof(cmd) - sizeof(mcDrvCommandHeader_t);
uint32_t rlen = connection->readData(payload, payload_len);
if ((int) rlen < 0) {
LOG_E("reading from Client failed");
/* it is questionable, if writing to broken socket has any effect here. */
// NOTE: notify fails silently
//writeResult(connection, MC_DRV_RSP_SOCKET_ERROR);
return;
}
if (rlen != payload_len) {
LOG_E("wrong buffer length %i received from Client", rlen);
// NOTE: notify fails silently
//writeResult(connection, MC_DRV_RSP_PAYLOAD_LENGTH_ERROR);
return;
}
// Device required
MobiCoreDevice *device = (MobiCoreDevice *) (connection->connectionData);
if (NULL == device) {
LOG_V("%s: no device associated with connection", __FUNCTION__);
// NOTE: notify fails silently
// writeResult(connection,MC_DRV_RSP_DEVICE_NOT_OPENED);
return;
}
device->notify(connection, cmd.sessionId);
// NOTE: for notifications there is no response at all
}
示例2: processNotify
//------------------------------------------------------------------------------
void MobiCoreDriverDaemon::processNotify(
Connection *connection
) {
do
{
// Read entire command data
mcDrvCmdNotifyPayload_t cmdNotifyPayload;
uint32_t rlen = connection->readData(
&cmdNotifyPayload,
sizeof(cmdNotifyPayload));
if (sizeof(cmdNotifyPayload) != rlen)
{
LOG_E("processNotify(): NotifyPayload length error: %d", rlen);
// NOTE: notify fails silently
// writeResult(connection,MC_DRV_RSP_PAYLOAD_LENGTH_ERROR);
break;
}
// Device required
MobiCoreDevice *device = (MobiCoreDevice *) (connection->connectionData);
if (NULL == device)
{
LOG_E("processNotify(): device is NULL");
// NOTE: notify fails silently
// writeResult(connection,MC_DRV_RSP_DEVICE_NOT_OPENED);
break;
}
// REV axh: we cannot trust the clientLib to give us a valid
// sessionId here. Thus we have to check that it belongs to
// the clientLib's process.
device->notify(cmdNotifyPayload.sessionId);
// NOTE: for notifications there is no response at all
} while(0);
}