From c402a8923d2e89607a007f46ee4cde15714d746d Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Sun, 9 Feb 2025 22:44:21 +0100 Subject: Restart with fields module --- src/field/utils/user_flags.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/field/utils/user_flags.rs (limited to 'src/field/utils/user_flags.rs') diff --git a/src/field/utils/user_flags.rs b/src/field/utils/user_flags.rs new file mode 100644 index 0000000..6c79e8b --- /dev/null +++ b/src/field/utils/user_flags.rs @@ -0,0 +1,22 @@ +//! This module contains utilities to read the data in a UserFlags bitmap. + +const AWAY: u32 = 0b0001; +const ADMIN_OR_DISCONNECTED: u32 = 0b0010; +const REFUSES_PRIVATE_MESSAGES: u32 = 0b0100; +const REFUSES_PRIVATE_CHAT: u32 = 0b1000; + +pub fn is_away(bits: u32) -> bool { + bits & AWAY != 0 +} + +pub fn is_admin_or_disconnected(bits: u32) -> bool { + bits & ADMIN_OR_DISCONNECTED != 0 +} + +pub fn refuses_private_messages(bits: u32) -> bool { + bits & REFUSES_PRIVATE_MESSAGES != 0 +} + +pub fn refuses_private_chat(bits: u32) -> bool { + bits & REFUSES_PRIVATE_CHAT != 0 +} -- cgit