summaryrefslogtreecommitdiff
path: root/ACE/ace/Condition_Attributes.h
diff options
context:
space:
mode:
authormcorino <mcorino@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2012-08-16 09:36:07 +0000
committermcorino <mcorino@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2012-08-16 09:36:07 +0000
commitf25c7a2aa1e464b424ba5add600f9a3e0edc9ee2 (patch)
tree176c473ff67ebacacb932706101f3a4f46d352a4 /ACE/ace/Condition_Attributes.h
parent22a406258b246f6f07610d38f749ba3a8c7cbd7e (diff)
downloadATCD-f25c7a2aa1e464b424ba5add600f9a3e0edc9ee2.tar.gz
ChangeLogTag: Thu Aug 16 09:22:31 UTC 2012 Martin Corino <mcorino@remedy.nl>
Diffstat (limited to 'ACE/ace/Condition_Attributes.h')
-rw-r--r--ACE/ace/Condition_Attributes.h41
1 files changed, 39 insertions, 2 deletions
diff --git a/ACE/ace/Condition_Attributes.h b/ACE/ace/Condition_Attributes.h
index 9fd189fa0fc..0855276f5a8 100644
--- a/ACE/ace/Condition_Attributes.h
+++ b/ACE/ace/Condition_Attributes.h
@@ -39,8 +39,8 @@ public:
/// Destructor
~ACE_Condition_Attributes (void);
-private:
- friend class ACE_Condition_Thread_Mutex;
+protected:
+ template <class MUTEX> friend class ACE_Condition;
/// The attributes
ACE_condattr_t attributes_;
@@ -51,6 +51,43 @@ private:
ACE_Condition_Attributes (const ACE_Condition_Attributes &);
};
+template <class TIME_POLICY>
+class ACE_Condition_Attributes_T : public ACE_Condition_Attributes
+{
+public:
+ /// Constructor
+ ACE_Condition_Attributes_T (int type = ACE_DEFAULT_SYNCH_TYPE)
+ : ACE_Condition_Attributes (type)
+ {}
+
+ /// Destructor
+ ~ACE_Condition_Attributes_T (void) {}
+
+private:
+ // = Prevent assignment and initialization.
+ void operator= (const ACE_Condition_Attributes_T<TIME_POLICY> &);
+ ACE_Condition_Attributes_T (const ACE_Condition_Attributes_T<TIME_POLICY> &);
+};
+
+class ACE_Monotonic_Time_Policy;
+
+template <>
+class ACE_Export ACE_Condition_Attributes_T<ACE_Monotonic_Time_Policy>
+ : public ACE_Condition_Attributes
+{
+public:
+ /// Constructor
+ ACE_Condition_Attributes_T (int type = ACE_DEFAULT_SYNCH_TYPE);
+
+ /// Destructor
+ ~ACE_Condition_Attributes_T (void);
+
+private:
+ // = Prevent assignment and initialization.
+ void operator= (const ACE_Condition_Attributes_T<ACE_Monotonic_Time_Policy> &);
+ ACE_Condition_Attributes_T (const ACE_Condition_Attributes_T<ACE_Monotonic_Time_Policy> &);
+};
+
ACE_END_VERSIONED_NAMESPACE_DECL
#if defined (__ACE_INLINE__)