Hitachi

VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス


6.11.1 IDLの定義

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 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);
    ModuleDef create_module,
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version);
 
    ConstantDef create_constant(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in IDLType type,
        in any value);
    StructDef create_struct(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in StructMemberSeq members);
 
    NativeDef create_native(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version);
 
    UnionDef create_union(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in IDLType discriminator_type,
        in UnionMemberSeq members);
 
    EnumDef create_enum(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in EnumMemberSeq members);
 
    AliasDef create_alias(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in IDLType original_type);
 
    ExceptionDef create_exception(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in StructMemberSeq members);
 
    InterfaceDef create_interface(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in InterfaceDefSeq base_interfaces,
        in boolean is_abstract);
 
    ValueDef create_value(
        in RepositoryId id,
        in Identifier name,
        in VersionSpec version,
        in boolean is_custom,
        in boolean is_abstract,
        in ValueDef base_value,
        in boolean is_truncatable,
        in ValueDefSeq abstract_base_values,
        in InterfaceDefSeq supported_interfaces,
        in InitializerSeq initializers);
};