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

  <copyright>
    Copyright © 2015-2016 Red Hat Inc.

    Permission is hereby granted, free of charge, to any person obtaining a
    copy of this software and associated documentation files (the "Software"),
    to deal in the Software without restriction, including without limitation
    the rights to use, copy, modify, merge, publish, distribute, sublicense,
    and/or sell copies of the Software, and to permit persons to whom the
    Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice (including the next
    paragraph) shall be included in all copies or substantial portions of the
    Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    DEALINGS IN THE SOFTWARE.
  </copyright>

  <description summary="Protocol for exporting xdg surface handles">
    This protocol specifies a way for making it possible to reference a surface
    of a different client. With such a reference, a client can, by using the
    interfaces provided by this protocol, manipulate the relationship between
    its own surfaces and the surface of some other client. For example, stack
    some of its own surface above the other clients surface.

    In order for a client A to get a reference of a surface of client B, client
    B must first export its surface using xdg_exporter.export_toplevel. Upon
    doing this, client B will receive a handle (a unique string) that it may
    share with client A in some way (for example D-Bus). After client A has
    received the handle from client B, it may use xdg_importer.import_toplevel
    to create a reference to the surface client B just exported. See the
    corresponding requests for details.

    A possible use case for this is out-of-process dialogs. For example when a
    sandboxed client without file system access needs the user to select a file
    on the file system, given sandbox environment support, it can export its
    surface, passing the exported surface handle to an unsandboxed process that
    can show a file browser dialog and stack it above the sandboxed client's
    surface.

    Warning! The protocol described in this file is experimental and backward
    incompatible changes may be made. Backward compatible changes may be added
    together with the corresponding interface version bump. Backward
    incompatible changes are done by bumping the version number in the protocol
    and interface names and resetting the interface version. Once the protocol
    is to be declared stable, the 'z' prefix and the version number in the
    protocol and interface names are removed and the interface version number is
    reset.
  </description>

  <interface name="zxdg_exporter_v2" version="1">
    <description summary="interface for exporting surfaces">
      A global interface used for exporting surfaces that can later be imported
      using xdg_importer.
    </description>

    <request name="destroy" type="destructor">
      <description summary="destroy the xdg_exporter object">
	Notify the compositor that the xdg_exporter object will no longer be
	used.
      </description>
    </request>

    <request name="export_toplevel">
      <description summary="export a toplevel surface">
	The export_toplevel request exports the passed surface so that it can later be
	imported via xdg_importer. When called, a new xdg_exported object will
	be created and xdg_exported.handle will be sent immediately. See the
	corresponding interface and event for details.

	A surface may be exported multiple times, and each exported handle may
	be used to create a xdg_imported multiple times. Only xdg_toplevel
	equivalent surfaces may be exported.
      </description>
      <arg name="id" type="new_id" interface="zxdg_exported_v2"
	   summary="the new xdg_exported object"/>
      <arg name="surface" type="object" interface="wl_surface"
	   summary="the surface to export"/>
    </request>
  </interface>

  <interface name="zxdg_importer_v2" version="1">
    <description summary="interface for importing surfaces">
      A global interface used for importing surfaces exported by xdg_exporter.
      With this interface, a client can create a reference to a surface of
      another client.
    </description>

    <request name="destroy" type="destructor">
      <description summary="destroy the xdg_importer object">
	Notify the compositor that the xdg_importer object will no longer be
	used.
      </description>
    </request>

    <request name="import_toplevel">
      <description summary="import a toplevel surface">
	The import_toplevel request imports a surface from any client given a handle
	retrieved by exporting said surface using xdg_exporter.export_toplevel.
	When called, a new xdg_imported object will be created. This new object
	represents the imported surface, and the importing client can
	manipulate its relationship using it. See xdg_imported for details.
      </description>
      <arg name="id" type="new_id" interface="zxdg_imported_v2"
	   summary="the new xdg_imported object"/>
      <arg name="handle" type="string"
	   summary="the exported surface handle"/>
    </request>
  </interface>

  <interface name="zxdg_exported_v2" version="1">
    <description summary="an exported surface handle">
      A xdg_exported object represents an exported reference to a surface. The
      exported surface may be referenced as long as the xdg_exported object not
      destroyed. Destroying the xdg_exported invalidates any relationship the
      importer may have established using xdg_imported.
    </description>

    <request name="destroy" type="destructor">
      <description summary="unexport the exported surface">
	Revoke the previously exported surface. This invalidates any
	relationship the importer may have set up using the xdg_imported created
	given the handle sent via xdg_exported.handle.
      </description>
    </request>

    <event name="handle">
      <description summary="the exported surface handle">
	The handle event contains the unique handle of this exported surface
	reference. It may be shared with any client, which then can use it to
	import the surface by calling xdg_importer.import_toplevel. A handle
	may be used to import the surface multiple times.
      </description>
      <arg name="handle" type="string" summary="the exported surface handle"/>
    </event>
  </interface>

  <interface name="zxdg_imported_v2" version="1">
    <description summary="an imported surface handle">
      A xdg_imported object represents an imported reference to surface exported
      by some client. A client can use this interface to manipulate
      relationships between its own surfaces and the imported surface.
    </description>

    <request name="destroy" type="destructor">
      <description summary="destroy the xdg_imported object">
	Notify the compositor that it will no longer use the xdg_imported
	object. Any relationship that may have been set up will at this point
	be invalidated.
      </description>
    </request>

    <request name="set_parent_of">
      <description summary="set as the parent of some surface">
	Set the imported surface as the parent of some surface of the client.
	The passed surface must be a xdg_toplevel equivalent. Calling this
	function sets up a surface to surface relation with the same stacking
	and positioning semantics as xdg_toplevel.set_parent.
      </description>
      <arg name="surface" type="object" interface="wl_surface"
	   summary="the child surface"/>
    </request>

    <event name="destroyed">
      <description summary="the imported surface handle has been destroyed">
	The imported surface handle has been destroyed and any relationship set
	up has been invalidated. This may happen for various reasons, for
	example if the exported surface or the exported surface handle has been
	destroyed, if the handle used for importing was invalid.
      </description>
    </event>
  </interface>

</protocol>
