All pastes #989706 Raw Edit

Mine

public text v1 · immutable
#989706 ·published 2008-04-19 16:53 UTC
rendered paste body
/*
 * Copyright (C) 2004-2008  See the AUTHORS file for details.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published
 * by the Free Software Foundation.
 */

#include "Chan.h"
#include "Modules.h"

class CSampleTimer : public CTimer {
public:

	CSampleTimer(CModule* pModule, unsigned int uInterval, unsigned int uCycles, const CString& sLabel, const CString& sDescription) : CTimer(pModule, uInterval, uCycles, sLabel, sDescription) {}
	virtual ~CSampleTimer() {}

private:
protected:
	virtual void RunJob() {
		m_pModule->PutModule("TEST!!!!");
	}
};

class CServiceMod : public CService {
public:
	MODCONSTRUCTOR(CServiceMod) {}

	virtual bool OnLoad(const CString& sArgs, CString& sMessage) {
		PutModule("LOADED");
		//AddTimer(new CSampleTimer(this, 300, 0, "Sample", "Sample timer for sample things."));
		//AddTimer(new CSampleTimer(this, 5, 20, "Another", "Another sample timer."));
		//AddTimer(new CSampleTimer(this, 25000, 5, "Third", "A third sample timer."));
		return true;
	}

	virtual ~CServiceMod() {
		PutModule("I'm being unloaded! HALP!!");
	}

	virtual bool OnBoot() {
		// This is called when the app starts up (only modules that are loaded in the config will get this event)
		return true;
	}

	virtual void OnIRCConnected() {
		PutModule("You got connected BoyOh.");
	}

	virtual void OnIRCDisconnected() {
		PutModule("You got disconnected BoyOh.");
	}


	virtual void OnModCommand(const CString& sCommand) {
		if (strcasecmp(sCommand.c_str(), "HELP") == 0) {
			PutModule("No Help Yet");
		}
	}

	virtual EModRet OnStatusCommand(const CString& sCommand) {
		if (strcasecmp(sCommand.c_str(), "SAMPLE") == 0) {
			PutModule("Hi, I'm test.");
			return HALT;
		}

		return CONTINUE;
	}
};

MODULEDEFS(CServiceMod, "Test Module")


======================================
Errors

modules/test.cpp:61: error: âEModRetâ does not name a type
modules/test.cpp: In constructor âCServiceMod::CServiceMod(void*, CUser*, const CString&, const CString&)â:
modules/test.cpp:27: error: type âCModuleâ is not a direct base of âCServiceModâ
modules/test.cpp: In member function âvirtual bool CServiceMod::OnLoad(const CString&, CString&)â:
modules/test.cpp:30: error: âPutModuleâ was not declared in this scope
modules/test.cpp: In destructor âvirtual CServiceMod::~CServiceMod()â:
modules/test.cpp:38: error: âPutModuleâ was not declared in this scope
modules/test.cpp: In member function âvirtual void CServiceMod::OnIRCConnected()â:
modules/test.cpp:47: error: âPutModuleâ was not declared in this scope
modules/test.cpp: In member function âvirtual void CServiceMod::OnIRCDisconnected()â:
modules/test.cpp:51: error: âPutModuleâ was not declared in this scope
modules/test.cpp: In member function âvirtual void CServiceMod::OnModCommand(const CString&)â:
modules/test.cpp:57: error: âPutModuleâ was not declared in this scope
modules/test.cpp: In function âCModule* Load(void*, CUser*, const CString&, const CString&)â:
modules/test.cpp:71: error: cannot convert âCServiceMod*â to âCModule*â in return