<?xml version="1.0"?>
<repository version="1.0" 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">
	<package name="freesmartphone-1.0"/>
	<c:include name="freesmartphone.h"/>
	<namespace name="FreeSmartphone" version="1.0">
		<interface name="Phone" c:type="FreeSmartphonePhone" glib:type-name="FreeSmartphonePhone" glib:get-type="free_smartphone_phone_get_type" glib:type-struct="PhoneIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Phone"/>
			<method name="init_protocols" c:identifier="free_smartphone_phone_init_protocols" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</method>
			<virtual-method name="init_protocols" invoker="init_protocols" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</virtual-method>
			<method name="create_call" c:identifier="free_smartphone_phone_create_call" throws="1">
				<parameters>
					<parameter name="number" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="protocol" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="force" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="DBus.ObjectPath" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="create_call" invoker="create_call" throws="1">
				<parameters>
					<parameter name="number" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="protocol" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="force" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="DBus.ObjectPath" c:type="char*"/>
				</return-value>
			</virtual-method>
			<glib:signal name="incoming">
				<parameters>
					<parameter name="call" transfer-ownership="none">
						<type name="DBus.ObjectPath" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
		</interface>
		<record name="PhoneIface" c:type="FreeSmartphonePhoneIface" glib:is-gtype-struct-for="Phone">
			<callback name="init_protocols" c:type="free_smartphone_phone_init_protocols" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Phone" c:type="FreeSmartphonePhone*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</callback>
			<callback name="create_call" c:type="free_smartphone_phone_create_call" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Phone" c:type="FreeSmartphonePhone*"/>
					</parameter>
					<parameter name="number" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="protocol" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="force" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="DBus.ObjectPath" c:type="char*"/>
				</return-value>
			</callback>
		</record>
		<interface name="Resource" c:type="FreeSmartphoneResource" glib:type-name="FreeSmartphoneResource" glib:get-type="free_smartphone_resource_get_type" glib:type-struct="ResourceIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Resource"/>
			<method name="enable" c:identifier="free_smartphone_resource_enable" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="enable" invoker="enable" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="disable" c:identifier="free_smartphone_resource_disable" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="disable" invoker="disable" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="suspend" c:identifier="free_smartphone_resource_suspend" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="suspend" invoker="suspend" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="resume" c:identifier="free_smartphone_resource_resume" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="resume" invoker="resume" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
		</interface>
		<record name="ResourceIface" c:type="FreeSmartphoneResourceIface" glib:is-gtype-struct-for="Resource">
			<callback name="enable" c:type="free_smartphone_resource_enable" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Resource" c:type="FreeSmartphoneResource*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="disable" c:type="free_smartphone_resource_disable" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Resource" c:type="FreeSmartphoneResource*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="suspend" c:type="free_smartphone_resource_suspend" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Resource" c:type="FreeSmartphoneResource*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="resume" c:type="free_smartphone_resource_resume" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Resource" c:type="FreeSmartphoneResource*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
		</record>
		<interface name="PhoneCall" c:type="FreeSmartphonePhoneCall" glib:type-name="FreeSmartphonePhoneCall" glib:get-type="free_smartphone_phone_call_get_type" glib:type-struct="PhoneCallIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Phone.Call"/>
			<method name="get_peer" c:identifier="free_smartphone_phone_call_get_peer" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="get_peer" invoker="get_peer" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="initiate" c:identifier="free_smartphone_phone_call_initiate" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="initiate" invoker="initiate" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="activate" c:identifier="free_smartphone_phone_call_activate" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="activate" invoker="activate" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="release" c:identifier="free_smartphone_phone_call_release" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="release" invoker="release" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="get_status" c:identifier="free_smartphone_phone_call_get_status" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="get_status" invoker="get_status" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="remove" c:identifier="free_smartphone_phone_call_remove" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="remove" invoker="remove" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<glib:signal name="incoming">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
			<glib:signal name="outgoing">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
			<glib:signal name="released">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
			<glib:signal name="activated">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
		</interface>
		<record name="PhoneCallIface" c:type="FreeSmartphonePhoneCallIface" glib:is-gtype-struct-for="PhoneCall">
			<callback name="get_peer" c:type="free_smartphone_phone_call_get_peer" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PhoneCall" c:type="FreeSmartphonePhoneCall*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="initiate" c:type="free_smartphone_phone_call_initiate" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PhoneCall" c:type="FreeSmartphonePhoneCall*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="activate" c:type="free_smartphone_phone_call_activate" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PhoneCall" c:type="FreeSmartphonePhoneCall*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="release" c:type="free_smartphone_phone_call_release" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PhoneCall" c:type="FreeSmartphonePhoneCall*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="get_status" c:type="free_smartphone_phone_call_get_status" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PhoneCall" c:type="FreeSmartphonePhoneCall*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="remove" c:type="free_smartphone_phone_call_remove" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PhoneCall" c:type="FreeSmartphonePhoneCall*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
		</record>
		<interface name="Preferences" c:type="FreeSmartphonePreferences" glib:type-name="FreeSmartphonePreferences" glib:get-type="free_smartphone_preferences_get_type" glib:type-struct="PreferencesIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Preferences"/>
			<method name="get_services" c:identifier="free_smartphone_preferences_get_services" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</method>
			<virtual-method name="get_services" invoker="get_services" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</virtual-method>
			<method name="get_service" c:identifier="free_smartphone_preferences_get_service" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="DBus.ObjectPath" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="get_service" invoker="get_service" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="DBus.ObjectPath" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="get_profiles" c:identifier="free_smartphone_preferences_get_profiles" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</method>
			<virtual-method name="get_profiles" invoker="get_profiles" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</virtual-method>
			<method name="get_profile" c:identifier="free_smartphone_preferences_get_profile" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="get_profile" invoker="get_profile" throws="1">
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="set_profile" c:identifier="free_smartphone_preferences_set_profile" throws="1">
				<parameters>
					<parameter name="profile" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="set_profile" invoker="set_profile" throws="1">
				<parameters>
					<parameter name="profile" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
		</interface>
		<record name="PreferencesIface" c:type="FreeSmartphonePreferencesIface" glib:is-gtype-struct-for="Preferences">
			<callback name="get_services" c:type="free_smartphone_preferences_get_services" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Preferences" c:type="FreeSmartphonePreferences*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</callback>
			<callback name="get_service" c:type="free_smartphone_preferences_get_service" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Preferences" c:type="FreeSmartphonePreferences*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="DBus.ObjectPath" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="get_profiles" c:type="free_smartphone_preferences_get_profiles" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Preferences" c:type="FreeSmartphonePreferences*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</callback>
			<callback name="get_profile" c:type="free_smartphone_preferences_get_profile" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Preferences" c:type="FreeSmartphonePreferences*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="set_profile" c:type="free_smartphone_preferences_set_profile" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Preferences" c:type="FreeSmartphonePreferences*"/>
					</parameter>
					<parameter name="profile" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
		</record>
		<interface name="Usage" c:type="FreeSmartphoneUsage" glib:type-name="FreeSmartphoneUsage" glib:get-type="free_smartphone_usage_get_type" glib:type-struct="UsageIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Usage"/>
			<method name="list_resources" c:identifier="free_smartphone_usage_list_resources" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</method>
			<virtual-method name="list_resources" invoker="list_resources" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</virtual-method>
			<method name="get_resource_policy" c:identifier="free_smartphone_usage_get_resource_policy" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="get_resource_policy" invoker="get_resource_policy" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<method name="set_resource_policy" c:identifier="free_smartphone_usage_set_resource_policy" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="policy" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="set_resource_policy" invoker="set_resource_policy" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="policy" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="get_resource_state" c:identifier="free_smartphone_usage_get_resource_state" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="boolean" c:type="gboolean"/>
				</return-value>
			</method>
			<virtual-method name="get_resource_state" invoker="get_resource_state" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="boolean" c:type="gboolean"/>
				</return-value>
			</virtual-method>
			<method name="get_resource_users" c:identifier="free_smartphone_usage_get_resource_users" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</method>
			<virtual-method name="get_resource_users" invoker="get_resource_users" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</virtual-method>
			<method name="request_resource" c:identifier="free_smartphone_usage_request_resource" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="request_resource" invoker="request_resource" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="release_resource" c:identifier="free_smartphone_usage_release_resource" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="release_resource" invoker="release_resource" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="suspend" c:identifier="free_smartphone_usage_suspend" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="suspend" invoker="suspend" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="shutdown" c:identifier="free_smartphone_usage_shutdown" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="shutdown" invoker="shutdown" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="reboot" c:identifier="free_smartphone_usage_reboot" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="reboot" invoker="reboot" throws="1">
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<glib:signal name="resource_available">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="availability" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
			<glib:signal name="resource_changed">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="state" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
					<parameter name="attributes" transfer-ownership="none">
						<type name="GLib.HashTable" c:type="GHashTable*">
							<type name="utf8" c:type="char*"/>
							<type name="GLib.Value" c:type="GValue*"/>
						</type>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
			<glib:signal name="system_action">
				<parameters>
					<parameter name="action" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
		</interface>
		<record name="UsageIface" c:type="FreeSmartphoneUsageIface" glib:is-gtype-struct-for="Usage">
			<callback name="list_resources" c:type="free_smartphone_usage_list_resources" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</callback>
			<callback name="get_resource_policy" c:type="free_smartphone_usage_get_resource_policy" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
			<callback name="set_resource_policy" c:type="free_smartphone_usage_set_resource_policy" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="policy" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="get_resource_state" c:type="free_smartphone_usage_get_resource_state" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="boolean" c:type="gboolean"/>
				</return-value>
			</callback>
			<callback name="get_resource_users" c:type="free_smartphone_usage_get_resource_users" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</callback>
			<callback name="request_resource" c:type="free_smartphone_usage_request_resource" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="release_resource" c:type="free_smartphone_usage_release_resource" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="suspend" c:type="free_smartphone_usage_suspend" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="shutdown" c:type="free_smartphone_usage_shutdown" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="reboot" c:type="free_smartphone_usage_reboot" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Usage" c:type="FreeSmartphoneUsage*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
		</record>
		<interface name="Network" c:type="FreeSmartphoneNetwork" glib:type-name="FreeSmartphoneNetwork" glib:get-type="free_smartphone_network_get_type" glib:type-struct="NetworkIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Network"/>
			<method name="start_connection_sharing_with_interface" c:identifier="free_smartphone_network_start_connection_sharing_with_interface" throws="1">
				<parameters>
					<parameter name="interface" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="start_connection_sharing_with_interface" invoker="start_connection_sharing_with_interface" throws="1">
				<parameters>
					<parameter name="interface" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
		</interface>
		<record name="NetworkIface" c:type="FreeSmartphoneNetworkIface" glib:is-gtype-struct-for="Network">
			<callback name="start_connection_sharing_with_interface" c:type="free_smartphone_network_start_connection_sharing_with_interface" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Network" c:type="FreeSmartphoneNetwork*"/>
					</parameter>
					<parameter name="interface" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
		</record>
		<interface name="Events" c:type="FreeSmartphoneEvents" glib:type-name="FreeSmartphoneEvents" glib:get-type="free_smartphone_events_get_type" glib:type-struct="EventsIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Events"/>
			<method name="add_rule" c:identifier="free_smartphone_events_add_rule" throws="1">
				<parameters>
					<parameter name="rule" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="add_rule" invoker="add_rule" throws="1">
				<parameters>
					<parameter name="rule" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="remove_rule" c:identifier="free_smartphone_events_remove_rule" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="remove_rule" invoker="remove_rule" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="trigger_test" c:identifier="free_smartphone_events_trigger_test" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="trigger_test" invoker="trigger_test" throws="1">
				<parameters>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
		</interface>
		<record name="EventsIface" c:type="FreeSmartphoneEventsIface" glib:is-gtype-struct-for="Events">
			<callback name="add_rule" c:type="free_smartphone_events_add_rule" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Events" c:type="FreeSmartphoneEvents*"/>
					</parameter>
					<parameter name="rule" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="remove_rule" c:type="free_smartphone_events_remove_rule" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Events" c:type="FreeSmartphoneEvents*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="trigger_test" c:type="free_smartphone_events_trigger_test" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.Events" c:type="FreeSmartphoneEvents*"/>
					</parameter>
					<parameter name="name" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="boolean" c:type="gboolean"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
		</record>
		<interface name="PreferencesService" c:type="FreeSmartphonePreferencesService" glib:type-name="FreeSmartphonePreferencesService" glib:get-type="free_smartphone_preferences_service_get_type" glib:type-struct="PreferencesServiceIface">
			<requires>
				<object name="GLib.Object"/>
			</requires>
			<annotation key="dbus.name" value="org.freesmartphone.Preferences.Service"/>
			<method name="get_keys" c:identifier="free_smartphone_preferences_service_get_keys" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</method>
			<virtual-method name="get_keys" invoker="get_keys" throws="1">
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</virtual-method>
			<method name="get_value" c:identifier="free_smartphone_preferences_service_get_value" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="GLib.Value" c:type="GValue"/>
				</return-value>
			</method>
			<virtual-method name="get_value" invoker="get_value" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="GLib.Value" c:type="GValue"/>
				</return-value>
			</virtual-method>
			<method name="set_value" c:identifier="free_smartphone_preferences_service_set_value" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="GLib.Value" c:type="GValue"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</method>
			<virtual-method name="set_value" invoker="set_value" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="GLib.Value" c:type="GValue"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</virtual-method>
			<method name="is_profilable" c:identifier="free_smartphone_preferences_service_is_profilable" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="boolean" c:type="gboolean"/>
				</return-value>
			</method>
			<virtual-method name="is_profilable" invoker="is_profilable" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="boolean" c:type="gboolean"/>
				</return-value>
			</virtual-method>
			<method name="get_type_" c:identifier="free_smartphone_preferences_service_get_type_" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</method>
			<virtual-method name="get_type_" invoker="get_type_" throws="1">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</virtual-method>
			<glib:signal name="notify">
				<parameters>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="GLib.Value" c:type="GValue"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</glib:signal>
		</interface>
		<record name="PreferencesServiceIface" c:type="FreeSmartphonePreferencesServiceIface" glib:is-gtype-struct-for="PreferencesService">
			<callback name="get_keys" c:type="free_smartphone_preferences_service_get_keys" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PreferencesService" c:type="FreeSmartphonePreferencesService*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<array>
						<type name="utf8" c:type="char*"/>
					</array>
				</return-value>
			</callback>
			<callback name="get_value" c:type="free_smartphone_preferences_service_get_value" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PreferencesService" c:type="FreeSmartphonePreferencesService*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="GLib.Value" c:type="GValue"/>
				</return-value>
			</callback>
			<callback name="set_value" c:type="free_smartphone_preferences_service_set_value" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PreferencesService" c:type="FreeSmartphonePreferencesService*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
					<parameter name="value" transfer-ownership="none">
						<type name="GLib.Value" c:type="GValue"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="none">
					<type name="none"/>
				</return-value>
			</callback>
			<callback name="is_profilable" c:type="free_smartphone_preferences_service_is_profilable" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PreferencesService" c:type="FreeSmartphonePreferencesService*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="boolean" c:type="gboolean"/>
				</return-value>
			</callback>
			<callback name="get_type_" c:type="free_smartphone_preferences_service_get_type_" throws="1">
				<parameters>
					<parameter name="self" transfer-ownership="none">
						<type name="FreeSmartphone.PreferencesService" c:type="FreeSmartphonePreferencesService*"/>
					</parameter>
					<parameter name="key" transfer-ownership="none">
						<type name="utf8" c:type="const char*"/>
					</parameter>
				</parameters>
				<return-value transfer-ownership="full">
					<type name="utf8" c:type="char*"/>
				</return-value>
			</callback>
		</record>
	</namespace>
</repository>
