專家
解析器
定義於 fuchsia.component.resolution/resolver.fidl
解析元件網址的介面。
這個介面是由元件實作,可支援以特定網址配置載入元件。舉例來說,Fuchsia 套件元件解析器會公開使用這個介面的服務,以便使用「fuchsia-pkg://」配置來解析元件網址。
如要使用解析器解析領域中的網址,請在領域的資訊清單中註冊該解析器。
注意:元件管理員是這個介面的唯一直接用戶端。
解決
解析使用指定的絕對網址元件。
component_url 是要解析的元件未逸出網址。
如果成功,會傳回已解析元件的相關資訊。
失敗時,會傳回 ResolverError 錯誤。
要求
| 名稱 | 類型 | 
|---|---|
| component_url | string[2083] | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | Resolver_Resolve_Result | 
ResolveWithContext
解析使用絕對網址或相對網址的元件。相對地,元件會根據提供的 context 解析。
component_url 是要解析的元件未逸出網址,其格式可以是:
- 完整絕對元件網址;或
- 子套件元件參照,前面加上其內含子套件的 URI 相對路徑 (例如 child_package#meta/some_component.cm)
context 是先前解析的 Component 的 resolution_context,提供還原相對網址的背景資訊。
要求
| 名稱 | 類型 | 
|---|---|
| component_url | string[2083] | 
| context | Context | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | Resolver_ResolveWithContext_Result | 
結構
內容
定義於 fuchsia.component.resolution/component.fidl
元件解析結構定義,用於解析相對於其他元件的元件網址。背景資訊會儲存在位元組陣列中,並保留目標 Resolver 使用的值,藉此按照相對路徑 (例如子套件名稱) 找出並解析元件。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| bytes | vector<uint8>[8192] | 無預設 | 
Resolver_ResolveWithContext_Response 資源
定義於 fuchsia.component.resolution/resolver.fidl
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| component | Component | 無預設 | 
Resolver_Resolve_Response 資源
定義於 fuchsia.component.resolution/resolver.fidl
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| component | Component | 無預設 | 
表情符號
ResolverError strict
類型:uint32
定義於 fuchsia.component.resolution/resolver.fidl
ComponentResolver 傳回的可能錯誤狀況。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 僅限內部 | 1 | 發生未預期的錯誤。 | 
| IO | 2 | 發生一般 IO 錯誤。 | 
| 無效引數 | 3 | 元件網址格式錯誤。 | 
| 不支援 | 4 | 系統不支援網址中指定的存放區。 | 
| 未找到該變更項目 | 5 | 找不到元件資訊清單。 | 
| 套件未找到 | 6 | 找不到元件套件。 | 
| 沒有空格 | 7 | 裝置空間不足,無法儲存元件套件。 | 
| 無法使用資源 | 8 | 暫時無法使用這個元件。 | 
| 無效的變更 | 9 | 無法剖析元件資訊清單或包含無效的設定。 | 
| CONFIG_VALUES_NOT_FOUND | 10 | 元件指定了設定欄位,但系統找不到相關值。 | 
| ABI_REVISION_NOT_FOUND | 11 | 找不到 ABI 修訂版本檔案。 新增時間:12 | 
| 無效聲明 | 12 | 無法剖析 ABI 修訂版本值。 新增時間:12 | 
資料表
元件資源
定義於 fuchsia.component.resolution/component.fidl
元件是可執行軟體的單位。
這個物件會提供元件的宣告、套件內容存取權,以及相關中繼資料 (如已解析 fuchsia.component.resolution.Resolver)。
| 序數 | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | url | string[2083] | 元件的解析網址。這是元件解析器在完成重新導向並解析相對路徑後,取得的標準網址。 | 
| 2 | decl | fuchsia.mem/Data | 元件宣告的二進位表示法 ( | 
| 3 | package | Package | 包含元件的套件。依照慣例,元件的套件會在執行階段,對應至其命名空間中的「/pkg」。 如果元件未以套件表示,則會是空值。在這種情況下,執行元件有責任從  大多數執行器 (包括但不限於內建 ELF 執行元件) 需要套件的目錄連線具有 OPEN_RIGHT_EXECUTABLE 權限,才能執行已解析的元件。 | 
| 4 | config_values | fuchsia.mem/Data | 元件設定值的二進位表示法 ( | 
| 5 | resolution_context | Context | 用來解析相關元件  
 
 | 
| 6 | abi_revision | fuchsia.version/AbiRevision | 已解析元件的目標 ABI 修訂版本。 已新增:10 | 
套件 resource
定義於 fuchsia.component.resolution/package.fidl
套件是不可變更檔案的已簽署集合。
這個物件可讓您存取套件的內容和相關中繼資料。
| 序數 | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | url | string[2083] | 套件本身的網址。 | 
| 2 | directory | fuchsia.io/Directory | 套件的內容目錄。 | 
聯合國
Resolver_ResolveWithContext_Result 嚴格 資源
定義於 fuchsia.component.resolution/resolver.fidl
| 序數 | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Resolver_ResolveWithContext_Response | |
| 2 | err | ResolverError | 
Resolver_Resolve_Result 嚴格 資源
定義於 fuchsia.component.resolution/resolver.fidl
| 序數 | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Resolver_Resolve_Response | |
| 2 | err | ResolverError | 
場景
| 名稱 | 值 | 類型 | 說明 | 
|---|---|---|---|
| MAX_COMPONENT_URL_LENGTH | 2083 | uint32 | 元件網址長度上限。 | 
| MAX_RESOLUTION_CONTEXT_SIZE | 8192 | uint32 | 
 已新增:9 |