orber_ifr
orber_ifr
模块
orber_ifr
模块摘要
接口存储库存储IDL信息的表示
描述
该模块包含用于管理接口库(IFR)的功能。本文档应与CORBA2.3第6章中的文档结合使用。每当本手册页中使用术语IFR对象时,它指的是一个伪对象,仅用于与IFR而不是CORBA对象进行交互。
IFR的初始化
下面的函数用于初始化InterfaceRepository并获得对存储库的初始引用。
输出
init(Nodes,Timeout) -> ok
类型
应该调用这个函数来初始化IFR。它创建了必要的mnesia表。应该存在一个mnesia架构,并且mnesia必须正在运行。
find_repository() -> #IFR_Repository_objref
查找存储库的IFR对象引用。在向IFR添加对象和从IFR提取信息时,应该使用此引用。第一次调用此函数时,它将创建存储库和所有原始定义。
一般方法
以下功能是IFR的方法。第一个参数始终是#IFR_objref,即应用此方法的IFR(伪)对象。当IFR对象的类型不知道时,这些函数是有用的,但它们比下面列出的只接受特定类型的IFR对象作为第一个参数的特定函数慢一些。
输出
get_def_kind(Objref) -> Return
类型
Objref是任何类型的IFR对象。返回IFR对象的定义类型。
destroy(Objref) -> Return
类型
Objref是除IRObject,Contained和Container之外的任何类型的IFR对象。销毁该对象及其内容(如果有的话)。返回任何mnesia:事务返回。
get_id(Objref) -> Return
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。返回该对象的存储库ID。
set_id(Objref,Id) -> ok
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。设置该对象的存储库id。
get_name(Objref) -> Return
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。返回该对象的名称。
set_name(Objref,Name) -> ok
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。设置该对象的名称。
get_version(Objref) -> Return
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。返回该对象的版本。
set_version(Objref,Version) -> ok
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。设置该对象的版本。
get_defined_in(Objref) -> Return
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。返回对象中定义的容器对象。
get_absolute_name(Objref) -> Return
类型
Objref是从Contained继承的任何类型的IFR对象。返回该对象的绝对(作用域)名称。
get_containing_repository(Objref) -> Return
类型
Objref是从Contained继承的任何类型的IFR对象。通过递归地跟随对象的defined_in属性返回最终到达的存储库。
describe(Objref) -> Return
类型
Objref是一个IFR对象,它是从包含的任何类型继承而来的。返回描述对象的元组。
move(Objref,New_container,New_name,New_version) -> Return
类型
Objref是从Contained继承的任何类型的IFR对象。New_container是从Container继承的任何类型的IFR对象。从当前容器中移除Objref,并将其添加到New_container。name属性更改为New_name,version属性更改为New_version。
lookup(Objref,Search_name) -> Return
类型
Objref是从Container继承的任何类型的IFR对象。返回由search_name(范围名称)标识的IFR对象。
contents(Objref,Limit_type,Exclude_inherited) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。返回该IFR对象的内容。
lookup_name(Objref,Search_name,Levels_to_search, Limit_type, Exclude_inherited) -> Return
类型
Objref是从Container继承的任何类型的IFR对象。返回ID为匹配Search_name的#IFR_objects列表。
describe_contents(Objref, Limit_type, Exclude_inherited, Max_returned_objs) -> Return
类型
Objref是从Container继承的任何类型的IFR对象。返回此容器内容中IFR对象的描述列表。
create_module(Objref,Id,Name,Version) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为ModuleDef的IFR对象。
create_constant(Objref,Id,Name,Version,Type,Value) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为ConstantDef的IFR对象。
create_struct(Objref,Id,Name,Version,Members) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为StructDef的IFR对象。
create_union(Objref,Id,Name,Version,Discriminator_type,Members) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为UnionDef的IFR对象。
create_enum(Objref,Id,Name,Version,Members) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为EnumDef的IFR对象。
create_alias(Objref,Id,Name,Version,Original_type) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为AliasDef的IFR对象。
create_interface(Objref,Id,Name,Version,Base_interfaces) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为InterfaceDef的IFR对象。
create_exception(Objref,Id,Name,Version,Members) -> Return
类型
Objref是继承自容器的任何类型的IFR对象。创建类型为ExceptionDef的IFR对象。
get_type(Objref) -> Return
类型
Objref是从IDLType继承的任何类型的IFR对象,或者是ConstantDef、ExceptionDef或AttributeDef类型的IFR对象。返回IFR对象的类型代码。
lookup_id(Objref,Search_id) -> Return
类型
返回与Search_id匹配的IFR对象。
get_primitive(Objref,Kind) -> Return
类型
返回指定类型的PrimediveDef。
create_string(Objref,Bound) -> Return
类型
创建类型为StringDef的IFR objref。
create_wstring(Objref,Bound) -> Return
类型
创建类型为Wstring Def的IFR objref。
create_fixed(Objref,Digits,Scale) -> Return
类型
创建类型为FixedDef的IFR objref。
create_sequence(Objref,Bound,Element_type) -> Return
类型
创建类型为SequenceDef的IFR objref。
create_array(Objref,Length,Element_type) -> Return
类型
创建类型为ArrayDef的IFR objref。
create_idltype(Objref,Typecode) -> Return
类型
创建IDLType类型的IFR objref。
get_type_def(Objref) -> Return
类型
Objref是类ConstantDef或AttributeDef的IFR对象。返回IDLType类型的IFR对象,描述IFR对象的类型。
set_type_def(Objref,TypeDef) -> Return
类型
Objref是ConstantDef或AttributeDef类型的IFR对象。设置IFR对象的type_def。
get_value(Objref) -> Return
类型
返回类型为ConstantDef的IFR对象的value属性。
set_value(Objref,Value) -> Return
类型
设置类型为ConstantDef的IFR对象的value属性。
get_members(Objref) -> Return
类型
Objref是一个IFR对象--类StructDef、UnionDef、EnumDef或ExceptionDef。对于StructDef,UnionDef和ExceptionDef:返回作为对象的组成部分的结构成员记录的列表。对于EnumDef:返回描述枚举的字符串列表。
set_members(Objref,Members) -> Return
类型
Objref是一个IFR对象--类StructDef、UnionDef、EnumDef或ExceptionDef。对于StructDef,UnionDef和ExceptionDef:成员是结构成员记录的列表。成员是描述枚举的字符串列表。设置成员属性,该属性是异常的组成部分。
get_discriminator_type(Objref) -> Return
类型
返回类型UnionDef的IFR对象的判别器类型编码。
get_discriminator_type_def(Objref) -> Return
类型
返回IDLType类型的IFR对象,该对象描述UnionDef类型的IFR对象的判别器类型。
set_discriminator_type_def(Objref,TypeDef) -> Return
类型
设置属性discriminator_type_def,它是描述类型UnionDef的IFR对象的鉴别器类型的类型IDLType的IFR对象。
get_original_type_def(Objref) -> Return
类型
返回描述原始类型的IDLType类型的IFR对象。
set_original_type_def(Objref,TypeDef) -> Return
类型
设置描述原始类型的original_type_def属性。
get_kind(Objref) -> Return
类型
返回描述原始类型的原子(参见CORBA 2.0第6-21页)。
get_bound(Objref) -> Return
类型
Objref是一种StringDef或SequenceDef类型的IFR对象。对于StringDef:返回字符串中的最大字符数。对于SequenceDef:返回序列中元素的最大数量。零表示无限序列。
set_bound(Objref,Bound) -> Return
类型
Objref是一种StringDef或SequenceDef类型的IFR对象。对于StringDef:设置字符串中的最大字符数。界限不能为零。对于SequenceDef:设置序列中元素的最大数量。零表示无限序列。
get_element_type(Objref) -> Return
类型
Objref是类SequenceDef或ArrayDef的IFR对象。返回IFR对象中元素的typecode。
get_element_type_def(Objref) -> Return
类型
Objref是一个IFR对象,是类SequenceDef或ArrayDef。返回IDLType类型的IFR对象,该对象描述Objref中元素的类型。
set_element_type_def(Objref,TypeDef) -> Return
类型
Objref是类SequenceDef或ArrayDef的IFR对象。设置element_type_def属性,这是一个描述Objref中元素类型的IDLType类型的IFR对象。
get_length(Objref) -> Return
类型
返回数组中的元素数。
set_length(Objref,Length) -> Return
类型
设置数组中的元素数。
get_mode(Objref) -> Return
类型
Objref是类AttributeDef或OperationDef的IFR对象。对于AttributeDef:Return是一个原子('ATTR_NORMAL'或'ATTR_READONLY'),指定该属性的读/写访问权限。对于OperationDef:Return是指定操作模式的原子('OP_NORMAL'或'OP_ONEWAY')。
set_mode(Objref,Mode) -> Return
类型
Objref是类AttributeDef或OperationDef的IFR对象。对于AttributeDef:设置此属性的读/写访问权限。模式是一个原子('ATTR_NORMAL'或'ATTR_READONLY')。对于OperationDef:设置操作的模式。模式是一个原子('OP_NORMAL'或'OP_ONEWAY')。
get_result(Objref) -> Return
类型
返回一个类型代码,描述操作返回的值的类型。
get_result_def(Objref) -> Return
类型
返回IDLType类型的IFR对象,该对象描述结果的类型。
set_result_def(Objref,ResultDef) -> Return
类型
设置type_def属性,一个描述结果的IDLType类型的IFR对象。
get_params(Objref) -> Return
类型
返回参数描述记录列表,该列表描述OperationDef的参数。
set_params(Objref,Params) -> Return
类型
设置Params属性,这是参数描述记录的列表。
get_contexts(Objref) -> Return
类型
返回操作的上下文标识符列表。
set_contexts(Objref,Contexts) -> Return
类型
设置操作的上下文属性。
get_exceptions(Objref) -> Return
类型
返回此操作可引发的异常类型的列表。
set_exceptions(Objref,Exceptions) -> Return
类型
设置此操作的异常属性。
get_base_interfaces(Objref) -> Return
类型
返回此InterfaceDef继承的InterfaceDefs列表。
set_base_interfaces(Objref,BaseInterfaces) -> Return
类型
设置BaseInterface属性。
is_a(Objref,Interface_id) -> Return
类型
如果InterfaceDef与Interface_id相同或继承,则返回true。
describe_interface(Objref) -> Return
类型
返回描述InterfaceDef的完整面间描述记录。
create_attribute(Objref,Id,Name,Version,Type,Mode) -> Return
类型
创建包含在此InterfaceDef中的AttributeDef类型的IFR对象。
create_operation(Objref,Id,Name,Version,Result,Mode,Params, Exceptions,Contexts) -> Return
类型
创建包含在此InterfaceDef中的OperationDef类型的IFR对象。