summaryrefslogtreecommitdiff
path: root/modules/pseudoclients/botserv.h
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-08-05 05:35:31 -0400
committerAdam <Adam@anope.org>2011-08-05 05:35:31 -0400
commite66063e6304538d34c40460ca0aa2be5ddb6bdec (patch)
treef50fe31097160f8f794669809e4f4ef87f477672 /modules/pseudoclients/botserv.h
parent9ec18a3b020932eee6242c878149c484f49b13cb (diff)
Rewrote the example configurations and split them
up into seperate files for each pseudo client. Also reorganized how the modules are stored, and made most of the old "extra" modules "core"
Diffstat (limited to 'modules/pseudoclients/botserv.h')
-rw-r--r--modules/pseudoclients/botserv.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/modules/pseudoclients/botserv.h b/modules/pseudoclients/botserv.h
new file mode 100644
index 000000000..5fa03f870
--- /dev/null
+++ b/modules/pseudoclients/botserv.h
@@ -0,0 +1,63 @@
+#ifndef BOTSERV_H
+#define BOTSERV_H
+
+struct UserData
+{
+ UserData()
+ {
+ this->Clear();
+ }
+
+ void Clear()
+ {
+ last_use = last_start = Anope::CurTime;
+ lines = times = 0;
+ lastline.clear();
+ }
+
+ /* Data validity */
+ time_t last_use;
+
+ /* for flood kicker */
+ int16 lines;
+ time_t last_start;
+
+ /* for repeat kicker */
+ Anope::string lastline;
+ Anope::string lasttarget;
+ int16 times;
+};
+
+struct BanData
+{
+ Anope::string mask;
+ time_t last_use;
+ int16 ttb[TTB_SIZE];
+
+ BanData()
+ {
+ this->Clear();
+ }
+
+ void Clear()
+ {
+ last_use = 0;
+ for (int i = 0; i < TTB_SIZE; ++i)
+ this->ttb[i] = 0;
+ }
+};
+
+class BotServService : public Service
+{
+ public:
+ BotServService(Module *m) : Service(m, "BotServ") { }
+
+ virtual UserData *GetUserData(User *u, Channel *c) = 0;
+
+ virtual BanData *GetBanData(User *u, Channel *c) = 0;
+};
+
+static service_reference<BotServService> botserv("BotServ");
+
+#endif // BOTSERV_H
+