#include <channels.h>
Inherits Base, and Extensible.

Public Types | |
| typedef std::multimap < Anope::string, Anope::string > | ModeList |
| typedef std::list < ChanUserContainer * > | ChanUserList |
Public Member Functions | |
| Channel (const Anope::string &nname, time_t ts=Anope::CurTime) | |
| ~Channel () | |
| void | Reset () |
| void | Sync () |
| void | CheckModes () |
| ChanUserContainer * | JoinUser (User *u) |
| void | DeleteUser (User *u) |
| ChanUserContainer * | FindUser (const User *u) const |
| bool | HasUserStatus (const User *u, ChannelModeStatus *cms) const |
| bool | HasUserStatus (const User *u, const Anope::string &name) const |
| size_t | HasMode (const Anope::string &name, const Anope::string ¶m="") |
| void | SetModeInternal (MessageSource &source, ChannelMode *cm, const Anope::string ¶m="", bool enforce_mlock=true) |
| void | RemoveModeInternal (MessageSource &source, ChannelMode *cm, const Anope::string ¶m="", bool enforce_mlock=true) |
| void | SetMode (BotInfo *bi, ChannelMode *cm, const Anope::string ¶m="", bool enforce_mlock=true) |
| void | SetMode (BotInfo *bi, const Anope::string &name, const Anope::string ¶m="", bool enforce_mlock=true) |
| void | RemoveMode (BotInfo *bi, ChannelMode *cm, const Anope::string ¶m="", bool enforce_mlock=true) |
| void | RemoveMode (BotInfo *bi, const Anope::string &name, const Anope::string ¶m="", bool enforce_mlock=true) |
| bool | GetParam (const Anope::string &name, Anope::string &target) const |
| void | SetModes (BotInfo *bi, bool enforce_mlock, const char *cmodes,...) |
| void | SetModesInternal (MessageSource &source, const Anope::string &mode, time_t ts=0, bool enforce_mlock=true) |
| bool | MatchesList (User *u, const Anope::string &list) |
| void | KickInternal (MessageSource &source, const Anope::string &nick, const Anope::string &reason) |
| bool | Kick (BotInfo *bi, User *u, const char *reason=NULL,...) |
| const ModeList & | GetModes () const |
| std::pair< ModeList::iterator, ModeList::iterator > | GetModeList (const Anope::string &name) |
| Anope::string | GetModes (bool complete, bool plus) |
| void | ChangeTopicInternal (const Anope::string &user, const Anope::string &newtopic, time_t ts=Anope::CurTime) |
| void | ChangeTopic (const Anope::string &user, const Anope::string &newtopic, time_t ts=Anope::CurTime) |
| void | Hold () |
| void | SetCorrectModes (User *u, bool give_mode, bool check_noop) |
| bool | Unban (const User *u, bool full=false) |
Static Public Member Functions | |
| static Channel * | Find (const Anope::string &name) |
Data Fields | |
| Anope::string | name |
| Serialize::Reference< ChannelInfo > | ci |
| time_t | creation_time |
| std::set< ChannelFlag > | flags |
| ChanUserList | users |
| Anope::string | topic |
| Anope::string | topic_setter |
| time_t | topic_ts |
| time_t | topic_time |
| time_t | server_modetime |
| time_t | chanserv_modetime |
| int16_t | server_modecount |
| int16_t | chanserv_modecount |
| int16_t | bouncy_modes |
Private Attributes | |
| ModeList | modes |
Definition at line 43 of file channels.h.
| typedef std::list<ChanUserContainer *> Channel::ChanUserList |
Definition at line 62 of file channels.h.
| typedef std::multimap<Anope::string, Anope::string> Channel::ModeList |
Definition at line 46 of file channels.h.
| Channel::Channel | ( | const Anope::string & | nname, | |
| time_t | ts = Anope::CurTime | |||
| ) |
Constructor
| name | The channel name | |
| ts | The time the channel was created |
Definition at line 29 of file channels.cpp.
References bouncy_modes, chanserv_modecount, chanserv_modetime, ci, creation_time, Anope::string::empty(), Find(), FOREACH_MOD, I_OnChannelCreate, LOG_DEBUG, name, server_modecount, server_modetime, topic_time, and topic_ts.
| Channel::~Channel | ( | ) |
Destructor
Definition at line 54 of file channels.cpp.
References ci, FOREACH_MOD, I_OnChannelDelete, name, and ModeManager::StackerDel().
| void Channel::ChangeTopic | ( | const Anope::string & | user, | |
| const Anope::string & | newtopic, | |||
| time_t | ts = Anope::CurTime | |||
| ) |
Update the topic of the channel, and reset it if topiclock etc says to
| user | The user setting the topic | |
| newtopic | The new topic | |
| ts | The time when the new topic is being set |
Definition at line 878 of file channels.cpp.
References ci, Anope::CurTime, Find(), FOREACH_MOD, I_OnTopicUpdated, IRCD, User::nick, IRCDProto::SendTopic(), topic, topic_setter, topic_time, and topic_ts.
Referenced by ChannelInfo::CheckTopic(), ChannelInfo::RestoreTopic(), and CommandCSTopic::Set().
| void Channel::ChangeTopicInternal | ( | const Anope::string & | user, | |
| const Anope::string & | newtopic, | |||
| time_t | ts = Anope::CurTime | |||
| ) |
Update the topic of the channel internally, and reset it if topiclock etc says to
| user | The user setting the new topic | |
| newtopic | The new topic | |
| ts | The time the new topic is being set |
Definition at line 861 of file channels.cpp.
References ci, Anope::CurTime, Find(), FOREACH_MOD, I_OnTopicUpdated, LOG_DEBUG, name, User::nick, topic, topic_setter, topic_time, and topic_ts.
Referenced by Message::Topic::Run(), IRCDMessageChaninfo::Run(), IRCDMessageFTopic::Run(), and IRCDMessageTopic::Run().
| void Channel::CheckModes | ( | ) |
Check if a channels modes are correct.
Definition at line 115 of file channels.cpp.
References bouncy_modes, chanserv_modecount, ci, Anope::string::empty(), Anope::string::equals_cs(), EVENT_STOP, ModeManager::FindChannelModeByName(), FOREACH_RESULT, GetParam(), HasMode(), I_OnCheckModes, MODE_LIST, MODE_PARAM, MODE_REGULAR, Mode::name, ModeLock::name, name, ModeLock::param, RemoveMode(), server_modecount, ModeLock::set, SetMode(), and Mode::type.
Referenced by CommandCSMode::DoLock(), CommandCSRegister::Execute(), CommandCSDrop::Execute(), CommandCSClone::Execute(), RemoveModeInternal(), Reset(), SetModeInternal(), SetModesInternal(), and Sync().
| void Channel::DeleteUser | ( | User * | u | ) |
Remove a user internally from the channel
| u | The user |
Definition at line 195 of file channels.cpp.
References User::chans, ci, FOREACH_MOD, Extensible::HasExt(), I_OnLeaveChannel, LOG_DEBUG, name, User::nick, and users.
Referenced by KickInternal(), BotInfo::Part(), and Message::Join::Run().
| Channel * Channel::Find | ( | const Anope::string & | name | ) | [static] |
Finds a channel
| name | The channel to find |
Definition at line 1041 of file channels.cpp.
Referenced by ChangeTopic(), ChangeTopicInternal(), Channel(), MyXMLRPCEvent::DoChannel(), DoServices(), CommandOSSVSPart::Execute(), CommandOSSVSJoin::Execute(), CommandOSMode::Execute(), CommandOSUserList::Execute(), CommandOSKick::Execute(), CommandOSChanKill::Execute(), CommandCSDown::Execute(), CommandCSUp::Execute(), CommandCSRegister::Execute(), CommandCSKick::Execute(), CommandCSInvite::Execute(), CommandCSClone::Execute(), KickInternal(), UnrealExtBan::Matches(), InspIRCdExtBan::Matches(), CSAKick::OnCheckKick(), NSAJoin::OnNickIdentify(), NSRecover::OnUserNickChange(), LogInfo::ProcessMessage(), RemoveMode(), RemoveModeInternal(), Message::Topic::Run(), Message::Privmsg::Run(), Message::Part::Run(), Message::Mode::Run(), Message::Kick::Run(), Message::Join::Run(), IRCDMessageSJoin::Run(), IRCDMessageJoin::Run(), IRCDMessageChaninfo::Run(), IRCDMessageFTopic::Run(), IRCDMessageFMode::Run(), IRCDMessageTMode::Run(), IRCDMessageTBurst::Run(), IRCDMessageBMask::Run(), IRCDMessageTopic::Run(), IRCDMessageMode::Run(), SetMode(), SetModeInternal(), SetModes(), ShouldHide(), Message::Join::SJoin(), and TempBan::Tick().
| ChanUserContainer * Channel::FindUser | ( | const User * | u | ) | const |
Check if the user is on the channel
| u | The user |
Definition at line 241 of file channels.cpp.
References users.
Referenced by BSKick::bot_kick(), ChannelInfo::CheckKick(), CommandOSSVSPart::Execute(), CommandOSSVSJoin::Execute(), CommandOSMode::Execute(), CommandCSSetPersist::Execute(), CommandCSKick::Execute(), CommandCSInvite::Execute(), CommandCSClone::Execute(), CommandCSBan::Execute(), CommandBSAct::Execute(), CommandBSSay::Execute(), BSKick::GetUserData(), BotInfo::Join(), UnrealExtBan::Matches(), InspIRCdExtBan::Matches(), CSAKick::OnCheckKick(), NSAJoin::OnNickIdentify(), BotInfo::Part(), Server::Server(), Server::Sync(), BotInfo::UnAssign(), and ChannelInfo::~ChannelInfo().
| std::pair< Channel::ModeList::iterator, Channel::ModeList::iterator > Channel::GetModeList | ( | const Anope::string & | name | ) |
Get a list of modes on a channel
| name | A mode name to get the list of |
Definition at line 311 of file channels.cpp.
References modes.
Referenced by CommandCSAKick::DoAdd(), MyXMLRPCEvent::DoChannel(), CommandCSMode::DoSet(), HasMode(), BotInfo::Join(), MatchesList(), RemoveModeInternal(), and Unban().
| const Channel::ModeList & Channel::GetModes | ( | ) | const |
Get all modes set on this channel, excluding status modes.
Definition at line 306 of file channels.cpp.
References modes.
Referenced by CommandOSMode::Execute(), and CommandOSChanList::Execute().
| Anope::string Channel::GetModes | ( | bool | complete, | |
| bool | plus | |||
| ) |
Get a string of the modes set on this channel
| complete | Include mode parameters | |
| plus | If set to false (with complete), mode parameters will not be given for modes requring no parameters to be unset |
Definition at line 280 of file channels.cpp.
References anope_dynamic_static_cast(), ModeManager::FindChannelModeByName(), Mode::mchar, ChannelModeParam::minus_no_arg, MODE_LIST, MODE_PARAM, modes, and Mode::type.
| bool Channel::GetParam | ( | const Anope::string & | name, | |
| Anope::string & | target | |||
| ) | const |
Get a modes parameter for the channel
| name | The mode | |
| target | a string to put the param into |
Definition at line 583 of file channels.cpp.
References Anope::string::clear(), and modes.
Referenced by CheckModes(), CommandCSEnforce::DoLimit(), CommandCSGetKey::Execute(), BotInfo::Join(), NSAJoin::OnNickIdentify(), RemoveMode(), and SetMode().
| size_t Channel::HasMode | ( | const Anope::string & | name, | |
| const Anope::string & | param = "" | |||
| ) |
See if a channel has a mode
| name | The mode name |
| param | The optional mode param |
Definition at line 269 of file channels.cpp.
References Anope::string::empty(), GetModeList(), and modes.
Referenced by CheckModes(), MyXMLRPCEvent::DoChannel(), CommandCSEnforce::DoRegOnly(), CommandCSEnforce::DoSSLOnly(), CommandOSChanList::Execute(), CommandCSSetPersist::Execute(), CommandCSRegister::Execute(), CommandCSInfo::Execute(), CommandCSClone::Execute(), CommandCSBan::Execute(), BotInfo::Join(), MatchesList(), NSAJoin::OnNickIdentify(), RemoveMode(), SetCorrectModes(), SetMode(), ShouldHide(), Sync(), and Unban().
| bool Channel::HasUserStatus | ( | const User * | u, | |
| const Anope::string & | name | |||
| ) | const |
Check if a user has a status on a channel Use the overloaded function for ChannelModeStatus* to check for no status
| u | The user | |
| name | The mode name, eg CMODE_OP, CMODE_VOICE |
Definition at line 264 of file channels.cpp.
References ModeManager::FindChannelModeByName(), and HasUserStatus().
| bool Channel::HasUserStatus | ( | const User * | u, | |
| ChannelModeStatus * | cms | |||
| ) | const |
Check if a user has a status on a channel
| u | The user | |
| cms | The status mode, or NULL to represent no status |
Definition at line 249 of file channels.cpp.
References User::FindChannel(), ChannelStatus::modes, Mode::name, and ChanUserContainer::status.
Referenced by CommandCSRegister::Execute(), HasUserStatus(), RemoveMode(), SetCorrectModes(), and SetMode().
| void Channel::Hold | ( | ) |
Hold the channel open using ChanServ
A timer used to keep the BotServ bot/ChanServ in the channel after kicking the last user in a channel
Constructor
| chan | The channel |
Called when the delay is up
| The | current time |
Definition at line 897 of file channels.cpp.
References anope_override, ServerConfig::BSMinUsers, ChanServ, Config, ServerConfig::CSInhabit, BotInfo::Join(), and BotInfo::Part().
Referenced by ChannelInfo::CheckKick(), and Sync().
| ChanUserContainer * Channel::JoinUser | ( | User * | u | ) |
Join a user internally to the channel
| u | The user |
Definition at line 176 of file channels.cpp.
References User::chans, ci, creation_time, IRCD, LOG_DEBUG, name, Reset(), IRCDProto::SendChannel(), and users.
Referenced by BotInfo::Join(), and Message::Join::SJoin().
Kick a user from the channel
| bi | The sender, can be NULL for the service bot for this channel | |
| u | The user being kicked | |
| reason | The reason for the kick |
Definition at line 832 of file channels.cpp.
References BUFSIZE, ci, EVENT_STOP, FOREACH_RESULT, I_OnBotKick, IRCD, User::IsProtected(), Server::IsULined(), KickInternal(), User::nick, IRCDProto::SendKick(), and User::server.
Referenced by BSKick::bot_kick(), ChannelInfo::CheckKick(), CommandCSEnforce::DoBans(), CommandCSEnforce::DoLimit(), CommandCSEnforce::DoRegOnly(), CommandCSEnforce::DoRestricted(), CommandCSEnforce::DoSSLOnly(), CommandOSKick::Execute(), CommandCSSuspend::Execute(), CommandCSKick::Execute(), CommandCSBan::Execute(), and CommandOSSQLine::OnAdd().
| void Channel::KickInternal | ( | MessageSource & | source, | |
| const Anope::string & | nick, | |||
| const Anope::string & | reason | |||
| ) |
Kick a user from a channel internally
| source | The sender of the kick | |
| nick | The nick being kicked | |
| reason | The reason for the kick |
Definition at line 793 of file channels.cpp.
References ModeManager::DefaultBotModes, DeleteUser(), Extensible::Extend(), Find(), User::FindChannel(), FOREACH_MOD, MessageSource::GetSource(), MessageSource::GetUser(), I_OnUserKicked, BotInfo::Join(), Me, name, User::nick, User::server, and Extensible::Shrink().
Referenced by Kick(), and Message::Kick::Run().
| bool Channel::MatchesList | ( | User * | u, | |
| const Anope::string & | list | |||
| ) |
Does the given user match the given list? (CMODE_BAN, CMODE_EXCEPT, etc, a list mode)
| u | The user | |
| list | The mode of the list to check (eg CMODE_BAN) |
Definition at line 776 of file channels.cpp.
References GetModeList(), HasMode(), and Entry::Matches().
Referenced by CommandCSEnforce::DoBans(), CommandCSBan::Execute(), and NSAJoin::OnNickIdentify().
| void Channel::RemoveMode | ( | BotInfo * | bi, | |
| const Anope::string & | name, | |||
| const Anope::string & | param = "", |
|||
| bool | enforce_mlock = true | |||
| ) |
Remove a mode from a channel
| bi | The client setting the modes | |
| name | The mode name | |
| param | Optional param arg for the mode | |
| enforce_mlock | true if mlocks should be enforced, false to override mlock |
Definition at line 578 of file channels.cpp.
References ModeManager::FindChannelModeByName(), and RemoveMode().
| void Channel::RemoveMode | ( | BotInfo * | bi, | |
| ChannelMode * | cm, | |||
| const Anope::string & | param = "", |
|||
| bool | enforce_mlock = true | |||
| ) |
Remove a mode from a channel
| bi | The client setting the modes | |
| cm | The mode | |
| param | Optional param arg for the mode | |
| enforce_mlock | true if mlocks should be enforced, false to override mlock |
Definition at line 532 of file channels.cpp.
References anope_dynamic_static_cast(), chanserv_modecount, chanserv_modetime, Anope::string::clear(), Anope::CurTime, Find(), GetParam(), HasMode(), HasUserStatus(), Server::IsSynced(), Me, ChannelModeParam::minus_no_arg, MODE_LIST, MODE_PARAM, MODE_REGULAR, MODE_STATUS, Mode::name, RemoveModeInternal(), ModeManager::StackerAdd(), and Mode::type.
Referenced by CheckModes(), DoServices(), CommandCSMode::DoSet(), CommandOSMode::Execute(), CommandCSSetPersist::Execute(), CommandCSRegister::Execute(), CommandCSClone::Execute(), BotInfo::Join(), CommandCSDown::RemoveAll(), RemoveMode(), SetCorrectModes(), SetModes(), TempBan::Tick(), and Unban().
| void Channel::RemoveModeInternal | ( | MessageSource & | source, | |
| ChannelMode * | cm, | |||
| const Anope::string & | param = "", |
|||
| bool | enforce_mlock = true | |||
| ) |
Remove a mode internally on a channel, this is not sent out to the IRCd
| setter | The Setter | |
| cm | The mode | |
| param | The param | |
| enforce_mlock | true if mlocks should be enforced, false to override mlock |
Definition at line 391 of file channels.cpp.
References anope_dynamic_static_cast(), CheckModes(), ci, ModeManager::DefaultBotModes, Anope::string::empty(), EVENT_STOP, Find(), User::FindChannel(), FOREACH_RESULT, GetModeList(), User::GetUID(), Extensible::HasExt(), I_OnChannelModeUnset, LOG_DEBUG, Anope::Match(), Mode::mchar, MODE_LIST, MODE_STATUS, modes, ChannelStatus::modes, Mode::name, name, User::nick, ChannelModeList::OnDel(), SetCorrectModes(), SetMode(), Extensible::Shrink(), ChanUserContainer::status, Mode::type, and users.
Referenced by RemoveMode(), and SetModesInternal().
| void Channel::Reset | ( | ) |
Call if we need to unset all modes and clear all user status (internally). Only useful if we get a SJOIN with a TS older than what we have here
Definition at line 68 of file channels.cpp.
References ModeManager::ChannelModes, CheckModes(), ci, BotInfo::Find(), User::GetUID(), Server::IsSynced(), Me, ChannelStatus::modes, modes, Mode::name, User::nick, SetCorrectModes(), SetMode(), ChanUserContainer::status, ChanUserContainer::user, and users.
Referenced by JoinUser(), SetModesInternal(), and Message::Join::SJoin().
| void Channel::SetCorrectModes | ( | User * | u, | |
| bool | give_mode, | |||
| bool | check_noop | |||
| ) |
Set the correct modes, or remove the ones granted without permission, for the specified user.
| user | The user to give/remove modes to/from | |
| give_modes | if true modes may be given to the user | |
| check_noop | if true, CI_NOAUTOOP is checked before giving modes |
Definition at line 945 of file channels.cpp.
References User::Account(), ci, ModeManager::FindChannelModeByName(), User::GetDisplayedMask(), User::GetUID(), Extensible::HasExt(), HasMode(), HasUserStatus(), Server::IsSynced(), Server::IsULined(), LOG_DEBUG, Anope::Match(), MODE_STATUS, ModeLock::name, name, User::nick, ModeLock::param, RemoveMode(), User::server, ModeLock::set, SetMode(), and Mode::type.
Referenced by CommandCSEnforce::DoSecureOps(), CommandCSUp::Execute(), CommandCSSync::Execute(), NickServCore::OnNickIdentify(), NickServCore::OnNickUpdate(), RemoveModeInternal(), Reset(), SetModeInternal(), and Message::Join::SJoin().
| void Channel::SetMode | ( | BotInfo * | bi, | |
| ChannelMode * | cm, | |||
| const Anope::string & | param = "", |
|||
| bool | enforce_mlock = true | |||
| ) |
Set a mode on a channel
| bi | The client setting the modes | |
| cm | The mode | |
| param | Optional param arg for the mode | |
| enforce_mlock | true if mlocks should be enforced, false to override mlock |
Definition at line 481 of file channels.cpp.
References anope_dynamic_static_cast(), chanserv_modecount, chanserv_modetime, Anope::CurTime, Anope::string::equals_cs(), Find(), GetParam(), HasMode(), HasUserStatus(), Server::IsSynced(), ChannelModeList::IsValid(), ChannelModeParam::IsValid(), Me, MODE_LIST, MODE_PARAM, MODE_REGULAR, MODE_STATUS, Mode::name, SetModeInternal(), ModeManager::StackerAdd(), and Mode::type.
Referenced by BSKick::check_ban(), ChannelInfo::CheckKick(), CheckModes(), CommandCSEnforce::DoRegOnly(), CommandCSEnforce::DoRestricted(), DoServices(), CommandCSMode::DoSet(), CommandCSEnforce::DoSSLOnly(), CommandOSMode::Execute(), CommandCSSetPersist::Execute(), CommandCSRegister::Execute(), CommandCSClone::Execute(), CommandCSBan::Execute(), OSDefcon::OnChannelModeUnset(), RemoveModeInternal(), Reset(), SetCorrectModes(), SetMode(), SetModes(), and Server::Sync().
| void Channel::SetMode | ( | BotInfo * | bi, | |
| const Anope::string & | name, | |||
| const Anope::string & | param = "", |
|||
| bool | enforce_mlock = true | |||
| ) |
Set a mode on a channel
| bi | The client setting the modes | |
| name | The mode name | |
| param | Optional param arg for the mode | |
| enforce_mlock | true if mlocks should be enforced, false to override mlock |
Definition at line 527 of file channels.cpp.
References ModeManager::FindChannelModeByName(), and SetMode().
| void Channel::SetModeInternal | ( | MessageSource & | source, | |
| ChannelMode * | cm, | |||
| const Anope::string & | param = "", |
|||
| bool | enforce_mlock = true | |||
| ) |
Set a mode internally on a channel, this is not sent out to the IRCd
| setter | The setter | |
| cm | The mode | |
| param | The param | |
| enforce_mlock | true if mlocks should be enforced, false to override mlock |
Definition at line 319 of file channels.cpp.
References anope_dynamic_static_cast(), CheckModes(), ci, Anope::string::empty(), EVENT_STOP, Extensible::Extend(), Find(), User::FindChannel(), FOREACH_RESULT, I_OnChannelModeSet, LOG_DEBUG, Mode::mchar, MODE_LIST, MODE_STATUS, modes, ChannelStatus::modes, Mode::name, name, User::nick, ChannelModeList::OnAdd(), SetCorrectModes(), ChanUserContainer::status, and Mode::type.
Referenced by IRCDMessageSJoin::Run(), IRCDMessageBMask::Run(), Server::Server(), SetMode(), and SetModesInternal().
| void Channel::SetModes | ( | BotInfo * | bi, | |
| bool | enforce_mlock, | |||
| const char * | cmodes, | |||
| ... | ||||
| ) |
Set a string of modes on the channel
| bi | The client setting the modes | |
| enforce_mlock | Should mlock be enforced on this mode change | |
| cmodes | The modes to set |
Definition at line 598 of file channels.cpp.
References BUFSIZE, Find(), ModeManager::FindChannelModeByChar(), sepstream::GetToken(), User::GetUID(), Anope::string::length(), MODE_REGULAR, MODE_STATUS, RemoveMode(), SetMode(), and Mode::type.
| void Channel::SetModesInternal | ( | MessageSource & | source, | |
| const Anope::string & | mode, | |||
| time_t | ts = 0, |
|||
| bool | enforce_mlock = true | |||
| ) |
Set a string of modes internally on a channel
| source | The setter | |
| mode | the modes | |
| enforce_mlock | true to enforce mlock |
Definition at line 663 of file channels.cpp.
References anope_dynamic_static_cast(), CheckModes(), creation_time, Anope::CurTime, User::Find(), ModeManager::FindChannelModeByChar(), MessageSource::GetName(), MessageSource::GetServer(), sepstream::GetToken(), MessageSource::GetUser(), Server::IsSynced(), Anope::string::length(), LOG_DEBUG, Mode::mchar, ChannelModeParam::minus_no_arg, MODE_PARAM, MODE_REGULAR, MODE_STATUS, name, User::nick, RemoveModeInternal(), Reset(), server_modecount, server_modetime, SetModeInternal(), and Mode::type.
Referenced by Message::Mode::Run(), IRCDMessageJoin::Run(), IRCDMessageChaninfo::Run(), IRCDMessageFMode::Run(), IRCDMessageTMode::Run(), IRCDMessageMode::Run(), and Message::Join::SJoin().
| void Channel::Sync | ( | ) |
Restore the channel topic, set mlock (key), set stickied bans, etc
Definition at line 100 of file channels.cpp.
References CheckModes(), ci, HasMode(), Hold(), Server::IsSynced(), Me, and users.
Referenced by Message::Join::SJoin(), and Server::Sync().
| bool Channel::Unban | ( | const User * | u, | |
| bool | full = false | |||
| ) |
Unbans a user from this channel.
| u | The user to unban | |
| full | Whether or not to match using the user's real host and IP |
Definition at line 1019 of file channels.cpp.
References Entry::GetMask(), GetModeList(), HasMode(), Entry::Matches(), and RemoveMode().
Referenced by CommandCSUnban::Execute().
| int16_t Channel::bouncy_modes |
Definition at line 81 of file channels.h.
Referenced by Channel(), CheckModes(), CommandOSMode::Execute(), and CommandOSKick::Execute().
| int16_t Channel::chanserv_modecount |
Definition at line 80 of file channels.h.
Referenced by Channel(), CheckModes(), RemoveMode(), and SetMode().
| time_t Channel::chanserv_modetime |
Definition at line 78 of file channels.h.
Referenced by Channel(), RemoveMode(), and SetMode().
Definition at line 56 of file channels.h.
Referenced by ChangeTopic(), ChangeTopicInternal(), Channel(), ChannelInfo::ChannelInfo(), CheckModes(), DeleteUser(), CommandOSMode::Execute(), CommandCSDown::Execute(), CommandCSUp::Execute(), CommandCSInvite::Execute(), CommandCSClone::Execute(), JoinUser(), Kick(), MChanstats::OnModeChange(), NSAJoin::OnNickIdentify(), BSKick::OnPrivmsg(), RemoveModeInternal(), Reset(), SetCorrectModes(), SetModeInternal(), ShouldHide(), Message::Join::SJoin(), ModeManager::StackerAdd(), Sync(), ~Channel(), and ChannelInfo::~ChannelInfo().
| time_t Channel::creation_time |
Definition at line 58 of file channels.h.
Referenced by Channel(), JoinUser(), Message::Join::Run(), IRCDMessageSJoin::Run(), SetModesInternal(), and Message::Join::SJoin().
| std::set<ChannelFlag> Channel::flags |
Definition at line 59 of file channels.h.
ModeList Channel::modes [private] |
A map of channel modes with their parameters set on this channel
Definition at line 50 of file channels.h.
Referenced by GetModeList(), GetModes(), GetParam(), HasMode(), RemoveModeInternal(), Reset(), and SetModeInternal().
Definition at line 54 of file channels.h.
Referenced by Log::BuildPrefix(), ChangeTopicInternal(), Channel(), SQLineManager::CheckChannel(), CheckModes(), DeleteUser(), MyXMLRPCEvent::DoChannel(), MyXMLRPCEvent::DoUser(), CommandOSSVSPart::Execute(), CommandOSSVSJoin::Execute(), CommandOSMode::Execute(), CommandOSChanList::Execute(), CommandOSKick::Execute(), CommandOSChanKill::Execute(), CommandCSUnban::Execute(), CommandCSKick::Execute(), CommandCSInvite::Execute(), CommandCSBan::Execute(), BotInfo::Join(), JoinUser(), KickInternal(), Log::Log(), CommandOSSQLine::OnAdd(), MChanstats::OnModeChange(), LogInfo::ProcessMessage(), RemoveModeInternal(), Message::Join::Run(), ProtoInspIRCd::SendChannelMetadata(), IRCDProto::SendInvite(), IRCDProto::SendKickInternal(), IRCDProto::SendModeInternal(), IRCDProto::SendPartInternal(), IRCDProto::SendTopic(), SetCorrectModes(), SetModeInternal(), SetModesInternal(), and ~Channel().
| int16_t Channel::server_modecount |
Definition at line 79 of file channels.h.
Referenced by Channel(), CheckModes(), and SetModesInternal().
| time_t Channel::server_modetime |
Definition at line 77 of file channels.h.
Referenced by Channel(), and SetModesInternal().
Definition at line 66 of file channels.h.
Referenced by CommandCSTopic::Append(), ChangeTopic(), ChangeTopicInternal(), ChannelInfo::CheckTopic(), MyXMLRPCEvent::DoChannel(), CommandOSChanList::Execute(), CommandCSRegister::Execute(), CommandCSClone::Execute(), ChannelInfo::RestoreTopic(), and IRCDProto::SendTopic().
Definition at line 68 of file channels.h.
Referenced by ChangeTopic(), ChangeTopicInternal(), ChannelInfo::CheckTopic(), MyXMLRPCEvent::DoChannel(), CommandCSRegister::Execute(), and CommandCSClone::Execute().
| time_t Channel::topic_time |
Definition at line 75 of file channels.h.
Referenced by ChangeTopic(), ChangeTopicInternal(), Channel(), MyXMLRPCEvent::DoChannel(), CommandCSRegister::Execute(), and CommandCSClone::Execute().
| time_t Channel::topic_ts |
Definition at line 73 of file channels.h.
Referenced by ChangeTopic(), ChangeTopicInternal(), Channel(), ChannelInfo::CheckTopic(), and MyXMLRPCEvent::DoChannel().
Definition at line 63 of file channels.h.
Referenced by BotInfo::Assign(), ChannelInfo::CheckKick(), DeleteUser(), CommandCSEnforce::DoBans(), MyXMLRPCEvent::DoChannel(), CommandCSAKick::DoEnforce(), CommandCSEnforce::DoLimit(), CommandCSEnforce::DoRegOnly(), CommandCSEnforce::DoRestricted(), CommandCSEnforce::DoSecureOps(), CommandCSMode::DoSet(), CommandCSEnforce::DoSSLOnly(), CommandOSMode::Execute(), CommandOSUserList::Execute(), CommandOSChanList::Execute(), CommandOSChanKill::Execute(), CommandCSSync::Execute(), CommandCSSuspend::Execute(), CommandCSKick::Execute(), CommandCSBan::Execute(), FindUser(), BotInfo::Join(), JoinUser(), CommandOSSQLine::OnAdd(), NSAJoin::OnNickIdentify(), CommandCSAccess::ProcessList(), BotInfo::RejoinAll(), RemoveModeInternal(), Reset(), MyMemoServService::Send(), Server::Server(), Sync(), ExpireCallback::Tick(), and BSKick::~BSKick().
1.7.1