## TpChannelIface

TpChannelIface — interface representing basic channel properties

## Synopsis

    #include <telepathy-glib/channel-iface.h>

    void                (*TpChannelFunc)                    (TpChannelIface *self,
                                                             gpointer userdata);
                        TpChannelIface;
    struct              TpChannelIfaceClass;

## Object Hierarchy

      GInterface
       +----TpChannelIface

## Known Implementations

TpChannelIface is implemented by TpBaseCallChannel, TpBaseChannel, TpBaseMediaCallChannel, TpBasePasswordChannel, TpCallChannel, TpChannel, TpDBusTubeChannel, TpFileTransferChannel, TpStreamTubeChannel and TpTextChannel.

## Properties

      "channel-type"             gchar*                : Read / Write / Construct Only
      "handle"                   guint                 : Read / Write / Construct Only
      "handle-type"              guint                 : Read / Write / Construct Only
      "object-path"              gchar*                : Read / Write / Construct Only

## Description

This interface defines a basic set of channel properties. It's mainly used in TpChannelFactoryIface to represent the returned channel objects.

## Details

### TpChannelFunc ()

    void                (*TpChannelFunc)                    (TpChannelIface *self,
                                                             gpointer userdata);

A callback for functions which act on channels.

`self` : | An object implementing the channel interface
`userdata` : | Arbitrary user-supplied data

### TpChannelIface

    typedef struct _TpChannelIface TpChannelIface;

Opaque typedef representing a channel.

### struct TpChannelIfaceClass

    struct TpChannelIfaceClass {
      GTypeInterface parent_class;
    };

The class of the TpChannelIface interface.

GTypeInterface `parent_class`; | The parent interface

## Property Details

### The `"channel-type"` property

      "channel-type"             gchar*                : Read / Write / Construct Only

The D-Bus interface representing the type of this channel. Read-only except during construction.

In TpChannel this property is read-only except during construction; if `NULL` during construction (the default), we ask the remote D-Bus object what its channel type is, and reading this property will yield `NULL` until a reply is received. This is not guaranteed to have happened until `tp_proxy_prepare_async()` has finished preparing `TP_CHANNEL_FEATURE_CORE`.

In connection manager implementations, attempts to set this property during construction will usually be ignored or treated as an error.

Default value: NULL

### The `"handle"` property

      "handle"                   guint                 : Read / Write / Construct Only

This channel's associated handle, or 0 if no handle or unknown. Read-only except during construction.

In TpChannel, if this is 0 during construction, and handle-type is not TP_HANDLE_TYPE_NONE (== 0), we ask the remote D-Bus object what its handle type is; reading this property will yield 0 until we get the reply, or if `GetHandle()` fails. This is not guaranteed to be set until `tp_proxy_prepare_async()` has finished preparing `TP_CHANNEL_FEATURE_CORE`.

In connection manager implementations, attempts to set this during construction might be ignored, depending on the channel type.

Default value: 0

### The `"handle-type"` property

      "handle-type"              guint                 : Read / Write / Construct Only

The TpHandleType of this channel's associated handle, or `TP_HANDLE_TYPE_NONE` (which is numerically 0) if no handle.

In TpChannel, if this is TP_UNKNOWN_HANDLE_TYPE during construction, we ask the remote D-Bus object what its handle type is; reading this property will yield TP_UNKNOWN_HANDLE_TYPE until we get the reply. This is not guaranteed to be have happened until `tp_proxy_prepare_async()` has finished preparing `TP_CHANNEL_FEATURE_CORE`.

In connection manager implementations, attempts to set this during construction might also be ignored.

Default value: 4294967295

### The `"object-path"` property

      "object-path"              gchar*                : Read / Write / Construct Only

The D-Bus object path used for this object on the bus. Read-only except during construction.

Default value: NULL

## See Also

TpSvcChannel, TpChannelFactoryIface