// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Inircserver.pas' rev: 10.00

#ifndef InircserverHPP
#define InircserverHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Incommandhandlers.hpp>	// Pascal unit
#include <Incmdtcpserver.hpp>	// Pascal unit
#include <Incontext.hpp>	// Pascal unit
#include <Inserveriohandler.hpp>	// Pascal unit
#include <Intcpserver.hpp>	// Pascal unit
#include <Incomponent.hpp>	// Pascal unit
#include <Inbasecomponent.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Inircserver
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TInIRCGetEvent)(Incommandhandlers::TIdCommand* AContext);

typedef void __fastcall (__closure *TInIRCOtherEvent)(Incommandhandlers::TIdCommand* AContext, AnsiString Command, AnsiString AParm);

typedef void __fastcall (__closure *TInIRCOneParmEvent)(Incommandhandlers::TIdCommand* AContext, AnsiString AParm);

typedef void __fastcall (__closure *TInIRCTwoParmEvent)(Incommandhandlers::TIdCommand* AContext, AnsiString AParm1, AnsiString AParm2);

typedef void __fastcall (__closure *TInIRCThreeParmEvent)(Incommandhandlers::TIdCommand* AContext, AnsiString AParm1, AnsiString AParm2, AnsiString AParm3);

typedef void __fastcall (__closure *TInIRCFiveParmEvent)(Incommandhandlers::TIdCommand* AContext, AnsiString AParm1, AnsiString AParm2, AnsiString AParm3, AnsiString AParm4, AnsiString AParm5);

typedef void __fastcall (__closure *TInIRCUserEvent)(Incommandhandlers::TIdCommand* AContext, AnsiString UserName, AnsiString HostName, AnsiString ServerName, AnsiString RealName);

typedef void __fastcall (__closure *TInIRCServerEvent)(Incommandhandlers::TIdCommand* AContext, AnsiString ServerName, AnsiString Hopcount, AnsiString Info);

class DELPHICLASS TInIRCServer;
class PASCALIMPLEMENTATION TInIRCServer : public Incmdtcpserver::TInCmdTCPServer 
{
	typedef Incmdtcpserver::TInCmdTCPServer inherited;
	
protected:
	TInIRCOtherEvent fOnCommandOther;
	TInIRCOneParmEvent fOnCommandPass;
	TInIRCTwoParmEvent fOnCommandNick;
	TInIRCUserEvent fOnCommandUser;
	TInIRCServerEvent fOnCommandServer;
	TInIRCTwoParmEvent fOnCommandOper;
	TInIRCOneParmEvent fOnCommandQuit;
	TInIRCTwoParmEvent fOnCommandSQuit;
	TInIRCTwoParmEvent fOnCommandJoin;
	TInIRCOneParmEvent fOnCommandPart;
	TInIRCFiveParmEvent fOnCommandMode;
	TInIRCTwoParmEvent fOnCommandTopic;
	TInIRCOneParmEvent fOnCommandNames;
	TInIRCTwoParmEvent fOnCommandList;
	TInIRCTwoParmEvent fOnCommandInvite;
	TInIRCThreeParmEvent fOnCommandKick;
	TInIRCOneParmEvent fOnCommandVersion;
	TInIRCTwoParmEvent fOnCommandStats;
	TInIRCTwoParmEvent fOnCommandLinks;
	TInIRCOneParmEvent fOnCommandTime;
	TInIRCThreeParmEvent fOnCommandConnect;
	TInIRCOneParmEvent fOnCommandTrace;
	TInIRCOneParmEvent fOnCommandAdmin;
	TInIRCOneParmEvent fOnCommandInfo;
	TInIRCTwoParmEvent fOnCommandPrivMsg;
	TInIRCTwoParmEvent fOnCommandNotice;
	TInIRCTwoParmEvent fOnCommandWho;
	TInIRCTwoParmEvent fOnCommandWhoIs;
	TInIRCThreeParmEvent fOnCommandWhoWas;
	TInIRCTwoParmEvent fOnCommandKill;
	TInIRCTwoParmEvent fOnCommandPing;
	TInIRCTwoParmEvent fOnCommandPong;
	TInIRCOneParmEvent fOnCommandError;
	TInIRCOneParmEvent fOnCommandAway;
	TInIRCGetEvent fOnCommandRehash;
	TInIRCGetEvent fOnCommandRestart;
	TInIRCTwoParmEvent fOnCommandSummon;
	TInIRCOneParmEvent fOnCommandUsers;
	TInIRCOneParmEvent fOnCommandWallops;
	TInIRCOneParmEvent fOnCommandUserHost;
	TInIRCOneParmEvent fOnCommandIsOn;
	virtual void __fastcall InitializeCommandHandlers(void);
	void __fastcall DoCommandOther(Incommandhandlers::TIdCommandHandler* ASender, Incommandhandlers::TIdCommand* ACommand, const AnsiString AData, const AnsiString AMessage);
	void __fastcall DoCommandPass(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandNick(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandUser(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandServer(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandOper(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandQuit(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandSQuit(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandJoin(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandPart(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandMode(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandTopic(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandNames(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandList(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandInvite(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandKick(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandVersion(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandStats(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandLinks(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandTime(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandConnect(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandTrace(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandAdmin(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandInfo(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandPrivMsg(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandNotice(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandWho(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandWhoIs(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandWhoWas(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandKill(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandPing(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandPong(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandError(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandAway(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandRehash(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandRestart(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandSummon(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandUsers(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandWallops(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandUserHost(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandIsOn(Incommandhandlers::TIdCommand* ASender);
	void __fastcall DoCommandNotHandled(Incommandhandlers::TIdCommandHandler* ASender, Incommandhandlers::TIdCommand* ACommand, const AnsiString AData, const AnsiString AMessage);
	virtual void __fastcall DoConnect(Incontext::TInContext* AContext);
	virtual void __fastcall SetIOHandler(const Inserveriohandler::TInServerIOHandler* AValue);
	virtual void __fastcall InitComponent(void);
	
__published:
	__property TInIRCOneParmEvent OnCommandPass = {read=fOnCommandPass, write=fOnCommandPass};
	__property TInIRCTwoParmEvent OnCommandNick = {read=fOnCommandNick, write=fOnCommandNick};
	__property TInIRCUserEvent OnCommandUser = {read=fOnCommandUser, write=fOnCommandUser};
	__property TInIRCServerEvent OnCommandServer = {read=fOnCommandServer, write=fOnCommandServer};
	__property TInIRCTwoParmEvent OnCommandOper = {read=fOnCommandOper, write=fOnCommandOper};
	__property TInIRCOneParmEvent OnCommandQuit = {read=fOnCommandQuit, write=fOnCommandQuit};
	__property TInIRCTwoParmEvent OnCommandSQuit = {read=fOnCommandSQuit, write=fOnCommandSQuit};
	__property TInIRCTwoParmEvent OnCommandJoin = {read=fOnCommandJoin, write=fOnCommandJoin};
	__property TInIRCOneParmEvent OnCommandPart = {read=fOnCommandPart, write=fOnCommandPart};
	__property TInIRCFiveParmEvent OnCommandMode = {read=fOnCommandMode, write=fOnCommandMode};
	__property TInIRCTwoParmEvent OnCommandTopic = {read=fOnCommandTopic, write=fOnCommandTopic};
	__property TInIRCOneParmEvent OnCommandNames = {read=fOnCommandNames, write=fOnCommandNames};
	__property TInIRCTwoParmEvent OnCommandList = {read=fOnCommandList, write=fOnCommandList};
	__property TInIRCTwoParmEvent OnCommandInvite = {read=fOnCommandInvite, write=fOnCommandInvite};
	__property TInIRCThreeParmEvent OnCommandKick = {read=fOnCommandKick, write=fOnCommandKick};
	__property TInIRCOneParmEvent OnCommandVersion = {read=fOnCommandVersion, write=fOnCommandVersion};
	__property TInIRCTwoParmEvent OnCommandStats = {read=fOnCommandStats, write=fOnCommandStats};
	__property TInIRCTwoParmEvent OnCommandLinks = {read=fOnCommandLinks, write=fOnCommandLinks};
	__property TInIRCOneParmEvent OnCommandTime = {read=fOnCommandTime, write=fOnCommandTime};
	__property TInIRCThreeParmEvent OnCommandConnect = {read=fOnCommandConnect, write=fOnCommandConnect};
	__property TInIRCOneParmEvent OnCommandTrace = {read=fOnCommandTrace, write=fOnCommandTrace};
	__property TInIRCOneParmEvent OnCommandAdmin = {read=fOnCommandAdmin, write=fOnCommandAdmin};
	__property TInIRCOneParmEvent OnCommandInfo = {read=fOnCommandInfo, write=fOnCommandInfo};
	__property TInIRCTwoParmEvent OnCommandPrivMsg = {read=fOnCommandPrivMsg, write=fOnCommandPrivMsg};
	__property TInIRCTwoParmEvent OnCommandNotice = {read=fOnCommandNotice, write=fOnCommandNotice};
	__property TInIRCTwoParmEvent OnCommandWho = {read=fOnCommandWho, write=fOnCommandWho};
	__property TInIRCTwoParmEvent OnCommandWhoIs = {read=fOnCommandWhoIs, write=fOnCommandWhoIs};
	__property TInIRCThreeParmEvent OnCommandWhoWas = {read=fOnCommandWhoWas, write=fOnCommandWhoWas};
	__property TInIRCTwoParmEvent OnCommandKill = {read=fOnCommandKill, write=fOnCommandKill};
	__property TInIRCTwoParmEvent OnCommandPing = {read=fOnCommandPing, write=fOnCommandPing};
	__property TInIRCTwoParmEvent OnCommandPong = {read=fOnCommandPong, write=fOnCommandPong};
	__property TInIRCOneParmEvent OnCommandError = {read=fOnCommandError, write=fOnCommandError};
	__property TInIRCOneParmEvent OnCommandAway = {read=fOnCommandAway, write=fOnCommandAway};
	__property TInIRCGetEvent OnCommandRehash = {read=fOnCommandRehash, write=fOnCommandRehash};
	__property TInIRCGetEvent OnCommandRestart = {read=fOnCommandRestart, write=fOnCommandRestart};
	__property TInIRCTwoParmEvent OnCommandSummon = {read=fOnCommandSummon, write=fOnCommandSummon};
	__property TInIRCOneParmEvent OnCommandUsers = {read=fOnCommandUsers, write=fOnCommandUsers};
	__property TInIRCOneParmEvent OnCommandWallops = {read=fOnCommandWallops, write=fOnCommandWallops};
	__property TInIRCOneParmEvent OnCommandUserHost = {read=fOnCommandUserHost, write=fOnCommandUserHost};
	__property TInIRCOneParmEvent OnCommandIsOn = {read=fOnCommandIsOn, write=fOnCommandIsOn};
	__property TInIRCOtherEvent OnCommandOther = {read=fOnCommandOther, write=fOnCommandOther};
public:
	#pragma option push -w-inl
	/* TInCmdTCPServer.Destroy */ inline __fastcall virtual ~TInIRCServer(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TInBaseComponent.Create */ inline __fastcall TInIRCServer(Classes::TComponent* AOwner)/* overload */ : Incmdtcpserver::TInCmdTCPServer(AOwner) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Inircserver */
using namespace Inircserver;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Inircserver
