source: nscp/modules/CheckTaskSched/CheckTaskSched.h @ a14aa07

0.4.00.4.10.4.2
Last change on this file since a14aa07 was a14aa07, checked in by Michael Medin <michael@…>, 21 months ago
  • Fixed several issues in PythonScript
  • PythonScript supports loading multiple instances as well as scripts
  • Added some basic channel test to test.py script (the idea is that this will become "unit tests" eventually)
  • Property mode set to 100644
File size: 3.0 KB
Line 
1/**************************************************************************
2*   Copyright (C) 2004-2007 by Michael Medin <michael@medin.name>         *
3*                                                                         *
4*   This code is part of NSClient++ - http://trac.nakednuns.org/nscp      *
5*                                                                         *
6*   This program is free software; you can redistribute it and/or modify  *
7*   it under the terms of the GNU General Public License as published by  *
8*   the Free Software Foundation; either version 2 of the License, or     *
9*   (at your option) any later version.                                   *
10*                                                                         *
11*   This program is distributed in the hope that it will be useful,       *
12*   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
13*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
14*   GNU General Public License for more details.                          *
15*                                                                         *
16*   You should have received a copy of the GNU General Public License     *
17*   along with this program; if not, write to the                         *
18*   Free Software Foundation, Inc.,                                       *
19*   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
20***************************************************************************/
21NSC_WRAPPERS_MAIN();
22NSC_WRAPPERS_CLI();
23
24#include <config.h>
25#include <strEx.h>
26#include <utils.h>
27#include <checkHelpers.hpp>
28#include "TaskSched.h"
29
30class CheckTaskSched : public nscapi::impl::simple_command_handler, public nscapi::impl::simple_plugin {
31private:
32        std::wstring syntax;
33
34public:
35        // Module calls
36        bool loadModule();
37        bool loadModuleEx(std::wstring alias, NSCAPI::moduleLoadMode mode);
38        bool unloadModule();
39
40        static std::wstring getModuleName() {
41                return _T("CheckTaskSched");
42        }
43        static std::wstring getModuleDescription() {
44                return _T("CheckTaskSched can check various file and disk related things.\nThe current version has commands to check Size of hard drives and directories.");
45        }
46        static nscapi::plugin_wrapper::module_version getModuleVersion() {
47                nscapi::plugin_wrapper::module_version version = {0, 0, 1 };
48                return version;
49        }
50
51        bool hasCommandHandler();
52        bool hasMessageHandler();
53        NSCAPI::nagiosReturn handleCommand(const std::wstring &target, const std::wstring &command, std::list<std::wstring> &arguments, std::wstring &message, std::wstring &perf);
54        int CheckTaskSched::commandLineExec(const wchar_t* command,const unsigned int argLen,wchar_t** args);
55
56        // Check commands
57        NSCAPI::nagiosReturn TaskSchedule(std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf);
58
59
60
61private:
62        typedef checkHolders::CheckContainer<checkHolders::MaxMinBoundsDiscSize> PathContainer;
63        typedef checkHolders::CheckContainer<checkHolders::MaxMinPercentageBoundsDiskSize> DriveContainer;
64};
Note: See TracBrowser for help on using the repository browser.