summaryrefslogtreecommitdiff
path: root/TAO/examples/Callback_Quoter/Supplier_Timer_Handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/Callback_Quoter/Supplier_Timer_Handler.h')
-rw-r--r--TAO/examples/Callback_Quoter/Supplier_Timer_Handler.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/TAO/examples/Callback_Quoter/Supplier_Timer_Handler.h b/TAO/examples/Callback_Quoter/Supplier_Timer_Handler.h
new file mode 100644
index 00000000000..b359a59e40c
--- /dev/null
+++ b/TAO/examples/Callback_Quoter/Supplier_Timer_Handler.h
@@ -0,0 +1,77 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ===========================================================
+//
+//
+// = LIBRARY
+// TAO/examples/Callback_Quoter
+//
+// = FILENAME
+// Consumer_Input_Handler.h
+//
+// = DESCRIPTION
+// Definition of the Supplier_Timer_Handler class.
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ===========================================================
+
+#ifndef SUPPLIER_TIMER_HANDLER_H
+#define SUPPLIER_TIMER_HANDLER_H
+#include "ace/Reactor.h"
+#include "ace/Timer_Queue.h"
+#include "ace/Event_Handler.h"
+#include "Supplier_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Supplier;
+
+class Supplier_Timer_Handler : public ACE_Event_Handler
+{
+ // = TITLE
+ // Feeds stock information to the Callback Quoter notifier
+ // periodically.
+ //
+ // = Description
+ // Create a class to handle timer events. Since only timer events
+ // need to be handled, only the handle_timeout method is overlaoded.
+public:
+ Supplier_Timer_Handler (Supplier *supplier,
+ ACE_Reactor *reactor,
+ FILE *file_ptr);
+ // Initilization.
+
+ ~Supplier_Timer_Handler (void);
+ // Destructor.
+
+ virtual int handle_timeout (const ACE_Time_Value &tv,
+ const void *arg = 0);
+ // Method which will be called by the Reactor when timeout occurs.
+
+private:
+
+ int get_stock_information (void);
+ // The values of the stock and its rate are got from the file.
+
+ Supplier *supplier_obj_;
+ // The supplier instance.
+
+ ACE_Reactor *reactor_;
+ // Reactor used by the supplier.
+
+ FILE* file_ptr_;
+ // The file handle of the file from where the stock input is obtained.
+
+ char stockname_[BUFSIZ];
+ // The name of the stock.
+
+ long value_;
+ // The market value of the stock.It will be typecasted to long later.
+};
+
+#endif /* SUPPLIER_TIMER_HANDLER_H */