TypeSupportImpl.h

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #ifndef OPENDDS_DCPS_TYPESUPPORTIMPL_H
00009 #define OPENDDS_DCPS_TYPESUPPORTIMPL_H
00010 
00011 #include "dcps_export.h"
00012 #include "dds/DCPS/Definitions.h"
00013 #include "dds/DdsDcpsTypeSupportExtC.h"
00014 #include "LocalObject.h"
00015 
00016 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00017 #pragma once
00018 #endif /* ACE_LACKS_PRAGMA_ONCE */
00019 
00020 namespace OpenDDS {
00021 namespace DCPS {
00022 
00023 class MetaStruct;
00024 
00025 template <typename Message> struct DDSTraits;
00026 
00027 class OpenDDS_Dcps_Export TypeSupportImpl
00028   : public virtual LocalObject<TypeSupport> {
00029 public:
00030   TypeSupportImpl() {}
00031 
00032   virtual ~TypeSupportImpl();
00033 
00034 #ifndef OPENDDS_NO_CONTENT_SUBSCRIPTION_PROFILE
00035   virtual const MetaStruct& getMetaStructForType() = 0;
00036 #endif
00037 
00038   virtual DDS::ReturnCode_t register_type(DDS::DomainParticipant_ptr participant,
00039                                           const char* type_name);
00040 
00041   virtual char* get_type_name();
00042 
00043 private:
00044   virtual const char* default_type_name() const = 0;
00045 
00046   CORBA::String_var type_name_;
00047 
00048   OPENDDS_DELETED_COPY_CTOR_ASSIGN(TypeSupportImpl)
00049 };
00050 
00051 }
00052 }
00053 
00054 #endif

Generated on Fri Feb 12 20:05:28 2016 for OpenDDS by  doxygen 1.4.7