libgdamm: Gnome::Gda::DataHandler Class Reference

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

Inheritance diagram for Gnome::Gda::DataHandler:
Collaboration diagram for Gnome::Gda::DataHandler:

Public Member Functions

 DataHandler (DataHandler&& src) noexcept
 
DataHandleroperator= (DataHandler&& src) noexcept
 
virtual ~DataHandler () noexcept
 
GdaDataHandler* gobj ()
 Provides access to the underlying C GObject. More...

 
const GdaDataHandler* gobj () const
 Provides access to the underlying C GObject. More...

 
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. More...

 
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). More...

 
Value get_value_from_sql (const Glib::ustring& sql, GType type) const
 Creates a new GValue which represents the SQL value given as argument. More...

 
Value get_value_from_str (const Glib::ustring& sql, GType type) const
 Creates a new GValue which represents the STR value given as argument. More...

 
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. More...

 
bool accepts_g_type (GType type) const
 Checks wether the GdaDataHandler is able to handle the gda type given as argument. More...

 
Glib::ustring get_descr () const
 Get a short description of the GdaDataHandler. More...

 
- Public Member Functions inherited from Glib::Interface
 Interface ()
 
 Interface (Interface &&src) noexcept
 
Interfaceoperator= (Interface &&src) noexcept
 
 Interface (const Glib::Interface_Class &interface_class)
 
 Interface (GObject *castitem)
 
virtual ~Interface () noexcept
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
GObject * gobj ()
 
const GObject * gobj () const
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
void connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable ()
 
 trackable (const trackable &src)
 
 trackable (trackable &&src) noexcept
 
 ~trackable ()
 
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src) noexcept
 
void remove_destroy_notify_callback (void *data) const
 

Static Public Member Functions

static void add_interface (GType gtype_implementer)
 
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...

 

Protected Member Functions

 DataHandler ()
 You should derive from this class to use it. More...

 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gnome::Gda::DataHandlerwrap (GdaDataHandler* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...

 

Additional Inherited Members

- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 

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

Gnome::Gda::DataHandler::DataHandler ( )
protected

You should derive from this class to use it.

Gnome::Gda::DataHandler::DataHandler ( DataHandler&&  src)
noexcept
virtual Gnome::Gda::DataHandler::~DataHandler ( )
virtualnoexcept

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
typeA 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
typeA 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 GdaSqlParser for more information.

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

Parameters
valueThe 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_NULL, the returned string is a copy of "" (empty string).

Parameters
valueThe value to be converted to a string.
Returns
The new string, or 0 if an error occurred.
static GType Gnome::Gda::DataHandler::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

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_NULL; 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
sqlAn SQL string.
typeA 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_NULL; if the str string does not correspond to a valid STR string for the requested type, then 0 is returned.

Parameters
sqlA string.
typeA GType.
Returns
The new GValue or 0 on error.
GdaDataHandler* Gnome::Gda::DataHandler::gobj ( )
inline

Provides access to the underlying C GObject.

const GdaDataHandler* Gnome::Gda::DataHandler::gobj ( ) const
inline

Provides access to the underlying C GObject.

DataHandler& Gnome::Gda::DataHandler::operator= ( DataHandler&&  src)
noexcept

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
objectThe C instance.
take_copyFalse 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