Provided by: erlang-manpages_16.b.3-dfsg-1ubuntu2_all bug

NAME

       orber_ifr - The Interface Repository stores representations of IDL information

DESCRIPTION

       This  module  contains  functions  for  managing  the  Interface  Repository  (IFR).  This
       documentation should be used in conjunction with the documentation in chapter  6  of  2.3.
       Whenever  the  term  IFR  object is used in this manual page, it refers to a pseudo object
       used only for interaction with the IFR rather than a CORBA object.

INITIALIZATION OF THE IFR

       The following functions are used to initialize the Interface Repository and to obtain  the
       initial reference to the repository.

EXPORTS

       init(Nodes,Timeout) -> ok

              Types:

                 Nodes = list()
                 Timeout = integer() | infinity

              This  function  should  be  called  to initialize the IFR. It creates the necessary
              mnesia-tables. A mnesia schema should exist, and mnesia must be running.

       find_repository() -> #IFR_Repository_objref

              Find the IFR object reference for the Repository. This  reference  should  be  used
              when  adding  objects to the IFR, and when extracting information from the IFR. The
              first time this function is called, it will  create  the  repository  and  all  the
              primitive definitions.

GENERAL METHODS

       The  following  functions  are  the  methods  of  the IFR. The first argument is always an
       #IFR_objref, i.e. the IFR (pseudo)object on which to apply this  method.  These  functions
       are  useful when the type of IFR object is not know, but they are somewhat slower than the
       specific functions listed below which only accept a particular type of IFR object  as  the
       first argument.

EXPORTS

       get_def_kind(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return   =   atom()   (one   of   dk_none,  dk_all,  dk_Attribute,  dk_Constant,
                 dk_Exception,  dk_Interface,  dk_Module,  dk_Operation,  dk_Typedef,   dk_Alias,
                 dk_Struct,  dk_Union,  dk_Enum,  dk_Primitive,  dk_String, dk_Wstring, dk_Fixed,
                 dk_Sequence, dk_Array, dk_Repository)

              Objref is an IFR object of any kind. Returns the definition kind of the IFR object.

       destroy(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = tuple()

              Objref is an IFR object of any  kind  except  IRObject,  Contained  and  Container.
              Destroys that object and its contents (if any). Returns whatever mnesia:transaction
              returns.

       get_id(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = string()

              Objref is an IFR object of any kind  that  inherits  from  Contained.  Returns  the
              repository id of that object.

       set_id(Objref,Id) -> ok

              Types:

                 Objref = #IFR_object
                 Id = string()

              Objref  is  an  IFR  object  of  any  kind  that  inherits from Contained. Sets the
              repository id of that object.

       get_name(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = string()

              Objref is an IFR object of any kind that inherits from Contained. Returns the  name
              of that object.

       set_name(Objref,Name) -> ok

              Types:

                 Objref = #IFR_object
                 Name = string()

              Objref  is an IFR object of any kind that inherits from Contained. Sets the name of
              that object.

       get_version(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = string()

              Objref is an IFR object of any kind  that  inherits  from  Contained.  Returns  the
              version of that object.

       set_version(Objref,Version) -> ok

              Types:

                 Objref = #IFR_object
                 Version = string()

              Objref  is an IFR object of any kind that inherits from Contained. Sets the version
              of that object.

       get_defined_in(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = #IFR_Container_objref

              Objref is an IFR object of any kind  that  inherits  from  Contained.  Returns  the
              Container object that the object is defined in.

       get_absolute_name(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = string()

              Objref  is  an  IFR  object  of  any kind that inherits from Contained. Returns the
              absolute (scoped) name of that object.

       get_containing_repository(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = #IFR_Repository_objref

              Objref is an IFR object of any kind  that  inherits  from  Contained.  Returns  the
              Repository  that  is  eventually  reached  by  recursively  following  the object's
              defined_in attribute.

       describe(Objref) -> Return

              Types:

                 Objref = #IFR_object
                 Return = tuple() (a contained_description record) | {exception, _}

              Objref is an IFR object of any kind that inherits from Contained. Returns  a  tuple
              describing the object.

       move(Objref,New_container,New_name,New_version) -> Return

              Types:

                 Objref = #IFR_objref
                 New_container = #IFR_Container_objref
                 New_name = string()
                 New_version = string()
                 Return = ok | {exception, _}

              Objref  is an IFR object of any kind that inherits from Contained. New_container is
              an IFR object of any kind that inherits from Container.  Removes  Objref  from  its
              current  Container,  and adds it to New_container. The name attribute is changed to
              New_name and the version attribute is changed to New_version.

       lookup(Objref,Search_name) -> Return

              Types:

                 Objref = #IFR_objref
                 Search_name = string()
                 Return = #IFR_object

              Objref is an IFR object of any kind that inherits from Container.  Returns  an  IFR
              object identified by search_name (a scoped name).

       contents(Objref,Limit_type,Exclude_inherited) -> Return

              Types:

                 Objref = #IFR_objref
                 Limit_type   =  atom()  (one  of  dk_none,  dk_all,  dk_Attribute,  dk_Constant,
                 dk_Exception,  dk_Interface,  dk_Module,  dk_Operation,  dk_Typedef,   dk_Alias,
                 dk_Struct,  dk_Union,  dk_Enum,  dk_Primitive,  dk_String, dk_Wstring, dk_Fixed,
                 dk_Sequence, dk_Array, dk_Repository)
                 Exclude_inherited = atom() (true or false)
                 Return = list() (a list of IFR#_objects)

              Objref is an IFR object of any kind  that  inherits  from  Container.  Returns  the
              contents of that IFR object.

       lookup_name(Objref,Search_name,Levels_to_search, Limit_type, Exclude_inherited) -> Return

              Types:

                 Objref = #IFR_objref
                 Search_name = string()
                 Levels_to_search = integer()
                 Limit_type   =  atom()  (one  of  dk_none,  dk_all,  dk_Attribute,  dk_Constant,
                 dk_Exception,  dk_Interface,  dk_Module,  dk_Operation,  dk_Typedef,   dk_Alias,
                 dk_Struct,  dk_Union,  dk_Enum,  dk_Primitive,  dk_String, dk_Wstring, dk_Fixed,
                 dk_Sequence, dk_Array, dk_Repository)
                 Exclude_inherited = atom() (true or false)
                 Return = list() (a list of #IFR_objects)

              Objref is an IFR object of any kind that inherits from Container. Returns a list of
              #IFR_objects with an id matching Search_name.

       describe_contents(Objref, Limit_type, Exclude_inherited, Max_returned_objs) -> Return

              Types:

                 Objref = #IFR_objref
                 Limit_type   =  atom()  (one  of  dk_none,  dk_all,  dk_Attribute,  dk_Constant,
                 dk_Exception,  dk_Interface,  dk_Module,  dk_Operation,  dk_Typedef,   dk_Alias,
                 dk_Struct,  dk_Union,  dk_Enum,  dk_Primitive,  dk_String, dk_Wstring, dk_Fixed,
                 dk_Sequence, dk_Array, dk_Repository)
                 Exclude_inherited = atom() (true or false)
                 Return = list() (a list of tuples (contained_description records) |  {exception,
                 _}

              Objref is an IFR object of any kind that inherits from Container. Returns a list of
              descriptions of the IFR objects in this Container's contents.

       create_module(Objref,Id,Name,Version) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Return = #IFR_ModuleDef_objref

              Objref is an IFR object of any kind that inherits from Container.  Creates  an  IFR
              object of the type ModuleDef.

       create_constant(Objref,Id,Name,Version,Type,Value) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Type = #IFR_IDLType_objref
                 Value = any()
                 Return = #IFR_ConstantDef_objref

              Objref  is  an  IFR object of any kind that inherits from Container. Creates an IFR
              object of the type ConstantDef.

       create_struct(Objref,Id,Name,Version,Members) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Members = list() (list of structmember records)
                 Return = #IFR_StructDef_objref

              Objref is an IFR object of any kind that inherits from Container.  Creates  an  IFR
              object of the type StructDef.

       create_union(Objref,Id,Name,Version,Discriminator_type,Members) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Discriminator_type = #IFR_IDLType_Objref
                 Members = list() (list of unionmember records)
                 Return = #IFR_UnionDef_objref

              Objref  is  an  IFR object of any kind that inherits from Container. Creates an IFR
              object of the type UnionDef.

       create_enum(Objref,Id,Name,Version,Members) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Members = list() (list of strings)
                 Return = #IFR_EnumDef_objref

              Objref is an IFR object of any kind that inherits from Container.  Creates  an  IFR
              object of the type EnumDef.

       create_alias(Objref,Id,Name,Version,Original_type) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Original_type = #IFR_IDLType_Objref
                 Return = #IFR_AliasDef_objref

              Objref  is  an  IFR object of any kind that inherits from Container. Creates an IFR
              object of the type AliasDef.

       create_interface(Objref,Id,Name,Version,Base_interfaces) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Base_interfaces = list() (a list of IFR_InterfaceDef_objrefs that this interface
                 inherits from
                 Return = #IFR_InterfaceDef_objref

              Objref  is  an  IFR object of any kind that inherits from Container. Creates an IFR
              object of the type InterfaceDef.

       create_exception(Objref,Id,Name,Version,Members) -> Return

              Types:

                 Objref = #IFR_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Members = list() (list of structmember records)
                 Return = #IFR_ExceptionDef_objref

              Objref is an IFR object of any kind that inherits from Container.  Creates  an  IFR
              object of the type ExceptionDef.

       get_type(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return = tuple() (a typecode tuple)

              Objref  is an IFR object of any kind that inherits from IDLType or an IFR object of
              the kind ConstantDef, ExceptionDef or AttributeDef. Returns the typecode of the IFR
              object.

       lookup_id(Objref,Search_id) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Search_id = string()
                 Return = #IFR_objref

              Returns an IFR object matching the Search_id.

       get_primitive(Objref,Kind) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Kind  = atom() (one of pk_null, pk_void, pk_short, pk_long, pk_ushort, pk_ulong,
                 pk_float,  pk_double,  pk_boolean,  pk_char,  pk_octet,   pk_any,   pk_TypeCode,
                 pk_Principal, pk_string, pk_wstring, pk_fixed, pk_objref)
                 Return = #IFR_PrimitiveDef_objref

              Returns a PrimitiveDef of the specified kind.

       create_string(Objref,Bound) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Bound = integer() (unsigned long /= 0)
                 Return = #IFR_StringDef_objref

              Creates an IFR objref of the type StringDef.

       create_wstring(Objref,Bound) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Bound = integer() (unsigned long /= 0)
                 Return = #IFR_WstringDef_objref

              Creates an IFR objref of the type WstringDef.

       create_fixed(Objref,Digits,Scale) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Digits = Scale = integer()
                 Return = #IFR_FixedDef_objref

              Creates an IFR objref of the type FixedDef.

       create_sequence(Objref,Bound,Element_type) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Bound = integer() (unsigned long)
                 Element_type = #IFR_IDLType_objref
                 Return = #IFR_SequenceDef_objref

              Creates an IFR objref of the type SequenceDef.

       create_array(Objref,Length,Element_type) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Bound = integer() (unsigned long)
                 Element_type = #IFR_IDLType_objref
                 Return = #IFR_ArrayDef_objref

              Creates an IFR objref of the type ArrayDef.

       create_idltype(Objref,Typecode) -> Return

              Types:

                 Objref = #IFR_Repository_objref
                 Typecode = tuple() (a typecode tuple)
                 Return = #IFR_IDLType_objref

              Creates an IFR objref of the type IDLType.

       get_type_def(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return = #IFR_IDLType_objref

              Objref  is  an  IFR  object of the kind ConstantDef or AttributeDef. Returns an IFR
              object of the type IDLType describing the type of the IFR object.

       set_type_def(Objref,TypeDef) -> Return

              Types:

                 Objref = #IFR_objref
                 TypeDef = #IFR_IDLType_objref
                 Return = ok | {exception, _}

              Objref is an IFR object of the kind ConstantDef or AttributeDef. Sets the  type_def
              of the IFR Object.

       get_value(Objref) -> Return

              Types:

                 Objref = #IFR_ConstantDef_objref
                 Return = any()

              Returns the value attribute of an IFR Object of the type ConstantDef.

       set_value(Objref,Value) -> Return

              Types:

                 Objref = #IFR_ConstantDef_objref
                 Value = any()
                 Return = ok | {exception, _}

              Sets the value attribute of an IFR Object of the type ConstantDef.

       get_members(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return = list()

              Objref  is an IFR object the kind StructDef, UnionDef, EnumDef or ExceptionDef. For
              StructDef, UnionDef and ExceptionDef: Returns a list of structmember  records  that
              are  the  constituent  parts  of the object. For EnumDef: Returns a list of strings
              describing the enumerations.

       set_members(Objref,Members) -> Return

              Types:

                 Objref = #IFR_objref
                 Members = list()
                 Return = ok | {exception, _}

              Objref is an IFR object the kind StructDef, UnionDef, EnumDef or ExceptionDef.  For
              StructDef,  UnionDef  and  ExceptionDef: Members is a list of structmember records.
              For EnumDef: Members is a list of strings describing  the  enumerations.  Sets  the
              members attribute, which are the constituent parts of the exception.

       get_discriminator_type(Objref) -> Return

              Types:

                 Objref = #IFR_UnionDef_objref
                 Return = tuple() (a typecode tuple)

              Returns the discriminator typecode of an IFR object of the type UnionDef.

       get_discriminator_type_def(Objref) -> Return

              Types:

                 Objref = #IFR_UnionDef_objref
                 Return = #IFR_IDLType_objref

              Returns  an  IFR object of the type IDLType describing the discriminator type of an
              IFR object of the type UnionDef.

       set_discriminator_type_def(Objref,TypeDef) -> Return

              Types:

                 Objref = #IFR_UnionDef_objref
                 Return = #IFR_IDLType_objref

              Sets the attribute discriminator_type_def,  an  IFR  object  of  the  type  IDLType
              describing the discriminator type of an IFR object of the type UnionDef.

       get_original_type_def(Objref) -> Return

              Types:

                 Objref = #IFR_AliasDef_objref
                 Return = #IFR_IDLType_objref

              Returns an IFR object of the type IDLType describing the original type.

       set_original_type_def(Objref,TypeDef) -> Return

              Types:

                 Objref = #IFR_AliasDef_objref
                 Typedef = #IFR_IDLType_objref
                 Return = ok | {exception, _}

              Sets the original_type_def attribute which describes the original type.

       get_kind(Objref) -> Return

              Types:

                 Objref = #IFR_PrimitiveDef_objref
                 Return = atom()

              Returns an atom describing the primitive type (See CORBA 2.0 p 6-21).

       get_bound(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return = integer (unsigned long)

              Objref  is  an IFR object the kind StringDef or SequenceDef. For StringDef: returns
              the maximum number of characters  in  the  string.  For  SequenceDef:  Returns  the
              maximum number of elements in the sequence. Zero indicates an unbounded sequence.

       set_bound(Objref,Bound) -> Return

              Types:

                 Objref = #IFR_objref
                 Bound = integer (unsigned long)
                 Return = ok | {exception, _}

              Objref  is an IFR object the kind StringDef or SequenceDef. For StringDef: Sets the
              maximum  number  of  characters  in  the  string.  Bound  must  not  be  zero.  For
              SequenceDef: Sets the maximum number of elements in the sequence. Zero indicates an
              unbounded sequence.

       get_element_type(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return = tuple() (a typecode tuple)

              Objref is an IFR object the kind SequenceDef or ArrayDef. Returns the  typecode  of
              the elements in the IFR object.

       get_element_type_def(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return = #IFR_IDLType_objref

              Objref  is an IFR object the kind SequenceDef or ArrayDef. Returns an IFR object of
              the type IDLType describing the type of the elements in Objref.

       set_element_type_def(Objref,TypeDef) -> Return

              Types:

                 Objref = #IFR_objref
                 TypeDef = #IFR_IDLType_objref
                 Return = ok | {exception, _}

              Objref is an IFR object the kind SequenceDef or ArrayDef. Sets the element_type_def
              attribute, an IFR object of the type IDLType describing the type of the elements in
              Objref.

       get_length(Objref) -> Return

              Types:

                 Objref = #IFR_ArrayDef_objref
                 Return = integer() (unsigned long)

              Returns the number of elements in the array.

       set_length(Objref,Length) -> Return

              Types:

                 Objref = #IFR_ArrayDef_objref
                 Length = integer() (unsigned long)

              Sets the number of elements in the array.

       get_mode(Objref) -> Return

              Types:

                 Objref = #IFR_objref
                 Return = atom()

              Objref is an IFR object the kind AttributeDef or  OperationDef.  For  AttributeDef:
              Return  is  an  atom  ('ATTR_NORMAL'  or 'ATTR_READONLY') specifying the read/write
              access for this attribute. For OperationDef: Return  is  an  atom  ('OP_NORMAL'  or
              'OP_ONEWAY') specifying the mode of the operation.

       set_mode(Objref,Mode) -> Return

              Types:

                 Objref = #IFR_objref
                 Mode = atom()
                 Return = ok | {exception, _}

              Objref  is  an  IFR object the kind AttributeDef or OperationDef. For AttributeDef:
              Sets the read/write access for this attribute. Mode is an  atom  ('ATTR_NORMAL'  or
              'ATTR_READONLY'). For OperationDef: Sets the mode of the operation. Mode is an atom
              ('OP_NORMAL' or 'OP_ONEWAY').

       get_result(Objref) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Return = tuple() (a typecode tuple)

              Returns a typecode describing the type of the value returned by the operation.

       get_result_def(Objref) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Return = #IFR_IDLType_objref

              Returns an IFR object of the type IDLType describing the type of the result.

       set_result_def(Objref,ResultDef) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 ResultDef = #IFR_IDLType_objref
                 Return = ok | {exception, _}

              Sets the type_def attribute, an IFR Object  of  the  type  IDLType  describing  the
              result.

       get_params(Objref) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Return = list() (list of parameter description records)

              Returns  a list of parameter description records, which describes the parameters of
              the OperationDef.

       set_params(Objref,Params) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Params = list() (list of parameter description records)
                 Return = ok | {exception, _}

              Sets the params attribute, a list of parameter description records.

       get_contexts(Objref) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Return = list() (list of strings)

              Returns a list of context identifiers for the operation.

       set_contexts(Objref,Contexts) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Contexts = list() (list of strings)
                 Return = ok | {exception, _}

              Sets the context attribute for the operation.

       get_exceptions(Objref) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Return = list() (list of #IFR_ExceptionDef_objrefs)

              Returns a list of exception types that can be raised by this operation.

       set_exceptions(Objref,Exceptions) -> Return

              Types:

                 Objref = #IFR_OperationDef_objref
                 Exceptions = list() (list of #IFR_ExceptionDef_objrefs)
                 Return = ok | {exception, _}

              Sets the exceptions attribute for this operation.

       get_base_interfaces(Objref) -> Return

              Types:

                 Objref = #IFR_InterfaceDef_objref
                 Return = list() (list of #IFR_InterfaceDef_objrefs)

              Returns a list of InterfaceDefs from which this InterfaceDef inherits.

       set_base_interfaces(Objref,BaseInterfaces) -> Return

              Types:

                 Objref = #IFR_InterfaceDef_objref
                 BaseInterfaces = list() (list of #IFR_InterfaceDef_objrefs)
                 Return = ok | {exception, _}

              Sets the BaseInterfaces attribute.

       is_a(Objref,Interface_id) -> Return

              Types:

                 Objref = #IFR_InterfaceDef_objref
                 Interface_id = #IFR_InterfaceDef_objref
                 Return = atom() (true or false)

              Returns  true  if  the  InterfaceDef  either  is  identical  to  or  inherits  from
              Interface_id.

       describe_interface(Objref) -> Return

              Types:

                 Objref = #IFR_InterfaceDef_objref
                 Return = tuple() (a fullinterfacedescription record)

              Returns a full inter face description record describing the InterfaceDef.

       create_attribute(Objref,Id,Name,Version,Type,Mode) -> Return

              Types:

                 Objref = #IFR_InterfaceDef_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Type = #IFR_IDLType_objref
                 Mode = atom() ('ATTR_NORMAL' or 'ATTR_READONLY')
                 Return = #IFR_AttributeDef_objref

              Creates an IFR object of the type AttributeDef contained in this InterfaceDef.

       create_operation(Objref,Id,Name,Version,Result,Mode,Params, Exceptions,Contexts) -> Return

              Types:

                 Objref = #IFR_InterfaceDef_objref
                 Id = string()
                 Name = string()
                 Version = string()
                 Result = #IFR_IDLType_objref
                 Mode = atom() ('OP_NORMAL' or 'OP_ONEWAY')
                 Params = list() (list of parameter description records)
                 Exceptions = list() (list of #IFR_ExceptionDef_objrefs)
                 Contexts = list() (list of strings)
                 Return = #IFR_OperationDef_objref

              Creates an IFR object of the type OperationDef contained in this InterfaceDef.