#include "inspircd.h"
#include "modules.h"
+#include <stdarg.h>
/** If you make a change which breaks the protocol, increment this.
* If you completely change the protocol, completely change the number.
* Failure to document your protocol changes will result in a painfully
* painful death by pain. You have been warned.
*/
-const long ProtocolVersion = 1105;
+const long ProtocolVersion = 1200;
/** Forward declarations
*/
class cmd_rconnect;
+class cmd_rsquit;
class SpanningTreeUtilities;
class TimeSyncTimer;
class CacheRefreshTimer;
unsigned int max_local;
unsigned int max_global;
cmd_rconnect* command_rconnect;
+ cmd_rsquit* command_rsquit;
SpanningTreeUtilities* Utils;
public:
*/
void BroadcastTimeSync();
+ /** Attempt to send a message to a user
+ */
+ void RemoteMessage(userrec* user, const char* format, ...);
+
/** Returns oper-specific MAP information
*/
const std::string MapOperInfo(TreeServer* Current);
+ /** Display a time as a human readable string
+ */
+ std::string TimeToStr(time_t secs);
+
/**
** *** MODULE EVENTS ***
**/
virtual void OnUserNotice(userrec* user, void* dest, int target_type, const std::string &text, char status, const CUList &exempt_list);
virtual void OnUserMessage(userrec* user, void* dest, int target_type, const std::string &text, char status, const CUList &exempt_list);
virtual void OnBackgroundTimer(time_t curtime);
- virtual void OnUserJoin(userrec* user, chanrec* channel);
+ virtual void OnUserJoin(userrec* user, chanrec* channel, bool &silent);
virtual void OnChangeHost(userrec* user, const std::string &newhost);
virtual void OnChangeName(userrec* user, const std::string &gecos);
- virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage);
+ virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage, bool &silent);
virtual void OnUserConnect(userrec* user);
virtual void OnUserQuit(userrec* user, const std::string &reason, const std::string &oper_message);
virtual void OnUserPostNick(userrec* user, const std::string &oldnick);
- virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, const std::string &reason);
- virtual void OnRemoteKill(userrec* source, userrec* dest, const std::string &reason);
+ virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, const std::string &reason, bool &silent);
+ virtual void OnRemoteKill(userrec* source, userrec* dest, const std::string &reason, const std::string &operreason);
virtual void OnRehash(userrec* user, const std::string ¶meter);
virtual void OnOper(userrec* user, const std::string &opertype);
void OnLine(userrec* source, const std::string &host, bool adding, char linetype, long duration, const std::string &reason);