d68991d1076857a1b66d7e0d87ab33200bf0af43
[profile/ivi/GUPnP-AV.git] / libgupnp-av / gupnp-dlna.c
1 /*
2  * Copyright (C) 2009 Nokia Corporation.
3  *
4  * Authors: Zeeshan Ali <zeeshanak@gnome.org>
5  *                      <zeeshan.ali@nokia.com>
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  * Boston, MA 02110-1301, USA.
21  */
22
23 #include "gupnp-dlna.h"
24
25 GType
26 gupnp_dlna_conversion_get_type (void)
27 {
28         static GType type = 0;
29
30         if (type == 0) {
31                 static const GFlagsValue values[] = {
32                         { GUPNP_DLNA_CONVERSION_NONE,
33                           "GUPNP_DLNA_CONVERSION_NONE",
34                           "none" },
35                         { GUPNP_DLNA_CONVERSION_TRANSCODED,
36                           "GUPNP_DLNA_CONVERSION_TRANSCODED",
37                           "transcoded" },
38                         { 0, NULL, NULL }
39                 };
40
41                 type = g_flags_register_static
42                                 (g_intern_static_string ("GUPnPDLNAConversion"),
43                                  values);
44         }
45
46         return type;
47 }
48
49 GType
50 gupnp_dlna_operation_get_type (void)
51 {
52         static GType type = 0;
53
54         if (type == 0) {
55                 static const GFlagsValue values[] = {
56                         { GUPNP_DLNA_OPERATION_NONE,
57                           "GUPNP_DLNA_OPERATION_NONE",
58                           "none" },
59                         { GUPNP_DLNA_OPERATION_RANGE,
60                           "GUPNP_DLNA_OPERATION_RANGE",
61                           "range" },
62                         { GUPNP_DLNA_OPERATION_TIMESEEK,
63                           "GUPNP_DLNA_OPERATION_TIMESEEK",
64                           "timeseek" },
65                         { 0, NULL, NULL }
66                 };
67
68                 type = g_flags_register_static
69                                 (g_intern_static_string ("GUPnPDLNAOperation"),
70                                  values);
71         }
72
73         return type;
74 }
75
76 GType
77 gupnp_dlna_flags_get_type (void)
78 {
79         static GType type = 0;
80
81         if (type == 0) {
82                 static const GFlagsValue values[] = {
83                         { GUPNP_DLNA_FLAGS_NONE,
84                           "GUPNP_DLNA_FLAGS_NONE",
85                           "none" },
86                         { GUPNP_DLNA_FLAGS_SENDER_PACED,
87                           "GUPNP_DLNA_FLAGS_SENDER_PACED",
88                           "sender-paced" },
89                         { GUPNP_DLNA_FLAGS_TIME_BASED_SEEK,
90                           "GUPNP_DLNA_FLAGS_TIME_BASED_SEEK",
91                           "time-based-seek" },
92                         { GUPNP_DLNA_FLAGS_BYTE_BASED_SEEK,
93                           "GUPNP_DLNA_FLAGS_BYTE_BASED_SEEK",
94                           "byte-based-seek" },
95                         { GUPNP_DLNA_FLAGS_PLAY_CONTAINER,
96                           "GUPNP_DLNA_FLAGS_PLAY_CONTAINER",
97                           "play-container" },
98                         { GUPNP_DLNA_FLAGS_S0_INCREASE,
99                           "GUPNP_DLNA_FLAGS_S0_INCREASE",
100                           "s0-increase" },
101                         { GUPNP_DLNA_FLAGS_SN_INCREASE,
102                           "GUPNP_DLNA_FLAGS_SN_INCREASE",
103                           "sn-increase" },
104                         { GUPNP_DLNA_FLAGS_RTSP_PAUSE,
105                           "GUPNP_DLNA_FLAGS_RTSP_PAUSE",
106                           "rtsp-pause" },
107                         { GUPNP_DLNA_FLAGS_STREAMING_TRANSFER_MODE,
108                           "GUPNP_DLNA_FLAGS_STREAMING_TRANSFER_MODE",
109                           "streaming-transfer-mode" },
110                         { GUPNP_DLNA_FLAGS_INTERACTIVE_TRANSFER_MODE,
111                           "GUPNP_DLNA_FLAGS_INTERACTIVE_TRANSFER_MODE",
112                           "interactive-transfer-mode" },
113                         { GUPNP_DLNA_FLAGS_BACKGROUND_TRANSFER_MODE,
114                           "GUPNP_DLNA_FLAGS_BACKGROUND_TRANSFER_MODE",
115                           "background-transfer-mode" },
116                         { GUPNP_DLNA_FLAGS_CONNECTION_STALL,
117                           "GUPNP_DLNA_FLAGS_CONNECTION_STALL",
118                           "connection-stall" },
119                         { GUPNP_DLNA_FLAGS_DLNA_V15,
120                           "GUPNP_DLNA_FLAGS_DLNA_V15",
121                           "dlna-v15" },
122                         { GUPNP_DLNA_FLAGS_LINK_PROTECTED_CONTENT,
123                           "GUPNP_DLNA_FLAGS_LINK_PROTECTED_CONTENT",
124                           "link-protected-content" },
125                         { GUPNP_DLNA_FLAGS_CLEAR_TEXT_BYTE_SEEK_FULL,
126                           "GUPNP_DLNA_FLAGS_CLEAR_TEXT_BYTE_SEEK_FULL",
127                           "cleartext-byteseek-full" },
128                         { GUPNP_DLNA_FLAGS_LOP_CLEAR_TEXT_BYTE_SEEK,
129                           "GUPNP_DLNA_FLAGS_LOP_CLEAR_TEXT_BYTE_SEEK",
130                           "lop-cleartext-byteseek" },
131                         { 0, NULL, NULL }
132                 };
133
134                 type = g_flags_register_static
135                                 (g_intern_static_string ("GUPnPDLNAFlags"),
136                                  values);
137         }
138
139         return type;
140 }
141
142 GType
143 gupnp_ocm_flags_get_type (void)
144 {
145         static GType type = 0;
146
147         if (type == 0) {
148                 static const GFlagsValue values[] = {
149                         { GUPNP_OCM_FLAGS_NONE,
150                           "GUPNP_OCM_FLAGS_NONE",
151                           "none" },
152                         { GUPNP_OCM_FLAGS_UPLOAD,
153                           "GUPNP_OCM_FLAGS_UPLOAD",
154                           "upload" },
155                         { GUPNP_OCM_FLAGS_CREATE_CONTAINER,
156                           "GUPNP_OCM_FLAGS_CREATE_CONTAINER",
157                           "create-container" },
158                         { GUPNP_OCM_FLAGS_DESTROYABLE,
159                           "GUPNP_OCM_FLAGS_DESTROYABLE",
160                           "destroyable" },
161                         { GUPNP_OCM_FLAGS_UPLOAD_DESTROYABLE,
162                           "GUPNP_OCM_FLAGS_UPLOAD_DESTROYABLE",
163                           "upload-destroyable" },
164                         { GUPNP_OCM_FLAGS_CHANGE_METADATA,
165                           "GUPNP_OCM_FLAGS_CHANGE_METADATA",
166                           "change-metadata" },
167                         { 0, NULL, NULL }
168                 };
169
170                 type = g_flags_register_static
171                                 (g_intern_static_string ("GUPnPOCMFlags"),
172                                  values);
173         }
174
175         return type;
176 }