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

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

#ifndef InlogbaseHPP
#define InlogbaseHPP

#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 <Inintercept.hpp>	// Pascal unit
#include <Inglobal.hpp>	// Pascal unit
#include <Insockethandle.hpp>	// Pascal unit
#include <Inbasecomponent.hpp>	// Pascal unit

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

namespace Inlogbase
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TInLogBase;
class PASCALIMPLEMENTATION TInLogBase : public Inintercept::TIdConnectionIntercept 
{
	typedef Inintercept::TIdConnectionIntercept inherited;
	
protected:
	bool FActive;
	bool FLogTime;
	bool FReplaceCRLF;
	bool FStreamedActive;
	virtual void __fastcall InitComponent(void);
	virtual void __fastcall LogStatus(AnsiString AText) = 0 ;
	virtual void __fastcall LogReceivedData(AnsiString AText, AnsiString AData) = 0 ;
	virtual void __fastcall LogSentData(AnsiString AText, AnsiString AData) = 0 ;
	virtual void __fastcall SetActive(bool AValue);
	virtual void __fastcall Loaded(void);
	
public:
	virtual void __fastcall Open(void);
	virtual void __fastcall Close(void);
	virtual void __fastcall Connect(Classes::TComponent* AConnection);
	__fastcall virtual ~TInLogBase(void);
	virtual void __fastcall Disconnect(void);
	virtual void __fastcall Receive(Inglobal::TBytes &ABuffer);
	virtual void __fastcall Send(Inglobal::TBytes &ABuffer);
	
__published:
	__property bool Active = {read=FActive, write=SetActive, default=0};
	__property bool LogTime = {read=FLogTime, write=FLogTime, default=1};
	__property bool ReplaceCRLF = {read=FReplaceCRLF, write=FReplaceCRLF, default=1};
public:
	#pragma option push -w-inl
	/* TInBaseComponent.Create */ inline __fastcall TInLogBase(Classes::TComponent* AOwner)/* overload */ : Inintercept::TIdConnectionIntercept(AOwner) { }
	#pragma option pop
	
};


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

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

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