1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gst.mpegts.ISO639LanguageDescriptor;
26 
27 private import glib.MemorySlice;
28 private import glib.Str;
29 private import gst.mpegts.c.functions;
30 public  import gst.mpegts.c.types;
31 private import gtkd.Loader;
32 
33 
34 /** */
35 public final class ISO639LanguageDescriptor
36 {
37 	/** the main Gtk struct */
38 	protected GstMpegtsISO639LanguageDescriptor* gstMpegtsISO639LanguageDescriptor;
39 	protected bool ownedRef;
40 
41 	/** Get the main Gtk struct */
42 	public GstMpegtsISO639LanguageDescriptor* getISO639LanguageDescriptorStruct(bool transferOwnership = false)
43 	{
44 		if (transferOwnership)
45 			ownedRef = false;
46 		return gstMpegtsISO639LanguageDescriptor;
47 	}
48 
49 	/** the main Gtk struct as a void* */
50 	protected void* getStruct()
51 	{
52 		return cast(void*)gstMpegtsISO639LanguageDescriptor;
53 	}
54 
55 	/**
56 	 * Sets our main struct and passes it to the parent class.
57 	 */
58 	public this (GstMpegtsISO639LanguageDescriptor* gstMpegtsISO639LanguageDescriptor, bool ownedRef = false)
59 	{
60 		this.gstMpegtsISO639LanguageDescriptor = gstMpegtsISO639LanguageDescriptor;
61 		this.ownedRef = ownedRef;
62 	}
63 
64 	~this ()
65 	{
66 		if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef )
67 			sliceFree(gstMpegtsISO639LanguageDescriptor);
68 	}
69 
70 
71 	/** */
72 	public @property uint nbLanguage()
73 	{
74 		return gstMpegtsISO639LanguageDescriptor.nbLanguage;
75 	}
76 
77 	/** Ditto */
78 	public @property void nbLanguage(uint value)
79 	{
80 		gstMpegtsISO639LanguageDescriptor.nbLanguage = value;
81 	}
82 
83 	/** */
84 	public @property string[64] language()
85 	{
86 		string[64] arr;
87 		foreach( i, str; gstMpegtsISO639LanguageDescriptor.language )
88 		{
89 			arr[i] = Str.toString(str);
90 		}
91 		return arr;
92 	}
93 
94 	/** Ditto */
95 	public @property void language(string[64] value)
96 	{
97 		char*[64] arr;
98 		foreach( i, str; value )
99 		{
100 			arr[i] = Str.toStringz(str);
101 		}
102 		gstMpegtsISO639LanguageDescriptor.language = arr;
103 	}
104 
105 	/** */
106 	public @property GstMpegtsIso639AudioType[64] audioType()
107 	{
108 		return gstMpegtsISO639LanguageDescriptor.audioType;
109 	}
110 
111 	/** Ditto */
112 	public @property void audioType(GstMpegtsIso639AudioType[64] value)
113 	{
114 		gstMpegtsISO639LanguageDescriptor.audioType = value;
115 	}
116 
117 	/** */
118 	public static GType getType()
119 	{
120 		return gst_mpegts_iso_639_language_get_type();
121 	}
122 
123 	/** */
124 	public void descriptorFree()
125 	{
126 		gst_mpegts_iso_639_language_descriptor_free(gstMpegtsISO639LanguageDescriptor);
127 	}
128 }