## SwamiControlValue SwamiControlValue |

## Synopsis

                        SwamiControlValue;
    SwamiControlValue * swami_control_value_new             (void);
    void                swami_control_value_assign_value    (SwamiControlValue *ctrlvalue,
                                                             GValue *value,
                                                             GDestroyNotify destroy);
    void                swami_control_value_alloc_value     (SwamiControlValue *ctrlvalue);

## Object Hierarchy

      GObject
       +----SwamiLock
             +----SwamiControl
                   +----SwamiControlValue

## Description

## Details

### SwamiControlValue

    typedef struct _SwamiControlValue SwamiControlValue;

### swami_control_value_new ()

    SwamiControlValue * swami_control_value_new             (void);

Create a new GValue control.

Returns : | New GValue control with a refcount of 1 which the caller owns.

### swami_control_value_assign_value ()

    void                swami_control_value_assign_value    (SwamiControlValue *ctrlvalue,
                                                             GValue *value,
                                                             GDestroyNotify destroy);

Assigns a GValue to be controlled by a Swami GValue control object. If `destroy` is set it will be called on the `value` when it is no longer being used. The `ctrlvalue` should already have a parameter specification. If the `value` type is the same as the GParamSpec value type it will be used as is otherwise it will be initialized to the parameter spec type.

`ctrlvalue` : | Swami GValue control object
`value` : | Value to be controlled
`destroy` : | A function to destroy `value` or `NULL`

### swami_control_value_alloc_value ()

    void                swami_control_value_alloc_value     (SwamiControlValue *ctrlvalue);

Allocate a GValue and assign it to the `ctrlvalue` object. See `swami_control_value_assign_value()` to assign an existing GValue to a Swami GValue control object. The `ctrlvalue` should already have an assigned parameter spec.

`ctrlvalue` : | Swami GValue control object