diff --git a/doc/Using_OO_API.html b/doc/Using_OO_API.html index c429b7c79f..42b8959306 100644 --- a/doc/Using_OO_API.html +++ b/doc/Using_OO_API.html @@ -22,7 +22,7 @@ on use of interfaces. That interfaces, though looking in some aspects like OLE2 interfaces (some of them have addRef() and release() methods) are non standard and have features, missing in ither widely -used types of interfaces. First of all firebird interfaces are +used types of interfaces. First of all Firebird interfaces are language independent – that means that to define/use them one need not use language specific constructions like class @@ -38,7 +38,7 @@ language-specific wrappers should better be designed for different languages making use of API easier. Currently we have wrappers for C++ and Pascal, Java is coming soon. From end-user POV calls from C++ and Pascal have absolutely no difference, though some additional -language-specific features present in C++ (like manual status check +language-specific features present in C++ (like automatic status check after API calls) are missing in Pascal.


@@ -46,7 +46,7 @@ after API calls) are missing in Pascal.

database API is used to access data stored in database. Firebird OO API certainly performs this task but in addition it supports writing your own plugins – -modules, making it possible to enhance firebird capabilities +modules, making it possible to enhance Firebird capabilities according to your needs. Therefore this document contains 2 big parts – accessing databases and writing plugins. Certainly some interfaces (like status vector) are used in both parts of API, they @@ -62,8 +62,8 @@ installation package contains a number of live samples of use of OO API – they are in examples/interfaces (database access) and examples/dbcrypt (plugin performing fictitious database encryption) -directories. It's supposed that the reader is familiar wit ISC API -used in firebird since interbase times.

+directories. It's supposed that the reader is familiar with ISC API +used in Firebird since interbase times.


@@ -72,12 +72,12 @@ databases.

Creating database and attaching to existing database.

First of all we need to -get access to IMaster interface. IMaster is primary firebird +get access to IMaster interface. IMaster is primary Firebird interface, required to access all the rest of interfaces. Therefore there is a special way of accessing it – the only one needed to use OO API plain function called fb_get_master_interface(). This function has no parameters and always succeeds. There is one and only one -instance of IMaster per firebird client library, therefore one need +instance of IMaster per Firebird client library, therefore one need not care about releasing memory, used by master interface. A simplest way to access it from your program is to have appropriate global or static variable:

@@ -86,9 +86,9 @@ master = fb_get_master_interface();


For a lot of methods, used -in firebird API, first parameter is IStatus interface. It's a +in Firebird API, first parameter is IStatus interface. It's a logical replacement of ISC_STATUS_ARRAY, but works separately with -errors and warnings (not mising them in same array), can contain +errors and warnings (not mixing them in same array), can contain unlimited number of errors inside and (this will be important if you plan to implement IStatus yourself) always keeps strings, referenced by it, inside interface. Typically you need at least one instance of @@ -105,7 +105,7 @@ IStatus here.

with first interface, directly related to database calls. This is IProvider – interface called this way cause it's exactly that interface that must be implemented by any provider -in firebird. Firebird client library also has it's own implementation +in Firebird. Firebird client library also has it's own implementation of IProvider, which must be used to start any database activity. To obtain it we call IMaster's method:

IProvider* prov =