00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef OPENDDS_DCPS_POOLSYNCH_H 00009 #define OPENDDS_DCPS_POOLSYNCH_H 00010 00011 #include "dds/DCPS/dcps_export.h" 00012 #include "ThreadSynch.h" 00013 00014 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00015 00016 namespace OpenDDS { 00017 namespace DCPS { 00018 00019 class PoolSynchStrategy; 00020 class ThreadSynchResource; 00021 00022 class OpenDDS_Dcps_Export PoolSynch : public ThreadSynch { 00023 public: 00024 00025 PoolSynch(PoolSynchStrategy* strategy, 00026 ThreadSynchResource* synch_resource); 00027 virtual ~PoolSynch(); 00028 00029 virtual void work_available(); 00030 00031 protected: 00032 00033 virtual void unregister_worker_i(); 00034 00035 private: 00036 }; 00037 00038 } // namespace DCPS 00039 } // namespace OpenDDS 00040 00041 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00042 00043 #if defined (__ACE_INLINE__) 00044 #include "PoolSynch.inl" 00045 #endif /* __ACE_INLINE__ */ 00046 00047 #endif /* OPENDDS_DCPS_POOLSYNCH_H */