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

望牛墩镇仿做网站济南做网站的机构有哪些

望牛墩镇仿做网站,济南做网站的机构有哪些,做网站的算什么行业,简述网站建设的主要内容1. Proxy Class 概述 生成方式:Proxy Class 是从 AutoSar 元模型的服务接口描述中生成的,ara::com 标准化了其接口,AP 产品供应商的工具链会生成实现该接口的代理实现类。 命名空间:ara::com 期望代理相关的工件在命名空间 “pro…

1. Proxy Class 概述

  • 生成方式:Proxy Class 是从 AutoSar 元模型的服务接口描述中生成的,ara::com 标准化了其接口,AP 产品供应商的工具链会生成实现该接口的代理实现类。

  • 命名空间:ara::com 期望代理相关的工件在命名空间 “proxy” 中,通常包含在从服务定义及其上下文推导出的命名空间层次结构中。

2. Proxy Class API

  • 包含了FindServiceStartFindServiceStopFindServiceSubscribeUnsubscribeGetSubscriptionStateSetSubscriptionStateChangeHandlerUnsetSubscriptionStateChangeHandlerGetNewSamplesGetResultGetFreeSampleCountSetReceiveHandlerUnsetReceiveHandlerResolveInstanceIDsField::GetField::Set等方法。

3. RadarService Proxy Class Example

  • 类结构:

    • RadarServiceProxy类中有内部类HandleTypeHandleType中定义了判断两个服务句柄是否相等的运算符==以及获取实例标识符的方法GetInstanceId

    • RadarServiceProxy类包含多种方法,如StartFindService(有基于InstanceIdentifierInstanceSpecifier两种重载形式)、StopFindServiceFindService(同样有两种重载形式),还有构造函数(接受HandleType类型的句柄参数),以及删除了拷贝构造函数和拷贝赋值运算符。

    • 类中还包含了与服务相关的成员,如BrakeEvent(事件)、UpdateRate(字段)、CalibrateAdjustLogCurrentState(方法)。

4. 构造函数和句柄概念

  • 句柄的作用和来源:

    • 调用构造函数后可得到与服务通信的 Proxy 实例,句柄必须包含通信管理绑定实现与服务联系所需的寻址信息,而这个寻址信息取决于绑定实现和技术传输层。

    • 对于应用程序开发者来说,通过 ara::com 提供的查找服务实例的 API(FindService)来获得包含寻址地址的句柄,这样能保证创建的代理是由现有的服务实例支持的。

  • 设计原因:

    • 应用程序开发者在某些情况下可能希望使用连接到同一个服务实例的 Proxy 的不同实例,通过句柄的间接方式可以让开发者决定是使用相同的 Proxy 实例(共享状态)还是新的 Proxy 实例。

    • 另外,Proxy 实例不能进行拷贝构造和拷贝赋值,因为 Proxy 实例拥有如 Event/Field 缓存、注册的处理程序和复杂状态等信息,拷贝可能导致资源泄露风险,所以强制通过HandleType创建 Proxy 实例是一种深思熟虑的设计策略。

5.Proxy Class API 概念的简单代码示例

请注意,这是一个简化示例,实际使用中可能需要根据具体的 ara::com 库和环境进行调整。

#include <iostream>
#include <vector>// 假设这是 ara::com 和 ara::core 相关的命名空间,实际需要根据真实环境包含头文件
namespace ara {
namespace com {
class InstanceIdentifier;
class FindServiceHandle;
template <typename T>
class ServiceHandleContainer;
class FindServiceHandler;
}
namespace core {
class InstanceSpecifier;
class Result;
}
}// 模拟事件处理相关的函数签名
using EventReceiveHandler = std::function<void()>;
using SubscriptionStateChangeHandler = std::function<void()>;// 模拟 Field 相关的类
class Field {
public:// 模拟获取 Field 值的方法int Get() {return value;}// 模拟设置 Field 值的方法void Set(int newValue) {value = newValue;}
private:int value = 0;
};// 模拟的 Proxy Class
class ProxyClass {
public:// 模拟查找服务(基于 InstanceIdentifier)static ara::core::Result<ara::com::FindServiceHandle> StartFindService(ara::com::FindServiceHandler<ProxyClass::HandleType> handler,ara::com::InstanceIdentifier instanceId) {std::cout << "Starting find service with InstanceIdentifier" << std::endl;// 实际实现中需要按照相应逻辑处理return ara::core::Result<ara::com::FindServiceHandle>();}// 模拟查找服务(基于 InstanceSpecifier)static ara::core::Result<ara::com::ServiceHandleContainer<ProxyClass::HandleType>> FindService(ara::core::InstanceSpecifier instanceSpec) {std::cout << "Finding service with InstanceSpecifier" << std::endl;// 实际实现中需要按照相应逻辑处理return ara::core::Result<ara::com::ServiceHandleContainer<ProxyClass::HandleType>>();}// 模拟停止查找服务static void StopFindService(ara::com::FindServiceHandle handle) {std::cout << "Stopping find service" << std::endl;}// 模拟订阅void Subscribe() {std::cout << "Subscribing" << std::endl;}// 模拟取消订阅void Unsubscribe() {std::cout << "Unsubscribing" << std::endl;}// 模拟获取订阅状态int GetSubscriptionState() const {return subscriptionState;}// 模拟设置订阅状态更改处理程序void SetSubscriptionStateChangeHandler(SubscriptionStateChangeHandler handler) {subscriptionChangeHandler = handler;}// 模拟移除订阅状态更改处理程序void UnsetSubscriptionStateChangeHandler() {subscriptionChangeHandler = nullptr;}// 模拟从缓冲区获取新样本template <typename F>void GetNewSamples(F&& f) {std::cout << "Getting new samples" << std::endl;// 可以在实际实现中调用传入的函数 f 处理样本}// 模拟获取结果int GetResult() {return result;}// 模拟获取可用样本计数int GetFreeSampleCount() const {return freeSampleCount;}// 模拟设置接收处理程序void SetReceiveHandler(EventReceiveHandler handler) {receiveHandler = handler;}// 模拟移除接收处理程序void UnsetReceiveHandler() {receiveHandler = nullptr;}// 模拟解析实例 IDvoid ResolveInstanceIDs() {std::cout << "Resolving instance IDs" << std::endl;}// 模拟 Field 获取Field& Field::Get() {return field;}// 模拟 Field 设置void Field::Set() {std::cout << "Setting field" << std::endl;}private:// 模拟订阅状态int subscriptionState = 0;// 模拟结果int result = 0;// 模拟可用样本计数int freeSampleCount = 0;// 模拟接收处理程序EventReceiveHandler receiveHandler;// 模拟订阅状态更改处理程序SubscriptionStateChangeHandler subscriptionChangeHandler;// 模拟 FieldField field;// 模拟句柄类型class HandleType {};
};int main() {// 使用示例ProxyClass proxy;// 查找服务auto serviceResult = ProxyClass::FindService(ara::core::InstanceSpecifier());// 启动查找服务ProxyClass::StartFindService([](auto, auto) {}, ara::com::InstanceIdentifier());// 停止查找服务ProxyClass::StopFindService(ara::com::FindServiceHandle());// 订阅proxy.Subscribe();// 设置订阅状态更改处理程序proxy.SetSubscriptionStateChangeHandler([]() {std::cout << "Subscription state changed" << std::endl;});// 获取新样本proxy.GetNewSamples([](int sample) {std::cout << "Processing sample: " << sample << std::endl;});// 获取结果int result = proxy.GetResult();// 获取可用样本计数int freeSampleCount = proxy.GetFreeSampleCount();// 设置接收处理程序proxy.SetReceiveHandler([]() {std::cout << "Received event" << std::endl;});// 解析实例 IDproxy.ResolveInstanceIDs();// 获取 Field 并设置值auto& field = proxy.Field::Get();field.Set(10);return 0;
}

在上述代码中:

  • ProxyClass类模拟了文档中提到的 Proxy Class,包含了多个 API 方法的模拟实现,如FindServiceStartFindServiceStopFindService等。
  • Field类模拟了与 Field 相关的操作。
  • main函数中展示了这些 API 方法的基本使用方式,包括查找服务、启动和停止查找服务、订阅、设置和移除处理程序、获取样本和结果等操作。
http://www.yayakq.cn/news/91571/

相关文章:

  • 快站模板建设银行纪念币网站
  • seo网站建设山东泰安天气预报一周
  • 定制开发网站的公司企业管理系统有
  • 同ip网站做301小程序源码网免费
  • 做自己的网站需要什么wordpress设置用户权限
  • 做网站都不赚钱了吗扬州做网站的公司
  • 做外贸需要做国外的网站吗咸阳网站开发联系方式
  • 网站开发吃香吗wordpress重新打开多站点
  • 个性化的个人网站做销售用什么网站好
  • 工业设计考研seochinazcom
  • 北京建设部官方网站证书查询互联网营销培训课程
  • 哪个建设网站好百度搜索网页
  • 免费h5源码资源源码站小程序登陆官网
  • 网站备案网址如何进入网页编辑
  • wordpress怎么修改网站标题wordpress红包
  • 网站里图片做超链接一家专门做爆品印刷的网站
  • 做网站的经历网络代码
  • 帮人做兼职的网站seo推广薪资
  • 电子商务做网站设计网络科技工作室
  • 网站seo优缺点百度下载并安装到桌面
  • 西安社动网站建设seo外链群发网站
  • 网站的推广方案怎么写建设银行网页版登录入口
  • 网站群建设方案冯宗耀seo教程
  • 怎么做好邯郸网站建设中国住建部和城乡建设部
  • 电子商务网站建设方案的总结吉林市网站制作
  • 重庆网站推广平台给公司做网站需要什么
  • 淘宝做导航网站有哪些哪个网站做外贸年费比较便宜
  • 手机网站百度关键词排名内网网站如何建设
  • 朔州如何做百度的网站百度推广营销页
  • 社交网站 设计南京最专业app开发公司