OpenWalnut
1.2.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
src
core
common
WRequirement.h
1
//---------------------------------------------------------------------------
2
//
3
// Project: OpenWalnut ( http://www.openwalnut.org )
4
//
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
7
//
8
// This file is part of OpenWalnut.
9
//
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22
//
23
//---------------------------------------------------------------------------
24
25
#ifndef WREQUIREMENT_H
26
#define WREQUIREMENT_H
27
28
#include <string>
29
30
#include "WExportCommon.h"
31
32
/**
33
* Base class for all possible kinds of requirements. Derive your own kind of requirement from this class. This allows easy checking of required
34
* features on a target system. Of course this is only useful for things checkable during runtime. You should avoid writing classes for checking
35
* weather some library is installed or not. This is checked by the linker on the target system.
36
*/
37
class
OWCOMMON_EXPORT
WRequirement
// NOLINT
38
{
39
public
:
40
41
/**
42
* Default constructor.
43
*/
44
WRequirement
();
45
46
/**
47
* Destructor.
48
*/
49
virtual
~
WRequirement
();
50
51
/**
52
* Checks if the requirement is fulfilled on the system. Implement this for your specific case.
53
*
54
* \return true if the specific requirement is fulfilled.
55
*/
56
virtual
bool
isComplied()
const
= 0;
57
58
/**
59
* Return a nice description of the requirement.
60
*
61
* \return the description.
62
*/
63
virtual
std::string getDescription()
const
= 0;
64
65
protected
:
66
67
private
:
68
};
69
70
#endif // WREQUIREMENT_H
71
Generated by
1.8.1