Config.hpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifndef Config_H
  14. #define Config_H
  15. #include <LogLevel.hpp>
  16. #include <kernel_types.h>
  17. #include <NdbOut.hpp>
  18. #include <ndb_limits.h>
  19. #include <Properties.hpp>
  20. #include <ConfigInfo.hpp>
  21. class ConfigInfo;
  22. /**
  23.  * @class Config
  24.  * @brief Cluster Configuration  (corresponds to initial configuration file)
  25.  *
  26.  * Contains all cluster configuration parameters.
  27.  *
  28.  * The information includes all configurable parameters for a NDB cluster:
  29.  * - DB, API and MGM nodes with all their properties, 
  30.  * - Connections between nodes and computers the nodes will execute on.
  31.  *
  32.  * The following categories (sections) of configuration parameters exists:
  33.  * - COMPUTER, DB, MGM, API, TCP, SCI, SHM, OSE
  34.  *
  35.  */
  36. class Config {
  37. public:
  38.   /**
  39.    *   Constructor which loads the object with an Properties object
  40.    */
  41.   Config();
  42.   virtual ~Config();
  43.   /**
  44.    *   Prints the configuration in configfile format
  45.    */
  46.   void printConfigFile(NdbOut &out = ndbout) const;
  47.   void printConfigFile(OutputStream &out) const {
  48.     NdbOut ndb(out);
  49.     printConfigFile(ndb);
  50.   }
  51.   /**
  52.    * Info
  53.    */
  54.   const ConfigInfo * getConfigInfo() const { return &m_info;}
  55. private:
  56.   ConfigInfo m_info;
  57.   void printAllNameValuePairs(NdbOut &out,
  58.       const Properties *prop,
  59.       const char* section) const;
  60.   /**
  61.    *   Information about parameters (min, max values etc)
  62.    */
  63. public:
  64.   Properties * m_oldConfig;
  65.   struct ndb_mgm_configuration * m_configValues;
  66. };
  67. #endif // Config_H