Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 #ifndef _IFR_EXTENDED_IDL_
00052 #define _IFR_EXTENDED_IDL_
00053
00054 #include "tao/IFR_Client/IFR_Basic.pidl"
00055 #include "tao/AnyTypeCode/Visibility.pidl"
00056 #include "tao/AnyTypeCode/ValueModifier.pidl"
00057
00058 module CORBA
00059 {
00060 typeprefix CORBA "omg.org";
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074 interface FixedDef : IDLType
00075 {
00076 attribute unsigned short digits;
00077 attribute short scale;
00078 };
00079
00080 struct ValueMember
00081 {
00082 Identifier name;
00083 RepositoryId id;
00084 RepositoryId defined_in;
00085 VersionSpec version;
00086 TypeCode type;
00087 IDLType type_def;
00088 Visibility access;
00089 };
00090
00091 typedef sequence <ValueMember> ValueMemberSeq;
00092
00093 interface ValueMemberDef : Contained
00094 {
00095 readonly attribute TypeCode type;
00096 attribute IDLType type_def;
00097 attribute Visibility access;
00098 };
00099
00100 interface ValueDef : Container, Contained, IDLType
00101 {
00102
00103 attribute InterfaceDefSeq supported_interfaces;
00104 attribute InitializerSeq initializers;
00105 attribute ValueDef base_value;
00106 attribute ValueDefSeq abstract_base_values;
00107
00108 attribute boolean is_abstract;
00109 attribute boolean is_custom;
00110 attribute boolean is_truncatable;
00111 boolean is_a (
00112 in RepositoryId id
00113 );
00114
00115 struct FullValueDescription
00116 {
00117 Identifier name;
00118 RepositoryId id;
00119 boolean is_abstract;
00120 boolean is_custom;
00121 RepositoryId defined_in;
00122 VersionSpec version;
00123 OpDescriptionSeq operations;
00124 AttrDescriptionSeq attributes;
00125 ValueMemberSeq members;
00126 InitializerSeq initializers;
00127 RepositoryIdSeq supported_interfaces;
00128 RepositoryIdSeq abstract_base_values;
00129 boolean is_truncatable;
00130 RepositoryId base_value;
00131 TypeCode type;
00132 };
00133
00134 FullValueDescription describe_value ();
00135
00136 ValueMemberDef create_value_member (
00137 in RepositoryId id,
00138 in Identifier name,
00139 in VersionSpec version,
00140 in IDLType type,
00141 in Visibility access
00142 );
00143 AttributeDef create_attribute (
00144 in RepositoryId id,
00145 in Identifier name,
00146 in VersionSpec version,
00147 in IDLType type,
00148 in AttributeMode mode
00149 );
00150 OperationDef create_operation (
00151 in RepositoryId id,
00152 in Identifier name,
00153 in VersionSpec version,
00154 in IDLType result,
00155 in OperationMode mode,
00156 in ParDescriptionSeq params,
00157 in ExceptionDefSeq exceptions,
00158 in ContextIdSeq contexts
00159 );
00160 };
00161
00162 struct ValueDescription
00163 {
00164 Identifier name;
00165 RepositoryId id;
00166 boolean is_abstract;
00167 boolean is_custom;
00168 RepositoryId defined_in;
00169 VersionSpec version;
00170 RepositoryIdSeq supported_interfaces;
00171 RepositoryIdSeq abstract_base_values;
00172 boolean is_truncatable;
00173 RepositoryId base_value;
00174 };
00175
00176 interface ExtValueDef : ValueDef
00177 {
00178
00179 attribute ExtInitializerSeq ext_initializers;
00180
00181
00182 struct ExtFullValueDescription
00183 {
00184 Identifier name;
00185 RepositoryId id;
00186 boolean is_abstract;
00187 boolean is_custom;
00188 RepositoryId defined_in;
00189 VersionSpec version;
00190 OpDescriptionSeq operations;
00191 ExtAttrDescriptionSeq attributes;
00192 ValueMemberSeq members;
00193 ExtInitializerSeq initializers;
00194 RepositoryIdSeq supported_interfaces;
00195 RepositoryIdSeq abstract_base_values;
00196 boolean is_truncatable;
00197 RepositoryId base_value;
00198 TypeCode type;
00199 };
00200
00201 ExtFullValueDescription describe_ext_value ();
00202
00203
00204 ExtAttributeDef create_ext_attribute ( in RepositoryId id,
00205 in Identifier name,
00206 in VersionSpec version,
00207 in IDLType type,
00208 in AttributeMode mode,
00209 in ExceptionDefSeq get_exceptions,
00210 in ExceptionDefSeq set_exceptions
00211 );
00212 };
00213
00214 interface ValueBoxDef : TypedefDef
00215 {
00216 attribute IDLType original_type_def;
00217 };
00218 };
00219
00220 #endif