## GUPnPDIDLLiteObject GUPnPDIDLLiteObject — DIDL-Lite Object |

## Synopsis

                        GUPnPDIDLLiteObject;
    enum                GUPnPOCMFlags;
    enum                GUPnPDIDLLiteFragmentResult;
    xmlNode *           gupnp_didl_lite_object_get_xml_node (GUPnPDIDLLiteObject *object);
    xmlNsPtr            gupnp_didl_lite_object_get_upnp_namespace
                                                            (GUPnPDIDLLiteObject *object);
    xmlNsPtr            gupnp_didl_lite_object_get_dc_namespace
                                                            (GUPnPDIDLLiteObject *object);
    xmlNsPtr            gupnp_didl_lite_object_get_dlna_namespace
                                                            (GUPnPDIDLLiteObject *object);
    xmlNsPtr            gupnp_didl_lite_object_get_pv_namespace
                                                            (GUPnPDIDLLiteObject *object);
    GList *             gupnp_didl_lite_object_get_properties
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *name);
    const char *        gupnp_didl_lite_object_get_id       (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_parent_id
                                                            (GUPnPDIDLLiteObject *object);
    gboolean            gupnp_didl_lite_object_get_restricted
                                                            (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_title    (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_creator  (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_artist   (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_author   (GUPnPDIDLLiteObject *object);
    GList *             gupnp_didl_lite_object_get_creators (GUPnPDIDLLiteObject *object);
    GList *             gupnp_didl_lite_object_get_artists  (GUPnPDIDLLiteObject *object);
    GList *             gupnp_didl_lite_object_get_authors  (GUPnPDIDLLiteObject *object);
    GList *             gupnp_didl_lite_object_get_descriptors
                                                            (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_write_status
                                                            (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_genre    (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_upnp_class
                                                            (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_album    (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_album_art
                                                            (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_description
                                                            (GUPnPDIDLLiteObject *object);
    const char *        gupnp_didl_lite_object_get_date     (GUPnPDIDLLiteObject *object);
    int                 gupnp_didl_lite_object_get_track_number
                                                            (GUPnPDIDLLiteObject *object);
    GUPnPOCMFlags       gupnp_didl_lite_object_get_dlna_managed
                                                            (GUPnPDIDLLiteObject *object);
    GList *             gupnp_didl_lite_object_get_resources
                                                            (GUPnPDIDLLiteObject *object);
    GUPnPDIDLLiteResource * gupnp_didl_lite_object_get_compat_resource
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *sink_protocol_info,
                                                             gboolean lenient);
    GUPnPDIDLLiteResource * gupnp_didl_lite_object_add_resource
                                                            (GUPnPDIDLLiteObject *object);
    GUPnPDIDLLiteDescriptor * gupnp_didl_lite_object_add_descriptor
                                                            (GUPnPDIDLLiteObject *object);
    void                gupnp_didl_lite_object_set_upnp_class
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *upnp_class);
    void                gupnp_didl_lite_object_set_id       (GUPnPDIDLLiteObject *object,
                                                             const char *id);
    void                gupnp_didl_lite_object_set_parent_id
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *parent_id);
    void                gupnp_didl_lite_object_set_restricted
                                                            (GUPnPDIDLLiteObject *object,
                                                             gboolean restricted);
    void                gupnp_didl_lite_object_set_title    (GUPnPDIDLLiteObject *object,
                                                             const char *title);
    void                gupnp_didl_lite_object_set_creator  (GUPnPDIDLLiteObject *object,
                                                             const char *creator);
    void                gupnp_didl_lite_object_set_artist   (GUPnPDIDLLiteObject *object,
                                                             const char *artist);
    void                gupnp_didl_lite_object_set_author   (GUPnPDIDLLiteObject *object,
                                                             const char *author);
    GUPnPDIDLLiteContributor * gupnp_didl_lite_object_add_creator
                                                            (GUPnPDIDLLiteObject *object);
    GUPnPDIDLLiteContributor * gupnp_didl_lite_object_add_artist
                                                            (GUPnPDIDLLiteObject *object);
    GUPnPDIDLLiteContributor * gupnp_didl_lite_object_add_author
                                                            (GUPnPDIDLLiteObject *object);
    void                gupnp_didl_lite_object_set_genre    (GUPnPDIDLLiteObject *object,
                                                             const char *genre);
    void                gupnp_didl_lite_object_set_write_status
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *write_status);
    void                gupnp_didl_lite_object_set_album    (GUPnPDIDLLiteObject *object,
                                                             const char *album);
    void                gupnp_didl_lite_object_set_album_art
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *album_art);
    void                gupnp_didl_lite_object_set_description
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *description);
    void                gupnp_didl_lite_object_set_date     (GUPnPDIDLLiteObject *object,
                                                             const char *date);
    void                gupnp_didl_lite_object_set_track_number
                                                            (GUPnPDIDLLiteObject *object,
                                                             int track_number);
    void                gupnp_didl_lite_object_set_dlna_managed
                                                            (GUPnPDIDLLiteObject *object,
                                                             GUPnPOCMFlags dlna_managed);
    GUPnPDIDLLiteFragmentResult gupnp_didl_lite_object_apply_fragments
                                                            (GUPnPDIDLLiteObject *object,
                                                             gchar **current_fragments,
                                                             gint current_size,
                                                             gchar **new_fragments,
                                                             gint new_size);
    char *              gupnp_didl_lite_object_get_album_xml_string
                                                            (GUPnPDIDLLiteObject *object);
    char *              gupnp_didl_lite_object_get_artists_xml_string
                                                            (GUPnPDIDLLiteObject *object);
    char *              gupnp_didl_lite_object_get_date_xml_string
                                                            (GUPnPDIDLLiteObject *object);
    char *              gupnp_didl_lite_object_get_title_xml_string
                                                            (GUPnPDIDLLiteObject *object);
    char *              gupnp_didl_lite_object_get_track_number_xml_string
                                                            (GUPnPDIDLLiteObject *object);
    guint               gupnp_didl_lite_object_get_update_id
                                                            (GUPnPDIDLLiteObject *object);
    char *              gupnp_didl_lite_object_get_upnp_class_xml_string
                                                            (GUPnPDIDLLiteObject *object);
    char *              gupnp_didl_lite_object_get_xml_string
                                                            (GUPnPDIDLLiteObject *object);
    void                gupnp_didl_lite_object_set_update_id
                                                            (GUPnPDIDLLiteObject *object,
                                                             guint update_id);
    void                gupnp_didl_lite_object_unset_artists
                                                            (GUPnPDIDLLiteObject *object);
    void                gupnp_didl_lite_object_unset_update_id
                                                            (GUPnPDIDLLiteObject *object);
    gboolean            gupnp_didl_lite_object_update_id_is_set
                                                            (GUPnPDIDLLiteObject *object);

## Object Hierarchy

      GObject
       +----GUPnPDIDLLiteObject
             +----GUPnPDIDLLiteContainer
             +----GUPnPDIDLLiteItem

## Properties

      "album"                    gchar*                : Read / Write
      "album-art"                gchar*                : Read / Write
      "artist"                   gchar*                : Read / Write
      "author"                   gchar*                : Read / Write
      "creator"                  gchar*                : Read / Write
      "date"                     gchar*                : Read / Write
      "dc-namespace"             gpointer              : Read / Write / Construct Only
      "description"              gchar*                : Read / Write
      "dlna-managed"             GUPnPOCMFlags         : Read / Write
      "dlna-namespace"           gpointer              : Read / Write / Construct Only
      "genre"                    gchar*                : Read / Write
      "id"                       gchar*                : Read / Write
      "parent-id"                gchar*                : Read / Write
      "pv-namespace"             gpointer              : Read / Write / Construct Only
      "restricted"               gboolean              : Read / Write
      "title"                    gchar*                : Read / Write
      "track-number"             gint                  : Read / Write
      "update-id"                guint                 : Read / Write
      "upnp-class"               gchar*                : Read / Write
      "upnp-namespace"           gpointer              : Read / Write / Construct Only
      "write-status"             gchar*                : Read / Write
      "xml-doc"                  GUPnPXMLDoc*          : Write / Construct Only
      "xml-node"                 gpointer              : Read / Write / Construct Only

## Description

GUPnPDIDLLiteObject respresent a DIDL-Lite object element.

## Details

### GUPnPDIDLLiteObject

    typedef struct _GUPnPDIDLLiteObject GUPnPDIDLLiteObject;

### enum GUPnPOCMFlags

    typedef enum {
            GUPNP_OCM_FLAGS_NONE               = 0x0,
            GUPNP_OCM_FLAGS_UPLOAD             = 0x01,
            GUPNP_OCM_FLAGS_CREATE_CONTAINER   = 0x02,
            GUPNP_OCM_FLAGS_DESTROYABLE        = 0x04,
            GUPNP_OCM_FLAGS_UPLOAD_DESTROYABLE = 0x08,
            GUPNP_OCM_FLAGS_CHANGE_METADATA    = 0x10
    } GUPnPOCMFlags;

The DLNA OCM flags supported by a DIDL-Lite Object. For details on these flags please refer to section 7.3.118.4 of DLNA Networked Device Interoperability Guidelines Volume 1, October 2006.

`GUPNP_OCM_FLAGS_NONE` | No flags
`GUPNP_OCM_FLAGS_UPLOAD` | Indicates support for content upload.
`GUPNP_OCM_FLAGS_CREATE_CONTAINER` | Indicates support for creation of child container.
`GUPNP_OCM_FLAGS_DESTROYABLE` | This object is destroyable.
`GUPNP_OCM_FLAGS_UPLOAD_DESTROYABLE` | Indicates support for upload of destroyable content.
`GUPNP_OCM_FLAGS_CHANGE_METADATA` | Indicates support for changing metadata.

### enum GUPnPDIDLLiteFragmentResult

    typedef enum {
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_OK,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_CURRENT_BAD_XML,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_NEW_BAD_XML,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_CURRENT_INVALID,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_NEW_INVALID,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_REQUIRED_TAG,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_READONLY_TAG,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_MISMATCH,
          GUPNP_DIDL_LITE_FRAGMENT_RESULT_UNKNOWN_ERROR
    } GUPnPDIDLLiteFragmentResult;

Possible return values of the `gupnp_didl_lite_object_apply_fragments()` call.

`GUPNP_DIDL_LITE_FRAGMENT_RESULT_OK` | Operation succeeded.
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_CURRENT_BAD_XML` | Current set of fragments is bad XML
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_NEW_BAD_XML` | New set of fragments is bad XML
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_CURRENT_INVALID` | Current set of fragments is invalid
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_NEW_INVALID` | New set of fragments is invalid
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_REQUIRED_TAG` | Trying to remove a required tag
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_READONLY_TAG` | Trying to modify or remove a read-only tag
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_MISMATCH` | Length of the two fragment sets does not match
`GUPNP_DIDL_LITE_FRAGMENT_RESULT_UNKNOWN_ERROR` | General error sink if none of the others applies.

### gupnp_didl_lite_object_get_xml_node ()

    xmlNode *           gupnp_didl_lite_object_get_xml_node (GUPnPDIDLLiteObject *object);

Get the pointer to object node in XML document.

`object` : | The GUPnPDIDLLiteObject
Returns : | The pointer to object node in XML document. [transfer none]

### gupnp_didl_lite_object_get_upnp_namespace ()

    xmlNsPtr            gupnp_didl_lite_object_get_upnp_namespace
                                                            (GUPnPDIDLLiteObject *object);

Get the pointer to the UPnP namespace registered with the XML document.

`object` : | The GUPnPDIDLLiteObject
Returns : | The pointer to UPnP namespace in XML document. [transfer none]

### gupnp_didl_lite_object_get_dc_namespace ()

    xmlNsPtr            gupnp_didl_lite_object_get_dc_namespace
                                                            (GUPnPDIDLLiteObject *object);

Get the pointer to the DublinCore namespace registered with the XML document containing this object.

`object` : | The GUPnPDIDLLiteObject
Returns : | The pointer to DublinCore namespace in XML document. [transfer none]

### gupnp_didl_lite_object_get_dlna_namespace ()

    xmlNsPtr            gupnp_didl_lite_object_get_dlna_namespace
                                                            (GUPnPDIDLLiteObject *object);

Get the pointer to the DLNA metadata namespace registered with the XML document containing this object.

`object` : | The GUPnPDIDLLiteObject
Returns : | The pointer to DLNA namespace in XML document. [transfer none]

### gupnp_didl_lite_object_get_pv_namespace ()

    xmlNsPtr            gupnp_didl_lite_object_get_pv_namespace
                                                            (GUPnPDIDLLiteObject *object);

Get the pointer to the PV metadata namespace registered with the XML document containing this object.

`object` : | The GUPnPDIDLLiteObject
Returns : | The pointer to PV namespace in XML document. [transfer none]

### gupnp_didl_lite_object_get_properties ()

    GList *             gupnp_didl_lite_object_get_properties
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *name);

Use this function to retreive property nodes by name.

`object` : | GUPnPDIDLLiteObject
`name` : | name of the properties
Returns : | The list of property nodes by the name `property_name` belonging to `object`, or `NULL`. g_list_free the returned list after usage but do not modify the contents. [element-type xmlNode*][transfer container]

### gupnp_didl_lite_object_get_id ()

    const char *        gupnp_didl_lite_object_get_id       (GUPnPDIDLLiteObject *object);

Get the ID of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The ID of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_parent_id ()

    const char *        gupnp_didl_lite_object_get_parent_id
                                                            (GUPnPDIDLLiteObject *object);

Get the ID of the parent of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The ID of parent of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_restricted ()

    gboolean            gupnp_didl_lite_object_get_restricted
                                                            (GUPnPDIDLLiteObject *object);

Whether the `object` is restricted or not.

`object` : | GUPnPDIDLLiteObject
Returns : | TRUE if `object` is restricted.

### gupnp_didl_lite_object_get_title ()

    const char *        gupnp_didl_lite_object_get_title    (GUPnPDIDLLiteObject *object);

Get the title of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The title of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_creator ()

    const char *        gupnp_didl_lite_object_get_creator  (GUPnPDIDLLiteObject *object);

Get the creator of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The creator of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_artist ()

    const char *        gupnp_didl_lite_object_get_artist   (GUPnPDIDLLiteObject *object);

### Warning

`gupnp_didl_lite_object_get_artist` has been deprecated since version 0.5.3 and should not be used in newly-written code. Use gupnp_didl_lite_object_get_artists instead.

Get the artist of the `object`. If role is not `NULL`, it is set to the role of the artist if available.

`object` : | GUPnPDIDLLiteObject
Returns : | The artist of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_author ()

    const char *        gupnp_didl_lite_object_get_author   (GUPnPDIDLLiteObject *object);

### Warning

`gupnp_didl_lite_object_get_author` has been deprecated since version 0.5.3 and should not be used in newly-written code. Use gupnp_didl_lite_object_get_authors instead.

Get the author of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The author of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_creators ()

    GList *             gupnp_didl_lite_object_get_creators (GUPnPDIDLLiteObject *object);

Get the creators of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The list of creators belonging to `object`, or `NULL`. g_list_free the returned list after usage and unref each object in it. [element-type GUPnPDIDLLiteContributor*][transfer full]

### gupnp_didl_lite_object_get_artists ()

    GList *             gupnp_didl_lite_object_get_artists  (GUPnPDIDLLiteObject *object);

Get the artists of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The list of artists belonging to `object`, or `NULL`. g_list_free the returned list after usage and unref each object in it. [element-type GUPnPDIDLLiteContributor*][transfer full]

### gupnp_didl_lite_object_get_authors ()

    GList *             gupnp_didl_lite_object_get_authors  (GUPnPDIDLLiteObject *object);

Get the authors of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The list of authors belonging to `object`, or `NULL`. g_list_free the returned list after usage and unref each object in it. [element-type GUPnPDIDLLiteContributor*][transfer full]

### gupnp_didl_lite_object_get_descriptors ()

    GList *             gupnp_didl_lite_object_get_descriptors
                                                            (GUPnPDIDLLiteObject *object);

Get the descriptors of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The list of descriptors belonging to `object`, or `NULL`. g_list_free the returned list after usage and unref each object in it. [element-type GUPnPDIDLLiteDescriptor*][transfer full]

### gupnp_didl_lite_object_get_write_status ()

    const char *        gupnp_didl_lite_object_get_write_status
                                                            (GUPnPDIDLLiteObject *object);

Get the write status of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The write status of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_genre ()

    const char *        gupnp_didl_lite_object_get_genre    (GUPnPDIDLLiteObject *object);

Get the genre of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The genre of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_upnp_class ()

    const char *        gupnp_didl_lite_object_get_upnp_class
                                                            (GUPnPDIDLLiteObject *object);

Get the UPnP class of the `object`.

`object` : | The GUPnPDIDLLiteObject
Returns : | The class of `object`, or `NULL`.

### gupnp_didl_lite_object_get_album ()

    const char *        gupnp_didl_lite_object_get_album    (GUPnPDIDLLiteObject *object);

Get the album of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The album of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_album_art ()

    const char *        gupnp_didl_lite_object_get_album_art
                                                            (GUPnPDIDLLiteObject *object);

Get the URI to album art of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The URI to album art of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_description ()

    const char *        gupnp_didl_lite_object_get_description
                                                            (GUPnPDIDLLiteObject *object);

Get the description of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The description of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_date ()

    const char *        gupnp_didl_lite_object_get_date     (GUPnPDIDLLiteObject *object);

Get the date of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The date of the `object`, or `NULL`.

### gupnp_didl_lite_object_get_track_number ()

    int                 gupnp_didl_lite_object_get_track_number
                                                            (GUPnPDIDLLiteObject *object);

Get the original track number of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The original track number of the `object`, or -1.

### gupnp_didl_lite_object_get_dlna_managed ()

    GUPnPOCMFlags       gupnp_didl_lite_object_get_dlna_managed
                                                            (GUPnPDIDLLiteObject *object);

Get the 'dlna:dlnaManaged' attribute of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The 'dlna:dlnaManaged' attribute of the `object`.

### gupnp_didl_lite_object_get_resources ()

    GList *             gupnp_didl_lite_object_get_resources
                                                            (GUPnPDIDLLiteObject *object);

Use this function to retreive resources from the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The list of resources belonging to `object`, or `NULL`. g_list_free the returned list after usage and unref each resource in it. [element-type GUPnPDIDLLiteResource*][transfer full]

### gupnp_didl_lite_object_get_compat_resource ()

    GUPnPDIDLLiteResource * gupnp_didl_lite_object_get_compat_resource
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *sink_protocol_info,
                                                             gboolean lenient);

Use this function to get a resource from the `object` that is compatible with any of the protocols specified in the `sink_protocol_info`. The value of `sink_protocol_info` will typically be acquired from 'Sink' argument of 'GetProtocolInfo' action or 'SinkProtocolInfo' state-variable of a ConnectionManager service.

If `lenient` is TRUE, the first resource in the list is returned instead of `NULL` if none of resources and protocols are found to be compatible.

`object` : | GUPnPDIDLLiteObject
`sink_protocol_info` : | The SinkProtocolInfo string from MediaRenderer
`lenient` : | Enable lenient mode
Returns : | The resource belonging to `object` that is comaptible with any of the protocols specified in `sink_protocol_info`, or `NULL`. Unref after usage. [transfer full]

### gupnp_didl_lite_object_add_resource ()

    GUPnPDIDLLiteResource * gupnp_didl_lite_object_add_resource
                                                            (GUPnPDIDLLiteObject *object);

Creates a new resource, attaches it to `object` and returns it.

`object` : | A GUPnPDIDLLiteObject
Returns : | A new GUPnPDIDLLiteResource object. Unref after usage. [transfer full]

### gupnp_didl_lite_object_add_descriptor ()

    GUPnPDIDLLiteDescriptor * gupnp_didl_lite_object_add_descriptor
                                                            (GUPnPDIDLLiteObject *object);

Creates a new descriptor, attaches it to `object` and returns it.

`object` : | A GUPnPDIDLLiteObject
Returns : | A new GUPnPDIDLLiteDescriptor object. Unref after usage. [transfer full]

### gupnp_didl_lite_object_set_upnp_class ()

    void                gupnp_didl_lite_object_set_upnp_class
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *upnp_class);

Set the UPnP class of the `object` to `upnp_class`.

`object` : | The GUPnPDIDLLiteObject
`upnp_class` : | The UPnP class as string.

### gupnp_didl_lite_object_set_id ()

    void                gupnp_didl_lite_object_set_id       (GUPnPDIDLLiteObject *object,
                                                             const char *id);

Set the ID of the `object` to `id`.

`object` : | GUPnPDIDLLiteObject
`id` : | The ID

### gupnp_didl_lite_object_set_parent_id ()

    void                gupnp_didl_lite_object_set_parent_id
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *parent_id);

Set the ID of the parent of the `object` to `parent_id`.

`object` : | GUPnPDIDLLiteObject
`parent_id` : | The parent ID

### gupnp_didl_lite_object_set_restricted ()

    void                gupnp_didl_lite_object_set_restricted
                                                            (GUPnPDIDLLiteObject *object,
                                                             gboolean restricted);

Set the restricted status of `object` to `restricted`.

`object` : | GUPnPDIDLLiteObject
`restricted` : | The restricted status

### gupnp_didl_lite_object_set_title ()

    void                gupnp_didl_lite_object_set_title    (GUPnPDIDLLiteObject *object,
                                                             const char *title);

Set the title of the `object` to `title`.

`object` : | GUPnPDIDLLiteObject
`title` : | The title

### gupnp_didl_lite_object_set_creator ()

    void                gupnp_didl_lite_object_set_creator  (GUPnPDIDLLiteObject *object,
                                                             const char *creator);

Set the creator of the `object` to `creator`.

`object` : | GUPnPDIDLLiteObject
`creator` : | The creator

### gupnp_didl_lite_object_set_artist ()

    void                gupnp_didl_lite_object_set_artist   (GUPnPDIDLLiteObject *object,
                                                             const char *artist);

### Warning

`gupnp_didl_lite_object_set_artist` has been deprecated since version 0.5.3 and should not be used in newly-written code. Use gupnp_didl_lite_object_add_artist instead.

Set the Artist of the `object` to `artist`.

`object` : | The GUPnPDIDLLiteObject
`artist` : | The Artist

### gupnp_didl_lite_object_set_author ()

    void                gupnp_didl_lite_object_set_author   (GUPnPDIDLLiteObject *object,
                                                             const char *author);

### Warning

`gupnp_didl_lite_object_set_author` has been deprecated since version 0.5.3 and should not be used in newly-written code. Use gupnp_didl_lite_object_add_author instead.

Set the Author of the `object` to `author`.

`object` : | The GUPnPDIDLLiteObject
`author` : | The Author

### gupnp_didl_lite_object_add_creator ()

    GUPnPDIDLLiteContributor * gupnp_didl_lite_object_add_creator
                                                            (GUPnPDIDLLiteObject *object);

Add a new creator node to the `object` and return the associated GUPnPDIDLLiteContributor object.

`object` : | The GUPnPDIDLLiteObject
Returns : | A new GUPnPDIDLLiteContributor object. Unref after usage. [transfer full]

### gupnp_didl_lite_object_add_artist ()

    GUPnPDIDLLiteContributor * gupnp_didl_lite_object_add_artist
                                                            (GUPnPDIDLLiteObject *object);

Add a new Artist node to the `object` and return the associated GUPnPDIDLLiteContributor object.

`object` : | The GUPnPDIDLLiteObject
Returns : | A new GUPnPDIDLLiteContributor object. Unref after usage. [transfer full]

### gupnp_didl_lite_object_add_author ()

    GUPnPDIDLLiteContributor * gupnp_didl_lite_object_add_author
                                                            (GUPnPDIDLLiteObject *object);

Add a new author node to the `object` and return the associated GUPnPDIDLLiteContributor object.

`object` : | The GUPnPDIDLLiteObject
Returns : | A new GUPnPDIDLLiteContributor object. Unref after usage. [transfer full]

### gupnp_didl_lite_object_set_genre ()

    void                gupnp_didl_lite_object_set_genre    (GUPnPDIDLLiteObject *object,
                                                             const char *genre);

Set the genre of the `object` to `genre`.

`object` : | The GUPnPDIDLLiteObject
`genre` : | The Genre

### gupnp_didl_lite_object_set_write_status ()

    void                gupnp_didl_lite_object_set_write_status
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *write_status);

Set the write status of the `object` to `write_status`.

`object` : | GUPnPDIDLLiteObject
`write_status` : | The write status string

### gupnp_didl_lite_object_set_album ()

    void                gupnp_didl_lite_object_set_album    (GUPnPDIDLLiteObject *object,
                                                             const char *album);

Set the album of the `object` to `album`.

`object` : | GUPnPDIDLLiteObject
`album` : | The album string

### gupnp_didl_lite_object_set_album_art ()

    void                gupnp_didl_lite_object_set_album_art
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *album_art);

Set the URI to album art of the `object` to `album_art`.

`object` : | GUPnPDIDLLiteObject
`album_art` : | The URI of album art

### gupnp_didl_lite_object_set_description ()

    void                gupnp_didl_lite_object_set_description
                                                            (GUPnPDIDLLiteObject *object,
                                                             const char *description);

Set the description of the `object` to `description`.

`object` : | GUPnPDIDLLiteObject
`description` : | The description string

### gupnp_didl_lite_object_set_date ()

    void                gupnp_didl_lite_object_set_date     (GUPnPDIDLLiteObject *object,
                                                             const char *date);

Set the date of the `object` to `date`.

`object` : | GUPnPDIDLLiteObject
`date` : | The date string

### gupnp_didl_lite_object_set_track_number ()

    void                gupnp_didl_lite_object_set_track_number
                                                            (GUPnPDIDLLiteObject *object,
                                                             int track_number);

Set the original track number of the `object` to `track_number`.

`object` : | GUPnPDIDLLiteObject
`track_number` : | The original track number

### gupnp_didl_lite_object_set_dlna_managed ()

    void                gupnp_didl_lite_object_set_dlna_managed
                                                            (GUPnPDIDLLiteObject *object,
                                                             GUPnPOCMFlags dlna_managed);

Set the 'dlna:dlnaManaged' attribute of the `object` to `dlna_managed`.

`object` : | GUPnPDIDLLiteObject
`dlna_managed` : | The GUPnPOCMFlags.

### gupnp_didl_lite_object_apply_fragments ()

    GUPnPDIDLLiteFragmentResult gupnp_didl_lite_object_apply_fragments
                                                            (GUPnPDIDLLiteObject *object,
                                                             gchar **current_fragments,
                                                             gint current_size,
                                                             gchar **new_fragments,
                                                             gint new_size);

Updates object by applying `new_fragments` in places of `current_fragments`. For `current_size` and `new_size` -1 can be passed when respectively `current_fragments` and `new_fragments` are NULL terminated.

`object` : | The GUPnPDIDLLiteObject
`current_fragments` : | XML fragments of `object`. [array length=current_size][transfer none]
`current_size` : | Size of `current_fragments` or -1.
`new_fragments` : | Substitutes for `current_fragments`. [array length=new_size][transfer none]
`new_size` : | Size of `new_fragments` or -1.
Returns : | Result of operation.

### gupnp_didl_lite_object_get_album_xml_string ()

    char *              gupnp_didl_lite_object_get_album_xml_string
                                                            (GUPnPDIDLLiteObject *object);

Creates a string representation of the DIDL-Lite XML fragment related to the object album.

`object` : | A GUPnPDIDLLiteObject
Returns : | A DIDL-Lite XML fragment string, or `NULL`. g_free after usage.

### gupnp_didl_lite_object_get_artists_xml_string ()

    char *              gupnp_didl_lite_object_get_artists_xml_string
                                                            (GUPnPDIDLLiteObject *object);

Creates a string representation of the DIDL-Lite XML fragments related to the object artists.

`object` : | A GUPnPDIDLLiteObject
Returns : | A DIDL-Lite XML fragment string, or `NULL`. g_free after usage.

### gupnp_didl_lite_object_get_date_xml_string ()

    char *              gupnp_didl_lite_object_get_date_xml_string
                                                            (GUPnPDIDLLiteObject *object);

Creates a string representation of the DIDL-Lite XML fragment related to the object date.

`object` : | A GUPnPDIDLLiteObject
Returns : | A DIDL-Lite XML fragment string, or `NULL`. g_free after usage.

### gupnp_didl_lite_object_get_title_xml_string ()

    char *              gupnp_didl_lite_object_get_title_xml_string
                                                            (GUPnPDIDLLiteObject *object);

Creates a string representation of the DIDL-Lite XML fragment related to the object title.

`object` : | A GUPnPDIDLLiteObject
Returns : | A DIDL-Lite XML fragment string, or `NULL`. g_free after usage.

### gupnp_didl_lite_object_get_track_number_xml_string ()

    char *              gupnp_didl_lite_object_get_track_number_xml_string
                                                            (GUPnPDIDLLiteObject *object);

Creates a string representation of the DIDL-Lite XML fragment related to the object track number.

`object` : | A GUPnPDIDLLiteObject
Returns : | A DIDL-Lite XML fragment string, or `NULL`. g_free after usage.

### gupnp_didl_lite_object_get_update_id ()

    guint               gupnp_didl_lite_object_get_update_id
                                                            (GUPnPDIDLLiteObject *object);

Get the update ID of the `object`.

`object` : | GUPnPDIDLLiteObject
Returns : | The update ID of the `object`.

### gupnp_didl_lite_object_get_upnp_class_xml_string ()

    char *              gupnp_didl_lite_object_get_upnp_class_xml_string
                                                            (GUPnPDIDLLiteObject *object);

Creates a string representation of the DIDL-Lite XML fragment related to the object UPnP class.

`object` : | A GUPnPDIDLLiteObject
Returns : | A DIDL-Lite XML fragment string, or `NULL`. g_free after usage.

### gupnp_didl_lite_object_get_xml_string ()

    char *              gupnp_didl_lite_object_get_xml_string
                                                            (GUPnPDIDLLiteObject *object);

Get the representation of this object as an XML string.

`object` : | GUPnPDIDLLiteObject
Returns : | XML representation of this object as string. [transfer full]

### gupnp_didl_lite_object_set_update_id ()

    void                gupnp_didl_lite_object_set_update_id
                                                            (GUPnPDIDLLiteObject *object,
                                                             guint update_id);

Set the update ID of the `object`.

`object` : | GUPnPDIDLLiteObject
`update_id` : | Update ID

### gupnp_didl_lite_object_unset_artists ()

    void                gupnp_didl_lite_object_unset_artists
                                                            (GUPnPDIDLLiteObject *object);

Unset the artists properties of the `object`.

`object` : | GUPnPDIDLLiteObject

### gupnp_didl_lite_object_unset_update_id ()

    void                gupnp_didl_lite_object_unset_update_id
                                                            (GUPnPDIDLLiteObject *object);

Unset the update ID property of the `object`.

`object` : | GUPnPDIDLLiteObject

### gupnp_didl_lite_object_update_id_is_set ()

    gboolean            gupnp_didl_lite_object_update_id_is_set
                                                            (GUPnPDIDLLiteObject *object);

Get whether the update ID of the `object` is set.

`object` : | GUPnPDIDLLiteObject
Returns : | `TRUE` if update ID is set, otherwise `FALSE`

## Property Details

### The `"album"` property

      "album"                    gchar*                : Read / Write

The album of this object.

Default value: NULL

### The `"album-art"` property

      "album-art"                gchar*                : Read / Write

The URI to album art of this object.

Default value: NULL

### The `"artist"` property

      "artist"                   gchar*                : Read / Write

### Warning

`GUPnPDIDLLiteObject:artist` has been deprecated since version 0.5.3 and should not be used in newly-written code. Use gupnp_didl_lite_object_get_artists and gupnp_didl_lite_object_add_artist instead since unlike this property, they are capable of dealing with multiple artist nodes.

The artist of this object.

Default value: NULL

### The `"author"` property

      "author"                   gchar*                : Read / Write

### Warning

`GUPnPDIDLLiteObject:author` has been deprecated since version 0.5.3 and should not be used in newly-written code. Use gupnp_didl_lite_object_get_authors and gupnp_didl_lite_object_add_author instead since unlike this property, they are capable of dealing with multiple author nodes.

The author of this object.

Default value: NULL

### The `"creator"` property

      "creator"                  gchar*                : Read / Write

The creator of this object.

Default value: NULL

### The `"date"` property

      "date"                     gchar*                : Read / Write

The date of this object.

Default value: NULL

### The `"dc-namespace"` property

      "dc-namespace"             gpointer              : Read / Write / Construct Only

Pointer to the DublinCore namespace registered with the XML document containing this object.

### The `"description"` property

      "description"              gchar*                : Read / Write

The description of this object.

Default value: NULL

### The `"dlna-managed"` property

      "dlna-managed"             GUPnPOCMFlags         : Read / Write

The 'dlna:dlnaManaged' attribute.

### The `"dlna-namespace"` property

      "dlna-namespace"           gpointer              : Read / Write / Construct Only

Pointer to the DLNA metadata namespace registered with the XML document containing this object.

### The `"genre"` property

      "genre"                    gchar*                : Read / Write

The genre of this object.

Default value: NULL

### The `"id"` property

      "id"                       gchar*                : Read / Write

The ID of this object.

Default value: NULL

### The `"parent-id"` property

      "parent-id"                gchar*                : Read / Write

The ID of the parent container of this object.

Default value: NULL

### The `"pv-namespace"` property

      "pv-namespace"             gpointer              : Read / Write / Construct Only

Pointer to the PV metadata namespace registered with the XML document containing this object.

### The `"restricted"` property

      "restricted"               gboolean              : Read / Write

Whether this object is restricted.

Default value: FALSE

### The `"title"` property

      "title"                    gchar*                : Read / Write

The title of this object.

Default value: NULL

### The `"track-number"` property

      "track-number"             gint                  : Read / Write

The original track number of this object.

Allowed values: >= G_MAXULONG

Default value: -1

### The `"update-id"` property

      "update-id"                guint                 : Read / Write

Update ID of this object.

Default value: 0

### The `"upnp-class"` property

      "upnp-class"               gchar*                : Read / Write

The UPnP class of this object.

Default value: NULL

### The `"upnp-namespace"` property

      "upnp-namespace"           gpointer              : Read / Write / Construct Only

Pointer to the UPnP namespace registered with the XML document containing this object.

### The `"write-status"` property

      "write-status"             gchar*                : Read / Write

The write status of this object.

Default value: NULL

### The `"xml-doc"` property

      "xml-doc"                  GUPnPXMLDoc*          : Write / Construct Only

The reference to XML document containing this object.

Internal property.

Stability Level: Private

### The `"xml-node"` property

      "xml-node"                 gpointer              : Read / Write / Construct Only

The pointer to object node in XML document.