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 SoupServerMessages 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

source

pub fn http_version(&self) -> HTTPVersion

Get the HTTP version of @self.

§Returns

a #SoupHTTPVersion.

source

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().

source

pub fn method(&self) -> Option<GString>

Get the HTTP method of @self.

§Returns

the HTTP method.

source

pub fn reason_phrase(&self) -> Option<GString>

Get the HTTP reason phrase of @self.

§Returns

the reason phrase.

source

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.

source

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().

source

pub fn request_body(&self) -> Option<MessageBody>

Get the request body of @self.

§Returns

a #SoupMessageBody.

source

pub fn request_headers(&self) -> Option<MessageHeaders>

Get the request headers of @self.

§Returns

a #SoupMessageHeaders with the request headers.

source

pub fn response_body(&self) -> Option<MessageBody>

Get the response body of @self.

§Returns

a #SoupMessageBody.

source

pub fn response_headers(&self) -> Option<MessageHeaders>

Get the response headers of @self.

§Returns

a #SoupMessageHeaders with the response headers.

source

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().

source

pub fn status(&self) -> u32

Get the HTTP status code of @self.

§Returns

the HTTP status code.

source

pub fn tls_peer_certificate(&self) -> Option<TlsCertificate>

Gets the peer’s #GTlsCertificate associated with @self’s connection. Note that this is not set yet during the emission of SoupServerMessage::accept-certificate signal.

§Returns

@self’s TLS peer certificate, or None if @self’s connection is not SSL.

source

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.

source

pub fn uri(&self) -> Option<Uri>

Get @self’s URI.

§Returns

a #GUri

source

pub fn is_options_ping(&self) -> bool

Gets if @self represents an OPTIONS message with the path *.

§Returns

true if is an OPTIONS ping

source

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.

source

pub fn set_http_version(&self, version: HTTPVersion)

Set the HTTP version of @self.

§version

a #SoupHTTPVersion

source

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

source

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.

source

pub fn set_status(&self, status_code: u32, reason_phrase: Option<&str>)

Sets @self’s status code to @status_code.

If @status_code is a known value and @reason_phrase is None, the reason_phrase will be set automatically.

§status_code

an HTTP status code

§reason_phrase

a reason phrase

source

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.

source

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.

source

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.

source

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.

source

pub fn connect_disconnected<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when the @msg’s socket is disconnected.

source

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).

source

pub fn connect_got_body<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

Emitted after receiving the complete request body.

source

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

source

pub fn connect_got_headers<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted after receiving the Request-Line and request headers.

source

pub fn connect_wrote_body<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted immediately after writing the complete response body for a message.

source

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

source

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.

source

pub fn connect_wrote_headers<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted immediately after writing the response headers for a message.

source

pub fn connect_wrote_informational<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted immediately after writing a 1xx (Informational) response.

source

pub fn connect_tls_peer_certificate_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_tls_peer_certificate_errors_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Trait Implementations§

source§

impl Clone for ServerMessage

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ServerMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl HasParamSpec for ServerMessage

§

type ParamSpec = ParamSpecObject

§

type SetValue = ServerMessage

Preferred value to be used as setter for the associated ParamSpec.
§

type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, ServerMessage>

source§

fn param_spec_builder() -> Self::BuilderFn

source§

impl Hash for ServerMessage

source§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ServerMessage

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl ParentClassIs for ServerMessage

source§

impl<OT: ObjectType> PartialEq<OT> for ServerMessage

source§

fn eq(&self, other: &OT) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<OT: ObjectType> PartialOrd<OT> for ServerMessage

source§

fn partial_cmp(&self, other: &OT) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl StaticType for ServerMessage

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for ServerMessage

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Cast for T
where T: ObjectType,

source§

fn upcast<T>(self) -> T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a superclass or interface T. Read more
source§

fn upcast_ref<T>(&self) -> &T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a reference of its superclass or interface T. Read more
source§

fn downcast<T>(self) -> Result<T, Self>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a subclass or interface implementor T. Read more
source§

fn downcast_ref<T>(&self) -> Option<&T>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a reference of its subclass or interface implementor T. Read more
source§

fn dynamic_cast<T>(self) -> Result<T, Self>
where T: ObjectType,

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 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 more
source§

fn dynamic_cast_ref<T>(&self) -> Option<&T>
where T: ObjectType,

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
source§

unsafe fn unsafe_cast<T>(self) -> T
where T: ObjectType,

Casts to T unconditionally. Read more
source§

unsafe fn unsafe_cast_ref<T>(&self) -> &T
where T: ObjectType,

Casts to &T unconditionally. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *const GList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(_: *const GList, _: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(_: *const GList, _: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *const GPtrArray, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(_: *const GPtrArray, _: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *const GSList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

source§

impl<U> IsSubclassableExt for U

source§

impl<T> ObjectExt for T
where T: ObjectType,

source§

fn is<U>(&self) -> bool
where U: StaticType,

Returns true if the object is an instance of (can be cast to) T.
source§

fn type_(&self) -> Type

Returns the type of the object.
source§

fn object_class(&self) -> &Class<Object>

Returns the ObjectClass of the object. Read more
source§

fn class(&self) -> &Class<T>
where T: IsClass,

Returns the class of the object.
source§

fn class_of<U>(&self) -> Option<&Class<U>>
where U: IsClass,

Returns the class of the object in the given type T. Read more
source§

fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>
where U: IsInterface,

Returns the interface T of the object. Read more
source§

fn set_property(&self, property_name: &str, value: impl Into<Value>)

Sets the property property_name of the object to value value. Read more
source§

fn set_property_from_value(&self, property_name: &str, value: &Value)

Sets the property property_name of the object to value value. Read more
source§

fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])

Sets multiple properties of the object at once. Read more
source§

fn set_properties_from_value(&self, property_values: &[(&str, Value)])

Sets multiple properties of the object at once. Read more
source§

fn property<V>(&self, property_name: &str) -> V
where V: for<'b> FromValue<'b> + 'static,

Gets the property property_name of the object and cast it to the type V. Read more
source§

fn property_value(&self, property_name: &str) -> Value

Gets the property property_name of the object. Read more
source§

fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool

Check if the object has a property property_name of the given type_. Read more
source§

fn property_type(&self, property_name: &str) -> Option<Type>

Get the type of the property property_name of this object. Read more
source§

fn find_property(&self, property_name: &str) -> Option<ParamSpec>

Get the ParamSpec of the property property_name of this object.
source§

fn list_properties(&self) -> PtrSlice<ParamSpec>

Return all ParamSpec of the properties of this object.
source§

fn freeze_notify(&self) -> PropertyNotificationFreezeGuard

Freeze all property notifications until the return guard object is dropped. Read more
source§

unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
source§

unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn set_data<QD>(&self, key: &str, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
source§

unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
source§

fn block_signal(&self, handler_id: &SignalHandlerId)

Block a given signal handler. Read more
source§

fn unblock_signal(&self, handler_id: &SignalHandlerId)

Unblock a given signal handler.
source§

fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)

Stop emission of the currently emitted signal.
source§

fn stop_signal_emission_by_name(&self, signal_name: &str)

Stop emission of the currently emitted signal by the (possibly detailed) signal name.
source§

fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_name on this object. Read more
source§

fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_id on this object. Read more
source§

fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_name on this object. Read more
source§

fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_id on this object. Read more
source§

unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_name on this object. Read more
source§

unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_id on this object. Read more
source§

fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_name on this object. Read more
source§

fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_id on this object. Read more
source§

fn watch_closure(&self, closure: &impl AsRef<Closure>)

Limits the lifetime of 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]) -> R

Emit signal by signal id. Read more
source§

fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>

Same as Self::emit but takes Value for the arguments.
source§

fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> R

Emit signal by its name. Read more
source§

fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>

Emit signal by its name. Read more
source§

fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> R

Emit signal by its name with details. Read more
source§

fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by its name with details. Read more
source§

fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> R

Emit signal by signal id with details. Read more
source§

fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by signal id with details. Read more
source§

fn disconnect(&self, handler_id: SignalHandlerId)

Disconnect a previously connected signal handler.
source§

fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + Send + Sync + 'static,

Connect to the notify signal of the object. Read more
source§

fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + 'static,

Connect to the notify signal of the object. Read more
source§

unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerId
where F: Fn(&T, &ParamSpec),

Connect to the notify signal of the object. Read more
source§

fn notify(&self, property_name: &str)

Notify that the given property has changed its value. Read more
source§

fn notify_by_pspec(&self, pspec: &ParamSpec)

Notify that the given property has changed its value. Read more
source§

fn downgrade(&self) -> WeakRef<T>

Downgrade this object to a weak reference.
source§

fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + Send + 'static,

Add a callback to be notified when the Object is disposed.
source§

fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + 'static,

Add a callback to be notified when the Object is disposed. Read more
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,

Bind property source_property on this object to the target_property on the target object. Read more
source§

fn ref_count(&self) -> u32

Returns the strong reference count of this object.
source§

unsafe fn run_dispose(&self)

Runs the dispose mechanism of the object. Read more
source§

impl<T> Property for T
where T: HasParamSpec,

§

type Value = T

source§

impl<T> PropertyGet for T
where T: HasParamSpec,

§

type Value = T

source§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

source§

impl<T> StaticTypeExt for T
where T: StaticType,

source§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> TransparentType for T

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<'a, T, C, E> FromValueOptional<'a> for T
where T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,

source§

impl<Super, Sub> MayDowncastTo<Sub> for Super
where Super: IsA<Super>, Sub: IsA<Super>,