| libdbusmodel Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
DbusModelDbusModel — A generic list model that can synchronize with other DbusModel objects across D-Bus. |
#include <dbusmodel/dbusmodel.h>
#define DBUS_TYPE_G_VALUE_ARRAY
DbusModelPrivate;
DbusModelIter;
DbusModel;
DbusModel * dbus_model_new (const gchar *path,
guint n_columns,
...);
DbusModel * dbus_model_new_from_path (const gchar *path);
void dbus_model_set_n_columns (DbusModel *self,
guint n_columns);
guint dbus_model_get_n_columns (DbusModel *self);
guint dbus_model_get_n_rows (DbusModel *self);
GType dbus_model_get_column_type (DbusModel *self,
guint column);
void dbus_model_add (DbusModel *self,
...);
void dbus_model_remove (DbusModel *self,
DbusModelIter *iter);
void dbus_model_set (DbusModel *self,
DbusModelIter *iter,
...);
void dbus_model_set_valist (DbusModel *self,
DbusModelIter *iter,
va_list args);
void dbus_model_set_value (DbusModel *self,
DbusModelIter *iter,
guint column,
const GValue *value);
void dbus_model_get (DbusModel *self,
DbusModelIter *iter,
...);
void dbus_model_get_valist (DbusModel *self,
DbusModelIter *iter,
va_list args);
void dbus_model_get_value (DbusModel *self,
DbusModelIter *iter,
guint column,
GValue *value);
DbusModelIter * dbus_model_get_first_iter (DbusModel *self);
DbusModelIter * dbus_model_get_last_iter (DbusModel *self);
DbusModelIter * dbus_model_get_iter_at_row (DbusModel *self,
guint row);
guint64 dbus_model_get_uid (DbusModel *self,
DbusModelIter *iter);
gboolean dbus_model_get_bool (DbusModel *self,
DbusModelIter *iter,
guint column);
guchar dbus_model_get_uchar (DbusModel *self,
DbusModelIter *iter,
guint column);
gint dbus_model_get_int (DbusModel *self,
DbusModelIter *iter,
guint column);
guint dbus_model_get_uint (DbusModel *self,
DbusModelIter *iter,
guint column);
gint64 dbus_model_get_int64 (DbusModel *self,
DbusModelIter *iter,
guint column);
guint64 dbus_model_get_uint64 (DbusModel *self,
DbusModelIter *iter,
guint column);
gdouble dbus_model_get_double (DbusModel *self,
DbusModelIter *iter,
guint column);
const gchar * dbus_model_get_string (DbusModel *self,
DbusModelIter *iter,
guint column);
DbusModelIter * dbus_model_next (DbusModel *self,
DbusModelIter *iter);
DbusModelIter * dbus_model_prev (DbusModel *self,
DbusModelIter *iter);
gboolean dbus_model_is_first (DbusModel *self,
DbusModelIter *iter);
gboolean dbus_model_is_last (DbusModel *self,
DbusModelIter *iter);
DbusModel is a generic list model that can hold most GLib Types as column types. It is created with a path (usually unique to your program(s) and something that complies with the D-Bus path spec) on which it will find other DbusModels created with the same path through D-Bus, and will keep synchronized with them.
This allows to you build MVC programs with a sane model API, but have the controller (or multiple views) in a seperate process.
#define DBUS_TYPE_G_VALUE_ARRAY (dbus_g_type_get_collection ("GPtrArray", G_TYPE_VALUE))
typedef struct _DbusModelIter DbusModelIter;
The DbusModelIter structure is private and should only be used with the provides DbusModel API. It is owned by DbusModel and should not be freed.
typedef struct {
} DbusModel;
All fields in the DbusModel structure are private and should never be accessed directly
DbusModel * dbus_model_new (const gchar *path,
guint n_columns,
...);
Creates a new DbusModel at the specified path, with n_columns of the
types passed in.
Upon creation of a new DbusModel, the model will find other models with
the same path and synchronize itself with these models.
|
a path where models of this type with synchronize with each other |
|
number of columns in the model |
|
n_columns number of GTypes
|
Returns : |
a new DbusModel |
DbusModel * dbus_model_new_from_path (const gchar *path);
|
|
Returns : |
void dbus_model_set_n_columns (DbusModel *self,
guint n_columns);
Sets the number of columns in self to n_columns.
This function should only be called once.
|
a DbusModel instance |
|
the number of columns |
guint dbus_model_get_n_columns (DbusModel *self);
Gets the number of columns in self
|
a DbusModel |
Returns : |
the number of columns per row in self
|
guint dbus_model_get_n_rows (DbusModel *self);
Gets the number of rows in self
|
a DbusModel |
Returns : |
the number of rows in self
|
GType dbus_model_get_column_type (DbusModel *self,
guint column);
Get the GType of column
|
a DbusModel |
|
the column to get retrieve the type of |
Returns : |
the GType that column holds
|
void dbus_model_add (DbusModel *self,
...);
Creates and inserts a new row to the DbusModel, setting the row values upon creation. The row will be placed in the model according to the current sorting.
For example, to append a new row where column 0 is G_TYPE_INT and column 1
is G_TYPE_STRING:
DbusModel *model;
model = dbus_model_new ("org.myapp.Results", 2, G_TYPE_INT, G_TYPE_STRING);
dbus_model_add (model, 0, 10, 1, "Rooney", -1);
|
a DbusModel |
|
pairs of column number and value, terminated with -1 |
void dbus_model_remove (DbusModel *self,
DbusModelIter *iter);
Removes the row at the given position from the model.
|
a DbusModel |
|
a DbusModelIter pointing to the row to remove |
void dbus_model_set (DbusModel *self,
DbusModelIter *iter,
...);
Sets the value of one or more cells in the row references by iter. The
variable argument list should contain integer column numbers, each column
number followed by the value to be set. The list is terminated by a -1.
For example, to set column 0 with type G_TYPE_STRING, use:
dbus_model_set (model, iter, 0, "foo", -1);
|
a DbusModel |
|
a DbusModelIter |
|
a list of column/value pairs, terminated by -1 |
void dbus_model_set_valist (DbusModel *self,
DbusModelIter *iter,
va_list args);
See #dbus_model_set(). This version takes a va_list for language bindings.
|
a DbusModel |
|
a DbusModelIter |
|
a list of column/value location pairs, terminated by -1 |
void dbus_model_set_value (DbusModel *self,
DbusModelIter *iter,
guint column,
const GValue *value);
Sets the data in column for the row iter points to, to value. The type
of value must be convertable to the type of the column.
|
a DbusModel |
|
a DbusModelIter |
|
column number to set the value |
|
new value for cell |
void dbus_model_get (DbusModel *self,
DbusModelIter *iter,
...);
Gets the value of one or more cells in the row references by iter. The
variable argument list should contain integer column numbers, each column
number followed by a place to store the value being retrieved. The list is
terminated by a -1.
For example, to get a value from column 0 with type G_TYPE_STRING use:
dbus_model_get (model, iter, 0, &place_string_here, -1);
where place_string_here is a gchar* to be filled with the string. If appropriate, the returned values have to be freed or unreferenced.
|
a DbusModel |
|
a DbusModelIter |
|
a list of column/return location pairs, terminated by -1 |
void dbus_model_get_valist (DbusModel *self,
DbusModelIter *iter,
va_list args);
See #dbus_model_get(). This version takes a va_list for language bindings.
|
a DbusModel |
|
a DbusModelIter |
|
a list of column/return location pairs, terminated by -1 |
void dbus_model_get_value (DbusModel *self,
DbusModelIter *iter,
guint column,
GValue *value);
Sets an intializes value to that at column. When done with value
g_value_unset() needs to be called to free any allocated memory.
|
a DbusModel |
|
a DbusModelIter |
|
column number to retrieve the value from |
|
an empty GValue to set |
DbusModelIter * dbus_model_get_first_iter (DbusModel *self);
Retrieves a DbusModelIter representing the first row in self.
|
a DbusModel |
Returns : |
transfer none. transfer none. |
DbusModelIter * dbus_model_get_last_iter (DbusModel *self);
Retrieves a DbusModelIter representing the last row in self.
|
a DbusModel |
Returns : |
transfer none. transfer none. |
DbusModelIter * dbus_model_get_iter_at_row (DbusModel *self,
guint row);
Retrieves a DbusModelIter representing the row at the given index.
|
a DbusModel |
|
position of the row to retrieve |
Returns : |
transfer none. transfer none. |
guint64 dbus_model_get_uid (DbusModel *self,
DbusModelIter *iter);
|
|
|
|
Returns : |
gboolean dbus_model_get_bool (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a boolean from |
Returns : |
if iter and column are valid, the boolean stored at column.
Otherwise FALSE
|
guchar dbus_model_get_uchar (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a uchar from |
Returns : |
if iter and column are valid, the uchar stored at column.
Otherwise 0.
|
gint dbus_model_get_int (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a int from |
Returns : |
if iter and column are valid, the int stored at column.
Otherwise 0.
|
guint dbus_model_get_uint (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a uint from |
Returns : |
if iter and column are valid, the uint stored at column.
Otherwise 0.
|
gint64 dbus_model_get_int64 (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a int64 from |
Returns : |
if iter and column are valid, the int64 stored at column.
Otherwise 0.
|
guint64 dbus_model_get_uint64 (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a uint64 from |
Returns : |
if iter and column are valid, the uint64 stored at column.
Otherwise 0.
|
gdouble dbus_model_get_double (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a double from |
Returns : |
if iter and column are valid, the double stored at column.
Otherwise 0.
|
const gchar * dbus_model_get_string (DbusModel *self,
DbusModelIter *iter,
guint column);
|
a DbusModel |
|
a DbusModelIter |
|
the column to retrieve a string from |
Returns : |
if iter and column are valid, the string stored at column.
Otherwise NULL.
|
DbusModelIter * dbus_model_next (DbusModel *self,
DbusModelIter *iter);
Returns a DbusModelIter that points to the next position in the model.
|
a DbusModel |
|
a DbusModelIter |
Returns : |
transfer none. transfer none. |
DbusModelIter * dbus_model_prev (DbusModel *self,
DbusModelIter *iter);
Returns a DbusModelIter that points to the previous position in the model.
|
a DbusModel |
|
a DbusModelIter |
Returns : |
transfer none. transfer none. |
gboolean dbus_model_is_first (DbusModel *self,
DbusModelIter *iter);
Where iter is at the start of self.
|
a DbusModel |
|
a DbusModelIter |
Returns : |
TRUE if iter is the first iter in the model
|