EC_SupplierControl.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file   EC_SupplierControl.h
00005  *
00006  *  EC_SupplierControl.h,v 1.18 2006/03/15 07:52:22 jtc Exp
00007  *
00008  *  @author Carlos O'Ryan (coryan@cs.wustl.edu)
00009  *
00010  * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and
00011  * other members of the DOC group. More details can be found in:
00012  *
00013  * http://doc.ece.uci.edu/~coryan/EC/index.html
00014  */
00015 
00016 #ifndef TAO_EC_SUPPLIERCONTROL_H
00017 #define TAO_EC_SUPPLIERCONTROL_H
00018 
00019 #include /**/ "ace/pre.h"
00020 #include "ace/CORBA_macros.h"
00021 
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif /* ACE_LACKS_PRAGMA_ONCE */
00025 
00026 #include /**/ "orbsvcs/Event/event_serv_export.h"
00027 
00028 #include "tao/Versioned_Namespace.h"
00029 
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031 
00032 class TAO_EC_ProxyPushConsumer;
00033 
00034 namespace CORBA
00035 {
00036   class Environment;
00037   class SystemException;
00038 }
00039 
00040 /**
00041  * @class TAO_EC_SupplierControl
00042  *
00043  * @brief SupplierControl
00044  *
00045  * Defines the interface for the supplier control strategy.
00046  * This strategy handles misbehaving or failing suppliers.
00047  */
00048 class TAO_RTEvent_Serv_Export TAO_EC_SupplierControl
00049 {
00050 public:
00051   /// Constructor.
00052   TAO_EC_SupplierControl (void);
00053 
00054   /// Destructor.
00055   virtual ~TAO_EC_SupplierControl (void);
00056 
00057   /// Activate any internal threads or timers used to poll the state of
00058   /// the suppliers
00059   virtual int activate (void);
00060   virtual int shutdown (void);
00061 
00062   /**
00063    * Invoked by helper classes when they detect that a supplier does
00064    * not exists (i.e. _non_existent() returns true and/or the
00065    * CORBA::OBJECT_NOT_EXIST exception has been raised).
00066    */
00067   virtual void supplier_not_exist (TAO_EC_ProxyPushConsumer *proxy
00068                                    ACE_ENV_ARG_DECL_NOT_USED);
00069 
00070   /// Some system exception was raised while trying to contact the
00071   /// supplier
00072   virtual void system_exception (TAO_EC_ProxyPushConsumer * proxy,
00073                                  CORBA::SystemException &
00074                                  ACE_ENV_ARG_DECL_NOT_USED);
00075 };
00076 
00077 TAO_END_VERSIONED_NAMESPACE_DECL
00078 
00079 #include /**/ "ace/post.h"
00080 
00081 #endif /* TAO_EC_SUPPLIERCONTROL_H */

Generated on Thu Nov 9 13:11:09 2006 for TAO_RTEvent by doxygen 1.3.6