DEENESPTFRRUARHIKOZHNL

命名空间 <SI-Namespace>::proxy::fields

用户指南人工智能生成

封装用于对服务字段进行读取、写入和通知访问的类型安全 Proxy 类。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 4f76fea20eda 来源 未决问题(3)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

封装用于对服务字段进行读取、写入和通知访问的类型安全 Proxy 类。

命名空间 <SI-Namespace>::proxy::fields 在 Adaptive Platform 的模块 com 中为 ServiceInterface 中定义的每个数据字段封装生成的 Proxy 类 <Field>。客户端应用程序通过上层服务 Proxy 访问这些字段类,以查询、设置远程字段值或处理关于值更改的通知。对字段的调用大概会通过通信基础架构异步处理,以确保无阻塞交互。 问题 (未决)单个字段实例的生命周期推测与上层 Proxy 对象的生命周期紧密绑定,无法脱离后者独立管理。

上下文

C++ 命名空间 <SI-Namespace>::proxy::fields 在 AUTOSAR Adaptive Platform 的模块 com 中承担面向服务接口的清晰结构化功能。服务接口(ServiceInterfaces)除方法和事件外,通常还定义表示当前状态的数据字段。为了在客户端为服务使用者类型安全且语义明确地提供这些字段,代码生成器将特定的字段类归入此专用子命名空间中。针对在相应 ServiceInterface 中建模的每个字段,恰好生成一个 Proxy 字段类 <Field>。这种结构化封装防止了与上层 Proxy 命名空间内同名方法或事件发生名称冲突。Interpretation:生成的字段类 <Field> 通常提供用于 Get、Set 和通知功能的专用接口函数,以针对性地查询、修改值或接收已订阅的更改。 问题 Q-f088d0c5052459d3 (未决)字段类的直接交互伙伴一方面是服务使用者的应用程序逻辑,另一方面是底层通信中间件。

生命周期

<SI-Namespace>::proxy::fields 中对象的实例化和管理与服务 Proxy 的架构密不可分。应用程序开发人员通常不会在堆或栈上手动创建生成类 <Field> 的实例作为独立变量。相反,<Field> 的实例的生命周期推测可能完全绑定到将这些字段作为成员持有的上层服务 Proxy 的生命周期。 问题 Q-4da7e86f88f269b1 (未决)在查找到匹配的服务端点后成功构造 Proxy 实例时,字段对象被初始化并置于就绪状态。在活动阶段,字段对象管理内部通信资源以及状态更新的注册(若有)。如果 Proxy 实例被应用程序销毁或离开其作用域,关联的字段实例相应地也会按规范析构,从而释放关联的中间件资源。

使用路径

命名空间 <SI-Namespace>::proxy::fields 中类的典型使用流程分为固定顺序的交互步骤。首先,客户端应用程序通过 Adaptive Platform 的搜索机制确定所需服务的实例,并实例化相应的服务 Proxy。第二步,应用程序通过 Proxy 访问生成类 <Field> 的相应成员实例。根据接口模型中定义的字段属性,应用程序随后发起读取访问、写入访问或为值更改通知注册回调。对字段的调用大概会通过 ara::core::Future 或通信基础架构的回调机制异步处理,以避免阻塞调用线程。 问题 Q-33586a48d8777f7f (未决)在响应或通知到达后,调用方评估返回的结果并对远程字段的状态做出反应。

本指南基于 AUTOSAR Adaptive Platform 规范(Release R25-11,模块 com)自动生成。

类

Service proxy Field class, one for each Field defined in the ServiceInterface in the role field.

类图

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns <SI-Namespace>::proxy::fields n_SI_Namespace___proxy__fields___Field_ <Field>