Struct x11rb::protocol::xproto::GetPropertyReply [−][src]
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
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::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::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());
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::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::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());
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::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::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
Performs the conversion.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
Mutably borrows from an owned value. Read more