## TpChannelIface

TpChannelIface — interface representing basic channel properties

## Functions

void | (*TpChannelFunc) ()

## Properties

char * | channel-type | Read / Write / Construct Only
guint | handle | Read / Write / Construct Only
guint | handle-type | Read / Write / Construct Only
char * | object-path | Read / Write / Construct Only

## Types and Values

| TpChannelIface
struct | TpChannelIfaceClass

## Object Hierarchy

        GInterface
        ╰── TpChannelIface

## Known Implementations

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

## Includes

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

## Description

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

## Functions

### TpChannelFunc ()

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

A callback for functions which act on channels.

#### Parameters

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

## Types and Values

### TpChannelIface

    typedef struct _TpChannelIface TpChannelIface;

Opaque typedef representing a channel.

### struct TpChannelIfaceClass

    struct TpChannelIfaceClass {
      GTypeInterface parent_class;
    };

The class of the TpChannelIface interface.

#### Members

## Property Details

### The `“channel-type”` property

      “channel-type”             char *

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.

Owner: TpChannelIface

Flags: Read / Write / Construct Only

Default value: NULL

### The `“handle”` property

      “handle”                   guint

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.

Owner: TpChannelIface

Flags: Read / Write / Construct Only

Default value: 0

### The `“handle-type”` property

      “handle-type”              guint

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.

Owner: TpChannelIface

Flags: Read / Write / Construct Only

Default value: 4294967295

### The `“object-path”` property

      “object-path”              char *

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

Owner: TpChannelIface

Flags: Read / Write / Construct Only

Default value: NULL

## See Also

TpSvcChannel, TpChannelFactoryIface