summaryrefslogtreecommitdiffstats
path: root/include/modules.h
Commit message (Collapse)AuthorAgeFilesLines
* Use ServiceProvider for inter-module dependenciesGravatar danieldg2009-11-161-114/+58
| | | | | | | | | | | This will stop dependency chains from preventing module reloads when it is not actually needed; however, it removes some failsafes that will need to be reimplemented in order to avoid unmapped vtables. This deprecates Request as an inter-module signaling mechanism, although SQL still uses it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow static build of inspircd without module supportGravatar danieldg2009-11-111-0/+24
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12083 e03df62e-2008-0410-955e-edbf42e46eb7
* Move MODENOTICE command to a command moduleGravatar danieldg2009-11-031-7/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11991 e03df62e-2008-0410-955e-edbf42e46eb7
* Force heap allocation of refcountbase, create usecountbase for ↵Gravatar danieldg2009-10-251-3/+1
| | | | | | non-allocation reference counting git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11978 e03df62e-2008-0410-955e-edbf42e46eb7
* Move forward declarations to typedefs.hGravatar danieldg2009-10-241-27/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11967 e03df62e-2008-0410-955e-edbf42e46eb7
* Kill ListenSocketBase, use OnAcceptConnection for all new connectionsGravatar danieldg2009-10-211-2/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
* Change module API to use LocalUser* where correctGravatar danieldg2009-10-211-8/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7
* Split LocalUser and RemoteUserGravatar danieldg2009-10-211-23/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
* Maintain refcount of Module objects to complain about leaked pointersGravatar danieldg2009-10-191-4/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11925 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove VF_SERVICEPROVIDER, prevent heap allocation of ConfigReaderGravatar danieldg2009-10-181-13/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11904 e03df62e-2008-0410-955e-edbf42e46eb7
* Make classbase and refcountbase uncopyable; expand comments on their ↵Gravatar danieldg2009-10-171-3/+3
| | | | | | indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove dummy API_VERSION from Version constructorGravatar danieldg2009-10-171-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11887 e03df62e-2008-0410-955e-edbf42e46eb7
* Rewrite ConfigReader againGravatar danieldg2009-10-171-14/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix module unmapping with culled Module objectsGravatar danieldg2009-10-141-8/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
* Encode module API version in the init_module symbol; fixes conflic with ↵Gravatar danieldg2009-10-121-3/+15
| | | | | | glibc-exported init_module git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11863 e03df62e-2008-0410-955e-edbf42e46eb7
* DLLFactory--Gravatar danieldg2009-10-121-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11861 e03df62e-2008-0410-955e-edbf42e46eb7
* Make OnChannelRestrictionApply take a User* instead of a Membership* ↵Gravatar danieldg2009-10-121-2/+2
| | | | | | [jackmcbarn] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11858 e03df62e-2008-0410-955e-edbf42e46eb7
* m_exemptchanops by jackmcbarn - channel mode +X to allow per-channel settingGravatar danieldg2009-10-121-1/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11855 e03df62e-2008-0410-955e-edbf42e46eb7
* Update Event and Request APIsGravatar danieldg2009-10-081-80/+23
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7
* Take advantage of link errors to check API_VERSION at module load timeGravatar danieldg2009-10-061-12/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11805 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnBuildNeighborList hook, replaces all uses of OnHostCycleGravatar danieldg2009-10-051-17/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11802 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix valgrind issues and crashes on exitGravatar danieldg2009-10-021-9/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ROUTE_TYPE_MESSAGE and use for PRIVMSG/NOTICE routingGravatar danieldg2009-10-011-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11791 e03df62e-2008-0410-955e-edbf42e46eb7
* Flexible SendQGravatar danieldg2009-09-261-10/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11766 e03df62e-2008-0410-955e-edbf42e46eb7
* Change IS_FAKE and CheckTimeStamp to IS_SERVER and ResolveModeConflict to ↵Gravatar danieldg2009-09-261-1/+1
| | | | | | clarify their use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11765 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-42/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Describe module purpose in /MODULES outputGravatar danieldg2009-09-221-2/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7
* Create StreamSocket for IO hooking implementationGravatar danieldg2009-09-211-33/+22
| | | | | | | | | | | | | | Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
* Change match direction of extbans to allow stackingGravatar danieldg2009-09-131-21/+20
| | | | | | | | | | This allows you create stacked bans like: +b m:r:*bot* to mute anyone with bot in their gecos +e S:j:+#staff to allow voices in #staff to use color It also deprecates extban M, which can be implemented using m:R: git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11711 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up Command constructorGravatar danieldg2009-09-131-10/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
* Add SerializeFormat for easier metadata formattingGravatar danieldg2009-09-131-7/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11704 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove redundant ServerInstance* fieldsGravatar danieldg2009-09-131-3/+0
| | | | | | | | It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
* Use FindMode instead of FindPrefix for OnUserPreJoin privs; makes it ↵Gravatar danieldg2009-09-131-1/+1
| | | | | | possible to give +q or +Y on join even without prefix git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11702 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace OnAccessCheck with OnPreMode to remove a number of redundant checksGravatar danieldg2009-09-131-44/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11700 e03df62e-2008-0410-955e-edbf42e46eb7
* Module API changes to use Membership* where sensibleGravatar danieldg2009-09-131-18/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
* Membership* changesGravatar danieldg2009-09-131-7/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
* Change Extensible to use strongly typed entriesGravatar danieldg2009-09-131-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
* Likewise, convert OnLocalTopicChange to OnPreTopicChange and to be run for ↵Gravatar w00t2009-09-051-4/+5
| | | | | | both local and remote changes, for API consistency. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11678 e03df62e-2008-0410-955e-edbf42e46eb7
* Change OnPostLocalTopicChange to be OnPostTopicChange, invoked for both ↵Gravatar w00t2009-09-051-3/+3
| | | | | | remote and local events. Will be needed for some xline trickery. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11677 e03df62e-2008-0410-955e-edbf42e46eb7
* Change cmd_*.so to use the Module object APIGravatar danieldg2009-09-031-0/+2
| | | | | | | | | | | | | | Create Module* objects for each command, and load them like modules. This unifies the external API for modules. Library directory is now deprecated: all modules are located in a single module directory. Header files for each command are no longer needed; remove. This also fixes two potential segfaults in m_spanningtree. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7
* Include VERSION/REVISION information in module version tag, so that we do no ↵Gravatar danieldg2009-09-021-2/+3
| | | | | | longer rely on $Id$ git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11666 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnChangeIdent and FIDENT supportGravatar danieldg2009-09-021-1/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11652 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnSendWhoLine hook, and use it in the oper hiding modulesGravatar danieldg2009-09-021-1/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11650 e03df62e-2008-0410-955e-edbf42e46eb7
* Change SAMODE to source from the acting user, not the serverGravatar danieldg2009-09-021-1/+2
| | | | | | | | This is a merge of the OOMODE command into SAMODE. This fixes SAMODE not working because of mode merging. An additional access check for umode changes is added for this command. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11647 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix some ICC-found warnings and remove unused #defineGravatar danieldg2009-09-021-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11639 e03df62e-2008-0410-955e-edbf42e46eb7
* ModResult conversion: Change return type of all module functionsGravatar danieldg2009-09-021-95/+60
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove "servermode" parameter, replace with IS_FAKE() which is more reliableGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11633 e03df62e-2008-0410-955e-edbf42e46eb7
* Record module source file in the Module objectGravatar danieldg2009-09-021-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11630 e03df62e-2008-0410-955e-edbf42e46eb7
* Change OnHookUserIO to OnHookIO, making it usable for more than User* and ↵Gravatar danieldg2009-09-021-2/+6
| | | | | | less picky on string matching git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11628 e03df62e-2008-0410-955e-edbf42e46eb7
* Add VF_OPTCOMMON for optionally common modulesGravatar danieldg2009-09-021-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11619 e03df62e-2008-0410-955e-edbf42e46eb7