### Function

# EDataServer WebDAVPrivilege new

since: 3.26

#### Declaration [src]

    EWebDAVPrivilege*
    e_webdav_privilege_new (
      const gchar* ns_uri,
      const gchar* name,
      const gchar* description,
      EWebDAVPrivilegeKind kind,
      EWebDAVPrivilegeHint hint
    )

#### Description [src]

Describes one privilege entry. The `hint` can be `E_WEBDAV_PRIVILEGE_HINT_UNKNOWN` for privileges which are not known to the `EWebDAVSession`. It’s possible, because the servers can define their own privileges. The hint is also tried to pair with known hints when it’s `E_WEBDAV_PRIVILEGE_HINT_UNKNOWN`.

The `ns_uri` and `name` can be `NULL` only if the `hint` is one of the known privileges. Otherwise it’s an error to pass either of the two as `NULL`.

Available since: 3.26

#### Parameters

`ns_uri`

  Type: `const gchar*`

  A namespace URI.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`name`

  Type: `const gchar*`

  Element name.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`description`

  Type: `const gchar*`

  Human read-able description, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`kind`

  Type: `EWebDAVPrivilegeKind`

  An `EWebDAVPrivilegeKind`.

`hint`

  Type: `EWebDAVPrivilegeHint`

  An `EWebDAVPrivilegeHint`.

#### Return value

Type: `EWebDAVPrivilege`

A newly created `EWebDAVPrivilege`, prefilled with given values. Free it with e_webdav_privilege_free(), when no longer needed.

The caller of the function takes ownership of the data, and is responsible for freeing it.