/* BotServ core functions
*
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
*
* Based on the original code of Epona by Lara.
* Based on the original code of Services by Andy Church.
*
*
*/
#include "module.h"
#include "modules/bs_kick.h"
#include "modules/bs_badwords.h"
#include "modules/bs_info.h"
static Module *me;
enum TTBType
{
TTB_BOLDS,
TTB_COLORS,
TTB_REVERSES,
TTB_UNDERLINES,
TTB_BADWORDS,
TTB_CAPS,
TTB_FLOOD,
TTB_REPEAT,
TTB_ITALICS,
TTB_AMSGS,
TTB_SIZE
};
class KickerDataImpl : public KickerData
{
public:
KickerDataImpl(Serialize::TypeBase *type) : KickerData(type) { }
KickerDataImpl(Serialize::TypeBase *type, Serialize::ID id) : KickerData(type, id) { }
ChanServ::Channel *GetChannel() override;
void SetChannel(ChanServ::Channel *) override;
bool GetAmsgs() override;
void SetAmsgs(const bool &) override;
bool GetBadwords() override;
void SetBadwords(const bool &) override;
bool GetBolds() override;
void SetBolds(const bool &) override;
bool GetCaps() override;
void SetCaps(const bool &) override;
bool GetColors() override;
void SetColors(const bool &) override;
bool GetFlood() override;
void SetFlood(const bool &) override;
bool GetItalics() override;
void SetItalics(const bool &) override;
bool GetRepeat() override;
void SetRepeat(const bool &) override;
bool GetReverses() override;
void SetReverses(const bool &) override;
bool GetUnderlines() override;
void SetUnderlines(const bool &) override;
int16_t GetTTBBolds() override;
void SetTTBBolds(const int16_t &) override;
int16_t GetTTBColors() override;
void SetTTBColors(const int16_t &) override;
int16_t GetTTBReverses() override;
void SetTTBReverses(const int16_t &) override;
int16_t GetTTBUnderlines() override;
void SetTTBUnderlines(const int16_t &) override;
int16_t GetTTBBadwords() override;
void SetTTBBadwords(const int16_t &) override;
int16_t GetTTBCaps() override;
void SetTTBCaps(const int16_t &) override;
int16_t GetTTBFlood() override;
void SetTTBFlood(const int16_t &) override;
int16_t GetTTBRepeat() override;
void SetTTBRepeat(const int16_t &) override;
int16_t GetTTBItalics() override;
void SetTTBItalics(const int16_t &) override;
int16_t GetTTBAmsgs() override;
void SetTTBAmsgs(const int16_t &) override;
int16_t GetCapsMin() override;
void SetCapsMin(const int16_t &) override;
int16_t GetCapsPercent() override;
void SetCapsPercent(const int16_t &) override;
int16_t GetFloodLines() override;
void SetFloodLines(const int16_t &) override;
int16_t GetFloodSecs() override;
void SetFloodSecs(const int16_t &) override;
int16_t GetRepeatTimes() override;
void SetRepeatTimes(const int16_t &) override;
bool GetDontKickOps() override;
void SetDontKickOps(const bool &) override;
bool GetDontKickVoices() override;
void SetDontKickVoices(const bool &) override;
};
class KickerDataType : public Serialize::Type<KickerDataImpl>
{
public:
Serialize::ObjectField<KickerDataImpl, ChanServ::Channel *> channel;
Serialize::Field<KickerDataImpl, bool> amsgs, badwords, bolds, caps, colors, flood, italics, repeat, reverses, underlines;
Serialize::Field<KickerDataImpl, int16_t> ttb_bolds, ttb_colors, ttb_reverses, ttb_underlines, ttb_badwords, ttb_caps, ttb_flood, ttb_repeat, ttb_italics, ttb_amsgs,
capsmin, capspercent,
floodlines, floodsecs,
repeattimes;
Serialize::Field<KickerDataImpl, bool> dontkickops, dontkickvoices;
KickerDataType(Module *owner) : Serialize::Type<KickerDataImpl>(owner, "KickerData")
, channel(this, "channel", true)
, amsgs(this, "amsgs")
, badwords(this, "badwords")
, bolds(this,
|