s/Uint/UInt/g
[ACE_TAO.git] / TAO / tao / DynamicAny / DynValueBox_i.h
blob3dadf64cb6cc36d3ebc052e90dacabb657a762c5
1 // -*- C++ -*-
2 //=============================================================================
3 /**
4 * @file DynValueBox_i.h
6 * @author simon dot massey at prismtech dot com
7 */
8 //=============================================================================
11 #ifndef TAO_DYNVALUEBOX_I_H
12 #define TAO_DYNVALUEBOX_I_H
13 #include /**/ "ace/pre.h"
15 #include "tao/DynamicAny/DynValueCommon_i.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #if defined (_MSC_VER)
22 # pragma warning(push)
23 # pragma warning (disable:4250)
24 #endif /* _MSC_VER */
26 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
28 /**
29 * @class TAO_DynValueBox_i
31 * @brief Implementation of the DynValueBox class.
33 class TAO_DynamicAny_Export TAO_DynValueBox_i
34 : public virtual DynamicAny::DynValueBox,
35 public virtual TAO_DynValueCommon_i
37 public:
38 /// Constructor.
39 TAO_DynValueBox_i (CORBA::Boolean allow_truncation=true);
41 /// Destructor.
42 ~TAO_DynValueBox_i ();
44 /// Initialize using just a TypeCode.
45 void init (CORBA::TypeCode_ptr tc);
47 /// Initialize using an Any.
48 void init (const CORBA::Any& any);
50 // = LocalObject methods.
51 static TAO_DynValueBox_i *_narrow (CORBA::Object_ptr obj);
53 // = Functions specific to DynValueBox.
54 virtual CORBA::Any * get_boxed_value ();
56 virtual void set_boxed_value (const CORBA::Any & boxed);
58 virtual DynamicAny::DynAny_ptr get_boxed_value_as_dyn_any ();
60 virtual void set_boxed_value_as_dyn_any (DynamicAny::DynAny_ptr boxed);
62 // = DynAny common functions not implemented in class TAO_DynCommon.
63 virtual void from_any (const CORBA::Any & value);
65 virtual CORBA::Any * to_any ();
67 virtual CORBA::Boolean equal (DynamicAny::DynAny_ptr dyn_any);
69 virtual void destroy ();
71 virtual DynamicAny::DynAny_ptr current_component ();
73 // = DynValueCommon needed to be provided here
74 virtual void set_to_value ();
76 private:
77 /// Check if the typecode is acceptable.
78 void check_typecode (CORBA::TypeCode_ptr tc);
80 /// Code common to the constructor from an Any arg and the member
81 /// function from_any().
82 void set_from_any (const CORBA::Any &any);
84 // = Use copy() or assign() instead of these.
85 TAO_DynValueBox_i (const TAO_DynValueBox_i &src);
86 TAO_DynValueBox_i &operator= (const TAO_DynValueBox_i &src);
88 /// The boxed component of DynValueBox is another DynAny.
89 DynamicAny::DynAny_var boxed_;
92 TAO_END_VERSIONED_NAMESPACE_DECL
94 #if defined(_MSC_VER)
95 # pragma warning(pop)
96 #endif /* _MSC_VER */
98 #include /**/ "ace/post.h"
99 #endif /* TAO_DYNVALUEBOX_I_H */