Struct x11rb_protocol::protocol::xproto::GetPropertyReply
source · [−]pub struct GetPropertyReply {
pub format: u8,
pub sequence: u16,
pub length: u32,
pub type_: Atom,
pub bytes_after: u32,
pub value_len: u32,
pub value: Vec<u8>,
}
Expand description
Fields
format
- Specifies whether the data should be viewed as a list of 8-bit, 16-bit, or 32-bit quantities. Possible values are 8, 16, and 32. This information allows the X server to correctly perform byte-swap operations as necessary.type
- The actual type of the property (an atom).bytes_after
- The number of bytes remaining to be read in the property if a partial read was performed.value_len
- The length of value. You should use the corresponding accessor instead of this field.
Fields
format: u8
sequence: u16
length: u32
type_: Atom
bytes_after: u32
value_len: u32
value: Vec<u8>
Implementations
sourceimpl GetPropertyReply
impl GetPropertyReply
sourcepub fn value8(&self) -> Option<impl Iterator<Item = u8> + '_>
pub fn value8(&self) -> Option<impl Iterator<Item = u8> + '_>
Iterate over the contained value if its format is 8.
This function checks if the format
member of the reply
is 8. If it it is not, None
is returned. Otherwise
and iterator is returned that interprets the value in
this reply as type u8
.
Examples
Successfully iterate over the value:
// First, we have to 'invent' a GetPropertyReply.
let reply = x11rb_protocol::protocol::xproto::GetPropertyReply {
format: 8,
sequence: 0,
length: 0, // This value is incorrect
type_: 0, // This value is incorrect
bytes_after: 0,
value_len: 4,
value: vec![1, 2, 3, 4],
};
// This is the actual example: Iterate over the value.
let mut iter = reply.value8().unwrap();
assert_eq!(iter.next(), Some(1));
assert_eq!(iter.next(), Some(2));
assert_eq!(iter.next(), Some(3));
assert_eq!(iter.next(), Some(4));
assert_eq!(iter.next(), None);
An iterator is only returned when the format
is correct.
The following example shows this.
// First, we have to 'invent' a GetPropertyReply.
let reply = x11rb_protocol::protocol::xproto::GetPropertyReply {
format: 42, // Not allowed in X11, but used for the example
sequence: 0,
length: 0, // This value is incorrect
type_: 0, // This value is incorrect
bytes_after: 0,
value_len: 4,
value: vec![1, 2, 3, 4],
};
assert!(reply.value8().is_none());
sourcepub fn value16(&self) -> Option<impl Iterator<Item = u16> + '_>
pub fn value16(&self) -> Option<impl Iterator<Item = u16> + '_>
Iterate over the contained value if its format is 16.
This function checks if the format
member of the reply
is 16. If it it is not, None
is returned. Otherwise
and iterator is returned that interprets the value in
this reply as type u16
.
Examples
Successfully iterate over the value:
// First, we have to 'invent' a GetPropertyReply.
let reply = x11rb_protocol::protocol::xproto::GetPropertyReply {
format: 16,
sequence: 0,
length: 0, // This value is incorrect
type_: 0, // This value is incorrect
bytes_after: 0,
value_len: 4,
value: vec![1, 1, 2, 2],
};
// This is the actual example: Iterate over the value.
let mut iter = reply.value16().unwrap();
assert_eq!(iter.next(), Some(257));
assert_eq!(iter.next(), Some(514));
assert_eq!(iter.next(), None);
An iterator is only returned when the format
is correct.
The following example shows this.
// First, we have to 'invent' a GetPropertyReply.
let reply = x11rb_protocol::protocol::xproto::GetPropertyReply {
format: 42, // Not allowed in X11, but used for the example
sequence: 0,
length: 0, // This value is incorrect
type_: 0, // This value is incorrect
bytes_after: 0,
value_len: 4,
value: vec![1, 2, 3, 4],
};
assert!(reply.value16().is_none());
sourcepub fn value32(&self) -> Option<impl Iterator<Item = u32> + '_>
pub fn value32(&self) -> Option<impl Iterator<Item = u32> + '_>
Iterate over the contained value if its format is 32.
This function checks if the format
member of the reply
is 32. If it it is not, None
is returned. Otherwise
and iterator is returned that interprets the value in
this reply as type u32
.
Examples
Successfully iterate over the value:
// First, we have to 'invent' a GetPropertyReply.
let reply = x11rb_protocol::protocol::xproto::GetPropertyReply {
format: 32,
sequence: 0,
length: 0, // This value is incorrect
type_: 0, // This value is incorrect
bytes_after: 0,
value_len: 4,
value: vec![1, 2, 2, 1],
};
// This is the actual example: Iterate over the value.
let mut iter = reply.value32().unwrap();
assert_eq!(iter.next(), Some(16908801));
assert_eq!(iter.next(), None);
An iterator is only returned when the format
is correct.
The following example shows this.
// First, we have to 'invent' a GetPropertyReply.
let reply = x11rb_protocol::protocol::xproto::GetPropertyReply {
format: 42, // Not allowed in X11, but used for the example
sequence: 0,
length: 0, // This value is incorrect
type_: 0, // This value is incorrect
bytes_after: 0,
value_len: 4,
value: vec![1, 2, 3, 4],
};
assert!(reply.value32().is_none());
Trait Implementations
sourceimpl Clone for GetPropertyReply
impl Clone for GetPropertyReply
sourcefn clone(&self) -> GetPropertyReply
fn clone(&self) -> GetPropertyReply
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for GetPropertyReply
impl Debug for GetPropertyReply
sourceimpl Default for GetPropertyReply
impl Default for GetPropertyReply
sourcefn default() -> GetPropertyReply
fn default() -> GetPropertyReply
Returns the “default value” for a type. Read more
sourceimpl From<GetPropertyReply> for Reply
impl From<GetPropertyReply> for Reply
sourcefn from(reply: GetPropertyReply) -> Reply
fn from(reply: GetPropertyReply) -> Reply
Converts to this type from the input type.
sourceimpl Hash for GetPropertyReply
impl Hash for GetPropertyReply
sourceimpl Ord for GetPropertyReply
impl Ord for GetPropertyReply
sourceimpl PartialEq<GetPropertyReply> for GetPropertyReply
impl PartialEq<GetPropertyReply> for GetPropertyReply
sourcefn eq(&self, other: &GetPropertyReply) -> bool
fn eq(&self, other: &GetPropertyReply) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &GetPropertyReply) -> bool
fn ne(&self, other: &GetPropertyReply) -> bool
This method tests for !=
.
sourceimpl PartialOrd<GetPropertyReply> for GetPropertyReply
impl PartialOrd<GetPropertyReply> for GetPropertyReply
sourcefn partial_cmp(&self, other: &GetPropertyReply) -> Option<Ordering>
fn partial_cmp(&self, other: &GetPropertyReply) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
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 · sourcefn le(&self, other: &Rhs) -> bool
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
sourceimpl TryParse for GetPropertyReply
impl TryParse for GetPropertyReply
impl Eq for GetPropertyReply
impl StructuralEq for GetPropertyReply
impl StructuralPartialEq for GetPropertyReply
Auto Trait Implementations
impl RefUnwindSafe for GetPropertyReply
impl Send for GetPropertyReply
impl Sync for GetPropertyReply
impl Unpin for GetPropertyReply
impl UnwindSafe for GetPropertyReply
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more