summaryrefslogtreecommitdiff
path: root/libgupnp-av/gupnp-media-collection.h
blob: d49f90e6a41027e3624435b23b9806884738ab68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
 * Copyright (C) 2012 Intel Corporation.
 *
 * Authors: Jens Georg <jensg@openismus.com>
 *
 * SPDX-License-Identifier: LGPL-2.1-or-later
 *
 */

#ifndef GUPNP_DIDL_LITE_MEDIA_COLLECTION_H
#define GUPNP_DIDL_LITE_MEDIA_COLLECTION_H

#include <glib-object.h>

#include "gupnp-didl-lite-item.h"

G_BEGIN_DECLS

G_DECLARE_DERIVABLE_TYPE (GUPnPMediaCollection,
                          gupnp_media_collection,
                          GUPNP,
                          MEDIA_COLLECTION,
                          GObject)

#define GUPNP_TYPE_MEDIA_COLLECTION (gupnp_media_collection_get_type ())

struct _GUPnPMediaCollectionClass {
        GObjectClass parent_class;

        /* padding */
        void (* _gupnp_reserved1) (void);
        void (* _gupnp_reserved2) (void);
        void (* _gupnp_reserved3) (void);
        void (* _gupnp_reserved4) (void);
};

GUPnPMediaCollection *
gupnp_media_collection_new (void);

GUPnPMediaCollection *
gupnp_media_collection_new_from_string (const char *data);

void
gupnp_media_collection_set_title       (GUPnPMediaCollection *collection,
                                        const char           *title);

const char *
gupnp_media_collection_get_title       (GUPnPMediaCollection *collection);

void
gupnp_media_collection_set_author      (GUPnPMediaCollection *collection,
                                        const char           *author);

const char *
gupnp_media_collection_get_author      (GUPnPMediaCollection *collection);

GUPnPDIDLLiteItem *
gupnp_media_collection_add_item        (GUPnPMediaCollection *collection);

char *
gupnp_media_collection_get_string      (GUPnPMediaCollection *collection);

GList *
gupnp_media_collection_get_items       (GUPnPMediaCollection *collection);

gboolean
gupnp_media_collection_get_mutable     (GUPnPMediaCollection *collection);

G_END_DECLS

#endif /* GUPNP_DIDL_LITE_MEDIA_COLLECTION_H */