enum ConfigDataType { DT_NOTHING, DT_INTEGER, DT_CHARPTR, DT_BOOLEAN };
+/** Holds a core configuration item and its callbacks
+ */
struct InitialConfig
{
char* tag;
Validator validation_function;
};
+/** Holds a core configuration item and its callbacks
+ * where there may be more than one item
+ */
struct MultiConfig
{
const char* tag;
#include "users.h"
#include "channels.h"
#include "modules.h"
-
#include "inspircd.h"
+/** Thrown by m_filter_pcre
+ */
class FilterPCREException : public ModuleException
{
public:
return false;
}
+/** Represents an SSL user's extra data
+ */
class issl_session : public classbase
{
public:
return ERR_error_string(ERR_get_error(), NULL);
}
+/** Represents an SSL user's extra data
+ */
class issl_session : public classbase
{
public:
#include "users.h"
#include "channels.h"
#include "modules.h"
-
#include "configreader.h"
#include "inspircd.h"
/* $ModDesc: Provides support for unreal-style umode +B */
-
-
+/** Handles user mode +B
+ */
class BotMode : public ModeHandler
{
public:
/* $ModDesc: Gives /cban, aka C:lines. Think Q:lines, for channels. */
+/** Holds a CBAN item
+ */
class CBan : public classbase
{
public:
/* $ModDesc: Provides user and channel +G mode */
-
-
+/** Thrown by m_censor
+ */
class CensorException : public ModuleException
{
public:
}
};
+/** Handles usermode +G
+ */
class CensorUser : public ModeHandler
{
public:
}
};
+/** Handles channel mode +G
+ */
class CensorChannel : public ModeHandler
{
public:
#include <arpa/inet.h>
#include "users.h"
#include "modules.h"
-
#include "dns.h"
#include "inspircd.h"
/* $ModDesc: Change user's hosts connecting from known CGI:IRC hosts */
-
-
enum CGItype { PASS, IDENT, PASSFIRST, IDENTFIRST };
+/** Holds a CGI site's details
+ */
class CGIhost : public classbase
{
public:
typedef std::vector<CGIhost> CGIHostlist;
+/** Resolver for CGI:IRC hostnames encoded in ident/GECOS
+ */
class CGIResolver : public Resolver
{
std::string typ;
/* $ModDesc: Provides channel-specific censor lists (like mode +G but varies from channel to channel) */
-
-
+/** Handles channel mode +g
+ */
class ChanFilter : public ListModeBase
{
public:
*/
bool unload_kludge = false;
+/** Handles basic operation of +qa channel modes
+ */
class FounderProtectBase
{
private:
}
};
+/** Abstraction of FounderProtectBase for channel mode +q
+ */
class ChanFounder : public ModeHandler, public FounderProtectBase
{
char* dummyptr;
}
};
+/** Abstraction of FounderProtectBase for channel mode +a
+ */
class ChanProtect : public ModeHandler, public FounderProtectBase
{
char* dummyptr;
typedef uint32_t word32; /* NOT unsigned long. We don't support 16 bit platforms, anyway. */
typedef unsigned char byte;
+/** An MD5 context, used by m_cloaking
+ */
class xMD5Context : public classbase
{
public:
word32 in[16];
};
+/** Handles user mode +x
+ */
class CloakUser : public ModeHandler
{
#include "users.h"
#include "channels.h"
#include "modules.h"
-
#include "inspircd.h"
/* $ModDesc: An enhanced version of the unreal m_filter.so used by chatspike.net */
+/** Holds a filter pattern and reason
+ */
class Filter : public classbase
{
public:
typedef std::map<std::string,Filter*> filter_t;
+/** Thrown by m_filter
+ */
class FilterException : public ModuleException
{
public:
#include "users.h"
#include "channels.h"
#include "modules.h"
-
#include "inspircd.h"
// Global Vars
static ConfigReader *helpop;
-
-
bool do_helpop(const char**, int, userrec*);
void sendtohelpop(userrec*, int, const char**);
/* $ModDesc: /helpop Command, Works like Unreal helpop */
+/** Handles user mode +h
+ */
class Helpop : public ModeHandler
{
public:
}
};
+/** Handles /HELPOP
+ */
class cmd_helpop : public command_t
{
public:
}
};
+/** Thrown by m_helpop
+ */
class HelpopException : public ModuleException
{
private:
/* $ModDesc: Provides masking of user hostnames in a different way to m_cloaking */
-
-
+/** Holds information on a host set by m_hostchange
+ */
class Host : public classbase
{
public:
-/* +------------------------------------+
+/* +------------------------------------+
* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
static ModuleHttp* HttpModule;
static bool claimed;
+/** HTTP socket states
+ */
enum HttpState
{
HTTP_LISTEN = 0,
HTTP_SERVE_SEND_DATA = 3
};
+/** A socket used for HTTP transport
+ */
class HttpSocket : public InspSocket
{
FileReader* index;
class InspIRCd* ServerInstance;
+/** Handles channel mode +I
+ */
class InviteException : public ListModeBase
{
public:
class ModuleInviteException : public Module
{
InviteException* ie;
-
-
public:
ModuleInviteException(InspIRCd* Me) : Module(Me)
{
/* $ModDesc: Provides channel mode +j (join flood protection) */
-
-
+/** Holds settings and state associated with channel mode +j
+ */
class joinfloodsettings : public classbase
{
public:
bool locked;
joinfloodsettings() : secs(0), joins(0) {};
+
joinfloodsettings(int b, int c) : secs(b), joins(c)
{
reset = time(NULL) + secs;
};
+/** Handles channel mode +j
+ */
class JoinFlood : public ModeHandler
{
public:
typedef std::map<userrec*, time_t> delaylist;
+/** Handles channel mode +J
+ */
class KickRejoin : public ModeHandler
{
public:
/* $ModDesc: Provides support for /KNOCK and mode +K */
-
-
+/** Handles the /KNOCK command
+ */
class cmd_knock : public command_t
{
public:
}
};
+/** Handles channel mode +K
+ */
class Knock : public ModeHandler
{
public:
/* $ModDesc: Provides channel mode +f (message flood protection) */
-
-
+/** Holds flood settings and state for mode +f
+ */
class floodsettings : public classbase
{
public:
}
};
+/** Handles channel mode +f
+ */
class MsgFlood : public ModeHandler
{
public:
#include "inspircd.h"
#include "wildcard.h"
+/** Holds a users m_safelist state
+ */
class ListData : public classbase
{
public:
/* $ModDesc: Provides channel +S mode (strip ansi colour) */
+/** Handles channel mode +S
+ */
class ChannelStripColor : public ModeHandler
{
public: