diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-09 22:44:21 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-09 22:44:21 +0100 |
| commit | c402a8923d2e89607a007f46ee4cde15714d746d (patch) | |
| tree | 597f0e436cac0ec2dda2eb8437cfb57de6c95a82 /src/field/utils/user_flags.rs | |
| parent | 48408b9e42eaeeaf0944f9a37f7882ba9ddc7f19 (diff) | |
Restart with fields module
Diffstat (limited to 'src/field/utils/user_flags.rs')
| -rw-r--r-- | src/field/utils/user_flags.rs | 22 |
1 files changed, 22 insertions, 0 deletions
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 +} |