TpStreamTubeChannel

TpStreamTubeChannel — proxy object for a stream tube channel

Synopsis

#include <telepathy-glib/stream-tube-channel.h>

struct              TpStreamTubeChannel;
struct              TpStreamTubeChannelClass;
void                tp_stream_tube_channel_accept_async (TpStreamTubeChannel *self,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
TpStreamTubeConnection * tp_stream_tube_channel_accept_finish
                                                        (TpStreamTubeChannel *self,
                                                         GAsyncResult *result,
                                                         GError **error);
GHashTable *        tp_stream_tube_channel_get_parameters
                                                        (TpStreamTubeChannel *self);
const gchar *       tp_stream_tube_channel_get_service  (TpStreamTubeChannel *self);
TpStreamTubeChannel * tp_stream_tube_channel_new        (TpConnection *conn,
                                                         const gchar *object_path,
                                                         const GHashTable *immutable_properties,
                                                         GError **error);
void                tp_stream_tube_channel_offer_async  (TpStreamTubeChannel *self,
                                                         GHashTable *params,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            tp_stream_tube_channel_offer_finish (TpStreamTubeChannel *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Object Hierarchy

  GObject
   +----TpProxy
         +----TpChannel
               +----TpStreamTubeChannel

Implemented Interfaces

TpStreamTubeChannel implements TpChannelIface.

Properties

  "parameters"               GHashTable_gchararray+GValue_*  : Read
  "service"                  gchar*                : Read

Signals

  "incoming"                                       : Run Last

Description

TpStreamTubeChannel is a sub-class of TpChannel providing convenient API to offer and accept a stream tube.

Details

struct TpStreamTubeChannel

struct TpStreamTubeChannel;

Data structure representing a TpStreamTubeChannel.

Since 0.13.2


struct TpStreamTubeChannelClass

struct TpStreamTubeChannelClass {
};

The class of a TpStreamTubeChannel.

Since 0.13.2


tp_stream_tube_channel_accept_async ()

void                tp_stream_tube_channel_accept_async (TpStreamTubeChannel *self,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Accept an incoming stream tube. When the tube has been accepted, callback will be called. You can then call tp_stream_tube_channel_accept_finish() to get a TpStreamTubeConnection connected to the tube.

self :

an incoming TpStreamTubeChannel

callback :

a callback to call when the tube has been accepted

user_data :

data to pass to callback

Since 0.13.2


tp_stream_tube_channel_accept_finish ()

TpStreamTubeConnection * tp_stream_tube_channel_accept_finish
                                                        (TpStreamTubeChannel *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finishes accepting an incoming stream tube. The returned TpStreamTubeConnection can then be used to exchange data through the tube.

self :

a TpStreamTubeChannel

result :

a GAsyncResult

error :

a GError to fill

Returns :

a newly created TpStreamTubeConnection. [transfer full]

Since 0.13.2


tp_stream_tube_channel_get_parameters ()

GHashTable *        tp_stream_tube_channel_get_parameters
                                                        (TpStreamTubeChannel *self);

Return the "parameters" property

self :

a TpStreamTubeChannel

Returns :

the value of "parameters". [transfer none][element-type utf8 GObject.Value]

Since 0.13.2


tp_stream_tube_channel_get_service ()

const gchar *       tp_stream_tube_channel_get_service  (TpStreamTubeChannel *self);

Return the "service" property

self :

a TpStreamTubeChannel

Returns :

the value of "service". [transfer none]

Since 0.13.2


tp_stream_tube_channel_new ()

TpStreamTubeChannel * tp_stream_tube_channel_new        (TpConnection *conn,
                                                         const gchar *object_path,
                                                         const GHashTable *immutable_properties,
                                                         GError **error);

Creates a new TpStreamTubeChannel proxy object from the provided path and properties. Most developers will not need to use this function; use TpAutomaticProxyFactory to automatically create TpStreamTubeChannel proxy objects.

conn :

a TpConnection; may not be NULL

object_path :

the object path of the channel; may not be NULL

immutable_properties :

the immutable properties of the channel, as signalled by the NewChannel D-Bus signal or returned by the CreateChannel and EnsureChannel D-Bus methods: a mapping from strings (D-Bus interface name + "." + property name) to GValue instances. [transfer none][element-type utf8 GObject.Value]

error :

used to indicate the error if NULL is returned

Returns :

a newly-created TpStreamTubeChannel proxy. [transfer full]

Since 0.13.2


tp_stream_tube_channel_offer_async ()

void                tp_stream_tube_channel_offer_async  (TpStreamTubeChannel *self,
                                                         GHashTable *params,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Offer an outgoing stream tube. When the tube has been offered, callback will be called. You can then call tp_stream_tube_channel_offer_finish() to get the result of the operation.

You have to connect to the "incoming" signal to get a TpStreamTubeConnection each time a contact establishes a connection to the tube.

self :

an outgoing TpStreamTubeChannel

params :

parameters of the tube, or NULL. [allow-none][transfer none]

callback :

a callback to call when the tube has been offered

user_data :

data to pass to callback

Since 0.13.2


tp_stream_tube_channel_offer_finish ()

gboolean            tp_stream_tube_channel_offer_finish (TpStreamTubeChannel *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finishes offering an outgoing stream tube.

self :

a TpStreamTubeChannel

result :

a GAsyncResult

error :

a GError to fill

Returns :

TRUE when a Tube has been successfully offered; FALSE otherwise

Since 0.13.2

Property Details

The "parameters" property

  "parameters"               GHashTable_gchararray+GValue_*  : Read

A string to GValue GHashTable representing the parameters of the tube.

Will be NULL for outgoing tubes until the tube has been offered.

Since 0.13.2


The "service" property

  "service"                  gchar*                : Read

A string representing the service name that will be used over the tube.

Default value: NULL

Since 0.13.2

Signal Details

The "incoming" signal

void                user_function                      (TpStreamTubeChannel    *self,
                                                        TpStreamTubeConnection *tube_connection,
                                                        gpointer                user_data)            : Run Last

The ::incoming signal is emitted on offered Tubes when a new incoming connection is made from a remote user (one accepting the Tube).

Consumers of this signal must take their own references to tube_connection

self :

the TpStreamTubeChannel

tube_connection :

the TpStreamTubeConnection for the connection

user_data :

user data set when the signal handler was connected.