## TplEntity TplEntity — Representation of a contact or room |

## Synopsis

    struct              TplEntity;
                        TplEntityPriv;
    enum                TplEntityType;
    const gchar *       tpl_entity_get_alias                (TplEntity *self);
    const gchar *       tpl_entity_get_avatar_token         (TplEntity *self);
    TplEntityType       tpl_entity_get_entity_type          (TplEntity *self);
    const gchar *       tpl_entity_get_identifier           (TplEntity *self);
    TplEntity *         tpl_entity_new                      (const gchar *id,
                                                             TplEntityType type,
                                                             const gchar *alias,
                                                             const gchar *avatar_token);
    TplEntity *         tpl_entity_new_from_room_id         (const gchar *room_id);
    TplEntity *         tpl_entity_new_from_tp_contact      (TpContact *contact,
                                                             TplEntityType type);

## Object Hierarchy

      GObject
       +----TplEntity

## Properties

      "alias"                    gchar*                : Read / Write / Construct Only
      "avatar-token"             gchar*                : Read / Write / Construct Only
      "identifier"               gchar*                : Read / Write / Construct Only
      "type"                     gint                  : Read / Write / Construct Only

## Description

An object representing a contact or room.

## Details

### struct TplEntity

    struct TplEntity;

An object representing a contact or room.

### TplEntityPriv

    typedef struct _TplEntityPriv TplEntityPriv;

### enum TplEntityType

    typedef enum {
      TPL_ENTITY_UNKNOWN,
      TPL_ENTITY_CONTACT,
      TPL_ENTITY_ROOM,
      TPL_ENTITY_SELF
    } TplEntityType;

`TPL_ENTITY_UNKNOWN` | the current contact's type is unknown
`TPL_ENTITY_CONTACT` | the contact's type represents a user (buddy), but not the account's owner for which `TPL_ENTITY_SELF` is used
`TPL_ENTITY_ROOM` | a named room (TP_HANDLE_TYPE_ROOM)
`TPL_ENTITY_SELF` | the contact's type represents the owner of the account whose channel has been logged, as opposed to `TPL_ENTITY_CONTACT` which represents any other user

### tpl_entity_get_alias ()

    const gchar *       tpl_entity_get_alias                (TplEntity *self);

`self` : | a TplEntity
Returns : | the alias of the entity, or `NULL`

### tpl_entity_get_avatar_token ()

    const gchar *       tpl_entity_get_avatar_token         (TplEntity *self);

`self` : | a TplEntity
Returns : | a token representing the avatar of the token, or `NULL`

### tpl_entity_get_entity_type ()

    TplEntityType       tpl_entity_get_entity_type          (TplEntity *self);

`self` : | a TplEntity
Returns : | the type of the entity

### tpl_entity_get_identifier ()

    const gchar *       tpl_entity_get_identifier           (TplEntity *self);

`self` : | a TplEntity
Returns : | the identifier of the entity

### tpl_entity_new ()

    TplEntity *         tpl_entity_new                      (const gchar *id,
                                                             TplEntityType type,
                                                             const gchar *alias,
                                                             const gchar *avatar_token);

### tpl_entity_new_from_room_id ()

    TplEntity *         tpl_entity_new_from_room_id         (const gchar *room_id);

`room_id` : | the room id which will be the identifier for the entity
Returns : | a TplEntity instance with identifier, alias copied from `room_id`. It also sets `TPL_ENTITY_ROOM` as type for the TplEntity returned.

### tpl_entity_new_from_tp_contact ()

    TplEntity *         tpl_entity_new_from_tp_contact      (TpContact *contact,
                                                             TplEntityType type);

`contact` : | the TpContact instance to create the TplEntity from
`type` : | the TplEntity type
Returns : | a TplEntity instance with identifier, alias and avatar's token copied. Type parameter is useful to differentiate between normal contact and self contact, thus only `TPL_ENTITY_CONTACT` and `TPL_ENTITY_SELF` are accepted. If contact is `NULL`, an entity of type `TPL_ENTITY_UNKNOWN` with id set to "unknown" is returned.

## Property Details

### The `"alias"` property

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

The entity's alias

Default value: NULL

### The `"avatar-token"` property

      "avatar-token"             gchar*                : Read / Write / Construct Only

The entity's avatar token

Default value: NULL

### The `"identifier"` property

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

The entity's identifier

Default value: NULL

### The `"type"` property

      "type"                     gint                  : Read / Write / Construct Only

The entity's type (see TplEntityType).

Allowed values: [0,3]

Default value: 0