<?xml version="1.0" ?>
<node name="/Channel_Interface_Call_Merging" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright> Copyright (C) 2005-2008 Collabora Limited </tp:copyright>
  <tp:copyright> Copyright (C) 2005-2008 Nokia Corporation </tp:copyright>
  <tp:copyright> Copyright (C) 2006 INdT </tp:copyright>
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Library General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  </tp:license>

  <interface name="org.freedesktop.Telepathy.Channel.Interface.CallMerging"
    tp:causes-havoc='not yet API-stable'>
    <tp:requires interface="org.freedesktop.Telepathy.Channel.Type.StreamedMedia"/>
    <tp:added version="0.17.1"/>

    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>Interface for streamed media channels that can be merged and split
        in the same sort of way as in GSM or PBX telephony.</p>
    </tp:docstring>

    <method name="Merge" tp:name-for-bindings="Merge">
      <arg direction="in" type="o" name="Other">
        <tp:docstring>
          The other channel to merge into this one
        </tp:docstring>
      </arg>
      <tp:docstring>
        Request that the given channel be merged into this one. This means
        that the other channel is closed, and all its participants are added
        to the channel on which this method was called.
      </tp:docstring>
      <tp:possible-errors>
        <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
        <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/>
        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"/>
        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"/>
      </tp:possible-errors>
    </method>

    <method name="Split" tp:name-for-bindings="Split">
      <arg direction="in" name="Contact" type="u" tp:type="Contact_Handle">
        <tp:docstring>
          The handle of the contact to split off a conversation with, who
          must be a member in the channel's Group interface
        </tp:docstring>
      </arg>
      <arg direction="out" name="Channel" type="o">
        <tp:docstring>
          The new channel
        </tp:docstring>
      </arg>
      <tp:docstring>
        Request that the given contact is removed from this channel, and
        a new channel is created to communicate with them privately instead.
        This is the inverse of <tp:member-ref>Merge</tp:member-ref>.
      </tp:docstring>
      <tp:possible-errors>
        <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
        <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/>
        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
        <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"/>
      </tp:possible-errors>
    </method>

  </interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->
