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.PMTStream; 26 27 private import glib.ConstructionException; 28 private import glib.MemorySlice; 29 private import glib.PtrArray; 30 private import gobject.ObjectG; 31 private import gst.mpegts.c.functions; 32 public import gst.mpegts.c.types; 33 private import gtkd.Loader; 34 35 36 /** 37 * An individual stream definition. 38 */ 39 public final class PMTStream 40 { 41 /** the main Gtk struct */ 42 protected GstMpegtsPMTStream* gstMpegtsPMTStream; 43 protected bool ownedRef; 44 45 /** Get the main Gtk struct */ 46 public GstMpegtsPMTStream* getPMTStreamStruct(bool transferOwnership = false) 47 { 48 if (transferOwnership) 49 ownedRef = false; 50 return gstMpegtsPMTStream; 51 } 52 53 /** the main Gtk struct as a void* */ 54 protected void* getStruct() 55 { 56 return cast(void*)gstMpegtsPMTStream; 57 } 58 59 /** 60 * Sets our main struct and passes it to the parent class. 61 */ 62 public this (GstMpegtsPMTStream* gstMpegtsPMTStream, bool ownedRef = false) 63 { 64 this.gstMpegtsPMTStream = gstMpegtsPMTStream; 65 this.ownedRef = ownedRef; 66 } 67 68 ~this () 69 { 70 if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) 71 sliceFree(gstMpegtsPMTStream); 72 } 73 74 75 /** 76 * the type of stream. See #GstMpegtsStreamType 77 */ 78 public @property ubyte streamType() 79 { 80 return gstMpegtsPMTStream.streamType; 81 } 82 83 /** Ditto */ 84 public @property void streamType(ubyte value) 85 { 86 gstMpegtsPMTStream.streamType = value; 87 } 88 89 /** 90 * the PID of the stream 91 */ 92 public @property ushort pid() 93 { 94 return gstMpegtsPMTStream.pid; 95 } 96 97 /** Ditto */ 98 public @property void pid(ushort value) 99 { 100 gstMpegtsPMTStream.pid = value; 101 } 102 103 /** 104 * the descriptors of the 105 * stream 106 */ 107 public @property PtrArray descriptors() 108 { 109 return new PtrArray(gstMpegtsPMTStream.descriptors, false); 110 } 111 112 /** Ditto */ 113 public @property void descriptors(PtrArray value) 114 { 115 gstMpegtsPMTStream.descriptors = value.getPtrArrayStruct(); 116 } 117 118 /** */ 119 public static GType getType() 120 { 121 return gst_mpegts_pmt_stream_get_type(); 122 } 123 124 /** 125 * Allocates and initializes a new #GstMpegtsPMTStream. 126 * 127 * Returns: #GstMpegtsPMTStream 128 * 129 * Throws: ConstructionException GTK+ fails to create the object. 130 */ 131 public this() 132 { 133 auto p = gst_mpegts_pmt_stream_new(); 134 135 if(p is null) 136 { 137 throw new ConstructionException("null returned by new"); 138 } 139 140 this(cast(GstMpegtsPMTStream*) p); 141 } 142 }