CosNaming_NamingContext
CosNaming_NamingContext
模块
CosNaming_NamingContext
模块摘要
此接口支持上下文中名称的不同绑定和访问功能。
描述
这是定义名称范围的对象,名称在命名上下文中必须是唯一的。对象可能具有多个名称,并且可能存在于多个命名上下文中。名称上下文可以在其他上下文中命名,并且允许循环。
下面NameComponent
使用的类型定义为:
-record('CosNaming_NameComponent', {id, kind=""}).
id和kind是字符串。
下面Binding
使用的类型定义为:
-record('CosNaming_Binding', {binding_name, binding_type}).
其中binding_name是一个名称,binding_type是一个枚举,其值为nobject和ncontext。
这两个记录都在文件中定义。CosNaming.hrl
它包括:
-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
这个接口中的函数可以返回一些异常。
- NotFound被定义为-record('CosNaming_NamingContext_NotFound',{rest_of_name,why})。
- CannotProceed被定义为
-record('CosNaming_NamingContext_CannotProceed',{rest_of_name,cxt})。
- InvalidName被定义为-record('CosNaming_NamingContext_InvalidName',{})。
- NotFound被定义为
-record('CosNaming_NamingContext_NotFound',{})。
- AlreadyBound被定义为-record('CosNaming_NamingContext_AlreadyBound',{})。
- Notempty被定义为
-record('CosNaming_NamingContext_NotEmpty',{)。
这些例外是在文件中定义的CosNaming_NamingContext.hrl
,它包含在:
-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
输出
bind(NamingContext, Name, Object) -> Return
类型
在命名上下文中创建名称和对象的绑定。命名使用bind()绑定的
上下文不参与名称解析。
rebind(NamingContext, Name, Object) -> Return
类型
即使名称已经绑定,也可以在命名上下文中创建名称和对象的绑定。使用rebind()绑定的
命名上下文不参与名称解析。
bind_context(NamingContext1, Name, NamingContex2) -> Return
类型
bind_context函数在当前上下文中创建名称和命名上下文的绑定。使用bind_context()
绑定的命名上下文参与名称解析。
rebind_context(NamingContext1, Name, NamingContex2) -> Return
类型
即使名称已被绑定,rebind_context函数也会在当前上下文中创建名称和命名上下文的绑定。命名使用rebind_context()
绑定的上下文参与名称解析。
resolve(NamingContext, Name) -> Return
类型
解析函数是在命名上下文中检索绑定到名称的对象的方法。给定的名称必须完全匹配绑定名称。对象的类型不返回,客户端负责将对象缩小到正确的类型。
unbind(NamingContext, Name) -> Return
类型
解除绑定操作将从命名上下文中删除名称绑定。
new_context(NamingContext) -> Return
类型
new_context操作创建一个新的命名上下文。
bind_new_context(NamingContext, Name) -> Return
类型
new_context操作创建一个新的命名上下文,并将其绑定到当前上下文中的Name。
destroy(NamingContext) -> Return
类型
destroy操作处理NamingContext对象并将其从名称服务器中删除。上下文必须为空,例如不包含任何要删除的绑定。
list(NamingContext, HowMany) -> Return
类型
列表操作返回一个绑定列表,其中包含许多从上下文到HowMany
的绑定。它还返回一个BindinIterator,它可以用来遍历列表。如果现有绑定的总数小于或等于该HowMany
参数,则返回NIL对象引用。
注
除非是NIL对象引用,否则必须使用'BindingIterator'销毁BindingIterator:destroy()。否则,可以得到晃动的物体。