Release 1.22.7
[platform/upstream/gstreamer.git] / subprojects / gstreamer-sharp / sources / generated / Gst / TagList.cs
1 // This file was generated by the Gtk# code generator.
2 // Any changes made will be lost if regenerated.
3
4 namespace Gst {
5
6         using System;
7         using System.Collections;
8         using System.Collections.Generic;
9         using System.Runtime.InteropServices;
10
11 #region Autogenerated code
12         public partial class TagList : Gst.MiniObject {
13
14                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
15                 static extern IntPtr gst_tag_list_get_type();
16
17                 public static GLib.GType GType { 
18                         get {
19                                 IntPtr raw_ret = gst_tag_list_get_type();
20                                 GLib.GType ret = new GLib.GType(raw_ret);
21                                 return ret;
22                         }
23                 }
24
25                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
26                 static extern void gst_tag_list_add_value(IntPtr raw, int mode, IntPtr tag, IntPtr value);
27
28                 public void AddValue(Gst.TagMergeMode mode, string tag, GLib.Value value) {
29                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
30                         IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
31                         gst_tag_list_add_value(Handle, (int) mode, native_tag, native_value);
32                         GLib.Marshaller.Free (native_tag);
33                         Marshal.FreeHGlobal (native_value);
34                 }
35
36                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
37                 static extern IntPtr gst_tag_list_copy(IntPtr raw);
38
39                 public Gst.TagList Copy() {
40                         IntPtr raw_ret = gst_tag_list_copy(Handle);
41                         Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
42                         return ret;
43                 }
44
45                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
46                 static extern void gst_tag_list_foreach(IntPtr raw, GstSharp.TagForeachFuncNative func, IntPtr user_data);
47
48                 public void Foreach(Gst.TagForeachFunc func) {
49                         GstSharp.TagForeachFuncWrapper func_wrapper = new GstSharp.TagForeachFuncWrapper (func);
50                         gst_tag_list_foreach(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
51                 }
52
53                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
54                 static extern bool gst_tag_list_get_boolean(IntPtr raw, IntPtr tag, out bool value);
55
56                 public bool GetBoolean(string tag, out bool value) {
57                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
58                         bool raw_ret = gst_tag_list_get_boolean(Handle, native_tag, out value);
59                         bool ret = raw_ret;
60                         GLib.Marshaller.Free (native_tag);
61                         return ret;
62                 }
63
64                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
65                 static extern bool gst_tag_list_get_boolean_index(IntPtr raw, IntPtr tag, uint index, out bool value);
66
67                 public bool GetBooleanIndex(string tag, uint index, out bool value) {
68                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
69                         bool raw_ret = gst_tag_list_get_boolean_index(Handle, native_tag, index, out value);
70                         bool ret = raw_ret;
71                         GLib.Marshaller.Free (native_tag);
72                         return ret;
73                 }
74
75                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
76                 static extern bool gst_tag_list_get_date(IntPtr raw, IntPtr tag, out IntPtr value);
77
78                 public bool GetDate(string tag, out GLib.Date value) {
79                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
80                         IntPtr native_value;
81                         bool raw_ret = gst_tag_list_get_date(Handle, native_tag, out native_value);
82                         bool ret = raw_ret;
83                         GLib.Marshaller.Free (native_tag);
84                         value = new GLib.Date(native_value);
85                         return ret;
86                 }
87
88                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
89                 static extern bool gst_tag_list_get_date_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
90
91                 public bool GetDateIndex(string tag, uint index, out GLib.Date value) {
92                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
93                         IntPtr native_value;
94                         bool raw_ret = gst_tag_list_get_date_index(Handle, native_tag, index, out native_value);
95                         bool ret = raw_ret;
96                         GLib.Marshaller.Free (native_tag);
97                         value = new GLib.Date(native_value);
98                         return ret;
99                 }
100
101                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
102                 static extern bool gst_tag_list_get_date_time(IntPtr raw, IntPtr tag, out IntPtr value);
103
104                 public bool GetDateTime(string tag, out Gst.DateTime value) {
105                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
106                         IntPtr native_value;
107                         bool raw_ret = gst_tag_list_get_date_time(Handle, native_tag, out native_value);
108                         bool ret = raw_ret;
109                         GLib.Marshaller.Free (native_tag);
110                         value = native_value == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_value, typeof (Gst.DateTime), true);
111                         return ret;
112                 }
113
114                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
115                 static extern bool gst_tag_list_get_date_time_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
116
117                 public bool GetDateTimeIndex(string tag, uint index, out Gst.DateTime value) {
118                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
119                         IntPtr native_value;
120                         bool raw_ret = gst_tag_list_get_date_time_index(Handle, native_tag, index, out native_value);
121                         bool ret = raw_ret;
122                         GLib.Marshaller.Free (native_tag);
123                         value = native_value == IntPtr.Zero ? null : (Gst.DateTime) GLib.Opaque.GetOpaque (native_value, typeof (Gst.DateTime), true);
124                         return ret;
125                 }
126
127                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
128                 static extern bool gst_tag_list_get_double(IntPtr raw, IntPtr tag, out double value);
129
130                 public bool GetDouble(string tag, out double value) {
131                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
132                         bool raw_ret = gst_tag_list_get_double(Handle, native_tag, out value);
133                         bool ret = raw_ret;
134                         GLib.Marshaller.Free (native_tag);
135                         return ret;
136                 }
137
138                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
139                 static extern bool gst_tag_list_get_double_index(IntPtr raw, IntPtr tag, uint index, out double value);
140
141                 public bool GetDoubleIndex(string tag, uint index, out double value) {
142                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
143                         bool raw_ret = gst_tag_list_get_double_index(Handle, native_tag, index, out value);
144                         bool ret = raw_ret;
145                         GLib.Marshaller.Free (native_tag);
146                         return ret;
147                 }
148
149                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
150                 static extern bool gst_tag_list_get_float(IntPtr raw, IntPtr tag, out float value);
151
152                 public bool GetFloat(string tag, out float value) {
153                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
154                         bool raw_ret = gst_tag_list_get_float(Handle, native_tag, out value);
155                         bool ret = raw_ret;
156                         GLib.Marshaller.Free (native_tag);
157                         return ret;
158                 }
159
160                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
161                 static extern bool gst_tag_list_get_float_index(IntPtr raw, IntPtr tag, uint index, out float value);
162
163                 public bool GetFloatIndex(string tag, uint index, out float value) {
164                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
165                         bool raw_ret = gst_tag_list_get_float_index(Handle, native_tag, index, out value);
166                         bool ret = raw_ret;
167                         GLib.Marshaller.Free (native_tag);
168                         return ret;
169                 }
170
171                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
172                 static extern bool gst_tag_list_get_int(IntPtr raw, IntPtr tag, out int value);
173
174                 public bool GetInt(string tag, out int value) {
175                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
176                         bool raw_ret = gst_tag_list_get_int(Handle, native_tag, out value);
177                         bool ret = raw_ret;
178                         GLib.Marshaller.Free (native_tag);
179                         return ret;
180                 }
181
182                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
183                 static extern bool gst_tag_list_get_int64(IntPtr raw, IntPtr tag, out long value);
184
185                 public bool GetInt64(string tag, out long value) {
186                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
187                         bool raw_ret = gst_tag_list_get_int64(Handle, native_tag, out value);
188                         bool ret = raw_ret;
189                         GLib.Marshaller.Free (native_tag);
190                         return ret;
191                 }
192
193                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
194                 static extern bool gst_tag_list_get_int64_index(IntPtr raw, IntPtr tag, uint index, out long value);
195
196                 public bool GetInt64Index(string tag, uint index, out long value) {
197                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
198                         bool raw_ret = gst_tag_list_get_int64_index(Handle, native_tag, index, out value);
199                         bool ret = raw_ret;
200                         GLib.Marshaller.Free (native_tag);
201                         return ret;
202                 }
203
204                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
205                 static extern bool gst_tag_list_get_int_index(IntPtr raw, IntPtr tag, uint index, out int value);
206
207                 public bool GetIntIndex(string tag, uint index, out int value) {
208                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
209                         bool raw_ret = gst_tag_list_get_int_index(Handle, native_tag, index, out value);
210                         bool ret = raw_ret;
211                         GLib.Marshaller.Free (native_tag);
212                         return ret;
213                 }
214
215                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
216                 static extern bool gst_tag_list_get_pointer(IntPtr raw, IntPtr tag, out IntPtr value);
217
218                 public bool GetPointer(string tag, out IntPtr value) {
219                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
220                         bool raw_ret = gst_tag_list_get_pointer(Handle, native_tag, out value);
221                         bool ret = raw_ret;
222                         GLib.Marshaller.Free (native_tag);
223                         return ret;
224                 }
225
226                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
227                 static extern bool gst_tag_list_get_pointer_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
228
229                 public bool GetPointerIndex(string tag, uint index, out IntPtr value) {
230                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
231                         bool raw_ret = gst_tag_list_get_pointer_index(Handle, native_tag, index, out value);
232                         bool ret = raw_ret;
233                         GLib.Marshaller.Free (native_tag);
234                         return ret;
235                 }
236
237                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
238                 static extern bool gst_tag_list_get_sample(IntPtr raw, IntPtr tag, out IntPtr sample);
239
240                 public bool GetSample(string tag, out Gst.Sample sample) {
241                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
242                         IntPtr native_sample;
243                         bool raw_ret = gst_tag_list_get_sample(Handle, native_tag, out native_sample);
244                         bool ret = raw_ret;
245                         GLib.Marshaller.Free (native_tag);
246                         sample = native_sample == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (native_sample, typeof (Gst.Sample), true);
247                         return ret;
248                 }
249
250                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
251                 static extern bool gst_tag_list_get_sample_index(IntPtr raw, IntPtr tag, uint index, out IntPtr sample);
252
253                 public bool GetSampleIndex(string tag, uint index, out Gst.Sample sample) {
254                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
255                         IntPtr native_sample;
256                         bool raw_ret = gst_tag_list_get_sample_index(Handle, native_tag, index, out native_sample);
257                         bool ret = raw_ret;
258                         GLib.Marshaller.Free (native_tag);
259                         sample = native_sample == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (native_sample, typeof (Gst.Sample), true);
260                         return ret;
261                 }
262
263                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
264                 static extern int gst_tag_list_get_scope(IntPtr raw);
265
266                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
267                 static extern void gst_tag_list_set_scope(IntPtr raw, int scope);
268
269                 public Gst.TagScope Scope { 
270                         get {
271                                 int raw_ret = gst_tag_list_get_scope(Handle);
272                                 Gst.TagScope ret = (Gst.TagScope) raw_ret;
273                                 return ret;
274                         }
275                         set {
276                                 gst_tag_list_set_scope(Handle, (int) value);
277                         }
278                 }
279
280                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
281                 static extern bool gst_tag_list_get_string(IntPtr raw, IntPtr tag, out IntPtr value);
282
283                 public bool GetString(string tag, out string value) {
284                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
285                         IntPtr native_value;
286                         bool raw_ret = gst_tag_list_get_string(Handle, native_tag, out native_value);
287                         bool ret = raw_ret;
288                         GLib.Marshaller.Free (native_tag);
289                         value = GLib.Marshaller.PtrToStringGFree(native_value);
290                         return ret;
291                 }
292
293                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
294                 static extern bool gst_tag_list_get_string_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
295
296                 public bool GetStringIndex(string tag, uint index, out string value) {
297                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
298                         IntPtr native_value;
299                         bool raw_ret = gst_tag_list_get_string_index(Handle, native_tag, index, out native_value);
300                         bool ret = raw_ret;
301                         GLib.Marshaller.Free (native_tag);
302                         value = GLib.Marshaller.PtrToStringGFree(native_value);
303                         return ret;
304                 }
305
306                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
307                 static extern uint gst_tag_list_get_tag_size(IntPtr raw, IntPtr tag);
308
309                 public uint GetTagSize(string tag) {
310                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
311                         uint raw_ret = gst_tag_list_get_tag_size(Handle, native_tag);
312                         uint ret = raw_ret;
313                         GLib.Marshaller.Free (native_tag);
314                         return ret;
315                 }
316
317                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
318                 static extern bool gst_tag_list_get_uint(IntPtr raw, IntPtr tag, out uint value);
319
320                 public bool GetUint(string tag, out uint value) {
321                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
322                         bool raw_ret = gst_tag_list_get_uint(Handle, native_tag, out value);
323                         bool ret = raw_ret;
324                         GLib.Marshaller.Free (native_tag);
325                         return ret;
326                 }
327
328                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
329                 static extern bool gst_tag_list_get_uint64(IntPtr raw, IntPtr tag, out ulong value);
330
331                 public bool GetUint64(string tag, out ulong value) {
332                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
333                         bool raw_ret = gst_tag_list_get_uint64(Handle, native_tag, out value);
334                         bool ret = raw_ret;
335                         GLib.Marshaller.Free (native_tag);
336                         return ret;
337                 }
338
339                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
340                 static extern bool gst_tag_list_get_uint64_index(IntPtr raw, IntPtr tag, uint index, out ulong value);
341
342                 public bool GetUint64Index(string tag, uint index, out ulong value) {
343                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
344                         bool raw_ret = gst_tag_list_get_uint64_index(Handle, native_tag, index, out value);
345                         bool ret = raw_ret;
346                         GLib.Marshaller.Free (native_tag);
347                         return ret;
348                 }
349
350                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
351                 static extern bool gst_tag_list_get_uint_index(IntPtr raw, IntPtr tag, uint index, out uint value);
352
353                 public bool GetUintIndex(string tag, uint index, out uint value) {
354                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
355                         bool raw_ret = gst_tag_list_get_uint_index(Handle, native_tag, index, out value);
356                         bool ret = raw_ret;
357                         GLib.Marshaller.Free (native_tag);
358                         return ret;
359                 }
360
361                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
362                 static extern IntPtr gst_tag_list_get_value_index(IntPtr raw, IntPtr tag, uint index);
363
364                 public GLib.Value GetValueIndex(string tag, uint index) {
365                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
366                         IntPtr raw_ret = gst_tag_list_get_value_index(Handle, native_tag, index);
367                         GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
368                         GLib.Marshaller.Free (native_tag);
369                         return ret;
370                 }
371
372                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
373                 static extern void gst_tag_list_insert(IntPtr raw, IntPtr from, int mode);
374
375                 public void Insert(Gst.TagList from, Gst.TagMergeMode mode) {
376                         gst_tag_list_insert(Handle, from == null ? IntPtr.Zero : from.Handle, (int) mode);
377                 }
378
379                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
380                 static extern bool gst_tag_list_is_empty(IntPtr raw);
381
382                 public bool IsEmpty { 
383                         get {
384                                 bool raw_ret = gst_tag_list_is_empty(Handle);
385                                 bool ret = raw_ret;
386                                 return ret;
387                         }
388                 }
389
390                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
391                 static extern bool gst_tag_list_is_equal(IntPtr raw, IntPtr list2);
392
393                 public bool IsEqual(Gst.TagList list2) {
394                         bool raw_ret = gst_tag_list_is_equal(Handle, list2 == null ? IntPtr.Zero : list2.Handle);
395                         bool ret = raw_ret;
396                         return ret;
397                 }
398
399                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
400                 static extern IntPtr gst_tag_list_merge(IntPtr raw, IntPtr list2, int mode);
401
402                 public Gst.TagList Merge(Gst.TagList list2, Gst.TagMergeMode mode) {
403                         IntPtr raw_ret = gst_tag_list_merge(Handle, list2 == null ? IntPtr.Zero : list2.Handle, (int) mode);
404                         Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
405                         return ret;
406                 }
407
408                 public Gst.TagList Merge(Gst.TagMergeMode mode) {
409                         return Merge (null, mode);
410                 }
411
412                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
413                 static extern int gst_tag_list_n_tags(IntPtr raw);
414
415                 public int NTags() {
416                         int raw_ret = gst_tag_list_n_tags(Handle);
417                         int ret = raw_ret;
418                         return ret;
419                 }
420
421                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
422                 static extern IntPtr gst_tag_list_nth_tag_name(IntPtr raw, uint index);
423
424                 public string NthTagName(uint index) {
425                         IntPtr raw_ret = gst_tag_list_nth_tag_name(Handle, index);
426                         string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
427                         return ret;
428                 }
429
430                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
431                 static extern bool gst_tag_list_peek_string_index(IntPtr raw, IntPtr tag, uint index, out IntPtr value);
432
433                 public bool PeekStringIndex(string tag, uint index, out string value) {
434                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
435                         IntPtr native_value;
436                         bool raw_ret = gst_tag_list_peek_string_index(Handle, native_tag, index, out native_value);
437                         bool ret = raw_ret;
438                         GLib.Marshaller.Free (native_tag);
439                         value = GLib.Marshaller.Utf8PtrToString (native_value);
440                         return ret;
441                 }
442
443                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
444                 static extern void gst_tag_list_remove_tag(IntPtr raw, IntPtr tag);
445
446                 public void RemoveTag(string tag) {
447                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
448                         gst_tag_list_remove_tag(Handle, native_tag);
449                         GLib.Marshaller.Free (native_tag);
450                 }
451
452                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
453                 static extern IntPtr gst_tag_list_to_string(IntPtr raw);
454
455                 public override string ToString() {
456                         IntPtr raw_ret = gst_tag_list_to_string(Handle);
457                         string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
458                         return ret;
459                 }
460
461                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
462                 static extern bool gst_tag_list_copy_value(IntPtr dest, IntPtr list, IntPtr tag);
463
464                 public static bool CopyValue(ref GLib.Value dest, Gst.TagList list, string tag) {
465                         IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
466                         IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
467                         bool raw_ret = gst_tag_list_copy_value(native_dest, list == null ? IntPtr.Zero : list.Handle, native_tag);
468                         bool ret = raw_ret;
469                         dest = (GLib.Value) Marshal.PtrToStructure (native_dest, typeof (GLib.Value));
470                         Marshal.FreeHGlobal (native_dest);
471                         GLib.Marshaller.Free (native_tag);
472                         return ret;
473                 }
474
475                 public TagList(IntPtr raw) : base(raw) {}
476
477                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
478                 static extern IntPtr gst_tag_list_new_empty();
479
480                 public TagList () 
481                 {
482                         Raw = gst_tag_list_new_empty();
483                 }
484
485                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
486                 static extern IntPtr gst_tag_list_new_from_string(IntPtr str);
487
488                 public TagList (string str) 
489                 {
490                         IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
491                         Raw = gst_tag_list_new_from_string(native_str);
492                         GLib.Marshaller.Free (native_str);
493                 }
494
495                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
496                 static extern IntPtr gst_tag_list_ref(IntPtr raw);
497
498                 protected override void Ref (IntPtr raw)
499                 {
500                         if (!Owned) {
501                                 gst_tag_list_ref (raw);
502                                 Owned = true;
503                         }
504                 }
505
506                 [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
507                 static extern void gst_tag_list_unref(IntPtr raw);
508
509                 protected override void Unref (IntPtr raw)
510                 {
511                         if (Owned) {
512                                 gst_tag_list_unref (raw);
513                                 Owned = false;
514                         }
515                 }
516
517                 protected override Action<IntPtr> DisposeUnmanagedFunc {
518                         get {
519                                 return gst_tag_list_unref;
520                         }
521                 }
522
523
524                 // Internal representation of the wrapped structure ABI.
525                 static GLib.AbiStruct _abi_info = null;
526                 static public new GLib.AbiStruct abi_info {
527                         get {
528                                 if (_abi_info == null)
529                                         _abi_info = new GLib.AbiStruct (Gst.MiniObject.abi_info.Fields);
530
531                                 return _abi_info;
532                         }
533                 }
534
535
536                 // End of the ABI representation.
537
538 #endregion
539         }
540 }