The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

FounderProtectBase Class Reference

Handles basic operation of +qa channel modes. More...

Inheritance diagram for FounderProtectBase:

Inheritance graph
[legend]
Collaboration diagram for FounderProtectBase:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FounderProtectBase (InspIRCd *Instance, const std::string &ext, const std::string &mtype, int l, int e, bool &remove_own, bool &remove_others)
ModePair ModeSet (User *source, User *dest, Channel *channel, const std::string &parameter)
void RemoveMode (Channel *channel, char mc, irc::modestacker *stack)
void DisplayList (User *user, Channel *channel)
UserFindAndVerify (std::string &parameter, Channel *channel)
bool CanRemoveOthers (User *u1, User *u2, Channel *c)
ModeAction HandleChange (User *source, User *theuser, bool adding, Channel *channel, std::string &parameter)

Protected Attributes

bool & remove_own_privs
bool & remove_other_privs

Private Attributes

InspIRCdMyInstance
std::string extend
std::string type
int list
int end

Detailed Description

Handles basic operation of +qa channel modes.

Definition at line 23 of file m_chanprotect.cpp.


Constructor & Destructor Documentation

FounderProtectBase::FounderProtectBase InspIRCd Instance,
const std::string ext,
const std::string mtype,
int  l,
int  e,
bool &  remove_own,
bool &  remove_others
[inline]
 

Definition at line 35 of file m_chanprotect.cpp.


Member Function Documentation

bool FounderProtectBase::CanRemoveOthers User u1,
User u2,
Channel c
[inline]
 

Definition at line 123 of file m_chanprotect.cpp.

References extend, Extensible::GetExt(), Channel::name, and remove_other_privs.

Referenced by ChanProtect::OnModeChange(), and ChanFounder::OnModeChange().

void FounderProtectBase::DisplayList User user,
Channel channel
[inline]
 

Reimplemented in ChanFounder, and ChanProtect.

Definition at line 98 of file m_chanprotect.cpp.

References end, extend, Channel::GetUsers(), list, Channel::name, User::nick, type, and User::WriteServ().

Referenced by ChanProtect::DisplayList(), and ChanFounder::DisplayList().

User* FounderProtectBase::FindAndVerify std::string parameter,
Channel channel
[inline]
 

Definition at line 112 of file m_chanprotect.cpp.

References InspIRCd::FindNick(), Channel::HasUser(), and MyInstance.

Referenced by ChanProtect::OnModeChange(), and ChanFounder::OnModeChange().

ModeAction FounderProtectBase::HandleChange User source,
User theuser,
bool  adding,
Channel channel,
std::string parameter
[inline]
 

Definition at line 129 of file m_chanprotect.cpp.

References Extensible::Extend(), extend, Extensible::GetExt(), MODEACTION_ALLOW, MODEACTION_DENY, Channel::name, User::nick, and Extensible::Shrink().

Referenced by ChanProtect::OnModeChange(), and ChanFounder::OnModeChange().

ModePair FounderProtectBase::ModeSet User source,
User dest,
Channel channel,
const std::string parameter
[inline]
 

Reimplemented in ChanFounder, and ChanProtect.

Definition at line 40 of file m_chanprotect.cpp.

References extend, InspIRCd::FindNick(), Extensible::GetExt(), Channel::HasUser(), MyInstance, Channel::name, and User::nick.

Referenced by ChanProtect::ModeSet(), and ChanFounder::ModeSet().

void FounderProtectBase::RemoveMode Channel channel,
char  mc,
irc::modestacker stack
[inline]
 

Definition at line 65 of file m_chanprotect.cpp.

References extend, InspIRCd::FakeClient, irc::modestacker::GetStackedLine(), Channel::GetUsers(), MyInstance, Channel::name, irc::modestacker::Push(), and InspIRCd::SendMode().

Referenced by ChanProtect::RemoveMode(), and ChanFounder::RemoveMode().


Member Data Documentation

int FounderProtectBase::end [private]
 

Definition at line 30 of file m_chanprotect.cpp.

Referenced by DisplayList().

std::string FounderProtectBase::extend [private]
 

Definition at line 27 of file m_chanprotect.cpp.

Referenced by CanRemoveOthers(), DisplayList(), HandleChange(), ModeSet(), and RemoveMode().

int FounderProtectBase::list [private]
 

Definition at line 29 of file m_chanprotect.cpp.

Referenced by DisplayList().

InspIRCd* FounderProtectBase::MyInstance [private]
 

Definition at line 26 of file m_chanprotect.cpp.

Referenced by FindAndVerify(), ModeSet(), and RemoveMode().

bool& FounderProtectBase::remove_other_privs [protected]
 

Definition at line 33 of file m_chanprotect.cpp.

Referenced by CanRemoveOthers().

bool& FounderProtectBase::remove_own_privs [protected]
 

Definition at line 32 of file m_chanprotect.cpp.

Referenced by ChanProtect::OnModeChange(), and ChanFounder::OnModeChange().

std::string FounderProtectBase::type [private]
 

Definition at line 28 of file m_chanprotect.cpp.

Referenced by DisplayList().


The documentation for this class was generated from the following file: