Methods
| GetAvailableStreamTubeTypes | () | → | a{uau}: Available_Stream_Tube_Types | |
| GetAvailableTubeTypes | () | → | au: Available_Tube_Types | |
| ListTubes | () | → | a(uuusa{sv}u): Tubes | |
| OfferDBusTube | (s: Service, a{sv}: Parameters) | → | u: Tube_ID | |
| OfferStreamTube | (s: Service, a{sv}: Parameters, u: Address_Type, v: Address, u: Access_Control, v: Access_Control_Param) | → | u: Tube_ID | |
| AcceptDBusTube | (u: ID) | → | s: Address | |
| AcceptStreamTube | (u: ID, u: Address_Type, u: Access_Control, v: Access_Control_Param) | → | v: Address | |
| CloseTube | (u: ID) | → | nothing | |
| GetDBusTubeAddress | (u: ID) | → | s: Address | |
| GetDBusNames | (u: ID) | → | a(us): DBus_Names | |
| GetStreamTubeSocketAddress | (u: ID) | → | u: Address_Type, v: Address | 
Signals
| NewTube | (u: ID, u: Initiator, u: Type, s: Service, a{sv}: Parameters, u: State) | |
| TubeStateChanged | (u: ID, u: State) | |
| TubeClosed | (u: ID) | |
| DBusNamesChanged | (u: ID, a(us): Added, au: Removed) | |
| StreamTubeNewConnection | (u: ID, u: Handle) | 
Types
| Tube_ID | Simple Type | u | |
| Tube_Type | Enum | u | |
| Tube_State | Enum | u | |
| Supported_Socket_Map | Mapping | a{uau} | |
| Tube_Info | Struct | (uuusa{sv}u) | |
| DBus_Tube_Member | Struct | (us) | 
Description
A "tube" is a mechanism for arbitrary data transfer. Two types of data transfer are currently specified: D-Bus messages, and streams of bytes. Each tube has a service name, which is a string specifying the kind of communication that takes place over it, and a dictionary of arbitrary parameters. Tube parameters are commonly used for bootstrap information such as usernames and passwords. Each tube is identified by a locally unique identifier.
The Tubes channel type may be requested for handles of type HANDLE_TYPE_CONTACT and HANDLE_TYPE_ROOM.
Stream tubes specify listening addresses using pairs of parameters with signature 'u', 'v', where the integer 'u' is a member of Socket_Address_Type and the v is dependent on the type of address.
Methods
GetAvailableStreamTubeTypes () → a{uau}: Available_Stream_Tube_Types
Returns
- Available_Stream_Tube_Types — a{uau} (Supported_Socket_Map)
 
A mapping from address types (members of Socket_Address_Type) to arrays of access-control type (members of Socket_Access_Control) that the connection manager supports for stream tubes with that address type. For simplicity, if a CM supports offering a particular type of tube, it is assumed to support accepting it.
A typical value for a host without IPv6 support:
            {
              Socket_Address_Type_IPv4:
                [Socket_Access_Control_Localhost, Socket_Access_Control_Port,
                 Socket_Access_Control_Netmask],
              Socket_Address_Type_Unix:
                [Socket_Access_Control_Localhost, Socket_Access_Control_Credentials]
            }
          
          If stream tubes are not supported, this will be an empty dictionary.
GetAvailableTubeTypes () → au: Available_Tube_Types
Returns
- Available_Tube_Types — au (Tube_Type_List)
 
ListTubes () → a(uuusa{sv}u): Tubes
Returns
- Tubes — a(uuusa{sv}u) (Tube_Info_List)
 - the tube's ID
 - the tube's initiator
 - the tube's type
 - the tube's service
 - the tube's parameters
 - the tube's state
 
OfferDBusTube (s: Service, a{sv}: Parameters) → u: Tube_ID
Parameters
- Service — s
 - Parameters — a{sv} (String_Variant_Map)
 
Returns
- Tube_ID — u (Tube_ID)
 
Possible Errors
- Network Error
 - Not Available
 - Not Implemented
 
OfferStreamTube (s: Service, a{sv}: Parameters, u: Address_Type, v: Address, u: Access_Control, v: Access_Control_Param) → u: Tube_ID
Parameters
- Service — s
 - Parameters — a{sv} (String_Variant_Map)
 - Address_Type — u (Socket_Address_Type)
 - Address — v
 - Access_Control — u (Socket_Access_Control)
 - Access_Control_Param — v
 
A dictionary of properties for the new tube; the allowable keys, types and values are defined by the service. Connection managers must support the value being any primitive (non-container) D-Bus type, or a byte array 'ay'.
These should usually be the same key-value pairs specified for use in the DNS-SD TXT record for that service.
Returns
- Tube_ID — u (Tube_ID)
 
Possible Errors
- Network Error
 - Not Available
 - Not Implemented
 
AcceptDBusTube (u: ID) → s: Address
Parameters
- ID — u (Tube_ID)
 
Returns
- Address — s
 
Possible Errors
- Invalid Argument
 
AcceptStreamTube (u: ID, u: Address_Type, u: Access_Control, v: Access_Control_Param) → v: Address
Parameters
- ID — u (Tube_ID)
 - Address_Type — u (Socket_Address_Type)
 - Access_Control — u (Socket_Access_Control)
 - Access_Control_Param — v
 
Returns
- Address — v
 
Possible Errors
- Invalid Argument
 - Not Implemented
 
CloseTube (u: ID) → nothing
Parameters
- ID — u (Tube_ID)
 
Possible Errors
- Invalid Argument
 
GetDBusTubeAddress (u: ID) → s: Address
Parameters
- ID — u (Tube_ID)
 
Returns
- Address — s
 
Possible Errors
- Invalid Argument
 - Not Available
 
GetDBusNames (u: ID) → a(us): DBus_Names
Parameters
- ID — u (Tube_ID)
 
Returns
- DBus_Names — a(us) (DBus_Tube_Member_List)
 
Possible Errors
- Invalid Argument
 - Not Available
 
GetStreamTubeSocketAddress (u: ID) → u: Address_Type, v: Address
Parameters
- ID — u (Tube_ID)
 
Returns
- Address_Type — u (Socket_Address_Type)
 - Address — v
 
Possible Errors
- Invalid Argument
 - Not Available
 
Signals
NewTube (u: ID, u: Initiator, u: Type, s: Service, a{sv}: Parameters, u: State)
Parameters
- ID — u (Tube_ID)
 - Initiator — u (Contact_Handle)
 - Type — u (Tube_Type)
 - Service — s
 - Parameters — a{sv} (String_Variant_Map)
 - State — u (Tube_State)
 
TubeStateChanged (u: ID, u: State)
Parameters
- ID — u (Tube_ID)
 - State — u (Tube_State)
 
TubeClosed (u: ID)
Parameters
- ID — u (Tube_ID)
 
DBusNamesChanged (u: ID, a(us): Added, au: Removed)
Parameters
- ID — u (Tube_ID)
 - Added — a(us) (DBus_Tube_Member_List)
 - Removed — au (Contact_Handle_List)
 
StreamTubeNewConnection (u: ID, u: Handle)
Parameters
- ID — u (Tube_ID)
 - Handle — u (Contact_Handle)
 
Types
Tube_ID — u
Tube_Type — u
- DBus (0)
 - Stream (1)
 
The tube is D-Bus tube as described by the org.freedesktop.Telepathy.Channel.Type.DBusTube interface.
The tube is stream tube as described by the org.freedesktop.Telepathy.Channel.Type.StreamTube interface.
Tube_State — u
- Local_Pending (0)
 - Remote_Pending (1)
 - Open (2)
 
Supported_Socket_Map — a{uau}
- Address_Type — u (Socket_Address_Type)
 - Access_Control — au (Socket_Access_Control_List)
 
Tube_Info — (uuusa{sv}u)
- Identifier — u (Tube_ID)
 - Initiator — u (Contact_Handle)
 - Type — u (Tube_Type)
 - Service — s
 - Parameters — a{sv} (String_Variant_Map)
 - State — u (Tube_State)
 
DBus_Tube_Member — (us)
- Handle — u (Contact_Handle)
 - Unique_Name — s (DBus_Unique_Name)