## TpCallStreamEndpoint TpCallStreamEndpoint — class for TpSvcCallStreamEndpoint implementations |

## Synopsis

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

                        TpCallStreamEndpoint;
    struct              TpCallStreamEndpointClass;
    TpCallStreamEndpoint * tp_call_stream_endpoint_new      (TpDBusDaemon *dbus_daemon,
                                                             const gchar *object_path,
                                                             TpStreamTransportType transport,
                                                             gboolean is_ice_lite);
    const gchar *       tp_call_stream_endpoint_get_object_path
                                                            (TpCallStreamEndpoint *self);
    TpStreamEndpointState tp_call_stream_endpoint_get_state (TpCallStreamEndpoint *self,
                                                             TpStreamComponent component);
    void                tp_call_stream_endpoint_add_new_candidates
                                                            (TpCallStreamEndpoint *self,
                                                             const GPtrArray *candidates);
    void                tp_call_stream_endpoint_add_new_candidate
                                                            (TpCallStreamEndpoint *self,
                                                             TpStreamComponent component,
                                                             const gchar *address,
                                                             guint port,
                                                             const GHashTable *info_hash);
    void                tp_call_stream_endpoint_set_remote_credentials
                                                            (TpCallStreamEndpoint *self,
                                                             const gchar *username,
                                                             const gchar *password);

## Object Hierarchy

      GObject
       +----TpCallStreamEndpoint

## Implemented Interfaces

TpCallStreamEndpoint implements TpSvcCallStreamEndpoint and TpSvcDBusProperties.

## Properties

      "controlling"              gboolean              : Read
      "dbus-daemon"              TpDBusDaemon*         : Read / Write / Construct Only
      "endpoint-state"           GHashTable_guint+guint_*  : Read
      "is-ice-lite"              gboolean              : Read / Write / Construct Only
      "object-path"              gchar*                : Read / Write / Construct Only
      "remote-candidates"        GPtrArray_GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue___*  : Read
      "remote-credentials"       GValueArray_gchararray+gchararray_*  : Read
      "selected-candidate-pairs" GPtrArray_GValueArray_GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue__+GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue____*  : Read
      "transport"                guint                 : Read / Write / Construct Only

## Signals

      "candidate-accepted"                             : Run Last
      "candidate-rejected"                             : Run Last
      "candidate-selected"                             : Run Last

## Description

This class makes it easier to write TpSvcCallStreamEndpoint implementations by implementing its properties and methods.

## Details

### TpCallStreamEndpoint

    typedef struct _TpCallStreamEndpoint TpCallStreamEndpoint;

A class for call stream endpoint implementations

Since 0.17.5

### struct TpCallStreamEndpointClass

    struct TpCallStreamEndpointClass {
    };

The class structure for TpCallStreamEndpoint

Since 0.17.5

### tp_call_stream_endpoint_new ()

    TpCallStreamEndpoint * tp_call_stream_endpoint_new      (TpDBusDaemon *dbus_daemon,
                                                             const gchar *object_path,
                                                             TpStreamTransportType transport,
                                                             gboolean is_ice_lite);

Create a new TpCallStreamEndpoint object. It is registered on the bus at construction, and is unregistered at dispose.

`dbus_daemon` : | value of "dbus-daemon" property
`object_path` : | value of "object-path" property
`transport` : | value of "transport" property
`is_ice_lite` : | value of "is_ice_lite" property
Returns : | a new TpCallStreamEndpoint.

Since 0.17.5

### tp_call_stream_endpoint_get_object_path ()

    const gchar *       tp_call_stream_endpoint_get_object_path
                                                            (TpCallStreamEndpoint *self);

`self` : | a TpCallStreamEndpoint
Returns : | the value of "object-path"

Since 0.17.5

### tp_call_stream_endpoint_get_state ()

    TpStreamEndpointState tp_call_stream_endpoint_get_state (TpCallStreamEndpoint *self,
                                                             TpStreamComponent component);

`self` : | a TpCallStreamEndpoint
`component` : | a TpStreamComponent
Returns : | the state of `self`'s `component`

Since 0.17.5

### tp_call_stream_endpoint_add_new_candidates ()

    void                tp_call_stream_endpoint_add_new_candidates
                                                            (TpCallStreamEndpoint *self,
                                                             const GPtrArray *candidates);

Add `candidates` to the "remote-candidates" property. See Also: `tp_call_stream_endpoint_add_new_candidate()`.

`self` : | a TpCallStreamEndpoint
`candidates` : | GPtrArray of GValueArray defining the candidates to add

Since 0.17.5

### tp_call_stream_endpoint_add_new_candidate ()

    void                tp_call_stream_endpoint_add_new_candidate
                                                            (TpCallStreamEndpoint *self,
                                                             TpStreamComponent component,
                                                             const gchar *address,
                                                             guint port,
                                                             const GHashTable *info_hash);

Add a candidate to the "remote-candidates" property. See Also: `tp_call_stream_endpoint_add_new_candidates()`.

`self` : | a TpCallStreamEndpoint
`component` : | a TpStreamComponent
`address` : | an IP address
`port` : | a port number
`info_hash` : | string -> GValue mapping for extra info

Since 0.17.5

### tp_call_stream_endpoint_set_remote_credentials ()

    void                tp_call_stream_endpoint_set_remote_credentials
                                                            (TpCallStreamEndpoint *self,
                                                             const gchar *username,
                                                             const gchar *password);

Set the username and password to use for `self`'s crendentials.

`self` : | a TpCallStreamEndpoint
`username` : | the username
`password` : | the password

Since 0.17.5

## Property Details

### The `"controlling"` property

      "controlling"              gboolean              : Read

Whether or not the local side is taking the controlling role.

Default value: FALSE

Since 0.17.5

### The `"dbus-daemon"` property

      "dbus-daemon"              TpDBusDaemon*         : Read / Write / Construct Only

The connection to the DBus daemon owning the CM.

Since 0.17.5

### The `"endpoint-state"` property

      "endpoint-state"           GHashTable_guint+guint_*  : Read

GHashTable{TpStreamComponent -> TpStreamEndpointState} The state of this endpoint.

Since 0.17.5

### The `"is-ice-lite"` property

      "is-ice-lite"              gboolean              : Read / Write / Construct Only

Whether or not the Remote side is an ICE Lite endpoint.

Default value: FALSE

Since 0.17.5

### The `"object-path"` property

      "object-path"              gchar*                : Read / Write / Construct Only

The D-Bus object path used for this object on the bus.

Default value: NULL

Since 0.17.5

### The `"remote-candidates"` property

      "remote-candidates"        GPtrArray_GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue___*  : Read

GPtrArray{candidate GValueArray} The remote candidates of this endpoint.

Since 0.17.5

### The `"remote-credentials"` property

      "remote-credentials"       GValueArray_gchararray+gchararray_*  : Read

GValueArray{username string, password string} The remote credentials of this endpoint.

Since 0.17.5

### The `"selected-candidate-pairs"` property

      "selected-candidate-pairs" GPtrArray_GValueArray_GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue__+GValueArray_guint+gchararray+guint+GHashTable_gchararray+GValue____*  : Read

GPtrArray{local-candidate GValueArray, remote-candidate GValueArray} The candidate pairs selected for this endpoint.

Since 0.17.5

### The `"transport"` property

      "transport"                guint                 : Read / Write / Construct Only

The TpStreamTransportType for the content of this endpoint.

Default value: 0

Since 0.17.5

## Signal Details

### The `"candidate-accepted"` signal

    void                user_function                      (TpCallStreamEndpoint *self,
                                                            gpointer              user_data)      : Run Last

The ::candidate-accepted signal is emitted whenever AcceptSelectedCandidatePair DBus method has been called on this object.

`self` : | the TpCallStreamEndpoint
`local_candidate` : | the local candidate
`remote_candidate` : | the remote candidate
`user_data` : | user data set when the signal handler was connected.

Since 0.17.5

### The `"candidate-rejected"` signal

    void                user_function                      (TpCallStreamEndpoint *self,
                                                            gpointer              user_data)      : Run Last

The ::candidate-rejected signal is emitted whenever RejectSelectedCandidatePair DBus method has been called on this object.

`self` : | the TpCallStreamEndpoint
`local_candidate` : | the local candidate
`remote_candidate` : | the remote candidate
`user_data` : | user data set when the signal handler was connected.

Since 0.17.5

### The `"candidate-selected"` signal

    void                user_function                      (TpCallStreamEndpoint *self,
                                                            gpointer              user_data)      : Run Last

The ::candidate-selected signal is emitted whenever SetSelectedCandidatePair DBus method has been called on this object.

`self` : | the TpCallStreamEndpoint
`local_candidate` : | the local candidate
`remote_candidate` : | the remote candidate
`user_data` : | user data set when the signal handler was connected.

Since 0.17.5

## See Also

TpBaseMediaCallStream