Struct gio::TlsServerConnection
source · #[repr(transparent)]pub struct TlsServerConnection { /* private fields */ }
Expand description
TlsServerConnection
is the server-side subclass of TlsConnection
,
representing a server-side TLS connection.
Properties
authentication-mode
The TlsAuthenticationMode
for the server. This can be changed
before calling TlsConnectionExt::handshake()
if you want to
rehandshake with a different mode from the initial handshake.
Readable | Writeable
TlsConnection
advertised-protocols
The list of application-layer protocols that the connection
advertises that it is willing to speak. See
TlsConnectionExtManual::set_advertised_protocols()
.
Readable | Writeable
base-io-stream
The IOStream
that the connection wraps. The connection holds a reference
to this stream, and may run operations on the stream from other threads
throughout its lifetime. Consequently, after the IOStream
has been
constructed, application code may only run its own operations on this
stream when no IOStream
operations are running.
Readable | Writeable | Construct Only
certificate
The connection’s certificate; see
TlsConnectionExt::set_certificate()
.
Readable | Writeable
ciphersuite-name
The name of the TLS ciphersuite in use. See TlsConnectionExt::ciphersuite_name()
.
Readable
database
The certificate database to use when verifying this TLS connection.
If no certificate database is set, then the default database will be
used. See TlsBackendExt::default_database()
.
When using a non-default database, TlsConnection
must fall back to using
the TlsDatabase
to perform certificate verification using
TlsDatabaseExt::verify_chain()
, which means certificate verification will
not be able to make use of TLS session context. This may be less secure.
For example, if you create your own TlsDatabase
that just wraps the
default TlsDatabase
, you might expect that you have not changed anything,
but this is not true because you may have altered the behavior of
TlsConnection
by causing it to use TlsDatabaseExt::verify_chain()
. See the
documentation of TlsDatabaseExt::verify_chain()
for more details on specific
security checks that may not be performed. Accordingly, setting a
non-default database is discouraged except for specialty applications with
unusual security requirements.
Readable | Writeable
interaction
A TlsInteraction
object to be used when the connection or certificate
database need to interact with the user. This will be used to prompt the
user for passwords where necessary.
Readable | Writeable
negotiated-protocol
The application-layer protocol negotiated during the TLS
handshake. See TlsConnectionExt::negotiated_protocol()
.
Readable
peer-certificate
The connection’s peer’s certificate, after the TLS handshake has
completed or failed. Note in particular that this is not yet set
during the emission of accept-certificate
.
(You can watch for a notify
signal on this property to
detect when a handshake has occurred.)
Readable
peer-certificate-errors
The errors noticed while verifying
peer-certificate
. Normally this should be 0, but
it may not be if validation-flags
is not
TlsCertificateFlags::VALIDATE_ALL
, or if
accept-certificate
overrode the default
behavior.
GLib guarantees that if certificate verification fails, at least
one error will be set, but it does not guarantee that all possible
errors will be set. Accordingly, you may not safely decide to
ignore any particular type of error. For example, it would be
incorrect to mask TlsCertificateFlags::EXPIRED
if you want to allow
expired certificates, because this could potentially be the only
error flag set even if other problems exist with the certificate.
Readable
protocol-version
The TLS protocol version in use. See TlsConnectionExt::protocol_version()
.
Readable
rehandshake-mode
The rehandshaking mode. See
TlsConnectionExt::set_rehandshake_mode()
.
Readable | Writeable | Construct
require-close-notify
Whether or not proper TLS close notification is required.
See TlsConnectionExt::set_require_close_notify()
.
Readable | Writeable | Construct
use-system-certdb
Whether or not the system certificate database will be used to
verify peer certificates. See
g_tls_connection_set_use_system_certdb()
.
Readable | Writeable | Construct
Implements
TlsServerConnectionExt
, TlsConnectionExt
, IOStreamExt
, glib::ObjectExt
, TlsConnectionExtManual
, IOStreamExtManual
Implementations§
source§impl TlsServerConnection
impl TlsServerConnection
pub const NONE: Option<&'static TlsServerConnection> = None
sourcepub fn new(
base_io_stream: &impl IsA<IOStream>,
certificate: Option<&impl IsA<TlsCertificate>>
) -> Result<TlsServerConnection, Error>
pub fn new( base_io_stream: &impl IsA<IOStream>, certificate: Option<&impl IsA<TlsCertificate>> ) -> Result<TlsServerConnection, Error>
Creates a new TlsServerConnection
wrapping base_io_stream
(which
must have pollable input and output streams).
See the documentation for base-io-stream
for restrictions
on when application code can run operations on the base_io_stream
after
this function has returned.
base_io_stream
the IOStream
to wrap
certificate
the default server certificate, or None
Returns
the new
TlsServerConnection
, or None
on error
Trait Implementations§
source§impl Clone for TlsServerConnection
impl Clone for TlsServerConnection
source§impl Debug for TlsServerConnection
impl Debug for TlsServerConnection
source§impl Display for TlsServerConnection
impl Display for TlsServerConnection
source§impl HasParamSpec for TlsServerConnection
impl HasParamSpec for TlsServerConnection
type ParamSpec = ParamSpecObject
§type SetValue = TlsServerConnection
type SetValue = TlsServerConnection
type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, TlsServerConnection>
fn param_spec_builder() -> Self::BuilderFn
source§impl Hash for TlsServerConnection
impl Hash for TlsServerConnection
source§impl Ord for TlsServerConnection
impl Ord for TlsServerConnection
source§impl<OT: ObjectType> PartialEq<OT> for TlsServerConnection
impl<OT: ObjectType> PartialEq<OT> for TlsServerConnection
source§impl<OT: ObjectType> PartialOrd<OT> for TlsServerConnection
impl<OT: ObjectType> PartialOrd<OT> for TlsServerConnection
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for TlsServerConnection
impl StaticType for TlsServerConnection
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for TlsServerConnection
impl IsA<IOStream> for TlsServerConnection
impl IsA<TlsConnection> for TlsServerConnection
Auto Trait Implementations§
impl RefUnwindSafe for TlsServerConnection
impl !Send for TlsServerConnection
impl !Sync for TlsServerConnection
impl Unpin for TlsServerConnection
impl UnwindSafe for TlsServerConnection
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere T: ObjectType,
source§fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere T: ObjectType, Self: IsA<T>,
T
. Read moresource§fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere T: ObjectType, Self: IsA<T>,
T
. Read moresource§fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: CanDowncast<T>,
fn downcast<T>(self) -> Result<T, Self>where T: ObjectType, Self: CanDowncast<T>,
T
. Read moresource§fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: CanDowncast<T>,
fn downcast_ref<T>(&self) -> Option<&T>where T: ObjectType, Self: CanDowncast<T>,
T
. Read moresource§fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self>where T: ObjectType,
T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while upcast
will do many checks at compile-time already. downcast
will
perform the same checks at runtime as dynamic_cast
, but will also ensure some amount of
compile-time safety. Read moresource§fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T>where T: ObjectType,
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 moresource§unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere T: ObjectType,
T
unconditionally. Read moresource§unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere T: ObjectType,
&T
unconditionally. Read moresource§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<O> IOStreamExt for Owhere
O: IsA<IOStream>,
impl<O> IOStreamExt for Owhere O: IsA<IOStream>,
source§fn clear_pending(&self)
fn clear_pending(&self)
self
.source§fn close(
&self,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>
fn close( &self, cancellable: Option<&impl IsA<Cancellable>> ) -> Result<(), Error>
source§fn close_async<P>(
&self,
io_priority: Priority,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
)where
P: FnOnce(Result<(), Error>) + 'static,
fn close_async<P>( &self, io_priority: Priority, cancellable: Option<&impl IsA<Cancellable>>, callback: P )where P: FnOnce(Result<(), Error>) + 'static,
callback
will be
called. You can then call g_io_stream_close_finish()
to get
the result of the operation. Read morefn close_future( &self, io_priority: Priority ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'static, Global>>
source§fn input_stream(&self) -> InputStream
fn input_stream(&self) -> InputStream
source§fn output_stream(&self) -> OutputStream
fn output_stream(&self) -> OutputStream
source§fn has_pending(&self) -> bool
fn has_pending(&self) -> bool
fn connect_closed_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
source§impl<O> IOStreamExtManual for Owhere
O: IsA<IOStream>,
impl<O> IOStreamExtManual for Owhere O: IsA<IOStream>,
fn into_async_read_write(self) -> Result<IOStreamAsyncReadWrite<Self>, Self>
source§impl<T> IntoClosureReturnValue for Twhere
T: Into<Value>,
impl<T> IntoClosureReturnValue for Twhere T: Into<Value>,
fn into_closure_return_value(self) -> Option<Value>
source§impl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere T: ObjectType,
source§fn is<U>(&self) -> boolwhere
U: StaticType,
fn is<U>(&self) -> boolwhere U: StaticType,
true
if the object is an instance of (can be cast to) T
.source§fn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass
of the object. Read moresource§fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where U: IsClass,
T
. Read moresource§fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where U: IsInterface,
T
of the object. Read moresource§fn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
source§fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
source§fn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
source§fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
fn property<V>(&self, property_name: &str) -> Vwhere V: for<'b> FromValue<'b> + 'static,
property_name
of the object and cast it to the type V. Read moresource§fn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name
of the object. Read moresource§fn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name
of this object. Read moresource§fn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec
of the property property_name
of this object.source§fn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec
of the properties of this object.source§fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
source§unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where QD: 'static,
key
. Read moresource§unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where QD: 'static,
key
. Read moresource§unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where QD: 'static,
key
. Read moresource§unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD)where QD: 'static,
key
. Read moresource§unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where QD: 'static,
key
. Read moresource§unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where QD: 'static,
key
. Read moresource§fn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
source§fn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
source§fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
source§fn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
source§fn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
signal_name
on this object. Read moresource§fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
signal_id
on this object. Read moresource§fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + 'static,
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,
signal_name
on this object. Read moresource§fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + 'static,
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,
signal_id
on this object. Read moresource§unsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value>,
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,
signal_name
on this object. Read moresource§unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value>,
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,
signal_id
on this object. Read moresource§fn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
closure
to the lifetime of the object. When
the object’s reference count drops to zero, the closure will be
invalidated. An invalidated closure will ignore any calls to
invoke_with_values
, or
invoke
when using Rust closures.source§fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,
source§fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Self::emit
but takes Value
for the arguments.source§fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,
source§fn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>
source§fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,
source§fn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>
source§fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,
source§fn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>
source§fn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
source§fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec) + Send + Sync + 'static,
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + Send + Sync + 'static,
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec) + 'static,
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + 'static,
notify
signal of the object. Read moresource§unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec),
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec),
notify
signal of the object. Read moresource§fn notify(&self, property_name: &str)
fn notify(&self, property_name: &str)
source§fn notify_by_pspec(&self, pspec: &ParamSpec)
fn notify_by_pspec(&self, pspec: &ParamSpec)
source§fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + Send + 'static,
fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>where F: FnOnce() + Send + 'static,
source§fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + 'static,
fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where F: FnOnce() + 'static,
source§fn bind_property<'f, 't, O, 'a>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str
) -> BindingBuilder<'a, 'f, 't>where
O: ObjectType,
fn bind_property<'f, 't, O, 'a>( &'a self, source_property: &'a str, target: &'a O, target_property: &'a str ) -> BindingBuilder<'a, 'f, 't>where O: ObjectType,
source§unsafe fn run_dispose(&self)
unsafe fn run_dispose(&self)
source§impl<T> PropertyGet for Twhere
T: HasParamSpec,
impl<T> PropertyGet for Twhere T: HasParamSpec,
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<O> TlsConnectionExt for Owhere
O: IsA<TlsConnection>,
impl<O> TlsConnectionExt for Owhere O: IsA<TlsConnection>,
source§fn emit_accept_certificate(
&self,
peer_cert: &impl IsA<TlsCertificate>,
errors: TlsCertificateFlags
) -> bool
fn emit_accept_certificate( &self, peer_cert: &impl IsA<TlsCertificate>, errors: TlsCertificateFlags ) -> bool
source§fn certificate(&self) -> Option<TlsCertificate>
fn certificate(&self) -> Option<TlsCertificate>
source§fn ciphersuite_name(&self) -> Option<GString>
fn ciphersuite_name(&self) -> Option<GString>
v2_70
only.None
if the
connection has not handshaked or has been closed. Beware that the TLS
backend may use any of multiple different naming conventions, because
OpenSSL and GnuTLS have their own ciphersuite naming conventions that
are different from each other and different from the standard, IANA-
registered ciphersuite names. The ciphersuite name is intended to be
displayed to the user for informative purposes only, and parsing it
is not recommended. Read moresource§fn database(&self) -> Option<TlsDatabase>
fn database(&self) -> Option<TlsDatabase>
self
uses to verify
peer certificates. See set_database()
. Read moresource§fn interaction(&self) -> Option<TlsInteraction>
fn interaction(&self) -> Option<TlsInteraction>
source§fn negotiated_protocol(&self) -> Option<GString>
fn negotiated_protocol(&self) -> Option<GString>
v2_60
only.source§fn peer_certificate(&self) -> Option<TlsCertificate>
fn peer_certificate(&self) -> Option<TlsCertificate>
self
’s peer’s certificate after the handshake has completed
or failed. (It is not set during the emission of
accept-certificate
.) Read moresource§fn peer_certificate_errors(&self) -> TlsCertificateFlags
fn peer_certificate_errors(&self) -> TlsCertificateFlags
self
’s peer’s
certificate, after the handshake has completed or failed. (It is
not set during the emission of accept-certificate
.) Read moresource§fn protocol_version(&self) -> TlsProtocolVersion
fn protocol_version(&self) -> TlsProtocolVersion
v2_70
only.TlsProtocolVersion::Unknown
if the connection has not handshaked, or
has been closed, or if the TLS backend has implemented a protocol version
that is not a recognized TlsProtocolVersion
. Read moresource§fn rehandshake_mode(&self) -> TlsRehandshakeMode
fn rehandshake_mode(&self) -> TlsRehandshakeMode
source§fn requires_close_notify(&self) -> bool
fn requires_close_notify(&self) -> bool
self
expects a proper TLS close notification
when the connection is closed. See
set_require_close_notify()
for details. Read moresource§fn handshake(
&self,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>
fn handshake( &self, cancellable: Option<&impl IsA<Cancellable>> ) -> Result<(), Error>
self
. Read moresource§fn handshake_async<P>(
&self,
io_priority: Priority,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
)where
P: FnOnce(Result<(), Error>) + 'static,
fn handshake_async<P>( &self, io_priority: Priority, cancellable: Option<&impl IsA<Cancellable>>, callback: P )where P: FnOnce(Result<(), Error>) + 'static,
fn handshake_future( &self, io_priority: Priority ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'static, Global>>
source§fn set_certificate(&self, certificate: &impl IsA<TlsCertificate>)
fn set_certificate(&self, certificate: &impl IsA<TlsCertificate>)
self
will present to its peer
during the TLS handshake. For a TlsServerConnection
, it is
mandatory to set this, and that will normally be done at construct
time. Read moresource§fn set_database(&self, database: Option<&impl IsA<TlsDatabase>>)
fn set_database(&self, database: Option<&impl IsA<TlsDatabase>>)
TlsBackendExt::default_database()
. If set to None
, then
peer certificate validation will always set the
TlsCertificateFlags::UNKNOWN_CA
error (meaning
accept-certificate
will always be emitted on
client-side connections, unless that bit is not set in
validation-flags
). Read moresource§fn set_interaction(&self, interaction: Option<&impl IsA<TlsInteraction>>)
fn set_interaction(&self, interaction: Option<&impl IsA<TlsInteraction>>)
source§fn set_rehandshake_mode(&self, mode: TlsRehandshakeMode)
fn set_rehandshake_mode(&self, mode: TlsRehandshakeMode)
source§fn set_require_close_notify(&self, require_close_notify: bool)
fn set_require_close_notify(&self, require_close_notify: bool)
self
expects a proper TLS close notification
before the connection is closed. If this is true
(the default),
then self
will expect to receive a TLS close notification from its
peer before the connection is closed, and will return a
TlsError::Eof
error if the connection is closed without proper
notification (since this may indicate a network error, or
man-in-the-middle attack). Read moresource§fn advertised_protocols(&self) -> Vec<GString, Global>
fn advertised_protocols(&self) -> Vec<GString, Global>
v2_60
only.TlsConnectionExtManual::set_advertised_protocols()
.source§fn base_io_stream(&self) -> Option<IOStream>
fn base_io_stream(&self) -> Option<IOStream>
IOStream
that the connection wraps. The connection holds a reference
to this stream, and may run operations on the stream from other threads
throughout its lifetime. Consequently, after the IOStream
has been
constructed, application code may only run its own operations on this
stream when no IOStream
operations are running.source§fn connect_accept_certificate<F>(&self, f: F) -> SignalHandlerIdwhere
F: Fn(&O, &TlsCertificate, TlsCertificateFlags) -> bool + 'static,
fn connect_accept_certificate<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O, &TlsCertificate, TlsCertificateFlags) -> bool + 'static,
peer_cert
’s certification path by
calling TlsCertificateExt::issuer()
on it. Read moresource§fn connect_advertised_protocols_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: Fn(&O) + 'static,
fn connect_advertised_protocols_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
v2_60
only.fn connect_certificate_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
source§fn connect_ciphersuite_name_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: Fn(&O) + 'static,
fn connect_ciphersuite_name_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
v2_70
only.fn connect_database_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
fn connect_interaction_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
source§fn connect_negotiated_protocol_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: Fn(&O) + 'static,
fn connect_negotiated_protocol_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
v2_60
only.fn connect_peer_certificate_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
fn connect_peer_certificate_errors_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
source§fn connect_protocol_version_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: Fn(&O) + 'static,
fn connect_protocol_version_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
v2_70
only.fn connect_rehandshake_mode_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
fn connect_require_close_notify_notify<F>(&self, f: F) -> SignalHandlerIdwhere F: Fn(&O) + 'static,
source§impl<O> TlsConnectionExtManual for Owhere
O: IsA<TlsConnection>,
impl<O> TlsConnectionExtManual for Owhere O: IsA<TlsConnection>,
source§fn channel_binding_data(
&self,
type_: TlsChannelBindingType
) -> Result<ByteArray, Error>
fn channel_binding_data( &self, type_: TlsChannelBindingType ) -> Result<ByteArray, Error>
v2_66
only.source§fn set_advertised_protocols(&self, protocols: impl IntoStrV)
fn set_advertised_protocols(&self, protocols: impl IntoStrV)
v2_60
only.TlsConnectionExt::negotiated_protocol()
to find the negotiated
protocol after the handshake. Specifying None
for the the value
of protocols
will disable ALPN negotiation. Read moresource§impl<O> TlsServerConnectionExt for Owhere
O: IsA<TlsServerConnection>,
impl<O> TlsServerConnectionExt for Owhere O: IsA<TlsServerConnection>,
source§fn authentication_mode(&self) -> TlsAuthenticationMode
fn authentication_mode(&self) -> TlsAuthenticationMode
TlsAuthenticationMode
for the server. This can be changed
before calling TlsConnectionExt::handshake()
if you want to
rehandshake with a different mode from the initial handshake.source§fn set_authentication_mode(&self, authentication_mode: TlsAuthenticationMode)
fn set_authentication_mode(&self, authentication_mode: TlsAuthenticationMode)
TlsAuthenticationMode
for the server. This can be changed
before calling TlsConnectionExt::handshake()
if you want to
rehandshake with a different mode from the initial handshake.