source: ThirdParty/JobMarket/src/JobMarket/ExitflagContainer.hpp

Candidate_v1.6.1
Last change on this file was 363f28, checked in by Frederik Heber <heber@…>, 8 years ago

Merge commit '404d2be35f6544290132fcbe8f79a4ff9c6584ad' as 'ThirdParty/JobMarket'

  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 * ExitflagContainer.hpp
3 *
4 * Created on: 11.05.2012
5 * Author: heber
6 */
7
8#ifndef EXITFLAGCONTAINER_HPP_
9#define EXITFLAGCONTAINER_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16/** This class simply contains an exit flag to be inherited by instances that
17 * deal with (asynchronous) operations. These may be given a callback function
18 * that sets the exitflag to ErrorFlag in case of failure, e.g
19 *
20 * \code
21 * const boost::function<void ()> failed =
22 * boost::bind(&ExitflagContainer::setExitflag, boost::ref(this), ErrorFlag);
23 * \endcode
24 * where \a this refers to the inheriting instance.
25 *
26 */
27class ExitflagContainer
28{
29public:
30 ExitflagContainer() :
31 Exitflag(OkFlag)
32 {}
33
34 enum Exitflag_t {
35 OkFlag = 0,
36 ErrorFlag = 255
37 };
38
39 /** Getter for Exitflag.
40 *
41 * @return Exitflag
42 */
43 size_t getExitflag() const
44 {
45 return Exitflag;
46 }
47
48 /** Setter for Exitflag.
49 *
50 * @param exitflag
51 */
52 void setExitflag(const Exitflag_t _Exitflag)
53 {
54 Exitflag = _Exitflag;
55 }
56
57private:
58 // exit flag of this operation, derived classes may change it
59 enum Exitflag_t Exitflag;
60};
61
62#endif /* EXITFLAGCONTAINER_HPP_ */
Note: See TracBrowser for help on using the repository browser.