RestParams: librest Reference Manual

## RestParams RestParams — Container for call parameters |

## Functions

RestParams * | rest_params_new ()
void | rest_params_free ()
void | rest_params_add ()
RestParam * | rest_params_get ()
void | rest_params_remove ()
gboolean | rest_params_are_strings ()
GHashTable * | rest_params_as_string_hash_table ()
void | rest_params_iter_init ()
gboolean | rest_params_iter_next ()

## Types and Values

| RestParams
typedef | RestParamsIter

## Description

## Functions

### rest_params_new ()

    RestParams *
    rest_params_new (void);

Create a new RestParams.

#### Returns

A empty RestParams.

### rest_params_free ()

    void
    rest_params_free (RestParams *params);

Destroy the RestParams and the RestParam objects that it contains.

#### Parameters

params | a valid RestParams |

### rest_params_add ()

    void
    rest_params_add (RestParams *params,
                     RestParam *param);

Add `param` to `params` .

#### Parameters

params | a valid RestParams |
param | a valid RestParam |

### rest_params_get ()

    RestParam *
    rest_params_get (RestParams *params,
                     const char *name);

Return the RestParam called `name` , or `NULL` if it doesn't exist.

#### Parameters

params | a valid RestParams |
name | a parameter name |

#### Returns

a RestParam or `NULL` if the name doesn't exist

### rest_params_remove ()

    void
    rest_params_remove (RestParams *params,
                        const char *name);

Remove the RestParam called `name` .

#### Parameters

params | a valid RestParams |
name | a parameter name |

### rest_params_are_strings ()

    gboolean
    rest_params_are_strings (RestParams *params);

Checks if the parameters are all simple strings (have a content type of "text/plain").

#### Parameters

params | a valid RestParams |

#### Returns

`TRUE` if all of the parameters are simple strings, `FALSE` otherwise.

### rest_params_as_string_hash_table ()

    GHashTable *
    rest_params_as_string_hash_table (RestParams *params);

Create a new GHashTable which contains the name and value of all string (content type of text/plain) parameters.

The values are owned by the RestParams, so don't destroy the RestParams before the hash table.

#### Parameters

params | a valid RestParams |

#### Returns

a new GHashTable.

[element-type utf8 Rest.Param][transfer container]

### rest_params_iter_init ()

    void
    rest_params_iter_init (RestParamsIter *iter,
                           RestParams *params);

Initialize a parameter iterator over `params` . Modifying `params` after calling this function invalidates the returned iterator.

    1
    2
    3
    4
    5
    6
    7
    8
    RestParamsIter iter;
    const char *name;
    RestParam *param;

    rest_params_iter_init (&iter, params);
    while (rest_params_iter_next (&iter, &name, &param)) {
      /* do something with name and param */
    }

#### Parameters

iter | an uninitialized RestParamsIter |
params | a valid RestParams |

### rest_params_iter_next ()

    gboolean
    rest_params_iter_next (RestParamsIter *iter,
                           const char **name,
                           RestParam **param);

Advances `iter` and retrieves the name and/or parameter that are now pointed at as a result of this advancement. If FALSE is returned, `name` and `param` are not set and the iterator becomes invalid.

#### Parameters

iter | an initialized RestParamsIter |
name | a location to store the name, or `NULL` |
param | a location to store the RestParam, or `NULL` |

#### Returns

`FALSE` if the end of the RestParams has been reached, `TRUE` otherwise.

## Types and Values

### RestParams

    typedef struct _RestParams RestParams;

### RestParamsIter

    typedef struct _GHashTableIter RestParamsIter;

## See Also

RestParam, RestProxyCall.