diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:15:18 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:15:18 +0000 |
commit | b71531b42b3325fd6079a7039aae8641262c8adf (patch) | |
tree | a5b9aa16924c541fcb424ee9460b1ac7f5a89352 /modules/CIAO/docs/tutorials/Quoter/Simple/Distributor | |
parent | a0f67cc97c0050d907145e312135b60c0125e56e (diff) | |
download | ATCD-DS-main.tar.gz |
branching/taggingDS-main
Diffstat (limited to 'modules/CIAO/docs/tutorials/Quoter/Simple/Distributor')
9 files changed, 1044 insertions, 0 deletions
diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cidl b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cidl new file mode 100644 index 00000000000..53268e84569 --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cidl @@ -0,0 +1,21 @@ +//$Id$ +//Distributor.cidl,v 1.0 +/** + * @file Distributor.cidl + * + * @author ming xiong <xiongm@isis.vanderbilt.edu> + */ + +#ifndef DISTRIBUTOR_CIDL +#define DISTRIBUTOR_CIDL + +#include "Distributor.idl" + +composition session StockDistributor_Impl { + home executor StockDistributorHome_Exec { + implements Stock::StockDistributorHome; + manages StockDistributor_Exec; + }; +}; + +#endif /* DISTRIBUTOR_CIDL */ diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cpp b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cpp new file mode 100644 index 00000000000..d99fde85c7c --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cpp @@ -0,0 +1,115 @@ +//$Id$ +/* + * @file Distributor.cpp + * + * @author Ming Xiong <mxiong@dre.vanderbilt.edu> + */ + + +#include "DistributorC.h" +#include "ace/streams.h" +#include "ace/Get_Opt.h" + +const char *distributor_ior = "file://Distributor.ior"; +int rate = 2; +int turn_on = 1; + +int +parse_args (int argc, char *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, "k:r:of"); + int c; + + while ((c = get_opts ()) != -1) + { + switch (c) + { + case 'k': + distributor_ior = get_opts.opt_arg (); + break; + + case 'o': + turn_on = 1; + break; + + case 'f': + turn_on = 0; + break; + + case 'r': + rate = ACE_OS::atoi (get_opts.opt_arg ()); + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s\n" + "-o (Start the distribution service)\n" + "-f (Stop the distribution service)\n" + "-k <Distributor IOR> (default is file:\\distributor.ior) \n" + "-r <broadcast frequency in Hertz> (default is 2)\n" + "\n", + argv [0]), + -1); + } + } + + return 0; +} + + +int main (int argc, char* argv[]) +{ + try + { + // initialize the ORB + CORBA::ORB_var orb = + CORBA::ORB_init (argc, argv,""); + + if (parse_args (argc, argv) != 0) + { + return -1; + } + + // create the factory object reference, + CORBA::Object_var distributor_obj = + orb->string_to_object (distributor_ior); + + // downcast the object reference to the appropriate type + Stock::StockDistributor_var distributor = + Stock::StockDistributor::_narrow (distributor_obj.in ()); + + if (CORBA::is_nil (distributor.in ())) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Unable to acquire 'Distributor' objref\n"), + -1); + } + + if (turn_on) + { + distributor->rate (rate); + + ACE_DEBUG ((LM_DEBUG, "Start up the Distribution service\n")); + + distributor->start (); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Stop the Distribution service\n")); + + distributor->stop (); + } + + orb->destroy (); + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception ("Who is the culprit \n"); + ACE_ERROR_RETURN ((LM_ERROR, + "Uncaught CORBA exception\n"), + 1); + } + + return 0; +} diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.idl b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.idl new file mode 100644 index 00000000000..393f0fa94c1 --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.idl @@ -0,0 +1,42 @@ +//$Id$ + +#include "../Stock_Base/Stock_Base.idl" + +module Stock +{ + /** + * @class Trigger + * + * @brief supported interface + */ + interface Trigger { + /// Start the real-time monitoring service + void start (); + /// Stop the real-time monitoring service + void stop (); + }; + + + /** + * @class StockDistributor + * + * @brief component + */ + component StockDistributor supports Trigger + { + publishes StockName notify_out; + provides StockQuoter push_quoter; + attribute long rate; + }; + + + /** + * @class StockDistributorHome + * + * @brief home for StockDistributor component + */ + home StockDistributorHome manages StockDistributor + { + }; + +}; diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc new file mode 100644 index 00000000000..aad6ad54195 --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc @@ -0,0 +1,88 @@ +// $Id$ +// This file is generated with "generate_component_mpc.pl -p Stock_Base Distributor" + +project(Stock_Base_Distributor_stub): ciao_client_dnc { + avoids += ace_for_tao + after += Stock_Base_stub + sharedname = Distributor_stub + idlflags -= -GT + idlflags += -St \ + -Wb,stub_export_macro=DISTRIBUTOR_STUB_Export \ + -Wb,stub_export_include=Distributor_stub_export.h \ + -Wb,skel_export_macro=DISTRIBUTOR_SVNT_Export \ + -Wb,skel_export_include=Distributor_svnt_export.h + dynamicflags = DISTRIBUTOR_STUB_BUILD_DLL + + libs += Stock_Base_stub + + IDL_Files { + Distributor.idl + } + + Source_Files { + DistributorC.cpp + } +} + +project(Stock_Base_Distributor_svnt) : ciao_servant_dnc { + avoids += ace_for_tao + after += Stock_Base_skel Stock_Base_Distributor_stub + sharedname = Distributor_svnt + libs += Distributor_stub Stock_Base_stub Stock_Base_skel + + idlflags -= -GT + idlflags += -SS -St \ + -Wb,export_macro=DISTRIBUTOR_SVNT_Export \ + -Wb,export_include=Distributor_svnt_export.h + dynamicflags = DISTRIBUTOR_SVNT_BUILD_DLL + + CIDL_Files { + Distributor.cidl + } + + IDL_Files { + DistributorE.idl + } + + Source_Files { + DistributorEC.cpp + DistributorS.cpp + Distributor_svnt.cpp + } +} + + +project(Stock_Base_Distributor_exec) : ciao_component_dnc { + avoids += ace_for_tao + after += Stock_Base_Distributor_svnt + sharedname = Distributor_exec + libs += Distributor_stub \ + Distributor_svnt \ + Stock_Base_stub \ + Stock_Base_skel + + dynamicflags = DISTRIBUTOR_EXEC_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Distributor_exec.cpp + } +} + + +project (Stock_Distributor) : ciao_client_dnc, valuetype{ + avoids += ace_for_tao + exename = Distributor + after += Stock_Base_Distributor_stub + libs += Distributor_stub Stock_Base_stub + + IDL_Files { + } + + Source_Files { + Distributor.cpp + } +} + diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.cpp b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.cpp new file mode 100644 index 00000000000..1eaafa0027d --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.cpp @@ -0,0 +1,358 @@ +//$Id$ +/* + * @file Distributor_exec.cpp + * + * @author Ming Xiong <mxiong@dre.vanderbilt.edu> + */ + +#include "Distributor_exec.h" +#include "ciao/CIAO_common.h" +#include "ace/Reactor.h" + + +namespace CIDL_StockDistributor_Impl +{ + + // initialze the stock values + CORBA::Long + StockDistributor_exec_i::ibm_ = 100; + + CORBA::Long + StockDistributor_exec_i::msft_ = 101; + + //================================================================== + // C L A S S: pulse_Generator + //================================================================== + + pulse_Generator::pulse_Generator (StockDistributor_exec_i *callback) + : active_ (0), + pulse_callback_ (callback) + { + // initialize the reactor + this->reactor (ACE_Reactor::instance ()); + } + + pulse_Generator::~pulse_Generator () + { + } + + int + pulse_Generator::open_h () + { + // convert the task into a active object that runs in separate thread + return this->activate (); + } + + int + pulse_Generator::close_h () + { + this->reactor ()->end_reactor_event_loop (); + + // wait for all threads in the task to exit before it returns + return this->wait (); + } + + int + pulse_Generator::start (CORBA::Long hertz) + { + // return if not valid + if (hertz == 0 || this->active_ != 0) + { + return -1; + } + + // calculate the interval time + long usec = 1000000 / hertz; + + if (this->reactor ()->schedule_timer (this, + 0, + ACE_Time_Value (0, usec), + ACE_Time_Value (0, usec)) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Unable to setup Timer\n"), + -1); + + } + + this->active_ = 1; + return 0; + } + + int + pulse_Generator::stop (void) + { + // return if not valid. + if (this->active_ == 0) + { + return -1; + } + // cancle the timer + this->reactor ()->cancel_timer (this); + this->active_ = 0; + return 0; + } + + int + pulse_Generator::active (void) + { + return this->active_; + } + + int + pulse_Generator::handle_close (ACE_HANDLE handle, + ACE_Reactor_Mask close_mask) + { + if (CIAO::debug_level () > 0) + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"), + this, + handle, + close_mask)); + } + return 0; + } + + int + pulse_Generator::handle_timeout (const ACE_Time_Value &, + const void *) + { + // Notify the subscribers + this->pulse_callback_->push_notify_out (); + return 0; + } + + int + pulse_Generator::svc (void) + { + // define the owner of the reactor thread + this->reactor ()->owner (ACE_OS::thr_self ()); + + // run event loop to wait for event, and then dispatch them to corresponding handlers + this->reactor ()->run_reactor_event_loop (); + + return 0; + } + + + + //================================================================== + // Facet Executor Implementation Class: StockQuoter_exec_i + //================================================================== + + ::Stock::StockInfo * + StockQuoter_exec_i::get_stock_info (const char *stock_name) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Stock::Invalid_Stock)) + { + if (strcmp (stock_name, "MSFT") == 0) + { + Stock::StockInfo_var info = new Stock::StockInfo; + info->name = CORBA::string_dup ("MSFT"); + info->high = 10000; + info->low = 0; + info->last = this->distributor_.msft_; // retrieve the current stock value + return info._retn (); + } + else if (strcmp (stock_name, "IBM") == 0) + { + Stock::StockInfo_var info = new Stock::StockInfo; + info->name = CORBA::string_dup ("IBM"); + info->high = 10000; + info->low = 0; + info->last = this->distributor_.ibm_; // retrieve the current stock value + return info._retn (); + } + else + { + ACE_THROW_RETURN (Stock::Invalid_Stock (), 0); + } + } + + //================================================================== + // Component Executor Implementation Class: StockDistributor_exec_i + //================================================================== + + StockDistributor_exec_i::StockDistributor_exec_i (void) + : rate_ (0), pulser_ (this) + { + } + + StockDistributor_exec_i::~StockDistributor_exec_i (void) + { + } + + // Supported or inherited operations. + + void + StockDistributor_exec_i::start () + ACE_THROW_SPEC ((CORBA::SystemException)) + { + if (this->rate_ == 0 || this->pulser_.active()) + { + throw CORBA::BAD_PARAM (); + } + + this->pulser_.start (this->rate_); + } + + void + StockDistributor_exec_i::stop () + ACE_THROW_SPEC ((CORBA::SystemException)) + { + if (! this->pulser_.active ()) + { + throw CORBA::BAD_INV_ORDER (); + } + + this->pulser_.stop (); + } + + // Attribute operations. + + ::CORBA::Long + StockDistributor_exec_i::rate () + ACE_THROW_SPEC ((CORBA::SystemException)) + { + return this->rate_; + } + + void + StockDistributor_exec_i::rate ( + ::CORBA::Long rate) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + this->rate_ = rate; + } + + // Port operations. + + ::Stock::CCM_StockQuoter_ptr + StockDistributor_exec_i::get_push_quoter () + ACE_THROW_SPEC ((CORBA::SystemException)) + { + return new StockQuoter_exec_i (*this); + } + + void + StockDistributor_exec_i::push_notify_out () + ACE_THROW_SPEC ((CORBA::SystemException)) + { + this->msft_++; + this->ibm_++; + + Stock::StockName_var ev_msft = new OBV_Stock::StockName; + ev_msft->name (CORBA::string_dup ("MSFT")); + this->context_->push_notify_out (ev_msft.in ()); + + Stock::StockName_var ev_ibm = new OBV_Stock::StockName; + ev_ibm->name (CORBA::string_dup ("IBM")); + this->context_->push_notify_out (ev_ibm.in ()); + } + + // Operations from Components::SessionComponent + + void + StockDistributor_exec_i::set_session_context ( + ::Components::SessionContext_ptr ctx) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)) + { + this->context_ = StockDistributor_Context::_narrow (ctx); + + if (this->context_ == 0) + { + throw CORBA::INTERNAL (); + } + } + + void + StockDistributor_exec_i::ciao_preactivate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)) + { + } + + void + StockDistributor_exec_i::ciao_postactivate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)) + { + } + + void + StockDistributor_exec_i::ccm_activate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)) + { + // Start the active object + this->pulser_.open_h (); + } + + void + StockDistributor_exec_i::ccm_passivate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)) + { + // Deactivate the active object + this->pulser_.close_h (); + } + + void + StockDistributor_exec_i::ccm_remove () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)) + { + } + + //================================================================== + // Home Executor Implementation Class: StockDistributorHome_exec_i + //================================================================== + + StockDistributorHome_exec_i::StockDistributorHome_exec_i (void) + { + } + + StockDistributorHome_exec_i::~StockDistributorHome_exec_i (void) + { + } + + ::Components::EnterpriseComponent_ptr + StockDistributorHome_exec_i::create () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)) + { + ::Components::EnterpriseComponent_ptr retval = + ::Components::EnterpriseComponent::_nil (); + + ACE_NEW_THROW_EX ( + retval, + StockDistributor_exec_i, + CORBA::NO_MEMORY ()); + return retval; + } + + extern "C" DISTRIBUTOR_EXEC_Export ::Components::HomeExecutorBase_ptr + createStockDistributorHome_Impl (void) + { + ::Components::HomeExecutorBase_ptr retval = + ::Components::HomeExecutorBase::_nil (); + + ACE_NEW_RETURN ( + retval, + StockDistributorHome_exec_i, + ::Components::HomeExecutorBase::_nil ()); + + return retval; + } +} + diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.h b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.h new file mode 100644 index 00000000000..b890eb0365f --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.h @@ -0,0 +1,258 @@ +//$Id$ +/* + * @file Distributor_exec.h + * + * @author Ming Xiong <mxiong@dre.vanderbilt.edu> + */ + + + +#ifndef CIAO_DISTRIBUTOR_EXEC_H +#define CIAO_DISTRIBUTOR_EXEC_H + +#include /**/ "ace/pre.h" +#include "ace/Thread_Manager.h" +#include "ace/Task.h" + + +#include "Distributor_svnt.h" +#include "DistributorEC.h" +#include "Distributor_exec_export.h" + + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/LocalObject.h" + +namespace CIDL_StockDistributor_Impl +{ + class StockDistributor_exec_i; + + /** + * @class StockQuoter_exec_i + * + * @brief Executor implementation + * + * This class implements Stock::StockQuoter interface. We use this interface + * to acquire the information of the stock + */ + class DISTRIBUTOR_EXEC_Export StockQuoter_exec_i + : public virtual ::Stock::CCM_StockQuoter, + public virtual TAO_Local_RefCounted_Object + { + public: + StockQuoter_exec_i (StockDistributor_exec_i &distributor) + :distributor_ (distributor) + { + } + + // Operations from ::Stock::StockQuoter + + virtual ::Stock::StockInfo * + get_stock_info ( + const char * stock_name) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Stock::Invalid_Stock)); + + /// User defined + + private: + /// Maintains a handle to the distributor so that the quoter can refer to it for latest quote + StockDistributor_exec_i &distributor_; + }; + + class StockDistributor_exec_i; + + /** + * @class pulse generator + * + * @brief an active object used by StockDistributor to perform periodical pulse generation + * + */ + class pulse_Generator : public ACE_Task_Base + { + public: + pulse_Generator (StockDistributor_exec_i *callback); + + ~pulse_Generator (); + + /// Hook method that performs application-defined initialization activities + int open_h (void); + + /// Hook method that performs application-defined destruction activites + int close_h (void); + + /// appliation-defined method for starting the pulse-generation service + int start (CORBA::Long hertz); + + /// application-defined method for stopping the pulse-generation service + int stop (void); + + /// Indicate whether the current object is active + int active (void); + + /// Handle the timeout. + virtual int handle_timeout (const ACE_Time_Value &tv, + const void *arg); + + /// Called when timer handler is removed. + virtual int handle_close (ACE_HANDLE handle, + ACE_Reactor_Mask close_mask); + + /// Hook methods implemnting the task's service processing, + /// invoked by all threads activated by activate () method + virtual int svc (void); + + private: + /// Tracking whether we are actively generating pulse or not. + int active_; + + /// Maintains a handle that actually process the event + StockDistributor_exec_i *pulse_callback_; + + }; + + + /** + * @class StockDistributor_exec_i + * + * @brief Executor implementation + * + * This class implements Stock::StockDistributor component + */ + class DISTRIBUTOR_EXEC_Export StockDistributor_exec_i + : public virtual StockDistributor_Exec, + public virtual TAO_Local_RefCounted_Object + { + public: + StockDistributor_exec_i (void); + virtual ~StockDistributor_exec_i (void); + + // Supported or inherited operations. + + virtual void + start () + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void + stop () + ACE_THROW_SPEC ((CORBA::SystemException)); + + // Attribute operations. + + virtual ::CORBA::Long + rate () + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void + rate ( + ::CORBA::Long) + ACE_THROW_SPEC ((CORBA::SystemException)); + + // Port operations. + + virtual ::Stock::CCM_StockQuoter_ptr + get_push_quoter () + ACE_THROW_SPEC ((CORBA::SystemException)); + + // Operations from Components::SessionComponent + + virtual void + set_session_context ( + ::Components::SessionContext_ptr ctx) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)); + + virtual void + ciao_preactivate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)); + + virtual void + ciao_postactivate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)); + + virtual void + ccm_activate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)); + + virtual void + ccm_passivate () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)); + + virtual void + ccm_remove () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)); + + protected: + StockDistributor_Context *context_; + + /// User defined members + public: + + /// push event to all subscribers + void push_notify_out () + ACE_THROW_SPEC (( + ::CORBA::SystemException + )); + + private: + /// pulse generation rate + CORBA::Long rate_; + + /// pulser object + pulse_Generator pulser_; + + /// "real-time" stock value + static CORBA::Long msft_; + + /// "real-tiime" stock value + static CORBA::Long ibm_; + + friend class StockQuoter_exec_i; + }; + + + /** + * @class StockDistributorHome_exec_i + * + * @brief Executor implementation + * + * This class implements Stock::StockDistributorHome + */ + class DISTRIBUTOR_EXEC_Export StockDistributorHome_exec_i + : public virtual StockDistributorHome_Exec, + public virtual TAO_Local_RefCounted_Object + { + public: + StockDistributorHome_exec_i (void); + virtual ~StockDistributorHome_exec_i (void); + + virtual ::Components::EnterpriseComponent_ptr + create () + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Components::CCMException)); + }; + + extern "C" DISTRIBUTOR_EXEC_Export ::Components::HomeExecutorBase_ptr + createStockDistributorHome_Impl (void); +} + +#include /**/ "ace/post.h" + +#endif /* CIAO_DISTRIBUTOR_EXEC_H */ + diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec_export.h b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec_export.h new file mode 100644 index 00000000000..a3509e015da --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec_export.h @@ -0,0 +1,54 @@ + +// -*- C++ -*- +// $Id$ +// Definition for Win32 Export directives. +// This file is generated automatically by generate_export_file.pl DISTRIBUTOR_EXEC +// ------------------------------ +#ifndef DISTRIBUTOR_EXEC_EXPORT_H +#define DISTRIBUTOR_EXEC_EXPORT_H + +#include "ace/config-all.h" + +#if !defined (DISTRIBUTOR_EXEC_HAS_DLL) +# define DISTRIBUTOR_EXEC_HAS_DLL 1 +#endif /* ! DISTRIBUTOR_EXEC_HAS_DLL */ + +#if defined (DISTRIBUTOR_EXEC_HAS_DLL) && (DISTRIBUTOR_EXEC_HAS_DLL == 1) +# if defined (DISTRIBUTOR_EXEC_BUILD_DLL) +# define DISTRIBUTOR_EXEC_Export ACE_Proper_Export_Flag +# define DISTRIBUTOR_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define DISTRIBUTOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else /* DISTRIBUTOR_EXEC_BUILD_DLL */ +# define DISTRIBUTOR_EXEC_Export ACE_Proper_Import_Flag +# define DISTRIBUTOR_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define DISTRIBUTOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* DISTRIBUTOR_EXEC_BUILD_DLL */ +#else /* DISTRIBUTOR_EXEC_HAS_DLL == 1 */ +# define DISTRIBUTOR_EXEC_Export +# define DISTRIBUTOR_EXEC_SINGLETON_DECLARATION(T) +# define DISTRIBUTOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* DISTRIBUTOR_EXEC_HAS_DLL == 1 */ + +// Set DISTRIBUTOR_EXEC_NTRACE = 0 to turn on library specific tracing even if +// tracing is turned off for ACE. +#if !defined (DISTRIBUTOR_EXEC_NTRACE) +# if (ACE_NTRACE == 1) +# define DISTRIBUTOR_EXEC_NTRACE 1 +# else /* (ACE_NTRACE == 1) */ +# define DISTRIBUTOR_EXEC_NTRACE 0 +# endif /* (ACE_NTRACE == 1) */ +#endif /* !DISTRIBUTOR_EXEC_NTRACE */ + +#if (DISTRIBUTOR_EXEC_NTRACE == 1) +# define DISTRIBUTOR_EXEC_TRACE(X) +#else /* (DISTRIBUTOR_EXEC_NTRACE == 1) */ +# if !defined (ACE_HAS_TRACE) +# define ACE_HAS_TRACE +# endif /* ACE_HAS_TRACE */ +# define DISTRIBUTOR_EXEC_TRACE(X) ACE_TRACE_IMPL(X) +# include "ace/Trace.h" +#endif /* (DISTRIBUTOR_EXEC_NTRACE == 1) */ + +#endif /* DISTRIBUTOR_EXEC_EXPORT_H */ + +// End of auto generated file. diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_stub_export.h b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_stub_export.h new file mode 100644 index 00000000000..1126c5bc355 --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_stub_export.h @@ -0,0 +1,54 @@ + +// -*- C++ -*- +// $Id$ +// Definition for Win32 Export directives. +// This file is generated automatically by generate_export_file.pl DISTRIBUTOR_STUB +// ------------------------------ +#ifndef DISTRIBUTOR_STUB_EXPORT_H +#define DISTRIBUTOR_STUB_EXPORT_H + +#include "ace/config-all.h" + +#if !defined (DISTRIBUTOR_STUB_HAS_DLL) +# define DISTRIBUTOR_STUB_HAS_DLL 1 +#endif /* ! DISTRIBUTOR_STUB_HAS_DLL */ + +#if defined (DISTRIBUTOR_STUB_HAS_DLL) && (DISTRIBUTOR_STUB_HAS_DLL == 1) +# if defined (DISTRIBUTOR_STUB_BUILD_DLL) +# define DISTRIBUTOR_STUB_Export ACE_Proper_Export_Flag +# define DISTRIBUTOR_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define DISTRIBUTOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else /* DISTRIBUTOR_STUB_BUILD_DLL */ +# define DISTRIBUTOR_STUB_Export ACE_Proper_Import_Flag +# define DISTRIBUTOR_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define DISTRIBUTOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* DISTRIBUTOR_STUB_BUILD_DLL */ +#else /* DISTRIBUTOR_STUB_HAS_DLL == 1 */ +# define DISTRIBUTOR_STUB_Export +# define DISTRIBUTOR_STUB_SINGLETON_DECLARATION(T) +# define DISTRIBUTOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* DISTRIBUTOR_STUB_HAS_DLL == 1 */ + +// Set DISTRIBUTOR_STUB_NTRACE = 0 to turn on library specific tracing even if +// tracing is turned off for ACE. +#if !defined (DISTRIBUTOR_STUB_NTRACE) +# if (ACE_NTRACE == 1) +# define DISTRIBUTOR_STUB_NTRACE 1 +# else /* (ACE_NTRACE == 1) */ +# define DISTRIBUTOR_STUB_NTRACE 0 +# endif /* (ACE_NTRACE == 1) */ +#endif /* !DISTRIBUTOR_STUB_NTRACE */ + +#if (DISTRIBUTOR_STUB_NTRACE == 1) +# define DISTRIBUTOR_STUB_TRACE(X) +#else /* (DISTRIBUTOR_STUB_NTRACE == 1) */ +# if !defined (ACE_HAS_TRACE) +# define ACE_HAS_TRACE +# endif /* ACE_HAS_TRACE */ +# define DISTRIBUTOR_STUB_TRACE(X) ACE_TRACE_IMPL(X) +# include "ace/Trace.h" +#endif /* (DISTRIBUTOR_STUB_NTRACE == 1) */ + +#endif /* DISTRIBUTOR_STUB_EXPORT_H */ + +// End of auto generated file. diff --git a/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_svnt_export.h b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_svnt_export.h new file mode 100644 index 00000000000..78debd1c32b --- /dev/null +++ b/modules/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_svnt_export.h @@ -0,0 +1,54 @@ + +// -*- C++ -*- +// $Id$ +// Definition for Win32 Export directives. +// This file is generated automatically by generate_export_file.pl DISTRIBUTOR_SVNT +// ------------------------------ +#ifndef DISTRIBUTOR_SVNT_EXPORT_H +#define DISTRIBUTOR_SVNT_EXPORT_H + +#include "ace/config-all.h" + +#if !defined (DISTRIBUTOR_SVNT_HAS_DLL) +# define DISTRIBUTOR_SVNT_HAS_DLL 1 +#endif /* ! DISTRIBUTOR_SVNT_HAS_DLL */ + +#if defined (DISTRIBUTOR_SVNT_HAS_DLL) && (DISTRIBUTOR_SVNT_HAS_DLL == 1) +# if defined (DISTRIBUTOR_SVNT_BUILD_DLL) +# define DISTRIBUTOR_SVNT_Export ACE_Proper_Export_Flag +# define DISTRIBUTOR_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define DISTRIBUTOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else /* DISTRIBUTOR_SVNT_BUILD_DLL */ +# define DISTRIBUTOR_SVNT_Export ACE_Proper_Import_Flag +# define DISTRIBUTOR_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define DISTRIBUTOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* DISTRIBUTOR_SVNT_BUILD_DLL */ +#else /* DISTRIBUTOR_SVNT_HAS_DLL == 1 */ +# define DISTRIBUTOR_SVNT_Export +# define DISTRIBUTOR_SVNT_SINGLETON_DECLARATION(T) +# define DISTRIBUTOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* DISTRIBUTOR_SVNT_HAS_DLL == 1 */ + +// Set DISTRIBUTOR_SVNT_NTRACE = 0 to turn on library specific tracing even if +// tracing is turned off for ACE. +#if !defined (DISTRIBUTOR_SVNT_NTRACE) +# if (ACE_NTRACE == 1) +# define DISTRIBUTOR_SVNT_NTRACE 1 +# else /* (ACE_NTRACE == 1) */ +# define DISTRIBUTOR_SVNT_NTRACE 0 +# endif /* (ACE_NTRACE == 1) */ +#endif /* !DISTRIBUTOR_SVNT_NTRACE */ + +#if (DISTRIBUTOR_SVNT_NTRACE == 1) +# define DISTRIBUTOR_SVNT_TRACE(X) +#else /* (DISTRIBUTOR_SVNT_NTRACE == 1) */ +# if !defined (ACE_HAS_TRACE) +# define ACE_HAS_TRACE +# endif /* ACE_HAS_TRACE */ +# define DISTRIBUTOR_SVNT_TRACE(X) ACE_TRACE_IMPL(X) +# include "ace/Trace.h" +#endif /* (DISTRIBUTOR_SVNT_NTRACE == 1) */ + +#endif /* DISTRIBUTOR_SVNT_EXPORT_H */ + +// End of auto generated file. |