## InfCommunicationJoinedGroup InfCommunicationJoinedGroup — Communication group opened by a remote host |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libinfinity/communication/inf-communication-joined-group.h>

                        InfCommunicationJoinedGroup;
    struct              InfCommunicationJoinedGroupClass;
    void                inf_communication_joined_group_remove_member
                                                            (InfCommunicationJoinedGroup *grp,
                                                             InfXmlConnection *connection);
    InfXmlConnection *  inf_communication_joined_group_get_publisher
                                                            (InfCommunicationJoinedGroup *g);

## Object Hierarchy

      GObject
       +----InfCommunicationGroup
             +----InfCommunicationJoinedGroup

## Properties

      "method"                   gchar*                : Read / Write / Construct Only
      "publisher"                InfXmlConnection*     : Read / Write / Construct Only

## Description

InfCommunicationJoinedGroup represents membership of the local host on a InfCommunicationGroup opened on a remote host.

There is no API to add a member to a joined group. This is because new members can only join via the group's publisher. It is the job of the InfCommunicationMethod to tell the joined group about the new member in which case, the "member-added" signal will be emitted.

## Details

### InfCommunicationJoinedGroup

    typedef struct _InfCommunicationJoinedGroup InfCommunicationJoinedGroup;

InfCommunicationJoinedGroup is an opaque data type. You should only access it via the public API functions.

### struct InfCommunicationJoinedGroupClass

    struct InfCommunicationJoinedGroupClass {
    };

This structure does not contain any public fields.

### inf_communication_joined_group_remove_member ()

    void                inf_communication_joined_group_remove_member
                                                            (InfCommunicationJoinedGroup *grp,
                                                             InfXmlConnection *connection);

Removes `connection` as `grp`'s member. On the remote site, the corresponding InfCommunicationGroup needs to be freed (which may be a InfCommunicationJoinedGroup or a InfCommunicationHostedGroup).

`grp` : | A InfCommunicationJoinedGroup.
`connection` : | A connection to a member of `grp`.

### inf_communication_joined_group_get_publisher ()

    InfXmlConnection *  inf_communication_joined_group_get_publisher
                                                            (InfCommunicationJoinedGroup *g);

Returns a InfXmlConnection to the group's publisher, or `NULL` if the publisher is no longer a group member.

`g` : | A InfCommunicationJoinedGroup.
Returns : | A InfXmlConnection, or `NULL`.

## Property Details

### The `"method"` property

      "method"                   gchar*                : Read / Write / Construct Only

The communication method to use for this group.

Default value: NULL

### The `"publisher"` property

      "publisher"                InfXmlConnection*     : Read / Write / Construct Only

A connection to the group's publisher.

## See Also

InfCommunicationGroup, InfCommunicationManager