ThreadSynchStrategy.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_THREADSYNCHSTRATEGY_H
00009 #define OPENDDS_DCPS_THREADSYNCHSTRATEGY_H
00010 
00011 #include "dds/DCPS/dcps_export.h"
00012 #include "dds/DCPS/RcObject_T.h"
00013 #include "ace/Synch_Traits.h"
00014 #include "ace/Synch.h"
00015 
00016 namespace OpenDDS {
00017 namespace DCPS {
00018 
00019 class ThreadSynch;
00020 class ThreadSynchResource;
00021 
00022 //MJM: Some class documentation here would be extremely helpful.
00023 class OpenDDS_Dcps_Export ThreadSynchStrategy
00024   : public RcObject<ACE_SYNCH_MUTEX>
00025 {
00026 public:
00027 
00028   virtual ~ThreadSynchStrategy();
00029 
00030   virtual ThreadSynch* create_synch_object(
00031     ThreadSynchResource* synch_resource,
00032     long                 priority,
00033     int                  scheduler) = 0;
00034 
00035 protected:
00036 
00037   ThreadSynchStrategy();
00038 };
00039 
00040 } // namespace DCPS
00041 } // namespace OpenDDS
00042 
00043 #if defined (__ACE_INLINE__)
00044 #include "ThreadSynchStrategy.inl"
00045 #endif /* __ACE_INLINE__ */
00046 
00047 #endif  /* OPENDDS_DCPS_THREADSYNCHSTRATEGY_H */

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