*/
#include "inspircd.h"
-#include <sstream>
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
/* $ModDesc: Provides channel mode +J (delay rejoin after kick) */
return result;
}
-typedef std::map<userrec*, time_t> delaylist;
+typedef std::map<User*, time_t> delaylist;
/** Handles channel mode +J
*/
public:
KickRejoin(InspIRCd* Instance) : ModeHandler(Instance, 'J', 1, 0, false, MODETYPE_CHANNEL, false) { }
- ModePair ModeSet(userrec* source, userrec* dest, chanrec* channel, const std::string ¶meter)
+ ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter)
{
if (channel->IsModeSet('J'))
return std::make_pair(true, channel->GetModeParameter('J'));
return std::make_pair(false, parameter);
}
- bool CheckTimeStamp(time_t theirs, time_t ours, const std::string &their_param, const std::string &our_param, chanrec* channel)
+ bool CheckTimeStamp(time_t theirs, time_t ours, const std::string &their_param, const std::string &our_param, Channel* channel)
{
/* When TS is equal, the alphabetically later one wins */
return (their_param < our_param);
}
- ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding)
+ ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
{
if (!adding)
{
{
kr = new KickRejoin(ServerInstance);
- if (!ServerInstance->AddMode(kr, 'J'))
+ if (!ServerInstance->AddMode(kr))
throw ModuleException("Could not add new modes!");
}
- virtual int OnUserPreJoin(userrec* user, chanrec* chan, const char* cname, std::string &privs)
+ virtual int OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs)
{
if (chan)
{
delaylist* dl;
if (chan->GetExt("norejoinusers", dl))
{
- std::vector<userrec*> itemstoremove;
+ std::vector<User*> itemstoremove;
for (delaylist::iterator iter = dl->begin(); iter != dl->end(); iter++)
{
return 0;
}
- virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, const std::string &reason, bool &silent)
+ virtual void OnUserKick(User* source, User* user, Channel* chan, const std::string &reason, bool &silent)
{
if (chan->IsModeSet('J') && (source != user))
{
}
}
- virtual void OnChannelDelete(chanrec* chan)
+ virtual void OnChannelDelete(Channel* chan)
{
delaylist* dl;
virtual void OnCleanup(int target_type, void* item)
{
if(target_type == TYPE_CHANNEL)
- OnChannelDelete((chanrec*)item);
+ OnChannelDelete((Channel*)item);
}
virtual void Implements(char* List)