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

ModuleDCCAllow Class Reference

Inheritance diagram for ModuleDCCAllow:

Inheritance graph
[legend]
Collaboration diagram for ModuleDCCAllow:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ModuleDCCAllow (InspIRCd *Me)
virtual void OnRehash (User *user, const std::string &parameter)
 Called on rehash.
virtual void OnUserQuit (User *user, const std::string &reason, const std::string &oper_message)
 Called when a user quits.
virtual int OnUserPreNick (User *user, const std::string &newnick)
 Called before any nickchange, local or remote.
virtual int OnUserPreMessage (User *user, void *dest, int target_type, std::string &text, char status, CUList &exempt_list)
 Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done.
virtual int OnUserPreNotice (User *user, void *dest, int target_type, std::string &text, char status, CUList &exempt_list)
 Called whenever a user is about to NOTICE A user or a channel, before any processing is done.
void Expire ()
void RemoveNick (User *user)
void RemoveFromUserlist (User *user)
void ReadFileConf ()
virtual ~ModuleDCCAllow ()
virtual Version GetVersion ()
 Returns the version number of a Module.

Private Attributes

CommandDccallowmycommand

Detailed Description

Definition at line 245 of file m_dccallow.cpp.


Constructor & Destructor Documentation

ModuleDCCAllow::ModuleDCCAllow InspIRCd Me  )  [inline]
 

Definition at line 250 of file m_dccallow.cpp.

References InspIRCd::AddCommand(), ModuleManager::Attach(), I_OnRehash, I_OnUserPreMessage, I_OnUserPreNick, I_OnUserPreNotice, I_OnUserQuit, InspIRCd::Modules, mycommand, ReadFileConf(), and Module::ServerInstance.

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

Definition at line 468 of file m_dccallow.cpp.


Member Function Documentation

void ModuleDCCAllow::Expire  )  [inline]
 

Definition at line 378 of file m_dccallow.cpp.

References dl, Extensible::GetExt(), User::nick, RemoveFromUserlist(), Module::ServerInstance, InspIRCd::Time(), ul, and User::WriteNumeric().

Referenced by OnUserPreNotice().

virtual Version ModuleDCCAllow::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 472 of file m_dccallow.cpp.

References API_VERSION, VF_COMMON, and VF_VENDOR.

virtual void ModuleDCCAllow::OnRehash User user,
const std::string parameter
[inline, virtual]
 

Called on rehash.

This method is called prior to a /REHASH or when a SIGHUP is received from the operating system. You should use it to reload any files so that your module keeps in step with the rest of the application. If a parameter is given, the core has done nothing. The module receiving the event can decide if this parameter has any relevence to it.

Parameters:
user The user performing the rehash, if any -- if this is server initiated, the value of this variable will be NULL.
parameter The (optional) parameter given to REHASH from the user.

Reimplemented from Module.

Definition at line 262 of file m_dccallow.cpp.

References Module::ServerInstance.

virtual int ModuleDCCAllow::OnUserPreMessage User user,
void *  dest,
int  target_type,
std::string text,
char  status,
CUList exempt_list
[inline, virtual]
 

Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done.

Returning any nonzero value 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 filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a User* otherwise you must cast it to a Channel*, this is the details of where the message is destined to be sent.

Parameters:
user The user sending the message
dest The target of the message (Channel* or User*)
target_type The type of target (TYPE_USER or TYPE_CHANNEL)
text Changeable text being sent by the user
status The status being used, e.g. PRIVMSG #chan has status== '@', 0 to send to everyone.
exempt_list A list of users not to send to. For channel messages, this will usually contain just the sender. It will be ignored for private messages.
Returns:
1 to deny the NOTICE, 0 to allow it

Reimplemented from Module.

Definition at line 292 of file m_dccallow.cpp.

References OnUserPreNotice().

virtual int ModuleDCCAllow::OnUserPreNick User user,
const std::string newnick
[inline, virtual]
 

Called before any nickchange, local or remote.

This can be used to implement Q-lines etc. Please note that although you can see remote nickchanges through this function, you should NOT make any changes to the User if the user is a remote user as this may cause a desnyc. check user->server before taking any action (including returning nonzero from the method). If your method returns nonzero, the nickchange is silently forbidden, and it is down to your module to generate some meaninful output.

Parameters:
user The username changing their nick
newnick Their new nickname
Returns:
1 to deny the change, 0 to allow

Reimplemented from Module.

Definition at line 286 of file m_dccallow.cpp.

References RemoveNick().

virtual int ModuleDCCAllow::OnUserPreNotice User user,
void *  dest,
int  target_type,
std::string text,
char  status,
CUList exempt_list
[inline, virtual]
 

Called whenever a user is about to NOTICE A user or a channel, before any processing is done.

Returning any nonzero value 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 filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a User* otherwise you must cast it to a Channel*, this is the details of where the message is destined to be sent. You may alter the message text as you wish before relinquishing control to the next module in the chain, and if no other modules block the text this altered form of the text will be sent out to the user and possibly to other servers.

Parameters:
user The user sending the message
dest The target of the message (Channel* or User*)
target_type The type of target (TYPE_USER or TYPE_CHANNEL)
text Changeable text being sent by the user
status The status being used, e.g. PRIVMSG #chan has status== '@', 0 to send to everyone.
exempt_list A list of users not to send to. For channel notices, this will usually contain just the sender. It will be ignored for private notices.
Returns:
1 to deny the NOTICE, 0 to allow it

Reimplemented from Module.

Definition at line 297 of file m_dccallow.cpp.

References bfl, User::dhost, dl, Expire(), Extensible::GetExt(), User::GetFullHost(), User::ident, IS_LOCAL, InspIRCd::Match(), User::nick, ConfigReader::ReadFlag(), ConfigReader::ReadValue(), TYPE_USER, and User::WriteServ().

Referenced by OnUserPreMessage().

virtual void ModuleDCCAllow::OnUserQuit User user,
const std::string reason,
const std::string oper_message
[inline, virtual]
 

Called when a user quits.

The details of the exiting user are available to you in the parameter User *user This event is only called when the user is fully registered when they quit. To catch raw disconnections, use the OnUserDisconnect method.

Parameters:
user The user who is quitting
message The user's quit message (as seen by non-opers)
oper_message The user's quit message (as seen by opers)

Reimplemented from Module.

Definition at line 268 of file m_dccallow.cpp.

References Extensible::GetExt(), RemoveFromUserlist(), RemoveNick(), and Extensible::Shrink().

void ModuleDCCAllow::ReadFileConf  )  [inline]
 

Definition at line 453 of file m_dccallow.cpp.

References BannedFileList::action, bfl, BannedFileList::filemask, and ConfigReader::ReadValue().

Referenced by ModuleDCCAllow().

void ModuleDCCAllow::RemoveFromUserlist User user  )  [inline]
 

Definition at line 439 of file m_dccallow.cpp.

References ul.

Referenced by Expire(), OnUserQuit(), and RemoveNick().

void ModuleDCCAllow::RemoveNick User user  )  [inline]
 

Definition at line 409 of file m_dccallow.cpp.

References dl, Extensible::GetExt(), User::nick, RemoveFromUserlist(), ul, User::WriteNumeric(), and User::WriteServ().

Referenced by OnUserPreNick(), and OnUserQuit().


Member Data Documentation

CommandDccallow* ModuleDCCAllow::mycommand [private]
 

Definition at line 247 of file m_dccallow.cpp.

Referenced by ModuleDCCAllow().


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