Upcall_Command.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Upcall_Command.h
00006  *
00007  *  Upcall_Command.h,v 1.6 2005/11/04 09:26:56 ossama Exp
00008  *
00009  *  @author Ossama Othman
00010  */
00011 //=============================================================================
00012 
00013 #ifndef TAO_UPCALL_COMMAND_H
00014 #define TAO_UPCALL_COMMAND_H
00015 
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/PortableServer/portableserver_export.h"
00019 
00020 #ifndef ACE_LACKS_PRAGMA_ONCE
00021 # pragma once
00022 #endif /* !ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "tao/Versioned_Namespace.h"
00025 #include "ace/CORBA_macros.h"
00026 
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028 
00029 namespace CORBA
00030 {
00031   class Environment;
00032 }
00033 
00034 namespace TAO
00035 {
00036 
00037   /**
00038    * @class Upcall_Command
00039    *
00040    * @brief "ABC" that all operation-specific command objects must
00041    *        subclass.
00042    *
00043    * The actual upcall into a servant is executed through a concrete
00044    * @c Upcall_Command object.  This is necessary to simplify upcall
00045    * interactions in the presence of interceptors, such as when the
00046    * @c send_exception() interception point must be invoked when the
00047    * servant operation throws an exception.
00048    */
00049   class TAO_PortableServer_Export Upcall_Command
00050   {
00051   public:
00052 
00053     /// Destructor.
00054     virtual ~Upcall_Command (void);
00055 
00056     /// Execute the upcall.
00057     virtual void execute (ACE_ENV_SINGLE_ARG_DECL) = 0;
00058 
00059   };
00060 
00061 }  // End namespace TAO
00062 
00063 TAO_END_VERSIONED_NAMESPACE_DECL
00064 
00065 #include /**/ "ace/post.h"
00066 
00067 #endif /* TAO_UPCALL_COMMAND_H */

Generated on Thu Nov 9 12:40:45 2006 for TAO_PortableServer by doxygen 1.3.6