summaryrefslogtreecommitdiff
path: root/modules/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp')
-rw-r--r--modules/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp231
1 files changed, 231 insertions, 0 deletions
diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp b/modules/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp
new file mode 100644
index 00000000000..206c68e0ac9
--- /dev/null
+++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp
@@ -0,0 +1,231 @@
+// -*- C++ -*-
+// $Id$
+
+/**
+ * Code generated by the The ACE ORB (TAO) IDL Compiler v1.7.6
+ * TAO and the TAO IDL Compiler have been developed by:
+ * Center for Distributed Object Computing
+ * Washington University
+ * St. Louis, MO
+ * USA
+ * http://www.cs.wustl.edu/~schmidt/doc-center.html
+ * and
+ * Distributed Object Computing Laboratory
+ * University of California at Irvine
+ * Irvine, CA
+ * USA
+ * http://doc.ece.uci.edu/
+ * and
+ * Institute for Software Integrated Systems
+ * Vanderbilt University
+ * Nashville, TN
+ * USA
+ * http://www.isis.vanderbilt.edu/
+ *
+ * Information about TAO is available at:
+ * http://www.cs.wustl.edu/~schmidt/TAO.html
+ **/
+
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:1278
+
+#include "StockBroker_exec.h"
+
+namespace CIAO_Stock_StockBroker_Impl
+{
+ //============================================================
+ // Component Executor Implementation Class: StockBroker_exec_i
+ //============================================================
+
+ StockBroker_exec_i::StockBroker_exec_i (void)
+ {
+ }
+
+ StockBroker_exec_i::~StockBroker_exec_i (void)
+ {
+ }
+
+ // Supported operations and attributes.
+
+ void
+ StockBroker_exec_i::stock_subscribe (
+ const char * stock_name)
+ {
+ /* Your code here. */
+ if ((ACE_OS::strcmp (stock_name, "MSFT") == 0) ||
+ (ACE_OS::strcmp (stock_name, "IBM") == 0))
+ {
+ std::set<std::string>::iterator iter =
+ this->subscribed_stock_list_.find (stock_name);
+
+ if (iter == this->subscribed_stock_list_.end ())
+ {
+ this->subscribed_stock_list_.insert (stock_name);
+ }
+ }
+ else
+ {
+ throw Stock::Invalid_Stock ();
+ }
+ }
+
+ void
+ StockBroker_exec_i::stock_unsubscribe (
+ const char * stock_name)
+ {
+ /* Your code here. */
+ if ((ACE_OS::strcmp (stock_name, "MSFT") == 0) ||
+ (ACE_OS::strcmp (stock_name, "IBM") == 0))
+ {
+ std::set<std::string>::iterator iter =
+ this->subscribed_stock_list_.find (stock_name);
+ if (iter != this->subscribed_stock_list_.end ())
+ {
+ this->subscribed_stock_list_.erase (iter);
+ }
+ }
+ else
+ {
+ throw Stock::Invalid_Stock ();
+ }
+
+ }
+
+ // Component attributes and port operations.
+
+ void
+ StockBroker_exec_i::push_notify_in (
+ Stock::StockName *ev)
+ {
+ /* Your code here. */
+
+ ACE_DEBUG ((LM_INFO,
+ "Broker - Got message from Distributor\n"));
+
+ CORBA::String_var stock_name = CORBA::string_dup (ev->name ());
+
+ // Retrieve stock information if the stock name is in the
+ // subscribed_stock_list
+ if (this->subscribed_stock_list_.find (stock_name.in ()) !=
+ this->subscribed_stock_list_.end ())
+ {
+ Stock::StockQuoter_var quoter_obj =
+ this->context_->get_connection_read_quoter ();
+
+ if (CORBA::is_nil (quoter_obj.in ()))
+ {
+ throw CORBA::BAD_PARAM ();
+ }
+
+ Stock::StockInfo_var info =
+ quoter_obj->get_stock_info (stock_name.in ());
+
+ ACE_DEBUG ((LM_DEBUG, "Quoter - Current value of %s is %d\n",
+ stock_name.in (),
+ info->last));
+ }
+ }
+
+ // Operations from Components::SessionComponent.
+
+ void
+ StockBroker_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->context_ =
+ ::Stock::CCM_StockBroker_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ StockBroker_exec_i::configuration_complete (void)
+ {
+ /* Your code here. */
+ }
+
+ void
+ StockBroker_exec_i::ccm_activate (void)
+ {
+ /* Your code here. */
+ }
+
+ void
+ StockBroker_exec_i::ccm_passivate (void)
+ {
+ /* Your code here. */
+ }
+
+ void
+ StockBroker_exec_i::ccm_remove (void)
+ {
+ /* Your code here. */
+ }
+
+ extern "C" STOCKBROKER_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Stock_StockBroker_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ StockBroker_exec_i);
+
+ return retval;
+ }
+}
+
+namespace CIAO_Stock_StockBroker_Impl
+{
+ //============================================================
+ // Home Executor Implementation Class: StockBrokerHome_exec_i
+ //============================================================
+
+ StockBrokerHome_exec_i::StockBrokerHome_exec_i (void)
+ {
+ }
+
+ StockBrokerHome_exec_i::~StockBrokerHome_exec_i (void)
+ {
+ }
+
+ // All operations and attributes.
+
+ // Factory operations.
+
+ // Finder operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ StockBrokerHome_exec_i::create (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ StockBroker_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" STOCKBROKER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Stock_StockBrokerHome_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_NORETURN (
+ retval,
+ StockBrokerHome_exec_i);
+
+ return retval;
+ }
+}
+