Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / atf-c++ / config.hpp @ 14

History | View | Annotate | Download (2.65 KB)

1 13 up20180614
//
2
// Automated Testing Framework (atf)
3
//
4
// Copyright (c) 2007 The NetBSD Foundation, Inc.
5
// All rights reserved.
6
//
7
// Redistribution and use in source and binary forms, with or without
8
// modification, are permitted provided that the following conditions
9
// are met:
10
// 1. Redistributions of source code must retain the above copyright
11
//    notice, this list of conditions and the following disclaimer.
12
// 2. Redistributions in binary form must reproduce the above copyright
13
//    notice, this list of conditions and the following disclaimer in the
14
//    documentation and/or other materials provided with the distribution.
15
//
16
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
17
// CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
18
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
// IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
21
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
23
// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25
// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27
// IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
//
29
30
#if !defined(_ATF_CXX_CONFIG_HPP_)
31
#define _ATF_CXX_CONFIG_HPP_
32
33
#include <map>
34
#include <string>
35
36
namespace atf {
37
38
namespace config {
39
40
//!
41
//! \brief Gets a build-time configuration variable's value.
42
//!
43
//! Given the name of a build-time configuration variable, returns its
44
//! textual value.  The user is free to override these by setting their
45
//! corresponding environment variables.  Therefore always use this
46
//! interface to get the value of these variables.
47
//!
48
//! \pre The variable must exist.
49
//!
50
const std::string& get(const std::string&);
51
52
//!
53
//! \brief Returns all the build-time configuration variables.
54
//!
55
//! Returns a name to value map containing all build-time configuration
56
//! variables.
57
//!
58
const std::map< std::string, std::string >& get_all(void);
59
60
//!
61
//! \brief Checks whether a build-time configuration variable exists.
62
//!
63
//! Given the name of a build-time configuration variable, checks
64
//! whether it is defined and returns a boolean indicating this
65
//! condition.  The program only has to use this function to sanity-check
66
//! a variable name provided by the user.  Otherwise it can assume that
67
//! the variables are defined.
68
//!
69
bool has(const std::string&);
70
71
} // namespace config
72
73
} // namespace atf
74
75
#endif // !defined(_ATF_CXX_CONFIG_HPP_)