1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2 
3 #ifndef EVENTCOMMAND_H
4 #define EVENTCOMMAND_H
5 
6 #include "icinga/eventcommand-ti.hpp"
7 #include "icinga/checkable.hpp"
8 
9 namespace icinga
10 {
11 
12 /**
13  * An event handler command.
14  *
15  * @ingroup icinga
16  */
17 class EventCommand final : public ObjectImpl<EventCommand>
18 {
19 public:
20 	DECLARE_OBJECT(EventCommand);
21 	DECLARE_OBJECTNAME(EventCommand);
22 
23 	static thread_local EventCommand::Ptr ExecuteOverride;
24 
25 	virtual void Execute(const Checkable::Ptr& checkable,
26 		const Dictionary::Ptr& resolvedMacros = nullptr,
27 		bool useResolvedMacros = false);
28 };
29 
30 }
31 
32 #endif /* EVENTCOMMAND_H */
33