-#include "inspircd.h"
-#include "mode.h"
-#include "channels.h"
-#include "users.h"
-#include "modes/cmode_k.h"
-
-ModeChannelKey::ModeChannelKey(InspIRCd* Instance) : ModeHandler(Instance, 'k', 1, 1, false, MODETYPE_CHANNEL, false)
-{
-}
-
-ModePair ModeChannelKey::ModeSet(userrec* source, userrec* dest, chanrec* channel, const std::string ¶meter)
-{
- if (channel->modes[CM_KEY])
- {
- return std::make_pair(true, channel->key);
- }
- else
- {
- return std::make_pair(false, parameter);
- }
-}
-
-void ModeChannelKey::RemoveMode(chanrec* channel)
-{
- /** +k needs a parameter when being removed,
- * so we have a special-case RemoveMode here for it
- */
- char moderemove[MAXBUF];
- const char* parameters[] = { channel->name, moderemove, channel->key };
-
- if (channel->IsModeSet(this->GetModeChar()))
- {
- userrec* n = new userrec(ServerInstance);
-
- sprintf(moderemove,"-%c",this->GetModeChar());
- n->SetFd(FD_MAGIC_NUMBER);
-
- ServerInstance->SendMode(parameters, 3, n);
-
- delete n;
- }
-}