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.

NamingContextNamingContextNamingContextExt该 对 象 用 于 保 存 和 管 理 限 制 到 <strong>VisiBroker</strong> ORB 对 象 或 其 它 NamingContext 对 象 的名 称 的 列 表 。 客 户 端 应 用 使 用 该 接 口 来 resolve ( 解 析 ) 或 list ( 列 出 ) 上 下 文中 的 所 有 名 称 。 对 象 实 现 使 用 该 对 象 将 名 称 bind ( 限 制 ) 到 对 象 实 现 或 将 名 称 限制 到 NamingContext 对 象 。 以 下 的 示 例 说 明 NamingContext 的 IDL 规 范 。module CosNaming {interface NamingContext {void bind(in Name n, in Object obj)raises(NotFound, CannotProceed, InvalidName, AlreadyBound);void rebind(in Name n, in Object obj)raises(NotFound, CannotProceed, InvalidName);void bind_context(in Name n, in NamingContext nc)raises(NotFound, CannotProceed, InvalidName, AlreadyBound);void rebind_context(in Name n, in NamingContext nc)raises(NotFound, CannotProceed, InvalidName);Object resolve(in Name n)raises(NotFound, CannotProceed, InvalidName);void unbind(in Name n)raises(NotFound, CannotProceed, InvalidName);NamingContext new_context();NamingContext bind_new_context(in Name n)raises(NotFound, CannotProceed, InvalidName, AlreadyBound);void destroy()raises(NotEmpty);void list(in unsigned long how_many,out BindingList bl,out BindingIterator bi);};};The NamingContextExt 接 口 扩 展 了 NamingContext, 它 提 供 使 用 字 串 化 的 名 称 和URL 所 需 的 操 作 。module CosNaming {interface NamingContextExt : NamingContext {typedef string StringName;typedef string Address;typedef string URLString;StringName to_string(in Name n)raises(InvalidName);Name to_name(in StringName sn)raises(InvalidName);exception InvalidAddress {};URLString to_url(in Address addr, in StringName sn)raises(InvalidAddress, InvalidName);Object resolve_str(in StringName n)raises(NotFound, CannotProceed, InvalidName);使 用 命 名 服 务 14-11

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

Saved successfully!

Ooh no, something went wrong!