Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / examples / Event_Comm / Supplier_Input_Handler.h
blobb18d79a4e75141555dd518422e555d3e864e6e75
1 /* -*- C++ -*- */
3 //=============================================================================
4 /**
5 * @file Supplier_Input_Handler.h
7 * Handle input from the keyboard.
9 * @author Douglas C. Schmidt (d.schmidt@vanderbilt.edu) and Pradeep Gore (pradeep@cs.wustl.edu)
11 //=============================================================================
14 #ifndef SUPPLIER_INPUT_HANDLER_H
15 #define SUPPLIER_INPUT_HANDLER_H
17 #include "ace/Service_Config.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 // Forward declaration.
24 class Notifier_Handler;
26 /**
27 * @class Supplier_Input_Handler
29 * @brief Handles input events generated from a keyboard.
31 * The events are currently framed and forwarded to all Consumers.
32 * In the future, we will need to be more selective and only send
33 * to those Consumers whose filtering criteria matches!
35 class Supplier_Input_Handler : public ACE_Event_Handler
37 public:
38 /// Constructor.
39 Supplier_Input_Handler (void);
41 /// Destructor.
42 ~Supplier_Input_Handler (void);
44 /// Initialization.
45 int initialize (Notifier_Handler *);
47 /// Frame input events and notify <Consumers>.
48 virtual int handle_input (ACE_HANDLE);
50 /// Close down the handler.
51 int close (void);
53 protected:
54 /// Pointer to a <Notifier_Handler> that's used to inform Consumers
55 /// that events of interest have occurred.
56 Notifier_Handler *notifier_;
59 #endif /* SUPPLIER_INPUT_HANDLER_H */