summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h
new file mode 100644
index 00000000000..9523f02abc5
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h
@@ -0,0 +1,70 @@
+// -*- C++ -*-
+
+// ============================================================================
+/**
+ * @file LB_LoadAlert_Handler.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@uci.edu>
+ */
+// ============================================================================
+
+#ifndef TAO_LB_LOAD_ALERT_REPLY_HANDLER_H
+#define TAO_LB_LOAD_ALERT_REPLY_HANDLER_H
+
+#include "orbsvcs/CosLoadBalancingS.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_LB_LoadAlert_Handler
+ *
+ * @brief The AMI reply handler for replies from all LoadAlert
+ * objects.
+ *
+ * This class handles all asynchronously received replies from all
+ * registered LoadAlert objects. It only exists to receive
+ * asynchronously sent exceptions.
+ */
+class TAO_LB_LoadAlert_Handler
+ : public virtual POA_CosLoadBalancing::AMI_LoadAlertHandler
+{
+public:
+
+ virtual void enable_alert (void);
+
+ virtual void enable_alert_excep (
+ ::Messaging::ExceptionHolder *);
+
+ virtual void disable_alert (void);
+
+ virtual void disable_alert_excep (
+ ::Messaging::ExceptionHolder *);
+
+protected:
+
+ /// Protected destructor to enforce propery memory management
+ /// through reference counting.
+ ~TAO_LB_LoadAlert_Handler (void);
+
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_LB_LOAD_ALERT_REPLY_HANDLER_H */