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

乡村规划建设网站做蔬菜的网站有哪些

乡村规划建设网站,做蔬菜的网站有哪些,电商设计属于什么设计,深圳出台科技支持政策介绍 DeviceManager组件在OpenHarmony上提供账号无关的分布式设备的认证组网能力,并为开发者提供了一套用于分布式设备间监听、发现和认证的接口。 其组成及依赖如下所示: 总结 设备管理模块其实就是软总线的包皮服务。目前权限都是控制系统uid,但是根据官方介绍,后续可…介绍 DeviceManager组件在OpenHarmony上提供账号无关的分布式设备的认证组网能力,并为开发者提供了一套用于分布式设备间监听、发现和认证的接口。 其组成及依赖如下所示: 总结 设备管理模块其实就是软总线的包皮服务。目前权限都是控制系统uid,但是根据官方介绍,后续可能开放出去。所以大致的思路就是,设备管理模块代替软总线提供设备相关的能力,软总线只开放给系统服务使用。然后设备管理模块目前主要实现了就是自己的认证逻辑,这部分主要就是使用deviceauth模块,来进行图形化的认证能力。 目录 devicemanager foundation/distributedhardware/devicemanager ├── common #公共能力头文件存放目录 │ └── include │ └── ipc │ └── model #ipc功能模块头文件存放目录 ├── display #DM显示hap代码 │ └── entry │ └── src │ └── main │ ├── js #DM PIN码显示FA相关JS代码 │ └── resources #DM PIN码显示FA相关资源配置文件目录 ├── figures ├── interfaces │ ├── inner_kits #内部接口及实现存放目录 │ │ └── native_cpp #内部native接口及实现存放目录 │ │ ├── include │ │ │ ├── ipc #ipc头文件存放目录 │ │ │ │ ├── lite #small │ │ │ │ └── standard #standard │ │ │ └── notify #ipc回调通知头文件目录 │ │ └── src │ │ ├── ipc #ipc功能代码 │ │ │ ├── lite #small │ │ │ └── standard #standard │ │ └── notify ipc回调通知功能代码 │ └── kits #外接口及实现存放目录 │ └── js #外部JS接口及实现存放目录 │ ├── include #外部JS接口及实现欧文件存放目录 │ └── src #外部JS接口及实现代码 ├── sa_profile ├── services │ └── devicemanagerservice #devicemanagerservice服务实现核心代码 │ ├── include │ │ ├── ability #与PIN码显示FA拉起管理相关头文件 │ │ ├── auth #devie_auth交互相关头文件 │ │ ├── ipc #进程间通信相关头文件 │ │ │ ├── lite #small │ │ │ └── standard #standard │ │ ├── message #消息数据解析相关头文件 │ │ ├── requestauth #设备认证功能相关头文件 │ │ ├── softbus #软总线相关头文件 │ │ └── timer #定时器处理相关头文件 │ └── src │ ├── ability #与PIN码显示FA拉起管理相关功能代码 │ │ ├── lite #small │ │ └── standard #standard │ ├── auth #devie_auth交互相关核心代码 │ ├── ipc #进程间通信相功能代码 │ │ ├── lite #small │ │ └── standard #standard │ ├── message #消息数据解析相功能代码 │ ├── requestauth #设备认证功能代码 │ ├── softbus #通道建立功能核心代码 │ └── timer #timer处理代码 └── utils #公共能力头文件存放目├── include│ ├── cipher #加解密功能相关头文件│ ├── ipc #ipc公共头文件存放目录│ │ ├── lite #small│ │ └── standard #standard│ └── log #log相关头文件存放目录└── src├── cipher #加解密功能代码├── ipc #ipc公共功能代码│ ├── lite #small│ └── standard #standard└── log #log相关功能代码 接口说明 当前版本设备管理服务不具备权限管理的能力,接口中的system api仅供系统调用,后续版本会进行严格的权限管控。 接口参见interface_sdk-js仓库的 ohos.distributedHardware.deviceManager.d.ts 公共接口:使用DeviceManager相关接口之前,需要通过createDeviceManager接口创建DeviceManager实例;不使用DeviceManager接口的时候需要释放对应的DeviceManager实例。原型 描述 createDeviceManager(bundleName: string, callback: AsyncCallback): void; 以异步方法获取DeviceManager实例 release(): void; 释放DeviceManager实例 系统能力接口:提供可信设备列表获取、可信设备状态监听、周边设备发现、设备认证等相关接口,该部分作为系统能力接口,仅供系统应用调用。开始设备发现、停止发现设备接口要配对使用,使用同一个subscribeId。原型 描述 getTrustedDeviceListSync(): Array; 获取信任设备列表 on(type: 'deviceStateChange', callback: Callback{ action: DeviceStateChangeAction, device: DeviceInfo }): void; 设备状态变更回调 off(type: 'deviceStateChange', callback?: Callback{ action: DeviceStateChangeAction, device: DeviceInfo }): void; 取消设备状态变更回调 on(type: 'serviceDie', callback: () = void): void; 服务错误回调 off(type: 'serviceDie', callback?: () = void): void; 取消服务错误回调 startDeviceDiscovery(subscribeInfo: SubscribeInfo): void; 开始设备发现 stopDeviceDiscovery(subscribeId: number): void; 停止发现设备 authenticateDevice(deviceInfo: DeviceInfo, authparam: AuthParam, callback: AsyncCallback{deviceId: string, pinTone ?: number}): void; 设备认证接口 verifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback{deviceId: string, level: number}): void; 设备认证信息校验 on(type: 'deviceFound', callback: Callback{ subscribeId: number, device: DeviceInfo }): void; 发现设备列表回调 off(type: 'deviceFound', callback?: Callback{ subscribeId: number, device: DeviceInfo }): void; 取消发现设备列表回调 on(type: 'discoverFail', callback: Callback{ subscribeId: number, reason: number }): void; 发现设备失败回调 off(type: 'discoverFail', callback?: Callback{ subscribeId: number, reason: number }): void; 取消发现设备失败回调 deviceauth /base/security/deviceauth ├── frameworks # 设备互信认证IPC代码 ├── interfaces # 对外接口目录 ├── test # 设备互信认证的接口测试用例 ├── common_lib # C语言公共基础库 ├── deps_adapter # 依赖组件适配器代码 │ ├── key_management_adapter # 秘钥及算法适配层 │ └── os_adapter # 系统能力适配层 └── services # 设备互信认证服务层代码├── frameworks # 设备互信认证框架层代码├── data_manager # 设备互信群组信息管理模块├── group_auth # 设备群组认证服务├── group_manager # 设备群组管理服务├── authenticators # 认证执行模块(包括帐号无关点对点认证器)└── protocol # 认证协议库 接口说明 设备互信认证组件中,设备群组管理服务负责将不同业务建立的设备间可信关系抽象成一个个可信群组,对外提供统一的接口,包含群组创建、删除、查询等功能;设备群组认证服务基于已经建立过可信关系的设备群组,提供设备可信认证与端到端会话密钥协商功能。 表 1 设备群组管理服务提供的API接口(DeviceGroupManager)功能介绍 接口名 描述 const DeviceGroupManager *GetGmInstance() 获取设备群组管理的实例。 int32_t RegCallback(const char *appId, const DeviceAuthCallback *callback) 注册业务的监听回调。 int32_t CreateGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *createParams) 创建一个可信设备群组。 int32_t DeleteGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *disbandParams) 删除一个可信设备群组。 int32_t AddMemberToGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *addParams) 添加成员到指定群组ID的可信设备群组。 int32_t DeleteMemberFromGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *deleteParams); 从指定可信设备群组里删除可信成员。 int32_t ProcessData(int64_t requestId, const uint8_t *data, uint32_t dataLen) 处理绑定或者解绑的数据。 int32_t GetGroupInfo(int32_t osAccountId, const char *appId, const char *queryParams, char **returnGroupVec, uint32_t *groupNum) 查询可信设备群组信息。 表 2 设备群组认证模块提供的API接口(GroupAuthManager)功能介绍 接口名 描述 const GroupAuthManager *GetGaInstance() 获取设备群组认证的实例。 int32_t AuthDevice(int32_t osAccountId, int64_t authReqId, const char *authParams, const DeviceAuthCallback *gaCallback) 认证可信设备。 int32_t ProcessData(int64_t authReqId, const uint8_t *data, uint32_t dataLen, const DeviceAuthCallback *gaCallback) 处理认证的数据。 数据结构 设备信息 这个设备信息是从软总线中NodeBasicInfo获取到的 软总线结构 typedef struct {char networkId[NETWORK_ID_BUF_LEN]; /** Device ID */char deviceName[DEVICE_NAME_BUF_LEN]; /** Device name */uint16_t deviceTypeId; } NodeBasicInfo; /*** @brief Defines the device information returned by bIDiscoveryCallback/b.**/ typedef struct {/** Device ID. Its maximum length is specified by {@link DISC_MAX_DEVICE_ID_LEN}. */char devId[DISC_MAX_DEVICE_ID_LEN];/** Account hash code. Its maximum length is specified by {@link MAX_ACCOUNT_HASH_LEN}. */char accountHash[MAX_ACCOUNT_HASH_LEN];/** Device type. For details, see {@link DeviceType}. */DeviceType devType;/** Device name. Its maximum length is specified by {@link DISC_MAX_DEVICE_NAME_LEN}. */char devName[DISC_MAX_DEVICE_NAME_LEN];/** Number of available connections */unsigned int addrNum;/** Connection information. For details, see {@link ConnectAddr}. *//** 可能是蓝牙地址,也可能是ip地址,或者br地址*/ConnectionAddr addr[CONNECTION_ADDR_MAX];/** Number of capabilities */unsigned int capabilityBitmapNum;/** Device capability bitmap.* The maximum number of capabilities in the bitmap is specified by {@link DISC_MAX_CAPABILITY_NUM}.*/unsigned int capabilityBitmap[DISC_MAX_CAPABILITY_NUM];/** Custom data. Its length is specified by {@link DISC_MAX_CUST_DATA_LEN}. */char custData[DISC_MAX_CUST_DATA_LEN]; } DeviceInfo; 设备管理内部结构 typedef struct DmDeviceInfo {char deviceId[DM_MAX_DEVICE_ID_LEN];char deviceName[DM_MAX_DEVICE_NAME_LEN];uint16_t deviceTypeId;char networkId[DM_MAX_DEVICE_ID_LEN]; } DmDeviceInfo; 部分逻辑 启动过程 设备管理启动过程中,首先注册了设备上下线的一些回调到软总线中,用来监听设备节点上下线的状态变更。 然后加载自己的插件:目前提供的插件有 adaptor插件 插件名 文件名 crypto_adapter libdevicemanager_crypto_adapter.z.so device_profile libdevicemanagerext_profile.z.so device_decision libdevicemanagerext_decision.z.so auth插件 插件名 文件名 pin_auth libdevicemanagerext_pin_auth.z.so QRcode_auth libdevicemanager_qrcodeauth.z.so nfc_auth libdevicemanager_nfcauth.z.so 设备发现 认证逻辑 设备认证,目前分为账号相关和账号不相关。两套使用了不同的认证逻辑。 入口 设备管理对外提供了设备认证的入口 int32_t DeviceManagerService::AuthenticateDevice(const std::string pkgName, int32_t authType,const std::string deviceId, const std::string extra) 握手过程 数据结构 DmAuthRequestContext /*** @brief request context* */ typedef struct DmAuthRequestContext {//认证类型int32_t authType;//本地设备idstd::string localDeviceId;std::string deviceId;std::string deviceName;std::string deviceTypeId;int32_t sessionId;int32_t groupVisibility;bool cryptoSupport;std::string cryptoName;std::string cryptoVer;std::string hostPkgName;std::string targetPkgName;std::string appName;//描述std::string appDesc;//图标std::string appIcon;//app缩略图std::string appThumbnail;//tokenstd::string token;int32_t reason;std::vectorstd::string syncGroupList; } DmAuthRequestContext; RequestMessage {"ITF_VER" : "1.1","MSG_TYPE": 100,"SLICE": } 连接状态 typedef enum AuthState {//初始化阶段,完成后会转到negotiateAUTH_REQUEST_INIT = 1,AUTH_REQUEST_NEGOTIATE,AUTH_REQUEST_NEGOTIATE_DONE,AUTH_REQUEST_REPLY,AUTH_REQUEST_INPUT,AUTH_REQUEST_JOIN,AUTH_REQUEST_NETWORK,AUTH_REQUEST_FINISH,AUTH_RESPONSE_INIT = 20,AUTH_RESPONSE_NEGOTIATE,AUTH_RESPONSE_CONFIRM,AUTH_RESPONSE_GROUP,AUTH_RESPONSE_SHOW,AUTH_RESPONSE_FINISH, } AuthState; client的状态转换 首先的状态是init, 从软总线中opensession之后,如果获取sessionid失败的化状态会转为AUTH_REQUEST_NEGOTIATE,并结束掉整个认证过程。 如果opensession触发成功,软总线会调用对应的OnSessionOpened回调函数,来进行进一步的处理 OnSessionOpened这里主要分了两部分,一部分是服务端的处理,另一部分是client的处理,服务端就是需要认证的远端设备 //session建立后的回调 void DmAuthManager::OnSessionOpened(int32_t sessionId, int32_t sessionSide, int32_t result) } else {LOGI("DmAuthManager::OnSessionOp
http://www.hkea.cn/news/14314470/

相关文章:

  • 马鞍山集团网站建设微商城网站建设教程
  • 杭州哪家公司做网站比较好潇朋友免费班级网站建设系统
  • 坪山网站建设免费直链平台
  • 提供东莞网站制作公司广告公司做的网站字体侵权
  • 西安做网站建设的营销型网站建设的价格
  • 网站seo收录工具wordpress企业站主题下载地址
  • 徐州cms建站模板常州网站建设市场
  • 郑州整站网站推广工具网页制作格式
  • 迪庆州建设局网站如何免费做推广
  • 400电话网络推广商城网站lnmp.org wordpress
  • 成都哪家做网站三合一企业网站模板
  • 网站开发 微信收款网站开发实训新的体会
  • wordpress 主题 国外aso优化师主要是干嘛的
  • 织梦仿站怎么用自己笔记本建设网站
  • 网址大全名称襄阳seo招聘
  • 高端网站建设加盟网站建设合同 模板
  • 高端网站案例欣赏wordpress评论通知代码
  • 织梦 xml网站地图safari浏览器下载
  • 创建小型网站的步骤汉中市建设工程审批
  • 免费快速建站工具线上课程怎么做
  • 国外婚纱网站建设现状网站编程多少钱
  • 深圳 网站开发wordpress分享积分插件
  • 网站建设合同细节高端电子商务网站建设
  • 网站标签怎么做跳转页面那个网站做图片好看
  • 大同网站建设制作广州建站外贸
  • 煤炭建设行业协会网站wordpress播放m3u8
  • 东莞营销专业网站建设电影网站开发视频教程
  • 闵行区教育局站长之家seo工具
  • 网站名称要注册吗站中站网站案例
  • 电子贺卡在线制作网站wordpress 网站登录