summaryrefslogtreecommitdiff
path: root/include/modules
diff options
context:
space:
mode:
Diffstat (limited to 'include/modules')
-rw-r--r--include/modules/bs_badwords.h18
-rw-r--r--include/modules/bs_bot.h34
-rw-r--r--include/modules/bs_info.h20
-rw-r--r--include/modules/bs_kick.h14
-rw-r--r--include/modules/chanserv.h46
-rw-r--r--include/modules/cs_access.h22
-rw-r--r--include/modules/cs_akick.h28
-rw-r--r--include/modules/cs_drop.h20
-rw-r--r--include/modules/cs_info.h23
-rw-r--r--include/modules/cs_mode.h20
-rw-r--r--include/modules/cs_set.h25
-rw-r--r--include/modules/dns.h14
-rw-r--r--include/modules/fantasy.h35
-rw-r--r--include/modules/global.h29
-rw-r--r--include/modules/help.h27
-rw-r--r--include/modules/hs_del.h18
-rw-r--r--include/modules/memoserv.h66
-rw-r--r--include/modules/nickserv.h68
-rw-r--r--include/modules/ns_cert.h23
-rw-r--r--include/modules/ns_drop.h21
-rw-r--r--include/modules/ns_group.h20
-rw-r--r--include/modules/ns_info.h22
-rw-r--r--include/modules/ns_set.h24
-rw-r--r--include/modules/ns_update.h20
-rw-r--r--include/modules/os_defcon.h20
-rw-r--r--include/modules/os_session.h18
-rw-r--r--include/modules/pseudoclients/chanserv.h18
-rw-r--r--include/modules/pseudoclients/global.h20
-rw-r--r--include/modules/pseudoclients/memoserv.h34
-rw-r--r--include/modules/pseudoclients/nickserv.h17
-rw-r--r--include/modules/suspend.h40
31 files changed, 732 insertions, 92 deletions
diff --git a/include/modules/bs_badwords.h b/include/modules/bs_badwords.h
index 678512c96..390e502c0 100644
--- a/include/modules/bs_badwords.h
+++ b/include/modules/bs_badwords.h
@@ -71,3 +71,21 @@ struct BadWords
virtual void Check() = 0;
};
+namespace Event
+{
+ struct CoreExport BadWordEvents : Events
+ {
+ /** Called before a badword is added to the badword list
+ * @param ci The channel
+ * @param bw The badword
+ */
+ virtual void OnBadWordAdd(ChannelInfo *ci, const BadWord *bw) anope_abstract;
+
+ /** Called before a badword is deleted from a channel
+ * @param ci The channel
+ * @param bw The badword
+ */
+ virtual void OnBadWordDel(ChannelInfo *ci, const BadWord *bw) anope_abstract;
+ };
+}
+
diff --git a/include/modules/bs_bot.h b/include/modules/bs_bot.h
new file mode 100644
index 000000000..c6d670f35
--- /dev/null
+++ b/include/modules/bs_bot.h
@@ -0,0 +1,34 @@
+/*
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport BotCreate : Events
+ {
+ /** Called when a new bot is made
+ * @param bi The bot
+ */
+ virtual void OnBotCreate(BotInfo *bi) anope_abstract;
+ };
+
+ struct CoreExport BotChange : Events
+ {
+ /** Called when a bot is changed
+ * @param bi The bot
+ */
+ virtual void OnBotChange(BotInfo *bi) anope_abstract;
+ };
+
+ struct CoreExport BotDelete : Events
+ {
+ /** Called when a bot is deleted
+ * @param bi The bot
+ */
+ virtual void OnBotDelete(BotInfo *bi) anope_abstract;
+ };
+}
diff --git a/include/modules/bs_info.h b/include/modules/bs_info.h
new file mode 100644
index 000000000..c9f360dfc
--- /dev/null
+++ b/include/modules/bs_info.h
@@ -0,0 +1,20 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport BotInfoEvent : Events
+ {
+ /** Called when a user uses botserv/info on a bot or channel.
+ */
+ virtual void OnBotInfo(CommandSource &source, BotInfo *bi, ChannelInfo *ci, InfoFormatter &info) anope_abstract;
+ };
+ extern CoreExport EventHandlers<BotInfoEvent> OnBotInfo;
+}
+
diff --git a/include/modules/bs_kick.h b/include/modules/bs_kick.h
index 61cd987d5..a783b6017 100644
--- a/include/modules/bs_kick.h
+++ b/include/modules/bs_kick.h
@@ -44,3 +44,17 @@ struct KickerData
virtual ~KickerData() { }
virtual void Check(ChannelInfo *ci) = 0;
};
+
+namespace Event
+{
+ struct CoreExport BotBan : Events
+ {
+ /** Called when a bot places a ban
+ * @param u User being banned
+ * @param ci Channel the ban is placed on
+ * @param mask The mask being banned
+ */
+ virtual void OnBotBan(User *u, ChannelInfo *ci, const Anope::string &mask) anope_abstract;
+ };
+}
+
diff --git a/include/modules/chanserv.h b/include/modules/chanserv.h
new file mode 100644
index 000000000..37a96e9e7
--- /dev/null
+++ b/include/modules/chanserv.h
@@ -0,0 +1,46 @@
+/*
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace ChanServ
+{
+ class ChanServService : public Service
+ {
+ public:
+ ChanServService(Module *m) : Service(m, "ChanServService", "ChanServ")
+ {
+ }
+
+ /* Have ChanServ hold the channel, that is, join and set +nsti and wait
+ * for a few minutes so no one can join or rejoin.
+ */
+ virtual void Hold(Channel *c) anope_abstract;
+ };
+ static ServiceReference<ChanServService> service("ChanServService", "ChanServ");
+
+ namespace Event
+ {
+ struct CoreExport PreChanExpire : Events
+ {
+ /** Called before a channel expires
+ * @param ci The channel
+ * @param expire Set to true to allow the chan to expire
+ */
+ virtual void OnPreChanExpire(ChannelInfo *ci, bool &expire) anope_abstract;
+ };
+ static EventHandlersReference<PreChanExpire> OnPreChanExpire("OnPreChanExpire");
+
+ struct CoreExport ChanExpire : Events
+ {
+ /** Called before a channel expires
+ * @param ci The channel
+ */
+ virtual void OnChanExpire(ChannelInfo *ci) anope_abstract;
+ };
+ static EventHandlersReference<ChanExpire> OnChanExpire("OnChanExpire");
+ }
+}
diff --git a/include/modules/cs_access.h b/include/modules/cs_access.h
new file mode 100644
index 000000000..8c6778799
--- /dev/null
+++ b/include/modules/cs_access.h
@@ -0,0 +1,22 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport LevelChange : Events
+ {
+ /** Called when a level for a channel is changed
+ * @param source The source of the command
+ * @param ci The channel the level was changed on
+ * @param priv The privilege changed
+ * @param what The new level
+ */
+ virtual void OnLevelChange(CommandSource &source, ChannelInfo *ci, const Anope::string &priv, int16_t what) anope_abstract;
+ };
+}
diff --git a/include/modules/cs_akick.h b/include/modules/cs_akick.h
new file mode 100644
index 000000000..ab02985c1
--- /dev/null
+++ b/include/modules/cs_akick.h
@@ -0,0 +1,28 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport Akick : Events
+ {
+ /** Called after adding an akick to a channel
+ * @param source The source of the command
+ * @param ci The channel
+ * @param ak The akick
+ */
+ virtual void OnAkickAdd(CommandSource &source, ChannelInfo *ci, const AutoKick *ak) anope_abstract;
+
+ /** Called before removing an akick from a channel
+ * @param source The source of the command
+ * @param ci The channel
+ * @param ak The akick
+ */
+ virtual void OnAkickDel(CommandSource &source, ChannelInfo *ci, const AutoKick *ak) anope_abstract;
+ };
+}
diff --git a/include/modules/cs_drop.h b/include/modules/cs_drop.h
new file mode 100644
index 000000000..e2a9ace8a
--- /dev/null
+++ b/include/modules/cs_drop.h
@@ -0,0 +1,20 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport ChanDrop : Events
+ {
+ /** Called right before a channel is dropped
+ * @param source The user dropping the channel
+ * @param ci The channel
+ */
+ virtual EventReturn OnChanDrop(CommandSource &source, ChannelInfo *ci) anope_abstract;
+ };
+}
diff --git a/include/modules/cs_info.h b/include/modules/cs_info.h
new file mode 100644
index 000000000..7f0429387
--- /dev/null
+++ b/include/modules/cs_info.h
@@ -0,0 +1,23 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport ChanInfo : Events
+ {
+ /** Called when a user requests info for a channel
+ * @param source The user requesting info
+ * @param ci The channel the user is requesting info for
+ * @param info Data to show the user requesting information
+ * @param show_hidden true if we should show the user everything
+ */
+ virtual void OnChanInfo(CommandSource &source, ChannelInfo *ci, InfoFormatter &info, bool show_hidden) anope_abstract;
+ };
+}
+
diff --git a/include/modules/cs_mode.h b/include/modules/cs_mode.h
index 44ffd5a7f..4c1dc5d55 100644
--- a/include/modules/cs_mode.h
+++ b/include/modules/cs_mode.h
@@ -88,3 +88,23 @@ struct ModeLocks
virtual void Check() = 0;
};
+namespace Event
+{
+ struct CoreExport MLockEvents : Events
+ {
+ /** Called when a mode is about to be mlocked
+ * @param ci The channel the mode is being locked on
+ * @param lock The mode lock
+ * @return EVENT_CONTINUE to let other modules decide, EVENT_STOP to deny the mlock.
+ */
+ virtual EventReturn OnMLock(ChannelInfo *ci, ModeLock *lock) anope_abstract;
+
+ /** Called when a mode is about to be unlocked
+ * @param ci The channel the mode is being unlocked from
+ * @param lock The mode lock
+ * @return EVENT_CONTINUE to let other modules decide, EVENT_STOP to deny the mlock.
+ */
+ virtual EventReturn OnUnMLock(ChannelInfo *ci, ModeLock *lock) anope_abstract;
+ };
+}
+
diff --git a/include/modules/cs_set.h b/include/modules/cs_set.h
new file mode 100644
index 000000000..3ddf2f41c
--- /dev/null
+++ b/include/modules/cs_set.h
@@ -0,0 +1,25 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport SetChannelOption : Events
+ {
+ /** Called when a chanserv/set command is used
+ * @param source The source of the command
+ * @param cmd The command
+ * @param ci The channel the command was used on
+ * @param setting The setting passed to the command. Probably ON/OFF.
+ * @return EVENT_ALLOW to bypass access checks, EVENT_STOP to halt immediately.
+ */
+ virtual EventReturn OnSetChannelOption(CommandSource &source, Command *cmd, ChannelInfo *ci, const Anope::string &setting) anope_abstract;
+ };
+ static EventHandlersReference<SetChannelOption> OnSetChannelOption("OnSetChannelOption");
+}
+
diff --git a/include/modules/dns.h b/include/modules/dns.h
index 59fc83e64..e340c3f2b 100644
--- a/include/modules/dns.h
+++ b/include/modules/dns.h
@@ -175,6 +175,20 @@ namespace DNS
};
} // namespace DNS
+
+namespace Event
+{
+ struct CoreExport DnsRequest : Events
+ {
+ /** Called when a DNS request (question) is recieved.
+ * @param req The dns request
+ * @param reply The reply that will be sent
+ */
+ virtual void OnDnsRequest(DNS::Query &req, DNS::Query *reply) anope_abstract;
+ };
+ static EventHandlersReference<DnsRequest> OnDnsRequest("OnDnsRequest");
+}
+
#endif // DNS_H
diff --git a/include/modules/fantasy.h b/include/modules/fantasy.h
new file mode 100644
index 000000000..a7944cef9
--- /dev/null
+++ b/include/modules/fantasy.h
@@ -0,0 +1,35 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct BotFantasy : Events
+ {
+ /** Called on fantasy command
+ * @param source The source of the command
+ * @param c The command
+ * @param ci The channel it's being used in
+ * @param params The params
+ * @return EVENT_STOP to halt processing and not run the command, EVENT_ALLOW to allow the command to be executed
+ */
+ virtual EventReturn OnBotFantasy(CommandSource &source, Command *c, ChannelInfo *ci, const std::vector<Anope::string> &params) anope_abstract;
+ };
+
+ struct CoreExport BotNoFantasyAccess : Events
+ {
+ /** Called on fantasy command without access
+ * @param source The source of the command
+ * @param c The command
+ * @param ci The channel it's being used in
+ * @param params The params
+ * @return EVENT_STOP to halt processing and not run the command, EVENT_ALLOW to allow the command to be executed
+ */
+ virtual EventReturn OnBotNoFantasyAccess(CommandSource &source, Command *c, ChannelInfo *ci, const std::vector<Anope::string> &params) anope_abstract;
+ };
+}
diff --git a/include/modules/global.h b/include/modules/global.h
new file mode 100644
index 000000000..f4f4989ae
--- /dev/null
+++ b/include/modules/global.h
@@ -0,0 +1,29 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Global
+{
+ class GlobalService : public Service
+ {
+ public:
+ GlobalService(Module *m) : Service(m, "GlobalService", "Global")
+ {
+ }
+
+ /** Send out a global message to all users
+ * @param sender Our client which should send the global
+ * @param source The sender of the global
+ * @param message The message
+ */
+ virtual void SendGlobal(BotInfo *sender, const Anope::string &source, const Anope::string &message) = 0;
+ };
+ static ServiceReference<GlobalService> service("GlobalService", "Global");
+}
+
+
diff --git a/include/modules/help.h b/include/modules/help.h
new file mode 100644
index 000000000..333e5f9c8
--- /dev/null
+++ b/include/modules/help.h
@@ -0,0 +1,27 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport Help : Events
+ {
+ /** Called when someone uses the generic/help command
+ * @param source Command source
+ * @param params Params
+ * @return EVENT_STOP to stop processing
+ */
+ virtual EventReturn OnPreHelp(CommandSource &source, const std::vector<Anope::string> &params) anope_abstract;
+
+ /** Called when someone uses the generic/help command
+ * @param source Command source
+ * @param params Params
+ */
+ virtual void OnPostHelp(CommandSource &source, const std::vector<Anope::string> &params) anope_abstract;
+ };
+}
diff --git a/include/modules/hs_del.h b/include/modules/hs_del.h
new file mode 100644
index 000000000..d4a5c7666
--- /dev/null
+++ b/include/modules/hs_del.h
@@ -0,0 +1,18 @@
+/*
+ *
+ * (C) 2003-2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ */
+
+namespace Event
+{
+ struct CoreExport DeleteVhost : Events
+ {
+ /** Called when a vhost is deleted
+ * @param na The nickalias of the vhost
+ */
+ virtual void OnDeleteVhost(NickAlias *na) anope_abstract;
+ };
+}
diff --git a/include/modules/memoserv.h b/include/modules/memoserv.h
new file mode 100644
index 000000000..4e5d67de6
--- /dev/null
+++ b/include/modules/memoserv.h
@@ -0,0 +1,66 @@
+/*
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace MemoServ
+{
+ class MemoServService : public Service
+ {
+ public:
+ enum MemoResult
+ {
+ MEMO_SUCCESS,
+ MEMO_INVALID_TARGET,
+ MEMO_TOO_FAST,
+ MEMO_TARGET_FULL
+ };
+
+ MemoServService(Module *m) : Service(m, "MemoServService", "MemoServ")
+ {
+ }
+
+ /** Sends a memo.
+ * @param source The source of the memo, can be anythin.
+ * @param target The target of the memo, nick or channel.
+ * @param message Memo text
+ * @param force true to force the memo, restrictions/delays etc are not checked
+ */
+ virtual MemoResult Send(const Anope::string &source, const Anope::string &target, const Anope::string &message, bool force = false) = 0;
+
+ /** Check for new memos and notify the user if there are any
+ * @param u The user
+ */
+ virtual void Check(User *u) = 0;
+ };
+ static ServiceReference<MemoServService> service("MemoServService", "MemoServ");
+
+ namespace Event
+ {
+ struct CoreExport MemoSend : Events
+ {
+ /** Called when a memo is sent
+ * @param source The source of the memo
+ * @param target The target of the memo
+ * @param mi Memo info for target
+ * @param m The memo
+ */
+ virtual void OnMemoSend(const Anope::string &source, const Anope::string &target, MemoInfo *mi, Memo *m) anope_abstract;
+ };
+ static EventHandlersReference<MemoSend> OnMemoSend("OnMemoSend");
+
+ struct CoreExport MemoDel : Events
+ {
+ /** Called when a memo is deleted
+ * @param target The target the memo is being deleted from (nick or channel)
+ * @param mi The memo info
+ * @param m The memo
+ */
+ virtual void OnMemoDel(const Anope::string &target, MemoInfo *mi, const Memo *m) anope_abstract;
+ };
+ static EventHandlersReference<MemoDel> OnMemoDel("OnMemoDel");
+ }
+}
diff --git a/include/modules/nickserv.h b/include/modules/nickserv.h
new file mode 100644
index 000000000..0ede4130e
--- /dev/null
+++ b/include/modules/nickserv.h
@@ -0,0 +1,68 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace NickServ
+{
+ class NickServService : public Service
+ {
+ public:
+ NickServService(Module *m) : Service(m, "NickServService", "NickServ")
+ {
+ }
+
+ virtual void Validate(User *u) anope_abstract;
+ virtual void Collide(User *u, NickAlias *na) anope_abstract;
+ virtual void Release(NickAlias *na) anope_abstract;
+ };
+ static ServiceReference<NickServService> service("NickServService", "NickServ");
+
+ namespace Event
+ {
+ struct CoreExport PreNickExpire : Events
+ {
+ /** Called before a nick expires
+ * @param na The nick
+ * @param expire Set to true to allow the nick to expire
+ */
+ virtual void OnPreNickExpire(NickAlias *na, bool &expire) anope_abstract;
+ };
+ static EventHandlersReference<PreNickExpire> OnPreNickExpire("OnPreNickExpire");
+
+ struct CoreExport NickExpire : Events
+ {
+ /** Called when a nick drops
+ * @param na The nick
+ */
+ virtual void OnNickExpire(NickAlias *na) anope_abstract;
+ };
+ static EventHandlersReference<NickExpire> OnNickExpire("OnNickExpire");
+
+ struct CoreExport NickRegister : Events
+ {
+ /** Called when a nick is registered
+ * @param user The user registering the nick, of any
+ * @param The nick
+ */
+ virtual void OnNickRegister(User *user, NickAlias *na) anope_abstract;
+ };
+ static EventHandlersReference<NickRegister> OnNickRegister("OnNickRegister");
+
+ struct CoreExport NickValidate : Events
+ {
+ /** Called when a nick is validated. That is, to determine if a user is permissted
+ * to be on the given nick.
+ * @param u The user
+ * @param na The nick they are on
+ * @return EVENT_STOP to force the user off of the nick
+ */
+ virtual EventReturn OnNickValidate(User *u, NickAlias *na) anope_abstract;
+ };
+ static EventHandlersReference<NickValidate> OnNickValidate("OnNickValidate");
+ }
+}
diff --git a/include/modules/ns_cert.h b/include/modules/ns_cert.h
index e02b9bd6e..b0614b2e6 100644
--- a/include/modules/ns_cert.h
+++ b/include/modules/ns_cert.h
@@ -69,3 +69,26 @@ class CertService : public Service
virtual NickCore* FindAccountFromCert(const Anope::string &cert) = 0;
};
+namespace Event
+{
+ struct CoreExport NickCertEvents : Events
+ {
+ /** Called when a user adds an entry to their cert list
+ * @param nc The nick
+ * @param entry The entry
+ */
+ virtual void OnNickAddCert(NickCore *nc, const Anope::string &entry) anope_abstract;
+
+ /** Called from NickCore::EraseCert()
+ * @param nc pointer to the NickCore
+ * @param entry The fingerprint
+ */
+ virtual void OnNickEraseCert(NickCore *nc, const Anope::string &entry) anope_abstract;
+
+ /** called from NickCore::ClearCert()
+ * @param nc pointer to the NickCore
+ */
+ virtual void OnNickClearCert(NickCore *nc) anope_abstract;
+ };
+}
+
diff --git a/include/modules/ns_drop.h b/include/modules/ns_drop.h
new file mode 100644
index 000000000..2aef2b965
--- /dev/null
+++ b/include/modules/ns_drop.h
@@ -0,0 +1,21 @@
+/*
+ *
+ * (C) 2003-2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ */
+
+namespace Event
+{
+ struct CoreExport NickDrop : Events
+ {
+ /** Called when a nick is dropped
+ * @param source The source of the command
+ * @param na The nick
+ */
+ virtual void OnNickDrop(CommandSource &source, NickAlias *na) anope_abstract;
+ };
+ extern CoreExport EventHandlers<NickDrop> OnNickDrop;
+}
+
diff --git a/include/modules/ns_group.h b/include/modules/ns_group.h
new file mode 100644
index 000000000..8b3fa49f9
--- /dev/null
+++ b/include/modules/ns_group.h
@@ -0,0 +1,20 @@
+/*
+ *
+ * (C) 2003-2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport NickGroup : Events
+ {
+ /** Called when a user groups their nick
+ * @param u The user grouping
+ * @param target The target they're grouping to
+ */
+ virtual void OnNickGroup(User *u, NickAlias *target) anope_abstract;
+ };
+}
diff --git a/include/modules/ns_info.h b/include/modules/ns_info.h
new file mode 100644
index 000000000..8fae2b536
--- /dev/null
+++ b/include/modules/ns_info.h
@@ -0,0 +1,22 @@
+/*
+ *
+ * (C) 2003-2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport NickInfo : Events
+ {
+ /** Called when a user requests info for a nick
+ * @param source The user requesting info
+ * @param na The nick the user is requesting info from
+ * @param info Data to show the user requesting information
+ * @param show_hidden true if we should show the user everything
+ */
+ virtual void OnNickInfo(CommandSource &source, NickAlias *na, InfoFormatter &info, bool show_hidden) anope_abstract;
+ };
+}
diff --git a/include/modules/ns_set.h b/include/modules/ns_set.h
new file mode 100644
index 000000000..a45fa0b5e
--- /dev/null
+++ b/include/modules/ns_set.h
@@ -0,0 +1,24 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport SetNickOption : Events
+ {
+ /** Called when a nickserv/set command is used.
+ * @param source The source of the command
+ * @param cmd The command
+ * @param nc The nickcore being modifed
+ * @param setting The setting passed to the command. Probably ON/OFF.
+ * @return EVENT_STOP to halt immediately
+ */
+ virtual EventReturn OnSetNickOption(CommandSource &source, Command *cmd, NickCore *nc, const Anope::string &setting) anope_abstract;
+ };
+ static EventHandlersReference<SetNickOption> OnSetNickOption("OnSetNickOption");
+}
diff --git a/include/modules/ns_update.h b/include/modules/ns_update.h
new file mode 100644
index 000000000..d5d01320a
--- /dev/null
+++ b/include/modules/ns_update.h
@@ -0,0 +1,20 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport NickUpdate : Events
+ {
+ /** Called when a user does /ns update
+ * @param u The user
+ */
+ virtual void OnNickUpdate(User *u) anope_abstract;
+ };
+}
+
diff --git a/include/modules/os_defcon.h b/include/modules/os_defcon.h
new file mode 100644
index 000000000..81b220eb3
--- /dev/null
+++ b/include/modules/os_defcon.h
@@ -0,0 +1,20 @@
+/*
+ *
+ * (C) 2014 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ */
+
+namespace Event
+{
+ struct CoreExport DefconLevel : Events
+ {
+ /** Called when defcon level changes
+ * @param level The level
+ */
+ virtual void OnDefconLevel(int level) anope_abstract;
+ };
+}
+
diff --git a/include/modules/os_session.h b/include/modules/os_session.h
index ac6bf9395..91548a5c2 100644
--- a/include/modules/os_session.h
+++ b/include/modules/os_session.h
@@ -51,6 +51,24 @@ class SessionService : public Service
static ServiceReference<SessionService> session_service("SessionService", "session");
+namespace Event
+{
+ struct CoreExport Exception : Events
+ {
+ /** Called after an exception has been added
+ * @param ex The exception
+ * @return EVENT_CONTINUE to let other modules decide, EVENT_STOP to halt the command and not process it
+ */
+ virtual EventReturn OnExceptionAdd(::Exception *ex) anope_abstract;
+
+ /** Called before an exception is deleted
+ * @param source The source deleting it
+ * @param ex The exceotion
+ */
+ virtual void OnExceptionDel(CommandSource &source, ::Exception *ex) anope_abstract;
+ };
+}
+
void Exception::Serialize(Serialize::Data &data) const
{
data["mask"] << this->mask;
diff --git a/include/modules/pseudoclients/chanserv.h b/include/modules/pseudoclients/chanserv.h
deleted file mode 100644
index e1c3849fd..000000000
--- a/include/modules/pseudoclients/chanserv.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef CHANSERV_H
-#define CHANSERV_H
-
-class ChanServService : public Service
-{
- public:
- ChanServService(Module *m) : Service(m, "ChanServService", "ChanServ")
- {
- }
-
- /* Have ChanServ hold the channel, that is, join and set +nsti and wait
- * for a few minutes so no one can join or rejoin.
- */
- virtual void Hold(Channel *c) = 0;
-};
-
-#endif // CHANSERV_H
-
diff --git a/include/modules/pseudoclients/global.h b/include/modules/pseudoclients/global.h
deleted file mode 100644
index 1511214c9..000000000
--- a/include/modules/pseudoclients/global.h
+++ /dev/null