12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

处 理 对 象 引 用得 到 引 用 数仅 适 用 于 C++:每 个 对 象 引 用 都 有 一 个 引 用 数 , 您 可 以 用 它 来 确 定 引 用 被 复 制 了 多 少 次 。 当 您 首 次通 过 调 用 _bind() 得 到 一 个 对 象 引 用 时 , 引 用 数 设 定 为 1。 释 放 一 个 对 象 引 用 会 使引 用 数 递 减 1 。 一 旦 引 用 数 达 到 0, <strong>VisiBroker</strong> <strong>Edition</strong> 会 自 动 删 除 该 对 象 引 用 。以 下 代 码 示 例 示 范 的 是 用 于 检 索 引 用 数 的 _ref_count() 成 员 函 数 。注 : 当 远 端 客 户 复 制 或 删 除 一 个 对 象 引 用 时 , 服 务 器 的 对 象 引 用 数 不 受 影 响 。class Object {. . .CORBA::Long _ref_count() const;. . .};将 引 用 转 换 成 字 串<strong>VisiBroker</strong> <strong>Edition</strong> 为 <strong>VisiBroker</strong> ORB 类 提 供 成 员 函 数 ( 在 C++ 下 ) 或 方 法( 在 Java 下 ), 它 们 允 许 您 将 对 象 引 用 转 换 成 字 串 或 者 将 字 串 转 换 回 对 象 引 用 。CORBA 规 范 将 此 进 程 称 为 字 串 化 。表 10.1成 员 函 数 (C++) 或 方 法 (Java) 字 串 化 和 去 字 串 化方 法object_to_stringstring_to_object说 明将 对 象 引 用 转 换 成 字 串将 对 字 串 转 换 成 对 象 引 用客 户 端 程 序 可 以 使 用 object_to_string 成 员 函 数 ( 在 C++ 下 ) 或 方 法 ( 在 Java下 ) 将 对 象 引 用 转 换 成 字 串 并 将 它 传 送 给 另 一 个 客 户 端 程 序 。 然 后 , 第 二 个 客 户 可以 通 过 使 用 string_to_object 成 员 函 数 ( 在 C++ 下 ) 或 方 法 ( 在 Java 下 ) 将 该对 象 引 用 去 字 串 化 , 然 后 使 用 该 对 象 而 无 须 显 式 地 限 制 到 该 对 象 。注 :仅 适 用 于 C++: object_to_string 的 调 用 程 序 负 责 在 返 回 的 字 串 上 调 用 CORBA::string_free() 。注 :象 <strong>VisiBroker</strong> ORB 和 POA 这 样 的 局 部 作 用 域 对 象 引 用 不 能 字 串 化 。 如 果 尝 试 这样 做 , 由 会 掷 出 MARSHAL 违 例 , 其 中 包 含 次 要 代 码 (minor code) 4。取 得 目 标 和 界 面 名 称下 表 显 示 了 由 Object 类 提 供 的 成 员 函 数 (C++) 和 方 法 (Java), 您 可 以 用 它 们来 得 到 界 面 名 、 对 象 名 、 以 及 与 引 用 对 象 相 关 的 仓 库 ID。 有 关 的 接 口 仓 库 的 描 述 ,请 参 阅 第 17 章 " 使 用 接 口 仓 库 "注 :如 果 您 在 未 指 定 对 象 名 的 情 况 下 调 用 C++ 下 的 _bind() 静 态 成 员 函 数 或 者 Java 下的 _bind() 方 法 , 则 使 用 结 果 对 象 引 用 调 用 _object_name() 成 员 函 数 ( 在 C++客 户 基 础 10-5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!