summaryrefslogtreecommitdiff
path: root/discord/store.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'discord/store.hpp')
-rw-r--r--discord/store.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/discord/store.hpp b/discord/store.hpp
index 1d49e09..f805dd3 100644
--- a/discord/store.hpp
+++ b/discord/store.hpp
@@ -15,6 +15,7 @@ public:
void SetRole(Snowflake id, const Role &role);
void SetMessage(Snowflake id, const Message &message);
void SetGuildMemberData(Snowflake guild_id, Snowflake user_id, const GuildMember &data);
+ void SetPermissionOverwrite(Snowflake channel_id, Snowflake id, const PermissionOverwrite &perm);
User *GetUser(Snowflake id);
Channel *GetChannel(Snowflake id);
@@ -22,12 +23,14 @@ public:
Role *GetRole(Snowflake id);
Message *GetMessage(Snowflake id);
GuildMember *GetGuildMemberData(Snowflake guild_id, Snowflake user_id);
+ PermissionOverwrite *GetPermissionOverwrite(Snowflake channel_id, Snowflake id);
const User *GetUser(Snowflake id) const;
const Channel *GetChannel(Snowflake id) const;
const Guild *GetGuild(Snowflake id) const;
const Role *GetRole(Snowflake id) const;
const Message *GetMessage(Snowflake id) const;
const GuildMember *GetGuildMemberData(Snowflake guild_id, Snowflake user_id) const;
+ const PermissionOverwrite *GetPermissionOverwrite(Snowflake channel_id, Snowflake id) const;
void ClearGuild(Snowflake id);
void ClearChannel(Snowflake id);
@@ -37,7 +40,8 @@ public:
using guilds_type = std::unordered_map<Snowflake, Guild>;
using roles_type = std::unordered_map<Snowflake, Role>;
using messages_type = std::unordered_map<Snowflake, Message>;
- using members_type = std::unordered_map<Snowflake, std::unordered_map<Snowflake, GuildMember>>;
+ using members_type = std::unordered_map<Snowflake, std::unordered_map<Snowflake, GuildMember>>; // [guild][user]
+ using permission_overwrites_type = std::unordered_map<Snowflake, std::unordered_map<Snowflake, PermissionOverwrite>>; // [channel][user/role]
const channels_type &GetChannels() const;
const guilds_type &GetGuilds() const;
@@ -52,4 +56,5 @@ private:
roles_type m_roles;
messages_type m_messages;
members_type m_members;
+ permission_overwrites_type m_permissions;
};