From f057bf32b9e9d559b48f762f13a14cf76d38bcfd Mon Sep 17 00:00:00 2001 From: brain Date: Thu, 14 Apr 2005 18:14:31 +0000 Subject: Sends /LUSERS on connect git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1094 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_conn_lusers.cpp | 88 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 src/modules/m_conn_lusers.cpp (limited to 'src/modules') diff --git a/src/modules/m_conn_lusers.cpp b/src/modules/m_conn_lusers.cpp new file mode 100644 index 000000000..6cbd6847d --- /dev/null +++ b/src/modules/m_conn_lusers.cpp @@ -0,0 +1,88 @@ +/* +------------------------------------+ + * | Inspire Internet Relay Chat Daemon | + * +------------------------------------+ + * + * Inspire is copyright (C) 2002-2004 ChatSpike-Dev. + * E-mail: + * + * + * + * Written by Craig Edwards, Craig McLure, and others. + * This program is free but copyrighted software; see + * the file COPYING for details. + * + * --------------------------------------------------- + */ + +#include "users.h" +#include "channels.h" +#include "modules.h" + +/* $ModDesc: Sends the /LUSERS on connect */ + +// This has to be the simplest module ever. +// The RFC doesnt specify that you should send the /LUSERS numerics +// on connect, but someone asked for it, so its in a module. + +class ModuleConnLUSERS : public Module +{ + private: + + Server *Srv; + public: + ModuleConnLUSERS() + { + Srv = new Server; + } + + virtual ~ModuleConnLUSERS() + { + delete Srv; + } + + virtual Version GetVersion() + { + return Version(1,0,0,1,VF_VENDOR); + } + + virtual void OnUserConnect(userrec* user) + { + CallCommandHandler("LUSERS", NULL, 0, user); + } +}; + + +// +// The ModuleConnLUSERSFactory class inherits from ModuleFactory +// and creates a ModuleConnLUSERS object when requested. +// + +class ModuleConnLUSERSFactory : public ModuleFactory +{ + public: + ModuleConnLUSERSFactory() + { + } + + ~ModuleConnLUSERSFactory() + { + } + + virtual Module * CreateModule() + { + return new ModuleConnLUSERS; + } + +}; + + +// +// The "C" linkage factory0() function creates the ModuleConnLUSERSFactory +// class for this library +// + +extern "C" void * init_module( void ) +{ + return new ModuleConnLUSERSFactory; +} + -- cgit v1.2.3