Interstage Application Server リファレンスマニュアル(API編)
目次 索引 前ページ次ページ

第1章 C言語インタフェース> 1.10 インタフェースリポジトリインタフェース

1.10.1 型の定義

形式

typedef  CORBA_string  CORBA_Identifier;        /* 識別名 */
typedef  CORBA_string  CORBA_ScopedName;        /* スコープ名 */
typedef  CORBA_string  CORBA_RepositoryId;      /* グローバル名 */

enum  CORBA_DefinitionKind {             /* オブジェクト種別 */
        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_Sequence, dk_Array, 
        dk_Repository, dk_Wstring
} ;

typedef CORBA_string  CORBA_VersionSpec;        /* バージョン情報 */

typedef CORBA_Object  CORBA_IRObject;           /* IRObjectのオブジェクトリファレンス */
typedef CORBA_Object  CORBA_Contained;          /* Containedオブジェクトリファレンス */
typedef CORBA_Object  CORBA_Container;          /* Containerオブジェクトリファレンス */
typedef CORBA_Object  CORBA_IDLType;            /* IDLTypeオブジェクトリファレンス  */
typedef CORBA_Object  CORBA_Repository;         /* Repositoryオブジェクトリファレンス */
typedef CORBA_Object  CORBA_ModuleDef;          /* ModuleDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_ConstantDef;        /* ConstantDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_TypedefDef;         /* TypedefDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_StructDef;          /* StructDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_UnionDef;           /* UnionDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_EnumDef;            /* EnumDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_AliasDef;           /* AliasDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_PrimitiveDef;       /* PrimitiveDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_StringDef;          /* StringDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_SequenceDef;        /* SequenceDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_ArrayDef;           /* ArrayDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_ExceptionDef;       /* ExceptionDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_AttributeDef;       /* AttributeDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_OperationDef;       /* OperationDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_InterfaceDef;       /* InterfaceDefオブジェクトリファレンス */
typedef CORBA_Object  CORBA_ WstringDef;        /* WstringDefオブジェクトリファレンス */

typedef struct {                        /* オブジェクト情報構造体 */
  CORBA_DefinitionKind  kind;                   /* オブジェクト種別 */
  CORBA_any  value;                             /* オブジェクト別情報 */
} CORBA_Contained_Description;

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        CORBA_Contained  *_buffer;
} CORBA_ContainedSeq;   /* Contained オブジェクトリファレンスのsequence */

typedef struct {                         /* オブジェクト情報構造体 */
        CORBA_Contained  contained_object;      /* オブジェクトリファレンス */
        CORBA_DefinitionKind  kind;             /* オブジェクト種別 */
        CORBA_any  value;                       /* オブジェクト別情報 */
} CORBA_Container_Description;

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        CORBA_Container_Description  *_buffer;
} CORBA_Container_DescriptionSeq;   /* Container_Description 構造体のsequence */

typedef struct {                /* ModuleDef 情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル 名 */
        CORBA_RepositoryId  defined_in; /* 親オブジェクトのグローバル名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
} CORBA_ModuleDescription;

typedef struct {                /* ConstantDef 情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル名 */
        CORBA_RepositoryId  defined_in; /* 親オブジェクトのグローバル名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
        CORBA_TypeCode  type;           /* タイプコード*/
        CORBA_any  value;               /* 値 */
} CORBA_ConstantDescription;

typedef struct {                /* Typedef 情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル名 */
        CORBA_RepositoryId  defined_in; /* 親オブジェクトのグローバル名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
        CORBA_TypeCode  type;           /* タイプコード  */
} CORBA_TypeDescription;

typedef struct {                /* 構造体メンバ構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_TypeCode  type;           /* タイプコード  */
        CORBA_IDLType  type_def;        /* メンバのオブジェクトリファレンス */
} CORBA_StructMember;

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        struct CORBA_StructMember  *_buffer;
} CORBA_StructMemberSeq;        /* 構造体メンバ構造体のsequence */

typedef struct {                /* union メンバ構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_any  label;               /* 弁別値 */
        CORBA_TypeCode  type;           /* タイプコード  */
        CORBA_IDLType  type_def;        /* メンバのオブジェクトリファレンス  */
} CORBA_UnionMember;

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        struct CORBA_UnionMember  *_buffer;
} CORBA_UnionMemberSeq; /* unionメンバ構造体のsequence */

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        CORBA_string  *_buffer;
} CORBA_EnumMemberSeq;  /* Enum メンバのsequence */

enum  CORBA_PrimitiveKind {     /* PrimitiveDef種別 */
        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_objref,
        pk_longlong, pk_ulonglong, pk_longdouble,pk_wchar,
        pk_wstring
} ;

typedef struct {                /* ExceptionDef情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル名 */
        CORBA_RepositoryId  defined_in; /* 親オブジェクトのグローバル名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
        CORBA_TypeCode  type;           /* タイプコード */
} CORBA_ExceptionDescription;

enum  CORBA_AttributeMode { ATTR_NORMAL, ATTR _READONLY } ;     /* Atributeの属性種別 */

typedef struct {                /* AttributeDef情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル名 */
        CORBA_RepositoryId  defined_in  /* 親オブジェクトのグローバル名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
        CORBA_TypeCode  type;           /* タイプコード  */
        CORBA_AttributeMode  mode;      /* 属性 */
} CORBA_AttributeDescription;

enum CORBA_OperationMode { OP_NORMAL, OP _ONEWAY } ;    /* Operation の属性種別 */
enum CORBA_ParameterMode { PARAM_IN, PARAM_OUT, PARAM_INOUT }; /* Parameter の属性種別 */

typedef struct {                /* パラメタ情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_TypeCode  type;           /* タイプコード  */
        CORBA_IDLType   type_def;
        CORBA_ParameterMode  mode;      /* 属性 */
} CORBA_ParameterDescription;

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        struct CORBA_ParameterDescription  *_buffer;
} CORBA_ParDescriptionSeq;              /* パラメタ情報構造体のsequence */

typedef  CORBA_Identifier  CORBA_ContextIdentifier;

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        CORBA_string  *_buffer;
} CORBA_ContextIdSeq;   /* ContextIdentifier のsequence */

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        CORBA_ExceptionDef  *_buffer;
} CORBA_ExceptionDefSeq;        /* ExceptionDefオブジェクトリファレンスのsequence */

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        struct CORBA_ExceptionDescription  *_buffer;
} CORBA_ExcDescriptionSeq;      /* ExceptionDef情報構造体のsequence */

typedef struct {                /* ExceptionDef情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル名 */
        CORBA_RepositoryId  defined_in; /* 親オブジェクトのグローバル 名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
        CORBA_TypeCode  result;           /* 復帰値のタイプコード */
        CORBA_OperationMode  mode;      /* 属性 */
        CORBA_ContextIdSeq  contexts;   /* コンテキスト  */
        CORBA_ParDescriptionSeq  parameters;    /* パラメタ情報 */
        CORBA_ExcDescriptionSeq  exceptions;    /* 例外情報 */
} CORBA_OperationDescription;

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        CORBA_InterfaceDef  *_buffer;
} CORBA_InterfaceDefSeq;        /* InterfaceDef情報構造体のsequence */
typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        CORBA_string  *_buffer;
} CORBA_RepositoryIdSeq;        /* RepositoriIdのsequence */

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        struct CORBA_OperationDescription  *_buffer;
} CORBA_OpDescriptionSeq;       /* OperationDef情報構造体のsequence */

typedef struct {
        CORBA_unsigned_long  _maximum;
        CORBA_unsigned_long  _length;
        struct CORBA_AttributeDescription  *_buffer;
} CORBA_AttrDescriptionSeq;     /* AttributeDef情報構造体のsequence */

typedef struct {                /* インタフェース情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル名 */
        CORBA_RepositoryId  defined_in; /* 親オブジェクトのグローバル名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
        CORBA_OpDescriptionSeq  operations;     /* オペレーション情報 */
        CORBA_AttrDescriptionSeq  attributes;   /* アトリビュート情報 */
        CORBA_RepositoryIdSeq  base_interfaces; /* 継承情報 */
        CORBA_TypeCode  type;           /* タイプコード */
} CORBA_InterfaceDef_FullInterfaceDescription;

typedef struct {                /* InterfaceDef情報構造体 */
        CORBA_Identifier  name;          /* 識別名 */
        CORBA_RepositoryId  id;         /* グローバル名 */
        CORBA_RepositoryId  defined_in; /* 親オブジェクトのグローバル名 */
        CORBA_VersionSpec  version;     /* バージョン情報 */
        CORBA_RepositoryIdSeq  base_interfaces; /* 継承情報 */
} CORBA_InterfaceDescription;

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005