MessageConversion

Trait MessageConversion 

Source
pub trait MessageConversion<'a>: DBusProperties {
    type Body<'msg>: Type + Deserialize<'msg> + Serialize
       where Self: 'msg;

    // Required methods
    fn from_message_unchecked(
        msg: &Message,
        header: &Header<'_>,
    ) -> Result<Self, AtspiError>
       where Self: Sized + 'a;
    fn from_message_unchecked_parts(
        obj_ref: ObjectRef<'_>,
        body: Body,
    ) -> Result<Self, AtspiError>
       where Self: Sized;
    fn body(&self) -> Self::Body<'_>;
}

Required Associated Types§

Source

type Body<'msg>: Type + Deserialize<'msg> + Serialize where Self: 'msg

What is the body type of this event.

Required Methods§

Source

fn from_message_unchecked( msg: &Message, header: &Header<'_>, ) -> Result<Self, AtspiError>
where Self: Sized + 'a,

Build an event from a zbus::Message reference. This function will not check for any of the following error conditions:

Therefore, this should only be used when one has checked the above conditions. These must be checked manually. Alternatively, there is the MessageConversionExt::try_from_message that will check these conditions for you.

This type also implements TryFrom<&zbus::Message>; consider using this if you are not an internal developer.

§Errors

It is possible to get a AtspiError::Zvariant error if you do not check the proper conditions before calling this.

Source

fn from_message_unchecked_parts( obj_ref: ObjectRef<'_>, body: Body, ) -> Result<Self, AtspiError>
where Self: Sized,

Build an event from an ObjectRef and Self::Body. This function will not check for any of the following error conditions:

Therefore, this should only be used when one has checked the above conditions.

§Errors

Some Self::Body types may fallibly convert data fields contained in the body. If this happens, then the function will return an error.

Source

fn body(&self) -> Self::Body<'_>

The body of the object.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl MessageConversion<'_> for AddAccessibleEvent

Source§

type Body<'msg> = CacheItem

Source§

impl MessageConversion<'_> for LegacyAddAccessibleEvent

Source§

impl MessageConversion<'_> for RemoveAccessibleEvent

Source§

impl MessageConversion<'_> for atspi_proxies::events::document::AttributesChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ContentChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for LoadCompleteEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for LoadStoppedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for PageChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ReloadEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for FocusEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ModifiersEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for AbsEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for ButtonEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for RelEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for ActiveDescendantChangedEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for AnnouncementEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for atspi_proxies::events::object::AttributesChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for BoundsChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ChildrenChangedEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for ColumnDeletedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ColumnInsertedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ColumnReorderedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for LinkSelectedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ModelChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for atspi_proxies::events::object::PropertyChangeEvent

Source§

type Body<'b> = EventBody<'b>

Source§

impl MessageConversion<'_> for RowDeletedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for RowInsertedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for RowReorderedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for SelectionChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for StateChangedEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for TextAttributesChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for TextBoundsChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for TextCaretMovedEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for TextChangedEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for TextSelectionChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for VisibleDataChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for AvailableEvent

Source§

type Body<'a> = ObjectRef<'a>

Source§

impl MessageConversion<'_> for EventListenerDeregisteredEvent

Source§

impl MessageConversion<'_> for EventListenerRegisteredEvent

Source§

impl MessageConversion<'_> for ApplicationChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for CharWidthChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ColumnCountChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for LineChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for LineCountChangedEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ActivateEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for CloseEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for CreateEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for DeactivateEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for DesktopCreateEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for DesktopDestroyEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for DestroyEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for LowerEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for MaximizeEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for MinimizeEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for MoveEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for atspi_proxies::events::window::PropertyChangeEvent

Source§

type Body<'a> = EventBody<'a>

Source§

impl MessageConversion<'_> for RaiseEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ReparentEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ResizeEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for RestoreEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for RestyleEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for ShadeEvent

Source§

type Body<'msg> = EventBody<'msg>

Source§

impl MessageConversion<'_> for UUshadeEvent

Source§

type Body<'msg> = EventBody<'msg>