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

ModuleCBan Class Reference

Inheritance diagram for ModuleCBan:

Inheritance graph
[legend]
Collaboration diagram for ModuleCBan:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ModuleCBan (InspIRCd *Me)
virtual ~ModuleCBan ()
virtual int OnStats (char symbol, User *user, string_list &out)
 Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core.
virtual int OnUserPreJoin (User *user, Channel *chan, const char *cname, std::string &privs, const std::string &keygiven)
 Called whenever a user is about to join a channel, before any processing is done.
virtual Version GetVersion ()
 Returns the version number of a Module.

Private Attributes

CommandCBanmycommand
CBanFactoryf

Detailed Description

Definition at line 152 of file m_cban.cpp.


Constructor & Destructor Documentation

ModuleCBan::ModuleCBan InspIRCd Me  )  [inline]
 

Definition at line 158 of file m_cban.cpp.

References InspIRCd::AddCommand(), ModuleManager::Attach(), f, I_OnDecodeMetaData, I_OnStats, I_OnSyncOtherMetaData, I_OnUserPreJoin, InspIRCd::Modules, mycommand, XLineManager::RegisterFactory(), Module::ServerInstance, and InspIRCd::XLines.

virtual ModuleCBan::~ModuleCBan  )  [inline, virtual]
 

Definition at line 169 of file m_cban.cpp.

References XLineManager::DelAll(), f, Module::ServerInstance, XLineManager::UnregisterFactory(), and InspIRCd::XLines.


Member Function Documentation

virtual Version ModuleCBan::GetVersion  )  [inline, virtual]
 

Returns the version number of a Module.

The method should return a Version object with its version information assigned via Version::Version

Reimplemented from Module.

Definition at line 199 of file m_cban.cpp.

References API_VERSION, VF_COMMON, and VF_VENDOR.

virtual int ModuleCBan::OnStats char  symbol,
User user,
string_list out
[inline, virtual]
 

Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core.

Parameters:
symbol the symbol provided to /STATS
user the user issuing the /STATS command
results A string_list to append results into. You should put all your results into this string_list, rather than displaying them directly, so that your handler will work when remote STATS queries are received.
Returns:
1 to block the /STATS from being processed by the core, 0 to allow it

Reimplemented from Module.

Definition at line 175 of file m_cban.cpp.

References XLineManager::InvokeStats(), Module::ServerInstance, and InspIRCd::XLines.

virtual int ModuleCBan::OnUserPreJoin User user,
Channel chan,
const char *  cname,
std::string privs,
const std::string keygiven
[inline, virtual]
 

Called whenever a user is about to join a channel, before any processing is done.

Returning a value of 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to mimic +b, +k, +l etc. Returning -1 from this function forces the join to be allowed, bypassing restrictions such as banlists, invite, keys etc.

IMPORTANT NOTE!

If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause Channel* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc.

Parameters:
user The user joining the channel
chan If the channel is a new channel, this will be NULL, otherwise it will be a pointer to the channel being joined
cname The channel name being joined. For new channels this is valid where chan is not.
privs A string containing the users privilages when joining the channel. For new channels this will contain "@". You may alter this string to alter the user's modes on the channel.
keygiven The key given to join the channel, or an empty string if none was provided
Returns:
1 To prevent the join, 0 to allow it.

Reimplemented from Module.

Definition at line 184 of file m_cban.cpp.

References XLineManager::MatchesLine(), User::nick, XLine::reason, Module::ServerInstance, InspIRCd::SNO, User::WriteServ(), SnomaskManager::WriteToSnoMask(), and InspIRCd::XLines.


Member Data Documentation

CBanFactory* ModuleCBan::f [private]
 

Definition at line 155 of file m_cban.cpp.

Referenced by ModuleCBan(), and ~ModuleCBan().

CommandCBan* ModuleCBan::mycommand [private]
 

Definition at line 154 of file m_cban.cpp.

Referenced by ModuleCBan().


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