summaryrefslogtreecommitdiffstats
path: root/lib/icinga/macroresolver.hpp
blob: 62cd41d3c52288df5be45fac853882c194bb5e78 (plain)
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
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */

#ifndef MACRORESOLVER_H
#define MACRORESOLVER_H

#include "icinga/i2-icinga.hpp"
#include "icinga/checkresult.hpp"
#include "base/dictionary.hpp"
#include "base/string.hpp"

namespace icinga
{

/**
 * Resolves macros.
 *
 * @ingroup icinga
 */
class MacroResolver
{
public:
	DECLARE_PTR_TYPEDEFS(MacroResolver);

	static thread_local Dictionary::Ptr OverrideMacros;

	virtual bool ResolveMacro(const String& macro, const CheckResult::Ptr& cr, Value *result) const = 0;
};

}

#endif /* MACRORESOLVER_H */