<?xml version="1.0"?>
<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<include name="GUPnP" version="1.0"/>
<include name="GObject" version="2.0"/>
<include name="Gee" version="0.8"/>
<include name="Gio" version="2.0"/>
<include name="GLib" version="2.0"/>
<package name="rygel-core-2.4"/>
<c:include name="rygel-core.h"/>
<c:include name="config.h"/>
<namespace name="RygelCore" version="2.4" c:prefix="Rygel">
	<enumeration name="LogLevel" c:type="RygelLogLevel" glib:type-name="RygelLogLevel" glib:get-type="rygel_log_level_get_type">
		<member name="invalid" c:identifier="RYGEL_LOG_LEVEL_INVALID" value="0"/>
		<member name="critical" c:identifier="RYGEL_LOG_LEVEL_CRITICAL" value="1"/>
		<member name="error" c:identifier="RYGEL_LOG_LEVEL_ERROR" value="2"/>
		<member name="warning" c:identifier="RYGEL_LOG_LEVEL_WARNING" value="3"/>
		<member name="info" c:identifier="RYGEL_LOG_LEVEL_INFO" value="4"/>
		<member name="default" c:identifier="RYGEL_LOG_LEVEL_DEFAULT" value="4"/>
		<member name="debug" c:identifier="RYGEL_LOG_LEVEL_DEBUG" value="5"/>
	</enumeration>
	<bitfield name="PluginCapabilities" c:type="RygelPluginCapabilities" glib:type-name="RygelPluginCapabilities" glib:get-type="rygel_plugin_capabilities_get_type">
		<member name="none" c:identifier="RYGEL_PLUGIN_CAPABILITIES_NONE" value="0"/>
		<member name="image_upload" c:identifier="RYGEL_PLUGIN_CAPABILITIES_IMAGE_UPLOAD" value="1"/>
		<member name="video_upload" c:identifier="RYGEL_PLUGIN_CAPABILITIES_VIDEO_UPLOAD" value="2"/>
		<member name="audio_upload" c:identifier="RYGEL_PLUGIN_CAPABILITIES_AUDIO_UPLOAD" value="4"/>
		<member name="upload" c:identifier="RYGEL_PLUGIN_CAPABILITIES_UPLOAD" value="(null)"/>
		<member name="track_changes" c:identifier="RYGEL_PLUGIN_CAPABILITIES_TRACK_CHANGES" value="8"/>
		<member name="create_containers" c:identifier="RYGEL_PLUGIN_CAPABILITIES_CREATE_CONTAINERS" value="16"/>
		<member name="diagnostics" c:identifier="RYGEL_PLUGIN_CAPABILITIES_DIAGNOSTICS" value="32"/>
	</bitfield>
	<enumeration name="ConfigurationEntry" c:type="RygelConfigurationEntry" glib:type-name="RygelConfigurationEntry" glib:get-type="rygel_configuration_entry_get_type">
		<member name="upnp_enabled" c:identifier="RYGEL_CONFIGURATION_ENTRY_UPNP_ENABLED" value="0"/>
		<member name="interface" c:identifier="RYGEL_CONFIGURATION_ENTRY_INTERFACE" value="1"/>
		<member name="port" c:identifier="RYGEL_CONFIGURATION_ENTRY_PORT" value="2"/>
		<member name="transcoding" c:identifier="RYGEL_CONFIGURATION_ENTRY_TRANSCODING" value="3"/>
		<member name="allow_upload" c:identifier="RYGEL_CONFIGURATION_ENTRY_ALLOW_UPLOAD" value="4"/>
		<member name="allow_deletion" c:identifier="RYGEL_CONFIGURATION_ENTRY_ALLOW_DELETION" value="5"/>
		<member name="log_levels" c:identifier="RYGEL_CONFIGURATION_ENTRY_LOG_LEVELS" value="6"/>
		<member name="plugin_path" c:identifier="RYGEL_CONFIGURATION_ENTRY_PLUGIN_PATH" value="7"/>
		<member name="video_upload_folder" c:identifier="RYGEL_CONFIGURATION_ENTRY_VIDEO_UPLOAD_FOLDER" value="8"/>
		<member name="music_upload_folder" c:identifier="RYGEL_CONFIGURATION_ENTRY_MUSIC_UPLOAD_FOLDER" value="9"/>
		<member name="picture_upload_folder" c:identifier="RYGEL_CONFIGURATION_ENTRY_PICTURE_UPLOAD_FOLDER" value="10"/>
	</enumeration>
	<enumeration name="SectionEntry" c:type="RygelSectionEntry" glib:type-name="RygelSectionEntry" glib:get-type="rygel_section_entry_get_type">
		<member name="title" c:identifier="RYGEL_SECTION_ENTRY_TITLE" value="0"/>
		<member name="enabled" c:identifier="RYGEL_SECTION_ENTRY_ENABLED" value="1"/>
	</enumeration>
	<enumeration name="ConfigurationError" c:type="RygelConfigurationError" glib:error-domain="rygel_configuration_error-quark">
		<member name="no_value_set" c:identifier="RYGEL_CONFIGURATION_ERROR_NO_VALUE_SET" value="0"/>
		<member name="value_out_of_range" c:identifier="RYGEL_CONFIGURATION_ERROR_VALUE_OUT_OF_RANGE" value="1"/>
	</enumeration>
	<class name="ConnectionManager" c:type="RygelConnectionManager" glib:type-name="RygelConnectionManager" glib:get-type="rygel_connection_manager_get_type" glib:type-struct="ConnectionManagerClass" parent="GUPnP.Service">
		<field name="parent_instance">
			<type name="GUPnP.Service" c:type="GUPnPService"/>
		</field>
		<field name="priv">
			<type name="ConnectionManagerPrivate" c:type="RygelConnectionManagerPrivate*"/>
		</field>
		<field name="sink_protocol_info">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="connection_ids">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="source_protocol_info">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="rcs_id">
			<type name="gint" c:type="gint"/>
		</field>
		<field name="av_transport_id">
			<type name="gint" c:type="gint"/>
		</field>
		<field name="direction">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<constant name="UPNP_ID" c:identifier="RYGEL_CONNECTION_MANAGER_UPNP_ID" value="urn:upnp-org:serviceId:ConnectionManager">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
		<constant name="UPNP_TYPE" c:identifier="RYGEL_CONNECTION_MANAGER_UPNP_TYPE" value="urn:schemas-upnp-org:service:ConnectionManager:2">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
		<constant name="DESCRIPTION_PATH" c:identifier="RYGEL_CONNECTION_MANAGER_DESCRIPTION_PATH" value="xml/ConnectionManager.xml">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
		<method name="get_current_protocol_info" c:identifier="rygel_connection_manager_get_current_protocol_info">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_current_protocol_info" invoker="get_current_protocol_info">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<constructor name="new" c:identifier="rygel_connection_manager_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.ConnectionManager" c:type="RygelConnectionManager*"/>
			</return-value>
		</constructor>
	</class>
	<record name="ConnectionManagerClass" c:type="RygelConnectionManagerClass" glib:is-gtype-struct-for="ConnectionManager">
		<field name="parent_class">
			<type name="GUPnP.ServiceClass" c:type="GUPnPServiceClass"/>
		</field>
				<field name="get_current_protocol_info">
			<callback name="get_current_protocol_info" c:type="get_current_protocol_info">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.ConnectionManager" c:type="RygelConnectionManager*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
	</record>
	<record name="ConnectionManagerPrivate" c:type="RygelConnectionManagerPrivate" disguised="1"/>
	<class name="BasicManagement" c:type="RygelBasicManagement" glib:type-name="RygelBasicManagement" glib:get-type="rygel_basic_management_get_type" glib:type-struct="BasicManagementClass" parent="GUPnP.Service">
		<field name="parent_instance">
			<type name="GUPnP.Service" c:type="GUPnPService"/>
		</field>
		<field name="priv">
			<type name="BasicManagementPrivate" c:type="RygelBasicManagementPrivate*"/>
		</field>
		<field name="device_status">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<constant name="UPNP_ID" c:identifier="RYGEL_BASIC_MANAGEMENT_UPNP_ID" value="urn:upnp-org:serviceId:BasicManagement">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
		<constant name="UPNP_TYPE" c:identifier="RYGEL_BASIC_MANAGEMENT_UPNP_TYPE" value="urn:schemas-upnp-org:service:BasicManagement:2">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
		<constant name="DESCRIPTION_PATH" c:identifier="RYGEL_BASIC_MANAGEMENT_DESCRIPTION_PATH" value="xml/BasicManagement2.xml">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
		<constructor name="new" c:identifier="rygel_basic_management_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.BasicManagement" c:type="RygelBasicManagement*"/>
			</return-value>
		</constructor>
		<property name="max-history-size" writable="1">
			<type name="guint" c:type="guint"/>
		</property>
		<method name="get_max_history_size" c:identifier="rygel_basic_management_get_max_history_size">
			<return-value transfer-ownership="none">
				<type name="guint" c:type="guint"/>
			</return-value>
		</method>
		<method name="set_max_history_size" c:identifier="rygel_basic_management_set_max_history_size">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="guint" c:type="guint"/>
				</parameter>
			</parameters>
		</method>
	</class>
	<record name="BasicManagementClass" c:type="RygelBasicManagementClass" glib:is-gtype-struct-for="BasicManagement">
		<field name="parent_class">
			<type name="GUPnP.ServiceClass" c:type="GUPnPServiceClass"/>
		</field>
	</record>
	<record name="BasicManagementPrivate" c:type="RygelBasicManagementPrivate" disguised="1"/>
	<class name="DescriptionFile" c:type="RygelDescriptionFile" glib:type-name="RygelDescriptionFile" glib:get-type="rygel_description_file_get_type" glib:type-struct="DescriptionFileClass" parent="GObject.Object">
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="DescriptionFilePrivate" c:type="RygelDescriptionFilePrivate*"/>
		</field>
		<constructor name="new" c:identifier="rygel_description_file_new" throws="1">
			<return-value transfer-ownership="full">
				<type name="RygelCore.DescriptionFile" c:type="RygelDescriptionFile*"/>
			</return-value>
			<parameters>
				<parameter name="template_file" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</constructor>
		<constructor name="from_xml_document" c:identifier="rygel_description_file_new_from_xml_document">
			<return-value transfer-ownership="full">
				<type name="RygelCore.DescriptionFile" c:type="RygelDescriptionFile*"/>
			</return-value>
			<parameters>
				<parameter name="doc" transfer-ownership="none">
					<type name="GUPnP.XMLDoc" c:type="GUPnPXMLDoc*"/>
				</parameter>
			</parameters>
		</constructor>
		<method name="set_device_type" c:identifier="rygel_description_file_set_device_type">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="device_type" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="set_model_description" c:identifier="rygel_description_file_set_model_description">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="model_description" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="set_model_name" c:identifier="rygel_description_file_set_model_name">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="model_name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="set_model_number" c:identifier="rygel_description_file_set_model_number">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="model_number" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="set_friendly_name" c:identifier="rygel_description_file_set_friendly_name">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="friendly_name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="get_friendly_name" c:identifier="rygel_description_file_get_friendly_name">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<method name="set_udn" c:identifier="rygel_description_file_set_udn">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="udn" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="get_udn" c:identifier="rygel_description_file_get_udn">
			<return-value transfer-ownership="full" allow-none="1">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<method name="set_dlna_caps" c:identifier="rygel_description_file_set_dlna_caps">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="capabilities" transfer-ownership="none">
					<type name="RygelCore.PluginCapabilities" c:type="RygelPluginCapabilities"/>
				</parameter>
			</parameters>
		</method>
		<method name="clear_service_list" c:identifier="rygel_description_file_clear_service_list">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
		</method>
		<method name="add_service" c:identifier="rygel_description_file_add_service">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="device_name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="resource_info" transfer-ownership="none">
					<type name="RygelCore.ResourceInfo" c:type="RygelResourceInfo*"/>
				</parameter>
			</parameters>
		</method>
		<method name="clear_icon_list" c:identifier="rygel_description_file_clear_icon_list">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
		</method>
		<method name="add_icon" c:identifier="rygel_description_file_add_icon">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="device_name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="icon_info" transfer-ownership="none">
					<type name="RygelCore.IconInfo" c:type="RygelIconInfo*"/>
				</parameter>
				<parameter name="url" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="modify_service_type" c:identifier="rygel_description_file_modify_service_type">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="old_type" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="new_type" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="save" c:identifier="rygel_description_file_save" throws="1">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="path" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
	</class>
	<record name="DescriptionFileClass" c:type="RygelDescriptionFileClass" glib:is-gtype-struct-for="DescriptionFile">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
	</record>
	<record name="DescriptionFilePrivate" c:type="RygelDescriptionFilePrivate" disguised="1"/>
	<record name="DLNAProfile">
		<field name="mime">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="name">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<constructor name="new" c:identifier="rygel_dlna_profile_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.DLNAProfile" c:type="RygelDLNAProfile*"/>
			</return-value>
			<parameters>
				<parameter name="name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="mime" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</constructor>
		<function name="compare_by_name" c:identifier="rygel_dlna_profile_compare_by_name">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
			<parameters>
				<parameter name="a" transfer-ownership="none">
					<type name="RygelCore.DLNAProfile" c:type="RygelDLNAProfile*"/>
				</parameter>
				<parameter name="b" transfer-ownership="none">
					<type name="RygelCore.DLNAProfile" c:type="RygelDLNAProfile*"/>
				</parameter>
			</parameters>
		</function>
	</record>
	<class name="RootDevice" c:type="RygelRootDevice" glib:type-name="RygelRootDevice" glib:get-type="rygel_root_device_get_type" glib:type-struct="RootDeviceClass" parent="GUPnP.RootDevice">
		<field name="parent_instance">
			<type name="GUPnP.RootDevice" c:type="GUPnPRootDevice"/>
		</field>
		<field name="priv">
			<type name="RootDevicePrivate" c:type="RygelRootDevicePrivate*"/>
		</field>
		<constructor name="new" c:identifier="rygel_root_device_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.RootDevice" c:type="RygelRootDevice*"/>
			</return-value>
			<parameters>
				<parameter name="context" transfer-ownership="none">
					<type name="GUPnP.Context" c:type="GUPnPContext*"/>
				</parameter>
				<parameter name="plugin" transfer-ownership="none">
					<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
				</parameter>
				<parameter name="description_doc" transfer-ownership="none">
					<type name="GUPnP.XMLDoc" c:type="GUPnPXMLDoc*"/>
				</parameter>
				<parameter name="description_path" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="description_dir" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</constructor>
		<property name="services" writable="1">
			<type name="Gee.ArrayList" c:type="GeeArrayList*">
				<type name="GUPnP.ServiceInfo" c:type="GUPnPServiceInfo*"/>
			</type>
		</property>
		<method name="get_services" c:identifier="rygel_root_device_get_services">
			<return-value transfer-ownership="none">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="GUPnP.ServiceInfo" c:type="GUPnPServiceInfo*"/>
				</type>
			</return-value>
		</method>
	</class>
	<record name="RootDeviceClass" c:type="RygelRootDeviceClass" glib:is-gtype-struct-for="RootDevice">
		<field name="parent_class">
			<type name="GUPnP.RootDeviceClass" c:type="GUPnPRootDeviceClass"/>
		</field>
	</record>
	<record name="RootDevicePrivate" c:type="RygelRootDevicePrivate" disguised="1"/>
	<class name="RootDeviceFactory" c:type="RygelRootDeviceFactory" glib:type-name="RygelRootDeviceFactory" glib:get-type="rygel_root_device_factory_get_type" glib:type-struct="RootDeviceFactoryClass" parent="GObject.Object">
		<implements name="Gio.Initable"/>
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="RootDeviceFactoryPrivate" c:type="RygelRootDeviceFactoryPrivate*"/>
		</field>
		<constructor name="new" c:identifier="rygel_root_device_factory_new" throws="1">
			<return-value transfer-ownership="full">
				<type name="RygelCore.RootDeviceFactory" c:type="RygelRootDeviceFactory*"/>
			</return-value>
			<parameters>
				<parameter name="context" transfer-ownership="none">
					<type name="GUPnP.Context" c:type="GUPnPContext*"/>
				</parameter>
			</parameters>
		</constructor>
		<method name="create" c:identifier="rygel_root_device_factory_create" throws="1">
			<return-value transfer-ownership="full">
				<type name="RygelCore.RootDevice" c:type="RygelRootDevice*"/>
			</return-value>
			<parameters>
				<parameter name="plugin" transfer-ownership="none">
					<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
				</parameter>
			</parameters>
		</method>
		<property name="context" writable="1" construct-only="1">
			<type name="GUPnP.Context" c:type="GUPnPContext*"/>
		</property>
		<method name="get_context" c:identifier="rygel_root_device_factory_get_context">
			<return-value transfer-ownership="none">
				<type name="GUPnP.Context" c:type="GUPnPContext*"/>
			</return-value>
		</method>
	</class>
	<record name="RootDeviceFactoryClass" c:type="RygelRootDeviceFactoryClass" glib:is-gtype-struct-for="RootDeviceFactory">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
	</record>
	<record name="RootDeviceFactoryPrivate" c:type="RygelRootDeviceFactoryPrivate" disguised="1"/>
	<class name="LogHandler" c:type="RygelLogHandler" glib:type-name="RygelLogHandler" glib:get-type="rygel_log_handler_get_type" glib:type-struct="LogHandlerClass" parent="GObject.Object">
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="LogHandlerPrivate" c:type="RygelLogHandlerPrivate*"/>
		</field>
		<function name="get_default" c:identifier="rygel_log_handler_get_default">
			<return-value transfer-ownership="full">
				<type name="RygelCore.LogHandler" c:type="RygelLogHandler*"/>
			</return-value>
		</function>
	</class>
	<record name="LogHandlerClass" c:type="RygelLogHandlerClass" glib:is-gtype-struct-for="LogHandler">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
	</record>
	<record name="LogHandlerPrivate" c:type="RygelLogHandlerPrivate" disguised="1"/>
	<class name="MetaConfig" c:type="RygelMetaConfig" glib:type-name="RygelMetaConfig" glib:get-type="rygel_meta_config_get_type" glib:type-struct="MetaConfigClass" parent="GObject.Object">
		<implements name="RygelCore.Configuration"/>
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="MetaConfigPrivate" c:type="RygelMetaConfigPrivate*"/>
		</field>
		<function name="get_default" c:identifier="rygel_meta_config_get_default">
			<return-value transfer-ownership="full">
				<type name="RygelCore.MetaConfig" c:type="RygelMetaConfig*"/>
			</return-value>
		</function>
		<function name="register_configuration" c:identifier="rygel_meta_config_register_configuration">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="config" transfer-ownership="none">
					<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
				</parameter>
			</parameters>
		</function>
		<constructor name="new" c:identifier="rygel_meta_config_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.MetaConfig" c:type="RygelMetaConfig*"/>
			</return-value>
		</constructor>
	</class>
	<record name="MetaConfigClass" c:type="RygelMetaConfigClass" glib:is-gtype-struct-for="MetaConfig">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
	</record>
	<record name="MetaConfigPrivate" c:type="RygelMetaConfigPrivate" disguised="1"/>
	<class name="PluginLoader" c:type="RygelPluginLoader" glib:type-name="RygelPluginLoader" glib:get-type="rygel_plugin_loader_get_type" glib:type-struct="PluginLoaderClass" parent="RygelCore.RecursiveModuleLoader">
		<field name="parent_instance">
			<type name="RygelCore.RecursiveModuleLoader" c:type="RygelRecursiveModuleLoader"/>
		</field>
		<field name="priv">
			<type name="PluginLoaderPrivate" c:type="RygelPluginLoaderPrivate*"/>
		</field>
		<constructor name="new" c:identifier="rygel_plugin_loader_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.PluginLoader" c:type="RygelPluginLoader*"/>
			</return-value>
		</constructor>
		<method name="plugin_disabled" c:identifier="rygel_plugin_loader_plugin_disabled">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="add_plugin" c:identifier="rygel_plugin_loader_add_plugin">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="plugin" transfer-ownership="none">
					<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
				</parameter>
			</parameters>
		</method>
		<method name="get_plugin_by_name" c:identifier="rygel_plugin_loader_get_plugin_by_name">
			<return-value transfer-ownership="full" allow-none="1">
				<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
			</return-value>
			<parameters>
				<parameter name="name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="list_plugins" c:identifier="rygel_plugin_loader_list_plugins">
			<return-value transfer-ownership="full">
				<type name="Gee.Collection" c:type="GeeCollection*">
					<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
				</type>
			</return-value>
		</method>
		<glib:signal name="plugin_available">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="plugin" transfer-ownership="none">
					<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
				</parameter>
			</parameters>
		</glib:signal>
	</class>
	<record name="PluginLoaderClass" c:type="RygelPluginLoaderClass" glib:is-gtype-struct-for="PluginLoader">
		<field name="parent_class">
			<type name="RygelCore.RecursiveModuleLoaderClass" c:type="RygelRecursiveModuleLoaderClass"/>
		</field>
	</record>
	<record name="PluginLoaderPrivate" c:type="RygelPluginLoaderPrivate" disguised="1"/>
	<class name="RecursiveModuleLoader" c:type="RygelRecursiveModuleLoader" glib:type-name="RygelRecursiveModuleLoader" glib:get-type="rygel_recursive_module_loader_get_type" glib:type-struct="RecursiveModuleLoaderClass" parent="GObject.Object" abstract="1">
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="RecursiveModuleLoaderPrivate" c:type="RygelRecursiveModuleLoaderPrivate*"/>
		</field>
		<method name="load_modules" c:identifier="rygel_recursive_module_loader_load_modules">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
		</method>
		<method name="load_modules_sync" c:identifier="rygel_recursive_module_loader_load_modules_sync">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="cancellable" transfer-ownership="none" allow-none="1">
					<type name="Gio.Cancellable" c:type="GCancellable*"/>
				</parameter>
			</parameters>
		</method>
		<method name="load_module_from_file" c:identifier="rygel_recursive_module_loader_load_module_from_file">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="file" transfer-ownership="none">
					<type name="Gio.File" c:type="GFile*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="load_module_from_file" invoker="load_module_from_file">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="file" transfer-ownership="none">
					<type name="Gio.File" c:type="GFile*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="load_module_from_info" c:identifier="rygel_recursive_module_loader_load_module_from_info">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="info" transfer-ownership="none">
					<type name="RygelCore.PluginInformation" c:type="RygelPluginInformation*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="load_module_from_info" invoker="load_module_from_info">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="info" transfer-ownership="none">
					<type name="RygelCore.PluginInformation" c:type="RygelPluginInformation*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<property name="base-path" writable="1" construct="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_base_path" c:identifier="rygel_recursive_module_loader_get_base_path">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<method name="set_base_path" c:identifier="rygel_recursive_module_loader_set_base_path">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
	</class>
	<record name="RecursiveModuleLoaderClass" c:type="RygelRecursiveModuleLoaderClass" glib:is-gtype-struct-for="RecursiveModuleLoader">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
				<field name="load_module_from_file">
			<callback name="load_module_from_file" c:type="load_module_from_file">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.RecursiveModuleLoader" c:type="RygelRecursiveModuleLoader*"/>
					</parameter>
					<parameter name="file" transfer-ownership="none">
						<type name="Gio.File" c:type="GFile*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="load_module_from_info">
			<callback name="load_module_from_info" c:type="load_module_from_info">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.RecursiveModuleLoader" c:type="RygelRecursiveModuleLoader*"/>
					</parameter>
					<parameter name="info" transfer-ownership="none">
						<type name="RygelCore.PluginInformation" c:type="RygelPluginInformation*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
	</record>
	<record name="RecursiveModuleLoaderPrivate" c:type="RygelRecursiveModuleLoaderPrivate" disguised="1"/>
	<class name="Plugin" c:type="RygelPlugin" glib:type-name="RygelPlugin" glib:get-type="rygel_plugin_get_type" glib:type-struct="PluginClass" parent="GUPnP.ResourceFactory">
		<field name="parent_instance">
			<type name="GUPnP.ResourceFactory" c:type="GUPnPResourceFactory"/>
		</field>
		<field name="priv">
			<type name="PluginPrivate" c:type="RygelPluginPrivate*"/>
		</field>
		<constructor name="new" c:identifier="rygel_plugin_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
			</return-value>
			<parameters>
				<parameter name="desc_path" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="name" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="title" transfer-ownership="none" allow-none="1">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="description" transfer-ownership="none" allow-none="1">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="capabilities" transfer-ownership="none">
					<type name="RygelCore.PluginCapabilities" c:type="RygelPluginCapabilities"/>
				</parameter>
			</parameters>
		</constructor>
		<method name="add_resource" c:identifier="rygel_plugin_add_resource">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="resource_info" transfer-ownership="none">
					<type name="RygelCore.ResourceInfo" c:type="RygelResourceInfo*"/>
				</parameter>
			</parameters>
		</method>
		<method name="add_icon" c:identifier="rygel_plugin_add_icon">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="icon_info" transfer-ownership="none">
					<type name="RygelCore.IconInfo" c:type="RygelIconInfo*"/>
				</parameter>
			</parameters>
		</method>
		<method name="apply_hacks" c:identifier="rygel_plugin_apply_hacks" throws="1">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="device" transfer-ownership="none">
					<type name="RygelCore.RootDevice" c:type="RygelRootDevice*"/>
				</parameter>
				<parameter name="description_path" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="apply_hacks" invoker="apply_hacks" throws="1">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="device" transfer-ownership="none">
					<type name="RygelCore.RootDevice" c:type="RygelRootDevice*"/>
				</parameter>
				<parameter name="description_path" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<property name="capabilities" writable="1" construct="1">
			<type name="RygelCore.PluginCapabilities" c:type="RygelPluginCapabilities"/>
		</property>
		<method name="get_capabilities" c:identifier="rygel_plugin_get_capabilities">
			<return-value transfer-ownership="none">
				<type name="RygelCore.PluginCapabilities" c:type="RygelPluginCapabilities"/>
			</return-value>
		</method>
		<method name="set_capabilities" c:identifier="rygel_plugin_set_capabilities">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="RygelCore.PluginCapabilities" c:type="RygelPluginCapabilities"/>
				</parameter>
			</parameters>
		</method>
		<property name="name" writable="1" construct-only="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_name" c:identifier="rygel_plugin_get_name">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<property name="title" writable="1" construct="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_title" c:identifier="rygel_plugin_get_title">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<method name="set_title" c:identifier="rygel_plugin_set_title">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<property name="description" writable="1" construct-only="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_description" c:identifier="rygel_plugin_get_description">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<property name="desc-path" writable="1" construct-only="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_desc_path" c:identifier="rygel_plugin_get_desc_path">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<property name="active" writable="1">
			<type name="gboolean" c:type="gboolean"/>
		</property>
		<method name="get_active" c:identifier="rygel_plugin_get_active">
			<return-value transfer-ownership="none">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<method name="set_active" c:identifier="rygel_plugin_set_active">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="gboolean" c:type="gboolean"/>
				</parameter>
			</parameters>
		</method>
		<property name="resource-infos" writable="1">
			<type name="Gee.ArrayList" c:type="GeeArrayList*">
				<type name="RygelCore.ResourceInfo" c:type="RygelResourceInfo*"/>
			</type>
		</property>
		<method name="get_resource_infos" c:identifier="rygel_plugin_get_resource_infos">
			<return-value transfer-ownership="none">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="RygelCore.ResourceInfo" c:type="RygelResourceInfo*"/>
				</type>
			</return-value>
		</method>
		<property name="icon-infos" writable="1">
			<type name="Gee.ArrayList" c:type="GeeArrayList*">
				<type name="RygelCore.IconInfo" c:type="RygelIconInfo*"/>
			</type>
		</property>
		<method name="get_icon_infos" c:identifier="rygel_plugin_get_icon_infos">
			<return-value transfer-ownership="none">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="RygelCore.IconInfo" c:type="RygelIconInfo*"/>
				</type>
			</return-value>
		</method>
		<property name="default-icons" writable="1">
			<type name="Gee.ArrayList" c:type="GeeArrayList*">
				<type name="RygelCore.IconInfo" c:type="RygelIconInfo*"/>
			</type>
		</property>
		<method name="get_default_icons" c:identifier="rygel_plugin_get_default_icons">
			<return-value transfer-ownership="none">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="RygelCore.IconInfo" c:type="RygelIconInfo*"/>
				</type>
			</return-value>
		</method>
	</class>
	<record name="PluginClass" c:type="RygelPluginClass" glib:is-gtype-struct-for="Plugin">
		<field name="parent_class">
			<type name="GUPnP.ResourceFactoryClass" c:type="GUPnPResourceFactoryClass"/>
		</field>
				<field name="apply_hacks">
			<callback name="apply_hacks" c:type="apply_hacks" throws="1">
				<return-value transfer-ownership="full">
					<type name="none"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
					</parameter>
					<parameter name="device" transfer-ownership="none">
						<type name="RygelCore.RootDevice" c:type="RygelRootDevice*"/>
					</parameter>
					<parameter name="description_path" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
	</record>
	<record name="PluginPrivate" c:type="RygelPluginPrivate" disguised="1"/>
	<record name="ResourceInfo">
		<field name="upnp_type">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="upnp_id">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="description_path">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="type">
			<type name="GObject.Type" c:type="GType"/>
		</field>
		<constructor name="new" c:identifier="rygel_resource_info_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.ResourceInfo" c:type="RygelResourceInfo*"/>
			</return-value>
			<parameters>
				<parameter name="upnp_id" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="upnp_type" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="description_path" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="type" transfer-ownership="none">
					<type name="GObject.Type" c:type="GType"/>
				</parameter>
			</parameters>
		</constructor>
	</record>
	<class name="MediaDevice" c:type="RygelMediaDevice" glib:type-name="RygelMediaDevice" glib:get-type="rygel_media_device_get_type" glib:type-struct="MediaDeviceClass" parent="GObject.Object" abstract="1">
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="MediaDevicePrivate" c:type="RygelMediaDevicePrivate*"/>
		</field>
		<method name="add_interface" c:identifier="rygel_media_device_add_interface">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="iface" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="remove_interface" c:identifier="rygel_media_device_remove_interface">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="iface" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<method name="get_interfaces" c:identifier="rygel_media_device_get_interfaces">
			<return-value transfer-ownership="full">
				<type name="GLib.List" c:type="GList*">
					<type name="utf8" c:type="gchar*"/>
				</type>
			</return-value>
		</method>
		<property name="plugin" writable="1" construct="1">
			<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
		</property>
		<method name="get_plugin" c:identifier="rygel_media_device_get_plugin">
			<return-value transfer-ownership="none">
				<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
			</return-value>
		</method>
		<method name="set_plugin" c:identifier="rygel_media_device_set_plugin">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="RygelCore.Plugin" c:type="RygelPlugin*"/>
				</parameter>
			</parameters>
		</method>
		<property name="title" writable="1" construct-only="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_title" c:identifier="rygel_media_device_get_title">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<property name="capabilities" writable="1" construct-only="1">
			<type name="RygelCore.PluginCapabilities" c:type="RygelPluginCapabilities"/>
		</property>
		<method name="get_capabilities" c:identifier="rygel_media_device_get_capabilities">
			<return-value transfer-ownership="none">
				<type name="RygelCore.PluginCapabilities" c:type="RygelPluginCapabilities"/>
			</return-value>
		</method>
	</class>
	<record name="MediaDeviceClass" c:type="RygelMediaDeviceClass" glib:is-gtype-struct-for="MediaDevice">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
	</record>
	<record name="MediaDevicePrivate" c:type="RygelMediaDevicePrivate" disguised="1"/>
	<class name="BaseConfiguration" c:type="RygelBaseConfiguration" glib:type-name="RygelBaseConfiguration" glib:get-type="rygel_base_configuration_get_type" glib:type-struct="BaseConfigurationClass" parent="GObject.Object">
		<implements name="RygelCore.Configuration"/>
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="BaseConfigurationPrivate" c:type="RygelBaseConfigurationPrivate*"/>
		</field>
		<method name="get_upnp_enabled" c:identifier="rygel_base_configuration_get_upnp_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_upnp_enabled" invoker="get_upnp_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_interface" c:identifier="rygel_base_configuration_get_interface" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_interface" invoker="get_interface" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_interfaces" c:identifier="rygel_base_configuration_get_interfaces" throws="1">
			<annotation key="ccode.array-null-terminated" value="true"/>
			<annotation key="ccode.array-length" value="false"/>
			<return-value transfer-ownership="full">
				<array>
					<type name="utf8" c:type="gchar*"/>
				</array>
			</return-value>
		</method>
		<virtual-method name="get_interfaces" invoker="get_interfaces" throws="1">
			<annotation key="ccode.array-null-terminated" value="true"/>
			<annotation key="ccode.array-length" value="false"/>
			<return-value transfer-ownership="full">
				<array>
					<type name="utf8" c:type="gchar*"/>
				</array>
			</return-value>
		</virtual-method>
		<method name="get_port" c:identifier="rygel_base_configuration_get_port" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
		</method>
		<virtual-method name="get_port" invoker="get_port" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
		</virtual-method>
		<method name="get_transcoding" c:identifier="rygel_base_configuration_get_transcoding" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_transcoding" invoker="get_transcoding" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_allow_upload" c:identifier="rygel_base_configuration_get_allow_upload" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_allow_upload" invoker="get_allow_upload" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_allow_deletion" c:identifier="rygel_base_configuration_get_allow_deletion" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_allow_deletion" invoker="get_allow_deletion" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_log_levels" c:identifier="rygel_base_configuration_get_log_levels" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_log_levels" invoker="get_log_levels" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_plugin_path" c:identifier="rygel_base_configuration_get_plugin_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_plugin_path" invoker="get_plugin_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_engine_path" c:identifier="rygel_base_configuration_get_engine_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_engine_path" invoker="get_engine_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_media_engine" c:identifier="rygel_base_configuration_get_media_engine" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_media_engine" invoker="get_media_engine" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_video_upload_folder" c:identifier="rygel_base_configuration_get_video_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_video_upload_folder" invoker="get_video_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_music_upload_folder" c:identifier="rygel_base_configuration_get_music_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_music_upload_folder" invoker="get_music_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_picture_upload_folder" c:identifier="rygel_base_configuration_get_picture_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_picture_upload_folder" invoker="get_picture_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_enabled" c:identifier="rygel_base_configuration_get_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_enabled" invoker="get_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_title" c:identifier="rygel_base_configuration_get_title" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_title" invoker="get_title" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_string" c:identifier="rygel_base_configuration_get_string" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_string" invoker="get_string" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_string_list" c:identifier="rygel_base_configuration_get_string_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="utf8" c:type="gchar*"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_string_list" invoker="get_string_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="utf8" c:type="gchar*"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_int" c:identifier="rygel_base_configuration_get_int" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="min" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
				<parameter name="max" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_int" invoker="get_int" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="min" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
				<parameter name="max" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_int_list" c:identifier="rygel_base_configuration_get_int_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="gint" c:type="gint"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_int_list" invoker="get_int_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="gint" c:type="gint"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_bool" c:identifier="rygel_base_configuration_get_bool" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_bool" invoker="get_bool" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<constructor name="new" c:identifier="rygel_base_configuration_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
			</return-value>
		</constructor>
	</class>
	<record name="BaseConfigurationClass" c:type="RygelBaseConfigurationClass" glib:is-gtype-struct-for="BaseConfiguration">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
				<field name="get_upnp_enabled">
			<callback name="get_upnp_enabled" c:type="get_upnp_enabled" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_interface">
			<callback name="get_interface" c:type="get_interface" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_interfaces">
			<callback name="get_interfaces" c:type="get_interfaces" throws="1">
				<annotation key="ccode.array-null-terminated" value="true"/>
				<annotation key="ccode.array-length" value="false"/>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="gchar*"/>
					</array>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_port">
			<callback name="get_port" c:type="get_port" throws="1">
				<return-value transfer-ownership="full">
					<type name="gint" c:type="gint"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_transcoding">
			<callback name="get_transcoding" c:type="get_transcoding" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_allow_upload">
			<callback name="get_allow_upload" c:type="get_allow_upload" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_allow_deletion">
			<callback name="get_allow_deletion" c:type="get_allow_deletion" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_log_levels">
			<callback name="get_log_levels" c:type="get_log_levels" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_plugin_path">
			<callback name="get_plugin_path" c:type="get_plugin_path" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_engine_path">
			<callback name="get_engine_path" c:type="get_engine_path" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_media_engine">
			<callback name="get_media_engine" c:type="get_media_engine" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_video_upload_folder">
			<callback name="get_video_upload_folder" c:type="get_video_upload_folder" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_music_upload_folder">
			<callback name="get_music_upload_folder" c:type="get_music_upload_folder" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_picture_upload_folder">
			<callback name="get_picture_upload_folder" c:type="get_picture_upload_folder" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_enabled">
			<callback name="get_enabled" c:type="get_enabled" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_title">
			<callback name="get_title" c:type="get_title" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_string">
			<callback name="get_string" c:type="get_string" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_string_list">
			<callback name="get_string_list" c:type="get_string_list" throws="1">
				<return-value transfer-ownership="full">
					<type name="Gee.ArrayList" c:type="GeeArrayList*">
						<type name="utf8" c:type="gchar*"/>
					</type>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_int">
			<callback name="get_int" c:type="get_int" throws="1">
				<return-value transfer-ownership="full">
					<type name="gint" c:type="gint"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="min" transfer-ownership="none">
						<type name="gint" c:type="gint"/>
					</parameter>
					<parameter name="max" transfer-ownership="none">
						<type name="gint" c:type="gint"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_int_list">
			<callback name="get_int_list" c:type="get_int_list" throws="1">
				<return-value transfer-ownership="full">
					<type name="Gee.ArrayList" c:type="GeeArrayList*">
						<type name="gint" c:type="gint"/>
					</type>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
				<field name="get_bool">
			<callback name="get_bool" c:type="get_bool" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.BaseConfiguration" c:type="RygelBaseConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
	</record>
	<record name="BaseConfigurationPrivate" c:type="RygelBaseConfigurationPrivate" disguised="1"/>
	<class name="V1Hacks" c:type="RygelV1Hacks" glib:type-name="RygelV1Hacks" glib:get-type="rygel_v1_hacks_get_type" glib:type-struct="V1HacksClass" parent="GObject.Object">
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="V1HacksPrivate" c:type="RygelV1HacksPrivate*"/>
		</field>
		<field name="description_path">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<constructor name="new" c:identifier="rygel_v1_hacks_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.V1Hacks" c:type="RygelV1Hacks*"/>
			</return-value>
			<parameters>
				<parameter name="device_type" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="service_types" transfer-ownership="none">
					<array length="2">
						<type name="utf8" c:type="gchar*"/>
					</array>
				</parameter>
				<parameter name="service_types_length1" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
			</parameters>
		</constructor>
		<method name="apply_on_device" c:identifier="rygel_v1_hacks_apply_on_device" throws="1">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="device" transfer-ownership="none">
					<type name="RygelCore.RootDevice" c:type="RygelRootDevice*"/>
				</parameter>
				<parameter name="template_path" transfer-ownership="none" allow-none="1">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<property name="device-type" writable="1" construct="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_device_type" c:identifier="rygel_v1_hacks_get_device_type">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<method name="set_device_type" c:identifier="rygel_v1_hacks_set_device_type">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<property name="service-types" writable="1" construct-only="1">
			<array>
				<type name="utf8" c:type="gchar*"/>
			</array>
		</property>
		<method name="get_service_types" c:identifier="rygel_v1_hacks_get_service_types">
			<return-value transfer-ownership="none">
				<array length="0">
					<type name="utf8" c:type="gchar*"/>
				</array>
			</return-value>
			<parameters>
				<parameter name="result_length1" direction="out" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
			</parameters>
		</method>
	</class>
	<record name="V1HacksClass" c:type="RygelV1HacksClass" glib:is-gtype-struct-for="V1Hacks">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
	</record>
	<record name="V1HacksPrivate" c:type="RygelV1HacksPrivate" disguised="1"/>
	<record name="IconInfo">
		<field name="mime_type">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="uri">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="file_extension">
			<type name="utf8" c:type="gchar*"/>
		</field>
		<field name="size">
			<type name="gint64" c:type="gint64"/>
		</field>
		<field name="width">
			<type name="gint" c:type="gint"/>
		</field>
		<field name="height">
			<type name="gint" c:type="gint"/>
		</field>
		<field name="depth">
			<type name="gint" c:type="gint"/>
		</field>
		<constructor name="new" c:identifier="rygel_icon_info_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.IconInfo" c:type="RygelIconInfo*"/>
			</return-value>
			<parameters>
				<parameter name="mime_type" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="file_extension" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</constructor>
	</record>
	<record name="XMLUtils">
		<constructor name="new" c:identifier="rygel_xml_utils_new">
			<return-value transfer-ownership="full">
				<type name="RygelCore.XMLUtils" c:type="RygelXMLUtils*"/>
			</return-value>
		</constructor>
	</record>
	<class name="PluginInformation" c:type="RygelPluginInformation" glib:type-name="RygelPluginInformation" glib:get-type="rygel_plugin_information_get_type" glib:type-struct="PluginInformationClass" parent="GObject.Object">
		<field name="parent_instance">
			<type name="GObject.Object" c:type="GObject"/>
		</field>
		<field name="priv">
			<type name="PluginInformationPrivate" c:type="RygelPluginInformationPrivate*"/>
		</field>
		<function name="new_from_file" c:identifier="rygel_plugin_information_new_from_file" throws="1">
			<return-value transfer-ownership="full">
				<type name="RygelCore.PluginInformation" c:type="RygelPluginInformation*"/>
			</return-value>
			<parameters>
				<parameter name="file" transfer-ownership="none">
					<type name="Gio.File" c:type="GFile*"/>
				</parameter>
			</parameters>
		</function>
		<property name="module-path" writable="1" construct-only="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_module_path" c:identifier="rygel_plugin_information_get_module_path">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
		<property name="name" writable="1" construct-only="1">
			<type name="utf8" c:type="gchar*"/>
		</property>
		<method name="get_name" c:identifier="rygel_plugin_information_get_name">
			<return-value transfer-ownership="none">
				<type name="utf8" c:type="const gchar*"/>
			</return-value>
		</method>
	</class>
	<record name="PluginInformationClass" c:type="RygelPluginInformationClass" glib:is-gtype-struct-for="PluginInformation">
		<field name="parent_class">
			<type name="GObject.ObjectClass" c:type="GObjectClass"/>
		</field>
	</record>
	<record name="PluginInformationPrivate" c:type="RygelPluginInformationPrivate" disguised="1"/>
	<interface name="DBusInterface" c:type="RygelDBusInterface" glib:type-name="RygelDBusInterface" glib:get-type="rygel_dbus_interface_get_type" glib:type-struct="DBusInterfaceIface">
		<prerequisite name="GObject.Object"/>
		<annotation key="dbus.name" value="org.gnome.Rygel1"/>
		<method name="shutdown" c:identifier="rygel_dbus_interface_shutdown" throws="1">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
		</method>
		<virtual-method name="shutdown" invoker="shutdown" throws="1">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
		</virtual-method>
		<constant name="SERVICE_NAME" c:identifier="RYGEL_DBUS_INTERFACE_SERVICE_NAME" value="org.gnome.Rygel1">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
		<constant name="OBJECT_PATH" c:identifier="RYGEL_DBUS_INTERFACE_OBJECT_PATH" value="/org/gnome/Rygel1">
			<type name="utf8" c:type="const gchar*"/>
		</constant>
	</interface>
	<record name="DBusInterfaceIface" c:type="RygelDBusInterfaceIface" glib:is-gtype-struct-for="DBusInterface">
		<field name="parent_iface">
			<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
		</field>
		<field name="shutdown">
			<callback name="shutdown" c:type="shutdown" throws="1">
				<return-value transfer-ownership="full">
					<type name="none"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.DBusInterface" c:type="RygelDBusInterface*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
	</record>
	<interface name="Configuration" c:type="RygelConfiguration" glib:type-name="RygelConfiguration" glib:get-type="rygel_configuration_get_type" glib:type-struct="ConfigurationIface">
		<prerequisite name="GObject.Object"/>
		<method name="get_upnp_enabled" c:identifier="rygel_configuration_get_upnp_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_upnp_enabled" invoker="get_upnp_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_interface" c:identifier="rygel_configuration_get_interface" throws="1" deprecated="Use get_interfaces" deprecated-version="0.19.2">
			<annotation key="deprecated.replacement" value="get_interfaces"/>
			<annotation key="deprecated.since" value="0.19.2"/>
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_interface" invoker="get_interface" throws="1" deprecated="Use get_interfaces" deprecated-version="0.19.2">
			<annotation key="deprecated.replacement" value="get_interfaces"/>
			<annotation key="deprecated.since" value="0.19.2"/>
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_interfaces" c:identifier="rygel_configuration_get_interfaces" throws="1">
			<annotation key="ccode.array-null-terminated" value="true"/>
			<annotation key="ccode.array-length" value="false"/>
			<return-value transfer-ownership="full">
				<array>
					<type name="utf8" c:type="gchar*"/>
				</array>
			</return-value>
		</method>
		<virtual-method name="get_interfaces" invoker="get_interfaces" throws="1">
			<annotation key="ccode.array-null-terminated" value="true"/>
			<annotation key="ccode.array-length" value="false"/>
			<return-value transfer-ownership="full">
				<array>
					<type name="utf8" c:type="gchar*"/>
				</array>
			</return-value>
		</virtual-method>
		<method name="get_port" c:identifier="rygel_configuration_get_port" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
		</method>
		<virtual-method name="get_port" invoker="get_port" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
		</virtual-method>
		<method name="get_transcoding" c:identifier="rygel_configuration_get_transcoding" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_transcoding" invoker="get_transcoding" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_allow_upload" c:identifier="rygel_configuration_get_allow_upload" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_allow_upload" invoker="get_allow_upload" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_allow_deletion" c:identifier="rygel_configuration_get_allow_deletion" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</method>
		<virtual-method name="get_allow_deletion" invoker="get_allow_deletion" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
		</virtual-method>
		<method name="get_log_levels" c:identifier="rygel_configuration_get_log_levels" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_log_levels" invoker="get_log_levels" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_plugin_path" c:identifier="rygel_configuration_get_plugin_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_plugin_path" invoker="get_plugin_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_engine_path" c:identifier="rygel_configuration_get_engine_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_engine_path" invoker="get_engine_path" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_media_engine" c:identifier="rygel_configuration_get_media_engine" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_media_engine" invoker="get_media_engine" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_video_upload_folder" c:identifier="rygel_configuration_get_video_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_video_upload_folder" invoker="get_video_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_music_upload_folder" c:identifier="rygel_configuration_get_music_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_music_upload_folder" invoker="get_music_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_picture_upload_folder" c:identifier="rygel_configuration_get_picture_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</method>
		<virtual-method name="get_picture_upload_folder" invoker="get_picture_upload_folder" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
		</virtual-method>
		<method name="get_enabled" c:identifier="rygel_configuration_get_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_enabled" invoker="get_enabled" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_title" c:identifier="rygel_configuration_get_title" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_title" invoker="get_title" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_string" c:identifier="rygel_configuration_get_string" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_string" invoker="get_string" throws="1">
			<return-value transfer-ownership="full">
				<type name="utf8" c:type="gchar*"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_string_list" c:identifier="rygel_configuration_get_string_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="utf8" c:type="gchar*"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_string_list" invoker="get_string_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="utf8" c:type="gchar*"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_int" c:identifier="rygel_configuration_get_int" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="min" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
				<parameter name="max" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_int" invoker="get_int" throws="1">
			<return-value transfer-ownership="full">
				<type name="gint" c:type="gint"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="min" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
				<parameter name="max" transfer-ownership="none">
					<type name="gint" c:type="gint"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_int_list" c:identifier="rygel_configuration_get_int_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="gint" c:type="gint"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_int_list" invoker="get_int_list" throws="1">
			<return-value transfer-ownership="full">
				<type name="Gee.ArrayList" c:type="GeeArrayList*">
					<type name="gint" c:type="gint"/>
				</type>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<method name="get_bool" c:identifier="rygel_configuration_get_bool" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="get_bool" invoker="get_bool" throws="1">
			<return-value transfer-ownership="full">
				<type name="gboolean" c:type="gboolean"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<glib:signal name="configuration_changed">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="entry" transfer-ownership="none">
					<type name="RygelCore.ConfigurationEntry" c:type="RygelConfigurationEntry"/>
				</parameter>
			</parameters>
		</glib:signal>
		<glib:signal name="section_changed">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="entry" transfer-ownership="none">
					<type name="RygelCore.SectionEntry" c:type="RygelSectionEntry"/>
				</parameter>
			</parameters>
		</glib:signal>
		<glib:signal name="setting_changed">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="section" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
				<parameter name="key" transfer-ownership="none">
					<type name="utf8" c:type="const gchar*"/>
				</parameter>
			</parameters>
		</glib:signal>
	</interface>
	<record name="ConfigurationIface" c:type="RygelConfigurationIface" glib:is-gtype-struct-for="Configuration">
		<field name="parent_iface">
			<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
		</field>
		<field name="get_upnp_enabled">
			<callback name="get_upnp_enabled" c:type="get_upnp_enabled" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_interface">
			<callback name="get_interface" c:type="get_interface" throws="1" deprecated="Use get_interfaces" deprecated-version="0.19.2">
				<annotation key="deprecated.replacement" value="get_interfaces"/>
				<annotation key="deprecated.since" value="0.19.2"/>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_interfaces">
			<callback name="get_interfaces" c:type="get_interfaces" throws="1">
				<annotation key="ccode.array-null-terminated" value="true"/>
				<annotation key="ccode.array-length" value="false"/>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="gchar*"/>
					</array>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_port">
			<callback name="get_port" c:type="get_port" throws="1">
				<return-value transfer-ownership="full">
					<type name="gint" c:type="gint"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_transcoding">
			<callback name="get_transcoding" c:type="get_transcoding" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_allow_upload">
			<callback name="get_allow_upload" c:type="get_allow_upload" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_allow_deletion">
			<callback name="get_allow_deletion" c:type="get_allow_deletion" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_log_levels">
			<callback name="get_log_levels" c:type="get_log_levels" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_plugin_path">
			<callback name="get_plugin_path" c:type="get_plugin_path" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_engine_path">
			<callback name="get_engine_path" c:type="get_engine_path" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_media_engine">
			<callback name="get_media_engine" c:type="get_media_engine" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_video_upload_folder">
			<callback name="get_video_upload_folder" c:type="get_video_upload_folder" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_music_upload_folder">
			<callback name="get_music_upload_folder" c:type="get_music_upload_folder" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_picture_upload_folder">
			<callback name="get_picture_upload_folder" c:type="get_picture_upload_folder" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_enabled">
			<callback name="get_enabled" c:type="get_enabled" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_title">
			<callback name="get_title" c:type="get_title" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_string">
			<callback name="get_string" c:type="get_string" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="gchar*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_string_list">
			<callback name="get_string_list" c:type="get_string_list" throws="1">
				<return-value transfer-ownership="full">
					<type name="Gee.ArrayList" c:type="GeeArrayList*">
						<type name="utf8" c:type="gchar*"/>
					</type>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_int">
			<callback name="get_int" c:type="get_int" throws="1">
				<return-value transfer-ownership="full">
					<type name="gint" c:type="gint"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="min" transfer-ownership="none">
						<type name="gint" c:type="gint"/>
					</parameter>
					<parameter name="max" transfer-ownership="none">
						<type name="gint" c:type="gint"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_int_list">
			<callback name="get_int_list" c:type="get_int_list" throws="1">
				<return-value transfer-ownership="full">
					<type name="Gee.ArrayList" c:type="GeeArrayList*">
						<type name="gint" c:type="gint"/>
					</type>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_bool">
			<callback name="get_bool" c:type="get_bool" throws="1">
				<return-value transfer-ownership="full">
					<type name="gboolean" c:type="gboolean"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.Configuration" c:type="RygelConfiguration*"/>
					</parameter>
					<parameter name="section" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const gchar*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
	</record>
	<interface name="StateMachine" c:type="RygelStateMachine" glib:type-name="RygelStateMachine" glib:get-type="rygel_state_machine_get_type" glib:type-struct="StateMachineIface">
		<prerequisite name="GObject.Object"/>
		<method name="run" c:identifier="rygel_state_machine_run">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
					<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
				</parameter>
				<parameter name="_callback__target" transfer-ownership="none" allow-none="1">
					<type name="gpointer" c:type="void*"/>
				</parameter>
			</parameters>
		</method>
		<method name="run_finish" c:identifier="rygel_state_machine_run_finish">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="_res_" transfer-ownership="none">
					<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="run" invoker="run">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
					<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
				</parameter>
				<parameter name="_callback__target" transfer-ownership="none" allow-none="1">
					<type name="gpointer" c:type="void*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<virtual-method name="run_finish" invoker="run_finish">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="_res_" transfer-ownership="none">
					<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<property name="cancellable" writable="1">
			<type name="Gio.Cancellable" c:type="GCancellable*"/>
		</property>
		<method name="get_cancellable" c:identifier="rygel_state_machine_get_cancellable">
			<return-value transfer-ownership="none">
				<type name="Gio.Cancellable" c:type="GCancellable*"/>
			</return-value>
		</method>
		<virtual-method name="get_cancellable" invoker="get_cancellable">
			<return-value transfer-ownership="none">
				<type name="Gio.Cancellable" c:type="GCancellable*"/>
			</return-value>
		</virtual-method>
		<method name="set_cancellable" c:identifier="rygel_state_machine_set_cancellable">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="Gio.Cancellable" c:type="GCancellable*"/>
				</parameter>
			</parameters>
		</method>
		<virtual-method name="set_cancellable" invoker="set_cancellable">
			<return-value transfer-ownership="none">
				<type name="none"/>
			</return-value>
			<parameters>
				<parameter name="value" transfer-ownership="none">
					<type name="Gio.Cancellable" c:type="GCancellable*"/>
				</parameter>
			</parameters>
		</virtual-method>
		<glib:signal name="completed">
			<return-value transfer-ownership="full">
				<type name="none"/>
			</return-value>
		</glib:signal>
	</interface>
	<record name="StateMachineIface" c:type="RygelStateMachineIface" glib:is-gtype-struct-for="StateMachine">
		<field name="parent_iface">
			<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
		</field>
		<field name="run">
			<callback name="run" c:type="run">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.StateMachine" c:type="RygelStateMachine*"/>
					</parameter>
					<parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
						<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
					</parameter>
					<parameter name="_callback__target" transfer-ownership="none" allow-none="1">
						<type name="gpointer" c:type="void*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="run_finish">
			<callback name="run_finish" c:type="run_finish">
				<return-value transfer-ownership="full">
					<type name="none"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.StateMachine" c:type="RygelStateMachine*"/>
					</parameter>
					<parameter name="_res_" transfer-ownership="none">
						<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="get_cancellable">
			<callback name="get_cancellable" c:type="get_cancellable">
				<return-value transfer-ownership="none">
					<type name="Gio.Cancellable" c:type="GCancellable*"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.StateMachine" c:type="RygelStateMachine*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
		<field name="set_cancellable">
			<callback name="set_cancellable" c:type="set_cancellable">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="RygelCore.StateMachine" c:type="RygelStateMachine*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="Gio.Cancellable" c:type="GCancellable*"/>
					</parameter>
				</parameters>
			</callback>
		</field>
	</record>
	<function name="get_pretty_host_name" c:identifier="rygel_get_pretty_host_name">
		<return-value transfer-ownership="full">
			<type name="utf8" c:type="gchar*"/>
		</return-value>
	</function>
</namespace>
<enumeration name="RootDeviceFactoryError" c:type="RootDeviceFactoryError" glib:error-domain="root_device_factory_error-quark">
	<member name="xml_parse" c:identifier="ROOT_DEVICE_FACTORY_ERROR_XML_PARSE" value="0"/>
</enumeration>
</repository>
