Upcall_Command.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Upcall_Command.h
00006  *
00007  *  $Id: Upcall_Command.h 76995 2007-02-11 12:51:42Z johnnyw $
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 
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027 
00028 namespace TAO
00029 {
00030   /**
00031    * @class Upcall_Command
00032    *
00033    * @brief "ABC" that all operation-specific command objects must
00034    *        subclass.
00035    *
00036    * The actual upcall into a servant is executed through a concrete
00037    * @c Upcall_Command object.  This is necessary to simplify upcall
00038    * interactions in the presence of interceptors, such as when the
00039    * @c send_exception() interception point must be invoked when the
00040    * servant operation throws an exception.
00041    */
00042   class TAO_PortableServer_Export Upcall_Command
00043   {
00044   public:
00045     /// Destructor.
00046     virtual ~Upcall_Command (void);
00047 
00048     /// Execute the upcall.
00049     virtual void execute (void) = 0;
00050   };
00051 
00052 }  // End namespace TAO
00053 
00054 TAO_END_VERSIONED_NAMESPACE_DECL
00055 
00056 #include /**/ "ace/post.h"
00057 
00058 #endif /* TAO_UPCALL_COMMAND_H */

Generated on Tue Feb 2 17:40:54 2010 for TAO_PortableServer by  doxygen 1.4.7