]> granicus.if.org Git - icinga2/blob - lib/cli/nodewizardcommand.hpp
add some object locking to the Dump method (which could theoreticylly suffer from...
[icinga2] / lib / cli / nodewizardcommand.hpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #ifndef NODEWIZARDCOMMAND_H
4 #define NODEWIZARDCOMMAND_H
5
6 #include "cli/clicommand.hpp"
7
8 namespace icinga
9 {
10
11 /**
12  * The "node wizard" command.
13  *
14  * @ingroup cli
15  */
16 class NodeWizardCommand final : public CLICommand
17 {
18 public:
19         DECLARE_PTR_TYPEDEFS(NodeWizardCommand);
20
21         String GetDescription() const override;
22         String GetShortDescription() const override;
23         int GetMaxArguments() const override;
24         int Run(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap) const override;
25         ImpersonationLevel GetImpersonationLevel() const override;
26         void InitParameters(boost::program_options::options_description& visibleDesc,
27                 boost::program_options::options_description& hiddenDesc) const override;
28
29 private:
30         int ClientSetup() const;
31         int MasterSetup() const;
32 };
33
34 }
35
36 #endif /* NODEWIZARDCOMMAND_H */