/*
* InspIRCd -- Internet Relay Chat Daemon
*
- * Copyright (C) 2012 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2013, 2017-2019 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012, 2014-2016 Attila Molnar <attilamolnar@hush.com>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
* redistribute it and/or modify it under the terms of the GNU General Public
if (parameters.size() == 4)
{
// 4 parameter version, set all topic data on the channel to the ones given in the parameters
- time_t topicts = ConvToInt(parameters[1]);
+ time_t topicts = ConvToNum<time_t>(parameters[1]);
if (!topicts)
{
ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Received SVSTOPIC with a 0 topicts, dropped.");
}
};
+// TODO: add a BoolExtItem to replace this.
class FlagExtItem : public ExtensionItem
{
public:
return (get_raw(container) != NULL);
}
- std::string serialize(SerializeFormat format, const Extensible* container, void* item) const CXX11_OVERRIDE
+ std::string ToHuman(const Extensible* container, void* item) const CXX11_OVERRIDE
{
- if (format == FORMAT_USER)
- return "true";
+ // Make the human version more readable.
+ return "true";
+ }
+ std::string ToNetwork(const Extensible* container, void* item) const CXX11_OVERRIDE
+ {
return "1";
}
- void unserialize(SerializeFormat format, Extensible* container, const std::string& value) CXX11_OVERRIDE
+ void FromNetwork(Extensible* container, const std::string& value) CXX11_OVERRIDE
{
if (value == "1")
set_raw(container, this);
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Implements server-side topic locks and the server-to-server command SVSTOPIC", VF_COMMON | VF_VENDOR);
+ return Version("Allows services to lock the channel topic so that it can not be changed.", VF_COMMON | VF_VENDOR);
}
};