fuchsia.location.namedplace

与已命名地点相关的协议和类型。已命名的地点包括城市、国家/地区、区域等。这明确不包括与纬度和经度相关的协议和类型。

添加数量:7

协议

RegulatoryRegionConfigurator

fuchsia.location.namedplace/namedplace.fidl 中定义

RegulatoryRegionConfigurator 协议提供了向位置信息服务通知应该使用的输入的机制,这些输入用于确定监管区域,该规则应控制系统上无线装置的运行。

SetRegion

设置区域。

客户端应注意,其对此 API 的调用是否以明确定义的顺序到达。例如,将 Zircon 通道用作底层传输时,以下代码可能无法按预期运行。

// DANGER: The service may receive "BB" before "AA".
service1 = Open(RegulatoryRegionConfigurator);
service1.SetRegion("AA");
service1.Close();
service2 = Open(RegulatoryRegionConfigurator);
service2.SetRegion("BB");
service2.Close();

客户端可以通过在客户端的生命周期内保持对服务开放的单个通道来避免此问题。

// We use a single channel to ensure that calls arrive in a
// well-defined order.
service = Open(RegulatoryRegionConfigurator);
service.SetRegion("AA");
service.SetRegion("BB");
  • 请求 region 当前监管区域。

请求

名称类型
region RegionCode

RegulatoryRegionWatcher

fuchsia.location.namedplace/namedplace.fidl 中定义

RegulatoryRegionWatcher 协议为无线装置子系统提供了了解当前适用的监管区域并在该值发生变化时收到通知的机制。

GetRegionUpdate

在更改时返回新的 RegionCode。

注意:

  • 第一个调用会立即返回。
  • 我们保证客户端会观察每次 SetRegion() 调用的效果。
  • 但是,客户端可以通过始终在请求完成时发出新请求来实现最终一致性。
  • 客户端不应向此方法发出并发请求。
    • 目前,并发请求
      • 可能会产生相同的值或不同的值。
      • 可能不按顺序完成。
    • 将来,并发请求会导致频道通过 ZX_ERR_BAD_STATE 关闭。
  • 响应 new_region 当前监管区域。

请求

<空>

回复

名称类型
new_region RegionCode

获取更新

此调用已废弃。请改用 GetRegionUpdate。

在更改时返回新的 RegionCode。

注意:

  • 如果区域已知,第一次调用会立即返回。
  • 我们保证客户端会观察每次 SetRegion() 调用的效果。
  • 但是,客户端可以通过始终在请求完成时发出新请求来实现最终一致性。
  • 客户端不应向此方法发出并发请求。
    • 目前,并发请求
      • 可能会产生相同的值或不同的值。
      • 可能不按顺序完成。
    • 将来,并发请求会导致频道通过 ZX_ERR_BAD_STATE 关闭。
  • 响应 new_region 当前监管区域。

请求

<空>

回复

名称类型
new_region RegionCode

别名

名称说明
RegionCode string[2]

表示监管区域。这些值通常应从 ISO 3166-2 代码中选择。但是,一些无线装置可能支持 ISO 3166-2 代码集以外的扩展。