# Gnome::Gda::DataHandler Class Reference
[Data Handlers]

Base class which provides data handling capabilities. More...

Inheritance diagram for Gnome::Gda::DataHandler:
[legend]
Collaboration diagram for Gnome::Gda::DataHandler:
[legend]

List of all members.

## Public Member Functions

virtual | ~DataHandler ()
GdaDataHandler* | gobj ()
| Provides access to the underlying C GObject.
const GdaDataHandler* | gobj () const
| Provides access to the underlying C GObject.
Glib::ustring | get_sql_from_value (const Value&value) const
| Creates a new string which is an SQL representation of the given value, the returned string can be used directly in an SQL statement.
Glib::ustring | get_str_from_value (const Value&value) const
| Creates a new string which is a "user friendly" representation of the given value (in the user's locale, specially for the dates).
Value | get_value_from_sql (const Glib::ustring& sql, GType type) const
| Creates a new GValue which represents the SQL value given as argument.
Value | get_value_from_str (const Glib::ustring& sql, GType type) const
| Creates a new GValue which represents the STR value given as argument.
Value | get_sane_init_value (GType type) const
| Creates a new GValue which holds a sane initial value to be used if no value is specifically provided.
bool | accepts_g_type (GType type) const
| Checks wether the GdaDataHandler is able to handle the gda type given as argument.
Glib::ustring | get_descr () const
| Get a short description of the GdaDataHandler.

## Static Public Member Functions

static void | add_interface (GType gtype_implementer)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr < Gnome::Gda::DataHandler > | wrap (GdaDataHandler* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

Base class which provides data handling capabilities.

Because data types vary a lot from one DBMS to another, the DataHandler interface helps with designing modules which can handle very specific pieces of data through plugins. Each object which imlements the DataHandler interface is expected to handle a subset of the possible libgda defined data types.

The DataHandler object can convert a Value to and from both SQL and 'STR'. The SQL representation of a value is the actual string which would be used in an SQL statement (for example a string's SQL representation is surrounded by quotes such as 'that a string''). The 'STR' representation is a human-readable representation of a value appropriate for the user's current locale. The 'STR' respresentation of a string is simply the original string without quotes but a numerical value or date, for instance, will be formatted according to the user's current locale.

Only one object which implements this interface is needed for any given data type, and it mainly contains some methods to manage values (as Value structures). The Gnome::Db::DataEntry interface is complementary to this one since it is implemented by widgets in which the user can enter or modify some data.

## Constructor & Destructor Documentation

virtual Gnome::Gda::DataHandler::~DataHandler | ( | ) | `[virtual]`

## Member Function Documentation

bool Gnome::Gda::DataHandler::accepts_g_type | ( | GType | type ) | const

Checks wether the GdaDataHandler is able to handle the gda type given as argument.

Parameters:

  type | A Type.

Returns:
  `true` if the gda type can be handled.

static void Gnome::Gda::DataHandler::add_interface | ( | GType | gtype_implementer ) | `[static]`

Glib::ustring Gnome::Gda::DataHandler::get_descr | ( | ) | const

Get a short description of the GdaDataHandler.

Returns:
  The description.

Value Gnome::Gda::DataHandler::get_sane_init_value | ( | GType | type ) | const

Creates a new GValue which holds a sane initial value to be used if no value is specifically provided.

For example for a simple string, this would return a new value containing the "" string.

Parameters:

  type | A GTYpe.

Returns:
  The new GValue, or `0` if no such value can be created.

Glib::ustring Gnome::Gda::DataHandler::get_sql_from_value | ( | const Value& | value ) | const

Creates a new string which is an SQL representation of the given value, the returned string can be used directly in an SQL statement.

For example if value is a G_TYPE_STRING, then the returned string will be correctly quoted. Note however that it is a better practice to use variables in statements instead of value literals, see the for more information.

If the value is `0` or is of type GDA_TYPE_`0`, the returned string is "<tt>0</tt>".

Parameters:

  value | The value to be converted to a string.

Returns:
  The new string, or `0` if an error occurred.

Glib::ustring Gnome::Gda::DataHandler::get_str_from_value | ( | const Value& | value ) | const

Creates a new string which is a "user friendly" representation of the given value (in the user's locale, specially for the dates).

If the value is `0` or is of type GDA_TYPE_`0`, the returned string is a copy of "" (empty string).

Parameters:

  value | The value to be converted to a string.

Returns:
  The new string, or `0` if an error occurred.

Value Gnome::Gda::DataHandler::get_value_from_sql | ( | const Glib::ustring & | sql,
|  | GType | type
| ) |  | const

Creates a new GValue which represents the SQL value given as argument.

This is the opposite of the function get_sql_from_value(). The type argument is used to determine the real data type requested for the returned value.

If the sql string is `0`, then the returned GValue is of type GDA_TYPE_`0`; if the sql string does not correspond to a valid SQL string for the requested type, then the "<tt>0</tt>" string is returned.

Parameters:

  sql | An SQL string.
  type | A GType.

Returns:
  The new GValue or `0` on error.

Value Gnome::Gda::DataHandler::get_value_from_str | ( | const Glib::ustring & | sql,
|  | GType | type
| ) |  | const

Creates a new GValue which represents the STR value given as argument.

This is the opposite of the function get_str_from_value(). The type argument is used to determine the real data type requested for the returned value.

If the str string is `0`, then the returned GValue is of type GDA_TYPE_`0`; if the str string does not correspond to a valid STR string for the requested type, then `0` is returned.

Parameters:

  str | A string.
  type | A GType.

Returns:
  The new GValue or `0` on error.

const GdaDataHandler* Gnome::Gda::DataHandler::gobj | ( | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gnome::Gda::HandlerBin, Gnome::Gda::HandlerBoolean, Gnome::Gda::HandlerNumerical, Gnome::Gda::HandlerString, Gnome::Gda::HandlerTime, and Gnome::Gda::HandlerType.

GdaDataHandler* Gnome::Gda::DataHandler::gobj | ( | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gnome::Gda::HandlerBin, Gnome::Gda::HandlerBoolean, Gnome::Gda::HandlerNumerical, Gnome::Gda::HandlerString, Gnome::Gda::HandlerTime, and Gnome::Gda::HandlerType.

## Friends And Related Function Documentation

Glib::RefPtr< Gnome::Gda::DataHandler > wrap | ( | GdaDataHandler * | object,
|  | bool | take_copy = `false`
| ) |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

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

- libgdamm/datahandler.h