# Gnome::Gda::ServerOperation Class Reference
[Data definition (DDL) queries]

Handles any DDL query in an abstract way. More...

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

List of all members.

## Public Member Functions

virtual | ~ServerOperation ()
GdaServerOperation* | gobj ()
| Provides access to the underlying C GObject.
const GdaServerOperation* | gobj () const
| Provides access to the underlying C GObject.
GdaServerOperation* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool | perform_drop_database (const Glib::ustring& provider)
bool | perform_create_database (const Glib::ustring& provider)
Value | get_value_at (const Glib::ustring& path_format) const
| Get the value for the node at the path formed using path_format and ...
template<class ValueType >
void | set_value_at (const Glib::ustring& path_format, const ValueType&value)
void | set_value_at_as_value (const Glib::ustring& path_format, const Glib::ValueBase&value)
ServerOperationNodeType | get_node_type (const Glib::ustring& path, ServerOperationNodeStatus& status) const
| Convenience function to get the type of a node.
guint | get_sequence_size (const Glib::ustring& path) const
guint | get_sequence_max_size (const Glib::ustring& path) const
guint | get_sequence_min_size (const Glib::ustring& path) const
std::vector< Glib::ustring > | get_sequence_item_names (const Glib::ustring& path) const
| Fetch the contents of a sequence.
Glib::ustring | get_sequence_name (const std::string& path) const
bool | is_valid (const std::string& xml_file) const
| Tells if all the required values in op have been defined.
bool | load_data_from_xml (xmlNodePtr node)
| Loads the contents of node into op.
xmlNodePtr | save_data_to_xml ()
Glib::ustring | get_node_path_portion (const Glib::ustring& path) const
| Get the last part of path.
Glib::ustring | get_node_parent (const Glib::ustring& path) const
| Get the complete path to the parent of the node defined by path.
ServerOperationType | get_op_type () const
| Get the type of operation op is for.
bool | del_item_from_sequence (const std::string& item_path)
guint | add_item_to_sequence (const std::string& item_path)
std::vector< Glib::ustring > | get_root_nodes () const
| Get an array of strings containing the paths of nodes situated at the root of op.
Glib::SignalProxy2< void, Glib::ustring, int > | signal_signal_sequence_item_added ()
Glib::SignalProxy2< void, Glib::ustring, int > | signal_signal_sequence_item_remove ()
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Connection > > | property_connection () const
| Connection to use.
Glib::PropertyProxy_ReadOnly < gint > | property_op_type () const
| Type of operation to be done.

## Static Public Member Functions

static Glib::RefPtr < ServerOperation > | prepare_create_database (const Glib::ustring& provider, const Glib::ustring& db_name)
static Glib::RefPtr < ServerOperation > | prepare_drop_database (const Glib::ustring& provider, const Glib::ustring& db_name)

## Related Functions

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

## Detailed Description

Handles any DDL query in an abstract way.

Basically this object is just a named data store: it can store named values, the values being organized hirarchically. A value can be read from its path (similar to a Unix file path) using the get_value_at() method.

## Constructor & Destructor Documentation

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

## Member Function Documentation

guint Gnome::Gda::ServerOperation::add_item_to_sequence | ( | const std::string & | item_path ) |

Parameters:

  seq_path | The path to the sequence to which an item must be added (like "/SEQ_NAME" for instance).

Returns:
  The index of the new entry in the sequence (like 5 for example if a 6th item has been added to the sequence.

bool Gnome::Gda::ServerOperation::del_item_from_sequence | ( | const std::string & | item_path ) |

Parameters:

  item_path | The path to the sequence's item to remove (like "/SEQ_NAME/5" for instance).

Returns:
  `true` if the specified node has been removed from the sequence.

Glib::ustring Gnome::Gda::ServerOperation::get_node_parent | ( | const Glib::ustring & | path ) | const

Get the complete path to the parent of the node defined by path.

Parameters:

  path | A complete path to a node (starting with "/").

Returns:
  A new string or `0` if the node does not have any parent or does not exist.

Glib::ustring Gnome::Gda::ServerOperation::get_node_path_portion | ( | const Glib::ustring & | path ) | const

Get the last part of path.

Parameters:

  path | A complete path to a node (starting with "/").

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

ServerOperationNodeType Gnome::Gda::ServerOperation::get_node_type | ( | const Glib::ustring & | path,
|  | ServerOperationNodeStatus& | status
| ) |  | const

Convenience function to get the type of a node.

Parameters:

  path | A complete path to a node (starting with "/").
  status | A place to store the status of the node, or `0`.

Returns:
  The type of node, or GDA_SERVER_OPERATION_NODE_UNKNOWN if the node was not found.

ServerOperationType Gnome::Gda::ServerOperation::get_op_type | ( | ) | const

Get the type of operation op is for.

Returns:
  A Gda::ServerOperationType enum.

std::vector<Glib::ustring> Gnome::Gda::ServerOperation::get_root_nodes | ( | ) | const

Get an array of strings containing the paths of nodes situated at the root of op.

Returns:
  A new array, which must be freed with Glib::strfreev().

std::vector<Glib::ustring> Gnome::Gda::ServerOperation::get_sequence_item_names | ( | const Glib::ustring & | path ) | const

Fetch the contents of a sequence.

path can describe either a sequence (for example "/SEQNAME") or an item in a sequence (for example "/SEQNAME/3")

Parameters:

  path | A complete path to a sequence node (starting with "/").

Returns:
  A array of strings containing the complete paths of the nodes contained at path (free with Glib::strfreev()).

guint Gnome::Gda::ServerOperation::get_sequence_max_size | ( | const Glib::ustring & | path ) | const

Parameters:

  path | A complete path to a sequence node (starting with "/").

Returns:
  The maximum number of items in the sequence at path, or 0 if path is not a sequence node.

guint Gnome::Gda::ServerOperation::get_sequence_min_size | ( | const Glib::ustring & | path ) | const

Parameters:

  path | A complete path to a sequence node (starting with "/").

Returns:
  The minimum number of items in the sequence at path, or 0 if path is not a sequence node.

Glib::ustring Gnome::Gda::ServerOperation::get_sequence_name | ( | const std::string & | path ) | const

Parameters:

  path | A complete path to a sequence node (starting with "/").

Returns:
  The name of the sequence at path.

guint Gnome::Gda::ServerOperation::get_sequence_size | ( | const Glib::ustring & | path ) | const

Parameters:

  path | A complete path to a sequence node (starting with "/").

Returns:
  The number of items in the sequence at path, or 0 if path is not a sequence node.

Value Gnome::Gda::ServerOperation::get_value_at | ( | const Glib::ustring & | path_format ) | const

Get the value for the node at the path formed using path_format and ...

(the rules are the same as for Glib::strdup_printf())

Parameters:

  path_format | A complete path to a node (starting with "/").
  Varargs | Arguments to use with path_format to make a complete path.

Returns:
  A constant Value if a value has been defined, or `0` if the value is undefined or if the path is not defined or path does not hold any value.

const GdaServerOperation* Gnome::Gda::ServerOperation::gobj | ( | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GdaServerOperation* Gnome::Gda::ServerOperation::gobj | ( | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GdaServerOperation* Gnome::Gda::ServerOperation::gobj_copy | ( | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

bool Gnome::Gda::ServerOperation::is_valid | ( | const std::string & | xml_file ) | const

Tells if all the required values in op have been defined.

if xml_file is not `0`, the validity of op is tested against that specification, and not against the current op's specification.

Parameters:

  xml_file | An XML specification file (see new()).

Returns:
  `true` if op is valid.

bool Gnome::Gda::ServerOperation::load_data_from_xml | ( | xmlNodePtr | node ) |

Loads the contents of node into op.

The XML tree passed through the node argument must correspond to an XML tree saved using save_data_to_xml().

Parameters:

  node | A xmlNodePtr.

Returns:
  `true` if no error occurred.

bool Gnome::Gda::ServerOperation::perform_create_database | ( | const Glib::ustring & | provider ) |

bool Gnome::Gda::ServerOperation::perform_drop_database | ( | const Glib::ustring & | provider ) |

static Glib::RefPtr<ServerOperation> Gnome::Gda::ServerOperation::prepare_create_database | ( | const Glib::ustring & | provider,
|  | const Glib::ustring & | db_name
| ) |  | `[static]`

static Glib::RefPtr<ServerOperation> Gnome::Gda::ServerOperation::prepare_drop_database | ( | const Glib::ustring & | provider,
|  | const Glib::ustring & | db_name
| ) |  | `[static]`

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Connection> > Gnome::Gda::ServerOperation::property_connection | ( | ) | const

Connection to use.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<gint> Gnome::Gda::ServerOperation::property_op_type | ( | ) | const

Type of operation to be done.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

xmlNodePtr Gnome::Gda::ServerOperation::save_data_to_xml | ( | ) |

template <class ValueType >

void Gnome::Gda::ServerOperation::set_value_at | ( | const Glib::ustring & | path_format,
|  | const ValueType & | value
| ) |  |

void Gnome::Gda::ServerOperation::set_value_at_as_value | ( | const Glib::ustring & | path_format,
|  | const Glib::ValueBase & | value
| ) |  |

Glib::SignalProxy2< void,Glib::ustring,int > Gnome::Gda::ServerOperation::signal_signal_sequence_item_added | ( | ) |

Prototype:
  `void on_my_signal_sequence_item_added(Glib::ustring arg1, int arg2)`

Glib::SignalProxy2< void,Glib::ustring,int > Gnome::Gda::ServerOperation::signal_signal_sequence_item_remove | ( | ) |

Prototype:
  `void on_my_signal_sequence_item_remove(Glib::ustring arg1, int arg2)`

## Friends And Related Function Documentation

Glib::RefPtr< Gnome::Gda::ServerOperation > wrap | ( | GdaServerOperation * | 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/serveroperation.h