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

新时代文明实践站模板seo静态页源码

新时代文明实践站模板,seo静态页源码,wordpress前端用户,济宁做网站大约多少钱☞ 返回总目录 5.4 骨架类(Skeleton Class) 骨架类是由AUTOSAR 元模型的服务接口描述(SI description)生成的。ara::com对生成的骨架类的接口进行了标准化。自适应平台(AP)产品供应商的工具链将生成一个完…

☞ 返回总目录

5.4 骨架类(Skeleton Class)

骨架类是由AUTOSAR 元模型的服务接口描述SI description)生成的。ara::com对生成的骨架类的接口进行了标准化。自适应平台(AP)产品供应商的工具链将生成一个完全实现此接口的骨架实现类。

生成的骨架类是一个抽象类。它不能直接实例化,因为它不包含服务应提供的服务方法的实现。因此,服务实现者必须继承骨架类并在子类中提供服务方法的实现。

注意:与代理类一样,骨架类必须提供的接口由ara::com定义,一个通用(与产品无关)的生成器可以生成一个抽象类或模拟类,应用程序开发人员可以针对其实现他的服务提供者应用程序。这非常适合独立于平台供应商的自适应 AUTOSAR 软件组件(SWC)的开发。

ara::com期望在命名空间 “skeleton” 中包含与骨架相关的工件。这个命名空间通常包含在从服务定义及其上下文推导出来的命名空间层次结构中。

5.4.1 Skeleton Class API

  • OfferService():提供服务实例。

  • StopOfferService():停止提供服务实例。

  • Send():发送。

  • Allocate():分配。

  • ProcessNextMethodCall():处理下一个方法调用。

  • RegisterGetHandler():注册获取处理程序。

  • RegisterSetHandler():注册设置处理程序。

  • Field::Update():更新字段。

5.4.2 RadarService Skeleton Class 示例

class RadarServiceSkeleton 
{
public:/*** 构造函数,以实例标识符为参数,具有默认的请求处理模式 kEvent。*/RadarServiceSkeleton(ara::com::InstanceIdentifier instanceId,ara::com::MethodCallProcessingMode mode = ara::com::MethodCallProcessingMode::kEvent);/*** 无异常构造函数,以实例标识符为参数,具有默认的请求处理模式 kEvent。*/static ara::core::Result<RadarServiceSkeleton> Create(const ara::core::InstanceIdentifier &instanceID,ara::com::MethodCallProcessingMode mode = ara::com::MethodCallProcessingMode::kEvent) noexcept;/*** 构造函数,以实例标识符容器为参数,具有默认的请求处理模式 kEvent。* 这个特别支持多绑定。*/RadarServiceSkeleton(ara::com::InstanceIdentifierContainer instanceIds,ara::com::MethodCallProcessingMode mode = ara::com::MethodCallProcessingMode::kEvent);/*** 无异常构造函数,以实例标识符容器为参数,具有默认的请求处理模式 kEvent。*/static ara::core::Result<RadarServiceSkeleton> Create(const ara::core::InstanceIdentifierContainer &instanceIDs,ara::com::MethodCallProcessingMode mode = ara::com::MethodCallProcessingMode::kEvent) noexcept;/*** 构造函数,以实例说明符为参数,具有默认的请求处理模式 kEvent。*/RadarServiceSkeleton(ara::core::InstanceSpecifier instanceSpec,ara::com::MethodCallProcessingMode mode = ara::com::MethodCallProcessingMode::kEvent);/*** 无异常构造函数,以实例说明符为参数,具有默认的请求处理模式 kEvent。*/static ara::core::Result<RadarServiceSkeleton> Create(const ara::core::InstanceSpecifier &instanceSpec,ara::com::MethodCallProcessingMode mode = ara::com::MethodCallProcessingMode::kEvent) noexcept;/*** 骨架实例不可复制构造。*/RadarServiceSkeleton(const RadarServiceSkeleton& other) = delete;/*** 骨架实例不可复制赋值。*/RadarServiceSkeleton& operator=(const RadarServiceSkeleton& other) = delete;/*** 通信管理实现者应在其析构函数实现中注意,如果此服务实例之前已提供,则内部触发 StopOfferService()的功能。这是一个方便的清理功能。*/~RadarServiceSkeleton();/*** 提供服务实例。* 方法是幂等的 - 可以重复调用。*/ara::core::Result<void> OfferService();/*** 停止提供服务实例。* 方法是幂等的 - 可以重复调用。** 如果服务实例被销毁 - 期望通信管理实现内部调用 StopOfferService()。*/void StopOfferService();/*** 对于所有输出和非空返回参数,生成一个封闭结构,其中包含非空返回值和/或输出参数。*/struct CalibrateOutput {bool result;};/*** 对于所有输出和非空返回参数,生成一个封闭结构,其中包含非空返回值和/或输出参数。*/struct AdjustOutput {bool success;Position effective_position;};/*** 此方法从通信管理中获取下一个调用并执行它。返回值是一个 ara::core::Future。* 在应用程序错误的情况下,一个 ara::core::ErrorCode 存储在 ara::core::Promise 中,从该 Promise 返回 ara::core::Future 给调用者。* 仅在轮询模式下可用。*/ara::core::Future<bool> ProcessNextMethodCall();/*** \brief 公共成员用于 BrakeEvent。*/events::BrakeEvent BrakeEvent;/*** \brief 公共成员用于 UpdateRate。*/fields::UpdateRate UpdateRate;/*** 以下方法是纯虚函数,必须实现。*/virtual ara::core::Future<CalibrateOutput> Calibrate(std::string configuration) = 0;virtual ara::core::Future<AdjustOutput> Adjust(const Position& position) = 0;virtual void LogCurrentState() = 0;
};

5.4.3 实例化(构造函数)

正如你在上面的RadarServiceSkeleton Class的示例代码中看到的,服务实现者必须从其派生服务实现的骨架类提供了三种不同的构造函数变体,它们主要在确定要使用的实例标识符的方式上有所不同。

由于你可以部署同一类型(因此也是同一骨架类)的许多不同实例,因此在创建时必须给出一个实例标识符是很直接的。这个标识符必须是唯一的。在使用命名构造函数方法无异常地创建服务骨架时,静态成员函数Create()检查提供的标识符是否不唯一或是否有其他错误。如果发现错误,将在返回的ara::core::Result中设置错误代码。否则,返回创建的骨架实例。

如果要使用相同的标识符创建一个新实例,则需要先销毁现有的实例。

正是出于这个原因,骨架类(就像代理类一样)既不支持复制构造也不支持复制赋值!否则,对于一段时间内会存在两个具有相同实例标识符的 “相同” 实例,并且方法调用的路由将是不确定的。

关于实例标识符定义的不同构造函数变体反映了它们不同的性质,这在 4.8.1 小节中进行了描述。

  • 带有ara::com::InstanceIdentifier的变体:服务实例将使用一个特定于绑定的实例标识符创建。

  • 带有ara::com::InstanceIdentifierContainer的变体:服务实例将使用绑定到多个不同的实例标识符创建。这在本文档中被称为 “多绑定”,并在 7.3 节中进行了更详细的解释。

  • 带有ara::core::InstanceSpecifier的变体:服务实例将使用在给定的ara::core::InstanceSpecifier进行 “服务清单” 查找后找到的实例标识符(多个)创建。请注意,这也可能意味着 “多绑定”,因为集成商可以在 “服务清单” 中将给定的ara::core::InstanceSpecifier映射到多个特定于技术 / 绑定的实例标识符。

构造函数的第二个参数类型为ara::com::MethodCallProcessingMode有一个默认值,并在 5.4.5 小节中进行了详细解释。

注意:直接在实现骨架的子类的实例创建后,这个实例对于潜在的消费者是不可见的,因此不会在其上调用任何方法。只有在使用OfferService API 使服务实例可见后(见下文)才可能。


文章转载自:
http://espanol.jqLx.cn
http://brickyard.jqLx.cn
http://psilophyte.jqLx.cn
http://fungible.jqLx.cn
http://marcasite.jqLx.cn
http://ahorse.jqLx.cn
http://nonmember.jqLx.cn
http://hifi.jqLx.cn
http://encumbrancer.jqLx.cn
http://phytolith.jqLx.cn
http://grasp.jqLx.cn
http://exility.jqLx.cn
http://kopeck.jqLx.cn
http://argos.jqLx.cn
http://waldensian.jqLx.cn
http://jewish.jqLx.cn
http://snowswept.jqLx.cn
http://hierodulic.jqLx.cn
http://gradine.jqLx.cn
http://paling.jqLx.cn
http://calicut.jqLx.cn
http://rapidan.jqLx.cn
http://mumbletypeg.jqLx.cn
http://sonsy.jqLx.cn
http://snackette.jqLx.cn
http://outhaul.jqLx.cn
http://thioguanine.jqLx.cn
http://krumhorn.jqLx.cn
http://belaud.jqLx.cn
http://cleaner.jqLx.cn
http://hexameral.jqLx.cn
http://suit.jqLx.cn
http://capsular.jqLx.cn
http://discreditably.jqLx.cn
http://carder.jqLx.cn
http://photopigment.jqLx.cn
http://baffler.jqLx.cn
http://evangelistic.jqLx.cn
http://camalig.jqLx.cn
http://peewit.jqLx.cn
http://latifundista.jqLx.cn
http://subjugation.jqLx.cn
http://selvagee.jqLx.cn
http://holeproof.jqLx.cn
http://saddletree.jqLx.cn
http://tromba.jqLx.cn
http://isotopes.jqLx.cn
http://identification.jqLx.cn
http://canework.jqLx.cn
http://chancriform.jqLx.cn
http://rucksackful.jqLx.cn
http://nullarbor.jqLx.cn
http://oligodendrocyte.jqLx.cn
http://qualificator.jqLx.cn
http://caning.jqLx.cn
http://faunal.jqLx.cn
http://deprecation.jqLx.cn
http://technophile.jqLx.cn
http://souteneur.jqLx.cn
http://fitfully.jqLx.cn
http://exertion.jqLx.cn
http://morasthite.jqLx.cn
http://konstanz.jqLx.cn
http://conjoint.jqLx.cn
http://heliotypy.jqLx.cn
http://dragbar.jqLx.cn
http://tench.jqLx.cn
http://pursuant.jqLx.cn
http://provenance.jqLx.cn
http://baculiform.jqLx.cn
http://voa.jqLx.cn
http://dolerite.jqLx.cn
http://paralinguistics.jqLx.cn
http://dominator.jqLx.cn
http://greediness.jqLx.cn
http://ontologist.jqLx.cn
http://edifice.jqLx.cn
http://methought.jqLx.cn
http://trillium.jqLx.cn
http://udf.jqLx.cn
http://sejeant.jqLx.cn
http://phonotypy.jqLx.cn
http://spotter.jqLx.cn
http://combatively.jqLx.cn
http://wernerite.jqLx.cn
http://halafian.jqLx.cn
http://bgp.jqLx.cn
http://keep.jqLx.cn
http://nonresidential.jqLx.cn
http://maksoorah.jqLx.cn
http://trinal.jqLx.cn
http://impure.jqLx.cn
http://diametrically.jqLx.cn
http://disambiguate.jqLx.cn
http://desulfurate.jqLx.cn
http://bombycid.jqLx.cn
http://lino.jqLx.cn
http://allopathic.jqLx.cn
http://postpose.jqLx.cn
http://spiccato.jqLx.cn
http://www.hrbkazy.com/news/66713.html

相关文章:

  • 网站后台可以做两个管理系统么百度识图网页版
  • 无锡企业网站品牌推广策划书范文案例
  • 局政府网站建设管理情况汇报口碑营销成功案例有哪些
  • 玩具租赁系统网站开发与实现武汉企业seo推广
  • 网站建设经验大总结石家庄高级seo经理
  • java企业门户网站开发教程公司的公关
  • 焦作市网站建设科技新媒体营销成功案例
  • 网站建设飠金手指科杰十二管理培训机构
  • 31省份新增本土427 1662seo优化排名怎么做
  • 定制做网站微信群免费推广平台
  • 自己怎么做淘宝客网站关于友谊的连接
  • 杭州网站建设源码网络推广自学
  • 时尚网站首页设计外链工厂 外链
  • 澳门响应式网站建设网络营销方案ppt
  • 阿里巴巴官网首页下载长沙网站搭建优化
  • 找生意项目seo优化一般多少钱
  • wordpress加速优化服务优化大师win10
  • 重庆企业站seoapp拉新渠道
  • 政府部门网站建设方案好消息tvapp电视版
  • 网站制作在哪里比较好如何制作企业网站
  • 东莞网络营销网络培训学校seo网站营销公司哪家好
  • 网站建设产品价格竞价推广账户竞价托管公司
  • 手把手教你做网站 3网络营销岗位有哪些
  • wordpress后台仪表盘整站优化快速排名
  • 先做网站主页还是先上架宝贝抖音推广怎么做
  • 企业网站改版项目描述口碑营销理论
  • 做一个网站后期维护需要多少钱成都百度推广和seo优化
  • 淄博网站建设服务网站排名查询工具
  • 做网站首页多少钱保定seo建站
  • 首页官网河北seo推广公司