VisiBroker for C++ API Reference Guide : Introduction to VisiBroker : Interface repository interfaces and classes (C++)

Interface repository interfaces and classes (C++)
This section describes the classes and interfaces that you can use to access the interface repository. The interface repository maintains information on modules and the interfaces they contain as well as other types like operations, attributes, and constants.
AliasDef
class CORBA::AliasDef : public CORBA::TypedefDef
This class is derived from the TypedefDef class and represents an alias for a typedef that is stored in the interface repository. This class provides methods for setting and obtaining the IDLType of the original typedef.
For more information on the TypedefDef class, go to “TypedefDef” on page 109 for more information. For more information on the IDLType class, go to “IDLType” on page 96 for more information.
AliasDef methods
CORBA::IDLType original_type_def();
This method returns the IDLType of the original typedef for which this object is an alias.
void original_type_def(CORBA::IDLType_ptr val);
This method sets the IDLType of the original typedef for which this object is an alias.
The IDLType to set for this alias.
ArrayDef
class CORBA::ArrayDef : public CORBA::IDLType
This class is derived from the IDLType class and represents an array that is stored in the interface repository. It provides methods for setting and obtaining the type of the elements in the array as well as the length of the array.
ArrayDef methods
CORBA::TypeCode element_type();
This method returns the TypeCode of the array's elements.
CORBA::IDLType_ptr element_type_def();
This method returns the IDLType of the elements stored in this array.
void element_type_def(CORBA:IDLType_ptr element_type_def);
This method sets the IDLType of the elements stored in the array.
The IDLType of the elements in the array.
CORBA::ULong length();
This method returns the number of elements in the array.
void length(CORBA::ULong length);
This method sets the number of elements in the array.
AttributeDef
class CORBA::AttributeDef : public CORBA::Contained,
public CORBA::Object
The class is used to represent an interface attribute that is stored in the interface repository. It provides methods for setting and obtaining the attribute's mode, typedef . A method is also provided for obtaining the attribute's type.
AttributeDef methods
CORBA::AttributeMode mode();
This method returns the mode of the attribute. The return value will be either CORBA::AttributeMode ATTR_READONLY for read only attributes or CORBA::AttributeMode ATTR_NORMAL for read-write ones. Go to “AttributeMode” on page 83 for more information.
void mode(CORBA::AttributeMode _val);
This method sets the mode of the attribute.
CORBA::TypeCode_ptr type();
This method returns the TypeCode that represents the attribute's type.
CORBA::IDLType_ptr type_def();
This method returns this object's IDLType.
void type_def(CORBA::IDLType_ptr type_def);
This method sets the IDLType for this object.
The IDLType of this object.
AttributeDescription
struct CORBA::AttributeDescription
The AttributeDescription structure describes an attribute that is stored in the interface repository.
AttributeDescription members
CORBA::Identifier_var name
The name of the attribute.
CORBA::RepositoryId_var id
The repository id of the attribute.
CORBA::RepositoryId_var defined_in
The repository id of the interface in which this attribute is defined.
CORBA::String_var version
The attribute's version.
CORBA::TypeCode_var type
The attribute's IDL type.
CORBA::AttributeMode mode
The mode of this attribute.
AttributeMode
enum CORBA::AttributeMode
The enumeration defines the values used to represent the mode of an attribute; either read-only or normal (read-write).
AttributeMode values
 
ConstantDef
class CORBA::ConstantDef : public CORBA::Contained
The class is used to represent a constant definition that is stored in the interface repository. This interface provides methods for setting and obtaining the constant's type, value, and typedef.
ConstantDef methods
CORBA::TypeCode_ptr type();
This method returns the TypeCode representing the object's type.
CORBA::IDLType_ptr type_def();
This method returns this object's IDLType.
void type_def(CORBA::IDLType_ptr type_def);
This method sets the IDLType of the constant.
The IDLType of this constant.
CORBA::Any *value();
This method returns a pointer to an Any object representing this object's value.
void value(CORBA::Any& _val);
This method sets the value of this constant.
An Any object that represents this object's value.
ConstantDescription
struct CORBA::ClassName
The ConstantDescription structure describes a constant that is stored in the interface repository.
ConstantDescription members
CORBA::Identifier_var name
The name of the constant.
CORBA::RepositoryId_var id
The repository id of the constant.
CORBA::RepositoryId_var defined_in
The name of the module or interface in which this constant is defined.
CORBA::String_var version
The constant's version.
CORBA::TypeCode_var type
The constant's IDL type.
CORBA::Any value
The value of this constant.
Contained
class CORBA::Contained : public CORBA::IRObject, public CORBA::Object
The Contained class is used to derive all interface repository objects that are themselves contained within another interface repository object. This class provides methods for:
Determining the Container that contains this object.
Include file
Include the file corba.h when you use this class.
interface Contained: IRObject {
attribute RepositoryId id;
attribute Identifier name;
attribute String_var version;

readonly attribute Container defined_in;
readonly attribute ScopedName absolute_name;
readonly attribute Repository containing_Repository;
struct Description {
DefinitionKind kind;
any value;
};
Description describe();
void move(
in Container new_Container,
in Identifier new_name,
in String_var new_version
);
};
Contained methods
CORBA::String_var absolute_name();
This method returns the absolute name, which is the name that uniquely identifies this object within its containing Repository. If the object's defined_in attribute (set when the object is created) references a Repository, then the absolute name is simply the object's name preceded by the string "::".
CORBA::Repository_ptr containing_repository();
Returns a pointer to the repository that contains this object.
CORBA::Container_ptr defined_in();
Returns a pointer to the Container where this object is defined.
Description* describe();
Returns this object's Description. Go to “Description” on page 92 for more information on the Description structure.
CORBA::String_var id();
Returns this object's repository identifier.
void id(const char *id);
Sets the repository identifier that uniquely identifies this object.
CORBA::String_var name();
This method returns the name which uniquely identifies the object within the scope of its container.
void name(const char * val);
This method sets the name of the contained object.
CORBA::String_var version();>
This method returns the object's version. The version distinguishes this object from other objects that have the same name.
void version(CORBA::String_var& val);
This method sets this object's version.
void move(CORBA::Container_ptr new_container, const char *new_name, CORBA::String_var& new_version);
Moves this object from its current Container to the new_container.
Container
class CORBA::Container : public CORBA::Container, public CORBA::Object
The Container class is used to create a containment hierarchy in the interface repository. A Container object holds object definitions derived from the Contained class. All object definitions derived from the Container class, with the exception of the Repository class, also inherit from the Contained class.
The Container provides methods to create types of IDL types defined in orbtypes.h, including InterfaceDef, ModuleDef and ConstantDef classes, but not the ValueMemberDef class. The defined_in attribute of each definition that is created is initialized to point to this object.
Include file
The corba.h file should be included when you use this class.
interface Container: IRObject {
Contained lookup(in ScopedName search_name);
ContainedSeq contents(
in DefinitionKind limit_type,
in boolean exclude_inherited
);
ContainedSeq lookup_name(
in Identifier search_name,
in long levels_to_search,
in CORBA::DefinitionKind limit_type,
in boolean exclude_inherited
);
struct Description {
Contained Contained_object;
DefinitionKind kind;
any value;
};
typedef sequence<Description> DescriptionSeq;
DescriptionSeq describe_contents(
in DefinitionKind limit_type,
in boolean exclude_inherited,
in long max_returned_objs
);
Container methods
CORBA::AbstractInterfaceDef_ptr create_abstract_interface(
const char* _arg_
id,
const char* _arg_name,
const char* _arg_
name,
const char* _arg_
version,
const CORBA_AbstractInterfaceDefSeq&_arg_
base_interfaces)
This method creates an AbstractInterfaceDef object with the specified attributes in the Container and returns a pointer to the newly created object.
CORBA::ContainedSeq * contents(CORBA::DefinitionKind limit_type, CORBA::Boolean exclude_inherited);
This method returns the list of definitions of contained objects that are either directly contained or inherited into the container. You can use this method to navigate through the hierarchy of object definitions in the Repository. This method returns all object definitions contained by modules in the Repository, followed by all object definitions contained within each of those modules.
The interface object types to be returned. If you specify dk_all, objects of all types are returned.
CORBA::AliasDef_ptr create_alias(const char * id,
const char *name,
const CORBA::String_var& version,
CORBA::IDLType_ptr original_type);
This method creates an AliasDef object with the specified attributes in this Container and returns a pointer to the newly created object.
CORBA::ConstantDef_ptr create_constant(const char * id,
const char *name,
const CORBA::String_var& version,
CORBA::IDLType_ptr type,
const CORBA::Any& value);
This method creates a ConstantDef object with the specified attributes in this Container and returns a pointer to the newly created object.
CORBA::EnumDef_ptr create_enum(const char * id,
const char *name, const CORBA::String_var& version,
const CORBA::EnumMemberSeq& members);
This method creates an EnumDef object with the specified attributes in this Container and returns a pointer to the newly created object.
CORBA::ExceptionDef_ptr create_exception(const char * id,
const char *name,
const CORBA::String_var& version,
const CORBA::StructMemberSeq& members);
This method creates an ExceptionDef object with the specified attributes in this Container and returns a pointer to the newly created object.
CORBA::InterfaceDef_ptr create_interface(const char * id,
const char *
name,
const CORBA::String_var&
version,
const CORBA::InterfaceDefSeq&
base_interfaces);
This method creates an InterfaceDef object with the specified attributes in this Container and returns a pointer to the newly created object.
CORBA::ModuleDef_ptr create_module(const char * id,
const char *name,
const CORBA::String_var& version);
This method creates a ModuleDef object with the specified attributes in this Container and returns a pointer to the newly created object.
CORBA::StructDef_ptr create_struct(const char * id,
const char *name,
const CORBA::String_var& version,
const CORBA::StructMemberSeq& members);
This method creates a StructureDef object with the specified attributes in this Container and returns a pointer to the newly created object.
CORBA::UnionDef_ptr create_union(const char * id,
const char *name,
const CORBA::String_var& version,
CORBA::IDLType_ptr discriminator_type,
const CORBA::UnionMemberSeq& members);
This method creates a UnionDef object with the specified attributes in this Container and returns a pointer to the newly created object.
The Union's id.
The Union's name.
The Union's version.
The type of the Union's discriminant value.
CORBA::DescriptionSeq * describe_contents(CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited,
CORBA::Long max_returned_objs);
This method returns a description for all definitions directly contained by or inherited into this container.
The interface object types whose descriptions are to be returned. Specifying dk_all will return the descriptions for objects of all types.
CORBA::Contained_ptr lookup(const char *search_name);
This method locates a definition relative to this container, given a scoped name. An absolute scoped name, one beginning with "::", may be specified to locate a definition within the enclosing repository. If no object is found, a NULL value is returned.
CORBA::ContainedSeq * lookup_name(const char *search_name,
CORBA::Long levels_to_search, CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited);
This method locates an object by name within a particular object. The search can be constrained by the number of levels in the hierarchy to be searched, the object type, and whether inherited objects should be returned.
The interface object types to be returned. Specifying dk_all will return objects of all types.
CORBA::ValueDef_ptr create_value(const char * id,
const char *name,
const char version,
CORBA::boolean is_custom,
CORBA::boolean is_abstract,
const CORBA::ValueDef_ptr _base_value,
CORBA::boolean is_truncatable,
const CORBA::ValueDefSeq& abstract_base_values,
const CORBA::InterfaceDefSeq& supported _interfaces,
const CORBA.InitializerSeq& initializers)
This method creates a ValueDef object with the specified attributes in this Container and returns a reference to the newly created object.
CORBA::ValueBoxDef_ptr create_value_box(const char* id, const char* name, const char* version, CORBA::IDLType_ptr original_type)
This method creates a ValueBoxDef object in this Container with the specified attributes and returns a reference to the newly created object.
DefinitionKind
enum CORBA::DefinitionKind
The constants in the DefinitionKind enumeration define the possible types of interface repository objects.
DefinitionKind values
 
Description
struct CORBA::Container::Description
This structure provides a generic description for items in the interface repository that are derived from the Contained class.
Description members
CORBA::Contained_var contained_object
The object contained in this struct.
CORBA::DefinitionKind kind
The object's kind.
CORBA::Any value
The object's value.
EnumDef
class CORBA::EnumDef : public CORBA::TypedefDef, public CORBA::Object
The class is used to describe an enumeration stored in the interface repository. This interface provides methods for setting and retrieving the enumeration's list of members.
EnumDef methods
CORBA::EnumMemberSeq *members();
This method returns the enumeration's list of members.
void members(CORBA::EnumMemberSeq members);
This method sets the enumeration's list of members.
ExceptionDef
class ExceptionDef : public CORBA::Contained
The class is used to describe an exception that is stored in the interface repository. This class provides methods for setting and retrieving the exception's list of members as well as a method for retrieving the exception's TypeCode.
ExceptionDef methods
CORBA::StructMemberSeq *members();
This method returns this exception's list of members.
void members(CORBA:StructMemberSeq& members);
This method sets the exception's list of members.
CORBA::TypeCode_ptr type();
This method returns the TypeCode that represents this exception's type.
ExceptionDescription
struct CORBA::ExceptionDescription
This structure is used to describe an exception that is stored in the interface repository.
ExceptionDescription members
CORBA::String_var defined_in
The repository Id of the module or interface in which this exception is defined.
CORBA::String_var id
The repository id of the exception.
CORBA::String_var name
The name of the exception.
CORBA::TypeCode_var type
The exception's IDL type.
CORBA::String_var version
The exception's version.
FixedDef
CORBA::FixedDef public CORBA::IDLType, public CORBA::Object
This interface is used to describe a fixed definition that is stored in the Interface Repository.
Methods
CORBA::UShort digits();
This method sets the number of digits for the fixed type.
void digits(CORBA::UShort _digits);
This method sets the attribute for fixed type.
CORBA::Short scale();
This method sets the scale for the fixed type.
void scale(CORBA::Short _scale);
This method sets the attribute for the fixed type.
FullInterfaceDescription
struct CORBA::FullInterfaceDescription
The FullInterfaceDescription structure describes an interface that is stored in the interface repository.
FullInterfaceDescription members
CORBA::String_var Name
The name of the interface.
CORBA::String_var id
The repository id of the interface.
CORBA::String_var defined_in
The name of the module or interface in which this interface is defined.
CORBA::String_var version
The interface's version.
CORBA::OpDescriptionSeq operations
The list of operations supported by this interface.
CORBA::AttrDescriptionSeq attributes
The list of attributes contained in this interface.
CORBA::RepositoryIdSeq base_interfaces
The interfaces from which this interface inherits.
CORBA::RepositoryIdSeq derived_interfaces
The interfaces derived from this interface.
CORBA::TypeCode_var type
This interface's TypeCode.
CORBA::Boolean is_abstract
Indicates whether or not this interface is abstract.
FullValueDescription
struct CORBA::FullValueDescription
This structure is used to represent a full value definition that is stored in the Interface Repository.
Variables
CORBA::String_var name
The name of the valuetype.
CORBA::String_var id
The repository id of the valuetype.
CORBA::Boolean is_abstract
If this variable is true, specifies an abstract valuetype.
CORBA::Boolean is_custom
If this variable is true, specifies custom marshalling for the valuetype.
CORBA::String_var defined_in
The repository Id of the module in which this valuetype is defined.
CORBA::String_var version
The valuetype's version.
CORBA::OpDescriptionSeq operations
The list of operations offered by the valuetype.
CORBA::AttrDescriptionSeq attributes
The valuetype's list of valuetype's member attributes.
CORBA::.ValueMemberSeq members
The array of value definitions.
CORBA::InitializerSeq initializers
The array of initializers.
CORBA::RepositoryIdSeq supported_interfaces;
The list of supported interfaces.
CORBA::RepositoryIdSeq abstract_base_values;
The list of abstract value types from which this valuetype inherits.
CORBA::Boolean is_truncatable;
If this variable is set to true, the value can be truncated to its base valuetype safely.
CORBA::String_var base_values;
The description of the value type from which this valuetype inherits.
CORBA::TypeCode_var type
The valuetype's IDL type code.
IDLType
class CORBA::IDLType : public CORBA::IRObject, public CORBA::Object
The IDLType class provides an abstract interface that is inherited by all interface repository definitions that represent IDL types. This class provides a method for returning an object's Typecode, which identifies the object's type. The IDLType is unique; the Typecode is not.
Include file
You should include the file corba.h when using this class.
interface IDLType:IRObject {
readonly attribute TypeCode type;
};
IDLType methods
CORBA::Typecode_ptr type();
This method returns the typecode of the current IRObject.
InterfaceDef
class CORBA::InterfaceDef : public CORBA::Container,
public CORBA::Contained,
public CORBA::IDLType
The InterfaceDef class is used to define an ORB object's interface that is stored in the interface repository.
For more information, see “Container” on page 86, “Contained” on page 85, and “IDLType” on page 96.
Include file
You should include the file corba.h when you use this class.
interface InterfaceDef: Container, Contained, IDLType {
typedef sequence<RepositoryId> RepositoryIdSeq;
typedef sequence<OperationDescription> OpDescriptionSeq;
typedef sequence<AttributeDescription> AttrDescriptionSeq;
attribute InterfaceDefSeq base_interfaces;
attribute boolean is_abstract;
readonly attribute InterfaceDefSeq
derived_interfaces
boolean is_a(in RepositoryId interface_id);
struct FullInterfaceDescription {
Identifier name;
RepositoryId id;
RepositoryId defined_in;
String_var version;
OpDescriptionSeq operations;
AttrDescriptionSeq attributes;
RepositoryIdSeq base_interfaces;
RepositoryIdSeq derived_interfaces;
TypeCode type;
boolean is_abstract;
};
FullInterfaceDescription describe_interface();
AttributeDef create_attribute(
in RepositoryId id,
in Identifier name,
in String_var version,
in IDLType type,
in CORBA::AttributeMode mode
);
OperationDef create_operation(
in RepositoryId id,
in Identifier name,
in String_var version,
in IDLType result,
in OperationMode mode,
in ParDescriptionSeq params,
in ExceptionDefSeq exceptions,
in ContextIdSeq contexts
);
struct InterfaceDescription {
Identifier name;
RepositoryId id;
RepositoryId defined_in;
String_var version;
RepositoryIdSeq base_interfaces;
boolean is_abstract;
};
};
InterfaceDef methods
CORBA::InterfaceDefSeq *base_interfaces();
This method returns a list of interfaces from which this class inherits.
void base_interfaces(const CORBA::InterfaceDefSeq& val);
This method sets the list of the interfaces from which this class inherits.
CORBA::AttributeDef_ptr create_attribute(const char * id, const char * name, const CORBA::String_var& version, CORBA::IDLType_ptr type, CORBA::AttributeMode mode);
This method returns a pointer to a newly created AttributeDef that is contained in this object. The id, name, version, type, and mode are set to the values specified.
CORBA::OperationDef_ptr create_operation(const char *id, const char *name, CORBA::String_var& version, CORBA::IDLType_ptr result,
CORBA::OperationMode mode,
const CORBA::ParDescriptionSeq& params,
const CORBA::ExceptionDefSeq& exceptions,
const CORBA::ContextIdSeq& contexts);
This method creates a new OperationDef that is contained by this object using the specified parameters. The defined_in attribute of the newly created OperationDef is set to identify this InterfaceDef.
CORBA::InterfaceDef::FullInterfaceDescription *describe_interface();
This method returns the FullInterfaceDescription which describes this object's interface.
CORBA::Boolean is_a(const char * interface_id);
This method returns true if this interface is identical to or inherits from the specified interface directly or indirectly.
InterfaceDescription
struct:CORBA:: InterfaceDescription
This structure describes an object that is stored in the interface repository.
InterfaceDescription members
CORBA::String_var name
The name of the interface.
CORBA::String_var id
The interface's repository identifier.
CORBA::String_var defined_in
The name of the repository Id in which the interface is defined.
CORBA::String_var version
The interface's version.
CORBA::RepositoryIdSeq base_interfaces
A list of base interfaces for this interface.
CORBA::Boolean is_abstract
Indicates whether or not this interface is abstract.
IRObject
class IRObject : CORBA::Object
The IRObject class offers the most generic interface for interface repository objects. The Container class, IDLType, Contained, and others are derived from this class.
Include file
You should include the file corba.h when you use this class.
interface IRObject {
readonly attribute DefinitionKind def_kind;
void destroy();
};
IRObject methods
CORBA::DefinitionKind def_kind();
This method returns the type of this interface repository object. Go to “DefinitionKind” on page 92 for a list of possible types.
void destroy();
This method deletes this object from the interface repository. If this object is a Container, this method also deletes all of its contents. If the object is currently contained by another object, it is removed. The destroy method returns the Exception(CORBA::BAD_PARAM) when invoked on a PrimitiveDef or Repository object. The Repository class is described in “Repository” on page 106.
ModuleDef
class ModuleDef : CORBA::Container,CORBA::Contained
The class is used to represent an IDL module in the interface repository.
ModuleDescription
struct ModuleDescription
The ModuleDescription structure describes a module that is stored in the interface repository.
ModuleDescription members
CORBA::String_var name
The name of the module.
CORBA::String_var id
The repository id of the module.
CORBA::String_var defined_in
The name of the repository Id in which this module is defined.
CORBA::String_var version
The module's version.
NativeDef
class CORBA::NativeDef
This interface is used to represent a native definition that is stored in the Interface Repository.
OperationDef
class CORBA::OperationDef : public virtual CORBA::Contained, public CORBA::Object
The OperationDef class contains information about an interface operation that is stored in the interface repository. This class is derived from the Contained class, which is described in “Contained” on page 85. The inherited describe method returns a OperationDescription structure that provides complete information on the operation.
Include file
You should include the file corba.h when you use this class.
interface OperationDef: Contained {
typedef sequence<ParameterDescription> ParDescriptionSeq;
typedef Identifier ContextIdentifier;
typedef sequence<ContextIdentifier> ContextIdSeq;
typedef sequence<ExceptionDef> ExceptionDefSeq;
typedef sequence<ExceptionDescription> ExcDescriptionSeq;
readonly attribute TypeCode result;
attribute IDLType result_def;
attribute ParDescriptionSeq params;
attribute CORBA::OperationMode mode;
attribute ContextIdSeq contexts;
attribute ExceptionDefSeq exceptions;

readonly attribute OperationKind bind;
};
struct OperationDescription {
Identifier name;
RepositoryId id;
RepositoryId defined_in;
String_var version;
TypeCode result;
OperationMode mode;
ContextIdSeq contexts;
ParDescriptionSeq parameters;
ExcDescriptionSeq exceptions;
};
OperationDef methods
CORBA::ContextIdSeq * contexts();
This method returns the list of context identifiers that apply to the operation.
void context(const CORBA::ContextIdSeq& val);
This method sets the list of context identifiers that apply to this operation.
CORBA::ExceptionDefSeq * exceptions();
This method returns the list of the exception types that can be raised by this operation.
void exceptions(const CORBA::ExceptionDefSeq& val);
This method sets the list of exception types that may be raised by this operation.
CORBA::OperationMode mode();
This method returns the mode of the operation represented by this OperationDef. The mode may be normal or oneway. Operations that have a normal mode are synchronous and return a value to the client application. Oneway operations do not block and no response is sent from the object implementation to the client.
void mode(CORBA::OperationMode val);
This method sets the mode of the operation.
The desired mode of this operation, either OP_ONEWAY or OP_NORMAL. Go to “OperationMode” on page 104 for more information.
CORBA::ParDescriptionSeq * params();
This method returns a pointer to a list of ParameterDescription structures that describe the parameters to this OperationDef.
void params(const CORBA::ParDescriptionSeq& val);
This method sets the list of the ParameterDescription structures for this OperationDef. The order of the structures is significant and should correspond to the order defined in the IDL definition for the operation.
The list of ParameterDescription structures.
CORBA::TypeCode_ptr result();
This method returns a pointer to a TypeCode representing the type of the value returned by this Operation. The TypeCode is a read-only attribute.
CORBA::IDLType_ptr result_def();
This method returns a pointer to the definition of the IDL type returned by this OperationDef.
void result_def(CORBA::IDLType_ptr val);
This method sets the definition of the type returned by this OperationDef.
OperationDescription
struct CORBA::OperationDescription
The OperationDescription structure describes an operation that is stored in the interface repository.
OperationDescription members
CORBA::String_var name
The name the of the operation.
CORBA::String_var id
The repository id of the operation.
CORBA::String_var defined_in
The repository id of the interface or valuetype in which this operation is defined.
CORBA::String_var version
The operation's version.
CORBA::TypeCode_var result
The operation's result.
CORBA::OperationMode mode
The operation's mode.
CORBA::ContextIdSeq contexts
The operation's associated context list.
CORBA::ParameterDescriptionSeq parameters
The operation's parameters.
CORBA::ExceptionDescriptionSeq exceptions
The exceptions that this operation may raise.
OperationMode
enum CORBA:OperationMode
The enumeration defines the values used to represent the mode of an operation; either oneway or normal. Oneway operations are those for which the client application does not expect a response. Normal requests involve a response being sent to the client by the object implementation that contains the results of the request.
OperationMode values
 
ParameterDescription
struct CORBA::ParameterDescription
The ParameterDescription structure describes a parameter for an operation that is stored in the interface repository.
ParameterDescription members
CORBA::String_var name
The name of the parameter.
CORBA::TypeCode_var type
The parameter's typecode.
CORBA::IDLType_var type_def
The parameter's IDL type.
CORBA::ParameterMode mode
The parameter's mode.
ParameterMode
enum CORBA::ParameterMode
The values that represent the possible modes of parameters to operations.
ParameterMode values
 
PrimitiveDef
class PrimitiveDef : public CORBA::IDLType, public CORBA::Object
The class is used to describe a primitive (such as an int or a long) that is stored in the interface repository. It provides a method for retrieving what kind of primitive it is.
PrimitiveDef methods
CORBA::PrimitiveKind kind();
This method returns the kind of primitive represented by this object.
PrimitiveKind
enum CORBA::PrimitiveKind
The PrimitiveKind enumeration contains the constants that define the primitive types of objects that may be stored in the interface repository.
PrimitiveKind values
 
Repository
class Repository : public CORBA::Container, public CORBA::Object
The Repository class provides access to the interface repository and is derived from the Container class. Go to “Contained” on page 85 for more information.
Include file
You should include the file corba.h when using this class.
interface Repository: Container {
Contained lookup_id(in RepositoryId search_id);
PrimitiveDef get_primitive(in CORBA::PrimitiveKind kind);
StringDef create_string(in unsigned long bound);
WStringDef create_wstring(in unsigned long bound)
SequenceDef create_sequence(
in unsigned long bound,
in IDLType element_type
};
ArrayDef create_array(
in unsigned long length,
n IDLType element_type
);
FixedDef create_fixed(
in unsigned short digits,
in short scale
);
;
Repository methods
CORBA::ArrayDef_ptr create_array(CORBA::ULong length,
CORBA::IDLType_ptr element_type);
This method creates a new ArrayDef and returns a pointer to it.
CORBA::SequenceDef_ptr create_sequence
(CORBA::ULong bound,
CORBA::IDLType_ptr element_type);
This method creates a new SequenceDef object and returns a pointer to it.
A pointer to the IDLType of the items in the sequence.
CORBA::StringDef_ptr create_string(CORBA::Ulong bound);
This method creates a new StringDef object and returns a pointer to it.
CORBA::WstringDef_ptr create_wstring(CORBA::Ulong bound);
This method creates a new WstringDef object and returns a pointer to it.
CORBA::PrimitiveDef_ptr get_primitive(CORBA::PrimitiveKind kind);
This method returns a reference to a PrimitiveKind.
CORBA::Contained_ptr lookup_id(const char * search_id);
This method searches for an object in the interface repository that matches the specified search id. If no match is found, a NULL value is returned.
CORBA::FixedDef_ptr create_fixed(CORBA::UShort digits, CORBA::Short scale)
This method sets the number of digits and the scale for the fixed type.
SequenceDef
class SequenceDef : public CORBA::IDLType, public CORBA::Object
The class is used to represent a sequence that is stored in the interface repository. This interface provides methods for setting and retrieving the sequence's bound and element type.
SequenceDef methods
CORBA::ULong bound()
This method returns the bounds of the sequence.
void bound(CORBA::ULong bound)
This method sets the bound of the sequence.
CORBA::TypeCode_ptr element_type();
This method returns the TypeCode of the elements in this sequence.
CORBA::IDLType_ptr element_type_def();
This method returns the IDL type of the elements in this sequence.
void element_type_def(CORBA::IDLType_ptr element_type_def);
This method sets the IDL type of the elements in this sequence.
StringDef
class StringDef : public CORBA::IDLType, public CORBA::Object
The class is used to describe Strings stored in the interface repository. This interface provides methods for setting and retrieving the bounds of the strings.
StringDef methods
CORBA::ULong bound();
This method returns the bounds of the String.
void bound(CORBA::ULong bound);
This method sets the bounds of the String.
StructDef
class StructDef : public CORBA::TypedefDef, public CORBA::Container, public CORBA::Object
The class is used to represent a structure that is stored in the interface repository.
StructDef methods
CORBA::StructMemberSeq *members();
This method returns the structures's list of members.
void members(CORBA::StructMemberSeq& members);
This method sets the structure's list of members.
StructMember
struct CORBA::StructMember
This interface is used to define the member for the struct. It uses the name and type variables in the definition.
StructMember methods
CORBA::String_var name
The name of the type.
CORBA::TypeCode_var type
The type's IDL type.
CORBA::IDLType_var type_def
The IDL type's IDL type definition.
TypedefDef
class TypedefDef : public CORBA::Contained, public CORBA::IDLType, public CORBA::Object
This abstract base class represents a user-defined structure that is stored in the interface repository. The following interfaces all inherit from this class:
TypeDescription
structure TypeDescription
The TypeDescription structure contains the information that describes a type for an operation stored in the interface repository.
TypeDescription members
CORBA::String_var name
The name of the type.
CORBA::String_var id
The repository id of the type.
CORBA::String_var defined_in
The name of the module or interface in which this type is defined.
CORBA::String_var version
The type's version.
CORBA::TypeCode_var type
The type's IDL type.
UnionDef
class UnionDef : public CORBA::TypedefDef, public CORBA::Container, public CORBA::Object
This class is used to represent a Union that is stored in the interface repository. This class provides methods for setting and retrieving the union's list of members and discriminator type.
UnionDef methods
CORBA::TypeCode_ptr discriminator_type();
This method returns the TypeCode of the discriminator of the Union.
CORBA::IDLType_ptr discriminator_type_def();
This method returns the IDL type of the Union's discriminator.
void discriminator_type_def(CORBA::IDLType_ptr discriminator_type_def);
This method sets the IDL type of the Union's discriminator.
CORBA::UnionMemberSeq *members();
This method returns the Union's list of members.
void members(CORBA::UnionMemberSeq& members);
This method sets the Union's list of members.
UnionMember
struct CORBA::UnionMember
The UnionMember struct contains information that describes a Union that is stored in the interface repository.
UnionMember members
CORBA::String_var name
The name of the Union.
CORBA::Any label
The label of the Union.
CORBA::TypeCode_var type
The Union's typecode.
CORBA::IDLType_var type_def
The Union's IDL type.
ValueBoxDef
class ValueBoxDef public CORBA::Contained, public COBRA::IDLType, public CORBA::Object
This interface is used as a simple valuetype that contains a single public member of any IDL type. ValueBoxDef is a simplified version of ValueType:
public valuetype <IDLType> value;
This declaration is almost equal to valuetype boxed type <IDLType> but ValueBoxDef is not the same as simple ValueTypeDef.
Methods
CORBA::IDLType_ptr original_type_def();
This method identifies the type being boxed.
void original_type_def(CORBA::IDLType_ptr original_type_def);
This method sets the type being boxed.
ValueDef
class CORBA::ValueDef public CORBA::Container, public CORBA::Contained, public CORBA::IDLType, public CORBA::Object
This interface describes the IDL value type called a construct. This interface is very close to a class type. It represent a value definition that is stored in the Interface Repository.
Methods
CORBA::InterfaceDefSeq supported_interfaces( );
This method lists the interfaces which this value type supports.
void supported_interfaces(const CORBA::interfaceDefSeq& supported_interfaces);
This method sets the supported interfaces.
CORBA::InitializerSeq& initializers( );
This method returns the list of initializers.
void initializers(const CORBA::InitializerSeq& initializers);
This method sets the initializers.
CORBA.ValueDef_ptr base_value( );
This method describes the value types from which this value inherits.
void base_value(CORBA::ValueDef_ptr base_value);
This method sets the value types
CORBA.ValueDefSeq& abstract_base_values( );
This method returns the list of the abstract value types from which this value inherits.
void abstract_base_values(const CORBA::ValueDef[Seq& abstract_base_values);
This method defines the abstract value type's base value.
CORBA::Boolean is_abstract( );
This method returns true if the value is an abstract value type.
void is_abstract(CORBA::Boolean is_abstract);
This method sets the valuetype to be an abstract value type.
CORBA::Boolean is_custom( );
This method returns true if the value uses custom marshalling.
void is_custom(CORBA::Boolean is_custom);
This method sets the custom marshalling for the value.
CORBA::Boolean is_truncatable( ):
This method returns true if the value can be truncated from its base value safely.
void is_truncatable(CORBA::Boolean is_truncatable);
This method sets the truncated attribute for this value.
CORBA::Boolean is_a(const char* value_id);
This method returns true if the value on which it is invoked either is identical to or inherits, directly or indirectly from the interface or value defined by the value_id parameter. Otherwise it returns false.
CORBA::ValueDef _ptr FullValueDescription* describe_value();
This method returns a FullValueDescription describing the value including its operations and attributes.
CORBA::ValueMemberDef_ptr create_value_member(const Char* id, const Char* name, const Char* version, CORBA::IDLType_ptr type_def, CORBA::short access);
This method returns a new ValueMemberDef contained in the ValueDef on which it is invoked.
CORBA::AttributeDef_ptr create_attribute(const Char* id, const Char* name,const Char* version, CORBA::IDLType_ptr type, CORBA::AttributeMode mode);
This method creates a new attribute definition for this valuetype and returns a new AttributeDef for it
CORBA::OperationDef_ptr create_operation(const Char* id, const Char* name, const Char* version, CORBA::IDLType_ptr result, CORBA::OperationMode mode, const CORBA::ParDescriptionSeq& params, const CORBA::ExceptionDefSeq& exceptions, const CORBA::ContextIDSeq& contexts);
This method creates a new Operation for this valuetype and returns an OperationDef for it.
ValueDescription
struct CORBA::ValueDescription
This interface describes a value type that is stored in the Interface Repository.
Values
CORBA::String_var name
The name of the type.
CORBA::String_var id
The repository id of the type.
CORBA::Boolean is_abstract
If this variable is true, the value is an abstract value type.
CORBA::Boolean is_custom
If this variable is true, the valuetype is custom marshalled.
CORBA::String_var defined_in.
The repository Id of the module in which this type is defined.
CORBA::String_var version
The type's version.
CORBA::RepositoryIdSeq& supported_interfaces
The list of interfaces which this value type supports.
CORBA::RepositoryIdSeq& abstract_base_values
The list of abstract value types from which this value inherits.
CORBA::Boolean is_truncatable
If this variable is true, the value type can be truncated to its base value type safely.
CORBA::String_var base_value
The value types from which this value inherits.
WstringDef
class WstringDef : public CORBA::IDLType, public CORBA::Object
This class is used to describe Unicode strings that are stored in the interface repository. It provides methods for setting and retrieving the bounds of a Unicode string.
WStringDef methods
CORBA::ULong bound();
This method returns the bounds of the Wstring.
void members(CORBA::ULong bound);
This method sets the bounds of the Wstring.