1<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
2<node xmlns:dox="http://www.ayatana.org/dbus/dox.dtd">
3	<dox:d><![CDATA[
4	  @mainpage
5	 
6	  An interface to register menus that are associated with a window in an application.  The
7	  main interface is documented here: @ref com::canonical::AppMenu::Registrar.
8	    
9	  The actual menus are transported using the dbusmenu protocol which is available
10	  here: @ref com::canonical::dbusmenu.
11	]]></dox:d>
12	<interface name="com.canonical.AppMenu.Registrar" xmlns:dox="http://www.ayatana.org/dbus/dox.dtd">
13		<dox:d>
14		  An interface to register a menu from an application's window to be displayed in another
15		  window.  This manages that association between XWindow Window IDs and the dbus
16		  address and object that provides the menu using the dbusmenu dbus interface.
17		</dox:d>
18		<method name="RegisterWindow">
19			<dox:d><![CDATA[
20			  Associates a dbusmenu with a window
21	     
22			  /note this method assumes that the connection from the caller is the DBus connection
23			    to use for the object.  Applications that use multiple DBus connections will need to
24			    ensure this method is called with the same connection that implmenets the object.
25			]]></dox:d>
26			<arg name="windowId" type="u" direction="in">
27				<dox:d>The XWindow ID of the window</dox:d>
28			</arg>
29			<arg name="menuObjectPath" type="o" direction="in">
30				<dox:d>The object on the dbus interface implementing the dbusmenu interface</dox:d>
31			</arg>
32		</method>
33		<method name="UnregisterWindow">
34			<dox:d>
35			  A method to allow removing a window from the database.  Windows will also be removed
36			  when the client drops off DBus so this is not required.  It is polite though.  And
37			  important for testing.
38			</dox:d>
39			<arg name="windowId" type="u" direction="in">
40				<dox:d>The XWindow ID of the window</dox:d>
41			</arg>
42		</method>
43		<method name="GetMenuForWindow">
44			<dox:d>Gets the registered menu for a given window ID.</dox:d>
45			<arg name="windowId" type="u" direction="in">
46				<dox:d>The XWindow ID of the window to get</dox:d>
47			</arg>
48			<arg name="service" type="s" direction="out">
49				<dox:d>The address of the connection on DBus (e.g. :1.23 or org.example.service)</dox:d>
50			</arg>
51			<arg name="menuObjectPath" type="o" direction="out">
52				<dox:d>The path to the object which implements the com.canonical.dbusmenu interface.</dox:d>
53			</arg>
54		</method>
55	</interface>
56</node>
57