Klasse Credentials

Alle implementierten Schnittstellen:
PointerInterface

public class Credentials extends PropertyHolder
The `GCredentials` type is a reference-counted wrapper for native
credentials.

The information in `GCredentials` is typically used for identifying,
authenticating and authorizing other processes.

Some operating systems supports looking up the credentials of the remote
peer of a communication endpoint - see e.g. [method@Gio.Socket.get_credentials].

Some operating systems supports securely sending and receiving
credentials over a Unix Domain Socket, see [class@Gio.UnixCredentialsMessage],
[method@Gio.UnixConnection.send_credentials] and
[method@Gio.UnixConnection.receive_credentials] for details.

On Linux, the native credential type is a `struct ucred` - see the
[`unix(7)` man page](man:unix(7)) for details. This corresponds to
`G_CREDENTIALS_TYPE_LINUX_UCRED`.

On Apple operating systems (including iOS, tvOS, and macOS), the native credential
type is a `struct xucred`. This corresponds to `G_CREDENTIALS_TYPE_APPLE_XUCRED`.

On FreeBSD, Debian GNU/kFreeBSD, and GNU/Hurd, the native credential type is a
`struct cmsgcred`. This corresponds to `G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED`.

On NetBSD, the native credential type is a `struct unpcbid`.
This corresponds to `G_CREDENTIALS_TYPE_NETBSD_UNPCBID`.

On OpenBSD, the native credential type is a `struct sockpeercred`.
This corresponds to `G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED`.

On Solaris (including OpenSolaris and its derivatives), the native credential type
is a `ucred_t`. This corresponds to `G_CREDENTIALS_TYPE_SOLARIS_UCRED`.

Since GLib 2.72, on Windows, the native credentials may contain the PID of a
process. This corresponds to `G_CREDENTIALS_TYPE_WIN32_PID`.

https://docs.gtk.org/gio/class.Credentials.html

  • Konstruktordetails

    • Credentials

      public Credentials(PointerContainer pointer)
    • Credentials

      public Credentials()
      Creates a new #GCredentials object with credentials matching the
      the current process.
  • Methodendetails

    • getClassHandler

      public static ClassHandler getClassHandler()
    • getNative

      public Pointer getNative(int native_type)
      Gets a pointer to native credentials of type @native_type from
      @credentials.

      It is a programming error (which will cause a warning to be
      logged) to use this method if there is no #GCredentials support for
      the OS or if @native_type isn't supported by the OS.
      Parameter:
      native_type - The type of native credentials to get.
      Gibt zurück:
      The pointer to native credentials or %NULL if there is no #GCredentials support for the OS or if @native_type isn't supported by the OS. Do not free the returned data, it is owned by @credentials.
    • isSameUser

      public boolean isSameUser(@Nonnull Credentials other_credentials) throws AllocationError
      Checks if @credentials and @other_credentials is the same user.

      This operation can fail if #GCredentials is not supported on the
      the OS.
      Parameter:
      other_credentials - A #GCredentials.
      Gibt zurück:
      %TRUE if @credentials and @other_credentials has the same user, %FALSE otherwise or if @error is set.
      Löst aus:
      AllocationError
    • setNative

      public void setNative(int native_type, @Nonnull Pointer _native)
      Copies the native credentials of type @native_type from @native
      into @credentials.

      It is a programming error (which will cause a warning to be
      logged) to use this method if there is no #GCredentials support for
      the OS or if @native_type isn't supported by the OS.
      Parameter:
      native_type - The type of native credentials to set.
      _native - A pointer to native credentials.
    • toStr

      public Str toStr()
      Creates a human-readable textual representation of @credentials
      that can be used in logging and debug messages. The format of the
      returned string may change in future GLib release.
      Gibt zurück:
      A string that should be freed with g_free().
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()