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

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

#ifndef PfibclientdatasetHPP
#define PfibclientdatasetHPP

#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 <Pfibinterfaces.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Db.hpp>	// Pascal unit
#include <Dbconsts.hpp>	// Pascal unit
#include <Dbclient.hpp>	// Pascal unit
#include <Provider.hpp>	// Pascal unit
#include <Dsintf.hpp>	// Pascal unit
#include <Midconst.hpp>	// Pascal unit
#include <Fmtbcd.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit

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

namespace Pfibclientdataset
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TOnApplyUpdateKind { aukBefore, aukAfter };
#pragma option pop

class DELPHICLASS TpFIBClientDataSet;
class PASCALIMPLEMENTATION TpFIBClientDataSet : public Dbclient::TClientDataSet 
{
	typedef Dbclient::TClientDataSet inherited;
	
protected:
	virtual TMetaClass* __fastcall GetFieldClass(Db::TFieldType FieldType);
	virtual void __fastcall DataConvert(Db::TField* Field, void * Source, void * Dest, bool ToNative);
	int __fastcall ParamCount(void);
	AnsiString __fastcall ParamName(int ParamIndex);
	int __fastcall FieldsCount(void);
	bool __fastcall FieldExist(const AnsiString FieldName, int &FieldIndex);
	bool __fastcall ParamExist(const AnsiString ParamName, int &ParamIndex);
	Variant __fastcall FieldValue(const AnsiString FieldName, bool Old)/* overload */;
	Variant __fastcall FieldValue(const int FieldIndex, bool Old)/* overload */;
	Variant __fastcall ParamValue(const AnsiString ParamName)/* overload */;
	Variant __fastcall ParamValue(const int ParamIndex)/* overload */;
	void __fastcall SetParamValue(const int ParamIndex, const Variant &aValue);
	AnsiString __fastcall FieldName(int FieldIndex);
	bool __fastcall IEof(void);
	void __fastcall INext(void);
	
public:
	__fastcall virtual TpFIBClientDataSet(Classes::TComponent* AOwner);
	void __fastcall OpenWP(Variant * ParamValues, const int ParamValues_Size);
public:
	#pragma option push -w-inl
	/* TCustomClientDataSet.Destroy */ inline __fastcall virtual ~TpFIBClientDataSet(void) { }
	#pragma option pop
	
private:
	void *__ISQLObject;	/* Pfibinterfaces::ISQLObject */
	
public:
	operator ISQLObject*(void) { return (ISQLObject*)&__ISQLObject; }
	
};


class DELPHICLASS TpFIBClientBCDField;
class PASCALIMPLEMENTATION TpFIBClientBCDField : public Db::TBCDField 
{
	typedef Db::TBCDField inherited;
	
protected:
	virtual System::Currency __fastcall GetAsCurrency(void);
	virtual double __fastcall GetAsFloat(void);
	virtual System::Comp __fastcall GetAsComp(void);
	virtual Extended __fastcall GetAsExtended(void);
	virtual AnsiString __fastcall GetAsString();
	virtual __int64 __fastcall GetAsInt64(void);
	virtual Variant __fastcall GetAsVariant();
	virtual void __fastcall SetAsFloat(double Value);
	virtual void __fastcall SetAsComp(System::Comp Value);
	virtual void __fastcall SetAsExtended(Extended Value);
	virtual void __fastcall SetAsString(const AnsiString Value);
	virtual void __fastcall SetAsCurrency(System::Currency Value);
	virtual void __fastcall SetAsInt64(__int64 Value);
	virtual void __fastcall SetVarValue(const Variant &Value);
	virtual void __fastcall GetText(AnsiString &Text, bool DisplayText);
	
public:
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property Extended AsExtended = {read=GetAsExtended, write=SetAsExtended};
	__property __int64 AsInt64 = {read=GetAsInt64, write=SetAsInt64};
	__property System::Comp AsComp = {read=GetAsComp, write=SetAsComp};
	__property Extended Value = {read=GetAsExtended, write=SetAsExtended};
public:
	#pragma option push -w-inl
	/* TBCDField.Create */ inline __fastcall virtual TpFIBClientBCDField(Classes::TComponent* AOwner) : Db::TBCDField(AOwner) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TField.Destroy */ inline __fastcall virtual ~TpFIBClientBCDField(void) { }
	#pragma option pop
	
};


class DELPHICLASS TpFIBDataSetProvider;
class PASCALIMPLEMENTATION TpFIBDataSetProvider : public Provider::TDataSetProvider 
{
	typedef Provider::TDataSetProvider inherited;
	
protected:
	virtual bool __fastcall FindRecord(Db::TDataSet* Source, Db::TDataSet* Delta, Db::TUpdateMode UpdateMode);
	virtual void __fastcall UpdateRecord(Db::TDataSet* Source, Db::TDataSet* Delta, bool BlobsOnly, bool KeyOnly);
	virtual Provider::TCustomResolver* __fastcall CreateResolver(void);
public:
	#pragma option push -w-inl
	/* TDataSetProvider.Create */ inline __fastcall virtual TpFIBDataSetProvider(Classes::TComponent* AOwner) : Provider::TDataSetProvider(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TDataSetProvider.Destroy */ inline __fastcall virtual ~TpFIBDataSetProvider(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);

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

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