home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / ibdatabase.hpp < prev    next >
C/C++ Source or Header  |  2000-02-01  |  14KB  |  330 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'IBDatabase.pas' rev: 5.00
  6.  
  7. #ifndef IBDatabaseHPP
  8. #define IBDatabaseHPP
  9.  
  10. #pragma delphiheader begin
  11. #pragma option push -w-
  12. #pragma option push -Vx
  13. #include <DBLogDlg.hpp>    // Pascal unit
  14. #include <IB.hpp>    // Pascal unit
  15. #include <Db.hpp>    // Pascal unit
  16. #include <IBExternals.hpp>    // Pascal unit
  17. #include <IBHeader.hpp>    // Pascal unit
  18. #include <ExtCtrls.hpp>    // Pascal unit
  19. #include <Forms.hpp>    // Pascal unit
  20. #include <Classes.hpp>    // Pascal unit
  21. #include <SysUtils.hpp>    // Pascal unit
  22. #include <StdCtrls.hpp>    // Pascal unit
  23. #include <Controls.hpp>    // Pascal unit
  24. #include <Dialogs.hpp>    // Pascal unit
  25. #include <Windows.hpp>    // Pascal unit
  26. #include <SysInit.hpp>    // Pascal unit
  27. #include <System.hpp>    // Pascal unit
  28.  
  29. //-- user supplied -----------------------------------------------------------
  30.  
  31. namespace Ibdatabase
  32. {
  33. //-- type declarations -------------------------------------------------------
  34. typedef AnsiString IBDatabase__1[67];
  35.  
  36. typedef AnsiString IBDatabase__2[20];
  37.  
  38. #pragma option push -b-
  39. enum TTraceFlag { tfQPrepare, tfQExecute, tfQFetch, tfError, tfStmt, tfConnect, tfTransact, tfBlob, 
  40.     tfService, tfMisc };
  41. #pragma option pop
  42.  
  43. typedef Set<TTraceFlag, tfQPrepare, tfMisc>  TTraceFlags;
  44.  
  45. class DELPHICLASS TIBDatabase;
  46. typedef void __fastcall (__closure *TIBDatabaseLoginEvent)(TIBDatabase* Database, Classes::TStrings* 
  47.     LoginParams);
  48.  
  49. typedef AnsiString TIBFileName;
  50.  
  51. class DELPHICLASS TIBTransaction;
  52. #pragma option push -b-
  53. enum TTransactionAction { TARollback, TACommit, TARollbackRetaining, TACommitRetaining };
  54. #pragma option pop
  55.  
  56. class DELPHICLASS TIBBase;
  57. class PASCALIMPLEMENTATION TIBTransaction : public Classes::TComponent 
  58. {
  59.     typedef Classes::TComponent inherited;
  60.     
  61. private:
  62.     bool FIBLoaded;
  63.     bool FCanTimeout;
  64.     Classes::TList* FDatabases;
  65.     Classes::TList* FSQLObjects;
  66.     TIBDatabase* FDefaultDatabase;
  67.     void * *FHandle;
  68.     bool FHandleIsShared;
  69.     Classes::TNotifyEvent FOnIdleTimer;
  70.     bool FStreamedActive;
  71.     char *FTPB;
  72.     short FTPBLength;
  73.     Extctrls::TTimer* FTimer;
  74.     TTransactionAction FDefaultAction;
  75.     Classes::TStrings* FTRParams;
  76.     bool FTRParamsChanged;
  77.     void __fastcall EnsureNotInTransaction(void);
  78.     void __fastcall EndTransaction(TTransactionAction Action, bool Force);
  79.     TIBDatabase* __fastcall GetDatabase(int Index);
  80.     int __fastcall GetDatabaseCount(void);
  81.     TIBBase* __fastcall GetSQLObject(int Index);
  82.     int __fastcall GetSQLObjectCount(void);
  83.     bool __fastcall GetInTransaction(void);
  84.     int __fastcall GetIdleTimer(void);
  85.     void __fastcall BeforeDatabaseDisconnect(TIBDatabase* DB);
  86.     void __fastcall SetActive(bool Value);
  87.     void __fastcall SetDefaultAction(TTransactionAction Value);
  88.     void __fastcall SetDefaultDatabase(TIBDatabase* Value);
  89.     void __fastcall SetIdleTimer(int Value);
  90.     void __fastcall SetTRParams(Classes::TStrings* Value);
  91.     void __fastcall TimeoutTransaction(System::TObject* Sender);
  92.     void __fastcall TRParamsChange(System::TObject* Sender);
  93.     void __fastcall TRParamsChanging(System::TObject* Sender);
  94.     int __fastcall AddSQLObject(TIBBase* ds);
  95.     void __fastcall RemoveSQLObject(int Idx);
  96.     void __fastcall RemoveSQLObjects(void);
  97.     
  98. protected:
  99.     virtual void __fastcall Loaded(void);
  100.     void __fastcall SetHandle(Ibexternals::PVoid Value);
  101.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  102.         );
  103.     
  104. public:
  105.     __fastcall virtual TIBTransaction(Classes::TComponent* AOwner);
  106.     __fastcall virtual ~TIBTransaction(void);
  107.     int __fastcall Call(int ErrCode, bool RaiseError);
  108.     void __fastcall Commit(void);
  109.     void __fastcall CommitRetaining(void);
  110.     void __fastcall Rollback(void);
  111.     void __fastcall RollbackRetaining(void);
  112.     void __fastcall StartTransaction(void);
  113.     void __fastcall CheckInTransaction(void);
  114.     void __fastcall CheckNotInTransaction(void);
  115.     int __fastcall AddDatabase(TIBDatabase* db);
  116.     int __fastcall FindDatabase(TIBDatabase* db);
  117.     TIBDatabase* __fastcall FindDefaultDatabase(void);
  118.     void __fastcall RemoveDatabase(int Idx);
  119.     void __fastcall RemoveDatabases(void);
  120.     void __fastcall CheckDatabasesInList(void);
  121.     __property int DatabaseCount = {read=GetDatabaseCount, nodefault};
  122.     __property TIBDatabase* Databases[int Index] = {read=GetDatabase};
  123.     __property int SQLObjectCount = {read=GetSQLObjectCount, nodefault};
  124.     __property TIBBase* SQLObjects[int Index] = {read=GetSQLObject};
  125.     __property Ibexternals::PVoid Handle = {read=FHandle};
  126.     __property bool HandleIsShared = {read=FHandleIsShared, nodefault};
  127.     __property bool InTransaction = {read=GetInTransaction, nodefault};
  128.     __property char * TPB = {read=FTPB};
  129.     __property short TPBLength = {read=FTPBLength, nodefault};
  130.     
  131. __published:
  132.     __property bool Active = {read=GetInTransaction, write=SetActive, nodefault};
  133.     __property TIBDatabase* DefaultDatabase = {read=FDefaultDatabase, write=SetDefaultDatabase};
  134.     __property int IdleTimer = {read=GetIdleTimer, write=SetIdleTimer, default=0};
  135.     __property TTransactionAction DefaultAction = {read=FDefaultAction, write=SetDefaultAction, default=1
  136.         };
  137.     __property Classes::TStrings* Params = {read=FTRParams, write=SetTRParams};
  138.     __property Classes::TNotifyEvent OnIdleTimer = {read=FOnIdleTimer, write=FOnIdleTimer};
  139. };
  140.  
  141.  
  142. class PASCALIMPLEMENTATION TIBDatabase : public Db::TCustomConnection 
  143. {
  144.     typedef Db::TCustomConnection inherited;
  145.     
  146. private:
  147.     AnsiString FHiddenPassword;
  148.     bool FIBLoaded;
  149.     TIBDatabaseLoginEvent FOnLogin;
  150.     TTraceFlags FTraceFlags;
  151.     int FDBSQLDialect;
  152.     int FSQLDialect;
  153.     Classes::TNotifyEvent FOnDialectDowngradeWarning;
  154.     bool FCanTimeout;
  155.     Classes::TList* FSQLObjects;
  156.     Classes::TList* FTransactions;
  157.     AnsiString FDBName;
  158.     Classes::TStrings* FDBParams;
  159.     bool FDBParamsChanged;
  160.     char *FDPB;
  161.     short FDPBLength;
  162.     void * *FHandle;
  163.     bool FHandleIsShared;
  164.     Classes::TNotifyEvent FOnIdleTimer;
  165.     TIBTransaction* FDefaultTransaction;
  166.     TIBTransaction* FInternalTransaction;
  167.     bool FStreamedConnected;
  168.     Extctrls::TTimer* FTimer;
  169.     Classes::TStringList* FUserNames;
  170.     void __fastcall EnsureInactive(void);
  171.     int __fastcall GetDBSQLDialect(void);
  172.     int __fastcall GetSQLDialect(void);
  173.     void __fastcall SetSQLDialect(const int Value);
  174.     void __fastcall SetTraceFlags(const TTraceFlags Value);
  175.     void __fastcall ValidateClientSQLDialect(void);
  176.     void __fastcall DBParamsChange(System::TObject* Sender);
  177.     void __fastcall DBParamsChanging(System::TObject* Sender);
  178.     TIBBase* __fastcall GetSQLObject(int Index);
  179.     int __fastcall GetSQLObjectCount(void);
  180.     AnsiString __fastcall GetDBParamByDPB(const int Idx);
  181.     int __fastcall GetIdleTimer(void);
  182.     TIBTransaction* __fastcall GetTransaction(int Index);
  183.     int __fastcall GetTransactionCount(void);
  184.     bool __fastcall Login(void);
  185.     void __fastcall SetDatabaseName(const AnsiString Value);
  186.     void __fastcall SetDBParamByDPB(const int Idx, AnsiString Value);
  187.     void __fastcall SetDBParams(Classes::TStrings* Value);
  188.     void __fastcall SetDefaultTransaction(TIBTransaction* Value);
  189.     void __fastcall SetIdleTimer(int Value);
  190.     void __fastcall TimeoutConnection(System::TObject* Sender);
  191.     bool __fastcall GetIsReadOnly(void);
  192.     int __fastcall AddSQLObject(TIBBase* ds);
  193.     void __fastcall RemoveSQLObject(int Idx);
  194.     void __fastcall RemoveSQLObjects(void);
  195.     void __fastcall InternalClose(bool Force);
  196.     
  197. protected:
  198.     virtual void __fastcall DoConnect(void);
  199.     virtual void __fastcall DoDisconnect(void);
  200.     virtual bool __fastcall GetConnected(void);
  201.     virtual void __fastcall Loaded(void);
  202.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  203.         );
  204.     
  205. public:
  206.     __fastcall virtual TIBDatabase(Classes::TComponent* AOwner);
  207.     __fastcall virtual ~TIBDatabase(void);
  208.     void __fastcall ApplyUpdates(Db::TDataSet* const * DataSets, const int DataSets_Size);
  209.     void __fastcall CloseDataSets(void);
  210.     void __fastcall CheckActive(void);
  211.     void __fastcall CheckInactive(void);
  212.     void __fastcall CreateDatabase(void);
  213.     void __fastcall DropDatabase(void);
  214.     void __fastcall ForceClose(void);
  215.     void __fastcall GetFieldNames(const AnsiString TableName, Classes::TStrings* List);
  216.     void __fastcall GetTableNames(Classes::TStrings* List, bool SystemTables);
  217.     int __fastcall IndexOfDBConst(AnsiString st);
  218.     bool __fastcall TestConnected(void);
  219.     void __fastcall CheckDatabaseName(void);
  220.     int __fastcall Call(int ErrCode, bool RaiseError);
  221.     int __fastcall AddTransaction(TIBTransaction* TR);
  222.     int __fastcall FindTransaction(TIBTransaction* TR);
  223.     TIBTransaction* __fastcall FindDefaultTransaction(void);
  224.     void __fastcall RemoveTransaction(int Idx);
  225.     void __fastcall RemoveTransactions(void);
  226.     void __fastcall SetHandle(Ibexternals::PVoid Value);
  227.     __property Ibexternals::PVoid Handle = {read=FHandle};
  228.     __property bool IsReadOnly = {read=GetIsReadOnly, nodefault};
  229.     __property AnsiString DBParamByDPB[int Idx] = {read=GetDBParamByDPB, write=SetDBParamByDPB};
  230.     __property int SQLObjectCount = {read=GetSQLObjectCount, nodefault};
  231.     __property TIBBase* SQLObjects[int Index] = {read=GetSQLObject};
  232.     __property bool HandleIsShared = {read=FHandleIsShared, nodefault};
  233.     __property int TransactionCount = {read=GetTransactionCount, nodefault};
  234.     __property TIBTransaction* Transactions[int Index] = {read=GetTransaction};
  235.     __property TIBTransaction* InternalTransaction = {read=FInternalTransaction};
  236.     
  237. __published:
  238.     __property Connected ;
  239.     __property AnsiString DatabaseName = {read=FDBName, write=SetDatabaseName};
  240.     __property Classes::TStrings* Params = {read=FDBParams, write=SetDBParams};
  241.     __property LoginPrompt ;
  242.     __property TIBTransaction* DefaultTransaction = {read=FDefaultTransaction, write=SetDefaultTransaction
  243.         };
  244.     __property int IdleTimer = {read=GetIdleTimer, write=SetIdleTimer, nodefault};
  245.     __property int SQLDialect = {read=GetSQLDialect, write=SetSQLDialect, nodefault};
  246.     __property int DBSQLDialect = {read=FDBSQLDialect, nodefault};
  247.     __property TTraceFlags TraceFlags = {read=FTraceFlags, write=SetTraceFlags, nodefault};
  248.     __property AfterConnect ;
  249.     __property AfterDisconnect ;
  250.     __property BeforeConnect ;
  251.     __property BeforeDisconnect ;
  252.     __property TIBDatabaseLoginEvent OnLogin = {read=FOnLogin, write=FOnLogin};
  253.     __property Classes::TNotifyEvent OnIdleTimer = {read=FOnIdleTimer, write=FOnIdleTimer};
  254.     __property Classes::TNotifyEvent OnDialectDowngradeWarning = {read=FOnDialectDowngradeWarning, write=
  255.         FOnDialectDowngradeWarning};
  256. };
  257.  
  258.  
  259. class PASCALIMPLEMENTATION TIBBase : public System::TObject 
  260. {
  261.     typedef System::TObject inherited;
  262.     
  263. protected:
  264.     TIBDatabase* FDatabase;
  265.     int FIndexInDatabase;
  266.     TIBTransaction* FTransaction;
  267.     int FIndexInTransaction;
  268.     System::TObject* FOwner;
  269.     Classes::TNotifyEvent FBeforeDatabaseDisconnect;
  270.     Classes::TNotifyEvent FAfterDatabaseDisconnect;
  271.     Classes::TNotifyEvent FOnDatabaseFree;
  272.     Classes::TNotifyEvent FBeforeTransactionEnd;
  273.     Classes::TNotifyEvent FAfterTransactionEnd;
  274.     Classes::TNotifyEvent FOnTransactionFree;
  275.     virtual void __fastcall DoBeforeDatabaseDisconnect(void);
  276.     virtual void __fastcall DoAfterDatabaseDisconnect(void);
  277.     virtual void __fastcall DoDatabaseFree(void);
  278.     virtual void __fastcall DoBeforeTransactionEnd(void);
  279.     virtual void __fastcall DoAfterTransactionEnd(void);
  280.     virtual void __fastcall DoTransactionFree(void);
  281.     virtual Ibheader::PISC_DB_HANDLE __fastcall GetDBHandle(void);
  282.     virtual Ibheader::PISC_TR_HANDLE __fastcall GetTRHandle(void);
  283.     virtual void __fastcall SetDatabase(TIBDatabase* Value);
  284.     virtual void __fastcall SetTransaction(TIBTransaction* Value);
  285.     
  286. public:
  287.     __fastcall TIBBase(System::TObject* AOwner);
  288.     __fastcall virtual ~TIBBase(void);
  289.     virtual void __fastcall CheckDatabase(void);
  290.     virtual void __fastcall CheckTransaction(void);
  291.     __property Classes::TNotifyEvent BeforeDatabaseDisconnect = {read=FBeforeDatabaseDisconnect, write=
  292.         FBeforeDatabaseDisconnect};
  293.     __property Classes::TNotifyEvent AfterDatabaseDisconnect = {read=FAfterDatabaseDisconnect, write=FAfterDatabaseDisconnect
  294.         };
  295.     __property Classes::TNotifyEvent OnDatabaseFree = {read=FOnDatabaseFree, write=FOnDatabaseFree};
  296.     __property Classes::TNotifyEvent BeforeTransactionEnd = {read=FBeforeTransactionEnd, write=FBeforeTransactionEnd
  297.         };
  298.     __property Classes::TNotifyEvent AfterTransactionEnd = {read=FAfterTransactionEnd, write=FAfterTransactionEnd
  299.         };
  300.     __property Classes::TNotifyEvent OnTransactionFree = {read=FOnTransactionFree, write=FOnTransactionFree
  301.         };
  302.     __property TIBDatabase* Database = {read=FDatabase, write=SetDatabase};
  303.     __property Ibheader::PISC_DB_HANDLE DBHandle = {read=GetDBHandle};
  304.     __property System::TObject* Owner = {read=FOwner};
  305.     __property Ibheader::PISC_TR_HANDLE TRHandle = {read=GetTRHandle};
  306.     __property TIBTransaction* Transaction = {read=FTransaction, write=SetTransaction};
  307. };
  308.  
  309.  
  310. //-- var, const, procedure ---------------------------------------------------
  311. #define DPBPrefix "isc_dpb_"
  312. extern PACKAGE AnsiString DPBConstantNames[67];
  313. #define TPBPrefix "isc_tpb_"
  314. extern PACKAGE AnsiString TPBConstantNames[20];
  315. extern PACKAGE void __fastcall GenerateDPB(Classes::TStrings* sl, AnsiString &DPB, short &DPBLength)
  316.     ;
  317. extern PACKAGE void __fastcall GenerateTPB(Classes::TStrings* sl, AnsiString &TPB, short &TPBLength)
  318.     ;
  319.  
  320. }    /* namespace Ibdatabase */
  321. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  322. using namespace Ibdatabase;
  323. #endif
  324. #pragma option pop    // -w-
  325. #pragma option pop    // -Vx
  326.  
  327. #pragma delphiheader end.
  328. //-- end unit ----------------------------------------------------------------
  329. #endif    // IBDatabase
  330.