If the channel type and/or interfaces being implemented define immutable
D-Bus properties besides those on the Channel interface, the subclass should
implement the TpBaseChannelClass.fill_immutable_properties virtual function.

If the "object-path" property is not set at construct
time, the TpBaseChannelClass.get_object_path_suffix virtual function will
be called to determine the channel's path, whose default implementation
simply generates a unique path based on the object's address in memory.

Returns a string that will be appended to the
Connection objects's object path to get the Channel's object path. This
function will only be called as a fallback if the
"object-path" property is not set. The default
implementation simply generates a unique path based on the object's address
in memory. The returned string will be freed automatically.

Extra interfaces provided by this channel (this SHOULD NOT
include the channel type and interface itself). Implementation must first
chainup on parent class implementation and then add extra interfaces into
the GPtrArray. Replaces interfaces.

Implementations may assume that tp_base_channel_is_destroyed() is FALSE for
chan when called. Note that if this function is implemented
asynchronously, it may be called more than once. A subclass which needs to
perform some asynchronous clean-up in order to close might implement this
function as follows:

tp_base_channel_close ()

Asks chan to close, just as if the Close D-Bus method had been called. If
"channel-destroyed" is TRUE, this is a no-op.

Note that, depending on the subclass's implementation of
TpBaseChannelClass.close and internal behaviour, this may or may not be a
suitable method to use during connection teardown. For instance, if the
channel may respawn when Close is called, an equivalent of the Destroy D-Bus
method would be more appropriate during teardown, since the intention is to
forcibly terminate all channels.

tp_base_channel_disappear ()

Called by subclasses to indicate that this channel is closing and
should be unregistered from the bus, but the actual object
shouldn't be destroyed. The "Closed" signal will be emitted,
the "channel-destroyed" property will not be
set, and the channel will be unregistered from the bus.

chan :

a channel

Since 0.19.7

tp_base_channel_reopened_with_requested ()

Called by subclasses to indicate that this channel was closed but
was re-opened, either due to pending messages or from having
disappeared (with tp_base_channel_disappear()). The "Closed" signal
will be emitted, but the "channel-destroyed"
property will not be set. The channel's
"initiator-handle" property will be set to initiator,
and the "requested" property will be set to
requested.