00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef OPENDDS_DCPS_DATALINKCLEANUP_H 00009 #define OPENDDS_DCPS_DATALINKCLEANUP_H 00010 00011 #include /**/ "ace/pre.h" 00012 00013 #include "dds/DCPS/transport/framework/QueueTaskBase_T.h" 00014 #include "dds/DCPS/transport/framework/DataLink.h" 00015 #include "dds/DCPS/transport/framework/DataLink_rch.h" 00016 00017 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00018 # pragma once 00019 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00020 00021 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00022 00023 namespace OpenDDS { 00024 namespace DCPS { 00025 00026 class TransportImpl; 00027 00028 /** 00029 * @class DataLinkCleanupTask 00030 * 00031 * @brief Active Object responsible for cleaning up DataLink resources. 00032 * 00033 */ 00034 class OpenDDS_Dcps_Export DataLinkCleanupTask : public QueueTaskBase <DataLink_rch> { 00035 public: 00036 DataLinkCleanupTask(); 00037 00038 virtual ~DataLinkCleanupTask(); 00039 00040 /// Handle reconnect requests. 00041 virtual void execute(DataLink_rch& dl); 00042 }; 00043 00044 } // namespace DCPS 00045 } // namespace OpenDDS 00046 00047 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00048 00049 #include /**/ "ace/post.h" 00050 00051 #endif /* OPENDDS_DCPS_DATALINKCLEANUP_H */