/usr/include/ace/Method_Request.h is in libace-dev 6.2.8+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | // -*- C++ -*-
//=============================================================================
/**
* @file Method_Request.h
*
* $Id: Method_Request.h 80826 2008-03-04 14:51:23Z wotte $
*
* @author Andres Kruse <Andres.Kruse@cern.ch>
* @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
*/
//=============================================================================
#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 "ace/Global_Macros.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
/**
* @class ACE_Method_Request
*
* @brief Reifies a method into a request. Subclasses must provide
* the necessary state and behavior.
*
* An ACE_Method_Request is inserted in an ACE_Activation_Queue,
* where it is subsequently removed by a scheduler object (often
* derived from ACE_Task), which invokes the @c call() method.
*
* This class is discussed in depth in the Active Object chapter
* of POSA2.
*
* @sa ACE_Activation_Queue
*/
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.
/**
* Priority values are user-defined. The default (set in the constructor)
* is 0. The priority value is used in the ACE_Activation_Queue::enqueue()
* method to order the method requests in the queue by priority.
* 0 is the lowest priority.
*
* @param prio unsigned long, the new priority value for this object.
*
* @sa ACE_Activation_Queue::enqueue
*/
void priority (unsigned long prio);
// = Invocation method (must be overridden by subclasses).
/// Invoked by the scheduler to execute the request.
/**
* This method must be implemented by the subclass to perform the
* desired actions.
*
* @return int; not interpreted by ACE. The scheduler class must
* decide the meaning of this return value and act on it
* if needed.
*/
virtual int call (void) = 0;
private:
/// Disallow copying and assignment.
ACE_Method_Request (const ACE_Method_Request &);
void operator= (const ACE_Method_Request &);
protected:
/// The priority of the request.
unsigned long priority_;
};
ACE_END_VERSIONED_NAMESPACE_DECL
#include /**/ "ace/post.h"
#endif /* ACE_METHOD_REQUEST_H */
|