<?xml version="1.0" encoding="UTF-8"?>

<node name="/org/freedesktop/keyboard/Layout">
	<interface name="org.freedesktop.keyboard.Layout">
		<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="org_freedesktop_keyboard_Layout"/>
		<!--
			Get the list of currently configured (XKB) layouts/variants.
			The format of the returned strings is not specified. 
			The client should not make assumptions about the format, 
			but it can assign CurrentLayout to any of these strings
		-->
		<method name="GetConfiguredLayoutIds">
			<arg type="as" name="layoutIds"  direction="out" />
		</method>

		<!--
			String representation of the current layout.
			The format of the strings is not specified. 
			The client should not make assumptions about the format.
			The value of that property is restricted by the list 
			returned by GetConfiguredLayoutIds
		-->
		<property name="CurrentLayoutId" type="s" access="readwrite"/>

		<!--
			Get meta-data about layouts: 
			- descriptions (in utf8), 
			  separately for variants and layouts
			- country codes (ISO 3166)
			- language codes (ISO 639)
		-->
		<method name="GetProperties">
			<arg type="as" name="layoutIds"  direction="in" />
			<arg type="as" name="shortLayoutDescriptions"  direction="out" />
			<arg type="as" name="longLayoutDescriptions"   direction="out" />
			<arg type="as" name="shortVariantDescriptions" direction="out" />
			<arg type="as" name="longVariantDescriptions"  direction="out" />
			<arg type="as" name="countries"  direction="out" />
			<arg type="as" name="languages"  direction="out" />
		</method>
	</interface>
</node>
