diff options
Diffstat (limited to 'zh-cn/devices/architecture/hidl/versioning.html')
-rw-r--r-- | zh-cn/devices/architecture/hidl/versioning.html | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/zh-cn/devices/architecture/hidl/versioning.html b/zh-cn/devices/architecture/hidl/versioning.html index f43c2f0a..78b7c5c2 100644 --- a/zh-cn/devices/architecture/hidl/versioning.html +++ b/zh-cn/devices/architecture/hidl/versioning.html @@ -130,7 +130,7 @@ interface IQuux { <p><code>Bar</code> 的完全限定名称为 <code>android.hardware.example@1.0::IQuux.Foo.Bar</code>。</p> -<p>在上述两种情况下,只有在 <code>Foo</code> 的声明范围内才能使用 <code>Bar</code> 来引用 <code>Bar</code>。在软件包级或接口级,必须通过 <code>Bar</code>:<code>Foo</code><code>Foo. 来引用 Bar</code>,如上述方法 <code>doSomething</code> 的声明中所示。或者,您可以更详细地将该方法声明为:</p> +<p>在上述两种情况下,只有在 <code>Foo</code> 的声明范围内才能使用 <code>Bar</code> 来引用 <code>Bar</code>。在软件包级或接口级,必须通过 <code>Foo</code>:<code>Foo.<code>Bar</code> 来引用 Bar</code>,如上述方法 <code>doSomething</code> 的声明中所示。或者,您可以更详细地将该方法声明为:</p> <pre class="prettyprint"> // IQuux.hal @@ -210,8 +210,7 @@ struct ExtendedNfcData { </pre> <h3 id="rule3">规则 3</h3> -<p>如果规则 2 未能生成匹配项(UDT 未在当前软件包中定义),HIDL 编译器会扫描所有导入的软件包,查找是否有匹配项。 -以上面的示例来说,假设 <code>ExtendedNfcData</code> 是在 <code>1.1</code> 版本的软件包 <code>android.hardware.nfc</code> 中声明的,<code>1.1</code> 按预期导入 <code>1.0</code>(请参阅<a href="#package-ext">软件包级扩展</a>),且定义仅指定 UDT 名称:</p> +<p>如果规则 2 未能生成匹配项(UDT 未在当前软件包中定义),HIDL 编译器会扫描所有导入的软件包,查找是否有匹配项。以上面的示例来说,假设 <code>ExtendedNfcData</code> 是在 <code>1.1</code> 版本的软件包 <code>android.hardware.nfc</code> 中声明的,<code>1.1</code> 按预期导入 <code>1.0</code>(请参阅<a href="#package-ext">软件包级扩展</a>),且定义仅指定 UDT 名称:</p> <pre class="prettyprint"> struct ExtendedNfcData { @@ -329,7 +328,7 @@ interface IQuux { <td><p>以下各项均为 true:</p> <ol> -<li>“以前的 minor 版本有效”:<code>package@major.(minor-1)</code> 必须已定义,并且遵循相同的规则 A(从 <code>package@major.0</code> 到 <code>package@major.(major-2)</code> 均未定义)或规则 B(如果它是从 <code>@major.(major-2)</code> 升级而来); +<li>“以前的 minor 版本有效”:<code>package@major.(minor-1)</code> 必须已定义,并且遵循相同的规则 A(从 <code>package@major.0</code> 到 <code>package@major.(minor-2)</code> 均未定义)或规则 B(如果它是从 <code>@major.(minor-2)</code> 升级而来); <br /><br /> 和 <br /><br /> @@ -405,8 +404,7 @@ enum Color : @1.0::Brightness { HW_GREEN, RAINBOW }; <p>不过,有一种类型的关系经过严格定义,且必须强制执行,即软件包级向后兼容的继承。<em></em>在这种情况下,父级软件包是被继承的软件包,而子软件包是扩展父级的软件包。<em></em><em></em>软件包级向后兼容的继承规则如下:</p> <ol> -<li>父级软件包的所有接口都会被子软件包中的接口继承。</li> -<li>父级软件包中的所有数据类型均会包含在新软件包中,并且可由来自旧软件包中的方法(可能经过了重新实现)来处理。</li> +<li>父级软件包的所有顶级接口都会被子级软件包中的接口继承。</li> <li>新接口也可以添加到新软件包中(与其他软件包中其他接口的关系不受限制)。</li> <li>新数据类型也可以添加到新软件包中,以供升级的现有接口的新方法使用,或供新接口使用。</li> </ol> |