From 5b3aec2b904a2eb7478240dac2f56d8928fc2362 Mon Sep 17 00:00:00 2001 From: "magnus@neptunus.(none)" <> Date: Wed, 14 Apr 2004 10:53:21 +0200 Subject: Initial revision of NDB Cluster files --- ndb/src/common/mgmcommon/Config.hpp | 86 +++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 ndb/src/common/mgmcommon/Config.hpp (limited to 'ndb/src/common/mgmcommon/Config.hpp') diff --git a/ndb/src/common/mgmcommon/Config.hpp b/ndb/src/common/mgmcommon/Config.hpp new file mode 100644 index 00000000000..1314abe004a --- /dev/null +++ b/ndb/src/common/mgmcommon/Config.hpp @@ -0,0 +1,86 @@ +/* Copyright (C) 2003 MySQL AB + + 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 of the License, 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 Config_H +#define Config_H + +#include +#include + +#include + +#include +#include +#include +#include +#include + +/** + * @class Config + * @brief Cluster Configuration (corresponds to initial configuration file) + * + * Contains all cluster configuration parameters. + * + * The information includes all configurable parameters for a NDB cluster: + * - DB, API and MGM nodes with all their properties, + * - Connections between nodes and computers the nodes will execute on. + * + * The following categories (sections) of configuration parameters exists: + * - COMPUTER, DB, MGM, API, TCP, SCI, SHM, OSE + */ +class Config : public Properties { +public: + /** + * Constructor which loads the object with an Properties object + */ + Config(const Config & org); + Config(const Properties & org); + Config(); + virtual ~Config(); + + /** + * Prints the configuration in configfile format + */ + void printConfigFile(NdbOut &out = ndbout) const; + void printConfigFile(OutputStream &out) const { + NdbOut ndb(out); + printConfigFile(ndb); + } + + const class ConfigInfo* getConfigInfo() const; + + Uint32 getGenerationNumber() const; + int setGenerationNumber(Uint32); + + /** Change configuration + */ + bool change(const BaseString §ion, + const BaseString ¶m, + const BaseString &value); + +private: + + void printAllNameValuePairs(NdbOut &out, + const Properties *prop, + const char* section) const; + + /** + * Information about parameters (min, max values etc) + */ + const class ConfigInfo* m_info; +}; + +#endif // Config_H -- cgit v1.2.1