summaryrefslogtreecommitdiff
path: root/ACE/ace/Monitor_Control/Monitor_Group.h
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-05-21 19:02:47 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-05-21 19:02:47 +0000
commit58213430e4d498f622348d155a26a515cb21258f (patch)
treee0958746ff62a7a3b6faffdf06676afccbe666ae /ACE/ace/Monitor_Control/Monitor_Group.h
parentd7fe97fcccd1cbd311ffb2ce47052c203f916783 (diff)
downloadATCD-58213430e4d498f622348d155a26a515cb21258f.tar.gz
ChangeLogTag: Wed May 21 19:01:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'ACE/ace/Monitor_Control/Monitor_Group.h')
-rw-r--r--ACE/ace/Monitor_Control/Monitor_Group.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/ACE/ace/Monitor_Control/Monitor_Group.h b/ACE/ace/Monitor_Control/Monitor_Group.h
new file mode 100644
index 00000000000..624e37481e7
--- /dev/null
+++ b/ACE/ace/Monitor_Control/Monitor_Group.h
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Monitor_Group.h
+ *
+ * $Id$
+ *
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef MONITOR_GROUP_H
+#define MONITOR_GROUP_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/Monitor_Base.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined (ACE_HAS_MONITOR_FRAMEWORK) && (ACE_HAS_MONITOR_FRAMEWORK == 1)
+
+#include "ace/Monitor_Control/Monitor_Control_export.h"
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace ACE
+{
+ namespace Monitor_Control
+ {
+ /**
+ * @class Monitor_Group
+ *
+ * @brief Updates and/or clears a group of monitors iwth a single call.
+ */
+ class MONITOR_CONTROL_Export Monitor_Group : public Monitor_Base
+ {
+ public:
+ Monitor_Group (const char* name);
+
+ void add_member (Monitor_Base* member);
+
+ virtual void update (void);
+
+ virtual void clear (void);
+
+ private:
+ typedef ACE_Unbounded_Queue<Monitor_Base *>
+ MEMBERS;
+ typedef ACE_Unbounded_Queue_Const_Iterator<Monitor_Base *>
+ MEMBERS_ITERATOR;
+
+ MEMBERS members_;
+ };
+ }
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
+
+#include /**/ "ace/post.h"
+
+#endif // MONITOR_GROUP_H