/* Common functions to any pandora program. Copyright (c) 2006-2021 Artica ST. Written by Esteban Sanchez. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __PANDORA__ #define __PANDORA__ #include #include #include #undef WINVER #define WINVER 0x0500 #include #include "windows_service.h" using namespace std; #define PANDORA_DEBUG 1 #define PANDORA_EXCEPTION 11 #define AUTHENTICATION_FAILED 12 #define UNKNOWN_HOST 13 #define FTP_EXCEPTION 14 #define SESSION_ALREADY_OPENED 15 #define RESOLV_FAILED 16 #define CONNECTION_FAILED 17 #define SESSION_ERROR 18 #define SESSION_NOT_OPENED 19 #define FILE_NOT_FOUND 20 #define SCP_FAILED 21 #define DELETE_ERROR 22 /** * Main application. */ namespace Pandora { /** * A Key_Value object holds a relation between a value and a * unique key value. */ class Key_Value { private: string key; string value; public: void parseLine (string str); void parseLineByPosition (string str, int pos); string getKey (); void setKey (const string value); string getValue (); void setValue (const string value); }; static const HKEY hkey = HKEY_LOCAL_MACHINE; const char * const name = "PandoraFMSAgent"; const char * const display_name = "Pandora FMS agent"; const char * const description = "The Pandora FMS Agent service"; void setPandoraInstallDir (string dir); string getPandoraInstallDir (); void setPandoraInstallPath (string path); string getPandoraInstallPath (); void setPandoraDebug (bool dbg); bool getPandoraDebug (); void setPandoraLogDisable (bool dbg); string getPandoraAgentVersion (); void pandoraDebug (const char *format, ...); void pandoraLog (const char *format, ...); void pandoraFree (void * e); bool is_enabled (string value); /** * Super-class exception. * * Other exceptions generated in the application should inherate from * this class. This allow a easier handling on throw and catch blocks. */ class Pandora_Exception { }; } #endif /* __PANDORA_H__ */