summaryrefslogtreecommitdiff
path: root/src/base.cpp
Commit message (Expand)AuthorAgeFilesLines
* Fix some unregistered Extensibles and include names in the thrown exceptionGravatar Daniel De Graaf2010-10-101-3/+3
* Force Extensible objects to be registered prior to useGravatar Daniel De Graaf2010-10-081-1/+8
* Add type checks to Extensible get/set and unregisterGravatar Daniel De Graaf2010-09-221-2/+8
* Add ExtensibleType argument to ExtensionItem to identify item typesGravatar Daniel De Graaf2010-09-221-8/+12
* Replace dynamic_cast with faster explicit type markingGravatar Daniel De Graaf2010-08-141-1/+1
* Untagle the #include tree a bitGravatar Daniel De Graaf2010-08-081-3/+0
* Introduce VT_DEBUG to check for hanging vtables•••This is a slow process, and uses the dladdr() function that only exists in glibc, so all added code requires -DVT_DEBUG to be specified Gravatar Daniel De Graaf2010-08-031-0/+19
* ...because every now and again, i have to do a massive commit.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2010-01-111-1/+1
* Use ServiceProvider for inter-module dependencies•••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 Gravatar danieldg2009-11-161-2/+2
* Add Inspircd::AddServices•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-151-3/+7
* Force heap allocation of refcountbase, create usecountbase for non-allocation...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11978 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-251-17/+12
* Use custom allocater to decide if refcountbase was allocated on the heap and ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11928 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-201-3/+24
* Maintain refcount of Module objects to complain about leaked pointers•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11925 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-191-0/+15
* Fix implementation of reference to const, use reference counting for Extensib...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11924 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-191-6/+9
* Clean up some log messages•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11917 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-191-4/+2
* Fix null dereference caused by tracking dummy•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11902 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-181-3/+8
* Cull channels, warn when Extensible objects are not culled as they must be•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11901 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-181-1/+11
* Add more debug logging of object lifetimes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11900 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-181-2/+10
* Make classbase and refcountbase uncopyable; expand comments on their indended...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-171-6/+10
* Move static map of extensions into ServerInstance, add const-correctness•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-141-34/+35
* Add explicit reference-counting base class•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11785 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-301-45/+6
* Fix warnings from BSD build and work around the failures of BSD make•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11771 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-281-0/+20
* Create StreamSocket for IO hooking implementation•••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 Gravatar danieldg2009-09-211-0/+8
* Remove Extensible items from user, channel, and Membership on module unload•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11730 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-151-1/+19
* Fix null ExtensionItem when unregistering hooks; fix CORE_FLAGS on darwin•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11729 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-151-1/+3
* Add SerializeFormat for easier metadata formatting•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11704 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-131-4/+21
* Change Extensible to use strongly typed entries•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-131-17/+138
* Remove unneeded Extensible inheritance and remove "age" field from classbase•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11611 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-1/+0
* Update all wiki links to point to the new wiki. This was done automatically w...•••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 Gravatar psychon2009-03-151-1/+1
* Update copyrights for 2009.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-01-021-1/+1
* Remove last vestige of libircdfoo, by changing tag into a single identifier...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-07-291-1/+1
* Header update: 2007 -> 2008•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-01-101-1/+1
* Remove the need for a bunch of the hard coded arrays/hashes by scanning the s...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-10-221-0/+2
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-07-161-1/+95
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are au...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-07-161-95/+1
* Jesus, look who's the commit whore today. More header updates, and removal of...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-6/+3
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-5/+0
* Just to mess with om's head, remove helperfuncs.h from everywhere•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-1/+1
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd objec...•••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 Gravatar brain2006-08-111-10/+1
* Removal of an extern•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4875 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-0/+5
* extern time_t TIME -> InspIRCd::Time()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-2/+0
* Remove commented out old methods that became templates•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4296 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-101-35/+0
* If you ask me, it looks a hell of a lot tidier without forcing the cast.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4277 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-101-4/+4
* Assorted changes here, Extend() is not templated so you can pass it any point...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3864 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar om2006-04-101-21/+40
* More const references, this is nearly it apart from the module API..•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3608 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar om2006-03-091-3/+3
* - Useless loop removed•••- 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 Gravatar w00t2006-02-151-2/+2
* Updated copyrights in headers etc using perl inplace edit•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-01-151-1/+1
* Added Metadata API (for transferring extensibles over a network transparent t...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2253 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-12-071-1/+9
* GCC4.0 warning fixes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1571 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-05-301-0/+3
* Added operator =•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1566 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2005-05-301-1/+1