summaryrefslogtreecommitdiff
path: root/ndb/include/util/ConfigValues.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'ndb/include/util/ConfigValues.hpp')
-rw-r--r--ndb/include/util/ConfigValues.hpp254
1 files changed, 0 insertions, 254 deletions
diff --git a/ndb/include/util/ConfigValues.hpp b/ndb/include/util/ConfigValues.hpp
deleted file mode 100644
index 457488e3c42..00000000000
--- a/ndb/include/util/ConfigValues.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-#ifndef __CONFIG_VALUES_HPP
-#define __CONFIG_VALUES_HPP
-
-#include <ndb_types.h>
-#include <UtilBuffer.hpp>
-
-class ConfigValues {
- friend class ConfigValuesFactory;
- ConfigValues(Uint32 sz, Uint32 data);
-
-public:
- ~ConfigValues();
-
- enum ValueType {
- InvalidType = 0,
- IntType = 1,
- StringType = 2,
- SectionType = 3,
- Int64Type = 4
- };
-
- struct Entry {
- Uint32 m_key;
- ValueType m_type;
- union {
- Uint32 m_int;
- Uint64 m_int64;
- const char * m_string;
- };
- };
-
- class ConstIterator {
- friend class ConfigValuesFactory;
- const ConfigValues & m_cfg;
- public:
- Uint32 m_currentSection;
- ConstIterator(const ConfigValues&c) : m_cfg(c) { m_currentSection = 0;}
-
- bool openSection(Uint32 key, Uint32 no);
- bool closeSection();
-
- bool get(Uint32 key, Entry *) const;
-
- bool get(Uint32 key, Uint32 * value) const;
- bool get(Uint32 key, Uint64 * value) const;
- bool get(Uint32 key, const char ** value) const;
- bool getTypeOf(Uint32 key, ValueType * type) const;
-
- Uint32 get(Uint32 key, Uint32 notFound) const;
- Uint64 get64(Uint32 key, Uint64 notFound) const;
- const char * get(Uint32 key, const char * notFound) const;
- ValueType getTypeOf(Uint32 key) const;
- };
-
- class Iterator : public ConstIterator {
- ConfigValues & m_cfg;
- public:
- Iterator(ConfigValues&c) : ConstIterator(c), m_cfg(c) {}
- Iterator(ConfigValues&c, const ConstIterator& i):ConstIterator(c),m_cfg(c){
- m_currentSection = i.m_currentSection;
- }
-
- bool set(Uint32 key, Uint32 value);
- bool set(Uint32 key, Uint64 value);
- bool set(Uint32 key, const char * value);
- };
-
- Uint32 getPackedSize() const; // get size in bytes needed to pack
- Uint32 pack(UtilBuffer&) const;
- Uint32 pack(void * dst, Uint32 len) const;// pack into dst(of len %d);
-
-private:
- friend class Iterator;
- friend class ConstIterator;
-
- bool getByPos(Uint32 pos, Entry *) const;
- Uint64 * get64(Uint32 index) const;
- char ** getString(Uint32 index) const;
-
- Uint32 m_size;
- Uint32 m_dataSize;
- Uint32 m_stringCount;
- Uint32 m_int64Count;
-
- Uint32 m_values[1];
- void * m_data[1];
-};
-
-class ConfigValuesFactory {
- Uint32 m_currentSection;
-public:
- Uint32 m_sectionCounter;
- Uint32 m_freeKeys;
- Uint32 m_freeData;
-
-public:
- ConfigValuesFactory(Uint32 keys = 50, Uint32 data = 10); // Initial
- ConfigValuesFactory(ConfigValues * m_cfg); //
-
- ConfigValues * m_cfg;
- ConfigValues * getConfigValues();
-
- bool openSection(Uint32 key, Uint32 no);
- bool put(const ConfigValues::Entry & );
- bool put(Uint32 key, Uint32 value);
- bool put64(Uint32 key, Uint64 value);
- bool put(Uint32 key, const char * value);
- bool closeSection();
-
- void expand(Uint32 freeKeys, Uint32 freeData);
- void shrink();
-
- bool unpack(const UtilBuffer&);
- bool unpack(const void * src, Uint32 len);
-
- static ConfigValues * extractCurrentSection(const ConfigValues::ConstIterator &);
-
-private:
- static ConfigValues * create(Uint32 keys, Uint32 data);
- void put(const ConfigValues & src);
-};
-
-inline
-bool
-ConfigValues::ConstIterator::get(Uint32 key, Uint32 * value) const {
- Entry tmp;
- if(get(key, &tmp) && tmp.m_type == IntType){
- * value = tmp.m_int;
- return true;
- }
- return false;
-}
-
-inline
-bool
-ConfigValues::ConstIterator::get(Uint32 key, Uint64 * value) const {
- Entry tmp;
- if(get(key, &tmp) && tmp.m_type == Int64Type){
- * value = tmp.m_int64;
- return true;
- }
- return false;
-}
-
-inline
-bool
-ConfigValues::ConstIterator::get(Uint32 key, const char ** value) const {
- Entry tmp;
- if(get(key, &tmp) && tmp.m_type == StringType){
- * value = tmp.m_string;
- return true;
- }
- return false;
-}
-
-inline
-bool
-ConfigValues::ConstIterator::getTypeOf(Uint32 key, ValueType * type) const{
- Entry tmp;
- if(get(key, &tmp)){
- * type = tmp.m_type;
- return true;
- }
- return false;
-}
-
-inline
-Uint32
-ConfigValues::ConstIterator::get(Uint32 key, Uint32 notFound) const {
- Entry tmp;
- if(get(key, &tmp) && tmp.m_type == IntType){
- return tmp.m_int;
- }
- return notFound;
-}
-
-inline
-Uint64
-ConfigValues::ConstIterator::get64(Uint32 key, Uint64 notFound) const {
- Entry tmp;
- if(get(key, &tmp) && tmp.m_type == Int64Type){
- return tmp.m_int64;
- }
- return notFound;
-}
-
-inline
-const char *
-ConfigValues::ConstIterator::get(Uint32 key, const char * notFound) const {
- Entry tmp;
- if(get(key, &tmp) && tmp.m_type == StringType){
- return tmp.m_string;
- }
- return notFound;
-}
-
-inline
-ConfigValues::ValueType
-ConfigValues::ConstIterator::getTypeOf(Uint32 key) const{
- Entry tmp;
- if(get(key, &tmp)){
- return tmp.m_type;
- }
- return ConfigValues::InvalidType;
-}
-
-inline
-bool
-ConfigValuesFactory::put(Uint32 key, Uint32 val){
- ConfigValues::Entry tmp;
- tmp.m_key = key;
- tmp.m_type = ConfigValues::IntType;
- tmp.m_int = val;
- return put(tmp);
-}
-
-inline
-bool
-ConfigValuesFactory::put64(Uint32 key, Uint64 val){
- ConfigValues::Entry tmp;
- tmp.m_key = key;
- tmp.m_type = ConfigValues::Int64Type;
- tmp.m_int64 = val;
- return put(tmp);
-}
-
-inline
-bool
-ConfigValuesFactory::put(Uint32 key, const char * val){
- ConfigValues::Entry tmp;
- tmp.m_key = key;
- tmp.m_type = ConfigValues::StringType;
- tmp.m_string = val;
- return put(tmp);
-}
-
-inline
-Uint32
-ConfigValues::pack(UtilBuffer& buf) const {
- Uint32 len = getPackedSize();
- void * tmp = buf.append(len);
- if(tmp == 0){
- return 0;
- }
- return pack(tmp, len);
-}
-
-inline
-bool
-ConfigValuesFactory::unpack(const UtilBuffer& buf){
- return unpack(buf.get_data(), buf.length());
-}
-
-#endif