00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef OPENDDS_DCPS_TRANSPORTREACTORTASK_RCH_H 00009 #define OPENDDS_DCPS_TRANSPORTREACTORTASK_RCH_H 00010 00011 #include "dds/DCPS/RcHandle_T.h" 00012 00013 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00014 00015 namespace OpenDDS { 00016 namespace DCPS { 00017 00018 /** 00019 * This file instantiates a smart-pointer type (rch) to a specific 00020 * underlying "pointed-to" type. 00021 * 00022 * This type definition is in its own header file so that the 00023 * smart-pointer type can be defined without causing the inclusion 00024 * of the underlying "pointed-to" type header file. Instead, the 00025 * underlying "pointed-to" type is forward-declared. This is analogous 00026 * to the inclusion requirements that would be imposed if the 00027 * "pointed-to" type was being referenced via a raw pointer type. 00028 * Holding the raw pointer indirectly via a smart pointer doesn't 00029 * change the inclusion requirements (ie, the underlying type doesn't 00030 * need to be included in either case). 00031 */ 00032 00033 // Forward declaration of the underlying type. 00034 class TransportReactorTask; 00035 00036 /// The type definition for the smart-pointer to the underlying type. 00037 typedef RcHandle<TransportReactorTask> TransportReactorTask_rch; 00038 00039 } // namespace DCPS 00040 } // namespace OpenDDS 00041 00042 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00043 00044 #endif /* OPENDDS_DCPS_TRANSPORTREACTORTASK_RCH_H */