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 gstreamer.DeviceProviderClass; 26 27 private import glib.Str; 28 private import gstreamerc.gstreamer; 29 public import gstreamerc.gstreamertypes; 30 31 32 /** 33 * The structure of the base #GstDeviceProviderClass 34 * 35 * Since: 1.4 36 */ 37 public class DeviceProviderClass 38 { 39 /** the main Gtk struct */ 40 protected GstDeviceProviderClass* gstDeviceProviderClass; 41 42 /** Get the main Gtk struct */ 43 public GstDeviceProviderClass* getDeviceProviderClassStruct() 44 { 45 return gstDeviceProviderClass; 46 } 47 48 /** the main Gtk struct as a void* */ 49 protected void* getStruct() 50 { 51 return cast(void*)gstDeviceProviderClass; 52 } 53 54 /** 55 * Sets our main struct and passes it to the parent class. 56 */ 57 public this (GstDeviceProviderClass* gstDeviceProviderClass) 58 { 59 this.gstDeviceProviderClass = gstDeviceProviderClass; 60 } 61 62 63 /** 64 * Set @key with @value as metadata in @klass. 65 * 66 * Params: 67 * key = the key to set 68 * value = the value to set 69 * 70 * Since: 1.4 71 */ 72 public void addMetadata(string key, string value) 73 { 74 gst_device_provider_class_add_metadata(gstDeviceProviderClass, Str.toStringz(key), Str.toStringz(value)); 75 } 76 77 /** 78 * Set @key with @value as metadata in @klass. 79 * 80 * Same as gst_device_provider_class_add_metadata(), but @value must be a static string 81 * or an inlined string, as it will not be copied. (GStreamer plugins will 82 * be made resident once loaded, so this function can be used even from 83 * dynamically loaded plugins.) 84 * 85 * Params: 86 * key = the key to set 87 * value = the value to set 88 * 89 * Since: 1.4 90 */ 91 public void addStaticMetadata(string key, string value) 92 { 93 gst_device_provider_class_add_static_metadata(gstDeviceProviderClass, Str.toStringz(key), Str.toStringz(value)); 94 } 95 96 /** 97 * Get metadata with @key in @klass. 98 * 99 * Params: 100 * key = the key to get 101 * 102 * Return: the metadata for @key. 103 * 104 * Since: 1.4 105 */ 106 public string getMetadata(string key) 107 { 108 return Str.toString(gst_device_provider_class_get_metadata(gstDeviceProviderClass, Str.toStringz(key))); 109 } 110 111 /** 112 * Sets the detailed information for a #GstDeviceProviderClass. 113 * <note>This function is for use in _class_init functions only.</note> 114 * 115 * Params: 116 * longname = The long English name of the device provider. E.g. "File Sink" 117 * classification = String describing the type of device provider, as an 118 * unordered list separated with slashes ('/'). See draft-klass.txt of the 119 * design docs 120 * for more details and common types. E.g: "Sink/File" 121 * description = Sentence describing the purpose of the device provider. 122 * E.g: "Write stream to a file" 123 * author = Name and contact details of the author(s). Use \n to separate 124 * multiple author metadata. E.g: "Joe Bloggs <joe.blogs at foo.com>" 125 * 126 * Since: 1.4 127 */ 128 public void setMetadata(string longname, string classification, string description, string author) 129 { 130 gst_device_provider_class_set_metadata(gstDeviceProviderClass, Str.toStringz(longname), Str.toStringz(classification), Str.toStringz(description), Str.toStringz(author)); 131 } 132 133 /** 134 * Sets the detailed information for a #GstDeviceProviderClass. 135 * <note>This function is for use in _class_init functions only.</note> 136 * 137 * Same as gst_device_provider_class_set_metadata(), but @longname, @classification, 138 * @description, and @author must be static strings or inlined strings, as 139 * they will not be copied. (GStreamer plugins will be made resident once 140 * loaded, so this function can be used even from dynamically loaded plugins.) 141 * 142 * Params: 143 * longname = The long English name of the element. E.g. "File Sink" 144 * classification = String describing the type of element, as 145 * an unordered list separated with slashes ('/'). See draft-klass.txt of the 146 * design docs for more details and common types. E.g: "Sink/File" 147 * description = Sentence describing the purpose of the 148 * element. E.g: "Write stream to a file" 149 * author = Name and contact details of the author(s). Use \n 150 * to separate multiple author metadata. E.g: "Joe Bloggs <joe.blogs at 151 * foo.com>" 152 * 153 * Since: 1.4 154 */ 155 public void setStaticMetadata(string longname, string classification, string description, string author) 156 { 157 gst_device_provider_class_set_static_metadata(gstDeviceProviderClass, Str.toStringz(longname), Str.toStringz(classification), Str.toStringz(description), Str.toStringz(author)); 158 } 159 }