summaryrefslogtreecommitdiff
path: root/src/base.cpp
AgeCommit message (Collapse)Author
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-16Use ServiceProvider for inter-module dependenciesdanieldg
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
2009-11-15Add Inspircd::AddServicesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-25Force heap allocation of refcountbase, create usecountbase for ↵danieldg
non-allocation reference counting git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11978 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-20Use custom allocater to decide if refcountbase was allocated on the heap and ↵danieldg
should be deleted when refcount reaches zero git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11928 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Maintain refcount of Module objects to complain about leaked pointersdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11925 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Fix implementation of reference to const, use reference counting for ↵danieldg
ExtensibleItem git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11924 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Clean up some log messagesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11917 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Fix null dereference caused by tracking dummydanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11902 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Cull channels, warn when Extensible objects are not culled as they must bedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11901 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Add more debug logging of object lifetimesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11900 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Make classbase and refcountbase uncopyable; expand comments on their ↵danieldg
indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14Move static map of extensions into ServerInstance, add const-correctnessdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30Add explicit reference-counting base classdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11785 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-28Fix warnings from BSD build and work around the failures of BSD makedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11771 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Create StreamSocket for IO hooking implementationdanieldg
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
2009-09-15Remove Extensible items from user, channel, and Membership on module unloaddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11730 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-15Fix null ExtensionItem when unregistering hooks; fix CORE_FLAGS on darwindanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11729 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Add SerializeFormat for easier metadata formattingdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11704 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Change Extensible to use strongly typed entriesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove unneeded Extensible inheritance and remove "age" field from classbasedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11611 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Remove last vestige of libircdfoo, by changing tag into a single ↵w00t
identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-22Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵brain
src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15Jesus, look who's the commit whore today. More header updates, and removal ↵w00t
of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Just to mess with om's head, remove helperfuncs.h from everywherebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵brain
object called ServerInstance, ilog() takes an InspIRCd object as first param. TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Removal of an externbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4875 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11extern time_t TIME -> InspIRCd::Time()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10Remove commented out old methods that became templatesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4296 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10If you ask me, it looks a hell of a lot tidier without forcing the cast.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4277 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10Assorted changes here, Extend() is not templated so you can pass it any ↵om
pointer type and it will automatically be cast to char* for you. Also some speedups, store an iterator rather than calling find() once to check if it exists and again to access the value. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3864 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09More const references, this is nearly it apart from the module API..om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3608 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-15- Useless loop removedw00t
- Intenting cleaned up - command_parse stuff (really) needs proper going over and at least commenting what stuff does. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3216 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15Updated copyrights in headers etc using perl inplace editbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-07Added Metadata API (for transferring extensibles over a network transparent ↵brain
to the protocol) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2253 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-30GCC4.0 warning fixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1571 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-30Added operator =brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1566 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-30Added BoolSet utility classbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1564 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-28Fixed fd_Setsize in cygwinbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1541 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Moved a ton of functions into helperfuncs.h to speed up recompilesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1383 e03df62e-2008-0410-955e-edbf42e46eb7
2005-04-21Removed some debug outputbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1153 e03df62e-2008-0410-955e-edbf42e46eb7
2005-04-12Added OnBackgroundTimer method, ticks every 5 seconds approximatelybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1058 e03df62e-2008-0410-955e-edbf42e46eb7
2005-04-05Major optimizations!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@982 e03df62e-2008-0410-955e-edbf42e46eb7
2004-05-16Updated header commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@816 e03df62e-2008-0410-955e-edbf42e46eb7