summaryrefslogtreecommitdiff
path: root/TAO/tao/System_Time_Policy_Strategy.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/System_Time_Policy_Strategy.h')
-rw-r--r--TAO/tao/System_Time_Policy_Strategy.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/TAO/tao/System_Time_Policy_Strategy.h b/TAO/tao/System_Time_Policy_Strategy.h
new file mode 100644
index 00000000000..d654b84b10e
--- /dev/null
+++ b/TAO/tao/System_Time_Policy_Strategy.h
@@ -0,0 +1,66 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file System_Time_Policy_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Martin Corino <mcorino@remedy.nl>
+ */
+//=============================================================================
+
+#ifndef SYSTEM_TIME_POLICY_STRATEGY_H
+#define SYSTEM_TIME_POLICY_STRATEGY_H
+
+#include /**/ "ace/pre.h"
+
+#include /**/ "tao/TAO_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/orbconf.h"
+
+#if (TAO_HAS_TIME_POLICY == 1)
+
+#include "tao/Time_Policy_Strategy.h"
+
+#include "ace/Time_Policy_T.h"
+#include "ace/Service_Config.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_System_Time_Policy_Strategy
+ *
+ * @brief Time policy strategy providing Highres time.
+ *
+ */
+class TAO_Export TAO_System_Time_Policy_Strategy
+ : public TAO_Time_Policy_Strategy
+{
+public:
+ virtual ~TAO_System_Time_Policy_Strategy ();
+
+ virtual ACE_Timer_Queue * create_timer_queue (void);
+
+ virtual void destroy_timer_queue (ACE_Timer_Queue *tmq);
+
+ virtual ACE_Dynamic_Time_Policy_Base * get_time_policy (void);
+
+private:
+ static ACE_Time_Policy_T<ACE_System_Time_Policy> time_policy_;
+};
+
+ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_System_Time_Policy_Strategy)
+ACE_FACTORY_DECLARE (TAO, TAO_System_Time_Policy_Strategy)
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* TAO_HAS_TIME_POLICY */
+
+#include /**/ "ace/post.h"
+
+#endif /* SYSTEM_TIME_POLICY_STRATEGY_H */