## Service-side Channel base interface

Service-side Channel base interface — GInterface for Telepathy Channel objects

## Functions

void | (*tp_svc_channel_close_impl) ()
void | tp_svc_channel_implement_close ()
void | tp_svc_channel_return_from_close ()
void | (*tp_svc_channel_get_channel_type_impl) ()
void | tp_svc_channel_implement_get_channel_type ()
void | tp_svc_channel_return_from_get_channel_type ()
void | (*tp_svc_channel_get_handle_impl) ()
void | tp_svc_channel_implement_get_handle ()
void | tp_svc_channel_return_from_get_handle ()
void | (*tp_svc_channel_get_interfaces_impl) ()
void | tp_svc_channel_implement_get_interfaces ()
void | tp_svc_channel_return_from_get_interfaces ()
void | tp_svc_channel_emit_closed ()
void | (*tp_svc_channel_interface_destroyable_destroy_impl) ()
void | tp_svc_channel_interface_destroyable_implement_destroy ()
void | tp_svc_channel_interface_destroyable_return_from_destroy ()

## Signals

void | closed | Has Details

## Types and Values

| TpSvcChannel
| TpSvcChannelClass
| TpSvcChannelInterfaceDestroyable
| TpSvcChannelInterfaceDestroyableClass

## Object Hierarchy

        GInterface
        ├── TpSvcChannel
        ╰── TpSvcChannelInterfaceDestroyable

## Known Derived Interfaces

TpSvcChannel is required by TpExportableChannel.

## Known Implementations

TpSvcChannel is implemented by TpBaseCallChannel, TpBaseChannel, TpBaseMediaCallChannel and TpBasePasswordChannel.

## Includes

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

## Description

This interface (auto-generated from the Telepathy spec) makes it easier to export objects implementing the Telepathy Channel.

## Functions

### tp_svc_channel_close_impl ()

    void
    (*tp_svc_channel_close_impl) (TpSvcChannel *self,
                                  DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Close on interface org.freedesktop.Telepathy.Channel.

#### Parameters

self | The object implementing this interface |
context | Used to return values or throw an error |

### tp_svc_channel_implement_close ()

    void
    tp_svc_channel_implement_close (TpSvcChannelClass *klass,
                                    tp_svc_channel_close_impl impl);

Register an implementation for the Close method in the vtable of an implementation of this interface. To be called from the interface init function.

#### Parameters

klass | A class whose instances implement this interface |
impl | A callback used to implement the Close D-Bus method |

### tp_svc_channel_return_from_close ()

    void
    tp_svc_channel_return_from_close (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_get_channel_type_impl ()

    void
    (*tp_svc_channel_get_channel_type_impl)
                                   (TpSvcChannel *self,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetChannelType on interface org.freedesktop.Telepathy.Channel.

#### Parameters

self | The object implementing this interface |
context | Used to return values or throw an error |

### tp_svc_channel_implement_get_channel_type ()

    void
    tp_svc_channel_implement_get_channel_type
                                   (TpSvcChannelClass *klass,
                                    tp_svc_channel_get_channel_type_impl impl);

Register an implementation for the GetChannelType method in the vtable of an implementation of this interface. To be called from the interface init function.

#### Parameters

klass | A class whose instances implement this interface |
impl | A callback used to implement the GetChannelType D-Bus method |

### tp_svc_channel_return_from_get_channel_type ()

    void
    tp_svc_channel_return_from_get_channel_type
                                   (DBusGMethodInvocation *context,
                                    const gchar *out_Channel_Type);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

#### Parameters

context | The D-Bus method invocation context |
out_Channel_Type | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_get_handle_impl ()

    void
    (*tp_svc_channel_get_handle_impl) (TpSvcChannel *self,
                                       DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetHandle on interface org.freedesktop.Telepathy.Channel.

#### Parameters

self | The object implementing this interface |
context | Used to return values or throw an error |

### tp_svc_channel_implement_get_handle ()

    void
    tp_svc_channel_implement_get_handle (TpSvcChannelClass *klass,
                                         tp_svc_channel_get_handle_impl impl);

Register an implementation for the GetHandle method in the vtable of an implementation of this interface. To be called from the interface init function.

#### Parameters

klass | A class whose instances implement this interface |
impl | A callback used to implement the GetHandle D-Bus method |

### tp_svc_channel_return_from_get_handle ()

    void
    tp_svc_channel_return_from_get_handle (DBusGMethodInvocation *context,
                                           guint out_Target_Handle_Type,
                                           guint out_Target_Handle);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

#### Parameters

context | The D-Bus method invocation context |
out_Target_Handle_Type | guint (FIXME, generate documentation) |
out_Target_Handle | guint (FIXME, generate documentation) |

### tp_svc_channel_get_interfaces_impl ()

    void
    (*tp_svc_channel_get_interfaces_impl) (TpSvcChannel *self,
                                           DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetInterfaces on interface org.freedesktop.Telepathy.Channel.

#### Parameters

self | The object implementing this interface |
context | Used to return values or throw an error |

### tp_svc_channel_implement_get_interfaces ()

    void
    tp_svc_channel_implement_get_interfaces
                                   (TpSvcChannelClass *klass,
                                    tp_svc_channel_get_interfaces_impl impl);

Register an implementation for the GetInterfaces method in the vtable of an implementation of this interface. To be called from the interface init function.

#### Parameters

klass | A class whose instances implement this interface |
impl | A callback used to implement the GetInterfaces D-Bus method |

### tp_svc_channel_return_from_get_interfaces ()

    void
    tp_svc_channel_return_from_get_interfaces
                                   (DBusGMethodInvocation *context,
                                    const gchar **out_Interfaces);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

#### Parameters

context | The D-Bus method invocation context |
out_Interfaces | const gchar ** (FIXME, generate documentation) |

### tp_svc_channel_emit_closed ()

    void
    tp_svc_channel_emit_closed (gpointer instance);

Type-safe wrapper around g_signal_emit to emit the Closed signal on interface org.freedesktop.Telepathy.Channel.

#### Parameters

instance | The object implementing this interface |

### tp_svc_channel_interface_destroyable_destroy_impl ()

    void
    (*tp_svc_channel_interface_destroyable_destroy_impl)
                                   (TpSvcChannelInterfaceDestroyable *self,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Destroy on interface org.freedesktop.Telepathy.Channel.Interface.Destroyable.

#### Parameters

self | The object implementing this interface |
context | Used to return values or throw an error |

### tp_svc_channel_interface_destroyable_implement_destroy ()

    void
    tp_svc_channel_interface_destroyable_implement_destroy
                                   (TpSvcChannelInterfaceDestroyableClass *klass,
                                    tp_svc_channel_interface_destroyable_destroy_impl impl);

Register an implementation for the Destroy method in the vtable of an implementation of this interface. To be called from the interface init function.

#### Parameters

klass | A class whose instances implement this interface |
impl | A callback used to implement the Destroy D-Bus method |

### tp_svc_channel_interface_destroyable_return_from_destroy ()

    void
    tp_svc_channel_interface_destroyable_return_from_destroy
                                   (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

#### Parameters

context | The D-Bus method invocation context |

## Types and Values

### TpSvcChannel

    typedef struct _TpSvcChannel TpSvcChannel;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelClass

    typedef struct _TpSvcChannelClass TpSvcChannelClass;

The class of TpSvcChannel.

In a full implementation of this interface (i.e. all methods implemented), the interface initialization function used in `G_IMPLEMENT_INTERFACE()` would typically look like this:

    static void
    implement_channel (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (close);
      IMPLEMENT (get_channel_type);
      IMPLEMENT (get_handle);
      IMPLEMENT (get_interfaces);
    #undef IMPLEMENT
    }

### TpSvcChannelInterfaceDestroyable

    typedef struct _TpSvcChannelInterfaceDestroyable TpSvcChannelInterfaceDestroyable;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceDestroyableClass

    typedef struct _TpSvcChannelInterfaceDestroyableClass TpSvcChannelInterfaceDestroyableClass;

The class of TpSvcChannelInterfaceDestroyable.

In a full implementation of this interface (i.e. all methods implemented), the interface initialization function used in `G_IMPLEMENT_INTERFACE()` would typically look like this:

    static void
    implement_channel_interface_destroyable (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_interface_destroyable_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (destroy);
    #undef IMPLEMENT
    }

## Signal Details

### The `“closed”` signal

    void
    user_function (TpSvcChannel *self,
                   gpointer      user_data)

The Closed D-Bus signal is emitted whenever this GObject signal is.

#### Parameters

self | an object |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

## See Also

TpChannelIface