/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2019 Robby <robby@chatbelgie.be>
+ * Copyright (C) 2018-2019 Sadie Powell <sadie@witchery.services>
* Copyright (C) 2016 Attila Molnar <attilamolnar@hush.com>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
void unset(Extensible* container)
{
- free(unset_raw(container));
+ free(container, unset_raw(container));
}
- std::string serialize(SerializeFormat format, const Extensible* container, void* item) const CXX11_OVERRIDE
+ std::string ToInternal(const Extensible* container, void* item) const CXX11_OVERRIDE
{
std::string ret;
- if (format == FORMAT_NETWORK)
- return ret;
-
const ExtData* extdata = static_cast<ExtData*>(item);
for (WatchedList::const_iterator i = extdata->list.begin(); i != extdata->list.end(); ++i)
{
return ret;
}
- void unserialize(SerializeFormat format, Extensible* container, const std::string& value) CXX11_OVERRIDE;
+ void FromInternal(Extensible* container, const std::string& value) CXX11_OVERRIDE;
- void free(void* item) CXX11_OVERRIDE
+ void free(Extensible* container, void* item) CXX11_OVERRIDE
{
delete static_cast<ExtData*>(item);
}
WatchedList emptywatchedlist;
};
-// inline is needed in static builds to support m_watch including the Manager code from this file
-inline void IRCv3::Monitor::Manager::ExtItem::unserialize(SerializeFormat format, Extensible* container, const std::string& value)
+void IRCv3::Monitor::Manager::ExtItem::FromInternal(Extensible* container, const std::string& value)
{
- if (format == FORMAT_NETWORK)
- return;
-
irc::spacesepstream ss(value);
for (std::string nick; ss.GetToken(nick); )
manager.Watch(static_cast<LocalUser*>(container), nick, UINT_MAX);
{
Penalty = 2;
allow_empty_last_param = false;
- syntax = "[C|L|S|+ <nick1>[,<nick2>]|- <nick1>[,<nick2>]";
+ syntax = "C|L|S|(+|-) <nick>[,<nick>]+";
}
- CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser* user) CXX11_OVERRIDE
+ CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE
{
char subcmd = toupper(parameters[0][0]);
if (subcmd == '+')
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides MONITOR support", VF_VENDOR);
+ return Version("Adds the /MONITOR command which allows users to find out when their friends are connected to the server.", VF_VENDOR);
}
};