## Room List channels Room List channels — service-side interface for the Room List channel type |

## Synopsis

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

                        TpSvcChannelTypeRoomList;
                        TpSvcChannelTypeRoomListClass;
    void                (*tp_svc_channel_type_room_list_get_listing_rooms_impl)
                                                            (TpSvcChannelTypeRoomList *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_room_list_implement_get_listing_rooms
                                                            (TpSvcChannelTypeRoomListClass *klass,
                                                             tp_svc_channel_type_room_list_get_listing_rooms_impl impl);
    void                tp_svc_channel_type_room_list_return_from_get_listing_rooms
                                                            (DBusGMethodInvocation *context,
                                                             gboolean out_In_Progress);
    void                (*tp_svc_channel_type_room_list_list_rooms_impl)
                                                            (TpSvcChannelTypeRoomList *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_room_list_implement_list_rooms
                                                            (TpSvcChannelTypeRoomListClass *klass,
                                                             tp_svc_channel_type_room_list_list_rooms_impl impl);
    void                tp_svc_channel_type_room_list_return_from_list_rooms
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_channel_type_room_list_stop_listing_impl)
                                                            (TpSvcChannelTypeRoomList *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_room_list_implement_stop_listing
                                                            (TpSvcChannelTypeRoomListClass *klass,
                                                             tp_svc_channel_type_room_list_stop_listing_impl impl);
    void                tp_svc_channel_type_room_list_return_from_stop_listing
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_channel_type_room_list_emit_got_rooms
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Rooms);
    void                tp_svc_channel_type_room_list_emit_listing_rooms
                                                            (gpointer instance,
                                                             gboolean arg_Listing);

## Object Hierarchy

      GInterface
       +----TpSvcChannelTypeRoomList

## Signals

      "got-rooms"                                      : Run Last / Has Details
      "listing-rooms"                                  : Run Last / Has Details

## Description

Many instant messaging protocols allow named chatrooms to be listed. This section documents the auto-generated C wrappers for the Room List channel type.

## Details

### TpSvcChannelTypeRoomList

    typedef struct _TpSvcChannelTypeRoomList TpSvcChannelTypeRoomList;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelTypeRoomListClass

    typedef struct _TpSvcChannelTypeRoomListClass TpSvcChannelTypeRoomListClass;

The class of TpSvcChannelTypeRoomList.

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_type_room_list (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_type_room_list_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_listing_rooms);
      IMPLEMENT (list_rooms);
      IMPLEMENT (stop_listing);
    #undef IMPLEMENT
    }

### tp_svc_channel_type_room_list_get_listing_rooms_impl ()

    void                (*tp_svc_channel_type_room_list_get_listing_rooms_impl)
                                                            (TpSvcChannelTypeRoomList *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_channel_type_room_list_implement_get_listing_rooms ()

    void                tp_svc_channel_type_room_list_implement_get_listing_rooms
                                                            (TpSvcChannelTypeRoomListClass *klass,
                                                             tp_svc_channel_type_room_list_get_listing_rooms_impl impl);

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

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

### tp_svc_channel_type_room_list_return_from_get_listing_rooms ()

    void                tp_svc_channel_type_room_list_return_from_get_listing_rooms
                                                            (DBusGMethodInvocation *context,
                                                             gboolean out_In_Progress);

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

`context` : | The D-Bus method invocation context
`out_In_Progress` : | gboolean (FIXME, generate documentation)

### tp_svc_channel_type_room_list_list_rooms_impl ()

    void                (*tp_svc_channel_type_room_list_list_rooms_impl)
                                                            (TpSvcChannelTypeRoomList *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_channel_type_room_list_implement_list_rooms ()

    void                tp_svc_channel_type_room_list_implement_list_rooms
                                                            (TpSvcChannelTypeRoomListClass *klass,
                                                             tp_svc_channel_type_room_list_list_rooms_impl impl);

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

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

### tp_svc_channel_type_room_list_return_from_list_rooms ()

    void                tp_svc_channel_type_room_list_return_from_list_rooms
                                                            (DBusGMethodInvocation *context);

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

`context` : | The D-Bus method invocation context

### tp_svc_channel_type_room_list_stop_listing_impl ()

    void                (*tp_svc_channel_type_room_list_stop_listing_impl)
                                                            (TpSvcChannelTypeRoomList *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_channel_type_room_list_implement_stop_listing ()

    void                tp_svc_channel_type_room_list_implement_stop_listing
                                                            (TpSvcChannelTypeRoomListClass *klass,
                                                             tp_svc_channel_type_room_list_stop_listing_impl impl);

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

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

### tp_svc_channel_type_room_list_return_from_stop_listing ()

    void                tp_svc_channel_type_room_list_return_from_stop_listing
                                                            (DBusGMethodInvocation *context);

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

`context` : | The D-Bus method invocation context

### tp_svc_channel_type_room_list_emit_got_rooms ()

    void                tp_svc_channel_type_room_list_emit_got_rooms
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Rooms);

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

`instance` : | The object implementing this interface
`arg_Rooms` : | const GPtrArray * (FIXME, generate documentation)

### tp_svc_channel_type_room_list_emit_listing_rooms ()

    void                tp_svc_channel_type_room_list_emit_listing_rooms
                                                            (gpointer instance,
                                                             gboolean arg_Listing);

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

`instance` : | The object implementing this interface
`arg_Listing` : | gboolean (FIXME, generate documentation)

## Signal Details

### The `"got-rooms"` signal

    void                user_function                      (TpSvcChannelTypeRoomList *arg_Rooms,
                                                            gpointer                  user_data)      : Run Last / Has Details

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

`arg_Rooms` : | const GPtrArray * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"listing-rooms"` signal

    void                user_function                      (TpSvcChannelTypeRoomList *arg_Listing,
                                                            gboolean                  arg1,
                                                            gpointer                  user_data)        : Run Last / Has Details

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

`arg_Listing` : | gboolean (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.