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

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

#ifndef PfibinterfacesHPP
#define PfibinterfacesHPP

#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

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

namespace Pfibinterfaces
{
//-- type declarations -------------------------------------------------------
__interface ISQLObject;
typedef System::DelphiInterface<ISQLObject> _di_ISQLObject;
__interface  INTERFACE_UUID("{DEA9627C-E35F-40A2-A2F6-3959782CE4AD}") ISQLObject  : public IInterface 
{
	
public:
	virtual int __fastcall ParamCount(void) = 0 ;
	virtual AnsiString __fastcall ParamName(int ParamIndex) = 0 ;
	virtual int __fastcall FieldsCount(void) = 0 ;
	virtual bool __fastcall FieldExist(const AnsiString FieldName, int &FieldIndex) = 0 ;
	virtual bool __fastcall ParamExist(const AnsiString ParamName, int &ParamIndex) = 0 ;
	virtual Variant __fastcall FieldValue(const AnsiString FieldName, bool Old) = 0 /* overload */;
	virtual Variant __fastcall FieldValue(const int FieldIndex, bool Old) = 0 /* overload */;
	virtual Variant __fastcall ParamValue(const AnsiString ParamName) = 0 /* overload */;
	virtual Variant __fastcall ParamValue(const int ParamIndex) = 0 /* overload */;
	virtual void __fastcall SetParamValue(const int ParamIndex, const Variant &aValue) = 0 ;
	virtual AnsiString __fastcall FieldName(int FieldIndex) = 0 ;
	virtual bool __fastcall IEof(void) = 0 ;
	virtual void __fastcall INext(void) = 0 ;
};

__interface ISQLStatMaker;
typedef System::DelphiInterface<ISQLStatMaker> _di_ISQLStatMaker;
__interface  INTERFACE_UUID("{39477B70-12C9-4F70-993E-0E1067A8D649}") ISQLStatMaker  : public IInterface 
{
	
public:
	virtual int __fastcall FixStartTime(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual int __fastcall FixEndTime(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual int __fastcall GetVarInt(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual AnsiString __fastcall GetVarStr(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual int __fastcall IncCounter(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual void __fastcall SetNull(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual void __fastcall SetStringValue(const AnsiString ObjName, const AnsiString VarName, const AnsiString Value) = 0 ;
	virtual int __fastcall AddIntValue(const AnsiString ObjName, const AnsiString VarName, int Value) = 0 ;
	virtual void __fastcall SetIntValue(const AnsiString ObjName, const AnsiString VarName, int Value) = 0 ;
	virtual void __fastcall AddToStrings(const AnsiString ObjName, const AnsiString VarName, const AnsiString Value) = 0 ;
	virtual void __fastcall ClearStrings(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual Classes::TStrings* __fastcall GetVarStrings(const AnsiString ObjName, const AnsiString VarName) = 0 ;
	virtual void __fastcall Clear(void) = 0 ;
	virtual void __fastcall SetActiveStatistics(const bool Value) = 0 ;
	virtual bool __fastcall GetActiveStatistics(void) = 0 ;
	__property bool ActiveStatistics = {read=GetActiveStatistics, write=SetActiveStatistics};
};

#pragma option push -b-
enum TLogFlag { lfQPrepare, lfQExecute, lfQFetch, lfConnect, lfTransact, lfService, lfMisc };
#pragma option pop

typedef Set<TLogFlag, lfQPrepare, lfMisc>  TLogFlags;

__interface ISQLLogger;
typedef System::DelphiInterface<ISQLLogger> _di_ISQLLogger;
__interface  INTERFACE_UUID("{2CB9280F-2324-40CD-BFB4-42C0FD36107F}") ISQLLogger  : public IInterface 
{
	
public:
	virtual void __fastcall SetActiveLogging(const bool Value) = 0 ;
	virtual bool __fastcall GetActiveLogging(void) = 0 ;
	virtual TLogFlags __fastcall GetLogFlags(void) = 0 ;
	virtual System::TObject* __fastcall GetInstance(void) = 0 ;
	virtual void __fastcall SetLogFlags(TLogFlags Value) = 0 ;
	virtual void __fastcall SetDatabase(System::TObject* aDatabase) = 0 ;
	virtual void __fastcall WriteData(const AnsiString ObjectName, const AnsiString OperationName, const AnsiString EventText, TLogFlag DataType) = 0 ;
	__property bool ActiveLogging = {read=GetActiveLogging, write=SetActiveLogging};
	__property TLogFlags LogFlags = {read=GetLogFlags, write=SetLogFlags};
};

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

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

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