Struct soup::ServerMessage
source · pub struct ServerMessage { /* private fields */ }
Expand description
An HTTP server request and response pair.
A SoupServerMessage represents an HTTP message that is being sent or
received on a Server
.
Server
will create SoupServerMessage
s automatically for
incoming requests, which your application will receive via handlers.
Note that libsoup’s terminology here does not quite match the HTTP specification: in RFC 2616, an “HTTP-message” is either a Request, or a Response. In libsoup, a #SoupServerMessage combines both the request and the response.
§Properties
§tls-peer-certificate
The peer’s #GTlsCertificate associated with the message
Readable
§tls-peer-certificate-errors
The verification errors on #SoupServerMessage:tls-peer-certificate
Readable
§Signals
§accept-certificate
Emitted during the @msg’s connection TLS handshake
after client TLS certificate has been received.
You can return true
to accept @tls_certificate despite
@tls_errors.
§connected
Emitted when the @msg’s socket is connected and the TLS handshake completed.
§disconnected
Emitted when the @msg’s socket is disconnected.
§finished
Emitted when all HTTP processing is finished for a message.
(After wrote-body
).
§got-body
Emitted after receiving the complete request body.
§got-chunk
Emitted after receiving a chunk of a message body.
Note that “chunk” in this context means any subpiece of the body, not necessarily the specific HTTP 1.1 chunks sent by the other side.
§got-headers
Emitted after receiving the Request-Line and request headers.
§wrote-body
Emitted immediately after writing the complete response body for a message.
§wrote-body-data
Emitted immediately after writing a portion of the message body to the network.
§wrote-chunk
Emitted immediately after writing a body chunk for a message.
Note that this signal is not parallel to
got-chunk
; it is emitted only when a complete
chunk (added with MessageBody::append()
or
MessageBody::append_bytes()
has been written. To get
more useful continuous progress information, use
wrote-body-data
.
§wrote-headers
Emitted immediately after writing the response headers for a message.
§wrote-informational
Emitted immediately after writing a 1xx (Informational) response.
§Implements
[trait@glib::ObjectExt
]
Implementations§
source§impl ServerMessage
impl ServerMessage
sourcepub fn http_version(&self) -> HTTPVersion
pub fn http_version(&self) -> HTTPVersion
sourcepub fn local_address(&self) -> Option<SocketAddress>
pub fn local_address(&self) -> Option<SocketAddress>
Retrieves the gio::SocketAddress
associated with the local end
of a connection.
§Returns
the #GSocketAddress
associated with the local end of a connection, it may be
None
if you used ServerExt::accept_iostream()
.
sourcepub fn reason_phrase(&self) -> Option<GString>
pub fn reason_phrase(&self) -> Option<GString>
sourcepub fn remote_address(&self) -> Option<SocketAddress>
pub fn remote_address(&self) -> Option<SocketAddress>
Retrieves the gio::SocketAddress
associated with the remote end
of a connection.
§Returns
the #GSocketAddress
associated with the remote end of a connection, it may be
None
if you used Server::accept_iostream
.
sourcepub fn remote_host(&self) -> Option<GString>
pub fn remote_host(&self) -> Option<GString>
Retrieves the IP address associated with the remote end of a connection.
§Returns
the IP address associated with the remote
end of a connection, it may be None
if you used
ServerExt::accept_iostream()
.
sourcepub fn request_body(&self) -> Option<MessageBody>
pub fn request_body(&self) -> Option<MessageBody>
sourcepub fn request_headers(&self) -> Option<MessageHeaders>
pub fn request_headers(&self) -> Option<MessageHeaders>
sourcepub fn response_body(&self) -> Option<MessageBody>
pub fn response_body(&self) -> Option<MessageBody>
sourcepub fn response_headers(&self) -> Option<MessageHeaders>
pub fn response_headers(&self) -> Option<MessageHeaders>
sourcepub fn socket(&self) -> Option<Socket>
pub fn socket(&self) -> Option<Socket>
Retrieves the gio::Socket
that @self is associated with.
If you are using this method to observe when multiple requests are made on the same persistent HTTP connection (eg, as the ntlm-test test program does), you will need to pay attention to socket destruction as well (eg, by using weak references), so that you do not get fooled when the allocator reuses the memory address of a previously-destroyed socket to represent a new socket.
§Returns
the #GSocket that @self is
associated with, None
if you used ServerExt::accept_iostream()
.
sourcepub fn tls_peer_certificate(&self) -> Option<TlsCertificate>
pub fn tls_peer_certificate(&self) -> Option<TlsCertificate>
sourcepub fn tls_peer_certificate_errors(&self) -> TlsCertificateFlags
pub fn tls_peer_certificate_errors(&self) -> TlsCertificateFlags
Gets the errors associated with validating @self’s TLS peer certificate. Note that this is not set yet during the emission of SoupServerMessage::accept-certificate signal.
§Returns
a #GTlsCertificateFlags with @self’s TLS peer certificate errors.
sourcepub fn is_options_ping(&self) -> bool
pub fn is_options_ping(&self) -> bool
sourcepub fn pause(&self)
pub fn pause(&self)
Pauses I/O on @self.
This can be used when you need to return from the server handler without
having the full response ready yet. Use unpause()
to
resume I/O.
sourcepub fn set_http_version(&self, version: HTTPVersion)
pub fn set_http_version(&self, version: HTTPVersion)
sourcepub fn set_redirect(&self, status_code: u32, redirect_uri: &str)
pub fn set_redirect(&self, status_code: u32, redirect_uri: &str)
Sets @self’s status_code to @status_code and adds a Location header
pointing to @redirect_uri. Use this from a Server
when you
want to redirect the client to another URI.
@redirect_uri can be a relative URI, in which case it is interpreted relative to @self’s current URI. In particular, if @redirect_uri is just a path, it will replace the path and query of @self’s URI.
§status_code
a 3xx status code
§redirect_uri
the URI to redirect @self to
sourcepub fn set_response(
&self,
content_type: Option<&str>,
resp_use: MemoryUse,
resp_body: &[u8]
)
pub fn set_response( &self, content_type: Option<&str>, resp_use: MemoryUse, resp_body: &[u8] )
Convenience function to set the response body of a #SoupServerMessage. If
@content_type is None
, the response body must be empty as well.
§content_type
MIME Content-Type of the body
§resp_use
a #SoupMemoryUse describing how to handle @resp_body
§resp_body
a data buffer containing the body of the message response.
sourcepub fn set_status(&self, status_code: u32, reason_phrase: Option<&str>)
pub fn set_status(&self, status_code: u32, reason_phrase: Option<&str>)
sourcepub fn steal_connection(&self) -> Option<IOStream>
pub fn steal_connection(&self) -> Option<IOStream>
“Steals” the HTTP connection associated with @self from its #SoupServer. This
happens immediately, regardless of the current state of the connection; if
the response to @self has not yet finished being sent, then it will be
discarded; you can steal the connection from a
wrote-informational
or
wrote-body
signal handler if you need to wait for
part or all of the response to be sent.
Note that when calling this function from C, @self will most likely be freed as a side effect.
§Returns
the #GIOStream formerly associated
with @self (or None
if @self was no longer associated with a
connection). No guarantees are made about what kind of #GIOStream
is returned.
sourcepub fn unpause(&self)
pub fn unpause(&self)
Resumes I/O on @self.
Use this to resume after calling pause()
, or after
adding a new chunk to a chunked response. I/O won’t actually resume until you
return to the main loop.
sourcepub fn connect_accept_certificate<F: Fn(&Self, &TlsCertificate, TlsCertificateFlags) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_accept_certificate<F: Fn(&Self, &TlsCertificate, TlsCertificateFlags) -> bool + 'static>( &self, f: F ) -> SignalHandlerId
Emitted during the @msg’s connection TLS handshake
after client TLS certificate has been received.
You can return true
to accept @tls_certificate despite
@tls_errors.
§tls_peer_certificate
the peer’s #GTlsCertificate
§tls_peer_errors
the tls errors of @tls_certificate
§Returns
true
to accept the TLS certificate and stop other
handlers from being invoked, or false
to propagate the
event further.
sourcepub fn connect_connected<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
pub fn connect_connected<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
Emitted when the @msg’s socket is connected and the TLS handshake completed.
sourcepub fn connect_disconnected<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_disconnected<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when the @msg’s socket is disconnected.
sourcepub fn connect_finished<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
pub fn connect_finished<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
Emitted when all HTTP processing is finished for a message.
(After wrote-body
).
sourcepub fn connect_got_body<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
pub fn connect_got_body<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
Emitted after receiving the complete request body.
sourcepub fn connect_got_chunk<F: Fn(&Self, &Bytes) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_got_chunk<F: Fn(&Self, &Bytes) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted after receiving a chunk of a message body.
Note that “chunk” in this context means any subpiece of the body, not necessarily the specific HTTP 1.1 chunks sent by the other side.
§chunk
the just-read chunk
sourcepub fn connect_got_headers<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_got_headers<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted after receiving the Request-Line and request headers.
sourcepub fn connect_wrote_body<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_wrote_body<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted immediately after writing the complete response body for a message.
sourcepub fn connect_wrote_body_data<F: Fn(&Self, u32) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_wrote_body_data<F: Fn(&Self, u32) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted immediately after writing a portion of the message body to the network.
§chunk_size
the number of bytes written
sourcepub fn connect_wrote_chunk<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_wrote_chunk<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted immediately after writing a body chunk for a message.
Note that this signal is not parallel to
got-chunk
; it is emitted only when a complete
chunk (added with MessageBody::append()
or
MessageBody::append_bytes()
has been written. To get
more useful continuous progress information, use
wrote-body-data
.
sourcepub fn connect_wrote_headers<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_wrote_headers<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted immediately after writing the response headers for a message.
sourcepub fn connect_wrote_informational<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_wrote_informational<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted immediately after writing a 1xx (Informational) response.
pub fn connect_tls_peer_certificate_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_tls_peer_certificate_errors_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Trait Implementations§
source§impl Clone for ServerMessage
impl Clone for ServerMessage
source§impl Debug for ServerMessage
impl Debug for ServerMessage
source§impl HasParamSpec for ServerMessage
impl HasParamSpec for ServerMessage
type ParamSpec = ParamSpecObject
§type SetValue = ServerMessage
type SetValue = ServerMessage
type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, ServerMessage>
fn param_spec_builder() -> Self::BuilderFn
source§impl Hash for ServerMessage
impl Hash for ServerMessage
source§impl Ord for ServerMessage
impl Ord for ServerMessage
source§impl ParentClassIs for ServerMessage
impl ParentClassIs for ServerMessage
source§impl<OT: ObjectType> PartialEq<OT> for ServerMessage
impl<OT: ObjectType> PartialEq<OT> for ServerMessage
source§impl<OT: ObjectType> PartialOrd<OT> for ServerMessage
impl<OT: ObjectType> PartialOrd<OT> for ServerMessage
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 ServerMessage
impl StaticType for ServerMessage
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for ServerMessage
Auto Trait Implementations§
impl RefUnwindSafe for ServerMessage
impl !Send for ServerMessage
impl !Sync for ServerMessage
impl Unpin for ServerMessage
impl UnwindSafe for ServerMessage
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: MayDowncastTo<T>,
fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
T
. Read moresource§fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<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>,
unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>
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>,
unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>
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>,
unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>
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>,
unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>
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>,
unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>
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>,
unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>
source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)
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
) -> SignalHandlerId
fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
signal_id
on this object. Read moresource§unsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
signal_name
on this object. Read moresource§unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
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) -> SignalHandlerId
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerId
notify
signal of the object. Read more