Merge pull request #2218 from jwillemsen/jwi-pthreadsigmask
[ACE_TAO.git] / TAO / tao / DynamicAny / DynAnyFactory.h
blob8250d118d2b30a4cccd8351d45453bdf0b5f9c55
1 // -*- C++ -*-
2 //=============================================================================
3 /**
4 * @file DynAnyFactory.h
6 * @author Carlos O'Ryan <coryan@uci.edu>
7 */
8 //=============================================================================
11 #ifndef TAO_DYNANYFACTORY_H
12 #define TAO_DYNANYFACTORY_H
13 #include /**/ "ace/pre.h"
15 #include "tao/DynamicAny/DynamicAny.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/LocalObject.h"
23 #if defined (_MSC_VER)
24 # pragma warning(push)
25 # pragma warning (disable:4250)
26 #endif /* _MSC_VER */
28 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
30 /**
31 * @class TAO_DynAnyFactory
33 * Implements the DynamicAnyFactory interface and provides several
34 * utility functions shared by all the Dynamic Any components.
36 class TAO_DynamicAny_Export TAO_DynAnyFactory
37 : public virtual DynamicAny::DynAnyFactory,
38 public virtual ::CORBA::LocalObject
40 public:
41 /// Constructor.
42 TAO_DynAnyFactory ();
44 // = The DynamicAnyFactory methods.
45 virtual DynamicAny::DynAny_ptr create_dyn_any (const CORBA::Any & value);
47 virtual DynamicAny::DynAny_ptr create_dyn_any_from_type_code (
48 CORBA::TypeCode_ptr type);
50 virtual DynamicAny::DynAny_ptr create_dyn_any_without_truncation (
51 const CORBA::Any & value);
53 virtual DynamicAny::DynAnySeq * create_multiple_dyn_anys (
54 const DynamicAny::AnySeq & values,
55 ::CORBA::Boolean allow_truncate);
57 virtual DynamicAny::AnySeq * create_multiple_anys (
58 const DynamicAny::DynAnySeq & values);
60 /// TAO-specific methods.
62 /// Obtain the kind of object, after all aliasing has been removed.
63 static CORBA::TCKind unalias (CORBA::TypeCode_ptr tc);
65 /// Same as above, but returns type code instead of TCKind. Caller
66 /// must release the return value.
67 static CORBA::TypeCode_ptr strip_alias (CORBA::TypeCode_ptr tc);
69 private:
70 TAO_DynAnyFactory (const TAO_DynAnyFactory &src) = delete;
71 TAO_DynAnyFactory &operator= (const TAO_DynAnyFactory &src) = delete;
74 TAO_END_VERSIONED_NAMESPACE_DECL
76 #if defined(_MSC_VER)
77 # pragma warning(pop)
78 #endif /* _MSC_VER */
80 #include /**/ "ace/post.h"
81 #endif /* TAO_DYNANYFACTORY_H */