## cr-prop-list cr-prop-list |

## Functions

CRPropList * | cr_prop_list_append ()
CRPropList * | cr_prop_list_append2 ()
CRPropList * | cr_prop_list_prepend ()
CRPropList * | cr_prop_list_prepend2 ()
enum CRStatus | cr_prop_list_set_prop ()
enum CRStatus | cr_prop_list_get_prop ()
enum CRStatus | cr_prop_list_lookup_prop ()
CRPropList * | cr_prop_list_get_next ()
CRPropList * | cr_prop_list_get_prev ()
enum CRStatus | cr_prop_list_set_decl ()
enum CRStatus | cr_prop_list_get_decl ()
CRPropList * | cr_prop_list_unlink ()
void | cr_prop_list_destroy ()

## Types and Values

struct | CRPropList
| CRPropListPriv

## Description

## Functions

### cr_prop_list_append ()

    CRPropList *
    cr_prop_list_append (CRPropList *a_this,
                         CRPropList *a_to_append);

Appends a property list to the current one.

Returns the resulting prop list, or NULL if an error occured

#### Parameters

a_this | the current instance of CRPropList |
a_to_append | the property list to append |

### cr_prop_list_append2 ()

    CRPropList *
    cr_prop_list_append2 (CRPropList *a_this,
                          CRString *a_prop,
                          CRDeclaration *a_decl);

Returns the resulting property list, or NULL in case of an error.

#### Parameters

a_this | the current instance of CRPropList |
a_prop | the property to consider |
a_decl | the declaration to consider |

### cr_prop_list_prepend ()

    CRPropList *
    cr_prop_list_prepend (CRPropList *a_this,
                          CRPropList *a_to_append);

Prepends a list to the current list Returns the new properties list.

#### Parameters

a_this | the current instance of CRPropList |
a_to_prepend | the new list to prepend. |

### cr_prop_list_prepend2 ()

    CRPropList *
    cr_prop_list_prepend2 (CRPropList *a_this,
                           CRString *a_prop,
                           CRDeclaration *a_decl);

Prepends a propertie to a list of properties

Returns the new property list.

#### Parameters

a_this | the current instance of CRPropList |
a_prop_name | property name to append |
a_decl | the property value to append. |

### cr_prop_list_set_prop ()

    enum CRStatus
    cr_prop_list_set_prop (CRPropList *a_this,
                           CRString *a_prop);

Sets the property of a CRPropList

#### Parameters

a_this | the current instance of CRPropList |
a_prop | the property to set |

### cr_prop_list_get_prop ()

    enum CRStatus
    cr_prop_list_get_prop (CRPropList const *a_this,
                           CRString **a_prop);

Getter of the property associated to the current instance of CRPropList

Returns CR_OK upon successful completion, an error code otherwise.

#### Parameters

a_this | the current instance of CRPropList |
a_prop | out parameter. The returned property |

### cr_prop_list_lookup_prop ()

    enum CRStatus
    cr_prop_list_lookup_prop (CRPropList *a_this,
                              CRString *a_prop,
                              CRPropList **a_pair);

Lookup a given property/declaration pair

Returns CR_OK if a prop/decl pair has been found, CR_VALUE_NOT_FOUND_ERROR if not, or an error code if something bad happens.

#### Parameters

a_this | the current instance of CRPropList |
a_prop | the property to lookup |
a_prop_list | out parameter. The property/declaration pair found (if and only if the function returned code if CR_OK) |

### cr_prop_list_get_next ()

    CRPropList *
    cr_prop_list_get_next (CRPropList *a_this);

Gets the next prop/decl pair in the list

Returns the next prop/declaration pair of the list, or NULL if we reached end of list (or if an error occurs)

#### Parameters

a_this | the current instance of CRPropList |

### cr_prop_list_get_prev ()

    CRPropList *
    cr_prop_list_get_prev (CRPropList *a_this);

Gets the previous prop/decl pair in the list

Returns the previous prop/declaration pair of the list, or NULL if we reached end of list (or if an error occurs)

#### Parameters

a_this | the current instance of CRPropList |

### cr_prop_list_set_decl ()

    enum CRStatus
    cr_prop_list_set_decl (CRPropList *a_this,
                           CRDeclaration *a_decl);

Returns CR_OK upon successful completion, an error code otherwise.

#### Parameters

a_this | the current instance of CRPropList |
a_decl | the new property value. |

### cr_prop_list_get_decl ()

    enum CRStatus
    cr_prop_list_get_decl (CRPropList const *a_this,
                           CRDeclaration **a_decl);

Returns CR_OK upon successful completion.

#### Parameters

a_this | the current instance of CRPropList |
a_decl | out parameter. The property value |

### cr_prop_list_unlink ()

    CRPropList *
    cr_prop_list_unlink (CRPropList *a_this,
                         CRPropList *a_pair);

Unlinks a prop/decl pair from the list

Returns the new list or NULL in case of an error.

#### Parameters

a_this | the current list of prop/decl pairs |
a_pair | the prop/decl pair to unlink. |

### cr_prop_list_destroy ()

    void
    cr_prop_list_destroy (CRPropList *a_this);

#### Parameters

a_this | the current instance of CRPropList |

## Types and Values

### struct CRPropList

    struct CRPropList {
    	CRPropListPriv * priv;
    };

### CRPropListPriv

    typedef struct _CRPropListPriv CRPropListPriv;