## RygelSearchExpression

RygelSearchExpression — Represents a SearchExpression tree.

## Synopsis

    #define             RYGEL_TYPE_SEARCH_EXPRESSION
    gboolean            rygel_search_expression_satisfied_by
                                                            (RygelSearchExpression *self,
                                                             RygelMediaObject *media_object);
    gchar *             rygel_search_expression_to_string   (RygelSearchExpression *self);
    struct              RygelSearchExpression;
    gpointer            rygel_search_expression_ref         (gpointer instance);
    void                rygel_search_expression_unref       (gpointer instance);
    GParamSpec *        rygel_param_spec_search_expression  (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             GType object_type,
                                                             GParamFlags flags);
    void                rygel_value_set_search_expression   (GValue *value,
                                                             gpointer v_object);
    gpointer            rygel_value_get_search_expression   (const GValue *value);
    void                rygel_value_take_search_expression  (GValue *value,
                                                             gpointer v_object);
    struct              RygelSearchExpressionClass;

## Object Hierarchy

      RygelSearchExpression
       +----RygelLogicalExpression
       +----RygelRelationalExpression

## Description

## Details

### RYGEL_TYPE_SEARCH_EXPRESSION

    #define RYGEL_TYPE_SEARCH_EXPRESSION (rygel_search_expression_get_type ())

The type for RygelSearchExpression.

### rygel_search_expression_satisfied_by ()

    gboolean            rygel_search_expression_satisfied_by
                                                            (RygelSearchExpression *self,
                                                             RygelMediaObject *media_object);

`self` : | the RygelSearchExpression instance
`media_object` : |

### rygel_search_expression_to_string ()

    gchar *             rygel_search_expression_to_string   (RygelSearchExpression *self);

`self` : | the RygelSearchExpression instance

### struct RygelSearchExpression

    struct RygelSearchExpression;

Represents a SearchExpression tree.

### rygel_search_expression_ref ()

    gpointer            rygel_search_expression_ref         (gpointer instance);

Increases the reference count of `object`.

`instance` : | a RygelSearchExpression.
Returns : | the same `object`

### rygel_search_expression_unref ()

    void                rygel_search_expression_unref       (gpointer instance);

Decreases the reference count of `object`. When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

`instance` : | a RygelSearchExpression.

### rygel_param_spec_search_expression ()

    GParamSpec *        rygel_param_spec_search_expression  (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             GType object_type,
                                                             GParamFlags flags);

Creates a new GParamSpecBoxed instance specifying a `RYGEL_TYPE_SEARCH_EXPRESSION` derived property.

See ``g_param_spec_internal()`` for details on property names.

`name` : | canonical name of the property specified
`nick` : | nick name for the property specified
`blurb` : | description of the property specified
`object_type` : | `RYGEL_TYPE_SEARCH_EXPRESSION` derived type of this property
`flags` : | flags for the property specified

### rygel_value_set_search_expression ()

    void                rygel_value_set_search_expression   (GValue *value,
                                                             gpointer v_object);

Set the contents of a `RYGEL_TYPE_SEARCH_EXPRESSION` derived GValue to `v_object`.

`rygel_value_set_search_expression()` increases the reference count of `v_object` (the GValue holds a reference to `v_object`). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use `rygel_value_take_search_expression()` instead.

It is important that your GValue holds a reference to `v_object` (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).

`value` : | a valid GValue of `RYGEL_TYPE_SEARCH_EXPRESSION` derived type
`v_object` : | object value to be set

### rygel_value_get_search_expression ()

    gpointer            rygel_value_get_search_expression   (const GValue *value);

Get the contents of a `RYGEL_TYPE_SEARCH_EXPRESSION` derived GValue.

`value` : | a valid GValue of `RYGEL_TYPE_SEARCH_EXPRESSION` derived type
Returns : | object contents of `value`

### rygel_value_take_search_expression ()

    void                rygel_value_take_search_expression  (GValue *value,
                                                             gpointer v_object);

Sets the contents of a `RYGEL_TYPE_SEARCH_EXPRESSION` derived GValue to `v_object` and takes over the ownership of the callers reference to `v_object`; the caller doesn't have to unref it any more (i.e. the reference count of the object is not increased).

If you want the GValue to hold its own reference to `v_object`, use `rygel_value_set_search_expression()` instead.

`value` : | a valid GValue of `RYGEL_TYPE_SEARCH_EXPRESSION` derived type
`v_object` : | object value to be set

### struct RygelSearchExpressionClass

    struct RygelSearchExpressionClass {
    	GTypeClass parent_class;
    	void (*finalize) (RygelSearchExpression *self);
    	gboolean (*satisfied_by) (RygelSearchExpression* self, RygelMediaObject* media_object);
    	gchar* (*to_string) (RygelSearchExpression* self);
    };

The class structure for `RYGEL_TYPE_SEARCH_EXPRESSION`. All the fields in this structure are private and should never be accessed directly.

GTypeClass `parent_class`; | the parent class structure
`finalize` () |
`satisfied_by` () | virtual method called by `rygel_search_expression_satisfied_by()`
`to_string` () | virtual method called by `rygel_search_expression_to_string()`