### Interface

# GUPnP Acl

#### Description [src]

    interface GUPnP.Acl : GObject.Object

Access control provider for `GUPnPContext`

GUPnPAcl provides either synchronous or asynchronous functions to check whether a peer should be able to access a resource that is hosted by GUPnP or not.

Available since: | 0.20.11

#### Prerequisite

In order to implement Acl, your type must inherit from `GObject`.

#### Instance methods

###### gupnp_acl_can_sync

Check whether `gupnp_acl_is_allowed_async()` is supported.

Available since: 0.20.11

###### gupnp_acl_is_allowed

Check whether an IP address is allowed to access this resource.

Available since: 0.20.11

###### gupnp_acl_is_allowed_async

Check asynchronously whether an IP address is allowed to access this resource.

Available since: 0.20.11

###### gupnp_acl_is_allowed_finish

Get the result of `gupnp_acl_is_allowed_async()`.

Available since: 0.20.11

#### Interface structure

    struct GUPnPAclInterface {
      GTypeInterface parent;
      gboolean (* is_allowed) (
        GUPnPAcl* self,
        _GUPnPDevice* device,
        _GUPnPService* service,
        const char* path,
        const char* address,
        const char* agent
      );
      void (* is_allowed_async) (
        GUPnPAcl* self,
        _GUPnPDevice* device,
        _GUPnPService* service,
        const char* path,
        const char* address,
        const char* agent,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* is_allowed_finish) (
        GUPnPAcl* self,
        GAsyncResult* res,
        GError** error
      );
      gboolean (* can_sync) (
        GUPnPAcl* self
      );

    }

###### Interface members

`parent` |
    GTypeInterface
| No description available.
`is_allowed` |
    gboolean (* is_allowed) (
        GUPnPAcl* self,
        _GUPnPDevice* device,
        _GUPnPService* service,
        const char* path,
        const char* address,
        const char* agent
      )
| No description available.
`is_allowed_async` |
    void (* is_allowed_async) (
        GUPnPAcl* self,
        _GUPnPDevice* device,
        _GUPnPService* service,
        const char* path,
        const char* address,
        const char* agent,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`is_allowed_finish` |
    gboolean (* is_allowed_finish) (
        GUPnPAcl* self,
        GAsyncResult* res,
        GError** error
      )
| No description available.
`can_sync` |
    gboolean (* can_sync) (
        GUPnPAcl* self
      )
| No description available.

#### Virtual methods

###### GUPnP.Acl.can_sync

Check whether `gupnp_acl_is_allowed_async()` is supported.

###### GUPnP.Acl.is_allowed

Check whether an IP address is allowed to access this resource.

###### GUPnP.Acl.is_allowed_async

Check asynchronously whether an IP address is allowed to access this resource.

###### GUPnP.Acl.is_allowed_finish

Get the result of `gupnp_acl_is_allowed_async()`.