OSDN Git Service

Merge pull request #3532 from sikabane-works/release/3.0.0.87-alpha
[hengbandforosx/hengbandosx.git] / src / main-unix / unix-user-ids.h
1 #pragma once
2
3 class UnixUserIds {
4 public:
5     UnixUserIds(const UnixUserIds &) = delete;
6     UnixUserIds(UnixUserIds &&) = delete;
7     UnixUserIds &operator=(const UnixUserIds &) = delete;
8     UnixUserIds &operator=(UnixUserIds &&) = delete;
9     ~UnixUserIds() = default;
10
11     static UnixUserIds &get_instance();
12     int get_user_id() const;
13     void set_user_id(const int id);
14     void mod_user_id(const int increment);
15     int get_effective_user_id() const;
16     void set_effective_user_id(const int id);
17     int get_effective_group_id() const;
18     void set_effective_group_id(const int id);
19
20 private:
21     UnixUserIds() = default;
22
23     static UnixUserIds instance;
24     int user_id = 0;
25     int effective_user_id = 0;
26     int effective_group_id = 0;
27 };