gstreamer/sources/gstreamer-sharp.metadata
2013-12-21 16:52:20 +01:00

111 lines
9 KiB
XML

<?xml version="1.0"?>
<!--
Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<metadata>
<attr path="/api/namespace" name="library">libgstreamer-1.0-0.dll</attr>
<!-- Conflicts with structs -->
<attr path="/api/namespace/callback[@cname='GstMessageFunc']" name="name">MessageFunc</attr>
<attr path="/api/namespace/callback[@cname='GstQueryFunc']" name="name">QueryFunc</attr>
<!-- No Conversion for GLib.Value -->
<attr path="/api/namespace/object[@cname='GstPad']/property[@name='Caps']" name="type">gpointer</attr>
<!-- Error with array -->
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_formats_contains']" name="hidden">true</attr>
<!-- MiniObject issues -->
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='copy']" name="type">gpointer</attr>
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='free']" name="type">gpointer</attr>
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='dispose']" name="type">gpointer</attr>
<attr path="/api/namespace/struct[@cname='GstMessage']/field[@cname='cond']" name="type">GCond*</attr>
<!-- structs and objects that should be opaque -->
<attr path="/api/namespace/boxed[@cname='GstDateTime']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@cname='GstBufferList']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@cname='GstSample']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@cname='GstAtomicQueue']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@cname='GstParseContext']" name="opaque">true</attr>
<attr path="/api/namespace/interface[@cname='GstTagSetter']" name="opaque">true</attr>
<attr path="/api/namespace/interface[@cname='GstTocSetter']" name="opaque">true</attr>
<attr path="/api/namespace/interface[@cname='GstChildProxy']" name="opaque">true</attr>
<attr path="/api/namespace/interface[@cname='GstPreset']" name="opaque">true</attr>
<attr path="/api/namespace/interface[@cname='GstURIHandler']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstElementFactory']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstTypeFindFactory']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstPluginFeature']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstPlugin']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstBus']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstRegistry']" name="opaque">true</attr>
<!-- add native attribute to all structs which need special handling -->
<change-node-type path="/api/namespace//boxed[field/@cname='mini_object']">struct</change-node-type>
<attr path="/api/namespace//struct[field/@cname='mini_object']" name="native">true</attr>
<change-node-type path="/api/namespace//boxed[@cname='GstStructure']">struct</change-node-type>
<attr path="/api/namespace/struct[@cname='GstStructure']" name="native">true</attr>
<remove-node path="/api/namespace/boxed[@cname='GstStructure']/field[@cname='name']" />
<!-- Maybe some problems with the name -->
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/class_struct/method[@vm='get_type']" name="vm" />
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/virtual_method[@cname='get_type']" name="hidden" />
<!-- gapi cannot handle count parameters properly -->
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_init']/parameters/parameter[@name='argc']" name="name">n_argc</attr>
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_init_check']/parameters/parameter[@name='argc']" name="name">n_argc</attr>
<!-- calling oldobj.Handle should fix this -->
<remove-attr path="/api/namespace/object[@cname='GstObject']/method[@cname='gst_object_replace']/parameters/parameter[@name='oldobj']" name="pass_as" />
<!-- Some glue problems -->
<attr path="/api/namespace/object[@cname='GstObject']/field[@cname='object']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstObject']/field[@cname='lock']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstClockEntry']/field[@cname='func']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstClockEntry']/field[@cname='destroy_data']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstTask']/field[@cname='notify']" name="hidden">true</attr>
<!-- Element is not abstract but should not be instantiable from managed -->
<remove-attr path="/api/namespace/object[@cname='GstElement']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstElement']" name="defaultconstructoraccess" >protected</attr>
<!-- Add miniobject methods to all miniobject types -->
<copy-node path="/api/namespace/struct[@cname='GstMiniObject']//method">/api/namespace//boxed[field/@cname='mini_object']</copy-node>
<attr path="/api/namespace/struct[@cname='GstMiniObject']//method" name="hidden">true</attr>
<!-- API improvements -->
<add-node path="/api/namespace[@name='Gst']"><class name="Parse" cname="GstParse" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_parse')]">/api/namespace/class[@name='Parse']</move-node>
<remove-node path="/api/namespace/object[@name='Global']//method[@cname = 'gst_caps_from_string']" />
<move-node path="/api/namespace/object[@name='Global']//method[contains(@cname, 'caps')]">/api/namespace/struct[@cname='GstCaps']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Debug" cname="GstDebug" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_debug')]">/api/namespace/class[@cname='GstDebug']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Application" cname="GstApplication" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[contains(@cname, 'init') or starts-with(@cname, 'gst_version')]">/api/namespace/class[@cname='GstApplication']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Value" cname="GstValue" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_value')]">/api/namespace/class[@cname='GstValue']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Tag" cname="GstTag" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_tag')]">/api/namespace/class[@cname='GstTag']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Util" cname="GstUtil" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_format') or starts-with(@cname, 'gst_uri') or starts-with(@cname, 'gst_util') or @cname='gst_filename_to_uri']">/api/namespace/class[@cname='GstUtil']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[contains(@cname, 'registry')]">/api/namespace/object[@cname='GstRegistry']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_poll')]">/api/namespace/struct[@cname='GstPoll']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_message')]">/api/namespace/struct[@cname='GstMessage']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_event')]">/api/namespace/struct[@cname='GstEvent']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_query')]">/api/namespace/struct[@cname='GstQuery']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_pad')]">/api/namespace/object[@cname='GstPad']</move-node>
<attr path="/api/namespace/object[@name='Global']" name ="hidden">true</attr>
<!-- Things implemented on our own -->
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_parse_error']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_get_stream_status_object']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_set_stream_status_object']" name="hidden">true</attr>
</metadata>