Fix gapi2xml.pl to accept nested namespaces

The perl script should accept nested namespaces, like N1.N2, for outputting
xml.  Making a Global class for static methods didn't work for functions like
n1_n2_function.  Another change is that N1 is stripped from the cname for the
element name.

Partially fixes bug #584744.
This commit is contained in:
Maarten Bosmans 2009-06-05 21:09:40 +02:00 committed by Sebastian Dröge
parent 8fc8aa8806
commit 20b3829c0a
3 changed files with 60 additions and 100 deletions

View file

@ -979,16 +979,13 @@
<attr path="/api/namespace/class[@name='Value']" name="hidden">1</attr>
<!-- GStreamer Base library -->
<attr path="/api/namespace/enum[@cname='GstBaseSrcFlags']" name="name">BaseSrcFlags</attr>
<attr path="/api/namespace/enum[@cname='GstBaseSrcFlags']/member[@cname='GST_BASE_SRC_STARTED']" name="value">Gst.ElementFlags.Last &lt;&lt; 0</attr>
<attr path="/api/namespace/enum[@cname='GstBaseSrcFlags']/member[@cname='GST_BASE_SRC_FLAG_LAST']" name="value">Gst.ElementFlags.Last &lt;&lt; 2</attr>
<attr path="/api/namespace/enum[@cname='GstBaseSrcFlags']/member[@cname='GST_BASE_SRC_FLAG_LAST']" name="name">Last</attr>
<attr path="/api/namespace/callback[@cname='GstTypeFindHelperGetRangeFunction']" name="name">TypeFindHelperGetRangeFunction</attr>
<attr path="/api/namespace/callback[@cname='GstTypeFindHelperGetRangeFunction']/parameters/parameter[@name='buffer']" name="pass_as">out</attr>
<attr path="/api/namespace/callback[@cname='GstTypeFindHelperGetRangeFunction']/parameters/parameter[@name='buffer']" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstAdapter']" name="name">Adapter</attr>
<attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_push']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_peek']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_copy']" name="hidden">1</attr>
@ -996,24 +993,20 @@
<attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_take_buffer']" name="name">Take</attr>
<attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_take_buffer']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstBaseSink']" name="name">BaseSink</attr>
<attr path="/api/namespace/object[@cname='GstBaseSink']/virtual_method[@cname='get_caps']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstBaseSink']/virtual_method[@cname='buffer_alloc']/parameters/parameter[@name='buf']" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstBaseSink']/virtual_method[@cname='buffer_alloc']/parameters/parameter[@name='buf']" name="pass_as">out</attr>
<attr path="/api/namespace/object[@cname='GstBaseSink']/virtual_method[@cname='get_times']/parameters/parameter[@name='start']" name="pass_as">out</attr>
<attr path="/api/namespace/object[@cname='GstBaseSink']/virtual_method[@cname='get_times']/parameters/parameter[@name='end']" name="pass_as">out</attr>
<attr path="/api/namespace/object[@cname='GstBaseSrc']" name="name">BaseSrc</attr>
<attr path="/api/namespace/object[@cname='GstBaseSrc']/virtual_method[@cname='get_caps']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstBaseSrc']/virtual_method[@cname='create']/parameters/parameter[@name='buf']" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstBaseSrc']/virtual_method[@cname='create']/parameters/parameter[@name='buf']" name="pass_as">out</attr>
<attr path="/api/namespace/object[@cname='GstBaseTransform']" name="name">BaseTransform</attr>
<attr path="/api/namespace/object[@cname='GstBaseTransform']/virtual_method[@cname='transform_caps']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstBaseTransform']/virtual_method[@cname='prepare_output_buffer']/parameters/parameter[@name='buf']" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstBaseTransform']/virtual_method[@cname='prepare_output_buffer']/parameters/parameter[@name='buf']" name="pass_as">out</attr>
<attr path="/api/namespace/object[@cname='GstPushSrc']" name="name">PushSrc</attr>
<attr path="/api/namespace/object[@cname='GstPushSrc']/virtual_method[@cname='create']/parameters/parameter[@name='buf']" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstPushSrc']/virtual_method[@cname='create']/parameters/parameter[@name='buf']" name="pass_as">out</attr>
@ -1055,13 +1048,10 @@
</add-node>
<!-- GStreamer Controller library -->
<attr path="/api/namespace/enum[@cname='GstInterpolateMode']" name="name">InterpolateMode</attr>
<attr path="/api/namespace/enum[@cname='GstLFOWaveform']" name="name">LFOWaveform</attr>
<attr path="/api/namespace/callback[@cname='GstControlSourceBind']" name="hidden">1</attr>
<attr path="/api/namespace/callback[@cname='GstControlSourceGetValue']" name="hidden">1</attr>
<attr path="/api/namespace/callback[@cname='GstControlSourceGetValueArray']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstController']" name="name">Controller</attr>
<attr path="/api/namespace/object[@cname='GstController']/property" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstController']/method[@cname='gst_controller_get_all']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstController']/method[@cname='gst_controller_get_control_source']/return-type" name="owned">true</attr>
@ -1080,7 +1070,6 @@
<attr path="/api/namespace/object[@cname='GstController']/method[@cname='gst_controller_unset']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstController']/method[@cname='gst_controller_unset_all']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstControlSource']" name="name">ControlSource</attr>
<remove-node path="/api/namespace/object[@cname='GstControlSource']/class_struct" />
<add-node path="/api/namespace/object[@cname='GstControlSource']">
<class_struct cname="GstControlSourceClass">
@ -1098,35 +1087,23 @@
</add-node>
<attr path="/api/namespace/object[@cname='GstControlSource']/method[@cname='gst_control_source_get_value']/parameters/parameter[@name='value']" name="pass_as">ref</attr>
<attr path="/api/namespace/object[@cname='GstInterpolationControlSource']" name="name">InterpolationControlSource</attr>
<attr path="/api/namespace/object[@cname='GstInterpolationControlSource']/method[@cname='gst_interpolation_control_source_set']/parameters/parameter[@name='value']" name="pass_as">ref</attr>
<attr path="/api/namespace/object[@cname='GstInterpolationControlSource']/method[@cname='gst_interpolation_control_source_set_from_list']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstInterpolationControlSource']/method[@cname='gst_interpolation_control_source_get_all']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstLFOControlSource']" name="name">LFOControlSource</attr>
<attr path="/api/namespace/struct[@cname='GstTimedValue']" name="hidden">1</attr>
<attr path="/api/namespace/struct[@cname='GstValueArray']" name="hidden">1</attr>
<!-- GStreamer Cdda library -->
<attr path="/api/namespace/enum[@cname='GstCddaBaseSrcMode']" name="name">CddaBaseSrcMode</attr>
<attr path="/api/namespace/object[@cname='GstCddaBaseSrc']" name="name">CddaBaseSrc</attr>
<attr path="/api/namespace/object[@cname='GstCddaBaseSrc']/virtual_method[@cname='probe_devices']/return-type" name="null_term_array">true</attr>
<attr path="/api/namespace/object[@cname='GstCddaBaseSrc']/virtual_method[@cname='read_sector']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='GstCddaBaseSrc']/field[@cname='tags']" name="access">protected</attr>
<attr path="/api/namespace/object[@cname='GstCddaBaseSrc']/field[@cname='tags']" name="writeable">true</attr>
<attr path="/api/namespace/struct[@cname='GstCddaBaseSrcTrack']" name="name">CddaBaseSrcTrack</attr>
<attr path="/api/namespace/struct[@cname='GstCddaBaseSrcTrack']/field[@cname='_gst_reserved1']" name="array_len">4</attr>
<remove-node path="/api/namespace/struct[@cname='GstCddaBaseSrcTrack']/field[@cname='_gst_reserved2']" />
<!-- GStreamer Interfaces library -->
<attr path="/api/namespace/enum[@cname='GstColorBalanceType']" name="name">ColorBalanceType</attr>
<attr path="/api/namespace/enum[@cname='GstMixerFlags']" name="name">MixerFlags</attr>
<attr path="/api/namespace/enum[@cname='GstMixerMessageType']" name="name">MixerMessageType</attr>
<attr path="/api/namespace/enum[@cname='GstMixerTrackFlags']" name="name">MixerTrackFlags</attr>
<attr path="/api/namespace/enum[@cname='GstMixerType']" name="name">MixerType</attr>
<attr path="/api/namespace/enum[@cname='GstNavigationCommand']" name="name">NavigationCommand</attr>
<add-node path="/api/namespace/enum[@cname='GstNavigationCommand']">
<member cname="GST_NAVIGATION_COMMAND_MENU1" name="DvdMenu" value="1" />
@ -1138,41 +1115,25 @@
<member cname="GST_NAVIGATION_COMMAND_MENU7" name="DvdChapterMenu" value="7" />
</add-node>
<attr path="/api/namespace/enum[@cname='GstNavigationEventType']" name="name">NavigationEventType</attr>
<attr path="/api/namespace/enum[@cname='GstNavigationMessageType']" name="name">NavigationMessageType</attr>
<attr path="/api/namespace/enum[@cname='GstNavigationQueryType']" name="name">NavigationQueryType</attr>
<attr path="/api/namespace/enum[@cname='GstTunerChannelFlags']" name="name">TunerChannelFlags</attr>
<attr path="/api/namespace/interface[@cname='GstColorBalance']" name="name">ColorBalance</attr>
<attr path="/api/namespace/interface[@cname='GstColorBalance']/virtual_method[@cname='list_channels']/return-type" name="element_type">GstColorBalanceChannel</attr>
<attr path="/api/namespace/interface[@cname='GstColorBalance']/method[@cname='gst_color_balance_list_channels']/return-type" name="element_type">GstColorBalanceChannel</attr>
<attr path="/api/namespace/interface[@cname='GstColorBalance']/method[@cname='gst_color_balance_value_changed']" name="name">EmitValueChanged</attr>
<attr path="/api/namespace/object[@cname='GstColorBalanceChannel']" name="name">ColorBalanceChannel</attr>
<attr path="/api/namespace/interface[@cname='GstMixer']" name="name">Mixer</attr>
<attr path="/api/namespace/interface[@cname='GstMixer']/signal" name="hidden">1</attr>
<attr path="/api/namespace/interface[@cname='GstMixer']/method[@cname='gst_mixer_list_tracks']/return-type" name="element_type">GstMixerTrack</attr>
<attr path="/api/namespace/interface[@cname='GstMixer']/virtual_method[@cname='list_tracks']/return-type" name="element_type">GstMixerTrack</attr>
<remove-attr path="/api/namespace/interface[@cname='GstMixer']/method[@cname='gst_mixer_options_list_changed']" name="shared" />
<remove-node path="/api/namespace/interface[@cname='GstMixer']/method[@cname='gst_mixer_options_list_changed']/parameters/parameter[@name='mixer']" />
<attr path="/api/namespace/enum[@cname='GstMixerType']" name="name">MixerType</attr>
<attr path="/api/namespace/enum[@cname='GstMixerFlags']" name="name">MixerFlags</attr>
<attr path="/api/namespace/enum[@cname='GstMixerMessageType']" name="name">MixerMessageType</attr>
<attr path="/api/namespace/object[@cname='GstMixerTrack']" name="name">MixerTrack</attr>
<attr path="/api/namespace/object[@cname='GstMixerTrack']/signal" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstMixerOptions']" name="name">MixerOptions</attr>
<attr path="/api/namespace/object[@cname='GstMixerOptions']/field[@name='Values']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstMixerOptions']/signal" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GstMixerOptions']/method[@cname='gst_mixer_options_get_values']/return-type" name="element_type">gchar*</attr>
<attr path="/api/namespace/object[@cname='GstMixerOptions']/virtual_method[@cname='get_values']/return-type" name="element_type">gchar*</attr>
<move-node path="/api/namespace/object[@cname='GstMixerOptions']/method[@cname='gst_mixer_options_list_changed']">/api/namespace/interface[@cname='GstMixer']</move-node>
<attr path="/api/namespace/interface[@cname='GstNavigation']" name="name">Navigation</attr>
<attr path="/api/namespace/interface[@cname='GstNavigation']/virtual_method[@cname='send_event']/parameters/parameter" name="owned">true</attr>
<attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_message_get_type']" name="hidden">1</attr>
<attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_message_new_angles_changed']" name="hidden">1</attr>
@ -1196,9 +1157,6 @@
<attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_event_parse_command']" name="hidden">1</attr>
<attr path="/api/namespace/interface[@cname='GstPropertyProbe']" name="name">PropertyProbe</attr>
<attr path="/api/namespace/interface[@cname='GstTuner']" name="name">Tuner</attr>
<remove-node path="/api/namespace/interface[@cname='GstTuner']/method[@cname='gst_tuner_norm_changed']/parameters/parameter[@name='tuner']" />
<remove-attr path="/api/namespace/interface[@cname='GstTuner']/method[@cname='gst_tuner_norm_changed']" name="shared" />
<remove-node path="/api/namespace/interface[@cname='GstTuner']/method[@cname='gst_tuner_channel_changed']/parameters/parameter[@name='tuner']" />
@ -1212,14 +1170,11 @@
<attr path="/api/namespace/interface[@cname='GstTuner']/method[@cname='gst_tuner_frequency_changed']" name="name">EmitFrequencyChanged</attr>
<attr path="/api/namespace/interface[@cname='GstTuner']/method[@cname='gst_tuner_signal_changed']" name="name">EmitSignalChanged</attr>
<attr path="/api/namespace/object[@cname='GstTunerChannel']" name="name">TunerChannel</attr>
<move-node path="/api/namespace/object[@cname='GstTunerChannel']/method[@cname='gst_tuner_channel_changed']">/api/namespace/interface[@cname='GstTuner']</move-node>
<attr path="/api/namespace/object[@cname='GstTunerNorm']" name="name">TunerNorm</attr>
<attr path="/api/namespace/object[@cname='GstTunerNorm']/field[@name='Framerate']" name="hidden">1</attr>
<move-node path="/api/namespace/object[@cname='GstTunerNorm']/method[@cname='gst_tuner_norm_changed']">/api/namespace/interface[@cname='GstTuner']</move-node>
<attr path="/api/namespace/interface[@cname='GstVideoOrientation']" name="name">VideoOrientation</attr>
<attr path="/api/namespace/interface[@cname='GstVideoOrientation']/virtual_method[@cname='get_hflip']/parameters/parameter[@name='flip']" name="pass_as">out</attr>
<attr path="/api/namespace/interface[@cname='GstVideoOrientation']/virtual_method[@cname='get_vflip']/parameters/parameter[@name='flip']" name="pass_as">out</attr>
<attr path="/api/namespace/interface[@cname='GstVideoOrientation']/virtual_method[@cname='get_hcenter']/parameters/parameter[@name='center']" name="pass_as">out</attr>

View file

@ -6175,11 +6175,11 @@
</class>
</namespace>
<namespace name="Gst.Base" library="libgstbase-0.10.dll">
<enum name="GstBaseSrcFlags" cname="GstBaseSrcFlags" type="flags">
<enum name="BaseSrcFlags" cname="GstBaseSrcFlags" type="flags">
<member cname="GST_BASE_SRC_STARTED" name="Started" value="GST_ELEMENT_FLAG_LAST &lt;&lt; 0" />
<member cname="GST_BASE_SRC_FLAG_LAST" name="FlagLast" value="GST_ELEMENT_FLAG_LAST &lt;&lt; 2" />
</enum>
<callback name="GstTypeFindHelperGetRangeFunction" cname="GstTypeFindHelperGetRangeFunction">
<callback name="TypeFindHelperGetRangeFunction" cname="GstTypeFindHelperGetRangeFunction">
<return-type type="GstFlowReturn" />
<parameters>
<parameter type="GstObject*" name="obj" />
@ -6188,7 +6188,7 @@
<parameter type="GstBuffer**" name="buffer" />
</parameters>
</callback>
<object name="GstAdapter" cname="GstAdapter" parent="GObject">
<object name="Adapter" cname="GstAdapter" parent="GObject">
<class_struct cname="GstAdapterClass">
<field name="ParentClass" cname="parent_class" type="GObjectClass" />
<field name="GstReserved" cname="_gst_reserved" type="gpointer" array_len="GST_PADDING" />
@ -6253,7 +6253,7 @@
</parameters>
</method>
</object>
<object name="GstBaseSink" cname="GstBaseSink" parent="GstElement">
<object name="BaseSink" cname="GstBaseSink" parent="GstElement">
<class_struct cname="GstBaseSinkClass">
<field name="ParentClass" cname="parent_class" type="GstElementClass" />
<method vm="get_caps" />
@ -6486,7 +6486,7 @@
<return-type type="GstFlowReturn" />
</method>
</object>
<object name="GstBaseSrc" cname="GstBaseSrc" parent="GstElement">
<object name="BaseSrc" cname="GstBaseSrc" parent="GstElement">
<class_struct cname="GstBaseSrcClass">
<field name="ParentClass" cname="parent_class" type="GstElementClass" />
<method vm="get_caps" />
@ -6676,7 +6676,7 @@
<return-type type="GstFlowReturn" />
</method>
</object>
<object name="GstBaseTransform" cname="GstBaseTransform" parent="GstElement">
<object name="BaseTransform" cname="GstBaseTransform" parent="GstElement">
<class_struct cname="GstBaseTransformClass">
<field name="ParentClass" cname="parent_class" type="GstElementClass" />
<method vm="transform_caps" />
@ -6855,7 +6855,7 @@
</parameters>
</method>
</object>
<object name="GstPushSrc" cname="GstPushSrc" parent="GstBaseSrc">
<object name="PushSrc" cname="GstPushSrc" parent="GstBaseSrc">
<class_struct cname="GstPushSrcClass">
<field name="ParentClass" cname="parent_class" type="GstBaseSrcClass" />
<method vm="create" />
@ -6874,7 +6874,7 @@
</object>
</namespace>
<namespace name="Gst.Controller" library="libgstcontroller-0.10.dll">
<enum name="GstInterpolateMode" cname="GstInterpolateMode" type="enum">
<enum name="InterpolateMode" cname="GstInterpolateMode" type="enum">
<member cname="GST_INTERPOLATE_NONE" name="None" />
<member cname="GST_INTERPOLATE_TRIGGER" name="Trigger" />
<member cname="GST_INTERPOLATE_LINEAR" name="Linear" />
@ -6882,21 +6882,21 @@
<member cname="GST_INTERPOLATE_CUBIC" name="Cubic" />
<member cname="GST_INTERPOLATE_USER" name="User" />
</enum>
<enum name="GstLFOWaveform" cname="GstLFOWaveform" type="enum">
<enum name="LFOWaveform" cname="GstLFOWaveform" type="enum">
<member cname="GST_LFO_WAVEFORM_SINE" name="Sine" />
<member cname="GST_LFO_WAVEFORM_SQUARE" name="Square" />
<member cname="GST_LFO_WAVEFORM_SAW" name="Saw" />
<member cname="GST_LFO_WAVEFORM_REVERSE_SAW" name="ReverseSaw" />
<member cname="GST_LFO_WAVEFORM_TRIANGLE" name="Triangle" />
</enum>
<callback name="GstControlSourceBind" cname="GstControlSourceBind">
<callback name="ControlSourceBind" cname="GstControlSourceBind">
<return-type type="gboolean" />
<parameters>
<parameter type="GstControlSource*" name="self" />
<parameter type="GParamSpec*" name="pspec" />
</parameters>
</callback>
<callback name="GstControlSourceGetValue" cname="GstControlSourceGetValue">
<callback name="ControlSourceGetValue" cname="GstControlSourceGetValue">
<return-type type="gboolean" />
<parameters>
<parameter type="GstControlSource*" name="self" />
@ -6904,7 +6904,7 @@
<parameter type="GValue*" name="value" />
</parameters>
</callback>
<callback name="GstControlSourceGetValueArray" cname="GstControlSourceGetValueArray">
<callback name="ControlSourceGetValueArray" cname="GstControlSourceGetValueArray">
<return-type type="gboolean" />
<parameters>
<parameter type="GstControlSource*" name="self" />
@ -6912,7 +6912,7 @@
<parameter type="GstValueArray*" name="value_array" />
</parameters>
</callback>
<object name="GstController" cname="GstController" parent="GObject">
<object name="Controller" cname="GstController" parent="GObject">
<class_struct cname="GstControllerClass">
<field name="ParentClass" cname="parent_class" type="GObjectClass" />
<field name="GstReserved" cname="_gst_reserved" type="gpointer" array_len="GST_PADDING" />
@ -7067,7 +7067,7 @@
</parameters>
</method>
</object>
<object name="GstControlSource" cname="GstControlSource" parent="GObject">
<object name="ControlSource" cname="GstControlSource" parent="GObject">
<class_struct cname="GstControlSourceClass">
<field name="ParentClass" cname="parent_class" type="GObjectClass" />
<field name="Bind" cname="bind" type="GstControlSourceBind" />
@ -7101,7 +7101,7 @@
</parameters>
</method>
</object>
<object name="GstInterpolationControlSource" cname="GstInterpolationControlSource" parent="GstControlSource">
<object name="InterpolationControlSource" cname="GstInterpolationControlSource" parent="GstControlSource">
<class_struct cname="GstInterpolationControlSourceClass">
<field name="ParentClass" cname="parent_class" type="GstControlSourceClass" />
<field name="GstReserved" cname="_gst_reserved" type="gpointer" array_len="GST_PADDING" />
@ -7148,7 +7148,7 @@
<return-type type="void" />
</method>
</object>
<object name="GstLFOControlSource" cname="GstLFOControlSource" parent="GstControlSource">
<object name="LFOControlSource" cname="GstLFOControlSource" parent="GstControlSource">
<class_struct cname="GstLFOControlSourceClass">
<field name="ParentClass" cname="parent_class" type="GstControlSourceClass" />
<field name="GstReserved" cname="_gst_reserved" type="gpointer" array_len="GST_PADDING" />
@ -7166,11 +7166,11 @@
</method>
<constructor cname="gst_lfo_control_source_new" />
</object>
<struct name="GstTimedValue" cname="GstTimedValue">
<struct name="TimedValue" cname="GstTimedValue">
<field name="Timestamp" cname="timestamp" type="GstClockTime" />
<field name="Value" cname="value" type="GValue" />
</struct>
<struct name="GstValueArray" cname="GstValueArray">
<struct name="ValueArray" cname="GstValueArray">
<field name="PropertyName" cname="property_name" type="gchar*" />
<field name="Nbsamples" cname="nbsamples" type="gint" />
<field name="SampleInterval" cname="sample_interval" type="GstClockTime" />
@ -7178,11 +7178,11 @@
</struct>
</namespace>
<namespace name="Gst.Cdda" library="libgstcdda-0.10.dll">
<enum name="GstCddaBaseSrcMode" cname="GstCddaBaseSrcMode" gtype="gst_cdda_base_src_mode_get_type" type="enum">
<enum name="CddaBaseSrcMode" cname="GstCddaBaseSrcMode" gtype="gst_cdda_base_src_mode_get_type" type="enum">
<member cname="GST_CDDA_BASE_SRC_MODE_NORMAL" name="Normal" />
<member cname="GST_CDDA_BASE_SRC_MODE_CONTINUOUS" name="Continuous" />
</enum>
<object name="GstCddaBaseSrc" cname="GstCddaBaseSrc" parent="GstPushSrc">
<object name="CddaBaseSrc" cname="GstCddaBaseSrc" parent="GstPushSrc">
<class_struct cname="GstCddaBaseSrcClass">
<field name="PushsrcClass" cname="pushsrc_class" type="GstPushSrcClass" />
<method vm="open" />
@ -7251,7 +7251,7 @@
<return-type type="GType" />
</method>
</object>
<struct name="GstCddaBaseSrcTrack" cname="GstCddaBaseSrcTrack">
<struct name="CddaBaseSrcTrack" cname="GstCddaBaseSrcTrack">
<field name="IsAudio" cname="is_audio" type="gboolean" />
<field name="Num" cname="num" type="guint" />
<field name="Start" cname="start" type="guint" />
@ -7262,17 +7262,17 @@
</struct>
</namespace>
<namespace name="Gst.Interfaces" library="libgstinterfaces-0.10.dll">
<enum name="GstColorBalanceType" cname="GstColorBalanceType" gtype="gst_color_balance_type_get_type" type="enum">
<enum name="ColorBalanceType" cname="GstColorBalanceType" gtype="gst_color_balance_type_get_type" type="enum">
<member cname="GST_COLOR_BALANCE_HARDWARE" name="Hardware" />
<member cname="GST_COLOR_BALANCE_SOFTWARE" name="Software" />
</enum>
<enum name="GstMixerFlags" cname="GstMixerFlags" gtype="gst_mixer_flags_get_type" type="flags">
<enum name="MixerFlags" cname="GstMixerFlags" gtype="gst_mixer_flags_get_type" type="flags">
<member cname="GST_MIXER_FLAG_NONE" name="None" />
<member cname="GST_MIXER_FLAG_AUTO_NOTIFICATIONS" name="AutoNotifications" value="1 &lt;&lt; 0" />
<member cname="GST_MIXER_FLAG_HAS_WHITELIST" name="HasWhitelist" value="1 &lt;&lt; 1" />
<member cname="GST_MIXER_FLAG_GROUPING" name="Grouping" value="1 &lt;&lt; 2" />
</enum>
<enum name="GstMixerMessageType" cname="GstMixerMessageType" gtype="gst_mixer_message_type_get_type" type="enum">
<enum name="MixerMessageType" cname="GstMixerMessageType" gtype="gst_mixer_message_type_get_type" type="enum">
<member cname="GST_MIXER_MESSAGE_INVALID" name="Invalid" />
<member cname="GST_MIXER_MESSAGE_MUTE_TOGGLED" name="MuteToggled" />
<member cname="GST_MIXER_MESSAGE_RECORD_TOGGLED" name="RecordToggled" />
@ -7281,7 +7281,7 @@
<member cname="GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED" name="OptionsListChanged" />
<member cname="GST_MIXER_MESSAGE_MIXER_CHANGED" name="MixerChanged" />
</enum>
<enum name="GstMixerTrackFlags" cname="GstMixerTrackFlags" gtype="gst_mixer_track_flags_get_type" type="flags">
<enum name="MixerTrackFlags" cname="GstMixerTrackFlags" gtype="gst_mixer_track_flags_get_type" type="flags">
<member cname="GST_MIXER_TRACK_INPUT" name="Input" value="1 &lt;&lt; 0" />
<member cname="GST_MIXER_TRACK_OUTPUT" name="Output" value="1 &lt;&lt; 1" />
<member cname="GST_MIXER_TRACK_MUTE" name="Mute" value="1 &lt;&lt; 2" />
@ -7292,11 +7292,11 @@
<member cname="GST_MIXER_TRACK_NO_MUTE" name="NoMute" value="1 &lt;&lt; 7" />
<member cname="GST_MIXER_TRACK_WHITELIST" name="Whitelist" value="1 &lt;&lt; 8" />
</enum>
<enum name="GstMixerType" cname="GstMixerType" gtype="gst_mixer_type_get_type" type="enum">
<enum name="MixerType" cname="GstMixerType" gtype="gst_mixer_type_get_type" type="enum">
<member cname="GST_MIXER_HARDWARE" name="Hardware" />
<member cname="GST_MIXER_SOFTWARE" name="Software" />
</enum>
<enum name="GstNavigationCommand" cname="GstNavigationCommand" gtype="gst_navigation_command_get_type" type="enum">
<enum name="NavigationCommand" cname="GstNavigationCommand" gtype="gst_navigation_command_get_type" type="enum">
<member cname="GST_NAVIGATION_COMMAND_INVALID" name="Invalid" />
<member cname="GST_NAVIGATION_COMMAND_MENU1" name="Menu1" value="1" />
<member cname="GST_NAVIGATION_COMMAND_MENU2" name="Menu2" value="2" />
@ -7313,7 +7313,7 @@
<member cname="GST_NAVIGATION_COMMAND_PREV_ANGLE" name="PrevAngle" value="30" />
<member cname="GST_NAVIGATION_COMMAND_NEXT_ANGLE" name="NextAngle" value="31" />
</enum>
<enum name="GstNavigationEventType" cname="GstNavigationEventType" gtype="gst_navigation_event_type_get_type" type="enum">
<enum name="NavigationEventType" cname="GstNavigationEventType" gtype="gst_navigation_event_type_get_type" type="enum">
<member cname="GST_NAVIGATION_EVENT_INVALID" name="Invalid" />
<member cname="GST_NAVIGATION_EVENT_KEY_PRESS" name="KeyPress" value="1" />
<member cname="GST_NAVIGATION_EVENT_KEY_RELEASE" name="KeyRelease" value="2" />
@ -7322,24 +7322,24 @@
<member cname="GST_NAVIGATION_EVENT_MOUSE_MOVE" name="MouseMove" value="5" />
<member cname="GST_NAVIGATION_EVENT_COMMAND" name="Command" value="6" />
</enum>
<enum name="GstNavigationMessageType" cname="GstNavigationMessageType" gtype="gst_navigation_message_type_get_type" type="enum">
<enum name="NavigationMessageType" cname="GstNavigationMessageType" gtype="gst_navigation_message_type_get_type" type="enum">
<member cname="GST_NAVIGATION_MESSAGE_INVALID" name="Invalid" />
<member cname="GST_NAVIGATION_MESSAGE_MOUSE_OVER" name="MouseOver" />
<member cname="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED" name="CommandsChanged" />
<member cname="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED" name="AnglesChanged" />
</enum>
<enum name="GstNavigationQueryType" cname="GstNavigationQueryType" gtype="gst_navigation_query_type_get_type" type="enum">
<enum name="NavigationQueryType" cname="GstNavigationQueryType" gtype="gst_navigation_query_type_get_type" type="enum">
<member cname="GST_NAVIGATION_QUERY_INVALID" name="Invalid" />
<member cname="GST_NAVIGATION_QUERY_COMMANDS" name="Commands" value="1" />
<member cname="GST_NAVIGATION_QUERY_ANGLES" name="Angles" value="2" />
</enum>
<enum name="GstTunerChannelFlags" cname="GstTunerChannelFlags" gtype="gst_tuner_channel_flags_get_type" type="flags">
<enum name="TunerChannelFlags" cname="GstTunerChannelFlags" gtype="gst_tuner_channel_flags_get_type" type="flags">
<member cname="GST_TUNER_CHANNEL_INPUT" name="Input" value="1 &lt;&lt; 0" />
<member cname="GST_TUNER_CHANNEL_OUTPUT" name="Output" value="1 &lt;&lt; 1" />
<member cname="GST_TUNER_CHANNEL_FREQUENCY" name="Frequency" value="1 &lt;&lt; 2" />
<member cname="GST_TUNER_CHANNEL_AUDIO" name="Audio" value="1 &lt;&lt; 3" />
</enum>
<interface name="GstColorBalance" cname="GstColorBalance">
<interface name="ColorBalance" cname="GstColorBalance">
<class_struct cname="GstColorBalanceClass">
<field name="Klass" cname="klass" type="GTypeInterface" />
<field name="BalanceType" cname="balance_type" type="GstColorBalanceType" />
@ -7400,7 +7400,7 @@
</parameters>
</method>
</interface>
<interface name="GstMixer" cname="GstMixer">
<interface name="Mixer" cname="GstMixer">
<class_struct cname="GstMixerClass">
<field name="Klass" cname="klass" type="GTypeInterface" />
<field name="MixerType" cname="mixer_type" type="GstMixerType" />
@ -7623,7 +7623,7 @@
</parameters>
</method>
</interface>
<interface name="GstNavigation" cname="GstNavigation">
<interface name="Navigation" cname="GstNavigation">
<class_struct cname="GstNavigationInterface">
<field name="GIface" cname="g_iface" type="GTypeInterface" />
<method vm="send_event" />
@ -7805,7 +7805,7 @@
</parameters>
</method>
</interface>
<interface name="GstPropertyProbe" cname="GstPropertyProbe">
<interface name="PropertyProbe" cname="GstPropertyProbe">
<class_struct cname="GstPropertyProbeInterface">
<field name="Klass" cname="klass" type="GTypeInterface" />
<method vm="probe_needed" />
@ -7907,7 +7907,7 @@
</parameters>
</method>
</interface>
<interface name="GstTuner" cname="GstTuner">
<interface name="Tuner" cname="GstTuner">
<class_struct cname="GstTunerClass">
<field name="Klass" cname="klass" type="GTypeInterface" />
<method vm="list_channels" />
@ -8071,7 +8071,7 @@
</parameters>
</method>
</interface>
<interface name="GstVideoOrientation" cname="GstVideoOrientation">
<interface name="VideoOrientation" cname="GstVideoOrientation">
<class_struct cname="GstVideoOrientationInterface">
<field name="Parent" cname="parent" type="GTypeInterface" />
<method vm="get_hflip" />
@ -8184,7 +8184,7 @@
</parameters>
</method>
</interface>
<interface name="GstXOverlay" cname="GstXOverlay">
<interface name="XOverlay" cname="GstXOverlay">
<class_struct cname="GstXOverlayClass">
<field name="Klass" cname="klass" type="GTypeInterface" />
<method vm="set_xwindow_id" />
@ -8236,7 +8236,7 @@
</parameters>
</method>
</interface>
<object name="GstColorBalanceChannel" cname="GstColorBalanceChannel" parent="GObject">
<object name="ColorBalanceChannel" cname="GstColorBalanceChannel" parent="GObject">
<class_struct cname="GstColorBalanceChannelClass">
<field name="Parent" cname="parent" type="GObjectClass" />
<method signal_vm="value_changed" />
@ -8255,7 +8255,7 @@
<return-type type="GType" />
</method>
</object>
<object name="GstMixerOptions" cname="GstMixerOptions" parent="GstMixerTrack">
<object name="MixerOptions" cname="GstMixerOptions" parent="GstMixerTrack">
<class_struct cname="GstMixerOptionsClass">
<field name="Parent" cname="parent" type="GstMixerTrackClass" />
<method signal_vm="option_changed" />
@ -8288,7 +8288,7 @@
</parameters>
</method>
</object>
<object name="GstMixerTrack" cname="GstMixerTrack" parent="GObject">
<object name="MixerTrack" cname="GstMixerTrack" parent="GObject">
<class_struct cname="GstMixerTrackClass">
<field name="Parent" cname="parent" type="GObjectClass" />
<method signal_vm="mute_toggled" />
@ -8330,7 +8330,7 @@
<return-type type="GType" />
</method>
</object>
<object name="GstTunerChannel" cname="GstTunerChannel" parent="GObject">
<object name="TunerChannel" cname="GstTunerChannel" parent="GObject">
<class_struct cname="GstTunerChannelClass">
<field name="Parent" cname="parent" type="GObjectClass" />
<method signal_vm="frequency_changed" />
@ -8367,7 +8367,7 @@
<return-type type="GType" />
</method>
</object>
<object name="GstTunerNorm" cname="GstTunerNorm" parent="GObject">
<object name="TunerNorm" cname="GstTunerNorm" parent="GObject">
<class_struct cname="GstTunerNormClass">
<field name="Parent" cname="parent" type="GObjectClass" />
<field name="GstReserved" cname="_gst_reserved" type="gpointer" array_len="GST_PADDING" />
@ -8386,4 +8386,4 @@
</method>
</object>
</namespace>
</api>
</api>

View file

@ -32,6 +32,9 @@ if (!$ARGV[2]) {
}
$ns = $ARGV[0];
$ns_main = $ns;
$ns_main =~ s/\..*//g;
$libname = $ARGV[2];
# Used by name mangling sub
@ -231,7 +234,7 @@ foreach $cname (sort(keys(%edefs))) {
$def = $edefs{$cname};
$cname = $etypes{$cname} if (exists($etypes{$cname}));
$enums{lc($cname)} = $cname;
$enum_elem = addNameElem($ns_elem, 'enum', $cname, $ns);
$enum_elem = addNameElem($ns_elem, 'enum', $cname, $ns_main);
if ($def =~ /^deprecated/) {
$enum_elem->setAttribute("deprecated", "1");
$def =~ s/deprecated//g;
@ -296,7 +299,7 @@ foreach $cbname (sort(keys(%fpdefs))) {
next if ($cbname =~ /^_/);
$cbcnt++;
$fdef = $cb = $fpdefs{$cbname};
$cb_elem = addNameElem($ns_elem, 'callback', $cbname, $ns);
$cb_elem = addNameElem($ns_elem, 'callback', $cbname, $ns_main);
$cb =~ /typedef\s+(.*)\(.*\).*\((.*)\);/;
$ret = $1; $params = $2;
addReturnElem($cb_elem, $ret);
@ -318,7 +321,7 @@ foreach $type (sort(keys(%ifaces))) {
delete $types{$inst};
$ifacecnt++;
$iface_el = addNameElem($ns_elem, 'interface', $inst, $ns);
$iface_el = addNameElem($ns_elem, 'interface', $inst, $ns_main);
$elem_table{lc($inst)} = $iface_el;
@ -355,7 +358,7 @@ foreach $type (sort(keys(%objects))) {
warn "Strange Class $inst\n" if (!$instdef && $debug);
$classcnt++;
$obj_el = addNameElem($ns_elem, 'object', $inst, $ns);
$obj_el = addNameElem($ns_elem, 'object', $inst, $ns_main);
$elem_table{lc($inst)} = $obj_el;
@ -424,7 +427,7 @@ foreach $key (sort (keys (%types))) {
} elsif ($types{$type} =~ /struct/ && $type =~ /^$ns/) {
$def = $types{$type};
} else {
$elem = addNameElem($ns_elem, 'alias', $key, $ns);
$elem = addNameElem($ns_elem, 'alias', $key, $ns_main);
$elem->setAttribute('type', $lasttype);
warn "alias $key to $lasttype\n" if $debug;
next;
@ -432,11 +435,11 @@ foreach $key (sort (keys (%types))) {
# fixme: hack
if ($key eq "GdkBitmap") {
$struct_el = addNameElem($ns_elem, 'object', $key, $ns);
$struct_el = addNameElem($ns_elem, 'object', $key, $ns_main);
} elsif (exists($boxdefs{$key})) {
$struct_el = addNameElem($ns_elem, 'boxed', $key, $ns);
$struct_el = addNameElem($ns_elem, 'boxed', $key, $ns_main);
} else {
$struct_el = addNameElem($ns_elem, 'struct', $key, $ns);
$struct_el = addNameElem($ns_elem, 'struct', $key, $ns_main);
}
if ($def =~ /^deprecated/) {
@ -459,7 +462,7 @@ foreach $key (sort (keys (%types))) {
foreach $key (sort (keys (%ptrs))) {
next if $ptrs{$key} !~ /struct\s+(\w+)/;
$type = $1;
$struct_el = addNameElem ($ns_elem, 'struct', $key, $ns);
$struct_el = addNameElem ($ns_elem, 'struct', $key, $ns_main);
$struct_el->setAttribute('opaque', 'true');
$elem_table{lc($key)} = $struct_el;
}
@ -761,6 +764,8 @@ sub addStaticFuncElems
$ns_prefix = "";
$global_el = "";
$ns_clean = lc($ns);
$ns_clean =~ s/\.//g;
for ($i = 0; $i < $mcount; $i++) {
$mname = $mnames[$i];
@ -770,7 +775,7 @@ sub addStaticFuncElems
if ($ns_prefix eq "") {
my (@toks) = split(/_/, $prefix);
for ($j = 0; $j < @toks; $j++) {
if (join ("", @toks[0 .. $j]) eq lc($ns)) {
if (join ("", @toks[0 .. $j]) eq $ns_clean) {
$ns_prefix = join ("_", @toks[0 .. $j]);
last;
}
@ -885,7 +890,7 @@ sub addParamsElem
if ($parm =~ /(.*)\(\s*\**\s*(\w+)\)\s+\((.*)\)/) {
my $ret = $1; my $cbn = $2; my $params = $3;
my $type = $parent->getAttribute('name') . StudlyCaps($cbn);
$cb_elem = addNameElem($ns_elem, 'callback', $type, $ns);
$cb_elem = addNameElem($ns_elem, 'callback', $type, $ns_main);
addReturnElem($cb_elem, $ret);
if ($params && ($params ne "void")) {
addParamsElem($cb_elem, split(/,/, $params));