EC_SupplierControl.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file   EC_SupplierControl.h
00005  *
00006  *  $Id: EC_SupplierControl.h 76589 2007-01-25 18:04:11Z elliott_c $
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 
00069   /// Some system exception was raised while trying to contact the
00070   /// supplier
00071   virtual void system_exception (TAO_EC_ProxyPushConsumer * proxy,
00072                                  CORBA::SystemException &);
00073 };
00074 
00075 TAO_END_VERSIONED_NAMESPACE_DECL
00076 
00077 #include /**/ "ace/post.h"
00078 
00079 #endif /* TAO_EC_SUPPLIERCONTROL_H */

Generated on Tue Feb 2 17:44:06 2010 for TAO_RTEvent by  doxygen 1.4.7