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