⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgmapi_configuration.cpp

📁 mysql-5.0.22.tar.gz源码包
💻 CPP
字号:
#include <ndb_types.h>#include <mgmapi.h>#include "mgmapi_configuration.hpp"ndb_mgm_configuration_iterator::ndb_mgm_configuration_iterator(const ndb_mgm_configuration & conf, unsigned type_of_section)  : m_config(conf.m_config){  m_sectionNo = ~0;  m_typeOfSection = type_of_section;  first();}ndb_mgm_configuration_iterator::~ndb_mgm_configuration_iterator(){  reset();}void ndb_mgm_configuration_iterator::reset(){  if(m_sectionNo != (Uint32)~0){    m_config.closeSection();  }}intndb_mgm_configuration_iterator::enter(){  bool ok = m_config.openSection(m_typeOfSection, m_sectionNo);  if(ok){    return 0;  }  reset();  m_sectionNo = ~0;  return -1;}intndb_mgm_configuration_iterator::first(){  reset();  m_sectionNo = 0;  return enter();}intndb_mgm_configuration_iterator::next(){  reset();  m_sectionNo++;  return enter();}intndb_mgm_configuration_iterator::valid() const {  return m_sectionNo != (Uint32)~0;}intndb_mgm_configuration_iterator::find(int param, unsigned search){  unsigned val = search + 1;  while(get(param, &val) == 0 && val != search){    if(next() != 0)      break;  }    if(val == search)    return 0;    return -1;}intndb_mgm_configuration_iterator::get(int param, unsigned * value) const {  return m_config.get(param, value) != true;}int ndb_mgm_configuration_iterator::get(int param, 				    unsigned long long * value) const{  return m_config.get(param, value) != true;}int ndb_mgm_configuration_iterator::get(int param, const char ** value) const {  return m_config.get(param, value) != true;}/** * Published C interface */extern "C"ndb_mgm_configuration_iterator* ndb_mgm_create_configuration_iterator(ndb_mgm_configuration * conf, 				      unsigned type_of_section){  ndb_mgm_configuration_iterator* iter = (ndb_mgm_configuration_iterator*)    malloc(sizeof(ndb_mgm_configuration_iterator));  if(iter == 0)    return 0;  return new(iter) ndb_mgm_configuration_iterator(* conf, type_of_section);}extern "C"void ndb_mgm_destroy_iterator(ndb_mgm_configuration_iterator* iter){  if(iter != 0){    iter->~ndb_mgm_configuration_iterator();    free(iter);  }}extern "C"int ndb_mgm_first(ndb_mgm_configuration_iterator* iter){  return iter->first();}extern "C"int ndb_mgm_next(ndb_mgm_configuration_iterator* iter){  return iter->next();}extern "C"int ndb_mgm_valid(const ndb_mgm_configuration_iterator* iter){  return iter->valid();}extern "C"int ndb_mgm_get_int_parameter(const ndb_mgm_configuration_iterator* iter, 			  int param, unsigned * value){  return iter->get(param, value);}extern "C"int ndb_mgm_get_int64_parameter(const ndb_mgm_configuration_iterator* iter, 			    int param, Uint64 * value){  return iter->get(param, value);}extern "C"int ndb_mgm_get_string_parameter(const ndb_mgm_configuration_iterator* iter, 			     int param, const char  ** value){  return iter->get(param, value);}extern "C"int ndb_mgm_find(ndb_mgm_configuration_iterator* iter,	     int param, unsigned search){  return iter->find(param, search);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -