12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

步 骤 3: 实 现 客 户(C++) Client.C 文 件 和 (Java) Client.java 文 件 示 范 本 实 例 , 包 含 在bank_agent 目 录 下 。 通 常 , 您 要 创 建 这 个 文 件 。Client.CC++:Client 程 序 实 现 取 得 银 行 帐 户 当 前 余 额 的 客 户 应 用 。 银 行 客 户 程 序 执 行 这 些 步 骤 :1 初 始 化 <strong>VisiBroker</strong> ORB。2 绑 定 到 一 个 AccountManager 对 象 。3 使 用 由 bind() 返 回 的 对 象 引 用 , 取 得 Account 的 余 额 。4 通 过 调 用 Account 对 象 上 的 余 额 得 到 余 额 。#include "Bank_c.hh"int main(int argc, char* const* argv) {try {// 初 始 化 ORB。CORBA::ORB_ptr orb = CORBA::ORB_init(argc, argv);// 得 到 管 理 器 IdPortableServer::ObjectId_var managerId =PortableServer::string_to_ObjectId("BankManager");// 找 到 一 个 管 理 器 。 给 出 POA 全 名 和 服 务 对 象 ID。Bank::AccountManager_ptr manager =Bank::AccountManager::_bind("/bank_agent_poa", managerId);// 使 用 argv[1] 作 帐 户 名 称 , 或 使 用 默 认 值 。const char* name = argc > 1 ? argv[1] :"Jack B. Quick";// 要 求 帐 户 管 理 器 打 开 一 个 命 名 的 帐 户 。Bank::Account_ptr account = manager->open(name);// 得 到 帐 户 的 余 额 。float balance = account->balance();// 打 印 余 额 。cout

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

Saved successfully!

Ooh no, something went wrong!