summaryrefslogtreecommitdiff
path: root/include/modules.h
AgeCommit message (Collapse)Author
2018-01-06Rework message handling.Peter Powell
- Move all message-related types to their own header to make moving them to a cross-module events easier. - Rename OnUserMessage to OnUserPostMessage. - Rename OnText to OnUserMessage. - Replace the dest, target_type, and status parameters with the MessageTarget class. - Replace the text, exempt_list, and msgtype parameters with the MessageDetails struct. - Add echooriginal and originaltext to the MessageDetails struct to allow spam filtering to not be broken by cap echo-message.
2017-12-03Move OnSync{Channel,Network,User} to ServerEventListener.Peter Powell
2017-11-21Add the override keyword in places that it is missing.Peter Powell
GCCs warnings for this are much better than Clangs.
2017-11-16Add events which are fired when a service is added or deleted.Attila Molnar
2017-10-21Tweak the module flags in MODULES slightly.Peter Powell
Using unique letters for each flag makes it easier to read when using fonts which have similar glyphs for upper and lower case characters.
2017-10-18Clean up OnCleanup.Peter Powell
- Switch to using ExtensionItem::ExtensibleType for the type instead of TargetTypeFlags. - Pass the extensible to OnCleanup as an Extensible pointer instead of a void pointer. - Call OnCleanup for memberships as well as channels and users. - Rewrite event documentation to remove outdated references.
2017-08-27Update a bunch of references to the old command modules.Peter Powell
2017-08-26Fix a bunch of Doxygen warnings.Peter Powell
2017-07-12Add CXX11_OVERRIDE to overridden members that lack it.Peter Powell
This fixes a ton of warnings when building on compilers that default to C++11 or newer.
2016-09-02Update stuff for the new versioning system.Peter Powell
2016-08-29Deduplicate mode unregistering code in ModuleManager::DoSafeUnload() and ↵Attila Molnar
extract into a method
2016-08-29Remove unused EventHandlerIter typedefAttila Molnar
2016-08-11Remove virtual destructor of class VersionAttila Molnar
No classes inherit from it and it is only used as the return value from Module::GetVersion() which returns it by value
2016-04-04Rename PURE_STATIC to INSPIRCD_STATIC.Peter Powell
2016-02-26Send WHO reply numerics with User::WriteNumeric(), pass Numeric::Numeric ↵Attila Molnar
objects to the OnSendWhoLine hook
2016-02-26Return ModResult from the OnSendWhoLine hookAttila Molnar
2016-02-25Introduce Stats::Context, pass it to the OnStats hook and switch all code to itAttila Molnar
2016-02-25Convert WriteNumeric() calls to pass the parameters of the numeric as method ↵Attila Molnar
parameters
2015-12-06Add minimum channel rank and exception list parameters to the OnUserInvite hookAttila Molnar
2015-12-02Merge branch 'master+serviceinit'Attila Molnar
2015-11-26Handle module reloading in core_reloadmodule entirelyAttila Molnar
2015-11-23Extract code that manipulates the ModuleManager::DataProviders map into methodsAttila Molnar
2015-06-04Expand module names in ServerConfig::ApplyModules()Attila Molnar
2015-05-20Allow modules to be called as "foo" instead of "m_foo.so"Attila Molnar
2015-05-12Remove support for non-unloadable (VF_STATIC) modulesAttila Molnar
No module we ship uses this flag and new modules should not use it either to make hotfixing possible
2015-04-28Move OnWhois* events to core_whois, add Whois::ContextAttila Molnar
Remove InspIRCd::SendWhoisLine()
2015-04-20Merge insp20Attila Molnar
2015-02-15Eliminate constant return value of the all events version of ↵Attila Molnar
ModuleManager::SetPriority()
2015-02-15Convert mods calling the old compat wrapper of ModuleManager::SetPriority() ↵Attila Molnar
to use the current method, remove wrapper
2015-02-15Remove I_BEGIN from enum ImplementationAttila Molnar
2015-02-11Remove class Event and the OnEvent hookAttila Molnar
2015-01-17Fix modules not being versioned on Windows.Peter Powell
2015-01-10Remove the unused OnGlobalOper hookAttila Molnar
2014-10-13Avoid calling methods on NULL pointers wherever possible.Peter Powell
The trick we use to allow this is undefined behaviour and is not liked by LLVM. We should stop using it but it has the potential to break to many things for a minor release.
2014-09-04Migrate code from ModeParser into cmd_mode (core_user)Attila Molnar
- Process() that takes a std::vector<std::string> - DisplayCurrentModes() - DisplayListModes()
2014-09-04Pass Modes::ChangeList references to the OnPreMode hook, make it modifiableAttila Molnar
This gets rid of the duplicated mode parsing logic in m_namedmodes
2014-09-03Pass the modes to the OnMode hook as a Modes::ChangeList, pass ↵Attila Molnar
ModeProcessFlags too
2014-06-24Change allocation of InspIRCd::Modules to be physically part of the object ↵Attila Molnar
containing it using fakederef
2014-06-20Change the type of the user parameter in the OnUserPreNick() hook from User ↵Attila Molnar
to LocalUser No remote users were passed to this hook before. Remove needless IS_LOCAL() checks.
2014-05-23Prefix all definitions in config.h to avoid potential collisions.Peter Powell
2014-04-20Document parameters and return value for the OnNamesListItem() hookAttila Molnar
2014-04-20Change the OnNamesListItem() hook to return ModResultAttila Molnar
Return MOD_RES_DENY to exclude the user from the NAMES list
2014-04-19Fix undefined symbol error on module load if compiled with Clang 3.4Attila Molnar
Fixes issue #803 reported by @SaberUK
2014-02-21Replace mode letter parameter of OnRawMode() with a ModeHandler*, remove pcntAttila Molnar
2014-02-14Return a Membership* from get_first_visible_channel() in cmd_who and pass ↵Attila Molnar
that to modules
2014-02-07Only compile the testsuite if INSPIRCD_ENABLE_TESTSUITE is definedAttila Molnar
2014-01-25Add Channel* parameter to OnSendWhoLineAttila Molnar
2014-01-24Convert UserChanList to an intrusively linked listAttila Molnar
2014-01-22Split IOHook into IOHook and IOHookProviderAttila Molnar
Create one IOHook instance for each hooked socket which contains all the hook specific data and read/write/close functions, removing the need for the "issl_session" array in SSL modules. Register instances of the IOHookProvider class in the core and use them to create specialized IOHook instances (OnConnect/OnAccept). Remove the OnHookIO hook, add a dynamic reference to ListenSocket that points to the hook provider (if any) to use for incoming connections on that socket. For outgoing connections modules still have to find the IOHookProvider they want to use themselves but instead of calling AddIOHook(hookprov), now they have to call IOHookProvider::OnConnect() after the connection has been established.
2014-01-21Bump API version because of 3f4d54eb031f1cd6b016dfe1f768ed86303e3856Attila Molnar