### Class

# GSSDP Client

#### Description [src]

    class GSSDP.Client : GObject.Object
      implements Gio.Initable {
      /* No available fields */
    }

A simple SSDP bus handler.

The `GSSDPClient` will usually be used by the `GSSDPResourceGroup` for announcing or the `GSSDPResourceBrowser` for finding resources on the network.

A GSSDPClient is required per IP address that you want to use, even if those belong t the same network device.

#### Ancestors

- GObject

#### Implements

- GInitable

#### Constructors

###### gssdp_client_new

Creates a GSSDP client on `iface`. GSSDPClient will pick the address it finds suitable for using.

deprecated: 1.6.0

###### gssdp_client_new_for_address

Creates a GSSDP client with address `addr`. If none is specified, GSSDP will chose the address it deems most suitable.

since: 1.6.0

###### gssdp_client_new_full

Creates a GSSDP client with address `addr`. If none is specified, GSSDP will chose the address it deems most suitable.

since: 1.6.0

###### gssdp_client_new_with_port

Creates a GSSDP client on `iface`. GSSDPClient will pick the address it finds suitable for using.

deprecated: 1.6.0

#### Instance methods

###### gssdp_client_add_cache_entry

Add `user_agent` for `ip_address`.

###### gssdp_client_append_header

Adds a header field to the messages sent by this `client`. It is intended to be used by clients requiring vendor specific header fields.

###### gssdp_client_can_reach

Check if the peer at `address` is reachable using this `client`.

since: 1.2.4

###### gssdp_client_clear_headers

Removes all the headers for this `client`.

###### gssdp_client_get_active

Get the current state of the client. See `GSSDPClient:active` for details.

###### gssdp_client_get_address

The IP address this client works on.

###### gssdp_client_get_address_mask

No description available.

since: 1.2.3

###### gssdp_client_get_family

No description available.

###### gssdp_client_get_host_ip

Get the IP address we advertise ourselves as using.

###### gssdp_client_get_index

No description available.

###### gssdp_client_get_interface

Get the name of the network interface associated to `client`.

###### gssdp_client_get_network

Get the network identifier of the client. See `GSSDPClient:network` for details.

###### gssdp_client_get_port

No description available.

###### gssdp_client_get_server_id

No description available.

###### gssdp_client_get_uda_version

No description available.

###### gssdp_client_guess_user_agent

Try to get a User-Agent for `ip_address`.

###### gssdp_client_remove_header

Removes `name` from the list of headers. If there are multiple values for `name`, they are all removed.

###### gssdp_client_set_boot_id

Will set the new boot-id for this SSDP client. Does nothing if the UDA version used by the client is UDA 1.0.

###### gssdp_client_set_config_id

The config-id is used to allow caching of the device or service description. It should be changed if that changes.

###### gssdp_client_set_network

Sets the network identification of `client` to `network`.

###### gssdp_client_set_server_id

Sets the server ID of `client` to `server_id`. This string is used as the “Server:” identification header for SSDP discovery and response packets and “User-Agent” header for searches.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

#### Properties

###### GSSDP.Client:active

Whether this client is active or not (passive). When active (default), the client sends messages on the network, otherwise not. In most cases, you don’t want to touch this property.

###### GSSDP.Client:address

The network address this client is bound to.

since: 1.6

###### GSSDP.Client:address-family

The IP protocol address family this client works on. When specified during construction without giving a concrete address, it will be used to determine the proper address.

since: 1.2.0

###### GSSDP.Client:boot-id

The value of the BOOTID.UPNP.ORG header.

###### GSSDP.Client:config-id

The value of the CONFIGID.UPNP.ORG header.

###### GSSDP.Client:host-ip

The IP address of the assoicated network interface.

deprecated: 1.6.0

###### GSSDP.Client:host-mask

The network mask of the assoicated network interface.

###### GSSDP.Client:interface

The name of the network interface this client is associated with. Set to NULL to autodetect.

###### GSSDP.Client:msearch-port

UDP port to use for sending multicast M-SEARCH requests on the network. If not set (or set to 0) a random port will be used. This property can be only set during object construction.

deprecated: 1.6.0

###### GSSDP.Client:network

The network this client is currently connected to. You could set this to anything you want to identify the network this client is associated with. If you are using `GUPnPContextManager` and associated interface is a WiFi interface, this property is set to the ESSID of the network. Otherwise, expect this to be the network IP address by default.

###### GSSDP.Client:port

UDP port to use for sending multicast M-SEARCH requests on the network. If not set (or set to 0) a random port will be used. This property can be only set during object construction.

since: 1.6.0

###### GSSDP.Client:server-id

The SSDP server’s identifier.

###### GSSDP.Client:socket-ttl

Time-to-live value to use for all sockets created by this client. If not set (or set to 0) the value recommended by UPnP will be used. This property can only be set during object construction.

###### GSSDP.Client:uda-version

The UPnP version the client adheres to.

since: 1.2.0

#### Signals

###### GSSDP.Client::message-received

Internal signal.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct GSSDPClientClass {
      GObjectClass parent_class;
      void (* _gssdp_reserved1) (
    void
      );
      void (* _gssdp_reserved2) (
    void
      );
      void (* _gssdp_reserved3) (
    void
      );
      void (* _gssdp_reserved4) (
    void
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`_gssdp_reserved1: void (* _gssdp_reserved1) ( void )`

  No description available.

`_gssdp_reserved2: void (* _gssdp_reserved2) ( void )`

  No description available.

`_gssdp_reserved3: void (* _gssdp_reserved3) ( void )`

  No description available.

`_gssdp_reserved4: void (* _gssdp_reserved4) ( void )`

  No description available.