00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TAO_DYNSEQUENCE_I_H
00017 #define TAO_DYNSEQUENCE_I_H
00018 #include "ace/pre.h"
00019
00020 #include "tao/DynamicAny/DynamicAny.h"
00021
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif
00025
00026 #include "tao/DynamicAny/DynCommon.h"
00027 #include "tao/LocalObject.h"
00028 #include "ace/Containers.h"
00029
00030 #if defined (_MSC_VER)
00031 # pragma warning(push)
00032 # pragma warning (disable:4250)
00033 #endif
00034
00035 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00036
00037
00038
00039
00040
00041
00042 class TAO_DynamicAny_Export TAO_DynSequence_i
00043 : public virtual DynamicAny::DynSequence,
00044 public virtual TAO_DynCommon,
00045 public virtual TAO_Local_RefCounted_Object
00046 {
00047 public:
00048
00049 TAO_DynSequence_i (void);
00050
00051
00052 ~TAO_DynSequence_i (void);
00053
00054
00055 void init (CORBA::TypeCode_ptr tc
00056 ACE_ENV_ARG_DECL);
00057
00058
00059 void init (const CORBA::Any& any
00060 ACE_ENV_ARG_DECL);
00061
00062
00063 static TAO_DynSequence_i *_narrow (
00064 CORBA::Object_ptr obj
00065 ACE_ENV_ARG_DECL_WITH_DEFAULTS);
00066
00067
00068
00069 virtual CORBA::ULong get_length (
00070 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00071
00072 ACE_THROW_SPEC ((
00073 CORBA::SystemException
00074 ));
00075
00076 virtual void set_length (
00077 CORBA::ULong len
00078 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00079
00080 ACE_THROW_SPEC ((
00081 CORBA::SystemException,
00082 DynamicAny::DynAny::InvalidValue
00083 ));
00084
00085 virtual DynamicAny::AnySeq * get_elements (
00086 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00087
00088 ACE_THROW_SPEC ((
00089 CORBA::SystemException
00090 ));
00091
00092 virtual void set_elements (
00093 const DynamicAny::AnySeq & value
00094 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00095
00096 ACE_THROW_SPEC ((
00097 CORBA::SystemException,
00098 DynamicAny::DynAny::TypeMismatch,
00099 DynamicAny::DynAny::InvalidValue
00100 ));
00101
00102 virtual DynamicAny::DynAnySeq * get_elements_as_dyn_any (
00103 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00104
00105 ACE_THROW_SPEC ((
00106 CORBA::SystemException
00107 ));
00108
00109 virtual void set_elements_as_dyn_any (
00110 const DynamicAny::DynAnySeq & value
00111 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00112
00113 ACE_THROW_SPEC ((
00114 CORBA::SystemException,
00115 DynamicAny::DynAny::TypeMismatch,
00116 DynamicAny::DynAny::InvalidValue
00117 ));
00118
00119
00120
00121
00122 virtual void from_any (
00123 const CORBA::Any & value
00124 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00125
00126 ACE_THROW_SPEC ((
00127 CORBA::SystemException,
00128 DynamicAny::DynAny::TypeMismatch,
00129 DynamicAny::DynAny::InvalidValue
00130 ));
00131
00132 virtual CORBA::Any * to_any (
00133 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00134
00135 ACE_THROW_SPEC ((
00136 CORBA::SystemException
00137 ));
00138
00139 virtual CORBA::Boolean equal (
00140 DynamicAny::DynAny_ptr dyn_any
00141 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00142
00143 ACE_THROW_SPEC ((
00144 CORBA::SystemException
00145 ));
00146
00147 virtual void destroy (
00148 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00149
00150 ACE_THROW_SPEC ((
00151 CORBA::SystemException
00152 ));
00153
00154 virtual DynamicAny::DynAny_ptr current_component (
00155 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00156
00157 ACE_THROW_SPEC ((
00158 CORBA::SystemException,
00159 DynamicAny::DynAny::TypeMismatch
00160 ));
00161
00162 private:
00163
00164 CORBA::TypeCode_ptr get_element_type (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
00165
00166
00167 void init_common (void);
00168
00169
00170 TAO_DynSequence_i (const TAO_DynSequence_i &src);
00171 TAO_DynSequence_i &operator= (const TAO_DynSequence_i &src);
00172
00173 private:
00174
00175 ACE_Array_Base<DynamicAny::DynAny_var> da_members_;
00176 };
00177
00178 TAO_END_VERSIONED_NAMESPACE_DECL
00179
00180 #if defined(_MSC_VER)
00181 # pragma warning(pop)
00182 #endif
00183
00184 #include "ace/post.h"
00185 #endif