### Class

# GUPnP ServiceProxy

#### Description [src]

    class GUPnP.ServiceProxy : GUPnP.ServiceInfo {
      parent_instance: GUPnPServiceInfo
    }

Proxy class for remote services.

`GUPnPServiceProxy` sends commands to a remote UPnP service and handles incoming event notifications.

#### Ancestors

- GUPnPServiceInfo
- GObject

#### Instance methods

###### gupnp_service_proxy_add_notify

Sets up `callback` to be called whenever a change notification for `variable` is recieved.

###### gupnp_service_proxy_add_notify_full

Sets up `callback` to be called whenever a change notification for `variable` is recieved.

Available since: 0.20.12

###### gupnp_service_proxy_add_raw_notify

Get a notification for anything that happens on the peer.

Available since: 0.20.12

###### gupnp_service_proxy_call_action

Synchronously call the `action` on the remote UPnP service.

Available since: 1.2.0

###### gupnp_service_proxy_call_action_async

Start a call on the remote UPnP service using the pre-configured `action`. Use `gupnp_service_proxy_call_action_finish()` in the `callback` to finalize the call and gupnp_service_proxy_action_get_result(), `gupnp_service_proxy_action_get_result_hash()` or `gupnp_service_proxy_action_get_result_list()` to extract the result of the remote call.

Available since: 1.2.0

###### gupnp_service_proxy_call_action_finish

Finish an asynchronous call initiated with gupnp_service_proxy_call_action_async().

Available since: 1.2.0

###### gupnp_service_proxy_get_subscribed

Returns if we are subscribed to this service.

###### gupnp_service_proxy_remove_notify

Cancels the variable change notification for `callback` and `user_data`.

###### gupnp_service_proxy_remove_raw_notify

Cancels the variable change notification for `callback` and `user_data`.

###### gupnp_service_proxy_set_subscribed

(Un)subscribes to this service.

##### Methods inherited from GUPnPServiceInfo (11)

###### gupnp_service_info_get_context

Get the `GUPnPContext` associated with `info`.

###### gupnp_service_info_get_control_url

Get the control URL for this service, or `NULL`..

###### gupnp_service_info_get_event_subscription_url

Get the event subscription URL for this service, or `NULL`.

###### gupnp_service_info_get_id

Get the ID of this service, or `NULL` if there is no ID.

###### gupnp_service_info_get_location

Get the location of the device description file.

###### gupnp_service_info_get_scpd_url

Get the SCPD URL for this service, or `NULL` if there is no SCPD.

###### gupnp_service_info_get_service_type

Get the UPnP service type, or `NULL`.

###### gupnp_service_info_get_udn

Get the Unique Device Name of the containing device.

###### gupnp_service_info_get_url_base

Get the URL base of this service.

###### gupnp_service_info_introspect_async

Note that introspection object is created from the information in service description document (SCPD) provided by the service so it can not be created if the service does not provide a SCPD.

Available since: 1.2.2

###### gupnp_service_info_introspect_finish

Finish an asynchronous call initiated with gupnp_service_info_introspect_async().

Available since: 1.2.2

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

Please see GObject for a full list of methods.

#### Properties

###### GUPnP.ServiceProxy:subscribed

Whether we are subscribed to this service.

##### Properties inherited from GUPnPServiceInfo (7)

###### GUPnP.ServiceInfo:context

The `GUPnPContext` to use.

###### GUPnP.ServiceInfo:document

Private property.

###### GUPnP.ServiceInfo:element

Private property.

###### GUPnP.ServiceInfo:location

The location of the device description file.

###### GUPnP.ServiceInfo:service-type

The service type.

###### GUPnP.ServiceInfo:udn

The UDN of the containing device.

###### GUPnP.ServiceInfo:url-base

The URL base (`SoupURI`).

#### Signals

###### GUPnP.ServiceProxy::subscription-lost

Emitted whenever the subscription to this service has been lost due to an error condition.

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

###### GObject.Object::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 GUPnPServiceProxyClass {
      GUPnPServiceInfoClass parent_class;
      void (* subscription_lost) (
        GUPnPServiceProxy* proxy,
        const GError* reason
      );

    }

###### Class members

`parent_class` |
    GUPnPServiceInfoClass
| No description available.
`subscription_lost` |
    void (* subscription_lost) (
        GUPnPServiceProxy* proxy,
        const GError* reason
      )
| No description available.

#### Virtual methods

###### GUPnP.ServiceProxyClass.subscription_lost

No description available.