summaryrefslogtreecommitdiff
path: root/apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp')
-rw-r--r--apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp147
1 files changed, 0 insertions, 147 deletions
diff --git a/apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp b/apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp
deleted file mode 100644
index c9ba927b11d..00000000000
--- a/apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-// $Id$
-
-#include "Input_Handler.h"
-#include "Notification_Receiver_Handler.h"
-
-ACE_RCSID(Consumer, Input_Handler, "$Id$")
-
-#if defined (ACE_HAS_ORBIX) && (ACE_HAS_ORBIX != 0)
-
-Input_Handler::~Input_Handler (void)
-{
- ACE_DEBUG ((LM_DEBUG,
- "closing down Input_Handler::~Input_Handler\n"));
- this->handle_close ();
-}
-
-int
-Input_Handler::consumer_initiated_shutdown (void)
-{
- return this->consumer_initiated_shutdown_;
-}
-
-void
-Input_Handler::consumer_initiated_shutdown (int c)
-{
- this->consumer_initiated_shutdown_ = c;
-}
-
-ACE_HANDLE
-Input_Handler::get_handle (void) const
-{
- return this->handle_;
-}
-
-int
-Input_Handler::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
-{
- ACE_DEBUG ((LM_DEBUG, "closing down Consumer::Input_Handler\n"));
-
- Event_Comm::Notification_Receiver *receiver = this->receiver_handler_->receiver ();
- Event_Comm::Notifier *notifier = this->receiver_handler_->notifier ();
-
- if (this->consumer_initiated_shutdown ())
- {
- // Only try to unsubscribe if the Consumer initiated the
- // shutdown. Otherwise, the Supplier initiated it and it has
- // probably gone away by now!
- TRY
- {
- // Gracefully shutdown the Receiver by removing it from the
- // Notifier's internal map.
-
- notifier->unsubscribe (receiver, "", IT_X);
- }
- CATCHANY
- {
- cerr << IT_X << endl;
- }
- ENDTRY;
- }
-
- // Don't execute a callback here otherwise we'll recurse
- // indefinitely!
- if (ACE_Reactor::instance ()->remove_handler
- (this,
- ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "remove_handler"));
-
- // *Must* be allocated dyanmically!
- ::operator delete (this);
- return 0;
-}
-
-Input_Handler::Input_Handler (Notification_Receiver_Handler *ch,
- ACE_HANDLE handle)
- : receiver_handler_ (ch),
- handle_ (handle),
- consumer_initiated_shutdown_ (0)
-{
- if (ACE_Reactor::instance ()->register_handler
- (this,
- ACE_Event_Handler::READ_MASK) == -1)
- ACE_ERROR ((LM_ERROR,
- "Input_Handler::Input_Handler\n"));
-}
-
-int
-Input_Handler::handle_input (ACE_HANDLE h)
-{
- char buf[BUFSIZ];
-
- // Read up to BUFSIZ worth of data from ACE_HANDLE h.
- ssize_t n = ACE_OS::read (h, buf, sizeof buf - 1);
-
- if (n > 0)
- {
- // Null terminate the buffer, replacing the '\n' with '\0'.
- if (buf[n - 1] == '\n' || buf[n - 1] == EOF)
- buf[n - 1] = '\0';
- else
- buf[n] = '\0';
- ACE_DEBUG ((LM_DEBUG,
- "notifying for event %s\n",
- buf));
- }
- else
- {
- ACE_OS::strcpy (buf, "quit");
- ACE_DEBUG ((LM_DEBUG,
- "shutting down Input_Handler\n"));
- }
-
- Event_Comm::Notifier *notifier =
- this->receiver_handler_->notifier ();
-
- ACE_ASSERT (notifier != 0);
-
- if (ACE_OS::strcmp (buf, "quit") == 0)
- {
- // Consumer wants to shutdown.
- this->consumer_initiated_shutdown (1);
-
- // Tell the main event loop to shutdown.
- ACE_Reactor::end_event_loop();
- }
- else
- {
- TRY
- {
- Event_Comm::Notification notification;
-
- notification.tag_ = ACE_OS::strdup (buf);
-
- notifier->send_notification (notification, IT_X);
- }
- CATCHANY
- {
- cerr << "Unexpected exception " << IT_X << endl;
- } ENDTRY;
- }
-
- /* NOTREACHED */
- return 0;
-}
-#endif /* ACE_HAS_ORBIX */