当前位置: 首页 > news >正文

AUTOSAR_EXP_ARAComAPI的5章笔记(10)

5.4.4. 提供服务实例

骨架提供了 OfferService () 方法。作为服务提供方的开发人员,在满足以下条件后,您将在该实例上调用OfferService () 方法。

  • 实例化了服务实现类;

  • 服务实例初始化为能够处理请求(方法调用预备好了);

  • 可以向订阅此服务实例的服务消费者提供事件的状态;

从调用OfferService () 开始,即使对 OfferService () 的调用尚未返回,也可能会把方法调用分派到服务实例,如果您在某个时刻(可能由于某些状态更改)决定不再提供该服务,则在实例上调用 StopOfferService ()。这里的约定是:在 StopOfferService () 返回后,不会再向服务实例分派进一步的方法调用。出于合理性原因,ara::com 要求 AP 供应商在实现骨架类的析构函数时,如果实例当前正在提供服务,则内部也执行 StopOfferService ()

因此,“停止提供” 仅需要在存在的服务实例上调用,并且在其生命周期内,它在可见提供服务的状态不提供服务的状态之间切换。

using namespace ara::com;/*** 我们对RadarService的实现 - * RadarServiceSkeleton的子类*/
class RadarServiceImpl;int main(int argc, char** argv) 
{// 从命令行读取实例标识符ara::core::string_view instanceIdStr(argv[1]);RadarServiceImpl myRadarService(InstanceIdentifier(instanceIdStr));// 在此处进行一些特定于服务的初始化....myRadarService.init();// 现在服务实例已准备就绪 -> 使其可见/可用myRadarService.OfferService();// 进入主线程的某种等待状态 - 等待AppExecMgr// 信号或类似的东西....return 0;
}


http://www.mrgr.cn/news/33758.html

相关文章:

  • 实现3D热力图
  • Python 占位语句 pass
  • [智能车摄像头是一种安装在汽车上用于辅助驾驶和提高安全性的重要设备]
  • JavaScript总结
  • JVM 中的完整 GC 流程
  • 导游基础知识丨各民族民俗知识节选
  • wordpress迁移到别的服务器
  • 简易CPU设计入门:取指令(一),端口列表与变量声明
  • 时钟的配置
  • 2409dip草稿,和类型
  • Cesium 绘制可编辑点
  • C++自动驾驶面试核心问题整理
  • YOLOv10改进,YOLOv10替换主干网络为PP-HGNetV2(百度飞桨视觉团队自研,独家手把手教程,助力涨点)
  • 面试题(五)
  • 110. 平衡二叉树
  • 高等数学——微分学
  • Linux:终端(terminal)与终端管理器(agetty)
  • 学习记录:js算法(四十一): 基于时间的键值存储
  • 鸿蒙OpenHarmony【轻量系统内核扩展组件(CPU占用率)】子系统开发
  • sftp登录ipv6用中括号 `sftp x@[ipv6]`
  • 2D目标检测常用loss
  • [Excel VBA]如何使用VBA自动生成图表
  • iOS 中 KVC 与 KVO 底层原理
  • 面试题(二)
  • Java--File
  • 【详细解答】指出下面指令的错误:IN AL,300H