当前位置: 首页 > 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

相关文章:

  • 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