// -*- C++ -*- //============================================================================= /** * @file Method_Request.h * * $Id$ * * @author Andres Kruse * @author Douglas C. Schmidt */ //============================================================================= #ifndef ACE_METHOD_REQUEST_H #define ACE_METHOD_REQUEST_H #include "ace/pre.h" #include "ace/ACE_export.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "Global_Macros.h" /** * @class ACE_Method_Request * * @brief Reifies a method into a request. Subclasses provide * the necessary state and behavior. * * A is inserted in the , * where it is subsequently removed by a , which * invokes the method. */ class ACE_Export ACE_Method_Request { public: // = Initialization and termination methods. /// Constructor. ACE_Method_Request (unsigned long priority = 0); /// Destructor. virtual ~ACE_Method_Request (void); // = Accessors. /// Get priority. unsigned long priority (void) const; /// Set priority. void priority (unsigned long); // = Invocation method (must be overridden by subclasses). /// Invoked when the is scheduled to run. virtual int call (void) = 0; protected: /// The priority of the request. unsigned long priority_; private: ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Method_Request &)) ACE_UNIMPLEMENTED_FUNC (ACE_Method_Request (const ACE_Method_Request &)) }; #include "ace/post.h" #endif /* ACE_METHOD_REQUEST_H */