00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TAO_DYNCOMMON_H
00015 #define TAO_DYNCOMMON_H
00016 #include "ace/pre.h"
00017
00018 #include "tao/DynamicAny/DynamicAny.h"
00019
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif
00023
00024 #if defined (_MSC_VER)
00025 # pragma warning(push)
00026 # pragma warning (disable:4250)
00027 #endif
00028
00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00030
00031
00032
00033
00034
00035
00036
00037 class TAO_DynamicAny_Export TAO_DynCommon
00038 : public virtual DynamicAny::DynAny
00039 {
00040 public:
00041
00042 TAO_DynCommon (void);
00043
00044
00045 virtual ~TAO_DynCommon (void);
00046
00047
00048
00049 virtual CORBA::TypeCode_ptr type (
00050 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00051
00052 ACE_THROW_SPEC ((
00053 CORBA::SystemException
00054 ));
00055
00056 virtual void assign (
00057 DynamicAny::DynAny_ptr dyn_any
00058 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00059
00060 ACE_THROW_SPEC ((
00061 CORBA::SystemException,
00062 DynamicAny::DynAny::TypeMismatch
00063 ));
00064
00065 virtual void insert_boolean (
00066 CORBA::Boolean value
00067 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00068
00069 ACE_THROW_SPEC ((
00070 CORBA::SystemException,
00071 DynamicAny::DynAny::TypeMismatch,
00072 DynamicAny::DynAny::InvalidValue
00073 ));
00074
00075 virtual void insert_octet (
00076 CORBA::Octet value
00077 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00078
00079 ACE_THROW_SPEC ((
00080 CORBA::SystemException,
00081 DynamicAny::DynAny::TypeMismatch,
00082 DynamicAny::DynAny::InvalidValue
00083 ));
00084
00085 virtual void insert_char (
00086 CORBA::Char value
00087 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00088
00089 ACE_THROW_SPEC ((
00090 CORBA::SystemException,
00091 DynamicAny::DynAny::TypeMismatch,
00092 DynamicAny::DynAny::InvalidValue
00093 ));
00094
00095 virtual void insert_short (
00096 CORBA::Short value
00097 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00098
00099 ACE_THROW_SPEC ((
00100 CORBA::SystemException,
00101 DynamicAny::DynAny::TypeMismatch,
00102 DynamicAny::DynAny::InvalidValue
00103 ));
00104
00105 virtual void insert_ushort (
00106 CORBA::UShort value
00107 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00108
00109 ACE_THROW_SPEC ((
00110 CORBA::SystemException,
00111 DynamicAny::DynAny::TypeMismatch,
00112 DynamicAny::DynAny::InvalidValue
00113 ));
00114
00115 virtual void insert_long (
00116 CORBA::Long value
00117 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00118
00119 ACE_THROW_SPEC ((
00120 CORBA::SystemException,
00121 DynamicAny::DynAny::TypeMismatch,
00122 DynamicAny::DynAny::InvalidValue
00123 ));
00124
00125 virtual void insert_ulong (
00126 CORBA::ULong value
00127 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00128
00129 ACE_THROW_SPEC ((
00130 CORBA::SystemException,
00131 DynamicAny::DynAny::TypeMismatch,
00132 DynamicAny::DynAny::InvalidValue
00133 ));
00134
00135 virtual void insert_float (
00136 CORBA::Float value
00137 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00138
00139 ACE_THROW_SPEC ((
00140 CORBA::SystemException,
00141 DynamicAny::DynAny::TypeMismatch,
00142 DynamicAny::DynAny::InvalidValue
00143 ));
00144
00145 virtual void insert_double (
00146 CORBA::Double value
00147 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00148
00149 ACE_THROW_SPEC ((
00150 CORBA::SystemException,
00151 DynamicAny::DynAny::TypeMismatch,
00152 DynamicAny::DynAny::InvalidValue
00153 ));
00154
00155 virtual void insert_string (
00156 const char * value
00157 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00158
00159 ACE_THROW_SPEC ((
00160 CORBA::SystemException,
00161 DynamicAny::DynAny::TypeMismatch,
00162 DynamicAny::DynAny::InvalidValue
00163 ));
00164
00165 virtual void insert_reference (
00166 CORBA::Object_ptr value
00167 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00168
00169 ACE_THROW_SPEC ((
00170 CORBA::SystemException,
00171 DynamicAny::DynAny::TypeMismatch,
00172 DynamicAny::DynAny::InvalidValue
00173 ));
00174
00175 virtual void insert_typecode (
00176 CORBA::TypeCode_ptr value
00177 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00178
00179 ACE_THROW_SPEC ((
00180 CORBA::SystemException,
00181 DynamicAny::DynAny::TypeMismatch,
00182 DynamicAny::DynAny::InvalidValue
00183 ));
00184
00185 virtual void insert_longlong (
00186 CORBA::LongLong value
00187 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00188
00189 ACE_THROW_SPEC ((
00190 CORBA::SystemException,
00191 DynamicAny::DynAny::TypeMismatch,
00192 DynamicAny::DynAny::InvalidValue
00193 ));
00194
00195 virtual void insert_ulonglong (
00196 CORBA::ULongLong value
00197 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00198
00199 ACE_THROW_SPEC ((
00200 CORBA::SystemException,
00201 DynamicAny::DynAny::TypeMismatch,
00202 DynamicAny::DynAny::InvalidValue
00203 ));
00204
00205 virtual void insert_longdouble (
00206 CORBA::LongDouble value
00207 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00208
00209 ACE_THROW_SPEC ((
00210 CORBA::SystemException,
00211 DynamicAny::DynAny::TypeMismatch,
00212 DynamicAny::DynAny::InvalidValue
00213 ));
00214
00215 virtual void insert_wchar (
00216 CORBA::WChar value
00217 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00218
00219 ACE_THROW_SPEC ((
00220 CORBA::SystemException,
00221 DynamicAny::DynAny::TypeMismatch,
00222 DynamicAny::DynAny::InvalidValue
00223 ));
00224
00225 virtual void insert_wstring (
00226 const CORBA::WChar * value
00227 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00228
00229 ACE_THROW_SPEC ((
00230 CORBA::SystemException,
00231 DynamicAny::DynAny::TypeMismatch,
00232 DynamicAny::DynAny::InvalidValue
00233 ));
00234
00235 virtual void insert_any (
00236 const CORBA::Any & value
00237 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00238
00239 ACE_THROW_SPEC ((
00240 CORBA::SystemException,
00241 DynamicAny::DynAny::TypeMismatch,
00242 DynamicAny::DynAny::InvalidValue
00243 ));
00244
00245 virtual void insert_dyn_any (
00246 DynamicAny::DynAny_ptr value
00247 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00248
00249 ACE_THROW_SPEC ((
00250 CORBA::SystemException,
00251 DynamicAny::DynAny::TypeMismatch,
00252 DynamicAny::DynAny::InvalidValue
00253 ));
00254
00255 virtual void insert_val (
00256 CORBA::ValueBase * value
00257 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00258
00259 ACE_THROW_SPEC ((
00260 CORBA::SystemException,
00261 DynamicAny::DynAny::TypeMismatch,
00262 DynamicAny::DynAny::InvalidValue
00263 ));
00264
00265 virtual CORBA::Boolean get_boolean (
00266 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00267
00268 ACE_THROW_SPEC ((
00269 CORBA::SystemException,
00270 DynamicAny::DynAny::TypeMismatch,
00271 DynamicAny::DynAny::InvalidValue
00272 ));
00273
00274 virtual CORBA::Octet get_octet (
00275 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00276
00277 ACE_THROW_SPEC ((
00278 CORBA::SystemException,
00279 DynamicAny::DynAny::TypeMismatch,
00280 DynamicAny::DynAny::InvalidValue
00281 ));
00282
00283 virtual CORBA::Char get_char (
00284 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00285
00286 ACE_THROW_SPEC ((
00287 CORBA::SystemException,
00288 DynamicAny::DynAny::TypeMismatch,
00289 DynamicAny::DynAny::InvalidValue
00290 ));
00291
00292 virtual CORBA::Short get_short (
00293 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00294
00295 ACE_THROW_SPEC ((
00296 CORBA::SystemException,
00297 DynamicAny::DynAny::TypeMismatch,
00298 DynamicAny::DynAny::InvalidValue
00299 ));
00300
00301 virtual CORBA::UShort get_ushort (
00302 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00303
00304 ACE_THROW_SPEC ((
00305 CORBA::SystemException,
00306 DynamicAny::DynAny::TypeMismatch,
00307 DynamicAny::DynAny::InvalidValue
00308 ));
00309
00310 virtual CORBA::Long get_long (
00311 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00312
00313 ACE_THROW_SPEC ((
00314 CORBA::SystemException,
00315 DynamicAny::DynAny::TypeMismatch,
00316 DynamicAny::DynAny::InvalidValue
00317 ));
00318
00319 virtual CORBA::ULong get_ulong (
00320 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00321
00322 ACE_THROW_SPEC ((
00323 CORBA::SystemException,
00324 DynamicAny::DynAny::TypeMismatch,
00325 DynamicAny::DynAny::InvalidValue
00326 ));
00327
00328 virtual CORBA::Float get_float (
00329 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00330
00331 ACE_THROW_SPEC ((
00332 CORBA::SystemException,
00333 DynamicAny::DynAny::TypeMismatch,
00334 DynamicAny::DynAny::InvalidValue
00335 ));
00336
00337 virtual CORBA::Double get_double (
00338 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00339
00340 ACE_THROW_SPEC ((
00341 CORBA::SystemException,
00342 DynamicAny::DynAny::TypeMismatch,
00343 DynamicAny::DynAny::InvalidValue
00344 ));
00345
00346 virtual char * get_string (
00347 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00348
00349 ACE_THROW_SPEC ((
00350 CORBA::SystemException,
00351 DynamicAny::DynAny::TypeMismatch,
00352 DynamicAny::DynAny::InvalidValue
00353 ));
00354
00355 virtual CORBA::Object_ptr get_reference (
00356 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00357
00358 ACE_THROW_SPEC ((
00359 CORBA::SystemException,
00360 DynamicAny::DynAny::TypeMismatch,
00361 DynamicAny::DynAny::InvalidValue
00362 ));
00363
00364 virtual CORBA::TypeCode_ptr get_typecode (
00365 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00366
00367 ACE_THROW_SPEC ((
00368 CORBA::SystemException,
00369 DynamicAny::DynAny::TypeMismatch,
00370 DynamicAny::DynAny::InvalidValue
00371 ));
00372
00373 virtual CORBA::LongLong get_longlong (
00374 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00375
00376 ACE_THROW_SPEC ((
00377 CORBA::SystemException,
00378 DynamicAny::DynAny::TypeMismatch,
00379 DynamicAny::DynAny::InvalidValue
00380 ));
00381
00382 virtual CORBA::ULongLong get_ulonglong (
00383 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00384
00385 ACE_THROW_SPEC ((
00386 CORBA::SystemException,
00387 DynamicAny::DynAny::TypeMismatch,
00388 DynamicAny::DynAny::InvalidValue
00389 ));
00390
00391 virtual CORBA::LongDouble get_longdouble (
00392 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00393
00394 ACE_THROW_SPEC ((
00395 CORBA::SystemException,
00396 DynamicAny::DynAny::TypeMismatch,
00397 DynamicAny::DynAny::InvalidValue
00398 ));
00399
00400 virtual CORBA::WChar get_wchar (
00401 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00402
00403 ACE_THROW_SPEC ((
00404 CORBA::SystemException,
00405 DynamicAny::DynAny::TypeMismatch,
00406 DynamicAny::DynAny::InvalidValue
00407 ));
00408
00409 virtual CORBA::WChar * get_wstring (
00410 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00411
00412 ACE_THROW_SPEC ((
00413 CORBA::SystemException,
00414 DynamicAny::DynAny::TypeMismatch,
00415 DynamicAny::DynAny::InvalidValue
00416 ));
00417
00418 virtual CORBA::Any * get_any (
00419 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00420
00421 ACE_THROW_SPEC ((
00422 CORBA::SystemException,
00423 DynamicAny::DynAny::TypeMismatch,
00424 DynamicAny::DynAny::InvalidValue
00425 ));
00426
00427 virtual DynamicAny::DynAny_ptr get_dyn_any (
00428 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00429
00430 ACE_THROW_SPEC ((
00431 CORBA::SystemException,
00432 DynamicAny::DynAny::TypeMismatch,
00433 DynamicAny::DynAny::InvalidValue
00434 ));
00435
00436 virtual CORBA::ValueBase * get_val (
00437 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00438
00439 ACE_THROW_SPEC ((
00440 CORBA::SystemException,
00441 DynamicAny::DynAny::TypeMismatch,
00442 DynamicAny::DynAny::InvalidValue
00443 ));
00444
00445 virtual CORBA::Boolean seek (
00446 CORBA::Long index
00447 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00448
00449 ACE_THROW_SPEC ((
00450 CORBA::SystemException
00451 ));
00452
00453 virtual void rewind (
00454 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00455
00456 ACE_THROW_SPEC ((
00457 CORBA::SystemException
00458 ));
00459
00460 virtual CORBA::Boolean next (
00461 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00462
00463 ACE_THROW_SPEC ((
00464 CORBA::SystemException
00465 ));
00466
00467 virtual DynamicAny::DynAny_ptr copy (
00468 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00469
00470 ACE_THROW_SPEC ((
00471 CORBA::SystemException
00472 ));
00473
00474 virtual CORBA::ULong component_count (
00475 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00476
00477 ACE_THROW_SPEC ((
00478 CORBA::SystemException
00479 ));
00480
00481 protected:
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491 void set_flag (
00492 DynamicAny::DynAny_ptr component,
00493 CORBA::Boolean destroying
00494 ACE_ENV_ARG_DECL
00495 )
00496 ACE_THROW_SPEC ((
00497 CORBA::SystemException
00498 ));
00499
00500 protected:
00501
00502 CORBA::Boolean ref_to_component_;
00503
00504
00505 CORBA::Boolean container_is_destroying_;
00506
00507
00508 CORBA::Boolean has_components_;
00509
00510
00511 CORBA::Boolean destroyed_;
00512
00513
00514 CORBA::Long current_position_;
00515
00516
00517 CORBA::ULong component_count_;
00518
00519
00520 CORBA::TypeCode_var type_;
00521
00522
00523
00524 CORBA::Any any_;
00525
00526 private:
00527
00528
00529 DynamicAny::DynAny_ptr check_component (ACE_ENV_SINGLE_ARG_DECL)
00530 ACE_THROW_SPEC ((
00531 CORBA::SystemException,
00532 DynamicAny::DynAny::TypeMismatch,
00533 DynamicAny::DynAny::InvalidValue
00534 ));
00535
00536 void check_type (CORBA::TypeCode_ptr tc
00537 ACE_ENV_ARG_DECL)
00538 ACE_THROW_SPEC ((
00539 CORBA::SystemException,
00540 DynamicAny::DynAny::TypeMismatch
00541 ));
00542
00543 CORBA::TypeCode_ptr check_type_and_unalias (CORBA::TypeCode_ptr tc
00544 ACE_ENV_ARG_DECL)
00545 ACE_THROW_SPEC ((
00546 CORBA::SystemException,
00547 DynamicAny::DynAny::TypeMismatch
00548 ));
00549 };
00550
00551 TAO_END_VERSIONED_NAMESPACE_DECL
00552
00553 #if defined(_MSC_VER)
00554 # pragma warning(pop)
00555 #endif
00556
00557 #include "ace/post.h"
00558 #endif