98 Commits

Author SHA1 Message Date
attilamolnar
153179b574 Create the CommandBase class from Command
The Handle() method is not part of CommandBase, making it possible to provide a different Handle() in each class derived from CommandBase
2013-08-18 15:11:02 +02:00
attilamolnar
c25a59d903 Remove TR_END, remove TRANSLATEx() from commands that do not need it 2013-06-13 18:41:10 +02:00
attilamolnar
dac63207aa Remove (non-functional) total_bytes counter from Command 2013-06-01 22:52:02 +02:00
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00
attilamolnar
d00914ed6f Add a flag to Command that controls whether an empty last parameter is allowed or not 2012-12-15 21:17:06 +01:00
attilamolnar
73074b0a78 Change a few signed counter variables to unsigned so they roll over later 2012-12-05 21:49:39 +01:00
Peter Powell
808a0a0957 Fix Doxygen syntax errors. 2012-07-05 21:00:35 +01:00
Robby-
46a3904619 Replace copyright headers with headers granting specific authors copyright 2012-04-19 20:58:29 +02:00
Justin Crawford
df5f76832e Fixes for bug #12 2012-04-14 18:03:25 -07:00
danieldg
f5d5cee19a Floating-point math should have no place in an ircd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12442 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12 17:06:45 +00:00
danieldg
dce58b1611 Move lots of spanningtree items to commands
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12296 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18 23:49:23 +00:00
brain
cd712c40e1 ...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
2010-01-11 03:07:32 +00:00
danieldg
54fb0cd5aa 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
2009-11-16 17:59:06 +00:00
danieldg
fb3964d5c0 Add Inspircd::AddServices
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15 18:26:53 +00:00
danieldg
6b2ea83367 Move forward declarations to typedefs.h
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11967 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24 20:03:53 +00:00
danieldg
bbb5f6ee63 Move SetClass to LocalUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11941 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:58 +00:00
danieldg
be10eab6ce 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
2009-10-19 20:12:22 +00:00
danieldg
fa452641bf Remove more classbase
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11905 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18 16:18:44 +00:00
danieldg
37fd031da0 Remove Command and ModeHandler objects in their destructors; fixes possible pointer leak if a module was not careful when triggering exceptions in its constructor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11872 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-13 21:34:29 +00:00
danieldg
e57ed15735 Fix routing for normal core commands like QUIT
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11795 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02 06:13:57 +00:00
danieldg
75d9c67804 Add ROUTE_TYPE_MESSAGE and use for PRIVMSG/NOTICE routing
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11791 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-01 21:41:52 +00:00
danieldg
069a2ef214 Clean up Command constructor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:27 +00:00
danieldg
17fd32bf74 Remove HandleInternal and HandleServer, they are duplicated by Request* and FakeUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11672 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 21:06:44 +00:00
danieldg
1c1c5fc3f0 Remove CMD_LOCALONLY, enforce use of GetRouting for routed commands
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11671 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 15:53:15 +00:00
brain
bec20ca453 Add more comments here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11659 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 01:06:02 +00:00
danieldg
24731c63b6 Add Module* creator to Command and ModeHandler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:48 +00:00
danieldg
b5e2200087 Allow commands to optionally route themselves using ENCAP
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11602 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:59 +00:00
danieldg
8cebe2878f Include explicit routing information in Command, will replace CMD_LOCALONLY return value
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11601 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:50 +00:00
psychon
b6dbd6caab Update all wiki links to point to the new wiki. This was done automatically 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-03-15 12:42:35 +00:00
danieldg
526f5a4a02 Construct explicit parameter type list for MODE parameters
Previously, we used TR_SPACENICKLIST on the parameters. This worked only because
usually, if anything in the list parsed as a nick, then it was a nick. However,
some modes like +k and +g allow free-form text, which could also resolve as a
nick. Add extra parameters to allow modes to specify their TranslateType,
defaulting to TR_TEXT.

This fixes bug #757, found by Taros

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11180 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-06 22:28:57 +00:00
peavey
f209cce90b Nuke trailing spaces
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14 21:14:36 +00:00
w00t
43847ec9c7 Update copyrights for 2009.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02 18:16:05 +00:00
w00t
bde833f182 Add optional max_params for commands, which means that we can compress 'extra' params, while still accepting ':' terminated params, etc.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10715 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25 16:41:09 +00:00
brain
703ca18c66 More comments, and remove some unused craq. Someone (that being me) once wrote a craqy imitation of std::bitset called dynamicbitmask which took up a large amount of hashcomp.{h,cpp} before i actually knew that std::bitset existed. NOTHING has ever used this class, so whack it as tidyup, knowing it wont
break anything :)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10567 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20 21:14:25 +00:00
w00t
4e286021d7 Unbreak compile..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10131 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-09 18:50:12 +00:00
aquanight
c512706209 Add translation type TR_CUSTOM, and fix up callerid some.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10130 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-09 17:15:43 +00:00
brain
61185fc62b m_abbreviation completed. :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9845 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-06 15:47:39 +00:00
brain
71eb82a980 Fix unused HandleServer to use new system too, and update comments to match api
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9609 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 21:41:09 +00:00
brain
ffbd1eebf0 Conversion of command handler params from "const char* const* parameters, int pcnt" to "const std::vector<std::string>& parameters". All of core is converted, but cant test it till the modules are converted.
IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess
of .c_str() calls to using std::string params directly.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 21:37:36 +00:00
brain
98659aa0dc Merge in large patchset from GreenReaper, useful fixes for freeing a ton of different things on shutdown for tidyness, and a few stack corruption fixes in the mode handler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9565 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21 16:59:23 +00:00
brain
dd36852a52 Wheee, mass commit! this adds const stafety, throwing a compile error if anyone does: "parameters[n] = blahvar;" in a command handler etc. where they REALLY SHOULD NOT fuck with the value and should
copy the pointer.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8971 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-20 19:07:07 +00:00
w00t
9d2422582c CONSTIFY\!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8920 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 16:20:05 +00:00
w00t
21a5b7c3cc Fix a silly crash I caused.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8919 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 16:14:54 +00:00
w00t
449bbb6e04 Slight API tweak. Change Command to take char * instead of char in it's constructor, this avoids confusion/generates a compile error if someone mixes up flags with number of params, instead of working but not working as expected in a weird manner.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8918 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 10:39:25 +00:00
w00t
f127161467 Clear up header insanity
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 23:20:20 +00:00
w00t
34fe4276bd (finally) remove deprecated CMD_USER_DELETED
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8807 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 21:23:06 +00:00
w00t
e4acbc95b8 Header update: 2007 -> 2008
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
brain
18b1ec5080 -pedantic tidyups, lets see if it finds anything worthy of a fix
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8313 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 19:28:41 +00:00
w00t
fd37f4ba0e CHange Penalty to be set in constructor, and to default to 1
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8249 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 12:58:01 +00:00
brain
b80d1be349 Penalty should be 'const int'. Note, you can set a const in the constructors init-list, see line 109
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8246 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 12:52:42 +00:00