22#include <unordered_map>
86 const std::vector<u16> &
getChannelPeers(
const std::string &channel)
const;
91 std::unordered_map<std::string, std::unique_ptr<ModChannel>>
Definition: modchannels.h:67
void leaveAllChannels(session_t peer_id)
Definition: modchannels.cpp:137
std::unordered_map< std::string, std::unique_ptr< ModChannel > > m_registered_channels
Definition: modchannels.h:92
bool canWriteOnChannel(const std::string &channel) const
This function check if a local mod can write on the channel.
Definition: modchannels.cpp:79
bool channelRegistered(const std::string &channel) const
Definition: modchannels.cpp:66
bool joinChannel(const std::string &channel, session_t peer_id)
Definition: modchannels.cpp:114
bool leaveChannel(const std::string &channel, session_t peer_id)
Definition: modchannels.cpp:122
void registerChannel(const std::string &channel)
Definition: modchannels.cpp:89
ModChannel * getModChannel(const std::string &channel)
Definition: modchannels.cpp:71
const std::vector< u16 > & getChannelPeers(const std::string &channel) const
Definition: modchannels.cpp:144
bool removeChannel(const std::string &channel)
Definition: modchannels.cpp:105
bool setChannelState(const std::string &channel, ModChannelState state)
Definition: modchannels.cpp:94
Definition: modchannels.h:38
bool registerConsumer(session_t peer_id)
Definition: modchannels.cpp:25
const std::string & getName() const
Definition: modchannels.h:43
const std::vector< u16 > & getChannelPeers() const
Definition: modchannels.h:46
ModChannel(const std::string &name)
Definition: modchannels.h:40
bool removeConsumer(session_t peer_id)
Definition: modchannels.cpp:36
ModChannelState m_state
Definition: modchannels.h:52
void setState(ModChannelState state)
Definition: modchannels.cpp:59
std::string m_name
Definition: modchannels.h:51
bool canWrite() const
Definition: modchannels.cpp:54
std::vector< u16 > m_client_consumers
Definition: modchannels.h:53
ModChannelState
Definition: modchannels.h:30
@ MODCHANNEL_STATE_READ_ONLY
Definition: modchannels.h:33
@ MODCHANNEL_STATE_MAX
Definition: modchannels.h:34
@ MODCHANNEL_STATE_INIT
Definition: modchannels.h:31
@ MODCHANNEL_STATE_READ_WRITE
Definition: modchannels.h:32
ModChannelSignal
Definition: modchannels.h:57
@ MODCHANNEL_SIGNAL_LEAVE_OK
Definition: modchannels.h:60
@ MODCHANNEL_SIGNAL_LEAVE_FAILURE
Definition: modchannels.h:61
@ MODCHANNEL_SIGNAL_CHANNEL_NOT_REGISTERED
Definition: modchannels.h:62
@ MODCHANNEL_SIGNAL_SET_STATE
Definition: modchannels.h:63
@ MODCHANNEL_SIGNAL_JOIN_OK
Definition: modchannels.h:58
@ MODCHANNEL_SIGNAL_JOIN_FAILURE
Definition: modchannels.h:59
u16 session_t
Definition: networkprotocol.h:251