当前位置: 首页>>代码示例>>C++>>正文


C++ MobiCoreDevice::notify方法代码示例

本文整理汇总了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
}
开发者ID:Fevax,项目名称:android_hardware_samsung_slsi-cm_exynos8890,代码行数:35,代码来源:MobiCoreDriverDaemon.cpp

示例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);
}
开发者ID:Hunter78rus,项目名称:tee-mobicore-driver,代码行数:37,代码来源:MobiCoreDriverDaemon.cpp


注:本文中的MobiCoreDevice::notify方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。