aboutsummaryrefslogtreecommitdiff
path: root/src/field/utils/user_flags.rs
blob: 6c79e8b750436588ee1fc4c28763e3089e018338 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
}