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

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 Configuration_H
  14. #define Configuration_H
  15. #include <mgmapi.h>
  16. #include <ndb_types.h>
  17. class ConfigRetriever;
  18. class Configuration {
  19. public:
  20.   Configuration();
  21.   ~Configuration();
  22.   /**
  23.    * Returns false if arguments are invalid
  24.    */
  25.   bool init(int argc, char** argv);
  26.   void fetch_configuration();
  27.   void setupConfiguration();
  28.   void closeConfiguration();
  29.   
  30.   bool lockPagesInMainMemory() const;
  31.   
  32.   int timeBetweenWatchDogCheck() const ;
  33.   void timeBetweenWatchDogCheck(int value);
  34.   
  35.   int maxNoOfErrorLogs() const ;
  36.   void maxNoOfErrorLogs(int val);
  37.   bool stopOnError() const;
  38.   void stopOnError(bool val);
  39.   
  40.   int getRestartOnErrorInsert() const;
  41.   void setRestartOnErrorInsert(int);
  42.   
  43.   // Cluster configuration
  44.   const char * programName() const;
  45.   const char * fileSystemPath() const;
  46.   const char * backupFilePath() const;
  47.   const char * getConnectString() const;
  48.   char * getConnectStringCopy() const;
  49.   /**
  50.    * 
  51.    */
  52.   bool getInitialStart() const;
  53.   void setInitialStart(bool val);
  54.   bool getDaemonMode() const;
  55.   const ndb_mgm_configuration_iterator * getOwnConfigIterator() const;
  56.   Uint32 get_mgmd_port() const {return m_mgmd_port;};
  57.   const char *get_mgmd_host() const {return m_mgmd_host;};
  58.   class LogLevel * m_logLevel;
  59. private:
  60.   friend class Cmvmi;
  61.   friend class Qmgr;
  62.   ndb_mgm_configuration_iterator * getClusterConfigIterator() const;
  63.   Uint32 _stopOnError;
  64.   Uint32 m_restartOnErrorInsert;
  65.   Uint32 _maxErrorLogs;
  66.   Uint32 _lockPagesInMainMemory;
  67.   Uint32 _timeBetweenWatchDogCheck;
  68.   ndb_mgm_configuration * m_ownConfig;
  69.   ndb_mgm_configuration * m_clusterConfig;
  70.   ndb_mgm_configuration_iterator * m_clusterConfigIter;
  71.   ndb_mgm_configuration_iterator * m_ownConfigIterator;
  72.   
  73.   ConfigRetriever *m_config_retriever;
  74.   /**
  75.    * arguments to NDB process
  76.    */
  77.   char * _programName;
  78.   char * _fsPath;
  79.   char * _backupPath;
  80.   bool _initialStart;
  81.   char * _connectString;
  82.   Uint32 m_mgmd_port;
  83.   const char *m_mgmd_host;
  84.   bool _daemonMode;
  85.   void calcSizeAlt(class ConfigValues * );
  86. };
  87. inline
  88. const char *
  89. Configuration::programName() const {
  90.   return _programName;
  91. }
  92. inline
  93. const char *
  94. Configuration::fileSystemPath() const {
  95.   return _fsPath;
  96. }
  97. inline
  98. const char *
  99. Configuration::backupFilePath() const {
  100.   return _backupPath;
  101. }
  102. inline
  103. bool
  104. Configuration::getInitialStart() const {
  105.   return _initialStart;
  106. }
  107. inline
  108. bool
  109. Configuration::getDaemonMode() const {
  110.   return _daemonMode;
  111. }
  112. #endif