## GUPnPServiceInfo GUPnPServiceInfo — Base abstract class for querying service information. |

## Synopsis

    struct              GUPnPServiceInfo;
    void                (*GUPnPServiceIntrospectionCallback)
                                                            (GUPnPServiceInfo *info,
                                                             GUPnPServiceIntrospection *introspection,
                                                             const GError *error,
                                                             gpointer user_data);
    GUPnPContext *      gupnp_service_info_get_context      (GUPnPServiceInfo *info);
    const char *        gupnp_service_info_get_location     (GUPnPServiceInfo *info);
    const SoupURI *     gupnp_service_info_get_url_base     (GUPnPServiceInfo *info);
    const char *        gupnp_service_info_get_udn          (GUPnPServiceInfo *info);
    const char *        gupnp_service_info_get_service_type (GUPnPServiceInfo *info);
    char *              gupnp_service_info_get_id           (GUPnPServiceInfo *info);
    char *              gupnp_service_info_get_scpd_url     (GUPnPServiceInfo *info);
    char *              gupnp_service_info_get_control_url  (GUPnPServiceInfo *info);
    char *              gupnp_service_info_get_event_subscription_url
                                                            (GUPnPServiceInfo *info);
    GUPnPServiceIntrospection * gupnp_service_info_get_introspection
                                                            (GUPnPServiceInfo *info,
                                                             GError **error);
    void                gupnp_service_info_get_introspection_async
                                                            (GUPnPServiceInfo *info,
                                                             GUPnPServiceIntrospectionCallback callback,
                                                             gpointer user_data);

## Object Hierarchy

      GObject
       +----GUPnPServiceInfo
             +----GUPnPService
             +----GUPnPServiceProxy

## Properties

      "context"                  GUPnPContext*         : Read / Write / Construct Only
      "document"                 GUPnPXMLDoc*          : Write / Construct Only
      "element"                  gpointer              : Write / Construct Only
      "location"                 gchar*                : Read / Write / Construct Only
      "service-type"             gchar*                : Read / Write / Construct Only
      "udn"                      gchar*                : Read / Write / Construct Only
      "url-base"                 gpointer              : Read / Write / Construct Only

## Description

The GUPnPDeviceInfo base abstract class provides methods for querying service information.

## Details

### struct GUPnPServiceInfo

    struct GUPnPServiceInfo;

This struct contains private data only, and should be accessed using the functions below.

### GUPnPServiceIntrospectionCallback ()

    void                (*GUPnPServiceIntrospectionCallback)
                                                            (GUPnPServiceInfo *info,
                                                             GUPnPServiceIntrospection *introspection,
                                                             const GError *error,
                                                             gpointer user_data);

Callback notifying that `introspection` for `info` has been obtained.

`info` : | The GUPnPServiceInfo introspection was requested for
`introspection` : | The new GUPnPServiceIntrospection object, or NULL
`error` : | The GError that occurred, or NULL
`user_data` : | User data

### gupnp_service_info_get_context ()

    GUPnPContext *      gupnp_service_info_get_context      (GUPnPServiceInfo *info);

Get the GUPnPContext associated with `info`.

`info` : | A GUPnPServiceInfo
Returns : | A GUPnPContext. [transfer none]

### gupnp_service_info_get_location ()

    const char *        gupnp_service_info_get_location     (GUPnPServiceInfo *info);

Get the location of the device description file.

`info` : | A GUPnPServiceInfo
Returns : | A constant string.

### gupnp_service_info_get_url_base ()

    const SoupURI *     gupnp_service_info_get_url_base     (GUPnPServiceInfo *info);

Get the URL base of this service.

`info` : | A GUPnPServiceInfo
Returns : | A constant SoupURI.

### gupnp_service_info_get_udn ()

    const char *        gupnp_service_info_get_udn          (GUPnPServiceInfo *info);

Get the Unique Device Name of the containing device.

`info` : | A GUPnPServiceInfo
Returns : | A constant string.

### gupnp_service_info_get_service_type ()

    const char *        gupnp_service_info_get_service_type (GUPnPServiceInfo *info);

Get the UPnP service type, or `NULL`.

`info` : | A GUPnPServiceInfo
Returns : | A constant string.

### gupnp_service_info_get_id ()

    char *              gupnp_service_info_get_id           (GUPnPServiceInfo *info);

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

`info` : | A GUPnPServiceInfo
Returns : | A string. This string should be freed with `g_free()` after use.

### gupnp_service_info_get_scpd_url ()

    char *              gupnp_service_info_get_scpd_url     (GUPnPServiceInfo *info);

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

`info` : | A GUPnPServiceInfo
Returns : | A string. This string should be freed with `g_free()` after use.

### gupnp_service_info_get_control_url ()

    char *              gupnp_service_info_get_control_url  (GUPnPServiceInfo *info);

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

`info` : | A GUPnPServiceInfo
Returns : | A string. This string should be freed with `g_free()` after use.

### gupnp_service_info_get_event_subscription_url ()

    char *              gupnp_service_info_get_event_subscription_url
                                                            (GUPnPServiceInfo *info);

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

`info` : | A GUPnPServiceInfo
Returns : | A string. This string should be freed with `g_free()` after use.

### gupnp_service_info_get_introspection ()

    GUPnPServiceIntrospection * gupnp_service_info_get_introspection
                                                            (GUPnPServiceInfo *info,
                                                             GError **error);

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 an SCPD.

Warning: You should use `gupnp_service_info_get_introspection_async()` instead, this function re-enter the GMainloop before returning.

`info` : | A GUPnPServiceInfo
`error` : | return location for a GError, or `NULL`
Returns : | A new GUPnPServiceIntrospection for this service or `NULL`. Unref after use. [transfer full]

### gupnp_service_info_get_introspection_async ()

    void                gupnp_service_info_get_introspection_async
                                                            (GUPnPServiceInfo *info,
                                                             GUPnPServiceIntrospectionCallback callback,
                                                             gpointer user_data);

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 an SCPD.

`info` : | A GUPnPServiceInfo
`callback` : | (scope async) : callback to be called when introspection object is ready.
`user_data` : | user_data to be passed to the callback.

## Property Details

### The `"context"` property

      "context"                  GUPnPContext*         : Read / Write / Construct Only

The GUPnPContext to use.

### The `"document"` property

      "document"                 GUPnPXMLDoc*          : Write / Construct Only

Private property.

Stability Level: Private

### The `"element"` property

      "element"                  gpointer              : Write / Construct Only

Private property.

Stability Level: Private

### The `"location"` property

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

The location of the device description file.

Default value: NULL

### The `"service-type"` property

      "service-type"             gchar*                : Read / Write / Construct Only

The service type.

Default value: NULL

### The `"udn"` property

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

The UDN of the containing device.

Default value: NULL

### The `"url-base"` property

      "url-base"                 gpointer              : Read / Write / Construct Only

The URL base (SoupURI).