diff options
Diffstat (limited to 'src/field/utils')
| -rw-r--r-- | src/field/utils/access_privileges.rs | 1 | ||||
| -rw-r--r-- | src/field/utils/user_flags.rs | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/field/utils/access_privileges.rs b/src/field/utils/access_privileges.rs index eea9557..fabaef4 100644 --- a/src/field/utils/access_privileges.rs +++ b/src/field/utils/access_privileges.rs @@ -42,6 +42,7 @@ pub const CAN_UPLOAD_FOLDERS: u64 = 2_u64.pow(38); pub const CAN_DOWNLOAD_FOLDERS: u64 = 2_u64.pow(39); pub const CAN_SEND_MESSAGES: u64 = 2_u64.pow(40); +#[must_use] pub fn can(permission: u64, bits: u64) -> bool { bits & permission != 0 } diff --git a/src/field/utils/user_flags.rs b/src/field/utils/user_flags.rs index 6c79e8b..06ac5db 100644 --- a/src/field/utils/user_flags.rs +++ b/src/field/utils/user_flags.rs @@ -1,22 +1,26 @@ -//! This module contains utilities to read the data in a UserFlags bitmap. +//! 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; +#[must_use] pub fn is_away(bits: u32) -> bool { bits & AWAY != 0 } +#[must_use] pub fn is_admin_or_disconnected(bits: u32) -> bool { bits & ADMIN_OR_DISCONNECTED != 0 } +#[must_use] pub fn refuses_private_messages(bits: u32) -> bool { bits & REFUSES_PRIVATE_MESSAGES != 0 } +#[must_use] pub fn refuses_private_chat(bits: u32) -> bool { bits & REFUSES_PRIVATE_CHAT != 0 } |