|
|||
|
|||
|


Public Member Functions | |
| ModuleSafeList (InspIRCd *Me) | |
| virtual | ~ModuleSafeList () |
| virtual void | OnRehash (User *user, const std::string ¶meter) |
| Called on rehash. | |
| virtual Version | GetVersion () |
| Returns the version number of a Module. | |
| virtual int | OnPreCommand (std::string &command, std::vector< std::string > ¶meters, User *user, bool validated, const std::string &original_line) |
| Called whenever any command is about to be executed. | |
| int | HandleList (const std::vector< std::string > ¶meters, User *user) |
| virtual void | OnBufferFlushed (User *user) |
| Called whenever a user's write buffer has been completely sent. | |
| virtual void | OnCleanup (int target_type, void *item) |
| Called before your module is unloaded to clean up Extensibles. | |
| virtual void | On005Numeric (std::string &output) |
| Called when a 005 numeric is about to be output. | |
| virtual void | OnUserQuit (User *user, const std::string &message, const std::string &oper_message) |
| Called when a user quits. | |
Private Attributes | |
| time_t | ThrottleSecs |
| size_t | ServerNameSize |
| int | global_listing |
| int | LimitList |
Definition at line 34 of file m_safelist.cpp.
|
|
Definition at line 41 of file m_safelist.cpp. References ModuleManager::Attach(), I_On005Numeric, I_OnBufferFlushed, I_OnCleanup, I_OnPreCommand, I_OnRehash, I_OnUserQuit, InspIRCd::Modules, OnRehash(), and Module::ServerInstance. |
|
|
Definition at line 48 of file m_safelist.cpp. |
|
|
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 61 of file m_safelist.cpp. References API_VERSION, and VF_VENDOR. |
|
||||||||||||
|
Definition at line 88 of file m_safelist.cpp. References DEBUG, Extensible::Extend(), Extensible::GetExt(), global_listing, IS_OPER, LimitList, LogManager::Log(), InspIRCd::Logs, User::nick, Module::ServerInstance, Extensible::Shrink(), ThrottleSecs, InspIRCd::Time(), User::WriteNumeric(), and User::WriteServ(). Referenced by OnPreCommand(). |
|
|
Called when a 005 numeric is about to be output. The module should modify the 005 numeric if needed to indicate its features.
Reimplemented from Module. Definition at line 261 of file m_safelist.cpp. |
|
|
Called whenever a user's write buffer has been completely sent. This is called when the user's write buffer is completely empty, and there are no more pending bytes to be written and no pending write events in the socket engine's queue. This may be used to refill the buffer with data which is being spooled in a controlled manner, e.g. LIST lines.
Reimplemented from Module. Definition at line 162 of file m_safelist.cpp. References Channel::ChanModes(), InspIRCd::GetChannelIndex(), Extensible::GetExt(), ConnectClass::GetSendqMax(), Channel::GetUserCounter(), ListData::glob, global_listing, User::HasPrivPermission(), Channel::HasUser(), Channel::IsModeSet(), ListData::list_ended, ListData::list_position, InspIRCd::Match(), MAXBUF, ListData::maxusers, ListData::minusers, User::MyClass, Channel::name, User::nick, Module::ServerInstance, ServerNameSize, Extensible::Shrink(), Channel::topic, User::WriteNumeric(), and User::WriteServ(). |
|
||||||||||||
|
Called before your module is unloaded to clean up Extensibles. This method is called once for every user and channel on the network, so that when your module unloads it may clear up any remaining data in the form of Extensibles added using Extensible::Extend(). If the target_type variable is TYPE_USER, then void* item refers to a User*, otherwise it refers to a Channel*.
Reimplemented from Module. Definition at line 238 of file m_safelist.cpp. References Extensible::GetExt(), global_listing, Extensible::Shrink(), and TYPE_USER. Referenced by OnUserQuit(). |
|
||||||||||||||||||||||||
|
Called whenever any command is about to be executed. This event occurs for all registered commands, wether they are registered in the core, or another module, and for invalid commands. Invalid commands may only be sent to this function when the value of validated is false. By returning 1 from this method you may prevent the command being executed. If you do this, no output is created by the core, and it is down to your module to produce any output neccessary. Note that unless you return 1, you should not destroy any structures (e.g. by using InspIRCd::QuitUser) otherwise when the command's handler function executes after your method returns, it will be passed an invalid pointer to the user object and crash!)
Reimplemented from Module. Definition at line 71 of file m_safelist.cpp. References HandleList(). |
|
||||||||||||
|
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.
Reimplemented from Module. Definition at line 52 of file m_safelist.cpp. References InspIRCd::Config, global_listing, LimitList, ConfigReader::ReadInteger(), Module::ServerInstance, ServerConfig::ServerName, ServerNameSize, and ThrottleSecs. Referenced by ModuleSafeList(). |
|
||||||||||||||||
|
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.
Reimplemented from Module. Definition at line 266 of file m_safelist.cpp. References OnCleanup(), and TYPE_USER. |
|
|
Definition at line 38 of file m_safelist.cpp. Referenced by HandleList(), OnBufferFlushed(), OnCleanup(), and OnRehash(). |
|
|
Definition at line 39 of file m_safelist.cpp. Referenced by HandleList(), and OnRehash(). |
|
|
Definition at line 37 of file m_safelist.cpp. Referenced by OnBufferFlushed(), and OnRehash(). |
|
|
Definition at line 36 of file m_safelist.cpp. Referenced by HandleList(), and OnRehash(). |