OpenDDS  Snapshot(2023/04/28-20:55)
DynamicDataFactory.h
Go to the documentation of this file.
1 /*
2  * Distributed under the OpenDDS License.
3  * See: http://www.opendds.org/license.html
4  */
5 
6 #ifndef OPENDDS_DCPS_XTYPES_DYNAMIC_DATA_FACTORY_H
7 #define OPENDDS_DCPS_XTYPES_DYNAMIC_DATA_FACTORY_H
8 
9 #ifndef OPENDDS_SAFETY_PROFILE
10 # include <dds/DCPS/LocalObject.h>
11 
12 # include <dds/DdsDynamicDataC.h>
13 
15 
16 namespace DDS {
17 
20 
22 
24  : public OpenDDS::DCPS::LocalObject<DynamicDataFactoryInterf>
25 {
26 public:
27  typedef DynamicDataFactory_ptr _ptr_type;
28  typedef DynamicDataFactory_var _var_type;
29 
31  {
32  }
33 
34  virtual ~DynamicDataFactory() {}
35 
36  static DynamicDataFactory_ptr get_instance();
37 
38  DynamicData_ptr create_data(DynamicType_ptr type);
39 
40  ReturnCode_t delete_data(DynamicData_ptr /*data*/)
41  {
42  return RETCODE_OK;
43  }
44 
45  CORBA::Boolean _is_a(const char* type_id)
46  {
47  return DynamicDataFactoryInterf::_is_a(type_id);
48  }
49 
50  const char* _interface_repository_id() const
51  {
52  return DynamicDataFactoryInterf::_interface_repository_id();
53  }
54 
56  {
57  return false;
58  }
59 
60  static DynamicDataFactory_ptr _duplicate(DynamicDataFactory_ptr obj);
61 };
62 
63 } // namespace DDS
64 
66 
67 # ifndef DDS_DYNAMICDATAFACTORY__TRAITS_
68 # define DDS_DYNAMICDATAFACTORY__TRAITS_
70 namespace TAO {
71 template<>
72 struct OpenDDS_Dcps_Export Objref_Traits<DDS::DynamicDataFactory> {
74  static void release(DDS::DynamicDataFactory_ptr p);
75  static DDS::DynamicDataFactory_ptr nil();
77 };
78 } // namespace TAO
80 # endif
81 
82 #endif // OPENDDS_SAFETY_PROFILE
83 
84 #endif // OPENDDS_DCPS_XTYPES_DYNAMIC_TYPE_FACTORY_H
#define TAO_BEGIN_VERSIONED_NAMESPACE_DECL
void release(T x)
TAO_Objref_Var_T< DynamicDataFactory > DynamicDataFactory_var
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
DynamicDataFactory * DynamicDataFactory_ptr
const char * _interface_repository_id() const
T * _duplicate(T *st)
ReturnCode_t delete_data(DynamicData_ptr)
DynamicDataFactory_ptr _ptr_type
ACE_CDR::Boolean Boolean
CORBA::Boolean marshal(TAO_OutputCDR &)
The End User API.
TAO_AnyTypeCode_Export bool marshal(TAO_OutputCDR &cdr, CORBA::TypeCode_ptr tc, CORBA::ULong offset)
DynamicDataFactory_var _var_type
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
const ReturnCode_t RETCODE_OK
CORBA::Boolean _is_a(const char *type_id)
#define TAO_END_VERSIONED_NAMESPACE_DECL