Struct gio::Credentials [−][src]
pub struct Credentials(_);
Expand description
The Credentials
type is a reference-counted wrapper for native
credentials. This information 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.
SocketExt::credentials()
.
Some operating systems supports securely sending and receiving
credentials over a Unix Domain Socket, see
GUnixCredentialsMessage
, g_unix_connection_send_credentials()
and
g_unix_connection_receive_credentials()
for details.
On Linux, the native credential type is a struct ucred
- see the
unix(7) man page for details. This corresponds to
CredentialsType::LinuxUcred
.
On Apple operating systems (including iOS, tvOS, and macOS),
the native credential type is a struct xucred
.
This corresponds to CredentialsType::AppleXucred
.
On FreeBSD, Debian GNU/kFreeBSD, and GNU/Hurd, the native
credential type is a struct cmsgcred
. This corresponds
to CredentialsType::FreebsdCmsgcred
.
On NetBSD, the native credential type is a struct unpcbid
.
This corresponds to CredentialsType::NetbsdUnpcbid
.
On OpenBSD, the native credential type is a struct sockpeercred
.
This corresponds to CredentialsType::OpenbsdSockpeercred
.
On Solaris (including OpenSolaris and its derivatives), the native
credential type is a ucred_t
. This corresponds to
CredentialsType::SolarisUcred
.
Implements
Implementations
Creates a new Credentials
object with credentials matching the
the current process.
Returns
A Credentials
. Free with g_object_unref()
.
This is supported on Unix only.
Tries to get the UNIX process identifier from self
. This
method is only available on UNIX platforms.
This operation can fail if Credentials
is not supported on the
OS or if the native credentials type does not contain information
about the UNIX process ID (for example this is the case for
CredentialsType::AppleXucred
).
Returns
The UNIX process ID, or -1
if error
is set.
This is supported on Unix only.
Tries to get the UNIX user identifier from self
. This
method is only available on UNIX platforms.
This operation can fail if Credentials
is not supported on the
OS or if the native credentials type does not contain information
about the UNIX user.
Returns
The UNIX user identifier or -1
if error
is set.
Checks if self
and other_credentials
is the same user.
This operation can fail if Credentials
is not supported on the
the OS.
other_credentials
A Credentials
.
Returns
true
if self
and other_credentials
has the same
user, false
otherwise or if error
is set.
This is supported on Unix only.
Tries to set the UNIX user identifier on self
. This method
is only available on UNIX platforms.
This operation can fail if Credentials
is not supported on the
OS or if the native credentials type does not contain information
about the UNIX user. It can also fail if the OS does not allow the
use of “spoofed” credentials.
uid
The UNIX user identifier to set.
Returns
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for Credentials
impl !Send for Credentials
impl !Sync for Credentials
impl Unpin for Credentials
impl UnwindSafe for Credentials
Blanket Implementations
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T
. Read more
Upcasts an object to a reference of its superclass or interface T
. Read more
Tries to downcast to a subclass or interface implementor T
. Read more
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
Tries to cast to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Casts to T
unconditionally. Read more
Casts to &T
unconditionally. Read more
Returns true
if the object is an instance of (can be cast to) T
.
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
Same as emit
but takes Value
for the arguments.
Same as emit_by_name
but takes Value
for the arguments.
Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,