scim::ConfigBase Class Referenceabstract
Config

The interface class to access the configuration data. More...

`#include <scim_config_base.h>`

## Public Member Functions

Constructor and Destructor.
| ConfigBase ()
| Contrustor.
virtual | ~ConfigBase ()
| Virtual destructor empty but ensures that dtor of all derived classes is virtual.
Pure virtual methods which should be implemented in derived classes.
virtual bool | valid () const =0
| Check if this Config object is valid.
virtual String | get_name () const =0
| Return the name of this configuration module.
virtual bool | read (const String &key, String *ret) const =0
| Read a string from the given key.
virtual bool | read (const String &key, int *ret) const =0
| Read an int value from the given key.
virtual bool | read (const String &key, double *ret) const =0
| Read a double value from the given key.
virtual bool | read (const String &key, bool *ret) const =0
| Read a bool value from the given key.
virtual bool | read (const String &key, std::vector< String > *ret) const =0
| Read a string list from the given key.
virtual bool | read (const String &key, std::vector< int > *ret) const =0
| Read an int list from the given key.
virtual bool | write (const String &key, const String &value)=0
| Write a string to the given key.
virtual bool | write (const String &key, int value)=0
| Write an int value to the given key.
virtual bool | write (const String &key, double value)=0
| Write a double value to the given key.
virtual bool | write (const String &key, bool value)=0
| Write a bool value to the given key.
virtual bool | write (const String &key, const std::vector< String > &value)=0
| Write a string list to the given key.
virtual bool | write (const String &key, const std::vector< int > &value)=0
| Write an int list to the given key.
virtual bool | flush ()=0
| Permanently writes all changes.
virtual bool | erase (const String &key)=0
| Erase a key and its value.
virtual bool | reload ()=0
| Reload the configurations from storage.
Other helper methods.
String | read (const String &key, const String &defVal=String()) const
| Read a string from the given key with a default fallback value.
int | read (const String &key, int defVal) const
| Read an int value from the given key with a default fallback value.
double | read (const String &key, double defVal) const
| Read a double value from the given key with a default fallback value.
bool | read (const String &key, bool defVal) const
| Read a bool value from the given key with a default fallback value.
std::vector< String > | read (const String &key, const std::vector< String > &defVal) const
| Read a string list from the given key with a default fallback value.
std::vector< int > | read (const String &key, const std::vector< int > &defVal) const
| Read an int list from the given key with a default fallback value.
Connection | signal_connect_reload (ConfigSlotVoid *slot)
| connect the given slot to the reload signal.
Public Member Functions inherited from scim::ReferencedObject
bool | is_referenced () const
void | ref ()
| Increase an object's reference count by one.
void | unref ()

## Static Public Member Functions

static ConfigPointer | set (const ConfigPointer &p_config)
| Set the default global Config object.
static ConfigPointer | get (bool create_on_demand=true, const String &default_module=String(""))
| Get the default global Config object.

## Additional Inherited Members

Protected Member Functions inherited from scim::ReferencedObject
| ReferencedObject ()
| Constructor.
virtual | ~ReferencedObject ()=0
| Destructor.
void | set_referenced (bool reference)

## Detailed Description

The interface class to access the configuration data.

This is an interface class to access the configuration data. All of the SCIM objects which have configuration data should use this interface to store and load them.

## Constructor & Destructor Documentation

## ConfigBase()

scim::ConfigBase::ConfigBase | ( |  | ) |

Contrustor.

## ~ConfigBase()

virtual scim::ConfigBase::~ConfigBase | ( |  | ) |

virtual

Virtual destructor empty but ensures that dtor of all derived classes is virtual.

## Member Function Documentation

## valid()

virtual bool scim::ConfigBase::valid | ( |  | ) | const

pure virtual

Check if this Config object is valid.

Returns
  true if its valid and ready to work.

Implemented in scim::DummyConfig.

## get_name()

virtual String scim::ConfigBase::get_name | ( |  | ) | const

pure virtual

Return the name of this configuration module.

This name must be same as the config module's name.

Implemented in scim::DummyConfig.

## read() [1/12]

virtual bool scim::ConfigBase::read | ( | const String & | key,
|  | String * | ret ) const

pure virtual

Read a string from the given key.

Parameters

  key | - the key to be read.
  ret | - the result will be stored into *ret.

Returns
  true if the string is read successfully, otherwise return false.

Implemented in scim::DummyConfig.

## read() [2/12]

virtual bool scim::ConfigBase::read | ( | const String & | key,
|  | int * | ret ) const

pure virtual

Read an int value from the given key.

Parameters

  key | - the key to be read.
  ret | - the result will be stored into *ret.

Returns
  true if the value is read successfully, otherwise return false.

Implemented in scim::DummyConfig.

## read() [3/12]

virtual bool scim::ConfigBase::read | ( | const String & | key,
|  | double * | ret ) const

pure virtual

Read a double value from the given key.

Parameters

  key | - the key to be read.
  ret | - the result will be stored into *ret.

Returns
  true if the value is read successfully, otherwise return false.

Implemented in scim::DummyConfig.

## read() [4/12]

virtual bool scim::ConfigBase::read | ( | const String & | key,
|  | bool * | ret ) const

pure virtual

Read a bool value from the given key.

Parameters

  key | - the key to be read.
  ret | - the result will be stored into *ret.

Returns
  true if the value is read successfully, otherwise return false.

Implemented in scim::DummyConfig.

## read() [5/12]

virtual bool scim::ConfigBase::read | ( | const String & | key,
|  | std::vector< String > * | ret ) const

pure virtual

Read a string list from the given key.

Parameters

  key | - the key to be read.
  ret | - the result will be stored into *ret.

Returns
  true if the string list is read successfully, otherwise return false.

Implemented in scim::DummyConfig.

## read() [6/12]

virtual bool scim::ConfigBase::read | ( | const String & | key,
|  | std::vector< int > * | ret ) const

pure virtual

Read an int list from the given key.

Parameters

  key | - the key to be read.
  ret | - the result will be stored into *ret.

Returns
  true if the int list is read successfully, otherwise return false.

Implemented in scim::DummyConfig.

## write() [1/6]

virtual bool scim::ConfigBase::write | ( | const String & | key,
|  | const String & | value )

pure virtual

Write a string to the given key.

Parameters

  key | - the key to be written.
  value | - the string to be written to the key.

Returns
  true if success, otherwise false.

Implemented in scim::DummyConfig.

## write() [2/6]

virtual bool scim::ConfigBase::write | ( | const String & | key,
|  | int | value )

pure virtual

Write an int value to the given key.

Parameters

  key | - the key to be written.
  value | - the int value to be written to the key.

Returns
  true if success, otherwise false.

Implemented in scim::DummyConfig.

## write() [3/6]

virtual bool scim::ConfigBase::write | ( | const String & | key,
|  | double | value )

pure virtual

Write a double value to the given key.

Parameters

  key | - the key to be written.
  value | - the double value to be written to the key.

Returns
  true if success, otherwise false.

Implemented in scim::DummyConfig.

## write() [4/6]

virtual bool scim::ConfigBase::write | ( | const String & | key,
|  | bool | value )

pure virtual

Write a bool value to the given key.

Parameters

  key | - the key to be written.
  value | - the bool value to be written to the key.

Returns
  true if success, otherwise false.

Implemented in scim::DummyConfig.

## write() [5/6]

virtual bool scim::ConfigBase::write | ( | const String & | key,
|  | const std::vector< String > & | value )

pure virtual

Write a string list to the given key.

Parameters

  key | - the key to be written.
  value | - the string list to be written to the key.

Returns
  true if success, otherwise false.

Implemented in scim::DummyConfig.

## write() [6/6]

virtual bool scim::ConfigBase::write | ( | const String & | key,
|  | const std::vector< int > & | value )

pure virtual

Write an int list to the given key.

Parameters

  key | - the key to be written.
  value | - the int list to be written to the key.

Returns
  true if success, otherwise false.

Implemented in scim::DummyConfig.

## flush()

virtual bool scim::ConfigBase::flush | ( |  | ) |

pure virtual

Permanently writes all changes.

Returns
  true if success.

Implemented in scim::DummyConfig.

## erase()

virtual bool scim::ConfigBase::erase | ( | const String & | key | ) |

pure virtual

Erase a key and its value.

Parameters

  key | - the key to be erased.

Returns
  true if success.

Implemented in scim::DummyConfig.

## reload()

virtual bool scim::ConfigBase::reload | ( |  | ) |

pure virtual

Reload the configurations from storage.

All modified keys after the last flush maybe lost.

The derived method should call this base method after reload the configurations successfully, in order to emit the reload signal.

The derived method should have some machanism to avoid reload again if there is no update after the previous reload.

Returns
  true if success.

Implemented in scim::DummyConfig.

## read() [7/12]

String scim::ConfigBase::read | ( | const String & | key,
|  | const String & | defVal = String() ) const

Read a string from the given key with a default fallback value.

If failed to read from the given key, then return the given default value.

Parameters

  key | - the key to be read.
  defVal | - the default value to be return if failed to read.

Returns
  The result string.

## read() [8/12]

int scim::ConfigBase::read | ( | const String & | key,
|  | int | defVal ) const

Read an int value from the given key with a default fallback value.

If failed to read from the given key, then return the given default value.

Parameters

  key | - the key to be read.
  defVal | - the default value to be return if failed to read.

Returns
  The result int value.

## read() [9/12]

double scim::ConfigBase::read | ( | const String & | key,
|  | double | defVal ) const

Read a double value from the given key with a default fallback value.

If failed to read from the given key, then return the given default value.

Parameters

  key | - the key to be read.
  defVal | - the default value to be return if failed to read.

Returns
  The result double value.

## read() [10/12]

bool scim::ConfigBase::read | ( | const String & | key,
|  | bool | defVal ) const

Read a bool value from the given key with a default fallback value.

If failed to read from the given key, then return the given default value.

Parameters

  key | - the key to be read.
  defVal | - the default value to be return if failed to read.

Returns
  The result bool value.

## read() [11/12]

std::vector< String > scim::ConfigBase::read | ( | const String & | key,
|  | const std::vector< String > & | defVal ) const

Read a string list from the given key with a default fallback value.

If failed to read from the given key, then return the given default value.

Parameters

  key | - the key to be read.
  defVal | - the default value to be return if failed to read.

Returns
  The result string list.

## read() [12/12]

std::vector< int > scim::ConfigBase::read | ( | const String & | key,
|  | const std::vector< int > & | defVal ) const

Read an int list from the given key with a default fallback value.

If failed to read from the given key, then return the given default value.

Parameters

  key | - the key to be read.
  defVal | - the default value to be return if failed to read.

Returns
  The result int list.

## signal_connect_reload()

Connection scim::ConfigBase::signal_connect_reload | ( | ConfigSlotVoid * | slot | ) |

connect the given slot to the reload signal.

Parameters

  slot | - the given slot to be connected.

Returns
  the Connection object, can be used to disconnect this slot.

References scim::slot().

## set()

ConfigPointer scim::ConfigBase::set | ( | const ConfigPointer & | p_config | ) |

static

Set the default global Config object.

There is only one global Config object in an application. All other objects should use it by default.

Parameters

  p_config | - a smart pointer to the Config object.

Returns
  a smart pointer to the old default Config object.

## get()

ConfigPointer scim::ConfigBase::get | ( | bool | create_on_demand = true,
|  | const String & | default_module = String("") )

static

Get the default global Config object.

The default global Config object can be set with function ConfigBase::set. If there is no default object set, a new object can be created if needed.

Parameters

  create_on_demand | - if it's true then a new object will be created, if there is no one available.
  default_module | - the Config module should be used to create the default Config object. If omitted, then use the default module defined in global config file.

Returns
  a smart pointer to the default global Config object.

The documentation for this class was generated from the following file:

- scim_config_base.h