OpenDDS  Snapshot(2023/04/28-20:55)
ConditionImpl.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DCPS_CONDITIONIMPL_H
9 #define OPENDDS_DCPS_CONDITIONIMPL_H
10 
11 #include "dds/DdsDcpsInfrastructureC.h"
12 #include "Definitions.h"
13 #include "PoolAllocator.h"
14 #include "WaitSet.h"
15 
17 
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #pragma once
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 
23 
24 namespace OpenDDS {
25 namespace DCPS {
26 
28  : public virtual OpenDDS::DCPS::LocalObject<DDS::Condition> {
29 public:
32  void signal_all();
33 
34 protected:
36  virtual ~ConditionImpl() {}
37 
39  WaitSetSet waitsets_;
40  /// Use a recursive mutex because we have derived classes that
41  /// need the recursive behavior
43 };
44 
45 } // namespace DCPS
46 } // namespace OpenDDS
47 
49 
50 #endif
ACE_Recursive_Thread_Mutex lock_
Definition: ConditionImpl.h:42
typedef OPENDDS_SET(OpenDDS::DCPS::WeakRcHandle< DDS::WaitSet >) WaitSetSet
DDS::ReturnCode_t detach_from_ws(DDS::WaitSet_ptr ws)
DDS::ReturnCode_t attach_to_ws(DDS::WaitSet_ptr ws)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28