/*
* InspIRCd -- Internet Relay Chat Daemon
*
- * Copyright (C) 2015 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2018-2019 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2015, 2018 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
}
public:
- WriteNeighborsWithCap(User* user, ClientProtocol::Event& ev, const Cap::Capability& capability)
+ WriteNeighborsWithCap(User* user, ClientProtocol::Event& ev, const Cap::Capability& capability, bool include_self = false)
: cap(capability)
, protoev(ev)
{
- user->ForEachNeighbor(*this, false);
+ user->ForEachNeighbor(*this, include_self);
}
};
template <typename T>
class IRCv3::CapTag : public ClientProtocol::MessageTagProvider
{
+ protected:
Cap::Capability cap;
const std::string tagname;
return cap.get(user);
}
- void OnClientProtocolPopulateTags(ClientProtocol::Message& msg) CXX11_OVERRIDE
+ void OnPopulateTags(ClientProtocol::Message& msg) CXX11_OVERRIDE
{
T& tag = static_cast<T&>(*this);
const std::string* const val = tag.GetValue(msg);