Erlang 20

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对象。