ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/3.0/firebird/Firebird.pas
Revision: 315
Committed: Thu Feb 25 11:56:36 2021 UTC (3 years, 1 month ago) by tony
Content type: text/x-pascal
File size: 526237 byte(s)
Log Message:
Updated for IBX 4 release

File Contents

# Content
1 { This file was autogenerated by cloop - Cross Language Object Oriented Programming }
2
3 { This file was autogenerated by cloop - Cross Language Object Oriented Programming }
4
5
6 {Note that for use with IBX, type TISC_QUAD is used instead of ISC_QUAD. TISC_QUAD is
7 sourced from unit IB
8
9 Common types moved to IBExternals.
10
11 Use of FBException is now conditional and not used for IBX.
12
13 constants removed and imported separately into IB.pas
14
15 Commented out:
16
17 function fb_get_master_interface : IMaster; cdecl; external 'fbclient';
18
19 This is not an appropriate external function declaration for a dynamic link library and only applies to a static library.
20
21 When testing with FPC, if this line was not commented out, a linker error occurs when trying to link with the debug heap
22 manager (needed for testing for memory leaks).
23 }
24
25 {$IFDEF MSWINDOWS}
26 {$DEFINE WINDOWS}
27 {$ENDIF}
28
29 {$IFDEF FPC}
30 {$MODE DELPHI}
31 {$OBJECTCHECKS OFF}
32 {$ENDIF}
33
34 unit Firebird;
35
36 interface
37
38 uses Classes, SysUtils, IB, IBExternals;
39
40 type
41 {$IFNDEF FPC}
42 QWord = UInt64;
43 {$ENDIF}
44
45 IVersioned = class;
46 IReferenceCounted = class;
47 IDisposable = class;
48 IStatus = class;
49 IMaster = class;
50 IPluginBase = class;
51 IPluginSet = class;
52 IConfigEntry = class;
53 IConfig = class;
54 IFirebirdConf = class;
55 IPluginConfig = class;
56 IPluginFactory = class;
57 IPluginModule = class;
58 IPluginManager = class;
59 ICryptKey = class;
60 IConfigManager = class;
61 IEventCallback = class;
62 IBlob = class;
63 ITransaction = class;
64 IMessageMetadata = class;
65 IMetadataBuilder = class;
66 IResultSet = class;
67 IStatement = class;
68 IBatch = class;
69 IBatchCompletionState = class;
70 IReplicator = class;
71 IRequest = class;
72 IEvents = class;
73 IAttachment = class;
74 IService = class;
75 IProvider = class;
76 IDtcStart = class;
77 IDtc = class;
78 IAuth = class;
79 IWriter = class;
80 IServerBlock = class;
81 IClientBlock = class;
82 IServer = class;
83 IClient = class;
84 IUserField = class;
85 ICharUserField = class;
86 IIntUserField = class;
87 IUser = class;
88 IListUsers = class;
89 ILogonInfo = class;
90 IManagement = class;
91 IAuthBlock = class;
92 IWireCryptPlugin = class;
93 ICryptKeyCallback = class;
94 IKeyHolderPlugin = class;
95 IDbCryptInfo = class;
96 IDbCryptPlugin = class;
97 IExternalContext = class;
98 IExternalResultSet = class;
99 IExternalFunction = class;
100 IExternalProcedure = class;
101 IExternalTrigger = class;
102 IRoutineMetadata = class;
103 IExternalEngine = class;
104 ITimer = class;
105 ITimerControl = class;
106 IVersionCallback = class;
107 IUtil = class;
108 IOffsetsCallback = class;
109 IXpbBuilder = class;
110 ITraceConnection = class;
111 ITraceDatabaseConnection = class;
112 ITraceTransaction = class;
113 ITraceParams = class;
114 ITraceStatement = class;
115 ITraceSQLStatement = class;
116 ITraceBLRStatement = class;
117 ITraceDYNRequest = class;
118 ITraceContextVariable = class;
119 ITraceProcedure = class;
120 ITraceFunction = class;
121 ITraceTrigger = class;
122 ITraceServiceConnection = class;
123 ITraceStatusVector = class;
124 ITraceSweepInfo = class;
125 ITraceLogWriter = class;
126 ITraceInitInfo = class;
127 ITracePlugin = class;
128 ITraceFactory = class;
129 IUdrFunctionFactory = class;
130 IUdrProcedureFactory = class;
131 IUdrTriggerFactory = class;
132 IUdrPlugin = class;
133 IDecFloat16 = class;
134 IDecFloat34 = class;
135 IInt128 = class;
136 IReplicatedField = class;
137 IReplicatedRecord = class;
138 IReplicatedTransaction = class;
139 IReplicatedSession = class;
140
141 FbException = class(Exception)
142 public
143 constructor create(status: IStatus); virtual;
144 destructor Destroy(); override;
145
146 function getStatus: IStatus;
147
148 class procedure checkException(status: IStatus);
149 class procedure catchException(status: IStatus; e: Exception);
150
151 private
152 status: IStatus;
153 end;
154
155 isc_tr_handle = ^Integer;
156 isc_stmt_handle = ^Integer;
157
158 ntrace_relation_t = Integer;
159 TraceCounts = Record
160 trc_relation_id : ntrace_relation_t;
161 trc_relation_name : PAnsiChar;
162 trc_counters : ^Int64;
163 end;
164 TraceCountsPtr = ^TraceCounts;
165 PerformanceInfo = Record
166 pin_time : Int64;
167 pin_counters : ^Int64;
168 pin_count : NativeUInt;
169 pin_tables : TraceCountsPtr;
170 pin_records_fetched : Int64;
171 end;
172
173 Dsc = Record
174 dsc_dtype, dsc_scale: Byte;
175 dsc_length, dsc_sub_type, dsc_flags: Int16;
176 dsc_address: ^Byte;
177 end;
178 BooleanPtr = ^Boolean;
179 BytePtr = ^Byte;
180 CardinalPtr = ^Cardinal;
181 FB_DEC16Ptr = ^FB_DEC16;
182 FB_DEC34Ptr = ^FB_DEC34;
183 FB_I128Ptr = ^FB_I128;
184 IKeyHolderPluginPtr = ^IKeyHolderPlugin;
185 ISC_QUADPtr = ^TISC_QUAD;
186 ISC_TIMESTAMP_TZPtr = ^ISC_TIMESTAMP_TZ;
187 ISC_TIMESTAMP_TZ_EXPtr = ^ISC_TIMESTAMP_TZ_EX;
188 ISC_TIME_TZPtr = ^ISC_TIME_TZ;
189 ISC_TIME_TZ_EXPtr = ^ISC_TIME_TZ_EX;
190 Int64Ptr = ^Int64;
191 IntegerPtr = ^Integer;
192 NativeIntPtr = ^NativeInt;
193 PerformanceInfoPtr = ^PerformanceInfo;
194 dscPtr = ^dsc;
195
196 IReferenceCounted_addRefPtr = procedure(this: IReferenceCounted); cdecl;
197 IReferenceCounted_releasePtr = function(this: IReferenceCounted): Integer; cdecl;
198 IDisposable_disposePtr = procedure(this: IDisposable); cdecl;
199 IStatus_initPtr = procedure(this: IStatus); cdecl;
200 IStatus_getStatePtr = function(this: IStatus): Cardinal; cdecl;
201 IStatus_setErrors2Ptr = procedure(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
202 IStatus_setWarnings2Ptr = procedure(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
203 IStatus_setErrorsPtr = procedure(this: IStatus; value: NativeIntPtr); cdecl;
204 IStatus_setWarningsPtr = procedure(this: IStatus; value: NativeIntPtr); cdecl;
205 IStatus_getErrorsPtr = function(this: IStatus): NativeIntPtr; cdecl;
206 IStatus_getWarningsPtr = function(this: IStatus): NativeIntPtr; cdecl;
207 IStatus_clonePtr = function(this: IStatus): IStatus; cdecl;
208 IMaster_getStatusPtr = function(this: IMaster): IStatus; cdecl;
209 IMaster_getDispatcherPtr = function(this: IMaster): IProvider; cdecl;
210 IMaster_getPluginManagerPtr = function(this: IMaster): IPluginManager; cdecl;
211 IMaster_getTimerControlPtr = function(this: IMaster): ITimerControl; cdecl;
212 IMaster_getDtcPtr = function(this: IMaster): IDtc; cdecl;
213 IMaster_registerAttachmentPtr = function(this: IMaster; provider: IProvider; attachment: IAttachment): IAttachment; cdecl;
214 IMaster_registerTransactionPtr = function(this: IMaster; attachment: IAttachment; transaction: ITransaction): ITransaction; cdecl;
215 IMaster_getMetadataBuilderPtr = function(this: IMaster; status: IStatus; fieldCount: Cardinal): IMetadataBuilder; cdecl;
216 IMaster_serverModePtr = function(this: IMaster; mode: Integer): Integer; cdecl;
217 IMaster_getUtilInterfacePtr = function(this: IMaster): IUtil; cdecl;
218 IMaster_getConfigManagerPtr = function(this: IMaster): IConfigManager; cdecl;
219 IMaster_getProcessExitingPtr = function(this: IMaster): Boolean; cdecl;
220 IPluginBase_setOwnerPtr = procedure(this: IPluginBase; r: IReferenceCounted); cdecl;
221 IPluginBase_getOwnerPtr = function(this: IPluginBase): IReferenceCounted; cdecl;
222 IPluginSet_getNamePtr = function(this: IPluginSet): PAnsiChar; cdecl;
223 IPluginSet_getModuleNamePtr = function(this: IPluginSet): PAnsiChar; cdecl;
224 IPluginSet_getPluginPtr = function(this: IPluginSet; status: IStatus): IPluginBase; cdecl;
225 IPluginSet_nextPtr = procedure(this: IPluginSet; status: IStatus); cdecl;
226 IPluginSet_set_Ptr = procedure(this: IPluginSet; status: IStatus; s: PAnsiChar); cdecl;
227 IConfigEntry_getNamePtr = function(this: IConfigEntry): PAnsiChar; cdecl;
228 IConfigEntry_getValuePtr = function(this: IConfigEntry): PAnsiChar; cdecl;
229 IConfigEntry_getIntValuePtr = function(this: IConfigEntry): Int64; cdecl;
230 IConfigEntry_getBoolValuePtr = function(this: IConfigEntry): Boolean; cdecl;
231 IConfigEntry_getSubConfigPtr = function(this: IConfigEntry; status: IStatus): IConfig; cdecl;
232 IConfig_findPtr = function(this: IConfig; status: IStatus; name: PAnsiChar): IConfigEntry; cdecl;
233 IConfig_findValuePtr = function(this: IConfig; status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; cdecl;
234 IConfig_findPosPtr = function(this: IConfig; status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; cdecl;
235 IFirebirdConf_getKeyPtr = function(this: IFirebirdConf; name: PAnsiChar): Cardinal; cdecl;
236 IFirebirdConf_asIntegerPtr = function(this: IFirebirdConf; key: Cardinal): Int64; cdecl;
237 IFirebirdConf_asStringPtr = function(this: IFirebirdConf; key: Cardinal): PAnsiChar; cdecl;
238 IFirebirdConf_asBooleanPtr = function(this: IFirebirdConf; key: Cardinal): Boolean; cdecl;
239 IFirebirdConf_getVersionPtr = function(this: IFirebirdConf; status: IStatus): Cardinal; cdecl;
240 IPluginConfig_getConfigFileNamePtr = function(this: IPluginConfig): PAnsiChar; cdecl;
241 IPluginConfig_getDefaultConfigPtr = function(this: IPluginConfig; status: IStatus): IConfig; cdecl;
242 IPluginConfig_getFirebirdConfPtr = function(this: IPluginConfig; status: IStatus): IFirebirdConf; cdecl;
243 IPluginConfig_setReleaseDelayPtr = procedure(this: IPluginConfig; status: IStatus; microSeconds: QWord); cdecl;
244 IPluginFactory_createPluginPtr = function(this: IPluginFactory; status: IStatus; factoryParameter: IPluginConfig): IPluginBase; cdecl;
245 IPluginModule_doCleanPtr = procedure(this: IPluginModule); cdecl;
246 IPluginModule_threadDetachPtr = procedure(this: IPluginModule); cdecl;
247 IPluginManager_registerPluginFactoryPtr = procedure(this: IPluginManager; pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); cdecl;
248 IPluginManager_registerModulePtr = procedure(this: IPluginManager; cleanup: IPluginModule); cdecl;
249 IPluginManager_unregisterModulePtr = procedure(this: IPluginManager; cleanup: IPluginModule); cdecl;
250 IPluginManager_getPluginsPtr = function(this: IPluginManager; status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; cdecl;
251 IPluginManager_getConfigPtr = function(this: IPluginManager; status: IStatus; filename: PAnsiChar): IConfig; cdecl;
252 IPluginManager_releasePluginPtr = procedure(this: IPluginManager; plugin: IPluginBase); cdecl;
253 ICryptKey_setSymmetricPtr = procedure(this: ICryptKey; status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); cdecl;
254 ICryptKey_setAsymmetricPtr = procedure(this: ICryptKey; status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); cdecl;
255 ICryptKey_getEncryptKeyPtr = function(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
256 ICryptKey_getDecryptKeyPtr = function(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
257 IConfigManager_getDirectoryPtr = function(this: IConfigManager; code: Cardinal): PAnsiChar; cdecl;
258 IConfigManager_getFirebirdConfPtr = function(this: IConfigManager): IFirebirdConf; cdecl;
259 IConfigManager_getDatabaseConfPtr = function(this: IConfigManager; dbName: PAnsiChar): IFirebirdConf; cdecl;
260 IConfigManager_getPluginConfigPtr = function(this: IConfigManager; configuredPlugin: PAnsiChar): IConfig; cdecl;
261 IConfigManager_getInstallDirectoryPtr = function(this: IConfigManager): PAnsiChar; cdecl;
262 IConfigManager_getRootDirectoryPtr = function(this: IConfigManager): PAnsiChar; cdecl;
263 IConfigManager_getDefaultSecurityDbPtr = function(this: IConfigManager): PAnsiChar; cdecl;
264 IEventCallback_eventCallbackFunctionPtr = procedure(this: IEventCallback; length: Cardinal; events: BytePtr); cdecl;
265 IBlob_getInfoPtr = procedure(this: IBlob; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
266 IBlob_getSegmentPtr = function(this: IBlob; status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; cdecl;
267 IBlob_putSegmentPtr = procedure(this: IBlob; status: IStatus; length: Cardinal; buffer: Pointer); cdecl;
268 IBlob_cancelPtr = procedure(this: IBlob; status: IStatus); cdecl;
269 IBlob_closePtr = procedure(this: IBlob; status: IStatus); cdecl;
270 IBlob_seekPtr = function(this: IBlob; status: IStatus; mode: Integer; offset: Integer): Integer; cdecl;
271 ITransaction_getInfoPtr = procedure(this: ITransaction; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
272 ITransaction_preparePtr = procedure(this: ITransaction; status: IStatus; msgLength: Cardinal; message: BytePtr); cdecl;
273 ITransaction_commitPtr = procedure(this: ITransaction; status: IStatus); cdecl;
274 ITransaction_commitRetainingPtr = procedure(this: ITransaction; status: IStatus); cdecl;
275 ITransaction_rollbackPtr = procedure(this: ITransaction; status: IStatus); cdecl;
276 ITransaction_rollbackRetainingPtr = procedure(this: ITransaction; status: IStatus); cdecl;
277 ITransaction_disconnectPtr = procedure(this: ITransaction; status: IStatus); cdecl;
278 ITransaction_joinPtr = function(this: ITransaction; status: IStatus; transaction: ITransaction): ITransaction; cdecl;
279 ITransaction_validatePtr = function(this: ITransaction; status: IStatus; attachment: IAttachment): ITransaction; cdecl;
280 ITransaction_enterDtcPtr = function(this: ITransaction; status: IStatus): ITransaction; cdecl;
281 IMessageMetadata_getCountPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
282 IMessageMetadata_getFieldPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
283 IMessageMetadata_getRelationPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
284 IMessageMetadata_getOwnerPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
285 IMessageMetadata_getAliasPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
286 IMessageMetadata_getTypePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
287 IMessageMetadata_isNullablePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Boolean; cdecl;
288 IMessageMetadata_getSubTypePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
289 IMessageMetadata_getLengthPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
290 IMessageMetadata_getScalePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
291 IMessageMetadata_getCharSetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
292 IMessageMetadata_getOffsetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
293 IMessageMetadata_getNullOffsetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
294 IMessageMetadata_getBuilderPtr = function(this: IMessageMetadata; status: IStatus): IMetadataBuilder; cdecl;
295 IMessageMetadata_getMessageLengthPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
296 IMessageMetadata_getAlignmentPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
297 IMessageMetadata_getAlignedLengthPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
298 IMetadataBuilder_setTypePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; type_: Cardinal); cdecl;
299 IMetadataBuilder_setSubTypePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; subType: Integer); cdecl;
300 IMetadataBuilder_setLengthPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; length: Cardinal); cdecl;
301 IMetadataBuilder_setCharSetPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; charSet: Cardinal); cdecl;
302 IMetadataBuilder_setScalePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; scale: Integer); cdecl;
303 IMetadataBuilder_truncatePtr = procedure(this: IMetadataBuilder; status: IStatus; count: Cardinal); cdecl;
304 IMetadataBuilder_moveNameToIndexPtr = procedure(this: IMetadataBuilder; status: IStatus; name: PAnsiChar; index: Cardinal); cdecl;
305 IMetadataBuilder_removePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal); cdecl;
306 IMetadataBuilder_addFieldPtr = function(this: IMetadataBuilder; status: IStatus): Cardinal; cdecl;
307 IMetadataBuilder_getMetadataPtr = function(this: IMetadataBuilder; status: IStatus): IMessageMetadata; cdecl;
308 IMetadataBuilder_setFieldPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; field: PAnsiChar); cdecl;
309 IMetadataBuilder_setRelationPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; relation: PAnsiChar); cdecl;
310 IMetadataBuilder_setOwnerPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; owner: PAnsiChar); cdecl;
311 IMetadataBuilder_setAliasPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; alias: PAnsiChar); cdecl;
312 IResultSet_fetchNextPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
313 IResultSet_fetchPriorPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
314 IResultSet_fetchFirstPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
315 IResultSet_fetchLastPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
316 IResultSet_fetchAbsolutePtr = function(this: IResultSet; status: IStatus; position: Integer; message: Pointer): Integer; cdecl;
317 IResultSet_fetchRelativePtr = function(this: IResultSet; status: IStatus; offset: Integer; message: Pointer): Integer; cdecl;
318 IResultSet_isEofPtr = function(this: IResultSet; status: IStatus): Boolean; cdecl;
319 IResultSet_isBofPtr = function(this: IResultSet; status: IStatus): Boolean; cdecl;
320 IResultSet_getMetadataPtr = function(this: IResultSet; status: IStatus): IMessageMetadata; cdecl;
321 IResultSet_closePtr = procedure(this: IResultSet; status: IStatus); cdecl;
322 IResultSet_setDelayedOutputFormatPtr = procedure(this: IResultSet; status: IStatus; format: IMessageMetadata); cdecl;
323 IStatement_getInfoPtr = procedure(this: IStatement; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
324 IStatement_getTypePtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
325 IStatement_getPlanPtr = function(this: IStatement; status: IStatus; detailed: Boolean): PAnsiChar; cdecl;
326 IStatement_getAffectedRecordsPtr = function(this: IStatement; status: IStatus): QWord; cdecl;
327 IStatement_getInputMetadataPtr = function(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
328 IStatement_getOutputMetadataPtr = function(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
329 IStatement_executePtr = function(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
330 IStatement_openCursorPtr = function(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; cdecl;
331 IStatement_setCursorNamePtr = procedure(this: IStatement; status: IStatus; name: PAnsiChar); cdecl;
332 IStatement_freePtr = procedure(this: IStatement; status: IStatus); cdecl;
333 IStatement_getFlagsPtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
334 IStatement_getTimeoutPtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
335 IStatement_setTimeoutPtr = procedure(this: IStatement; status: IStatus; timeOut: Cardinal); cdecl;
336 IStatement_createBatchPtr = function(this: IStatement; status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
337 IBatch_addPtr = procedure(this: IBatch; status: IStatus; count: Cardinal; inBuffer: Pointer); cdecl;
338 IBatch_addBlobPtr = procedure(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr); cdecl;
339 IBatch_appendBlobDataPtr = procedure(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
340 IBatch_addBlobStreamPtr = procedure(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
341 IBatch_registerBlobPtr = procedure(this: IBatch; status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr); cdecl;
342 IBatch_executePtr = function(this: IBatch; status: IStatus; transaction: ITransaction): IBatchCompletionState; cdecl;
343 IBatch_cancelPtr = procedure(this: IBatch; status: IStatus); cdecl;
344 IBatch_getBlobAlignmentPtr = function(this: IBatch; status: IStatus): Cardinal; cdecl;
345 IBatch_getMetadataPtr = function(this: IBatch; status: IStatus): IMessageMetadata; cdecl;
346 IBatch_setDefaultBpbPtr = procedure(this: IBatch; status: IStatus; parLength: Cardinal; par: BytePtr); cdecl;
347 IBatchCompletionState_getSizePtr = function(this: IBatchCompletionState; status: IStatus): Cardinal; cdecl;
348 IBatchCompletionState_getStatePtr = function(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Integer; cdecl;
349 IBatchCompletionState_findErrorPtr = function(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Cardinal; cdecl;
350 IBatchCompletionState_getStatusPtr = procedure(this: IBatchCompletionState; status: IStatus; to_: IStatus; pos: Cardinal); cdecl;
351 IReplicator_processPtr = procedure(this: IReplicator; status: IStatus; length: Cardinal; data: BytePtr); cdecl;
352 IReplicator_closePtr = procedure(this: IReplicator; status: IStatus); cdecl;
353 IRequest_receivePtr = procedure(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
354 IRequest_sendPtr = procedure(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
355 IRequest_getInfoPtr = procedure(this: IRequest; status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
356 IRequest_startPtr = procedure(this: IRequest; status: IStatus; tra: ITransaction; level: Integer); cdecl;
357 IRequest_startAndSendPtr = procedure(this: IRequest; status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
358 IRequest_unwindPtr = procedure(this: IRequest; status: IStatus; level: Integer); cdecl;
359 IRequest_freePtr = procedure(this: IRequest; status: IStatus); cdecl;
360 IEvents_cancelPtr = procedure(this: IEvents; status: IStatus); cdecl;
361 IAttachment_getInfoPtr = procedure(this: IAttachment; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
362 IAttachment_startTransactionPtr = function(this: IAttachment; status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; cdecl;
363 IAttachment_reconnectTransactionPtr = function(this: IAttachment; status: IStatus; length: Cardinal; id: BytePtr): ITransaction; cdecl;
364 IAttachment_compileRequestPtr = function(this: IAttachment; status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; cdecl;
365 IAttachment_transactRequestPtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); cdecl;
366 IAttachment_createBlobPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
367 IAttachment_openBlobPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
368 IAttachment_getSlicePtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; cdecl;
369 IAttachment_putSlicePtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr); cdecl;
370 IAttachment_executeDynPtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); cdecl;
371 IAttachment_preparePtr = function(this: IAttachment; status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; cdecl;
372 IAttachment_executePtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
373 IAttachment_openCursorPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet; cdecl;
374 IAttachment_queEventsPtr = function(this: IAttachment; status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; cdecl;
375 IAttachment_cancelOperationPtr = procedure(this: IAttachment; status: IStatus; option: Integer); cdecl;
376 IAttachment_pingPtr = procedure(this: IAttachment; status: IStatus); cdecl;
377 IAttachment_detachPtr = procedure(this: IAttachment; status: IStatus); cdecl;
378 IAttachment_dropDatabasePtr = procedure(this: IAttachment; status: IStatus); cdecl;
379 IAttachment_getIdleTimeoutPtr = function(this: IAttachment; status: IStatus): Cardinal; cdecl;
380 IAttachment_setIdleTimeoutPtr = procedure(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
381 IAttachment_getStatementTimeoutPtr = function(this: IAttachment; status: IStatus): Cardinal; cdecl;
382 IAttachment_setStatementTimeoutPtr = procedure(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
383 IAttachment_createBatchPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
384 IAttachment_createReplicatorPtr = function(this: IAttachment; status: IStatus): IReplicator; cdecl;
385 IService_detachPtr = procedure(this: IService; status: IStatus); cdecl;
386 IService_queryPtr = procedure(this: IService; status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
387 IService_startPtr = procedure(this: IService; status: IStatus; spbLength: Cardinal; spb: BytePtr); cdecl;
388 IProvider_attachDatabasePtr = function(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
389 IProvider_createDatabasePtr = function(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
390 IProvider_attachServiceManagerPtr = function(this: IProvider; status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; cdecl;
391 IProvider_shutdownPtr = procedure(this: IProvider; status: IStatus; timeout: Cardinal; reason: Integer); cdecl;
392 IProvider_setDbCryptCallbackPtr = procedure(this: IProvider; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
393 IDtcStart_addAttachmentPtr = procedure(this: IDtcStart; status: IStatus; att: IAttachment); cdecl;
394 IDtcStart_addWithTpbPtr = procedure(this: IDtcStart; status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); cdecl;
395 IDtcStart_startPtr = function(this: IDtcStart; status: IStatus): ITransaction; cdecl;
396 IDtc_joinPtr = function(this: IDtc; status: IStatus; one: ITransaction; two: ITransaction): ITransaction; cdecl;
397 IDtc_startBuilderPtr = function(this: IDtc; status: IStatus): IDtcStart; cdecl;
398 IWriter_resetPtr = procedure(this: IWriter); cdecl;
399 IWriter_addPtr = procedure(this: IWriter; status: IStatus; name: PAnsiChar); cdecl;
400 IWriter_setTypePtr = procedure(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
401 IWriter_setDbPtr = procedure(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
402 IServerBlock_getLoginPtr = function(this: IServerBlock): PAnsiChar; cdecl;
403 IServerBlock_getDataPtr = function(this: IServerBlock; length: CardinalPtr): BytePtr; cdecl;
404 IServerBlock_putDataPtr = procedure(this: IServerBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
405 IServerBlock_newKeyPtr = function(this: IServerBlock; status: IStatus): ICryptKey; cdecl;
406 IClientBlock_getLoginPtr = function(this: IClientBlock): PAnsiChar; cdecl;
407 IClientBlock_getPasswordPtr = function(this: IClientBlock): PAnsiChar; cdecl;
408 IClientBlock_getDataPtr = function(this: IClientBlock; length: CardinalPtr): BytePtr; cdecl;
409 IClientBlock_putDataPtr = procedure(this: IClientBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
410 IClientBlock_newKeyPtr = function(this: IClientBlock; status: IStatus): ICryptKey; cdecl;
411 IClientBlock_getAuthBlockPtr = function(this: IClientBlock; status: IStatus): IAuthBlock; cdecl;
412 IServer_authenticatePtr = function(this: IServer; status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; cdecl;
413 IServer_setDbCryptCallbackPtr = procedure(this: IServer; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
414 IClient_authenticatePtr = function(this: IClient; status: IStatus; cBlock: IClientBlock): Integer; cdecl;
415 IUserField_enteredPtr = function(this: IUserField): Integer; cdecl;
416 IUserField_specifiedPtr = function(this: IUserField): Integer; cdecl;
417 IUserField_setEnteredPtr = procedure(this: IUserField; status: IStatus; newValue: Integer); cdecl;
418 ICharUserField_getPtr = function(this: ICharUserField): PAnsiChar; cdecl;
419 ICharUserField_set_Ptr = procedure(this: ICharUserField; status: IStatus; newValue: PAnsiChar); cdecl;
420 IIntUserField_getPtr = function(this: IIntUserField): Integer; cdecl;
421 IIntUserField_set_Ptr = procedure(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
422 IUser_operationPtr = function(this: IUser): Cardinal; cdecl;
423 IUser_userNamePtr = function(this: IUser): ICharUserField; cdecl;
424 IUser_passwordPtr = function(this: IUser): ICharUserField; cdecl;
425 IUser_firstNamePtr = function(this: IUser): ICharUserField; cdecl;
426 IUser_lastNamePtr = function(this: IUser): ICharUserField; cdecl;
427 IUser_middleNamePtr = function(this: IUser): ICharUserField; cdecl;
428 IUser_commentPtr = function(this: IUser): ICharUserField; cdecl;
429 IUser_attributesPtr = function(this: IUser): ICharUserField; cdecl;
430 IUser_activePtr = function(this: IUser): IIntUserField; cdecl;
431 IUser_adminPtr = function(this: IUser): IIntUserField; cdecl;
432 IUser_clearPtr = procedure(this: IUser; status: IStatus); cdecl;
433 IListUsers_listPtr = procedure(this: IListUsers; status: IStatus; user: IUser); cdecl;
434 ILogonInfo_namePtr = function(this: ILogonInfo): PAnsiChar; cdecl;
435 ILogonInfo_rolePtr = function(this: ILogonInfo): PAnsiChar; cdecl;
436 ILogonInfo_networkProtocolPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
437 ILogonInfo_remoteAddressPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
438 ILogonInfo_authBlockPtr = function(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl;
439 ILogonInfo_attachmentPtr = function(this: ILogonInfo; status: IStatus): IAttachment; cdecl;
440 ILogonInfo_transactionPtr = function(this: ILogonInfo; status: IStatus): ITransaction; cdecl;
441 IManagement_startPtr = procedure(this: IManagement; status: IStatus; logonInfo: ILogonInfo); cdecl;
442 IManagement_executePtr = function(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl;
443 IManagement_commitPtr = procedure(this: IManagement; status: IStatus); cdecl;
444 IManagement_rollbackPtr = procedure(this: IManagement; status: IStatus); cdecl;
445 IAuthBlock_getTypePtr = function(this: IAuthBlock): PAnsiChar; cdecl;
446 IAuthBlock_getNamePtr = function(this: IAuthBlock): PAnsiChar; cdecl;
447 IAuthBlock_getPluginPtr = function(this: IAuthBlock): PAnsiChar; cdecl;
448 IAuthBlock_getSecurityDbPtr = function(this: IAuthBlock): PAnsiChar; cdecl;
449 IAuthBlock_getOriginalPluginPtr = function(this: IAuthBlock): PAnsiChar; cdecl;
450 IAuthBlock_nextPtr = function(this: IAuthBlock; status: IStatus): Boolean; cdecl;
451 IAuthBlock_firstPtr = function(this: IAuthBlock; status: IStatus): Boolean; cdecl;
452 IWireCryptPlugin_getKnownTypesPtr = function(this: IWireCryptPlugin; status: IStatus): PAnsiChar; cdecl;
453 IWireCryptPlugin_setKeyPtr = procedure(this: IWireCryptPlugin; status: IStatus; key: ICryptKey); cdecl;
454 IWireCryptPlugin_encryptPtr = procedure(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
455 IWireCryptPlugin_decryptPtr = procedure(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
456 IWireCryptPlugin_getSpecificDataPtr = function(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr; cdecl;
457 IWireCryptPlugin_setSpecificDataPtr = procedure(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr); cdecl;
458 ICryptKeyCallback_callbackPtr = function(this: ICryptKeyCallback; dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; cdecl;
459 IKeyHolderPlugin_keyCallbackPtr = function(this: IKeyHolderPlugin; status: IStatus; callback: ICryptKeyCallback): Integer; cdecl;
460 IKeyHolderPlugin_keyHandlePtr = function(this: IKeyHolderPlugin; status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; cdecl;
461 IKeyHolderPlugin_useOnlyOwnKeysPtr = function(this: IKeyHolderPlugin; status: IStatus): Boolean; cdecl;
462 IKeyHolderPlugin_chainHandlePtr = function(this: IKeyHolderPlugin; status: IStatus): ICryptKeyCallback; cdecl;
463 IDbCryptInfo_getDatabaseFullPathPtr = function(this: IDbCryptInfo; status: IStatus): PAnsiChar; cdecl;
464 IDbCryptPlugin_setKeyPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); cdecl;
465 IDbCryptPlugin_encryptPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
466 IDbCryptPlugin_decryptPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
467 IDbCryptPlugin_setInfoPtr = procedure(this: IDbCryptPlugin; status: IStatus; info: IDbCryptInfo); cdecl;
468 IExternalContext_getMasterPtr = function(this: IExternalContext): IMaster; cdecl;
469 IExternalContext_getEnginePtr = function(this: IExternalContext; status: IStatus): IExternalEngine; cdecl;
470 IExternalContext_getAttachmentPtr = function(this: IExternalContext; status: IStatus): IAttachment; cdecl;
471 IExternalContext_getTransactionPtr = function(this: IExternalContext; status: IStatus): ITransaction; cdecl;
472 IExternalContext_getUserNamePtr = function(this: IExternalContext): PAnsiChar; cdecl;
473 IExternalContext_getDatabaseNamePtr = function(this: IExternalContext): PAnsiChar; cdecl;
474 IExternalContext_getClientCharSetPtr = function(this: IExternalContext): PAnsiChar; cdecl;
475 IExternalContext_obtainInfoCodePtr = function(this: IExternalContext): Integer; cdecl;
476 IExternalContext_getInfoPtr = function(this: IExternalContext; code: Integer): Pointer; cdecl;
477 IExternalContext_setInfoPtr = function(this: IExternalContext; code: Integer; value: Pointer): Pointer; cdecl;
478 IExternalResultSet_fetchPtr = function(this: IExternalResultSet; status: IStatus): Boolean; cdecl;
479 IExternalFunction_getCharSetPtr = procedure(this: IExternalFunction; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
480 IExternalFunction_executePtr = procedure(this: IExternalFunction; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); cdecl;
481 IExternalProcedure_getCharSetPtr = procedure(this: IExternalProcedure; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
482 IExternalProcedure_openPtr = function(this: IExternalProcedure; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; cdecl;
483 IExternalTrigger_getCharSetPtr = procedure(this: IExternalTrigger; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
484 IExternalTrigger_executePtr = procedure(this: IExternalTrigger; status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); cdecl;
485 IRoutineMetadata_getPackagePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
486 IRoutineMetadata_getNamePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
487 IRoutineMetadata_getEntryPointPtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
488 IRoutineMetadata_getBodyPtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
489 IRoutineMetadata_getInputMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
490 IRoutineMetadata_getOutputMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
491 IRoutineMetadata_getTriggerMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
492 IRoutineMetadata_getTriggerTablePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
493 IRoutineMetadata_getTriggerTypePtr = function(this: IRoutineMetadata; status: IStatus): Cardinal; cdecl;
494 IExternalEngine_openPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); cdecl;
495 IExternalEngine_openAttachmentPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
496 IExternalEngine_closeAttachmentPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
497 IExternalEngine_makeFunctionPtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; cdecl;
498 IExternalEngine_makeProcedurePtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; cdecl;
499 IExternalEngine_makeTriggerPtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; cdecl;
500 ITimer_handlerPtr = procedure(this: ITimer); cdecl;
501 ITimerControl_startPtr = procedure(this: ITimerControl; status: IStatus; timer: ITimer; microSeconds: QWord); cdecl;
502 ITimerControl_stopPtr = procedure(this: ITimerControl; status: IStatus; timer: ITimer); cdecl;
503 IVersionCallback_callbackPtr = procedure(this: IVersionCallback; status: IStatus; text: PAnsiChar); cdecl;
504 IUtil_getFbVersionPtr = procedure(this: IUtil; status: IStatus; att: IAttachment; callback: IVersionCallback); cdecl;
505 IUtil_loadBlobPtr = procedure(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
506 IUtil_dumpBlobPtr = procedure(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
507 IUtil_getPerfCountersPtr = procedure(this: IUtil; status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); cdecl;
508 IUtil_executeCreateDatabasePtr = function(this: IUtil; status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; cdecl;
509 IUtil_decodeDatePtr = procedure(this: IUtil; date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); cdecl;
510 IUtil_decodeTimePtr = procedure(this: IUtil; time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); cdecl;
511 IUtil_encodeDatePtr = function(this: IUtil; year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; cdecl;
512 IUtil_encodeTimePtr = function(this: IUtil; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; cdecl;
513 IUtil_formatStatusPtr = function(this: IUtil; buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; cdecl;
514 IUtil_getClientVersionPtr = function(this: IUtil): Cardinal; cdecl;
515 IUtil_getXpbBuilderPtr = function(this: IUtil; status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; cdecl;
516 IUtil_setOffsetsPtr = function(this: IUtil; status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; cdecl;
517 IUtil_getDecFloat16Ptr = function(this: IUtil; status: IStatus): IDecFloat16; cdecl;
518 IUtil_getDecFloat34Ptr = function(this: IUtil; status: IStatus): IDecFloat34; cdecl;
519 IUtil_decodeTimeTzPtr = procedure(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
520 IUtil_decodeTimeStampTzPtr = procedure(this: IUtil; status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
521 IUtil_encodeTimeTzPtr = procedure(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); cdecl;
522 IUtil_encodeTimeStampTzPtr = procedure(this: IUtil; status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: Cardinal; month: Cardinal; day: Cardinal; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); cdecl;
523 IUtil_getInt128Ptr = function(this: IUtil; status: IStatus): IInt128; cdecl;
524 IUtil_decodeTimeTzExPtr = procedure(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
525 IUtil_decodeTimeStampTzExPtr = procedure(this: IUtil; status: IStatus; timeStampTz: ISC_TIMESTAMP_TZ_EXPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
526 IOffsetsCallback_setOffsetPtr = procedure(this: IOffsetsCallback; status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); cdecl;
527 IXpbBuilder_clearPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
528 IXpbBuilder_removeCurrentPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
529 IXpbBuilder_insertIntPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; value: Integer); cdecl;
530 IXpbBuilder_insertBigIntPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; value: Int64); cdecl;
531 IXpbBuilder_insertBytesPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); cdecl;
532 IXpbBuilder_insertStringPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; str: PAnsiChar); cdecl;
533 IXpbBuilder_insertTagPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte); cdecl;
534 IXpbBuilder_isEofPtr = function(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
535 IXpbBuilder_moveNextPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
536 IXpbBuilder_rewindPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
537 IXpbBuilder_findFirstPtr = function(this: IXpbBuilder; status: IStatus; tag: Byte): Boolean; cdecl;
538 IXpbBuilder_findNextPtr = function(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
539 IXpbBuilder_getTagPtr = function(this: IXpbBuilder; status: IStatus): Byte; cdecl;
540 IXpbBuilder_getLengthPtr = function(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
541 IXpbBuilder_getIntPtr = function(this: IXpbBuilder; status: IStatus): Integer; cdecl;
542 IXpbBuilder_getBigIntPtr = function(this: IXpbBuilder; status: IStatus): Int64; cdecl;
543 IXpbBuilder_getStringPtr = function(this: IXpbBuilder; status: IStatus): PAnsiChar; cdecl;
544 IXpbBuilder_getBytesPtr = function(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
545 IXpbBuilder_getBufferLengthPtr = function(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
546 IXpbBuilder_getBufferPtr = function(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
547 ITraceConnection_getKindPtr = function(this: ITraceConnection): Cardinal; cdecl;
548 ITraceConnection_getProcessIDPtr = function(this: ITraceConnection): Integer; cdecl;
549 ITraceConnection_getUserNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
550 ITraceConnection_getRoleNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
551 ITraceConnection_getCharSetPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
552 ITraceConnection_getRemoteProtocolPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
553 ITraceConnection_getRemoteAddressPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
554 ITraceConnection_getRemoteProcessIDPtr = function(this: ITraceConnection): Integer; cdecl;
555 ITraceConnection_getRemoteProcessNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
556 ITraceDatabaseConnection_getConnectionIDPtr = function(this: ITraceDatabaseConnection): Int64; cdecl;
557 ITraceDatabaseConnection_getDatabaseNamePtr = function(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
558 ITraceTransaction_getTransactionIDPtr = function(this: ITraceTransaction): Int64; cdecl;
559 ITraceTransaction_getReadOnlyPtr = function(this: ITraceTransaction): Boolean; cdecl;
560 ITraceTransaction_getWaitPtr = function(this: ITraceTransaction): Integer; cdecl;
561 ITraceTransaction_getIsolationPtr = function(this: ITraceTransaction): Cardinal; cdecl;
562 ITraceTransaction_getPerfPtr = function(this: ITraceTransaction): PerformanceInfoPtr; cdecl;
563 ITraceTransaction_getInitialIDPtr = function(this: ITraceTransaction): Int64; cdecl;
564 ITraceTransaction_getPreviousIDPtr = function(this: ITraceTransaction): Int64; cdecl;
565 ITraceParams_getCountPtr = function(this: ITraceParams): Cardinal; cdecl;
566 ITraceParams_getParamPtr = function(this: ITraceParams; idx: Cardinal): dscPtr; cdecl;
567 ITraceParams_getTextUTF8Ptr = function(this: ITraceParams; status: IStatus; idx: Cardinal): PAnsiChar; cdecl;
568 ITraceStatement_getStmtIDPtr = function(this: ITraceStatement): Int64; cdecl;
569 ITraceStatement_getPerfPtr = function(this: ITraceStatement): PerformanceInfoPtr; cdecl;
570 ITraceSQLStatement_getTextPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
571 ITraceSQLStatement_getPlanPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
572 ITraceSQLStatement_getInputsPtr = function(this: ITraceSQLStatement): ITraceParams; cdecl;
573 ITraceSQLStatement_getTextUTF8Ptr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
574 ITraceSQLStatement_getExplainedPlanPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
575 ITraceBLRStatement_getDataPtr = function(this: ITraceBLRStatement): BytePtr; cdecl;
576 ITraceBLRStatement_getDataLengthPtr = function(this: ITraceBLRStatement): Cardinal; cdecl;
577 ITraceBLRStatement_getTextPtr = function(this: ITraceBLRStatement): PAnsiChar; cdecl;
578 ITraceDYNRequest_getDataPtr = function(this: ITraceDYNRequest): BytePtr; cdecl;
579 ITraceDYNRequest_getDataLengthPtr = function(this: ITraceDYNRequest): Cardinal; cdecl;
580 ITraceDYNRequest_getTextPtr = function(this: ITraceDYNRequest): PAnsiChar; cdecl;
581 ITraceContextVariable_getNameSpacePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
582 ITraceContextVariable_getVarNamePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
583 ITraceContextVariable_getVarValuePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
584 ITraceProcedure_getProcNamePtr = function(this: ITraceProcedure): PAnsiChar; cdecl;
585 ITraceProcedure_getInputsPtr = function(this: ITraceProcedure): ITraceParams; cdecl;
586 ITraceProcedure_getPerfPtr = function(this: ITraceProcedure): PerformanceInfoPtr; cdecl;
587 ITraceFunction_getFuncNamePtr = function(this: ITraceFunction): PAnsiChar; cdecl;
588 ITraceFunction_getInputsPtr = function(this: ITraceFunction): ITraceParams; cdecl;
589 ITraceFunction_getResultPtr = function(this: ITraceFunction): ITraceParams; cdecl;
590 ITraceFunction_getPerfPtr = function(this: ITraceFunction): PerformanceInfoPtr; cdecl;
591 ITraceTrigger_getTriggerNamePtr = function(this: ITraceTrigger): PAnsiChar; cdecl;
592 ITraceTrigger_getRelationNamePtr = function(this: ITraceTrigger): PAnsiChar; cdecl;
593 ITraceTrigger_getActionPtr = function(this: ITraceTrigger): Integer; cdecl;
594 ITraceTrigger_getWhichPtr = function(this: ITraceTrigger): Integer; cdecl;
595 ITraceTrigger_getPerfPtr = function(this: ITraceTrigger): PerformanceInfoPtr; cdecl;
596 ITraceServiceConnection_getServiceIDPtr = function(this: ITraceServiceConnection): Pointer; cdecl;
597 ITraceServiceConnection_getServiceMgrPtr = function(this: ITraceServiceConnection): PAnsiChar; cdecl;
598 ITraceServiceConnection_getServiceNamePtr = function(this: ITraceServiceConnection): PAnsiChar; cdecl;
599 ITraceStatusVector_hasErrorPtr = function(this: ITraceStatusVector): Boolean; cdecl;
600 ITraceStatusVector_hasWarningPtr = function(this: ITraceStatusVector): Boolean; cdecl;
601 ITraceStatusVector_getStatusPtr = function(this: ITraceStatusVector): IStatus; cdecl;
602 ITraceStatusVector_getTextPtr = function(this: ITraceStatusVector): PAnsiChar; cdecl;
603 ITraceSweepInfo_getOITPtr = function(this: ITraceSweepInfo): Int64; cdecl;
604 ITraceSweepInfo_getOSTPtr = function(this: ITraceSweepInfo): Int64; cdecl;
605 ITraceSweepInfo_getOATPtr = function(this: ITraceSweepInfo): Int64; cdecl;
606 ITraceSweepInfo_getNextPtr = function(this: ITraceSweepInfo): Int64; cdecl;
607 ITraceSweepInfo_getPerfPtr = function(this: ITraceSweepInfo): PerformanceInfoPtr; cdecl;
608 ITraceLogWriter_writePtr = function(this: ITraceLogWriter; buf: Pointer; size: Cardinal): Cardinal; cdecl;
609 ITraceLogWriter_write_sPtr = function(this: ITraceLogWriter; status: IStatus; buf: Pointer; size: Cardinal): Cardinal; cdecl;
610 ITraceInitInfo_getConfigTextPtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
611 ITraceInitInfo_getTraceSessionIDPtr = function(this: ITraceInitInfo): Integer; cdecl;
612 ITraceInitInfo_getTraceSessionNamePtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
613 ITraceInitInfo_getFirebirdRootDirectoryPtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
614 ITraceInitInfo_getDatabaseNamePtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
615 ITraceInitInfo_getConnectionPtr = function(this: ITraceInitInfo): ITraceDatabaseConnection; cdecl;
616 ITraceInitInfo_getLogWriterPtr = function(this: ITraceInitInfo): ITraceLogWriter; cdecl;
617 ITracePlugin_trace_get_errorPtr = function(this: ITracePlugin): PAnsiChar; cdecl;
618 ITracePlugin_trace_attachPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; cdecl;
619 ITracePlugin_trace_detachPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; cdecl;
620 ITracePlugin_trace_transaction_startPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; cdecl;
621 ITracePlugin_trace_transaction_endPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; cdecl;
622 ITracePlugin_trace_proc_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; cdecl;
623 ITracePlugin_trace_trigger_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; cdecl;
624 ITracePlugin_trace_set_contextPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; cdecl;
625 ITracePlugin_trace_dsql_preparePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
626 ITracePlugin_trace_dsql_freePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; cdecl;
627 ITracePlugin_trace_dsql_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; cdecl;
628 ITracePlugin_trace_blr_compilePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
629 ITracePlugin_trace_blr_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; cdecl;
630 ITracePlugin_trace_dyn_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
631 ITracePlugin_trace_service_attachPtr = function(this: ITracePlugin; service: ITraceServiceConnection; att_result: Cardinal): Boolean; cdecl;
632 ITracePlugin_trace_service_startPtr = function(this: ITracePlugin; service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; cdecl;
633 ITracePlugin_trace_service_queryPtr = function(this: ITracePlugin; service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean; cdecl;
634 ITracePlugin_trace_service_detachPtr = function(this: ITracePlugin; service: ITraceServiceConnection; detach_result: Cardinal): Boolean; cdecl;
635 ITracePlugin_trace_event_errorPtr = function(this: ITracePlugin; connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; cdecl;
636 ITracePlugin_trace_event_sweepPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; cdecl;
637 ITracePlugin_trace_func_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; cdecl;
638 ITraceFactory_trace_needsPtr = function(this: ITraceFactory): QWord; cdecl;
639 ITraceFactory_trace_createPtr = function(this: ITraceFactory; status: IStatus; init_info: ITraceInitInfo): ITracePlugin; cdecl;
640 IUdrFunctionFactory_setupPtr = procedure(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
641 IUdrFunctionFactory_newItemPtr = function(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; cdecl;
642 IUdrProcedureFactory_setupPtr = procedure(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
643 IUdrProcedureFactory_newItemPtr = function(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; cdecl;
644 IUdrTriggerFactory_setupPtr = procedure(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); cdecl;
645 IUdrTriggerFactory_newItemPtr = function(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; cdecl;
646 IUdrPlugin_getMasterPtr = function(this: IUdrPlugin): IMaster; cdecl;
647 IUdrPlugin_registerFunctionPtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); cdecl;
648 IUdrPlugin_registerProcedurePtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); cdecl;
649 IUdrPlugin_registerTriggerPtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); cdecl;
650 IDecFloat16_toBcdPtr = procedure(this: IDecFloat16; from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
651 IDecFloat16_toStringPtr = procedure(this: IDecFloat16; status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
652 IDecFloat16_fromBcdPtr = procedure(this: IDecFloat16; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr); cdecl;
653 IDecFloat16_fromStringPtr = procedure(this: IDecFloat16; status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr); cdecl;
654 IDecFloat34_toBcdPtr = procedure(this: IDecFloat34; from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
655 IDecFloat34_toStringPtr = procedure(this: IDecFloat34; status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
656 IDecFloat34_fromBcdPtr = procedure(this: IDecFloat34; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr); cdecl;
657 IDecFloat34_fromStringPtr = procedure(this: IDecFloat34; status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr); cdecl;
658 IInt128_toStringPtr = procedure(this: IInt128; status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
659 IInt128_fromStringPtr = procedure(this: IInt128; status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr); cdecl;
660 IReplicatedField_getNamePtr = function(this: IReplicatedField): PAnsiChar; cdecl;
661 IReplicatedField_getTypePtr = function(this: IReplicatedField): Cardinal; cdecl;
662 IReplicatedField_getSubTypePtr = function(this: IReplicatedField): Integer; cdecl;
663 IReplicatedField_getScalePtr = function(this: IReplicatedField): Integer; cdecl;
664 IReplicatedField_getLengthPtr = function(this: IReplicatedField): Cardinal; cdecl;
665 IReplicatedField_getCharSetPtr = function(this: IReplicatedField): Cardinal; cdecl;
666 IReplicatedField_getDataPtr = function(this: IReplicatedField): Pointer; cdecl;
667 IReplicatedRecord_getCountPtr = function(this: IReplicatedRecord): Cardinal; cdecl;
668 IReplicatedRecord_getFieldPtr = function(this: IReplicatedRecord; index: Cardinal): IReplicatedField; cdecl;
669 IReplicatedRecord_getRawLengthPtr = function(this: IReplicatedRecord): Cardinal; cdecl;
670 IReplicatedRecord_getRawDataPtr = function(this: IReplicatedRecord): BytePtr; cdecl;
671 IReplicatedTransaction_preparePtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
672 IReplicatedTransaction_commitPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
673 IReplicatedTransaction_rollbackPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
674 IReplicatedTransaction_startSavepointPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
675 IReplicatedTransaction_releaseSavepointPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
676 IReplicatedTransaction_rollbackSavepointPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
677 IReplicatedTransaction_insertRecordPtr = procedure(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
678 IReplicatedTransaction_updateRecordPtr = procedure(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord); cdecl;
679 IReplicatedTransaction_deleteRecordPtr = procedure(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
680 IReplicatedTransaction_executeSqlPtr = procedure(this: IReplicatedTransaction; status: IStatus; sql: PAnsiChar); cdecl;
681 IReplicatedTransaction_executeSqlIntlPtr = procedure(this: IReplicatedTransaction; status: IStatus; charset: Cardinal; sql: PAnsiChar); cdecl;
682 IReplicatedSession_setAttachmentPtr = procedure(this: IReplicatedSession; attachment: IAttachment); cdecl;
683 IReplicatedSession_startTransactionPtr = function(this: IReplicatedSession; status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction; cdecl;
684 IReplicatedSession_cleanupTransactionPtr = procedure(this: IReplicatedSession; status: IStatus; number: Int64); cdecl;
685 IReplicatedSession_setSequencePtr = procedure(this: IReplicatedSession; status: IStatus; name: PAnsiChar; value: Int64); cdecl;
686
687 VersionedVTable = class
688 version: NativeInt;
689 end;
690
691 IVersioned = class
692 vTable: VersionedVTable;
693
694 const VERSION = 1;
695
696 end;
697
698 IVersionedImpl = class(IVersioned)
699 constructor create;
700
701 end;
702
703 ReferenceCountedVTable = class(VersionedVTable)
704 addRef: IReferenceCounted_addRefPtr;
705 release: IReferenceCounted_releasePtr;
706 end;
707
708 IReferenceCounted = class(IVersioned)
709 const VERSION = 2;
710
711 procedure addRef();
712 function release(): Integer;
713 end;
714
715 IReferenceCountedImpl = class(IReferenceCounted)
716 constructor create;
717
718 procedure addRef(); virtual; abstract;
719 function release(): Integer; virtual; abstract;
720 end;
721
722 DisposableVTable = class(VersionedVTable)
723 dispose: IDisposable_disposePtr;
724 end;
725
726 IDisposable = class(IVersioned)
727 const VERSION = 2;
728
729 procedure dispose();
730 end;
731
732 IDisposableImpl = class(IDisposable)
733 constructor create;
734
735 procedure dispose(); virtual; abstract;
736 end;
737
738 StatusVTable = class(DisposableVTable)
739 init: IStatus_initPtr;
740 getState: IStatus_getStatePtr;
741 setErrors2: IStatus_setErrors2Ptr;
742 setWarnings2: IStatus_setWarnings2Ptr;
743 setErrors: IStatus_setErrorsPtr;
744 setWarnings: IStatus_setWarningsPtr;
745 getErrors: IStatus_getErrorsPtr;
746 getWarnings: IStatus_getWarningsPtr;
747 clone: IStatus_clonePtr;
748 end;
749
750 IStatus = class(IDisposable)
751 const VERSION = 3;
752 const STATE_WARNINGS = Cardinal($1);
753 const STATE_ERRORS = Cardinal($2);
754 const RESULT_ERROR = Integer(-1);
755 const RESULT_OK = Integer(0);
756 const RESULT_NO_DATA = Integer(1);
757 const RESULT_SEGMENT = Integer(2);
758
759 procedure init();
760 function getState(): Cardinal;
761 procedure setErrors2(length: Cardinal; value: NativeIntPtr);
762 procedure setWarnings2(length: Cardinal; value: NativeIntPtr);
763 procedure setErrors(value: NativeIntPtr);
764 procedure setWarnings(value: NativeIntPtr);
765 function getErrors(): NativeIntPtr;
766 function getWarnings(): NativeIntPtr;
767 function clone(): IStatus;
768 end;
769
770 IStatusImpl = class(IStatus)
771 constructor create;
772
773 procedure dispose(); virtual; abstract;
774 procedure init(); virtual; abstract;
775 function getState(): Cardinal; virtual; abstract;
776 procedure setErrors2(length: Cardinal; value: NativeIntPtr); virtual; abstract;
777 procedure setWarnings2(length: Cardinal; value: NativeIntPtr); virtual; abstract;
778 procedure setErrors(value: NativeIntPtr); virtual; abstract;
779 procedure setWarnings(value: NativeIntPtr); virtual; abstract;
780 function getErrors(): NativeIntPtr; virtual; abstract;
781 function getWarnings(): NativeIntPtr; virtual; abstract;
782 function clone(): IStatus; virtual; abstract;
783 end;
784
785 MasterVTable = class(VersionedVTable)
786 getStatus: IMaster_getStatusPtr;
787 getDispatcher: IMaster_getDispatcherPtr;
788 getPluginManager: IMaster_getPluginManagerPtr;
789 getTimerControl: IMaster_getTimerControlPtr;
790 getDtc: IMaster_getDtcPtr;
791 registerAttachment: IMaster_registerAttachmentPtr;
792 registerTransaction: IMaster_registerTransactionPtr;
793 getMetadataBuilder: IMaster_getMetadataBuilderPtr;
794 serverMode: IMaster_serverModePtr;
795 getUtilInterface: IMaster_getUtilInterfacePtr;
796 getConfigManager: IMaster_getConfigManagerPtr;
797 getProcessExiting: IMaster_getProcessExitingPtr;
798 end;
799
800 IMaster = class(IVersioned)
801 const VERSION = 2;
802
803 function getStatus(): IStatus;
804 function getDispatcher(): IProvider;
805 function getPluginManager(): IPluginManager;
806 function getTimerControl(): ITimerControl;
807 function getDtc(): IDtc;
808 function registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment;
809 function registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction;
810 function getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder;
811 function serverMode(mode: Integer): Integer;
812 function getUtilInterface(): IUtil;
813 function getConfigManager(): IConfigManager;
814 function getProcessExiting(): Boolean;
815 end;
816
817 IMasterImpl = class(IMaster)
818 constructor create;
819
820 function getStatus(): IStatus; virtual; abstract;
821 function getDispatcher(): IProvider; virtual; abstract;
822 function getPluginManager(): IPluginManager; virtual; abstract;
823 function getTimerControl(): ITimerControl; virtual; abstract;
824 function getDtc(): IDtc; virtual; abstract;
825 function registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment; virtual; abstract;
826 function registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction; virtual; abstract;
827 function getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder; virtual; abstract;
828 function serverMode(mode: Integer): Integer; virtual; abstract;
829 function getUtilInterface(): IUtil; virtual; abstract;
830 function getConfigManager(): IConfigManager; virtual; abstract;
831 function getProcessExiting(): Boolean; virtual; abstract;
832 end;
833
834 PluginBaseVTable = class(ReferenceCountedVTable)
835 setOwner: IPluginBase_setOwnerPtr;
836 getOwner: IPluginBase_getOwnerPtr;
837 end;
838
839 IPluginBase = class(IReferenceCounted)
840 const VERSION = 3;
841
842 procedure setOwner(r: IReferenceCounted);
843 function getOwner(): IReferenceCounted;
844 end;
845
846 IPluginBaseImpl = class(IPluginBase)
847 constructor create;
848
849 procedure addRef(); virtual; abstract;
850 function release(): Integer; virtual; abstract;
851 procedure setOwner(r: IReferenceCounted); virtual; abstract;
852 function getOwner(): IReferenceCounted; virtual; abstract;
853 end;
854
855 PluginSetVTable = class(ReferenceCountedVTable)
856 getName: IPluginSet_getNamePtr;
857 getModuleName: IPluginSet_getModuleNamePtr;
858 getPlugin: IPluginSet_getPluginPtr;
859 next: IPluginSet_nextPtr;
860 set_: IPluginSet_set_Ptr;
861 end;
862
863 IPluginSet = class(IReferenceCounted)
864 const VERSION = 3;
865
866 function getName(): PAnsiChar;
867 function getModuleName(): PAnsiChar;
868 function getPlugin(status: IStatus): IPluginBase;
869 procedure next(status: IStatus);
870 procedure set_(status: IStatus; s: PAnsiChar);
871 end;
872
873 IPluginSetImpl = class(IPluginSet)
874 constructor create;
875
876 procedure addRef(); virtual; abstract;
877 function release(): Integer; virtual; abstract;
878 function getName(): PAnsiChar; virtual; abstract;
879 function getModuleName(): PAnsiChar; virtual; abstract;
880 function getPlugin(status: IStatus): IPluginBase; virtual; abstract;
881 procedure next(status: IStatus); virtual; abstract;
882 procedure set_(status: IStatus; s: PAnsiChar); virtual; abstract;
883 end;
884
885 ConfigEntryVTable = class(ReferenceCountedVTable)
886 getName: IConfigEntry_getNamePtr;
887 getValue: IConfigEntry_getValuePtr;
888 getIntValue: IConfigEntry_getIntValuePtr;
889 getBoolValue: IConfigEntry_getBoolValuePtr;
890 getSubConfig: IConfigEntry_getSubConfigPtr;
891 end;
892
893 IConfigEntry = class(IReferenceCounted)
894 const VERSION = 3;
895
896 function getName(): PAnsiChar;
897 function getValue(): PAnsiChar;
898 function getIntValue(): Int64;
899 function getBoolValue(): Boolean;
900 function getSubConfig(status: IStatus): IConfig;
901 end;
902
903 IConfigEntryImpl = class(IConfigEntry)
904 constructor create;
905
906 procedure addRef(); virtual; abstract;
907 function release(): Integer; virtual; abstract;
908 function getName(): PAnsiChar; virtual; abstract;
909 function getValue(): PAnsiChar; virtual; abstract;
910 function getIntValue(): Int64; virtual; abstract;
911 function getBoolValue(): Boolean; virtual; abstract;
912 function getSubConfig(status: IStatus): IConfig; virtual; abstract;
913 end;
914
915 ConfigVTable = class(ReferenceCountedVTable)
916 find: IConfig_findPtr;
917 findValue: IConfig_findValuePtr;
918 findPos: IConfig_findPosPtr;
919 end;
920
921 IConfig = class(IReferenceCounted)
922 const VERSION = 3;
923
924 function find(status: IStatus; name: PAnsiChar): IConfigEntry;
925 function findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry;
926 function findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry;
927 end;
928
929 IConfigImpl = class(IConfig)
930 constructor create;
931
932 procedure addRef(); virtual; abstract;
933 function release(): Integer; virtual; abstract;
934 function find(status: IStatus; name: PAnsiChar): IConfigEntry; virtual; abstract;
935 function findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; virtual; abstract;
936 function findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; virtual; abstract;
937 end;
938
939 FirebirdConfVTable = class(ReferenceCountedVTable)
940 getKey: IFirebirdConf_getKeyPtr;
941 asInteger: IFirebirdConf_asIntegerPtr;
942 asString: IFirebirdConf_asStringPtr;
943 asBoolean: IFirebirdConf_asBooleanPtr;
944 getVersion: IFirebirdConf_getVersionPtr;
945 end;
946
947 IFirebirdConf = class(IReferenceCounted)
948 const VERSION = 4;
949
950 function getKey(name: PAnsiChar): Cardinal;
951 function asInteger(key: Cardinal): Int64;
952 function asString(key: Cardinal): PAnsiChar;
953 function asBoolean(key: Cardinal): Boolean;
954 function getVersion(status: IStatus): Cardinal;
955 end;
956
957 IFirebirdConfImpl = class(IFirebirdConf)
958 constructor create;
959
960 procedure addRef(); virtual; abstract;
961 function release(): Integer; virtual; abstract;
962 function getKey(name: PAnsiChar): Cardinal; virtual; abstract;
963 function asInteger(key: Cardinal): Int64; virtual; abstract;
964 function asString(key: Cardinal): PAnsiChar; virtual; abstract;
965 function asBoolean(key: Cardinal): Boolean; virtual; abstract;
966 function getVersion(status: IStatus): Cardinal; virtual; abstract;
967 end;
968
969 PluginConfigVTable = class(ReferenceCountedVTable)
970 getConfigFileName: IPluginConfig_getConfigFileNamePtr;
971 getDefaultConfig: IPluginConfig_getDefaultConfigPtr;
972 getFirebirdConf: IPluginConfig_getFirebirdConfPtr;
973 setReleaseDelay: IPluginConfig_setReleaseDelayPtr;
974 end;
975
976 IPluginConfig = class(IReferenceCounted)
977 const VERSION = 3;
978
979 function getConfigFileName(): PAnsiChar;
980 function getDefaultConfig(status: IStatus): IConfig;
981 function getFirebirdConf(status: IStatus): IFirebirdConf;
982 procedure setReleaseDelay(status: IStatus; microSeconds: QWord);
983 end;
984
985 IPluginConfigImpl = class(IPluginConfig)
986 constructor create;
987
988 procedure addRef(); virtual; abstract;
989 function release(): Integer; virtual; abstract;
990 function getConfigFileName(): PAnsiChar; virtual; abstract;
991 function getDefaultConfig(status: IStatus): IConfig; virtual; abstract;
992 function getFirebirdConf(status: IStatus): IFirebirdConf; virtual; abstract;
993 procedure setReleaseDelay(status: IStatus; microSeconds: QWord); virtual; abstract;
994 end;
995
996 PluginFactoryVTable = class(VersionedVTable)
997 createPlugin: IPluginFactory_createPluginPtr;
998 end;
999
1000 IPluginFactory = class(IVersioned)
1001 const VERSION = 2;
1002
1003 function createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase;
1004 end;
1005
1006 IPluginFactoryImpl = class(IPluginFactory)
1007 constructor create;
1008
1009 function createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase; virtual; abstract;
1010 end;
1011
1012 PluginModuleVTable = class(VersionedVTable)
1013 doClean: IPluginModule_doCleanPtr;
1014 threadDetach: IPluginModule_threadDetachPtr;
1015 end;
1016
1017 IPluginModule = class(IVersioned)
1018 const VERSION = 3;
1019
1020 procedure doClean();
1021 procedure threadDetach();
1022 end;
1023
1024 IPluginModuleImpl = class(IPluginModule)
1025 constructor create;
1026
1027 procedure doClean(); virtual; abstract;
1028 procedure threadDetach(); virtual; abstract;
1029 end;
1030
1031 PluginManagerVTable = class(VersionedVTable)
1032 registerPluginFactory: IPluginManager_registerPluginFactoryPtr;
1033 registerModule: IPluginManager_registerModulePtr;
1034 unregisterModule: IPluginManager_unregisterModulePtr;
1035 getPlugins: IPluginManager_getPluginsPtr;
1036 getConfig: IPluginManager_getConfigPtr;
1037 releasePlugin: IPluginManager_releasePluginPtr;
1038 end;
1039
1040 IPluginManager = class(IVersioned)
1041 const VERSION = 2;
1042 const TYPE_PROVIDER = Cardinal(1);
1043 const TYPE_FIRST_NON_LIB = Cardinal(2);
1044 const TYPE_AUTH_SERVER = Cardinal(3);
1045 const TYPE_AUTH_CLIENT = Cardinal(4);
1046 const TYPE_AUTH_USER_MANAGEMENT = Cardinal(5);
1047 const TYPE_EXTERNAL_ENGINE = Cardinal(6);
1048 const TYPE_TRACE = Cardinal(7);
1049 const TYPE_WIRE_CRYPT = Cardinal(8);
1050 const TYPE_DB_CRYPT = Cardinal(9);
1051 const TYPE_KEY_HOLDER = Cardinal(10);
1052 const TYPE_REPLICATOR = Cardinal(11);
1053 const TYPE_COUNT = Cardinal(12);
1054
1055 procedure registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory);
1056 procedure registerModule(cleanup: IPluginModule);
1057 procedure unregisterModule(cleanup: IPluginModule);
1058 function getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet;
1059 function getConfig(status: IStatus; filename: PAnsiChar): IConfig;
1060 procedure releasePlugin(plugin: IPluginBase);
1061 end;
1062
1063 IPluginManagerImpl = class(IPluginManager)
1064 constructor create;
1065
1066 procedure registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); virtual; abstract;
1067 procedure registerModule(cleanup: IPluginModule); virtual; abstract;
1068 procedure unregisterModule(cleanup: IPluginModule); virtual; abstract;
1069 function getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; virtual; abstract;
1070 function getConfig(status: IStatus; filename: PAnsiChar): IConfig; virtual; abstract;
1071 procedure releasePlugin(plugin: IPluginBase); virtual; abstract;
1072 end;
1073
1074 CryptKeyVTable = class(VersionedVTable)
1075 setSymmetric: ICryptKey_setSymmetricPtr;
1076 setAsymmetric: ICryptKey_setAsymmetricPtr;
1077 getEncryptKey: ICryptKey_getEncryptKeyPtr;
1078 getDecryptKey: ICryptKey_getDecryptKeyPtr;
1079 end;
1080
1081 ICryptKey = class(IVersioned)
1082 const VERSION = 2;
1083
1084 procedure setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer);
1085 procedure setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer);
1086 function getEncryptKey(length: CardinalPtr): Pointer;
1087 function getDecryptKey(length: CardinalPtr): Pointer;
1088 end;
1089
1090 ICryptKeyImpl = class(ICryptKey)
1091 constructor create;
1092
1093 procedure setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); virtual; abstract;
1094 procedure setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); virtual; abstract;
1095 function getEncryptKey(length: CardinalPtr): Pointer; virtual; abstract;
1096 function getDecryptKey(length: CardinalPtr): Pointer; virtual; abstract;
1097 end;
1098
1099 ConfigManagerVTable = class(VersionedVTable)
1100 getDirectory: IConfigManager_getDirectoryPtr;
1101 getFirebirdConf: IConfigManager_getFirebirdConfPtr;
1102 getDatabaseConf: IConfigManager_getDatabaseConfPtr;
1103 getPluginConfig: IConfigManager_getPluginConfigPtr;
1104 getInstallDirectory: IConfigManager_getInstallDirectoryPtr;
1105 getRootDirectory: IConfigManager_getRootDirectoryPtr;
1106 getDefaultSecurityDb: IConfigManager_getDefaultSecurityDbPtr;
1107 end;
1108
1109 IConfigManager = class(IVersioned)
1110 const VERSION = 3;
1111 const DIR_BIN = Cardinal(0);
1112 const DIR_SBIN = Cardinal(1);
1113 const DIR_CONF = Cardinal(2);
1114 const DIR_LIB = Cardinal(3);
1115 const DIR_INC = Cardinal(4);
1116 const DIR_DOC = Cardinal(5);
1117 const DIR_UDF = Cardinal(6);
1118 const DIR_SAMPLE = Cardinal(7);
1119 const DIR_SAMPLEDB = Cardinal(8);
1120 const DIR_HELP = Cardinal(9);
1121 const DIR_INTL = Cardinal(10);
1122 const DIR_MISC = Cardinal(11);
1123 const DIR_SECDB = Cardinal(12);
1124 const DIR_MSG = Cardinal(13);
1125 const DIR_LOG = Cardinal(14);
1126 const DIR_GUARD = Cardinal(15);
1127 const DIR_PLUGINS = Cardinal(16);
1128 const DIR_TZDATA = Cardinal(17);
1129 const DIR_COUNT = Cardinal(18);
1130
1131 function getDirectory(code: Cardinal): PAnsiChar;
1132 function getFirebirdConf(): IFirebirdConf;
1133 function getDatabaseConf(dbName: PAnsiChar): IFirebirdConf;
1134 function getPluginConfig(configuredPlugin: PAnsiChar): IConfig;
1135 function getInstallDirectory(): PAnsiChar;
1136 function getRootDirectory(): PAnsiChar;
1137 function getDefaultSecurityDb(): PAnsiChar;
1138 end;
1139
1140 IConfigManagerImpl = class(IConfigManager)
1141 constructor create;
1142
1143 function getDirectory(code: Cardinal): PAnsiChar; virtual; abstract;
1144 function getFirebirdConf(): IFirebirdConf; virtual; abstract;
1145 function getDatabaseConf(dbName: PAnsiChar): IFirebirdConf; virtual; abstract;
1146 function getPluginConfig(configuredPlugin: PAnsiChar): IConfig; virtual; abstract;
1147 function getInstallDirectory(): PAnsiChar; virtual; abstract;
1148 function getRootDirectory(): PAnsiChar; virtual; abstract;
1149 function getDefaultSecurityDb(): PAnsiChar; virtual; abstract;
1150 end;
1151
1152 EventCallbackVTable = class(ReferenceCountedVTable)
1153 eventCallbackFunction: IEventCallback_eventCallbackFunctionPtr;
1154 end;
1155
1156 IEventCallback = class(IReferenceCounted)
1157 const VERSION = 3;
1158
1159 procedure eventCallbackFunction(length: Cardinal; events: BytePtr);
1160 end;
1161
1162 IEventCallbackImpl = class(IEventCallback)
1163 constructor create;
1164
1165 procedure addRef(); virtual; abstract;
1166 function release(): Integer; virtual; abstract;
1167 procedure eventCallbackFunction(length: Cardinal; events: BytePtr); virtual; abstract;
1168 end;
1169
1170 BlobVTable = class(ReferenceCountedVTable)
1171 getInfo: IBlob_getInfoPtr;
1172 getSegment: IBlob_getSegmentPtr;
1173 putSegment: IBlob_putSegmentPtr;
1174 cancel: IBlob_cancelPtr;
1175 close: IBlob_closePtr;
1176 seek: IBlob_seekPtr;
1177 end;
1178
1179 IBlob = class(IReferenceCounted)
1180 const VERSION = 3;
1181
1182 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1183 function getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer;
1184 procedure putSegment(status: IStatus; length: Cardinal; buffer: Pointer);
1185 procedure cancel(status: IStatus);
1186 procedure close(status: IStatus);
1187 function seek(status: IStatus; mode: Integer; offset: Integer): Integer;
1188 end;
1189
1190 IBlobImpl = class(IBlob)
1191 constructor create;
1192
1193 procedure addRef(); virtual; abstract;
1194 function release(): Integer; virtual; abstract;
1195 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1196 function getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; virtual; abstract;
1197 procedure putSegment(status: IStatus; length: Cardinal; buffer: Pointer); virtual; abstract;
1198 procedure cancel(status: IStatus); virtual; abstract;
1199 procedure close(status: IStatus); virtual; abstract;
1200 function seek(status: IStatus; mode: Integer; offset: Integer): Integer; virtual; abstract;
1201 end;
1202
1203 TransactionVTable = class(ReferenceCountedVTable)
1204 getInfo: ITransaction_getInfoPtr;
1205 prepare: ITransaction_preparePtr;
1206 commit: ITransaction_commitPtr;
1207 commitRetaining: ITransaction_commitRetainingPtr;
1208 rollback: ITransaction_rollbackPtr;
1209 rollbackRetaining: ITransaction_rollbackRetainingPtr;
1210 disconnect: ITransaction_disconnectPtr;
1211 join: ITransaction_joinPtr;
1212 validate: ITransaction_validatePtr;
1213 enterDtc: ITransaction_enterDtcPtr;
1214 end;
1215
1216 ITransaction = class(IReferenceCounted)
1217 const VERSION = 3;
1218
1219 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1220 procedure prepare(status: IStatus; msgLength: Cardinal; message: BytePtr);
1221 procedure commit(status: IStatus);
1222 procedure commitRetaining(status: IStatus);
1223 procedure rollback(status: IStatus);
1224 procedure rollbackRetaining(status: IStatus);
1225 procedure disconnect(status: IStatus);
1226 function join(status: IStatus; transaction: ITransaction): ITransaction;
1227 function validate(status: IStatus; attachment: IAttachment): ITransaction;
1228 function enterDtc(status: IStatus): ITransaction;
1229 end;
1230
1231 ITransactionImpl = class(ITransaction)
1232 constructor create;
1233
1234 procedure addRef(); virtual; abstract;
1235 function release(): Integer; virtual; abstract;
1236 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1237 procedure prepare(status: IStatus; msgLength: Cardinal; message: BytePtr); virtual; abstract;
1238 procedure commit(status: IStatus); virtual; abstract;
1239 procedure commitRetaining(status: IStatus); virtual; abstract;
1240 procedure rollback(status: IStatus); virtual; abstract;
1241 procedure rollbackRetaining(status: IStatus); virtual; abstract;
1242 procedure disconnect(status: IStatus); virtual; abstract;
1243 function join(status: IStatus; transaction: ITransaction): ITransaction; virtual; abstract;
1244 function validate(status: IStatus; attachment: IAttachment): ITransaction; virtual; abstract;
1245 function enterDtc(status: IStatus): ITransaction; virtual; abstract;
1246 end;
1247
1248 MessageMetadataVTable = class(ReferenceCountedVTable)
1249 getCount: IMessageMetadata_getCountPtr;
1250 getField: IMessageMetadata_getFieldPtr;
1251 getRelation: IMessageMetadata_getRelationPtr;
1252 getOwner: IMessageMetadata_getOwnerPtr;
1253 getAlias: IMessageMetadata_getAliasPtr;
1254 getType: IMessageMetadata_getTypePtr;
1255 isNullable: IMessageMetadata_isNullablePtr;
1256 getSubType: IMessageMetadata_getSubTypePtr;
1257 getLength: IMessageMetadata_getLengthPtr;
1258 getScale: IMessageMetadata_getScalePtr;
1259 getCharSet: IMessageMetadata_getCharSetPtr;
1260 getOffset: IMessageMetadata_getOffsetPtr;
1261 getNullOffset: IMessageMetadata_getNullOffsetPtr;
1262 getBuilder: IMessageMetadata_getBuilderPtr;
1263 getMessageLength: IMessageMetadata_getMessageLengthPtr;
1264 getAlignment: IMessageMetadata_getAlignmentPtr;
1265 getAlignedLength: IMessageMetadata_getAlignedLengthPtr;
1266 end;
1267
1268 IMessageMetadata = class(IReferenceCounted)
1269 const VERSION = 4;
1270
1271 function getCount(status: IStatus): Cardinal;
1272 function getField(status: IStatus; index: Cardinal): PAnsiChar;
1273 function getRelation(status: IStatus; index: Cardinal): PAnsiChar;
1274 function getOwner(status: IStatus; index: Cardinal): PAnsiChar;
1275 function getAlias(status: IStatus; index: Cardinal): PAnsiChar;
1276 function getType(status: IStatus; index: Cardinal): Cardinal;
1277 function isNullable(status: IStatus; index: Cardinal): Boolean;
1278 function getSubType(status: IStatus; index: Cardinal): Integer;
1279 function getLength(status: IStatus; index: Cardinal): Cardinal;
1280 function getScale(status: IStatus; index: Cardinal): Integer;
1281 function getCharSet(status: IStatus; index: Cardinal): Cardinal;
1282 function getOffset(status: IStatus; index: Cardinal): Cardinal;
1283 function getNullOffset(status: IStatus; index: Cardinal): Cardinal;
1284 function getBuilder(status: IStatus): IMetadataBuilder;
1285 function getMessageLength(status: IStatus): Cardinal;
1286 function getAlignment(status: IStatus): Cardinal;
1287 function getAlignedLength(status: IStatus): Cardinal;
1288 end;
1289
1290 IMessageMetadataImpl = class(IMessageMetadata)
1291 constructor create;
1292
1293 procedure addRef(); virtual; abstract;
1294 function release(): Integer; virtual; abstract;
1295 function getCount(status: IStatus): Cardinal; virtual; abstract;
1296 function getField(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1297 function getRelation(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1298 function getOwner(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1299 function getAlias(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1300 function getType(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1301 function isNullable(status: IStatus; index: Cardinal): Boolean; virtual; abstract;
1302 function getSubType(status: IStatus; index: Cardinal): Integer; virtual; abstract;
1303 function getLength(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1304 function getScale(status: IStatus; index: Cardinal): Integer; virtual; abstract;
1305 function getCharSet(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1306 function getOffset(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1307 function getNullOffset(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1308 function getBuilder(status: IStatus): IMetadataBuilder; virtual; abstract;
1309 function getMessageLength(status: IStatus): Cardinal; virtual; abstract;
1310 function getAlignment(status: IStatus): Cardinal; virtual; abstract;
1311 function getAlignedLength(status: IStatus): Cardinal; virtual; abstract;
1312 end;
1313
1314 MetadataBuilderVTable = class(ReferenceCountedVTable)
1315 setType: IMetadataBuilder_setTypePtr;
1316 setSubType: IMetadataBuilder_setSubTypePtr;
1317 setLength: IMetadataBuilder_setLengthPtr;
1318 setCharSet: IMetadataBuilder_setCharSetPtr;
1319 setScale: IMetadataBuilder_setScalePtr;
1320 truncate: IMetadataBuilder_truncatePtr;
1321 moveNameToIndex: IMetadataBuilder_moveNameToIndexPtr;
1322 remove: IMetadataBuilder_removePtr;
1323 addField: IMetadataBuilder_addFieldPtr;
1324 getMetadata: IMetadataBuilder_getMetadataPtr;
1325 setField: IMetadataBuilder_setFieldPtr;
1326 setRelation: IMetadataBuilder_setRelationPtr;
1327 setOwner: IMetadataBuilder_setOwnerPtr;
1328 setAlias: IMetadataBuilder_setAliasPtr;
1329 end;
1330
1331 IMetadataBuilder = class(IReferenceCounted)
1332 const VERSION = 4;
1333
1334 procedure setType(status: IStatus; index: Cardinal; type_: Cardinal);
1335 procedure setSubType(status: IStatus; index: Cardinal; subType: Integer);
1336 procedure setLength(status: IStatus; index: Cardinal; length: Cardinal);
1337 procedure setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal);
1338 procedure setScale(status: IStatus; index: Cardinal; scale: Integer);
1339 procedure truncate(status: IStatus; count: Cardinal);
1340 procedure moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal);
1341 procedure remove(status: IStatus; index: Cardinal);
1342 function addField(status: IStatus): Cardinal;
1343 function getMetadata(status: IStatus): IMessageMetadata;
1344 procedure setField(status: IStatus; index: Cardinal; field: PAnsiChar);
1345 procedure setRelation(status: IStatus; index: Cardinal; relation: PAnsiChar);
1346 procedure setOwner(status: IStatus; index: Cardinal; owner: PAnsiChar);
1347 procedure setAlias(status: IStatus; index: Cardinal; alias: PAnsiChar);
1348 end;
1349
1350 IMetadataBuilderImpl = class(IMetadataBuilder)
1351 constructor create;
1352
1353 procedure addRef(); virtual; abstract;
1354 function release(): Integer; virtual; abstract;
1355 procedure setType(status: IStatus; index: Cardinal; type_: Cardinal); virtual; abstract;
1356 procedure setSubType(status: IStatus; index: Cardinal; subType: Integer); virtual; abstract;
1357 procedure setLength(status: IStatus; index: Cardinal; length: Cardinal); virtual; abstract;
1358 procedure setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal); virtual; abstract;
1359 procedure setScale(status: IStatus; index: Cardinal; scale: Integer); virtual; abstract;
1360 procedure truncate(status: IStatus; count: Cardinal); virtual; abstract;
1361 procedure moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal); virtual; abstract;
1362 procedure remove(status: IStatus; index: Cardinal); virtual; abstract;
1363 function addField(status: IStatus): Cardinal; virtual; abstract;
1364 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1365 procedure setField(status: IStatus; index: Cardinal; field: PAnsiChar); virtual; abstract;
1366 procedure setRelation(status: IStatus; index: Cardinal; relation: PAnsiChar); virtual; abstract;
1367 procedure setOwner(status: IStatus; index: Cardinal; owner: PAnsiChar); virtual; abstract;
1368 procedure setAlias(status: IStatus; index: Cardinal; alias: PAnsiChar); virtual; abstract;
1369 end;
1370
1371 ResultSetVTable = class(ReferenceCountedVTable)
1372 fetchNext: IResultSet_fetchNextPtr;
1373 fetchPrior: IResultSet_fetchPriorPtr;
1374 fetchFirst: IResultSet_fetchFirstPtr;
1375 fetchLast: IResultSet_fetchLastPtr;
1376 fetchAbsolute: IResultSet_fetchAbsolutePtr;
1377 fetchRelative: IResultSet_fetchRelativePtr;
1378 isEof: IResultSet_isEofPtr;
1379 isBof: IResultSet_isBofPtr;
1380 getMetadata: IResultSet_getMetadataPtr;
1381 close: IResultSet_closePtr;
1382 setDelayedOutputFormat: IResultSet_setDelayedOutputFormatPtr;
1383 end;
1384
1385 IResultSet = class(IReferenceCounted)
1386 const VERSION = 3;
1387
1388 function fetchNext(status: IStatus; message: Pointer): Integer;
1389 function fetchPrior(status: IStatus; message: Pointer): Integer;
1390 function fetchFirst(status: IStatus; message: Pointer): Integer;
1391 function fetchLast(status: IStatus; message: Pointer): Integer;
1392 function fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer;
1393 function fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer;
1394 function isEof(status: IStatus): Boolean;
1395 function isBof(status: IStatus): Boolean;
1396 function getMetadata(status: IStatus): IMessageMetadata;
1397 procedure close(status: IStatus);
1398 procedure setDelayedOutputFormat(status: IStatus; format: IMessageMetadata);
1399 end;
1400
1401 IResultSetImpl = class(IResultSet)
1402 constructor create;
1403
1404 procedure addRef(); virtual; abstract;
1405 function release(): Integer; virtual; abstract;
1406 function fetchNext(status: IStatus; message: Pointer): Integer; virtual; abstract;
1407 function fetchPrior(status: IStatus; message: Pointer): Integer; virtual; abstract;
1408 function fetchFirst(status: IStatus; message: Pointer): Integer; virtual; abstract;
1409 function fetchLast(status: IStatus; message: Pointer): Integer; virtual; abstract;
1410 function fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer; virtual; abstract;
1411 function fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer; virtual; abstract;
1412 function isEof(status: IStatus): Boolean; virtual; abstract;
1413 function isBof(status: IStatus): Boolean; virtual; abstract;
1414 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1415 procedure close(status: IStatus); virtual; abstract;
1416 procedure setDelayedOutputFormat(status: IStatus; format: IMessageMetadata); virtual; abstract;
1417 end;
1418
1419 StatementVTable = class(ReferenceCountedVTable)
1420 getInfo: IStatement_getInfoPtr;
1421 getType: IStatement_getTypePtr;
1422 getPlan: IStatement_getPlanPtr;
1423 getAffectedRecords: IStatement_getAffectedRecordsPtr;
1424 getInputMetadata: IStatement_getInputMetadataPtr;
1425 getOutputMetadata: IStatement_getOutputMetadataPtr;
1426 execute: IStatement_executePtr;
1427 openCursor: IStatement_openCursorPtr;
1428 setCursorName: IStatement_setCursorNamePtr;
1429 free: IStatement_freePtr;
1430 getFlags: IStatement_getFlagsPtr;
1431 getTimeout: IStatement_getTimeoutPtr;
1432 setTimeout: IStatement_setTimeoutPtr;
1433 createBatch: IStatement_createBatchPtr;
1434 end;
1435
1436 IStatement = class(IReferenceCounted)
1437 const VERSION = 4;
1438 const PREPARE_PREFETCH_NONE = Cardinal($0);
1439 const PREPARE_PREFETCH_TYPE = Cardinal($1);
1440 const PREPARE_PREFETCH_INPUT_PARAMETERS = Cardinal($2);
1441 const PREPARE_PREFETCH_OUTPUT_PARAMETERS = Cardinal($4);
1442 const PREPARE_PREFETCH_LEGACY_PLAN = Cardinal($8);
1443 const PREPARE_PREFETCH_DETAILED_PLAN = Cardinal($10);
1444 const PREPARE_PREFETCH_AFFECTED_RECORDS = Cardinal($20);
1445 const PREPARE_PREFETCH_FLAGS = Cardinal($40);
1446 const PREPARE_PREFETCH_METADATA = Cardinal(IStatement.PREPARE_PREFETCH_TYPE or IStatement.PREPARE_PREFETCH_FLAGS or IStatement.PREPARE_PREFETCH_INPUT_PARAMETERS or IStatement.PREPARE_PREFETCH_OUTPUT_PARAMETERS);
1447 const PREPARE_PREFETCH_ALL = Cardinal(IStatement.PREPARE_PREFETCH_METADATA or IStatement.PREPARE_PREFETCH_LEGACY_PLAN or IStatement.PREPARE_PREFETCH_DETAILED_PLAN or IStatement.PREPARE_PREFETCH_AFFECTED_RECORDS);
1448 const FLAG_HAS_CURSOR = Cardinal($1);
1449 const FLAG_REPEAT_EXECUTE = Cardinal($2);
1450 const CURSOR_TYPE_SCROLLABLE = Cardinal($1);
1451
1452 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1453 function getType(status: IStatus): Cardinal;
1454 function getPlan(status: IStatus; detailed: Boolean): PAnsiChar;
1455 function getAffectedRecords(status: IStatus): QWord;
1456 function getInputMetadata(status: IStatus): IMessageMetadata;
1457 function getOutputMetadata(status: IStatus): IMessageMetadata;
1458 function execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
1459 function openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet;
1460 procedure setCursorName(status: IStatus; name: PAnsiChar);
1461 procedure free(status: IStatus);
1462 function getFlags(status: IStatus): Cardinal;
1463 function getTimeout(status: IStatus): Cardinal;
1464 procedure setTimeout(status: IStatus; timeOut: Cardinal);
1465 function createBatch(status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
1466 end;
1467
1468 IStatementImpl = class(IStatement)
1469 constructor create;
1470
1471 procedure addRef(); virtual; abstract;
1472 function release(): Integer; virtual; abstract;
1473 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1474 function getType(status: IStatus): Cardinal; virtual; abstract;
1475 function getPlan(status: IStatus; detailed: Boolean): PAnsiChar; virtual; abstract;
1476 function getAffectedRecords(status: IStatus): QWord; virtual; abstract;
1477 function getInputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1478 function getOutputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1479 function execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; virtual; abstract;
1480 function openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; virtual; abstract;
1481 procedure setCursorName(status: IStatus; name: PAnsiChar); virtual; abstract;
1482 procedure free(status: IStatus); virtual; abstract;
1483 function getFlags(status: IStatus): Cardinal; virtual; abstract;
1484 function getTimeout(status: IStatus): Cardinal; virtual; abstract;
1485 procedure setTimeout(status: IStatus; timeOut: Cardinal); virtual; abstract;
1486 function createBatch(status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; virtual; abstract;
1487 end;
1488
1489 BatchVTable = class(ReferenceCountedVTable)
1490 add: IBatch_addPtr;
1491 addBlob: IBatch_addBlobPtr;
1492 appendBlobData: IBatch_appendBlobDataPtr;
1493 addBlobStream: IBatch_addBlobStreamPtr;
1494 registerBlob: IBatch_registerBlobPtr;
1495 execute: IBatch_executePtr;
1496 cancel: IBatch_cancelPtr;
1497 getBlobAlignment: IBatch_getBlobAlignmentPtr;
1498 getMetadata: IBatch_getMetadataPtr;
1499 setDefaultBpb: IBatch_setDefaultBpbPtr;
1500 end;
1501
1502 IBatch = class(IReferenceCounted)
1503 const VERSION = 3;
1504 const VERSION1 = Byte(1);
1505 const TAG_MULTIERROR = Byte(1);
1506 const TAG_RECORD_COUNTS = Byte(2);
1507 const TAG_BUFFER_BYTES_SIZE = Byte(3);
1508 const TAG_BLOB_POLICY = Byte(4);
1509 const TAG_DETAILED_ERRORS = Byte(5);
1510 const BLOB_NONE = Byte(0);
1511 const BLOB_ID_ENGINE = Byte(1);
1512 const BLOB_ID_USER = Byte(2);
1513 const BLOB_STREAM = Byte(3);
1514 const BLOB_SEGHDR_ALIGN = Cardinal(2);
1515
1516 procedure add(status: IStatus; count: Cardinal; inBuffer: Pointer);
1517 procedure addBlob(status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr);
1518 procedure appendBlobData(status: IStatus; length: Cardinal; inBuffer: Pointer);
1519 procedure addBlobStream(status: IStatus; length: Cardinal; inBuffer: Pointer);
1520 procedure registerBlob(status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr);
1521 function execute(status: IStatus; transaction: ITransaction): IBatchCompletionState;
1522 procedure cancel(status: IStatus);
1523 function getBlobAlignment(status: IStatus): Cardinal;
1524 function getMetadata(status: IStatus): IMessageMetadata;
1525 procedure setDefaultBpb(status: IStatus; parLength: Cardinal; par: BytePtr);
1526 end;
1527
1528 IBatchImpl = class(IBatch)
1529 constructor create;
1530
1531 procedure addRef(); virtual; abstract;
1532 function release(): Integer; virtual; abstract;
1533 procedure add(status: IStatus; count: Cardinal; inBuffer: Pointer); virtual; abstract;
1534 procedure addBlob(status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr); virtual; abstract;
1535 procedure appendBlobData(status: IStatus; length: Cardinal; inBuffer: Pointer); virtual; abstract;
1536 procedure addBlobStream(status: IStatus; length: Cardinal; inBuffer: Pointer); virtual; abstract;
1537 procedure registerBlob(status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr); virtual; abstract;
1538 function execute(status: IStatus; transaction: ITransaction): IBatchCompletionState; virtual; abstract;
1539 procedure cancel(status: IStatus); virtual; abstract;
1540 function getBlobAlignment(status: IStatus): Cardinal; virtual; abstract;
1541 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1542 procedure setDefaultBpb(status: IStatus; parLength: Cardinal; par: BytePtr); virtual; abstract;
1543 end;
1544
1545 BatchCompletionStateVTable = class(DisposableVTable)
1546 getSize: IBatchCompletionState_getSizePtr;
1547 getState: IBatchCompletionState_getStatePtr;
1548 findError: IBatchCompletionState_findErrorPtr;
1549 getStatus: IBatchCompletionState_getStatusPtr;
1550 end;
1551
1552 IBatchCompletionState = class(IDisposable)
1553 const VERSION = 3;
1554 const EXECUTE_FAILED = Integer(-1);
1555 const SUCCESS_NO_INFO = Integer(-2);
1556 const NO_MORE_ERRORS = Cardinal($ffffffff);
1557
1558 function getSize(status: IStatus): Cardinal;
1559 function getState(status: IStatus; pos: Cardinal): Integer;
1560 function findError(status: IStatus; pos: Cardinal): Cardinal;
1561 procedure getStatus(status: IStatus; to_: IStatus; pos: Cardinal);
1562 end;
1563
1564 IBatchCompletionStateImpl = class(IBatchCompletionState)
1565 constructor create;
1566
1567 procedure dispose(); virtual; abstract;
1568 function getSize(status: IStatus): Cardinal; virtual; abstract;
1569 function getState(status: IStatus; pos: Cardinal): Integer; virtual; abstract;
1570 function findError(status: IStatus; pos: Cardinal): Cardinal; virtual; abstract;
1571 procedure getStatus(status: IStatus; to_: IStatus; pos: Cardinal); virtual; abstract;
1572 end;
1573
1574 ReplicatorVTable = class(ReferenceCountedVTable)
1575 process: IReplicator_processPtr;
1576 close: IReplicator_closePtr;
1577 end;
1578
1579 IReplicator = class(IReferenceCounted)
1580 const VERSION = 3;
1581
1582 procedure process(status: IStatus; length: Cardinal; data: BytePtr);
1583 procedure close(status: IStatus);
1584 end;
1585
1586 IReplicatorImpl = class(IReplicator)
1587 constructor create;
1588
1589 procedure addRef(); virtual; abstract;
1590 function release(): Integer; virtual; abstract;
1591 procedure process(status: IStatus; length: Cardinal; data: BytePtr); virtual; abstract;
1592 procedure close(status: IStatus); virtual; abstract;
1593 end;
1594
1595 RequestVTable = class(ReferenceCountedVTable)
1596 receive: IRequest_receivePtr;
1597 send: IRequest_sendPtr;
1598 getInfo: IRequest_getInfoPtr;
1599 start: IRequest_startPtr;
1600 startAndSend: IRequest_startAndSendPtr;
1601 unwind: IRequest_unwindPtr;
1602 free: IRequest_freePtr;
1603 end;
1604
1605 IRequest = class(IReferenceCounted)
1606 const VERSION = 3;
1607
1608 procedure receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
1609 procedure send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
1610 procedure getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1611 procedure start(status: IStatus; tra: ITransaction; level: Integer);
1612 procedure startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
1613 procedure unwind(status: IStatus; level: Integer);
1614 procedure free(status: IStatus);
1615 end;
1616
1617 IRequestImpl = class(IRequest)
1618 constructor create;
1619
1620 procedure addRef(); virtual; abstract;
1621 function release(): Integer; virtual; abstract;
1622 procedure receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); virtual; abstract;
1623 procedure send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); virtual; abstract;
1624 procedure getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1625 procedure start(status: IStatus; tra: ITransaction; level: Integer); virtual; abstract;
1626 procedure startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); virtual; abstract;
1627 procedure unwind(status: IStatus; level: Integer); virtual; abstract;
1628 procedure free(status: IStatus); virtual; abstract;
1629 end;
1630
1631 EventsVTable = class(ReferenceCountedVTable)
1632 cancel: IEvents_cancelPtr;
1633 end;
1634
1635 IEvents = class(IReferenceCounted)
1636 const VERSION = 3;
1637
1638 procedure cancel(status: IStatus);
1639 end;
1640
1641 IEventsImpl = class(IEvents)
1642 constructor create;
1643
1644 procedure addRef(); virtual; abstract;
1645 function release(): Integer; virtual; abstract;
1646 procedure cancel(status: IStatus); virtual; abstract;
1647 end;
1648
1649 AttachmentVTable = class(ReferenceCountedVTable)
1650 getInfo: IAttachment_getInfoPtr;
1651 startTransaction: IAttachment_startTransactionPtr;
1652 reconnectTransaction: IAttachment_reconnectTransactionPtr;
1653 compileRequest: IAttachment_compileRequestPtr;
1654 transactRequest: IAttachment_transactRequestPtr;
1655 createBlob: IAttachment_createBlobPtr;
1656 openBlob: IAttachment_openBlobPtr;
1657 getSlice: IAttachment_getSlicePtr;
1658 putSlice: IAttachment_putSlicePtr;
1659 executeDyn: IAttachment_executeDynPtr;
1660 prepare: IAttachment_preparePtr;
1661 execute: IAttachment_executePtr;
1662 openCursor: IAttachment_openCursorPtr;
1663 queEvents: IAttachment_queEventsPtr;
1664 cancelOperation: IAttachment_cancelOperationPtr;
1665 ping: IAttachment_pingPtr;
1666 detach: IAttachment_detachPtr;
1667 dropDatabase: IAttachment_dropDatabasePtr;
1668 getIdleTimeout: IAttachment_getIdleTimeoutPtr;
1669 setIdleTimeout: IAttachment_setIdleTimeoutPtr;
1670 getStatementTimeout: IAttachment_getStatementTimeoutPtr;
1671 setStatementTimeout: IAttachment_setStatementTimeoutPtr;
1672 createBatch: IAttachment_createBatchPtr;
1673 createReplicator: IAttachment_createReplicatorPtr;
1674 end;
1675
1676 IAttachment = class(IReferenceCounted)
1677 const VERSION = 4;
1678
1679 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1680 function startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction;
1681 function reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction;
1682 function compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest;
1683 procedure transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr);
1684 function createBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
1685 function openBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
1686 function getSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer;
1687 procedure putSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr);
1688 procedure executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr);
1689 function prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement;
1690 function execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
1691 function openCursor(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet;
1692 function queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents;
1693 procedure cancelOperation(status: IStatus; option: Integer);
1694 procedure ping(status: IStatus);
1695 procedure detach(status: IStatus);
1696 procedure dropDatabase(status: IStatus);
1697 function getIdleTimeout(status: IStatus): Cardinal;
1698 procedure setIdleTimeout(status: IStatus; timeOut: Cardinal);
1699 function getStatementTimeout(status: IStatus): Cardinal;
1700 procedure setStatementTimeout(status: IStatus; timeOut: Cardinal);
1701 function createBatch(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
1702 function createReplicator(status: IStatus): IReplicator;
1703 end;
1704
1705 IAttachmentImpl = class(IAttachment)
1706 constructor create;
1707
1708 procedure addRef(); virtual; abstract;
1709 function release(): Integer; virtual; abstract;
1710 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1711 function startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; virtual; abstract;
1712 function reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction; virtual; abstract;
1713 function compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; virtual; abstract;
1714 procedure transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); virtual; abstract;
1715 function createBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; virtual; abstract;
1716 function openBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; virtual; abstract;
1717 function getSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; virtual; abstract;
1718 procedure putSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr); virtual; abstract;
1719 procedure executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); virtual; abstract;
1720 function prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; virtual; abstract;
1721 function execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; virtual; abstract;
1722 function openCursor(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet; virtual; abstract;
1723 function queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; virtual; abstract;
1724 procedure cancelOperation(status: IStatus; option: Integer); virtual; abstract;
1725 procedure ping(status: IStatus); virtual; abstract;
1726 procedure detach(status: IStatus); virtual; abstract;
1727 procedure dropDatabase(status: IStatus); virtual; abstract;
1728 function getIdleTimeout(status: IStatus): Cardinal; virtual; abstract;
1729 procedure setIdleTimeout(status: IStatus; timeOut: Cardinal); virtual; abstract;
1730 function getStatementTimeout(status: IStatus): Cardinal; virtual; abstract;
1731 procedure setStatementTimeout(status: IStatus; timeOut: Cardinal); virtual; abstract;
1732 function createBatch(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; virtual; abstract;
1733 function createReplicator(status: IStatus): IReplicator; virtual; abstract;
1734 end;
1735
1736 ServiceVTable = class(ReferenceCountedVTable)
1737 detach: IService_detachPtr;
1738 query: IService_queryPtr;
1739 start: IService_startPtr;
1740 end;
1741
1742 IService = class(IReferenceCounted)
1743 const VERSION = 3;
1744
1745 procedure detach(status: IStatus);
1746 procedure query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1747 procedure start(status: IStatus; spbLength: Cardinal; spb: BytePtr);
1748 end;
1749
1750 IServiceImpl = class(IService)
1751 constructor create;
1752
1753 procedure addRef(); virtual; abstract;
1754 function release(): Integer; virtual; abstract;
1755 procedure detach(status: IStatus); virtual; abstract;
1756 procedure query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1757 procedure start(status: IStatus; spbLength: Cardinal; spb: BytePtr); virtual; abstract;
1758 end;
1759
1760 ProviderVTable = class(PluginBaseVTable)
1761 attachDatabase: IProvider_attachDatabasePtr;
1762 createDatabase: IProvider_createDatabasePtr;
1763 attachServiceManager: IProvider_attachServiceManagerPtr;
1764 shutdown: IProvider_shutdownPtr;
1765 setDbCryptCallback: IProvider_setDbCryptCallbackPtr;
1766 end;
1767
1768 IProvider = class(IPluginBase)
1769 const VERSION = 4;
1770
1771 function attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
1772 function createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
1773 function attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService;
1774 procedure shutdown(status: IStatus; timeout: Cardinal; reason: Integer);
1775 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
1776 end;
1777
1778 IProviderImpl = class(IProvider)
1779 constructor create;
1780
1781 procedure addRef(); virtual; abstract;
1782 function release(): Integer; virtual; abstract;
1783 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1784 function getOwner(): IReferenceCounted; virtual; abstract;
1785 function attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; virtual; abstract;
1786 function createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; virtual; abstract;
1787 function attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; virtual; abstract;
1788 procedure shutdown(status: IStatus; timeout: Cardinal; reason: Integer); virtual; abstract;
1789 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback); virtual; abstract;
1790 end;
1791
1792 DtcStartVTable = class(DisposableVTable)
1793 addAttachment: IDtcStart_addAttachmentPtr;
1794 addWithTpb: IDtcStart_addWithTpbPtr;
1795 start: IDtcStart_startPtr;
1796 end;
1797
1798 IDtcStart = class(IDisposable)
1799 const VERSION = 3;
1800
1801 procedure addAttachment(status: IStatus; att: IAttachment);
1802 procedure addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr);
1803 function start(status: IStatus): ITransaction;
1804 end;
1805
1806 IDtcStartImpl = class(IDtcStart)
1807 constructor create;
1808
1809 procedure dispose(); virtual; abstract;
1810 procedure addAttachment(status: IStatus; att: IAttachment); virtual; abstract;
1811 procedure addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); virtual; abstract;
1812 function start(status: IStatus): ITransaction; virtual; abstract;
1813 end;
1814
1815 DtcVTable = class(VersionedVTable)
1816 join: IDtc_joinPtr;
1817 startBuilder: IDtc_startBuilderPtr;
1818 end;
1819
1820 IDtc = class(IVersioned)
1821 const VERSION = 2;
1822
1823 function join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction;
1824 function startBuilder(status: IStatus): IDtcStart;
1825 end;
1826
1827 IDtcImpl = class(IDtc)
1828 constructor create;
1829
1830 function join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction; virtual; abstract;
1831 function startBuilder(status: IStatus): IDtcStart; virtual; abstract;
1832 end;
1833
1834 AuthVTable = class(PluginBaseVTable)
1835 end;
1836
1837 IAuth = class(IPluginBase)
1838 const VERSION = 4;
1839 const AUTH_FAILED = Integer(-1);
1840 const AUTH_SUCCESS = Integer(0);
1841 const AUTH_MORE_DATA = Integer(1);
1842 const AUTH_CONTINUE = Integer(2);
1843
1844 end;
1845
1846 IAuthImpl = class(IAuth)
1847 constructor create;
1848
1849 procedure addRef(); virtual; abstract;
1850 function release(): Integer; virtual; abstract;
1851 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1852 function getOwner(): IReferenceCounted; virtual; abstract;
1853 end;
1854
1855 WriterVTable = class(VersionedVTable)
1856 reset: IWriter_resetPtr;
1857 add: IWriter_addPtr;
1858 setType: IWriter_setTypePtr;
1859 setDb: IWriter_setDbPtr;
1860 end;
1861
1862 IWriter = class(IVersioned)
1863 const VERSION = 2;
1864
1865 procedure reset();
1866 procedure add(status: IStatus; name: PAnsiChar);
1867 procedure setType(status: IStatus; value: PAnsiChar);
1868 procedure setDb(status: IStatus; value: PAnsiChar);
1869 end;
1870
1871 IWriterImpl = class(IWriter)
1872 constructor create;
1873
1874 procedure reset(); virtual; abstract;
1875 procedure add(status: IStatus; name: PAnsiChar); virtual; abstract;
1876 procedure setType(status: IStatus; value: PAnsiChar); virtual; abstract;
1877 procedure setDb(status: IStatus; value: PAnsiChar); virtual; abstract;
1878 end;
1879
1880 ServerBlockVTable = class(VersionedVTable)
1881 getLogin: IServerBlock_getLoginPtr;
1882 getData: IServerBlock_getDataPtr;
1883 putData: IServerBlock_putDataPtr;
1884 newKey: IServerBlock_newKeyPtr;
1885 end;
1886
1887 IServerBlock = class(IVersioned)
1888 const VERSION = 2;
1889
1890 function getLogin(): PAnsiChar;
1891 function getData(length: CardinalPtr): BytePtr;
1892 procedure putData(status: IStatus; length: Cardinal; data: Pointer);
1893 function newKey(status: IStatus): ICryptKey;
1894 end;
1895
1896 IServerBlockImpl = class(IServerBlock)
1897 constructor create;
1898
1899 function getLogin(): PAnsiChar; virtual; abstract;
1900 function getData(length: CardinalPtr): BytePtr; virtual; abstract;
1901 procedure putData(status: IStatus; length: Cardinal; data: Pointer); virtual; abstract;
1902 function newKey(status: IStatus): ICryptKey; virtual; abstract;
1903 end;
1904
1905 ClientBlockVTable = class(ReferenceCountedVTable)
1906 getLogin: IClientBlock_getLoginPtr;
1907 getPassword: IClientBlock_getPasswordPtr;
1908 getData: IClientBlock_getDataPtr;
1909 putData: IClientBlock_putDataPtr;
1910 newKey: IClientBlock_newKeyPtr;
1911 getAuthBlock: IClientBlock_getAuthBlockPtr;
1912 end;
1913
1914 IClientBlock = class(IReferenceCounted)
1915 const VERSION = 4;
1916
1917 function getLogin(): PAnsiChar;
1918 function getPassword(): PAnsiChar;
1919 function getData(length: CardinalPtr): BytePtr;
1920 procedure putData(status: IStatus; length: Cardinal; data: Pointer);
1921 function newKey(status: IStatus): ICryptKey;
1922 function getAuthBlock(status: IStatus): IAuthBlock;
1923 end;
1924
1925 IClientBlockImpl = class(IClientBlock)
1926 constructor create;
1927
1928 procedure addRef(); virtual; abstract;
1929 function release(): Integer; virtual; abstract;
1930 function getLogin(): PAnsiChar; virtual; abstract;
1931 function getPassword(): PAnsiChar; virtual; abstract;
1932 function getData(length: CardinalPtr): BytePtr; virtual; abstract;
1933 procedure putData(status: IStatus; length: Cardinal; data: Pointer); virtual; abstract;
1934 function newKey(status: IStatus): ICryptKey; virtual; abstract;
1935 function getAuthBlock(status: IStatus): IAuthBlock; virtual; abstract;
1936 end;
1937
1938 ServerVTable = class(AuthVTable)
1939 authenticate: IServer_authenticatePtr;
1940 setDbCryptCallback: IServer_setDbCryptCallbackPtr;
1941 end;
1942
1943 IServer = class(IAuth)
1944 const VERSION = 6;
1945
1946 function authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer;
1947 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
1948 end;
1949
1950 IServerImpl = class(IServer)
1951 constructor create;
1952
1953 procedure addRef(); virtual; abstract;
1954 function release(): Integer; virtual; abstract;
1955 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1956 function getOwner(): IReferenceCounted; virtual; abstract;
1957 function authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; virtual; abstract;
1958 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback); virtual; abstract;
1959 end;
1960
1961 ClientVTable = class(AuthVTable)
1962 authenticate: IClient_authenticatePtr;
1963 end;
1964
1965 IClient = class(IAuth)
1966 const VERSION = 5;
1967
1968 function authenticate(status: IStatus; cBlock: IClientBlock): Integer;
1969 end;
1970
1971 IClientImpl = class(IClient)
1972 constructor create;
1973
1974 procedure addRef(); virtual; abstract;
1975 function release(): Integer; virtual; abstract;
1976 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1977 function getOwner(): IReferenceCounted; virtual; abstract;
1978 function authenticate(status: IStatus; cBlock: IClientBlock): Integer; virtual; abstract;
1979 end;
1980
1981 UserFieldVTable = class(VersionedVTable)
1982 entered: IUserField_enteredPtr;
1983 specified: IUserField_specifiedPtr;
1984 setEntered: IUserField_setEnteredPtr;
1985 end;
1986
1987 IUserField = class(IVersioned)
1988 const VERSION = 2;
1989
1990 function entered(): Integer;
1991 function specified(): Integer;
1992 procedure setEntered(status: IStatus; newValue: Integer);
1993 end;
1994
1995 IUserFieldImpl = class(IUserField)
1996 constructor create;
1997
1998 function entered(): Integer; virtual; abstract;
1999 function specified(): Integer; virtual; abstract;
2000 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
2001 end;
2002
2003 CharUserFieldVTable = class(UserFieldVTable)
2004 get: ICharUserField_getPtr;
2005 set_: ICharUserField_set_Ptr;
2006 end;
2007
2008 ICharUserField = class(IUserField)
2009 const VERSION = 3;
2010
2011 function get(): PAnsiChar;
2012 procedure set_(status: IStatus; newValue: PAnsiChar);
2013 end;
2014
2015 ICharUserFieldImpl = class(ICharUserField)
2016 constructor create;
2017
2018 function entered(): Integer; virtual; abstract;
2019 function specified(): Integer; virtual; abstract;
2020 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
2021 function get(): PAnsiChar; virtual; abstract;
2022 procedure set_(status: IStatus; newValue: PAnsiChar); virtual; abstract;
2023 end;
2024
2025 IntUserFieldVTable = class(UserFieldVTable)
2026 get: IIntUserField_getPtr;
2027 set_: IIntUserField_set_Ptr;
2028 end;
2029
2030 IIntUserField = class(IUserField)
2031 const VERSION = 3;
2032
2033 function get(): Integer;
2034 procedure set_(status: IStatus; newValue: Integer);
2035 end;
2036
2037 IIntUserFieldImpl = class(IIntUserField)
2038 constructor create;
2039
2040 function entered(): Integer; virtual; abstract;
2041 function specified(): Integer; virtual; abstract;
2042 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
2043 function get(): Integer; virtual; abstract;
2044 procedure set_(status: IStatus; newValue: Integer); virtual; abstract;
2045 end;
2046
2047 UserVTable = class(VersionedVTable)
2048 operation: IUser_operationPtr;
2049 userName: IUser_userNamePtr;
2050 password: IUser_passwordPtr;
2051 firstName: IUser_firstNamePtr;
2052 lastName: IUser_lastNamePtr;
2053 middleName: IUser_middleNamePtr;
2054 comment: IUser_commentPtr;
2055 attributes: IUser_attributesPtr;
2056 active: IUser_activePtr;
2057 admin: IUser_adminPtr;
2058 clear: IUser_clearPtr;
2059 end;
2060
2061 IUser = class(IVersioned)
2062 const VERSION = 2;
2063 const OP_USER_ADD = Cardinal(1);
2064 const OP_USER_MODIFY = Cardinal(2);
2065 const OP_USER_DELETE = Cardinal(3);
2066 const OP_USER_DISPLAY = Cardinal(4);
2067 const OP_USER_SET_MAP = Cardinal(5);
2068 const OP_USER_DROP_MAP = Cardinal(6);
2069
2070 function operation(): Cardinal;
2071 function userName(): ICharUserField;
2072 function password(): ICharUserField;
2073 function firstName(): ICharUserField;
2074 function lastName(): ICharUserField;
2075 function middleName(): ICharUserField;
2076 function comment(): ICharUserField;
2077 function attributes(): ICharUserField;
2078 function active(): IIntUserField;
2079 function admin(): IIntUserField;
2080 procedure clear(status: IStatus);
2081 end;
2082
2083 IUserImpl = class(IUser)
2084 constructor create;
2085
2086 function operation(): Cardinal; virtual; abstract;
2087 function userName(): ICharUserField; virtual; abstract;
2088 function password(): ICharUserField; virtual; abstract;
2089 function firstName(): ICharUserField; virtual; abstract;
2090 function lastName(): ICharUserField; virtual; abstract;
2091 function middleName(): ICharUserField; virtual; abstract;
2092 function comment(): ICharUserField; virtual; abstract;
2093 function attributes(): ICharUserField; virtual; abstract;
2094 function active(): IIntUserField; virtual; abstract;
2095 function admin(): IIntUserField; virtual; abstract;
2096 procedure clear(status: IStatus); virtual; abstract;
2097 end;
2098
2099 ListUsersVTable = class(VersionedVTable)
2100 list: IListUsers_listPtr;
2101 end;
2102
2103 IListUsers = class(IVersioned)
2104 const VERSION = 2;
2105
2106 procedure list(status: IStatus; user: IUser);
2107 end;
2108
2109 IListUsersImpl = class(IListUsers)
2110 constructor create;
2111
2112 procedure list(status: IStatus; user: IUser); virtual; abstract;
2113 end;
2114
2115 LogonInfoVTable = class(VersionedVTable)
2116 name: ILogonInfo_namePtr;
2117 role: ILogonInfo_rolePtr;
2118 networkProtocol: ILogonInfo_networkProtocolPtr;
2119 remoteAddress: ILogonInfo_remoteAddressPtr;
2120 authBlock: ILogonInfo_authBlockPtr;
2121 attachment: ILogonInfo_attachmentPtr;
2122 transaction: ILogonInfo_transactionPtr;
2123 end;
2124
2125 ILogonInfo = class(IVersioned)
2126 const VERSION = 3;
2127
2128 function name(): PAnsiChar;
2129 function role(): PAnsiChar;
2130 function networkProtocol(): PAnsiChar;
2131 function remoteAddress(): PAnsiChar;
2132 function authBlock(length: CardinalPtr): BytePtr;
2133 function attachment(status: IStatus): IAttachment;
2134 function transaction(status: IStatus): ITransaction;
2135 end;
2136
2137 ILogonInfoImpl = class(ILogonInfo)
2138 constructor create;
2139
2140 function name(): PAnsiChar; virtual; abstract;
2141 function role(): PAnsiChar; virtual; abstract;
2142 function networkProtocol(): PAnsiChar; virtual; abstract;
2143 function remoteAddress(): PAnsiChar; virtual; abstract;
2144 function authBlock(length: CardinalPtr): BytePtr; virtual; abstract;
2145 function attachment(status: IStatus): IAttachment; virtual; abstract;
2146 function transaction(status: IStatus): ITransaction; virtual; abstract;
2147 end;
2148
2149 ManagementVTable = class(PluginBaseVTable)
2150 start: IManagement_startPtr;
2151 execute: IManagement_executePtr;
2152 commit: IManagement_commitPtr;
2153 rollback: IManagement_rollbackPtr;
2154 end;
2155
2156 IManagement = class(IPluginBase)
2157 const VERSION = 4;
2158
2159 procedure start(status: IStatus; logonInfo: ILogonInfo);
2160 function execute(status: IStatus; user: IUser; callback: IListUsers): Integer;
2161 procedure commit(status: IStatus);
2162 procedure rollback(status: IStatus);
2163 end;
2164
2165 IManagementImpl = class(IManagement)
2166 constructor create;
2167
2168 procedure addRef(); virtual; abstract;
2169 function release(): Integer; virtual; abstract;
2170 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2171 function getOwner(): IReferenceCounted; virtual; abstract;
2172 procedure start(status: IStatus; logonInfo: ILogonInfo); virtual; abstract;
2173 function execute(status: IStatus; user: IUser; callback: IListUsers): Integer; virtual; abstract;
2174 procedure commit(status: IStatus); virtual; abstract;
2175 procedure rollback(status: IStatus); virtual; abstract;
2176 end;
2177
2178 AuthBlockVTable = class(VersionedVTable)
2179 getType: IAuthBlock_getTypePtr;
2180 getName: IAuthBlock_getNamePtr;
2181 getPlugin: IAuthBlock_getPluginPtr;
2182 getSecurityDb: IAuthBlock_getSecurityDbPtr;
2183 getOriginalPlugin: IAuthBlock_getOriginalPluginPtr;
2184 next: IAuthBlock_nextPtr;
2185 first: IAuthBlock_firstPtr;
2186 end;
2187
2188 IAuthBlock = class(IVersioned)
2189 const VERSION = 2;
2190
2191 function getType(): PAnsiChar;
2192 function getName(): PAnsiChar;
2193 function getPlugin(): PAnsiChar;
2194 function getSecurityDb(): PAnsiChar;
2195 function getOriginalPlugin(): PAnsiChar;
2196 function next(status: IStatus): Boolean;
2197 function first(status: IStatus): Boolean;
2198 end;
2199
2200 IAuthBlockImpl = class(IAuthBlock)
2201 constructor create;
2202
2203 function getType(): PAnsiChar; virtual; abstract;
2204 function getName(): PAnsiChar; virtual; abstract;
2205 function getPlugin(): PAnsiChar; virtual; abstract;
2206 function getSecurityDb(): PAnsiChar; virtual; abstract;
2207 function getOriginalPlugin(): PAnsiChar; virtual; abstract;
2208 function next(status: IStatus): Boolean; virtual; abstract;
2209 function first(status: IStatus): Boolean; virtual; abstract;
2210 end;
2211
2212 WireCryptPluginVTable = class(PluginBaseVTable)
2213 getKnownTypes: IWireCryptPlugin_getKnownTypesPtr;
2214 setKey: IWireCryptPlugin_setKeyPtr;
2215 encrypt: IWireCryptPlugin_encryptPtr;
2216 decrypt: IWireCryptPlugin_decryptPtr;
2217 getSpecificData: IWireCryptPlugin_getSpecificDataPtr;
2218 setSpecificData: IWireCryptPlugin_setSpecificDataPtr;
2219 end;
2220
2221 IWireCryptPlugin = class(IPluginBase)
2222 const VERSION = 5;
2223
2224 function getKnownTypes(status: IStatus): PAnsiChar;
2225 procedure setKey(status: IStatus; key: ICryptKey);
2226 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2227 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2228 function getSpecificData(status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr;
2229 procedure setSpecificData(status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr);
2230 end;
2231
2232 IWireCryptPluginImpl = class(IWireCryptPlugin)
2233 constructor create;
2234
2235 procedure addRef(); virtual; abstract;
2236 function release(): Integer; virtual; abstract;
2237 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2238 function getOwner(): IReferenceCounted; virtual; abstract;
2239 function getKnownTypes(status: IStatus): PAnsiChar; virtual; abstract;
2240 procedure setKey(status: IStatus; key: ICryptKey); virtual; abstract;
2241 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2242 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2243 function getSpecificData(status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr; virtual; abstract;
2244 procedure setSpecificData(status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr); virtual; abstract;
2245 end;
2246
2247 CryptKeyCallbackVTable = class(VersionedVTable)
2248 callback: ICryptKeyCallback_callbackPtr;
2249 end;
2250
2251 ICryptKeyCallback = class(IVersioned)
2252 const VERSION = 2;
2253
2254 function callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal;
2255 end;
2256
2257 ICryptKeyCallbackImpl = class(ICryptKeyCallback)
2258 constructor create;
2259
2260 function callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; virtual; abstract;
2261 end;
2262
2263 KeyHolderPluginVTable = class(PluginBaseVTable)
2264 keyCallback: IKeyHolderPlugin_keyCallbackPtr;
2265 keyHandle: IKeyHolderPlugin_keyHandlePtr;
2266 useOnlyOwnKeys: IKeyHolderPlugin_useOnlyOwnKeysPtr;
2267 chainHandle: IKeyHolderPlugin_chainHandlePtr;
2268 end;
2269
2270 IKeyHolderPlugin = class(IPluginBase)
2271 const VERSION = 5;
2272
2273 function keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer;
2274 function keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback;
2275 function useOnlyOwnKeys(status: IStatus): Boolean;
2276 function chainHandle(status: IStatus): ICryptKeyCallback;
2277 end;
2278
2279 IKeyHolderPluginImpl = class(IKeyHolderPlugin)
2280 constructor create;
2281
2282 procedure addRef(); virtual; abstract;
2283 function release(): Integer; virtual; abstract;
2284 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2285 function getOwner(): IReferenceCounted; virtual; abstract;
2286 function keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer; virtual; abstract;
2287 function keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; virtual; abstract;
2288 function useOnlyOwnKeys(status: IStatus): Boolean; virtual; abstract;
2289 function chainHandle(status: IStatus): ICryptKeyCallback; virtual; abstract;
2290 end;
2291
2292 DbCryptInfoVTable = class(ReferenceCountedVTable)
2293 getDatabaseFullPath: IDbCryptInfo_getDatabaseFullPathPtr;
2294 end;
2295
2296 IDbCryptInfo = class(IReferenceCounted)
2297 const VERSION = 3;
2298
2299 function getDatabaseFullPath(status: IStatus): PAnsiChar;
2300 end;
2301
2302 IDbCryptInfoImpl = class(IDbCryptInfo)
2303 constructor create;
2304
2305 procedure addRef(); virtual; abstract;
2306 function release(): Integer; virtual; abstract;
2307 function getDatabaseFullPath(status: IStatus): PAnsiChar; virtual; abstract;
2308 end;
2309
2310 DbCryptPluginVTable = class(PluginBaseVTable)
2311 setKey: IDbCryptPlugin_setKeyPtr;
2312 encrypt: IDbCryptPlugin_encryptPtr;
2313 decrypt: IDbCryptPlugin_decryptPtr;
2314 setInfo: IDbCryptPlugin_setInfoPtr;
2315 end;
2316
2317 IDbCryptPlugin = class(IPluginBase)
2318 const VERSION = 5;
2319
2320 procedure setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar);
2321 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2322 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2323 procedure setInfo(status: IStatus; info: IDbCryptInfo);
2324 end;
2325
2326 IDbCryptPluginImpl = class(IDbCryptPlugin)
2327 constructor create;
2328
2329 procedure addRef(); virtual; abstract;
2330 function release(): Integer; virtual; abstract;
2331 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2332 function getOwner(): IReferenceCounted; virtual; abstract;
2333 procedure setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); virtual; abstract;
2334 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2335 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2336 procedure setInfo(status: IStatus; info: IDbCryptInfo); virtual; abstract;
2337 end;
2338
2339 ExternalContextVTable = class(VersionedVTable)
2340 getMaster: IExternalContext_getMasterPtr;
2341 getEngine: IExternalContext_getEnginePtr;
2342 getAttachment: IExternalContext_getAttachmentPtr;
2343 getTransaction: IExternalContext_getTransactionPtr;
2344 getUserName: IExternalContext_getUserNamePtr;
2345 getDatabaseName: IExternalContext_getDatabaseNamePtr;
2346 getClientCharSet: IExternalContext_getClientCharSetPtr;
2347 obtainInfoCode: IExternalContext_obtainInfoCodePtr;
2348 getInfo: IExternalContext_getInfoPtr;
2349 setInfo: IExternalContext_setInfoPtr;
2350 end;
2351
2352 IExternalContext = class(IVersioned)
2353 const VERSION = 2;
2354
2355 function getMaster(): IMaster;
2356 function getEngine(status: IStatus): IExternalEngine;
2357 function getAttachment(status: IStatus): IAttachment;
2358 function getTransaction(status: IStatus): ITransaction;
2359 function getUserName(): PAnsiChar;
2360 function getDatabaseName(): PAnsiChar;
2361 function getClientCharSet(): PAnsiChar;
2362 function obtainInfoCode(): Integer;
2363 function getInfo(code: Integer): Pointer;
2364 function setInfo(code: Integer; value: Pointer): Pointer;
2365 end;
2366
2367 IExternalContextImpl = class(IExternalContext)
2368 constructor create;
2369
2370 function getMaster(): IMaster; virtual; abstract;
2371 function getEngine(status: IStatus): IExternalEngine; virtual; abstract;
2372 function getAttachment(status: IStatus): IAttachment; virtual; abstract;
2373 function getTransaction(status: IStatus): ITransaction; virtual; abstract;
2374 function getUserName(): PAnsiChar; virtual; abstract;
2375 function getDatabaseName(): PAnsiChar; virtual; abstract;
2376 function getClientCharSet(): PAnsiChar; virtual; abstract;
2377 function obtainInfoCode(): Integer; virtual; abstract;
2378 function getInfo(code: Integer): Pointer; virtual; abstract;
2379 function setInfo(code: Integer; value: Pointer): Pointer; virtual; abstract;
2380 end;
2381
2382 ExternalResultSetVTable = class(DisposableVTable)
2383 fetch: IExternalResultSet_fetchPtr;
2384 end;
2385
2386 IExternalResultSet = class(IDisposable)
2387 const VERSION = 3;
2388
2389 function fetch(status: IStatus): Boolean;
2390 end;
2391
2392 IExternalResultSetImpl = class(IExternalResultSet)
2393 constructor create;
2394
2395 procedure dispose(); virtual; abstract;
2396 function fetch(status: IStatus): Boolean; virtual; abstract;
2397 end;
2398
2399 ExternalFunctionVTable = class(DisposableVTable)
2400 getCharSet: IExternalFunction_getCharSetPtr;
2401 execute: IExternalFunction_executePtr;
2402 end;
2403
2404 IExternalFunction = class(IDisposable)
2405 const VERSION = 3;
2406
2407 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2408 procedure execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer);
2409 end;
2410
2411 IExternalFunctionImpl = class(IExternalFunction)
2412 constructor create;
2413
2414 procedure dispose(); virtual; abstract;
2415 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2416 procedure execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); virtual; abstract;
2417 end;
2418
2419 ExternalProcedureVTable = class(DisposableVTable)
2420 getCharSet: IExternalProcedure_getCharSetPtr;
2421 open: IExternalProcedure_openPtr;
2422 end;
2423
2424 IExternalProcedure = class(IDisposable)
2425 const VERSION = 3;
2426
2427 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2428 function open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet;
2429 end;
2430
2431 IExternalProcedureImpl = class(IExternalProcedure)
2432 constructor create;
2433
2434 procedure dispose(); virtual; abstract;
2435 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2436 function open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; virtual; abstract;
2437 end;
2438
2439 ExternalTriggerVTable = class(DisposableVTable)
2440 getCharSet: IExternalTrigger_getCharSetPtr;
2441 execute: IExternalTrigger_executePtr;
2442 end;
2443
2444 IExternalTrigger = class(IDisposable)
2445 const VERSION = 3;
2446 const TYPE_BEFORE = Cardinal(1);
2447 const TYPE_AFTER = Cardinal(2);
2448 const TYPE_DATABASE = Cardinal(3);
2449 const ACTION_INSERT = Cardinal(1);
2450 const ACTION_UPDATE = Cardinal(2);
2451 const ACTION_DELETE = Cardinal(3);
2452 const ACTION_CONNECT = Cardinal(4);
2453 const ACTION_DISCONNECT = Cardinal(5);
2454 const ACTION_TRANS_START = Cardinal(6);
2455 const ACTION_TRANS_COMMIT = Cardinal(7);
2456 const ACTION_TRANS_ROLLBACK = Cardinal(8);
2457 const ACTION_DDL = Cardinal(9);
2458
2459 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2460 procedure execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer);
2461 end;
2462
2463 IExternalTriggerImpl = class(IExternalTrigger)
2464 constructor create;
2465
2466 procedure dispose(); virtual; abstract;
2467 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2468 procedure execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); virtual; abstract;
2469 end;
2470
2471 RoutineMetadataVTable = class(VersionedVTable)
2472 getPackage: IRoutineMetadata_getPackagePtr;
2473 getName: IRoutineMetadata_getNamePtr;
2474 getEntryPoint: IRoutineMetadata_getEntryPointPtr;
2475 getBody: IRoutineMetadata_getBodyPtr;
2476 getInputMetadata: IRoutineMetadata_getInputMetadataPtr;
2477 getOutputMetadata: IRoutineMetadata_getOutputMetadataPtr;
2478 getTriggerMetadata: IRoutineMetadata_getTriggerMetadataPtr;
2479 getTriggerTable: IRoutineMetadata_getTriggerTablePtr;
2480 getTriggerType: IRoutineMetadata_getTriggerTypePtr;
2481 end;
2482
2483 IRoutineMetadata = class(IVersioned)
2484 const VERSION = 2;
2485
2486 function getPackage(status: IStatus): PAnsiChar;
2487 function getName(status: IStatus): PAnsiChar;
2488 function getEntryPoint(status: IStatus): PAnsiChar;
2489 function getBody(status: IStatus): PAnsiChar;
2490 function getInputMetadata(status: IStatus): IMessageMetadata;
2491 function getOutputMetadata(status: IStatus): IMessageMetadata;
2492 function getTriggerMetadata(status: IStatus): IMessageMetadata;
2493 function getTriggerTable(status: IStatus): PAnsiChar;
2494 function getTriggerType(status: IStatus): Cardinal;
2495 end;
2496
2497 IRoutineMetadataImpl = class(IRoutineMetadata)
2498 constructor create;
2499
2500 function getPackage(status: IStatus): PAnsiChar; virtual; abstract;
2501 function getName(status: IStatus): PAnsiChar; virtual; abstract;
2502 function getEntryPoint(status: IStatus): PAnsiChar; virtual; abstract;
2503 function getBody(status: IStatus): PAnsiChar; virtual; abstract;
2504 function getInputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2505 function getOutputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2506 function getTriggerMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2507 function getTriggerTable(status: IStatus): PAnsiChar; virtual; abstract;
2508 function getTriggerType(status: IStatus): Cardinal; virtual; abstract;
2509 end;
2510
2511 ExternalEngineVTable = class(PluginBaseVTable)
2512 open: IExternalEngine_openPtr;
2513 openAttachment: IExternalEngine_openAttachmentPtr;
2514 closeAttachment: IExternalEngine_closeAttachmentPtr;
2515 makeFunction: IExternalEngine_makeFunctionPtr;
2516 makeProcedure: IExternalEngine_makeProcedurePtr;
2517 makeTrigger: IExternalEngine_makeTriggerPtr;
2518 end;
2519
2520 IExternalEngine = class(IPluginBase)
2521 const VERSION = 4;
2522
2523 procedure open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal);
2524 procedure openAttachment(status: IStatus; context: IExternalContext);
2525 procedure closeAttachment(status: IStatus; context: IExternalContext);
2526 function makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction;
2527 function makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure;
2528 function makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger;
2529 end;
2530
2531 IExternalEngineImpl = class(IExternalEngine)
2532 constructor create;
2533
2534 procedure addRef(); virtual; abstract;
2535 function release(): Integer; virtual; abstract;
2536 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2537 function getOwner(): IReferenceCounted; virtual; abstract;
2538 procedure open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); virtual; abstract;
2539 procedure openAttachment(status: IStatus; context: IExternalContext); virtual; abstract;
2540 procedure closeAttachment(status: IStatus; context: IExternalContext); virtual; abstract;
2541 function makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; virtual; abstract;
2542 function makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; virtual; abstract;
2543 function makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; virtual; abstract;
2544 end;
2545
2546 TimerVTable = class(ReferenceCountedVTable)
2547 handler: ITimer_handlerPtr;
2548 end;
2549
2550 ITimer = class(IReferenceCounted)
2551 const VERSION = 3;
2552
2553 procedure handler();
2554 end;
2555
2556 ITimerImpl = class(ITimer)
2557 constructor create;
2558
2559 procedure addRef(); virtual; abstract;
2560 function release(): Integer; virtual; abstract;
2561 procedure handler(); virtual; abstract;
2562 end;
2563
2564 TimerControlVTable = class(VersionedVTable)
2565 start: ITimerControl_startPtr;
2566 stop: ITimerControl_stopPtr;
2567 end;
2568
2569 ITimerControl = class(IVersioned)
2570 const VERSION = 2;
2571
2572 procedure start(status: IStatus; timer: ITimer; microSeconds: QWord);
2573 procedure stop(status: IStatus; timer: ITimer);
2574 end;
2575
2576 ITimerControlImpl = class(ITimerControl)
2577 constructor create;
2578
2579 procedure start(status: IStatus; timer: ITimer; microSeconds: QWord); virtual; abstract;
2580 procedure stop(status: IStatus; timer: ITimer); virtual; abstract;
2581 end;
2582
2583 VersionCallbackVTable = class(VersionedVTable)
2584 callback: IVersionCallback_callbackPtr;
2585 end;
2586
2587 IVersionCallback = class(IVersioned)
2588 const VERSION = 2;
2589
2590 procedure callback(status: IStatus; text: PAnsiChar);
2591 end;
2592
2593 IVersionCallbackImpl = class(IVersionCallback)
2594 constructor create;
2595
2596 procedure callback(status: IStatus; text: PAnsiChar); virtual; abstract;
2597 end;
2598
2599 UtilVTable = class(VersionedVTable)
2600 getFbVersion: IUtil_getFbVersionPtr;
2601 loadBlob: IUtil_loadBlobPtr;
2602 dumpBlob: IUtil_dumpBlobPtr;
2603 getPerfCounters: IUtil_getPerfCountersPtr;
2604 executeCreateDatabase: IUtil_executeCreateDatabasePtr;
2605 decodeDate: IUtil_decodeDatePtr;
2606 decodeTime: IUtil_decodeTimePtr;
2607 encodeDate: IUtil_encodeDatePtr;
2608 encodeTime: IUtil_encodeTimePtr;
2609 formatStatus: IUtil_formatStatusPtr;
2610 getClientVersion: IUtil_getClientVersionPtr;
2611 getXpbBuilder: IUtil_getXpbBuilderPtr;
2612 setOffsets: IUtil_setOffsetsPtr;
2613 getDecFloat16: IUtil_getDecFloat16Ptr;
2614 getDecFloat34: IUtil_getDecFloat34Ptr;
2615 decodeTimeTz: IUtil_decodeTimeTzPtr;
2616 decodeTimeStampTz: IUtil_decodeTimeStampTzPtr;
2617 encodeTimeTz: IUtil_encodeTimeTzPtr;
2618 encodeTimeStampTz: IUtil_encodeTimeStampTzPtr;
2619 getInt128: IUtil_getInt128Ptr;
2620 decodeTimeTzEx: IUtil_decodeTimeTzExPtr;
2621 decodeTimeStampTzEx: IUtil_decodeTimeStampTzExPtr;
2622 end;
2623
2624 IUtil = class(IVersioned)
2625 const VERSION = 4;
2626
2627 procedure getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback);
2628 procedure loadBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
2629 procedure dumpBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
2630 procedure getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr);
2631 function executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment;
2632 procedure decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr);
2633 procedure decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr);
2634 function encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE;
2635 function encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME;
2636 function formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal;
2637 function getClientVersion(): Cardinal;
2638 function getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder;
2639 function setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal;
2640 function getDecFloat16(status: IStatus): IDecFloat16;
2641 function getDecFloat34(status: IStatus): IDecFloat34;
2642 procedure decodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
2643 procedure decodeTimeStampTz(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
2644 procedure encodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar);
2645 procedure encodeTimeStampTz(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: Cardinal; month: Cardinal; day: Cardinal; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar);
2646 function getInt128(status: IStatus): IInt128;
2647 procedure decodeTimeTzEx(status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
2648 procedure decodeTimeStampTzEx(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZ_EXPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
2649 end;
2650
2651 IUtilImpl = class(IUtil)
2652 constructor create;
2653
2654 procedure getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback); virtual; abstract;
2655 procedure loadBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); virtual; abstract;
2656 procedure dumpBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); virtual; abstract;
2657 procedure getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); virtual; abstract;
2658 function executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; virtual; abstract;
2659 procedure decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); virtual; abstract;
2660 procedure decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); virtual; abstract;
2661 function encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; virtual; abstract;
2662 function encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; virtual; abstract;
2663 function formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; virtual; abstract;
2664 function getClientVersion(): Cardinal; virtual; abstract;
2665 function getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; virtual; abstract;
2666 function setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; virtual; abstract;
2667 function getDecFloat16(status: IStatus): IDecFloat16; virtual; abstract;
2668 function getDecFloat34(status: IStatus): IDecFloat34; virtual; abstract;
2669 procedure decodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); virtual; abstract;
2670 procedure decodeTimeStampTz(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); virtual; abstract;
2671 procedure encodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); virtual; abstract;
2672 procedure encodeTimeStampTz(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: Cardinal; month: Cardinal; day: Cardinal; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); virtual; abstract;
2673 function getInt128(status: IStatus): IInt128; virtual; abstract;
2674 procedure decodeTimeTzEx(status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); virtual; abstract;
2675 procedure decodeTimeStampTzEx(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZ_EXPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); virtual; abstract;
2676 end;
2677
2678 OffsetsCallbackVTable = class(VersionedVTable)
2679 setOffset: IOffsetsCallback_setOffsetPtr;
2680 end;
2681
2682 IOffsetsCallback = class(IVersioned)
2683 const VERSION = 2;
2684
2685 procedure setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal);
2686 end;
2687
2688 IOffsetsCallbackImpl = class(IOffsetsCallback)
2689 constructor create;
2690
2691 procedure setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); virtual; abstract;
2692 end;
2693
2694 XpbBuilderVTable = class(DisposableVTable)
2695 clear: IXpbBuilder_clearPtr;
2696 removeCurrent: IXpbBuilder_removeCurrentPtr;
2697 insertInt: IXpbBuilder_insertIntPtr;
2698 insertBigInt: IXpbBuilder_insertBigIntPtr;
2699 insertBytes: IXpbBuilder_insertBytesPtr;
2700 insertString: IXpbBuilder_insertStringPtr;
2701 insertTag: IXpbBuilder_insertTagPtr;
2702 isEof: IXpbBuilder_isEofPtr;
2703 moveNext: IXpbBuilder_moveNextPtr;
2704 rewind: IXpbBuilder_rewindPtr;
2705 findFirst: IXpbBuilder_findFirstPtr;
2706 findNext: IXpbBuilder_findNextPtr;
2707 getTag: IXpbBuilder_getTagPtr;
2708 getLength: IXpbBuilder_getLengthPtr;
2709 getInt: IXpbBuilder_getIntPtr;
2710 getBigInt: IXpbBuilder_getBigIntPtr;
2711 getString: IXpbBuilder_getStringPtr;
2712 getBytes: IXpbBuilder_getBytesPtr;
2713 getBufferLength: IXpbBuilder_getBufferLengthPtr;
2714 getBuffer: IXpbBuilder_getBufferPtr;
2715 end;
2716
2717 IXpbBuilder = class(IDisposable)
2718 const VERSION = 3;
2719 const DPB = Cardinal(1);
2720 const SPB_ATTACH = Cardinal(2);
2721 const SPB_START = Cardinal(3);
2722 const TPB = Cardinal(4);
2723 const BATCH = Cardinal(5);
2724 const BPB = Cardinal(6);
2725 const SPB_SEND = Cardinal(7);
2726 const SPB_RECEIVE = Cardinal(8);
2727 const SPB_RESPONSE = Cardinal(9);
2728
2729 procedure clear(status: IStatus);
2730 procedure removeCurrent(status: IStatus);
2731 procedure insertInt(status: IStatus; tag: Byte; value: Integer);
2732 procedure insertBigInt(status: IStatus; tag: Byte; value: Int64);
2733 procedure insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal);
2734 procedure insertString(status: IStatus; tag: Byte; str: PAnsiChar);
2735 procedure insertTag(status: IStatus; tag: Byte);
2736 function isEof(status: IStatus): Boolean;
2737 procedure moveNext(status: IStatus);
2738 procedure rewind(status: IStatus);
2739 function findFirst(status: IStatus; tag: Byte): Boolean;
2740 function findNext(status: IStatus): Boolean;
2741 function getTag(status: IStatus): Byte;
2742 function getLength(status: IStatus): Cardinal;
2743 function getInt(status: IStatus): Integer;
2744 function getBigInt(status: IStatus): Int64;
2745 function getString(status: IStatus): PAnsiChar;
2746 function getBytes(status: IStatus): BytePtr;
2747 function getBufferLength(status: IStatus): Cardinal;
2748 function getBuffer(status: IStatus): BytePtr;
2749 end;
2750
2751 IXpbBuilderImpl = class(IXpbBuilder)
2752 constructor create;
2753
2754 procedure dispose(); virtual; abstract;
2755 procedure clear(status: IStatus); virtual; abstract;
2756 procedure removeCurrent(status: IStatus); virtual; abstract;
2757 procedure insertInt(status: IStatus; tag: Byte; value: Integer); virtual; abstract;
2758 procedure insertBigInt(status: IStatus; tag: Byte; value: Int64); virtual; abstract;
2759 procedure insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); virtual; abstract;
2760 procedure insertString(status: IStatus; tag: Byte; str: PAnsiChar); virtual; abstract;
2761 procedure insertTag(status: IStatus; tag: Byte); virtual; abstract;
2762 function isEof(status: IStatus): Boolean; virtual; abstract;
2763 procedure moveNext(status: IStatus); virtual; abstract;
2764 procedure rewind(status: IStatus); virtual; abstract;
2765 function findFirst(status: IStatus; tag: Byte): Boolean; virtual; abstract;
2766 function findNext(status: IStatus): Boolean; virtual; abstract;
2767 function getTag(status: IStatus): Byte; virtual; abstract;
2768 function getLength(status: IStatus): Cardinal; virtual; abstract;
2769 function getInt(status: IStatus): Integer; virtual; abstract;
2770 function getBigInt(status: IStatus): Int64; virtual; abstract;
2771 function getString(status: IStatus): PAnsiChar; virtual; abstract;
2772 function getBytes(status: IStatus): BytePtr; virtual; abstract;
2773 function getBufferLength(status: IStatus): Cardinal; virtual; abstract;
2774 function getBuffer(status: IStatus): BytePtr; virtual; abstract;
2775 end;
2776
2777 TraceConnectionVTable = class(VersionedVTable)
2778 getKind: ITraceConnection_getKindPtr;
2779 getProcessID: ITraceConnection_getProcessIDPtr;
2780 getUserName: ITraceConnection_getUserNamePtr;
2781 getRoleName: ITraceConnection_getRoleNamePtr;
2782 getCharSet: ITraceConnection_getCharSetPtr;
2783 getRemoteProtocol: ITraceConnection_getRemoteProtocolPtr;
2784 getRemoteAddress: ITraceConnection_getRemoteAddressPtr;
2785 getRemoteProcessID: ITraceConnection_getRemoteProcessIDPtr;
2786 getRemoteProcessName: ITraceConnection_getRemoteProcessNamePtr;
2787 end;
2788
2789 ITraceConnection = class(IVersioned)
2790 const VERSION = 2;
2791 const KIND_DATABASE = Cardinal(1);
2792 const KIND_SERVICE = Cardinal(2);
2793
2794 function getKind(): Cardinal;
2795 function getProcessID(): Integer;
2796 function getUserName(): PAnsiChar;
2797 function getRoleName(): PAnsiChar;
2798 function getCharSet(): PAnsiChar;
2799 function getRemoteProtocol(): PAnsiChar;
2800 function getRemoteAddress(): PAnsiChar;
2801 function getRemoteProcessID(): Integer;
2802 function getRemoteProcessName(): PAnsiChar;
2803 end;
2804
2805 ITraceConnectionImpl = class(ITraceConnection)
2806 constructor create;
2807
2808 function getKind(): Cardinal; virtual; abstract;
2809 function getProcessID(): Integer; virtual; abstract;
2810 function getUserName(): PAnsiChar; virtual; abstract;
2811 function getRoleName(): PAnsiChar; virtual; abstract;
2812 function getCharSet(): PAnsiChar; virtual; abstract;
2813 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
2814 function getRemoteAddress(): PAnsiChar; virtual; abstract;
2815 function getRemoteProcessID(): Integer; virtual; abstract;
2816 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
2817 end;
2818
2819 TraceDatabaseConnectionVTable = class(TraceConnectionVTable)
2820 getConnectionID: ITraceDatabaseConnection_getConnectionIDPtr;
2821 getDatabaseName: ITraceDatabaseConnection_getDatabaseNamePtr;
2822 end;
2823
2824 ITraceDatabaseConnection = class(ITraceConnection)
2825 const VERSION = 3;
2826
2827 function getConnectionID(): Int64;
2828 function getDatabaseName(): PAnsiChar;
2829 end;
2830
2831 ITraceDatabaseConnectionImpl = class(ITraceDatabaseConnection)
2832 constructor create;
2833
2834 function getKind(): Cardinal; virtual; abstract;
2835 function getProcessID(): Integer; virtual; abstract;
2836 function getUserName(): PAnsiChar; virtual; abstract;
2837 function getRoleName(): PAnsiChar; virtual; abstract;
2838 function getCharSet(): PAnsiChar; virtual; abstract;
2839 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
2840 function getRemoteAddress(): PAnsiChar; virtual; abstract;
2841 function getRemoteProcessID(): Integer; virtual; abstract;
2842 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
2843 function getConnectionID(): Int64; virtual; abstract;
2844 function getDatabaseName(): PAnsiChar; virtual; abstract;
2845 end;
2846
2847 TraceTransactionVTable = class(VersionedVTable)
2848 getTransactionID: ITraceTransaction_getTransactionIDPtr;
2849 getReadOnly: ITraceTransaction_getReadOnlyPtr;
2850 getWait: ITraceTransaction_getWaitPtr;
2851 getIsolation: ITraceTransaction_getIsolationPtr;
2852 getPerf: ITraceTransaction_getPerfPtr;
2853 getInitialID: ITraceTransaction_getInitialIDPtr;
2854 getPreviousID: ITraceTransaction_getPreviousIDPtr;
2855 end;
2856
2857 ITraceTransaction = class(IVersioned)
2858 const VERSION = 3;
2859 const ISOLATION_CONSISTENCY = Cardinal(1);
2860 const ISOLATION_CONCURRENCY = Cardinal(2);
2861 const ISOLATION_READ_COMMITTED_RECVER = Cardinal(3);
2862 const ISOLATION_READ_COMMITTED_NORECVER = Cardinal(4);
2863 const ISOLATION_READ_COMMITTED_READ_CONSISTENCY = Cardinal(5);
2864
2865 function getTransactionID(): Int64;
2866 function getReadOnly(): Boolean;
2867 function getWait(): Integer;
2868 function getIsolation(): Cardinal;
2869 function getPerf(): PerformanceInfoPtr;
2870 function getInitialID(): Int64;
2871 function getPreviousID(): Int64;
2872 end;
2873
2874 ITraceTransactionImpl = class(ITraceTransaction)
2875 constructor create;
2876
2877 function getTransactionID(): Int64; virtual; abstract;
2878 function getReadOnly(): Boolean; virtual; abstract;
2879 function getWait(): Integer; virtual; abstract;
2880 function getIsolation(): Cardinal; virtual; abstract;
2881 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2882 function getInitialID(): Int64; virtual; abstract;
2883 function getPreviousID(): Int64; virtual; abstract;
2884 end;
2885
2886 TraceParamsVTable = class(VersionedVTable)
2887 getCount: ITraceParams_getCountPtr;
2888 getParam: ITraceParams_getParamPtr;
2889 getTextUTF8: ITraceParams_getTextUTF8Ptr;
2890 end;
2891
2892 ITraceParams = class(IVersioned)
2893 const VERSION = 3;
2894
2895 function getCount(): Cardinal;
2896 function getParam(idx: Cardinal): dscPtr;
2897 function getTextUTF8(status: IStatus; idx: Cardinal): PAnsiChar;
2898 end;
2899
2900 ITraceParamsImpl = class(ITraceParams)
2901 constructor create;
2902
2903 function getCount(): Cardinal; virtual; abstract;
2904 function getParam(idx: Cardinal): dscPtr; virtual; abstract;
2905 function getTextUTF8(status: IStatus; idx: Cardinal): PAnsiChar; virtual; abstract;
2906 end;
2907
2908 TraceStatementVTable = class(VersionedVTable)
2909 getStmtID: ITraceStatement_getStmtIDPtr;
2910 getPerf: ITraceStatement_getPerfPtr;
2911 end;
2912
2913 ITraceStatement = class(IVersioned)
2914 const VERSION = 2;
2915
2916 function getStmtID(): Int64;
2917 function getPerf(): PerformanceInfoPtr;
2918 end;
2919
2920 ITraceStatementImpl = class(ITraceStatement)
2921 constructor create;
2922
2923 function getStmtID(): Int64; virtual; abstract;
2924 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2925 end;
2926
2927 TraceSQLStatementVTable = class(TraceStatementVTable)
2928 getText: ITraceSQLStatement_getTextPtr;
2929 getPlan: ITraceSQLStatement_getPlanPtr;
2930 getInputs: ITraceSQLStatement_getInputsPtr;
2931 getTextUTF8: ITraceSQLStatement_getTextUTF8Ptr;
2932 getExplainedPlan: ITraceSQLStatement_getExplainedPlanPtr;
2933 end;
2934
2935 ITraceSQLStatement = class(ITraceStatement)
2936 const VERSION = 3;
2937
2938 function getText(): PAnsiChar;
2939 function getPlan(): PAnsiChar;
2940 function getInputs(): ITraceParams;
2941 function getTextUTF8(): PAnsiChar;
2942 function getExplainedPlan(): PAnsiChar;
2943 end;
2944
2945 ITraceSQLStatementImpl = class(ITraceSQLStatement)
2946 constructor create;
2947
2948 function getStmtID(): Int64; virtual; abstract;
2949 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2950 function getText(): PAnsiChar; virtual; abstract;
2951 function getPlan(): PAnsiChar; virtual; abstract;
2952 function getInputs(): ITraceParams; virtual; abstract;
2953 function getTextUTF8(): PAnsiChar; virtual; abstract;
2954 function getExplainedPlan(): PAnsiChar; virtual; abstract;
2955 end;
2956
2957 TraceBLRStatementVTable = class(TraceStatementVTable)
2958 getData: ITraceBLRStatement_getDataPtr;
2959 getDataLength: ITraceBLRStatement_getDataLengthPtr;
2960 getText: ITraceBLRStatement_getTextPtr;
2961 end;
2962
2963 ITraceBLRStatement = class(ITraceStatement)
2964 const VERSION = 3;
2965
2966 function getData(): BytePtr;
2967 function getDataLength(): Cardinal;
2968 function getText(): PAnsiChar;
2969 end;
2970
2971 ITraceBLRStatementImpl = class(ITraceBLRStatement)
2972 constructor create;
2973
2974 function getStmtID(): Int64; virtual; abstract;
2975 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2976 function getData(): BytePtr; virtual; abstract;
2977 function getDataLength(): Cardinal; virtual; abstract;
2978 function getText(): PAnsiChar; virtual; abstract;
2979 end;
2980
2981 TraceDYNRequestVTable = class(VersionedVTable)
2982 getData: ITraceDYNRequest_getDataPtr;
2983 getDataLength: ITraceDYNRequest_getDataLengthPtr;
2984 getText: ITraceDYNRequest_getTextPtr;
2985 end;
2986
2987 ITraceDYNRequest = class(IVersioned)
2988 const VERSION = 2;
2989
2990 function getData(): BytePtr;
2991 function getDataLength(): Cardinal;
2992 function getText(): PAnsiChar;
2993 end;
2994
2995 ITraceDYNRequestImpl = class(ITraceDYNRequest)
2996 constructor create;
2997
2998 function getData(): BytePtr; virtual; abstract;
2999 function getDataLength(): Cardinal; virtual; abstract;
3000 function getText(): PAnsiChar; virtual; abstract;
3001 end;
3002
3003 TraceContextVariableVTable = class(VersionedVTable)
3004 getNameSpace: ITraceContextVariable_getNameSpacePtr;
3005 getVarName: ITraceContextVariable_getVarNamePtr;
3006 getVarValue: ITraceContextVariable_getVarValuePtr;
3007 end;
3008
3009 ITraceContextVariable = class(IVersioned)
3010 const VERSION = 2;
3011
3012 function getNameSpace(): PAnsiChar;
3013 function getVarName(): PAnsiChar;
3014 function getVarValue(): PAnsiChar;
3015 end;
3016
3017 ITraceContextVariableImpl = class(ITraceContextVariable)
3018 constructor create;
3019
3020 function getNameSpace(): PAnsiChar; virtual; abstract;
3021 function getVarName(): PAnsiChar; virtual; abstract;
3022 function getVarValue(): PAnsiChar; virtual; abstract;
3023 end;
3024
3025 TraceProcedureVTable = class(VersionedVTable)
3026 getProcName: ITraceProcedure_getProcNamePtr;
3027 getInputs: ITraceProcedure_getInputsPtr;
3028 getPerf: ITraceProcedure_getPerfPtr;
3029 end;
3030
3031 ITraceProcedure = class(IVersioned)
3032 const VERSION = 2;
3033
3034 function getProcName(): PAnsiChar;
3035 function getInputs(): ITraceParams;
3036 function getPerf(): PerformanceInfoPtr;
3037 end;
3038
3039 ITraceProcedureImpl = class(ITraceProcedure)
3040 constructor create;
3041
3042 function getProcName(): PAnsiChar; virtual; abstract;
3043 function getInputs(): ITraceParams; virtual; abstract;
3044 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3045 end;
3046
3047 TraceFunctionVTable = class(VersionedVTable)
3048 getFuncName: ITraceFunction_getFuncNamePtr;
3049 getInputs: ITraceFunction_getInputsPtr;
3050 getResult: ITraceFunction_getResultPtr;
3051 getPerf: ITraceFunction_getPerfPtr;
3052 end;
3053
3054 ITraceFunction = class(IVersioned)
3055 const VERSION = 2;
3056
3057 function getFuncName(): PAnsiChar;
3058 function getInputs(): ITraceParams;
3059 function getResult(): ITraceParams;
3060 function getPerf(): PerformanceInfoPtr;
3061 end;
3062
3063 ITraceFunctionImpl = class(ITraceFunction)
3064 constructor create;
3065
3066 function getFuncName(): PAnsiChar; virtual; abstract;
3067 function getInputs(): ITraceParams; virtual; abstract;
3068 function getResult(): ITraceParams; virtual; abstract;
3069 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3070 end;
3071
3072 TraceTriggerVTable = class(VersionedVTable)
3073 getTriggerName: ITraceTrigger_getTriggerNamePtr;
3074 getRelationName: ITraceTrigger_getRelationNamePtr;
3075 getAction: ITraceTrigger_getActionPtr;
3076 getWhich: ITraceTrigger_getWhichPtr;
3077 getPerf: ITraceTrigger_getPerfPtr;
3078 end;
3079
3080 ITraceTrigger = class(IVersioned)
3081 const VERSION = 2;
3082 const TYPE_ALL = Cardinal(0);
3083 const TYPE_BEFORE = Cardinal(1);
3084 const TYPE_AFTER = Cardinal(2);
3085
3086 function getTriggerName(): PAnsiChar;
3087 function getRelationName(): PAnsiChar;
3088 function getAction(): Integer;
3089 function getWhich(): Integer;
3090 function getPerf(): PerformanceInfoPtr;
3091 end;
3092
3093 ITraceTriggerImpl = class(ITraceTrigger)
3094 constructor create;
3095
3096 function getTriggerName(): PAnsiChar; virtual; abstract;
3097 function getRelationName(): PAnsiChar; virtual; abstract;
3098 function getAction(): Integer; virtual; abstract;
3099 function getWhich(): Integer; virtual; abstract;
3100 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3101 end;
3102
3103 TraceServiceConnectionVTable = class(TraceConnectionVTable)
3104 getServiceID: ITraceServiceConnection_getServiceIDPtr;
3105 getServiceMgr: ITraceServiceConnection_getServiceMgrPtr;
3106 getServiceName: ITraceServiceConnection_getServiceNamePtr;
3107 end;
3108
3109 ITraceServiceConnection = class(ITraceConnection)
3110 const VERSION = 3;
3111
3112 function getServiceID(): Pointer;
3113 function getServiceMgr(): PAnsiChar;
3114 function getServiceName(): PAnsiChar;
3115 end;
3116
3117 ITraceServiceConnectionImpl = class(ITraceServiceConnection)
3118 constructor create;
3119
3120 function getKind(): Cardinal; virtual; abstract;
3121 function getProcessID(): Integer; virtual; abstract;
3122 function getUserName(): PAnsiChar; virtual; abstract;
3123 function getRoleName(): PAnsiChar; virtual; abstract;
3124 function getCharSet(): PAnsiChar; virtual; abstract;
3125 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
3126 function getRemoteAddress(): PAnsiChar; virtual; abstract;
3127 function getRemoteProcessID(): Integer; virtual; abstract;
3128 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
3129 function getServiceID(): Pointer; virtual; abstract;
3130 function getServiceMgr(): PAnsiChar; virtual; abstract;
3131 function getServiceName(): PAnsiChar; virtual; abstract;
3132 end;
3133
3134 TraceStatusVectorVTable = class(VersionedVTable)
3135 hasError: ITraceStatusVector_hasErrorPtr;
3136 hasWarning: ITraceStatusVector_hasWarningPtr;
3137 getStatus: ITraceStatusVector_getStatusPtr;
3138 getText: ITraceStatusVector_getTextPtr;
3139 end;
3140
3141 ITraceStatusVector = class(IVersioned)
3142 const VERSION = 2;
3143
3144 function hasError(): Boolean;
3145 function hasWarning(): Boolean;
3146 function getStatus(): IStatus;
3147 function getText(): PAnsiChar;
3148 end;
3149
3150 ITraceStatusVectorImpl = class(ITraceStatusVector)
3151 constructor create;
3152
3153 function hasError(): Boolean; virtual; abstract;
3154 function hasWarning(): Boolean; virtual; abstract;
3155 function getStatus(): IStatus; virtual; abstract;
3156 function getText(): PAnsiChar; virtual; abstract;
3157 end;
3158
3159 TraceSweepInfoVTable = class(VersionedVTable)
3160 getOIT: ITraceSweepInfo_getOITPtr;
3161 getOST: ITraceSweepInfo_getOSTPtr;
3162 getOAT: ITraceSweepInfo_getOATPtr;
3163 getNext: ITraceSweepInfo_getNextPtr;
3164 getPerf: ITraceSweepInfo_getPerfPtr;
3165 end;
3166
3167 ITraceSweepInfo = class(IVersioned)
3168 const VERSION = 2;
3169
3170 function getOIT(): Int64;
3171 function getOST(): Int64;
3172 function getOAT(): Int64;
3173 function getNext(): Int64;
3174 function getPerf(): PerformanceInfoPtr;
3175 end;
3176
3177 ITraceSweepInfoImpl = class(ITraceSweepInfo)
3178 constructor create;
3179
3180 function getOIT(): Int64; virtual; abstract;
3181 function getOST(): Int64; virtual; abstract;
3182 function getOAT(): Int64; virtual; abstract;
3183 function getNext(): Int64; virtual; abstract;
3184 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3185 end;
3186
3187 TraceLogWriterVTable = class(ReferenceCountedVTable)
3188 write: ITraceLogWriter_writePtr;
3189 write_s: ITraceLogWriter_write_sPtr;
3190 end;
3191
3192 ITraceLogWriter = class(IReferenceCounted)
3193 const VERSION = 4;
3194
3195 function write(buf: Pointer; size: Cardinal): Cardinal;
3196 function write_s(status: IStatus; buf: Pointer; size: Cardinal): Cardinal;
3197 end;
3198
3199 ITraceLogWriterImpl = class(ITraceLogWriter)
3200 constructor create;
3201
3202 procedure addRef(); virtual; abstract;
3203 function release(): Integer; virtual; abstract;
3204 function write(buf: Pointer; size: Cardinal): Cardinal; virtual; abstract;
3205 function write_s(status: IStatus; buf: Pointer; size: Cardinal): Cardinal; virtual; abstract;
3206 end;
3207
3208 TraceInitInfoVTable = class(VersionedVTable)
3209 getConfigText: ITraceInitInfo_getConfigTextPtr;
3210 getTraceSessionID: ITraceInitInfo_getTraceSessionIDPtr;
3211 getTraceSessionName: ITraceInitInfo_getTraceSessionNamePtr;
3212 getFirebirdRootDirectory: ITraceInitInfo_getFirebirdRootDirectoryPtr;
3213 getDatabaseName: ITraceInitInfo_getDatabaseNamePtr;
3214 getConnection: ITraceInitInfo_getConnectionPtr;
3215 getLogWriter: ITraceInitInfo_getLogWriterPtr;
3216 end;
3217
3218 ITraceInitInfo = class(IVersioned)
3219 const VERSION = 2;
3220
3221 function getConfigText(): PAnsiChar;
3222 function getTraceSessionID(): Integer;
3223 function getTraceSessionName(): PAnsiChar;
3224 function getFirebirdRootDirectory(): PAnsiChar;
3225 function getDatabaseName(): PAnsiChar;
3226 function getConnection(): ITraceDatabaseConnection;
3227 function getLogWriter(): ITraceLogWriter;
3228 end;
3229
3230 ITraceInitInfoImpl = class(ITraceInitInfo)
3231 constructor create;
3232
3233 function getConfigText(): PAnsiChar; virtual; abstract;
3234 function getTraceSessionID(): Integer; virtual; abstract;
3235 function getTraceSessionName(): PAnsiChar; virtual; abstract;
3236 function getFirebirdRootDirectory(): PAnsiChar; virtual; abstract;
3237 function getDatabaseName(): PAnsiChar; virtual; abstract;
3238 function getConnection(): ITraceDatabaseConnection; virtual; abstract;
3239 function getLogWriter(): ITraceLogWriter; virtual; abstract;
3240 end;
3241
3242 TracePluginVTable = class(ReferenceCountedVTable)
3243 trace_get_error: ITracePlugin_trace_get_errorPtr;
3244 trace_attach: ITracePlugin_trace_attachPtr;
3245 trace_detach: ITracePlugin_trace_detachPtr;
3246 trace_transaction_start: ITracePlugin_trace_transaction_startPtr;
3247 trace_transaction_end: ITracePlugin_trace_transaction_endPtr;
3248 trace_proc_execute: ITracePlugin_trace_proc_executePtr;
3249 trace_trigger_execute: ITracePlugin_trace_trigger_executePtr;
3250 trace_set_context: ITracePlugin_trace_set_contextPtr;
3251 trace_dsql_prepare: ITracePlugin_trace_dsql_preparePtr;
3252 trace_dsql_free: ITracePlugin_trace_dsql_freePtr;
3253 trace_dsql_execute: ITracePlugin_trace_dsql_executePtr;
3254 trace_blr_compile: ITracePlugin_trace_blr_compilePtr;
3255 trace_blr_execute: ITracePlugin_trace_blr_executePtr;
3256 trace_dyn_execute: ITracePlugin_trace_dyn_executePtr;
3257 trace_service_attach: ITracePlugin_trace_service_attachPtr;
3258 trace_service_start: ITracePlugin_trace_service_startPtr;
3259 trace_service_query: ITracePlugin_trace_service_queryPtr;
3260 trace_service_detach: ITracePlugin_trace_service_detachPtr;
3261 trace_event_error: ITracePlugin_trace_event_errorPtr;
3262 trace_event_sweep: ITracePlugin_trace_event_sweepPtr;
3263 trace_func_execute: ITracePlugin_trace_func_executePtr;
3264 end;
3265
3266 ITracePlugin = class(IReferenceCounted)
3267 const VERSION = 3;
3268 const RESULT_SUCCESS = Cardinal(0);
3269 const RESULT_FAILED = Cardinal(1);
3270 const RESULT_UNAUTHORIZED = Cardinal(2);
3271 const SWEEP_STATE_STARTED = Cardinal(1);
3272 const SWEEP_STATE_FINISHED = Cardinal(2);
3273 const SWEEP_STATE_FAILED = Cardinal(3);
3274 const SWEEP_STATE_PROGRESS = Cardinal(4);
3275
3276 function trace_get_error(): PAnsiChar;
3277 function trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean;
3278 function trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean;
3279 function trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean;
3280 function trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean;
3281 function trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean;
3282 function trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean;
3283 function trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean;
3284 function trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean;
3285 function trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean;
3286 function trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean;
3287 function trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean;
3288 function trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean;
3289 function trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean;
3290 function trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean;
3291 function trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean;
3292 function trace_service_query(service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean;
3293 function trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean;
3294 function trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean;
3295 function trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean;
3296 function trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean;
3297 end;
3298
3299 ITracePluginImpl = class(ITracePlugin)
3300 constructor create;
3301
3302 procedure addRef(); virtual; abstract;
3303 function release(): Integer; virtual; abstract;
3304 function trace_get_error(): PAnsiChar; virtual; abstract;
3305 function trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; virtual; abstract;
3306 function trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; virtual; abstract;
3307 function trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; virtual; abstract;
3308 function trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; virtual; abstract;
3309 function trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; virtual; abstract;
3310 function trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; virtual; abstract;
3311 function trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; virtual; abstract;
3312 function trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
3313 function trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; virtual; abstract;
3314 function trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; virtual; abstract;
3315 function trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
3316 function trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; virtual; abstract;
3317 function trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
3318 function trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean; virtual; abstract;
3319 function trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; virtual; abstract;
3320 function trace_service_query(service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean; virtual; abstract;
3321 function trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean; virtual; abstract;
3322 function trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; virtual; abstract;
3323 function trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; virtual; abstract;
3324 function trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; virtual; abstract;
3325 end;
3326
3327 TraceFactoryVTable = class(PluginBaseVTable)
3328 trace_needs: ITraceFactory_trace_needsPtr;
3329 trace_create: ITraceFactory_trace_createPtr;
3330 end;
3331
3332 ITraceFactory = class(IPluginBase)
3333 const VERSION = 4;
3334 const TRACE_EVENT_ATTACH = Cardinal(0);
3335 const TRACE_EVENT_DETACH = Cardinal(1);
3336 const TRACE_EVENT_TRANSACTION_START = Cardinal(2);
3337 const TRACE_EVENT_TRANSACTION_END = Cardinal(3);
3338 const TRACE_EVENT_SET_CONTEXT = Cardinal(4);
3339 const TRACE_EVENT_PROC_EXECUTE = Cardinal(5);
3340 const TRACE_EVENT_TRIGGER_EXECUTE = Cardinal(6);
3341 const TRACE_EVENT_DSQL_PREPARE = Cardinal(7);
3342 const TRACE_EVENT_DSQL_FREE = Cardinal(8);
3343 const TRACE_EVENT_DSQL_EXECUTE = Cardinal(9);
3344 const TRACE_EVENT_BLR_COMPILE = Cardinal(10);
3345 const TRACE_EVENT_BLR_EXECUTE = Cardinal(11);
3346 const TRACE_EVENT_DYN_EXECUTE = Cardinal(12);
3347 const TRACE_EVENT_SERVICE_ATTACH = Cardinal(13);
3348 const TRACE_EVENT_SERVICE_START = Cardinal(14);
3349 const TRACE_EVENT_SERVICE_QUERY = Cardinal(15);
3350 const TRACE_EVENT_SERVICE_DETACH = Cardinal(16);
3351 const TRACE_EVENT_ERROR = Cardinal(17);
3352 const TRACE_EVENT_SWEEP = Cardinal(18);
3353 const TRACE_EVENT_FUNC_EXECUTE = Cardinal(19);
3354 const TRACE_EVENT_MAX = Cardinal(20);
3355
3356 function trace_needs(): QWord;
3357 function trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin;
3358 end;
3359
3360 ITraceFactoryImpl = class(ITraceFactory)
3361 constructor create;
3362
3363 procedure addRef(); virtual; abstract;
3364 function release(): Integer; virtual; abstract;
3365 procedure setOwner(r: IReferenceCounted); virtual; abstract;
3366 function getOwner(): IReferenceCounted; virtual; abstract;
3367 function trace_needs(): QWord; virtual; abstract;
3368 function trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin; virtual; abstract;
3369 end;
3370
3371 UdrFunctionFactoryVTable = class(DisposableVTable)
3372 setup: IUdrFunctionFactory_setupPtr;
3373 newItem: IUdrFunctionFactory_newItemPtr;
3374 end;
3375
3376 IUdrFunctionFactory = class(IDisposable)
3377 const VERSION = 3;
3378
3379 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
3380 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction;
3381 end;
3382
3383 IUdrFunctionFactoryImpl = class(IUdrFunctionFactory)
3384 constructor create;
3385
3386 procedure dispose(); virtual; abstract;
3387 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); virtual; abstract;
3388 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; virtual; abstract;
3389 end;
3390
3391 UdrProcedureFactoryVTable = class(DisposableVTable)
3392 setup: IUdrProcedureFactory_setupPtr;
3393 newItem: IUdrProcedureFactory_newItemPtr;
3394 end;
3395
3396 IUdrProcedureFactory = class(IDisposable)
3397 const VERSION = 3;
3398
3399 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
3400 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure;
3401 end;
3402
3403 IUdrProcedureFactoryImpl = class(IUdrProcedureFactory)
3404 constructor create;
3405
3406 procedure dispose(); virtual; abstract;
3407 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); virtual; abstract;
3408 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; virtual; abstract;
3409 end;
3410
3411 UdrTriggerFactoryVTable = class(DisposableVTable)
3412 setup: IUdrTriggerFactory_setupPtr;
3413 newItem: IUdrTriggerFactory_newItemPtr;
3414 end;
3415
3416 IUdrTriggerFactory = class(IDisposable)
3417 const VERSION = 3;
3418
3419 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder);
3420 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger;
3421 end;
3422
3423 IUdrTriggerFactoryImpl = class(IUdrTriggerFactory)
3424 constructor create;
3425
3426 procedure dispose(); virtual; abstract;
3427 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); virtual; abstract;
3428 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; virtual; abstract;
3429 end;
3430
3431 UdrPluginVTable = class(VersionedVTable)
3432 getMaster: IUdrPlugin_getMasterPtr;
3433 registerFunction: IUdrPlugin_registerFunctionPtr;
3434 registerProcedure: IUdrPlugin_registerProcedurePtr;
3435 registerTrigger: IUdrPlugin_registerTriggerPtr;
3436 end;
3437
3438 IUdrPlugin = class(IVersioned)
3439 const VERSION = 2;
3440
3441 function getMaster(): IMaster;
3442 procedure registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory);
3443 procedure registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory);
3444 procedure registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory);
3445 end;
3446
3447 IUdrPluginImpl = class(IUdrPlugin)
3448 constructor create;
3449
3450 function getMaster(): IMaster; virtual; abstract;
3451 procedure registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); virtual; abstract;
3452 procedure registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); virtual; abstract;
3453 procedure registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); virtual; abstract;
3454 end;
3455
3456 DecFloat16VTable = class(VersionedVTable)
3457 toBcd: IDecFloat16_toBcdPtr;
3458 toString: IDecFloat16_toStringPtr;
3459 fromBcd: IDecFloat16_fromBcdPtr;
3460 fromString: IDecFloat16_fromStringPtr;
3461 end;
3462
3463 IDecFloat16 = class(IVersioned)
3464 const VERSION = 2;
3465 const BCD_SIZE = Cardinal(16);
3466 const STRING_SIZE = Cardinal(24);
3467
3468 procedure toBcd(from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
3469 procedure toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
3470 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr);
3471 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr);
3472 end;
3473
3474 IDecFloat16Impl = class(IDecFloat16)
3475 constructor create;
3476
3477 procedure toBcd(from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); virtual; abstract;
3478 procedure toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); virtual; abstract;
3479 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr); virtual; abstract;
3480 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr); virtual; abstract;
3481 end;
3482
3483 DecFloat34VTable = class(VersionedVTable)
3484 toBcd: IDecFloat34_toBcdPtr;
3485 toString: IDecFloat34_toStringPtr;
3486 fromBcd: IDecFloat34_fromBcdPtr;
3487 fromString: IDecFloat34_fromStringPtr;
3488 end;
3489
3490 IDecFloat34 = class(IVersioned)
3491 const VERSION = 2;
3492 const BCD_SIZE = Cardinal(34);
3493 const STRING_SIZE = Cardinal(43);
3494
3495 procedure toBcd(from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
3496 procedure toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
3497 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr);
3498 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr);
3499 end;
3500
3501 IDecFloat34Impl = class(IDecFloat34)
3502 constructor create;
3503
3504 procedure toBcd(from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); virtual; abstract;
3505 procedure toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); virtual; abstract;
3506 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr); virtual; abstract;
3507 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr); virtual; abstract;
3508 end;
3509
3510 Int128VTable = class(VersionedVTable)
3511 toString: IInt128_toStringPtr;
3512 fromString: IInt128_fromStringPtr;
3513 end;
3514
3515 IInt128 = class(IVersioned)
3516 const VERSION = 2;
3517 const STRING_SIZE = Cardinal(46);
3518
3519 procedure toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar);
3520 procedure fromString(status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr);
3521 end;
3522
3523 IInt128Impl = class(IInt128)
3524 constructor create;
3525
3526 procedure toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); virtual; abstract;
3527 procedure fromString(status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr); virtual; abstract;
3528 end;
3529
3530 ReplicatedFieldVTable = class(VersionedVTable)
3531 getName: IReplicatedField_getNamePtr;
3532 getType: IReplicatedField_getTypePtr;
3533 getSubType: IReplicatedField_getSubTypePtr;
3534 getScale: IReplicatedField_getScalePtr;
3535 getLength: IReplicatedField_getLengthPtr;
3536 getCharSet: IReplicatedField_getCharSetPtr;
3537 getData: IReplicatedField_getDataPtr;
3538 end;
3539
3540 IReplicatedField = class(IVersioned)
3541 const VERSION = 2;
3542
3543 function getName(): PAnsiChar;
3544 function getType(): Cardinal;
3545 function getSubType(): Integer;
3546 function getScale(): Integer;
3547 function getLength(): Cardinal;
3548 function getCharSet(): Cardinal;
3549 function getData(): Pointer;
3550 end;
3551
3552 IReplicatedFieldImpl = class(IReplicatedField)
3553 constructor create;
3554
3555 function getName(): PAnsiChar; virtual; abstract;
3556 function getType(): Cardinal; virtual; abstract;
3557 function getSubType(): Integer; virtual; abstract;
3558 function getScale(): Integer; virtual; abstract;
3559 function getLength(): Cardinal; virtual; abstract;
3560 function getCharSet(): Cardinal; virtual; abstract;
3561 function getData(): Pointer; virtual; abstract;
3562 end;
3563
3564 ReplicatedRecordVTable = class(VersionedVTable)
3565 getCount: IReplicatedRecord_getCountPtr;
3566 getField: IReplicatedRecord_getFieldPtr;
3567 getRawLength: IReplicatedRecord_getRawLengthPtr;
3568 getRawData: IReplicatedRecord_getRawDataPtr;
3569 end;
3570
3571 IReplicatedRecord = class(IVersioned)
3572 const VERSION = 2;
3573
3574 function getCount(): Cardinal;
3575 function getField(index: Cardinal): IReplicatedField;
3576 function getRawLength(): Cardinal;
3577 function getRawData(): BytePtr;
3578 end;
3579
3580 IReplicatedRecordImpl = class(IReplicatedRecord)
3581 constructor create;
3582
3583 function getCount(): Cardinal; virtual; abstract;
3584 function getField(index: Cardinal): IReplicatedField; virtual; abstract;
3585 function getRawLength(): Cardinal; virtual; abstract;
3586 function getRawData(): BytePtr; virtual; abstract;
3587 end;
3588
3589 ReplicatedTransactionVTable = class(DisposableVTable)
3590 prepare: IReplicatedTransaction_preparePtr;
3591 commit: IReplicatedTransaction_commitPtr;
3592 rollback: IReplicatedTransaction_rollbackPtr;
3593 startSavepoint: IReplicatedTransaction_startSavepointPtr;
3594 releaseSavepoint: IReplicatedTransaction_releaseSavepointPtr;
3595 rollbackSavepoint: IReplicatedTransaction_rollbackSavepointPtr;
3596 insertRecord: IReplicatedTransaction_insertRecordPtr;
3597 updateRecord: IReplicatedTransaction_updateRecordPtr;
3598 deleteRecord: IReplicatedTransaction_deleteRecordPtr;
3599 executeSql: IReplicatedTransaction_executeSqlPtr;
3600 executeSqlIntl: IReplicatedTransaction_executeSqlIntlPtr;
3601 end;
3602
3603 IReplicatedTransaction = class(IDisposable)
3604 const VERSION = 3;
3605
3606 procedure prepare(status: IStatus);
3607 procedure commit(status: IStatus);
3608 procedure rollback(status: IStatus);
3609 procedure startSavepoint(status: IStatus);
3610 procedure releaseSavepoint(status: IStatus);
3611 procedure rollbackSavepoint(status: IStatus);
3612 procedure insertRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
3613 procedure updateRecord(status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord);
3614 procedure deleteRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
3615 procedure executeSql(status: IStatus; sql: PAnsiChar);
3616 procedure executeSqlIntl(status: IStatus; charset: Cardinal; sql: PAnsiChar);
3617 end;
3618
3619 IReplicatedTransactionImpl = class(IReplicatedTransaction)
3620 constructor create;
3621
3622 procedure dispose(); virtual; abstract;
3623 procedure prepare(status: IStatus); virtual; abstract;
3624 procedure commit(status: IStatus); virtual; abstract;
3625 procedure rollback(status: IStatus); virtual; abstract;
3626 procedure startSavepoint(status: IStatus); virtual; abstract;
3627 procedure releaseSavepoint(status: IStatus); virtual; abstract;
3628 procedure rollbackSavepoint(status: IStatus); virtual; abstract;
3629 procedure insertRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); virtual; abstract;
3630 procedure updateRecord(status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord); virtual; abstract;
3631 procedure deleteRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); virtual; abstract;
3632 procedure executeSql(status: IStatus; sql: PAnsiChar); virtual; abstract;
3633 procedure executeSqlIntl(status: IStatus; charset: Cardinal; sql: PAnsiChar); virtual; abstract;
3634 end;
3635
3636 ReplicatedSessionVTable = class(PluginBaseVTable)
3637 setAttachment: IReplicatedSession_setAttachmentPtr;
3638 startTransaction: IReplicatedSession_startTransactionPtr;
3639 cleanupTransaction: IReplicatedSession_cleanupTransactionPtr;
3640 setSequence: IReplicatedSession_setSequencePtr;
3641 end;
3642
3643 IReplicatedSession = class(IPluginBase)
3644 const VERSION = 4;
3645
3646 procedure setAttachment(attachment: IAttachment);
3647 function startTransaction(status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction;
3648 procedure cleanupTransaction(status: IStatus; number: Int64);
3649 procedure setSequence(status: IStatus; name: PAnsiChar; value: Int64);
3650 end;
3651
3652 IReplicatedSessionImpl = class(IReplicatedSession)
3653 constructor create;
3654
3655 procedure addRef(); virtual; abstract;
3656 function release(): Integer; virtual; abstract;
3657 procedure setOwner(r: IReferenceCounted); virtual; abstract;
3658 function getOwner(): IReferenceCounted; virtual; abstract;
3659 procedure setAttachment(attachment: IAttachment); virtual; abstract;
3660 function startTransaction(status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction; virtual; abstract;
3661 procedure cleanupTransaction(status: IStatus; number: Int64); virtual; abstract;
3662 procedure setSequence(status: IStatus; name: PAnsiChar; value: Int64); virtual; abstract;
3663 end;
3664
3665 { function fb_get_master_interface : IMaster; cdecl; external 'fbclient';}
3666
3667 implementation
3668
3669 uses IBErrorCodes;
3670
3671 procedure IReferenceCounted.addRef();
3672 begin
3673 ReferenceCountedVTable(vTable).addRef(Self);
3674 end;
3675
3676 function IReferenceCounted.release(): Integer;
3677 begin
3678 Result := ReferenceCountedVTable(vTable).release(Self);
3679 end;
3680
3681 procedure IDisposable.dispose();
3682 begin
3683 DisposableVTable(vTable).dispose(Self);
3684 end;
3685
3686 procedure IStatus.init();
3687 begin
3688 StatusVTable(vTable).init(Self);
3689 end;
3690
3691 function IStatus.getState(): Cardinal;
3692 begin
3693 Result := StatusVTable(vTable).getState(Self);
3694 end;
3695
3696 procedure IStatus.setErrors2(length: Cardinal; value: NativeIntPtr);
3697 begin
3698 StatusVTable(vTable).setErrors2(Self, length, value);
3699 end;
3700
3701 procedure IStatus.setWarnings2(length: Cardinal; value: NativeIntPtr);
3702 begin
3703 StatusVTable(vTable).setWarnings2(Self, length, value);
3704 end;
3705
3706 procedure IStatus.setErrors(value: NativeIntPtr);
3707 begin
3708 StatusVTable(vTable).setErrors(Self, value);
3709 end;
3710
3711 procedure IStatus.setWarnings(value: NativeIntPtr);
3712 begin
3713 StatusVTable(vTable).setWarnings(Self, value);
3714 end;
3715
3716 function IStatus.getErrors(): NativeIntPtr;
3717 begin
3718 Result := StatusVTable(vTable).getErrors(Self);
3719 end;
3720
3721 function IStatus.getWarnings(): NativeIntPtr;
3722 begin
3723 Result := StatusVTable(vTable).getWarnings(Self);
3724 end;
3725
3726 function IStatus.clone(): IStatus;
3727 begin
3728 Result := StatusVTable(vTable).clone(Self);
3729 end;
3730
3731 function IMaster.getStatus(): IStatus;
3732 begin
3733 Result := MasterVTable(vTable).getStatus(Self);
3734 end;
3735
3736 function IMaster.getDispatcher(): IProvider;
3737 begin
3738 Result := MasterVTable(vTable).getDispatcher(Self);
3739 end;
3740
3741 function IMaster.getPluginManager(): IPluginManager;
3742 begin
3743 Result := MasterVTable(vTable).getPluginManager(Self);
3744 end;
3745
3746 function IMaster.getTimerControl(): ITimerControl;
3747 begin
3748 Result := MasterVTable(vTable).getTimerControl(Self);
3749 end;
3750
3751 function IMaster.getDtc(): IDtc;
3752 begin
3753 Result := MasterVTable(vTable).getDtc(Self);
3754 end;
3755
3756 function IMaster.registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment;
3757 begin
3758 Result := MasterVTable(vTable).registerAttachment(Self, provider, attachment);
3759 end;
3760
3761 function IMaster.registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction;
3762 begin
3763 Result := MasterVTable(vTable).registerTransaction(Self, attachment, transaction);
3764 end;
3765
3766 function IMaster.getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder;
3767 begin
3768 Result := MasterVTable(vTable).getMetadataBuilder(Self, status, fieldCount);
3769 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3770 end;
3771
3772 function IMaster.serverMode(mode: Integer): Integer;
3773 begin
3774 Result := MasterVTable(vTable).serverMode(Self, mode);
3775 end;
3776
3777 function IMaster.getUtilInterface(): IUtil;
3778 begin
3779 Result := MasterVTable(vTable).getUtilInterface(Self);
3780 end;
3781
3782 function IMaster.getConfigManager(): IConfigManager;
3783 begin
3784 Result := MasterVTable(vTable).getConfigManager(Self);
3785 end;
3786
3787 function IMaster.getProcessExiting(): Boolean;
3788 begin
3789 Result := MasterVTable(vTable).getProcessExiting(Self);
3790 end;
3791
3792 procedure IPluginBase.setOwner(r: IReferenceCounted);
3793 begin
3794 PluginBaseVTable(vTable).setOwner(Self, r);
3795 end;
3796
3797 function IPluginBase.getOwner(): IReferenceCounted;
3798 begin
3799 Result := PluginBaseVTable(vTable).getOwner(Self);
3800 end;
3801
3802 function IPluginSet.getName(): PAnsiChar;
3803 begin
3804 Result := PluginSetVTable(vTable).getName(Self);
3805 end;
3806
3807 function IPluginSet.getModuleName(): PAnsiChar;
3808 begin
3809 Result := PluginSetVTable(vTable).getModuleName(Self);
3810 end;
3811
3812 function IPluginSet.getPlugin(status: IStatus): IPluginBase;
3813 begin
3814 Result := PluginSetVTable(vTable).getPlugin(Self, status);
3815 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3816 end;
3817
3818 procedure IPluginSet.next(status: IStatus);
3819 begin
3820 PluginSetVTable(vTable).next(Self, status);
3821 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3822 end;
3823
3824 procedure IPluginSet.set_(status: IStatus; s: PAnsiChar);
3825 begin
3826 PluginSetVTable(vTable).set_(Self, status, s);
3827 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3828 end;
3829
3830 function IConfigEntry.getName(): PAnsiChar;
3831 begin
3832 Result := ConfigEntryVTable(vTable).getName(Self);
3833 end;
3834
3835 function IConfigEntry.getValue(): PAnsiChar;
3836 begin
3837 Result := ConfigEntryVTable(vTable).getValue(Self);
3838 end;
3839
3840 function IConfigEntry.getIntValue(): Int64;
3841 begin
3842 Result := ConfigEntryVTable(vTable).getIntValue(Self);
3843 end;
3844
3845 function IConfigEntry.getBoolValue(): Boolean;
3846 begin
3847 Result := ConfigEntryVTable(vTable).getBoolValue(Self);
3848 end;
3849
3850 function IConfigEntry.getSubConfig(status: IStatus): IConfig;
3851 begin
3852 Result := ConfigEntryVTable(vTable).getSubConfig(Self, status);
3853 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3854 end;
3855
3856 function IConfig.find(status: IStatus; name: PAnsiChar): IConfigEntry;
3857 begin
3858 Result := ConfigVTable(vTable).find(Self, status, name);
3859 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3860 end;
3861
3862 function IConfig.findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry;
3863 begin
3864 Result := ConfigVTable(vTable).findValue(Self, status, name, value);
3865 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3866 end;
3867
3868 function IConfig.findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry;
3869 begin
3870 Result := ConfigVTable(vTable).findPos(Self, status, name, pos);
3871 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3872 end;
3873
3874 function IFirebirdConf.getKey(name: PAnsiChar): Cardinal;
3875 begin
3876 Result := FirebirdConfVTable(vTable).getKey(Self, name);
3877 end;
3878
3879 function IFirebirdConf.asInteger(key: Cardinal): Int64;
3880 begin
3881 Result := FirebirdConfVTable(vTable).asInteger(Self, key);
3882 end;
3883
3884 function IFirebirdConf.asString(key: Cardinal): PAnsiChar;
3885 begin
3886 Result := FirebirdConfVTable(vTable).asString(Self, key);
3887 end;
3888
3889 function IFirebirdConf.asBoolean(key: Cardinal): Boolean;
3890 begin
3891 Result := FirebirdConfVTable(vTable).asBoolean(Self, key);
3892 end;
3893
3894 function IFirebirdConf.getVersion(status: IStatus): Cardinal;
3895 begin
3896 Result := FirebirdConfVTable(vTable).getVersion(Self, status);
3897 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3898 end;
3899
3900 function IPluginConfig.getConfigFileName(): PAnsiChar;
3901 begin
3902 Result := PluginConfigVTable(vTable).getConfigFileName(Self);
3903 end;
3904
3905 function IPluginConfig.getDefaultConfig(status: IStatus): IConfig;
3906 begin
3907 Result := PluginConfigVTable(vTable).getDefaultConfig(Self, status);
3908 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3909 end;
3910
3911 function IPluginConfig.getFirebirdConf(status: IStatus): IFirebirdConf;
3912 begin
3913 Result := PluginConfigVTable(vTable).getFirebirdConf(Self, status);
3914 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3915 end;
3916
3917 procedure IPluginConfig.setReleaseDelay(status: IStatus; microSeconds: QWord);
3918 begin
3919 PluginConfigVTable(vTable).setReleaseDelay(Self, status, microSeconds);
3920 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3921 end;
3922
3923 function IPluginFactory.createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase;
3924 begin
3925 Result := PluginFactoryVTable(vTable).createPlugin(Self, status, factoryParameter);
3926 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3927 end;
3928
3929 procedure IPluginModule.doClean();
3930 begin
3931 PluginModuleVTable(vTable).doClean(Self);
3932 end;
3933
3934 procedure IPluginModule.threadDetach();
3935 begin
3936 PluginModuleVTable(vTable).threadDetach(Self);
3937 end;
3938
3939 procedure IPluginManager.registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory);
3940 begin
3941 PluginManagerVTable(vTable).registerPluginFactory(Self, pluginType, defaultName, factory);
3942 end;
3943
3944 procedure IPluginManager.registerModule(cleanup: IPluginModule);
3945 begin
3946 PluginManagerVTable(vTable).registerModule(Self, cleanup);
3947 end;
3948
3949 procedure IPluginManager.unregisterModule(cleanup: IPluginModule);
3950 begin
3951 PluginManagerVTable(vTable).unregisterModule(Self, cleanup);
3952 end;
3953
3954 function IPluginManager.getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet;
3955 begin
3956 Result := PluginManagerVTable(vTable).getPlugins(Self, status, pluginType, namesList, firebirdConf);
3957 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3958 end;
3959
3960 function IPluginManager.getConfig(status: IStatus; filename: PAnsiChar): IConfig;
3961 begin
3962 Result := PluginManagerVTable(vTable).getConfig(Self, status, filename);
3963 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3964 end;
3965
3966 procedure IPluginManager.releasePlugin(plugin: IPluginBase);
3967 begin
3968 PluginManagerVTable(vTable).releasePlugin(Self, plugin);
3969 end;
3970
3971 procedure ICryptKey.setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer);
3972 begin
3973 CryptKeyVTable(vTable).setSymmetric(Self, status, type_, keyLength, key);
3974 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3975 end;
3976
3977 procedure ICryptKey.setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer);
3978 begin
3979 CryptKeyVTable(vTable).setAsymmetric(Self, status, type_, encryptKeyLength, encryptKey, decryptKeyLength, decryptKey);
3980 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3981 end;
3982
3983 function ICryptKey.getEncryptKey(length: CardinalPtr): Pointer;
3984 begin
3985 Result := CryptKeyVTable(vTable).getEncryptKey(Self, length);
3986 end;
3987
3988 function ICryptKey.getDecryptKey(length: CardinalPtr): Pointer;
3989 begin
3990 Result := CryptKeyVTable(vTable).getDecryptKey(Self, length);
3991 end;
3992
3993 function IConfigManager.getDirectory(code: Cardinal): PAnsiChar;
3994 begin
3995 Result := ConfigManagerVTable(vTable).getDirectory(Self, code);
3996 end;
3997
3998 function IConfigManager.getFirebirdConf(): IFirebirdConf;
3999 begin
4000 Result := ConfigManagerVTable(vTable).getFirebirdConf(Self);
4001 end;
4002
4003 function IConfigManager.getDatabaseConf(dbName: PAnsiChar): IFirebirdConf;
4004 begin
4005 Result := ConfigManagerVTable(vTable).getDatabaseConf(Self, dbName);
4006 end;
4007
4008 function IConfigManager.getPluginConfig(configuredPlugin: PAnsiChar): IConfig;
4009 begin
4010 Result := ConfigManagerVTable(vTable).getPluginConfig(Self, configuredPlugin);
4011 end;
4012
4013 function IConfigManager.getInstallDirectory(): PAnsiChar;
4014 begin
4015 Result := ConfigManagerVTable(vTable).getInstallDirectory(Self);
4016 end;
4017
4018 function IConfigManager.getRootDirectory(): PAnsiChar;
4019 begin
4020 Result := ConfigManagerVTable(vTable).getRootDirectory(Self);
4021 end;
4022
4023 function IConfigManager.getDefaultSecurityDb(): PAnsiChar;
4024 begin
4025 Result := ConfigManagerVTable(vTable).getDefaultSecurityDb(Self);
4026 end;
4027
4028 procedure IEventCallback.eventCallbackFunction(length: Cardinal; events: BytePtr);
4029 begin
4030 EventCallbackVTable(vTable).eventCallbackFunction(Self, length, events);
4031 end;
4032
4033 procedure IBlob.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4034 begin
4035 BlobVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4036 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4037 end;
4038
4039 function IBlob.getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer;
4040 begin
4041 Result := BlobVTable(vTable).getSegment(Self, status, bufferLength, buffer, segmentLength);
4042 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4043 end;
4044
4045 procedure IBlob.putSegment(status: IStatus; length: Cardinal; buffer: Pointer);
4046 begin
4047 BlobVTable(vTable).putSegment(Self, status, length, buffer);
4048 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4049 end;
4050
4051 procedure IBlob.cancel(status: IStatus);
4052 begin
4053 BlobVTable(vTable).cancel(Self, status);
4054 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4055 end;
4056
4057 procedure IBlob.close(status: IStatus);
4058 begin
4059 BlobVTable(vTable).close(Self, status);
4060 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4061 end;
4062
4063 function IBlob.seek(status: IStatus; mode: Integer; offset: Integer): Integer;
4064 begin
4065 Result := BlobVTable(vTable).seek(Self, status, mode, offset);
4066 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4067 end;
4068
4069 procedure ITransaction.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4070 begin
4071 TransactionVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4072 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4073 end;
4074
4075 procedure ITransaction.prepare(status: IStatus; msgLength: Cardinal; message: BytePtr);
4076 begin
4077 TransactionVTable(vTable).prepare(Self, status, msgLength, message);
4078 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4079 end;
4080
4081 procedure ITransaction.commit(status: IStatus);
4082 begin
4083 TransactionVTable(vTable).commit(Self, status);
4084 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4085 end;
4086
4087 procedure ITransaction.commitRetaining(status: IStatus);
4088 begin
4089 TransactionVTable(vTable).commitRetaining(Self, status);
4090 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4091 end;
4092
4093 procedure ITransaction.rollback(status: IStatus);
4094 begin
4095 TransactionVTable(vTable).rollback(Self, status);
4096 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4097 end;
4098
4099 procedure ITransaction.rollbackRetaining(status: IStatus);
4100 begin
4101 TransactionVTable(vTable).rollbackRetaining(Self, status);
4102 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4103 end;
4104
4105 procedure ITransaction.disconnect(status: IStatus);
4106 begin
4107 TransactionVTable(vTable).disconnect(Self, status);
4108 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4109 end;
4110
4111 function ITransaction.join(status: IStatus; transaction: ITransaction): ITransaction;
4112 begin
4113 Result := TransactionVTable(vTable).join(Self, status, transaction);
4114 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4115 end;
4116
4117 function ITransaction.validate(status: IStatus; attachment: IAttachment): ITransaction;
4118 begin
4119 Result := TransactionVTable(vTable).validate(Self, status, attachment);
4120 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4121 end;
4122
4123 function ITransaction.enterDtc(status: IStatus): ITransaction;
4124 begin
4125 Result := TransactionVTable(vTable).enterDtc(Self, status);
4126 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4127 end;
4128
4129 function IMessageMetadata.getCount(status: IStatus): Cardinal;
4130 begin
4131 Result := MessageMetadataVTable(vTable).getCount(Self, status);
4132 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4133 end;
4134
4135 function IMessageMetadata.getField(status: IStatus; index: Cardinal): PAnsiChar;
4136 begin
4137 Result := MessageMetadataVTable(vTable).getField(Self, status, index);
4138 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4139 end;
4140
4141 function IMessageMetadata.getRelation(status: IStatus; index: Cardinal): PAnsiChar;
4142 begin
4143 Result := MessageMetadataVTable(vTable).getRelation(Self, status, index);
4144 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4145 end;
4146
4147 function IMessageMetadata.getOwner(status: IStatus; index: Cardinal): PAnsiChar;
4148 begin
4149 Result := MessageMetadataVTable(vTable).getOwner(Self, status, index);
4150 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4151 end;
4152
4153 function IMessageMetadata.getAlias(status: IStatus; index: Cardinal): PAnsiChar;
4154 begin
4155 Result := MessageMetadataVTable(vTable).getAlias(Self, status, index);
4156 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4157 end;
4158
4159 function IMessageMetadata.getType(status: IStatus; index: Cardinal): Cardinal;
4160 begin
4161 Result := MessageMetadataVTable(vTable).getType(Self, status, index);
4162 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4163 end;
4164
4165 function IMessageMetadata.isNullable(status: IStatus; index: Cardinal): Boolean;
4166 begin
4167 Result := MessageMetadataVTable(vTable).isNullable(Self, status, index);
4168 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4169 end;
4170
4171 function IMessageMetadata.getSubType(status: IStatus; index: Cardinal): Integer;
4172 begin
4173 Result := MessageMetadataVTable(vTable).getSubType(Self, status, index);
4174 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4175 end;
4176
4177 function IMessageMetadata.getLength(status: IStatus; index: Cardinal): Cardinal;
4178 begin
4179 Result := MessageMetadataVTable(vTable).getLength(Self, status, index);
4180 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4181 end;
4182
4183 function IMessageMetadata.getScale(status: IStatus; index: Cardinal): Integer;
4184 begin
4185 Result := MessageMetadataVTable(vTable).getScale(Self, status, index);
4186 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4187 end;
4188
4189 function IMessageMetadata.getCharSet(status: IStatus; index: Cardinal): Cardinal;
4190 begin
4191 Result := MessageMetadataVTable(vTable).getCharSet(Self, status, index);
4192 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4193 end;
4194
4195 function IMessageMetadata.getOffset(status: IStatus; index: Cardinal): Cardinal;
4196 begin
4197 Result := MessageMetadataVTable(vTable).getOffset(Self, status, index);
4198 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4199 end;
4200
4201 function IMessageMetadata.getNullOffset(status: IStatus; index: Cardinal): Cardinal;
4202 begin
4203 Result := MessageMetadataVTable(vTable).getNullOffset(Self, status, index);
4204 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4205 end;
4206
4207 function IMessageMetadata.getBuilder(status: IStatus): IMetadataBuilder;
4208 begin
4209 Result := MessageMetadataVTable(vTable).getBuilder(Self, status);
4210 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4211 end;
4212
4213 function IMessageMetadata.getMessageLength(status: IStatus): Cardinal;
4214 begin
4215 Result := MessageMetadataVTable(vTable).getMessageLength(Self, status);
4216 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4217 end;
4218
4219 function IMessageMetadata.getAlignment(status: IStatus): Cardinal;
4220 begin
4221 Result := MessageMetadataVTable(vTable).getAlignment(Self, status);
4222 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4223 end;
4224
4225 function IMessageMetadata.getAlignedLength(status: IStatus): Cardinal;
4226 begin
4227 Result := MessageMetadataVTable(vTable).getAlignedLength(Self, status);
4228 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4229 end;
4230
4231 procedure IMetadataBuilder.setType(status: IStatus; index: Cardinal; type_: Cardinal);
4232 begin
4233 MetadataBuilderVTable(vTable).setType(Self, status, index, type_);
4234 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4235 end;
4236
4237 procedure IMetadataBuilder.setSubType(status: IStatus; index: Cardinal; subType: Integer);
4238 begin
4239 MetadataBuilderVTable(vTable).setSubType(Self, status, index, subType);
4240 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4241 end;
4242
4243 procedure IMetadataBuilder.setLength(status: IStatus; index: Cardinal; length: Cardinal);
4244 begin
4245 MetadataBuilderVTable(vTable).setLength(Self, status, index, length);
4246 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4247 end;
4248
4249 procedure IMetadataBuilder.setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal);
4250 begin
4251 MetadataBuilderVTable(vTable).setCharSet(Self, status, index, charSet);
4252 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4253 end;
4254
4255 procedure IMetadataBuilder.setScale(status: IStatus; index: Cardinal; scale: Integer);
4256 begin
4257 MetadataBuilderVTable(vTable).setScale(Self, status, index, scale);
4258 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4259 end;
4260
4261 procedure IMetadataBuilder.truncate(status: IStatus; count: Cardinal);
4262 begin
4263 MetadataBuilderVTable(vTable).truncate(Self, status, count);
4264 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4265 end;
4266
4267 procedure IMetadataBuilder.moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal);
4268 begin
4269 MetadataBuilderVTable(vTable).moveNameToIndex(Self, status, name, index);
4270 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4271 end;
4272
4273 procedure IMetadataBuilder.remove(status: IStatus; index: Cardinal);
4274 begin
4275 MetadataBuilderVTable(vTable).remove(Self, status, index);
4276 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4277 end;
4278
4279 function IMetadataBuilder.addField(status: IStatus): Cardinal;
4280 begin
4281 Result := MetadataBuilderVTable(vTable).addField(Self, status);
4282 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4283 end;
4284
4285 function IMetadataBuilder.getMetadata(status: IStatus): IMessageMetadata;
4286 begin
4287 Result := MetadataBuilderVTable(vTable).getMetadata(Self, status);
4288 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4289 end;
4290
4291 procedure IMetadataBuilder.setField(status: IStatus; index: Cardinal; field: PAnsiChar);
4292 begin
4293 MetadataBuilderVTable(vTable).setField(Self, status, index, field);
4294 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4295 end;
4296
4297 procedure IMetadataBuilder.setRelation(status: IStatus; index: Cardinal; relation: PAnsiChar);
4298 begin
4299 MetadataBuilderVTable(vTable).setRelation(Self, status, index, relation);
4300 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4301 end;
4302
4303 procedure IMetadataBuilder.setOwner(status: IStatus; index: Cardinal; owner: PAnsiChar);
4304 begin
4305 MetadataBuilderVTable(vTable).setOwner(Self, status, index, owner);
4306 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4307 end;
4308
4309 procedure IMetadataBuilder.setAlias(status: IStatus; index: Cardinal; alias: PAnsiChar);
4310 begin
4311 MetadataBuilderVTable(vTable).setAlias(Self, status, index, alias);
4312 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4313 end;
4314
4315 function IResultSet.fetchNext(status: IStatus; message: Pointer): Integer;
4316 begin
4317 Result := ResultSetVTable(vTable).fetchNext(Self, status, message);
4318 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4319 end;
4320
4321 function IResultSet.fetchPrior(status: IStatus; message: Pointer): Integer;
4322 begin
4323 Result := ResultSetVTable(vTable).fetchPrior(Self, status, message);
4324 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4325 end;
4326
4327 function IResultSet.fetchFirst(status: IStatus; message: Pointer): Integer;
4328 begin
4329 Result := ResultSetVTable(vTable).fetchFirst(Self, status, message);
4330 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4331 end;
4332
4333 function IResultSet.fetchLast(status: IStatus; message: Pointer): Integer;
4334 begin
4335 Result := ResultSetVTable(vTable).fetchLast(Self, status, message);
4336 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4337 end;
4338
4339 function IResultSet.fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer;
4340 begin
4341 Result := ResultSetVTable(vTable).fetchAbsolute(Self, status, position, message);
4342 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4343 end;
4344
4345 function IResultSet.fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer;
4346 begin
4347 Result := ResultSetVTable(vTable).fetchRelative(Self, status, offset, message);
4348 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4349 end;
4350
4351 function IResultSet.isEof(status: IStatus): Boolean;
4352 begin
4353 Result := ResultSetVTable(vTable).isEof(Self, status);
4354 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4355 end;
4356
4357 function IResultSet.isBof(status: IStatus): Boolean;
4358 begin
4359 Result := ResultSetVTable(vTable).isBof(Self, status);
4360 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4361 end;
4362
4363 function IResultSet.getMetadata(status: IStatus): IMessageMetadata;
4364 begin
4365 Result := ResultSetVTable(vTable).getMetadata(Self, status);
4366 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4367 end;
4368
4369 procedure IResultSet.close(status: IStatus);
4370 begin
4371 ResultSetVTable(vTable).close(Self, status);
4372 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4373 end;
4374
4375 procedure IResultSet.setDelayedOutputFormat(status: IStatus; format: IMessageMetadata);
4376 begin
4377 ResultSetVTable(vTable).setDelayedOutputFormat(Self, status, format);
4378 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4379 end;
4380
4381 procedure IStatement.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4382 begin
4383 StatementVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4384 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4385 end;
4386
4387 function IStatement.getType(status: IStatus): Cardinal;
4388 begin
4389 Result := StatementVTable(vTable).getType(Self, status);
4390 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4391 end;
4392
4393 function IStatement.getPlan(status: IStatus; detailed: Boolean): PAnsiChar;
4394 begin
4395 Result := StatementVTable(vTable).getPlan(Self, status, detailed);
4396 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4397 end;
4398
4399 function IStatement.getAffectedRecords(status: IStatus): QWord;
4400 begin
4401 Result := StatementVTable(vTable).getAffectedRecords(Self, status);
4402 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4403 end;
4404
4405 function IStatement.getInputMetadata(status: IStatus): IMessageMetadata;
4406 begin
4407 Result := StatementVTable(vTable).getInputMetadata(Self, status);
4408 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4409 end;
4410
4411 function IStatement.getOutputMetadata(status: IStatus): IMessageMetadata;
4412 begin
4413 Result := StatementVTable(vTable).getOutputMetadata(Self, status);
4414 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4415 end;
4416
4417 function IStatement.execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
4418 begin
4419 Result := StatementVTable(vTable).execute(Self, status, transaction, inMetadata, inBuffer, outMetadata, outBuffer);
4420 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4421 end;
4422
4423 function IStatement.openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet;
4424 begin
4425 Result := StatementVTable(vTable).openCursor(Self, status, transaction, inMetadata, inBuffer, outMetadata, flags);
4426 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4427 end;
4428
4429 procedure IStatement.setCursorName(status: IStatus; name: PAnsiChar);
4430 begin
4431 StatementVTable(vTable).setCursorName(Self, status, name);
4432 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4433 end;
4434
4435 procedure IStatement.free(status: IStatus);
4436 begin
4437 StatementVTable(vTable).free(Self, status);
4438 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4439 end;
4440
4441 function IStatement.getFlags(status: IStatus): Cardinal;
4442 begin
4443 Result := StatementVTable(vTable).getFlags(Self, status);
4444 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4445 end;
4446
4447 function IStatement.getTimeout(status: IStatus): Cardinal;
4448 begin
4449 Result := StatementVTable(vTable).getTimeout(Self, status);
4450 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4451 end;
4452
4453 procedure IStatement.setTimeout(status: IStatus; timeOut: Cardinal);
4454 begin
4455 StatementVTable(vTable).setTimeout(Self, status, timeOut);
4456 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4457 end;
4458
4459 function IStatement.createBatch(status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
4460 begin
4461 Result := StatementVTable(vTable).createBatch(Self, status, inMetadata, parLength, par);
4462 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4463 end;
4464
4465 procedure IBatch.add(status: IStatus; count: Cardinal; inBuffer: Pointer);
4466 begin
4467 BatchVTable(vTable).add(Self, status, count, inBuffer);
4468 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4469 end;
4470
4471 procedure IBatch.addBlob(status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr);
4472 begin
4473 BatchVTable(vTable).addBlob(Self, status, length, inBuffer, blobId, parLength, par);
4474 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4475 end;
4476
4477 procedure IBatch.appendBlobData(status: IStatus; length: Cardinal; inBuffer: Pointer);
4478 begin
4479 BatchVTable(vTable).appendBlobData(Self, status, length, inBuffer);
4480 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4481 end;
4482
4483 procedure IBatch.addBlobStream(status: IStatus; length: Cardinal; inBuffer: Pointer);
4484 begin
4485 BatchVTable(vTable).addBlobStream(Self, status, length, inBuffer);
4486 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4487 end;
4488
4489 procedure IBatch.registerBlob(status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr);
4490 begin
4491 BatchVTable(vTable).registerBlob(Self, status, existingBlob, blobId);
4492 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4493 end;
4494
4495 function IBatch.execute(status: IStatus; transaction: ITransaction): IBatchCompletionState;
4496 begin
4497 Result := BatchVTable(vTable).execute(Self, status, transaction);
4498 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4499 end;
4500
4501 procedure IBatch.cancel(status: IStatus);
4502 begin
4503 BatchVTable(vTable).cancel(Self, status);
4504 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4505 end;
4506
4507 function IBatch.getBlobAlignment(status: IStatus): Cardinal;
4508 begin
4509 Result := BatchVTable(vTable).getBlobAlignment(Self, status);
4510 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4511 end;
4512
4513 function IBatch.getMetadata(status: IStatus): IMessageMetadata;
4514 begin
4515 Result := BatchVTable(vTable).getMetadata(Self, status);
4516 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4517 end;
4518
4519 procedure IBatch.setDefaultBpb(status: IStatus; parLength: Cardinal; par: BytePtr);
4520 begin
4521 BatchVTable(vTable).setDefaultBpb(Self, status, parLength, par);
4522 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4523 end;
4524
4525 function IBatchCompletionState.getSize(status: IStatus): Cardinal;
4526 begin
4527 Result := BatchCompletionStateVTable(vTable).getSize(Self, status);
4528 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4529 end;
4530
4531 function IBatchCompletionState.getState(status: IStatus; pos: Cardinal): Integer;
4532 begin
4533 Result := BatchCompletionStateVTable(vTable).getState(Self, status, pos);
4534 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4535 end;
4536
4537 function IBatchCompletionState.findError(status: IStatus; pos: Cardinal): Cardinal;
4538 begin
4539 Result := BatchCompletionStateVTable(vTable).findError(Self, status, pos);
4540 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4541 end;
4542
4543 procedure IBatchCompletionState.getStatus(status: IStatus; to_: IStatus; pos: Cardinal);
4544 begin
4545 BatchCompletionStateVTable(vTable).getStatus(Self, status, to_, pos);
4546 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4547 end;
4548
4549 procedure IReplicator.process(status: IStatus; length: Cardinal; data: BytePtr);
4550 begin
4551 ReplicatorVTable(vTable).process(Self, status, length, data);
4552 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4553 end;
4554
4555 procedure IReplicator.close(status: IStatus);
4556 begin
4557 ReplicatorVTable(vTable).close(Self, status);
4558 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4559 end;
4560
4561 procedure IRequest.receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
4562 begin
4563 RequestVTable(vTable).receive(Self, status, level, msgType, length, message);
4564 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4565 end;
4566
4567 procedure IRequest.send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
4568 begin
4569 RequestVTable(vTable).send(Self, status, level, msgType, length, message);
4570 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4571 end;
4572
4573 procedure IRequest.getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4574 begin
4575 RequestVTable(vTable).getInfo(Self, status, level, itemsLength, items, bufferLength, buffer);
4576 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4577 end;
4578
4579 procedure IRequest.start(status: IStatus; tra: ITransaction; level: Integer);
4580 begin
4581 RequestVTable(vTable).start(Self, status, tra, level);
4582 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4583 end;
4584
4585 procedure IRequest.startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
4586 begin
4587 RequestVTable(vTable).startAndSend(Self, status, tra, level, msgType, length, message);
4588 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4589 end;
4590
4591 procedure IRequest.unwind(status: IStatus; level: Integer);
4592 begin
4593 RequestVTable(vTable).unwind(Self, status, level);
4594 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4595 end;
4596
4597 procedure IRequest.free(status: IStatus);
4598 begin
4599 RequestVTable(vTable).free(Self, status);
4600 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4601 end;
4602
4603 procedure IEvents.cancel(status: IStatus);
4604 begin
4605 EventsVTable(vTable).cancel(Self, status);
4606 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4607 end;
4608
4609 procedure IAttachment.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4610 begin
4611 AttachmentVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4612 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4613 end;
4614
4615 function IAttachment.startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction;
4616 begin
4617 Result := AttachmentVTable(vTable).startTransaction(Self, status, tpbLength, tpb);
4618 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4619 end;
4620
4621 function IAttachment.reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction;
4622 begin
4623 Result := AttachmentVTable(vTable).reconnectTransaction(Self, status, length, id);
4624 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4625 end;
4626
4627 function IAttachment.compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest;
4628 begin
4629 Result := AttachmentVTable(vTable).compileRequest(Self, status, blrLength, blr);
4630 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4631 end;
4632
4633 procedure IAttachment.transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr);
4634 begin
4635 AttachmentVTable(vTable).transactRequest(Self, status, transaction, blrLength, blr, inMsgLength, inMsg, outMsgLength, outMsg);
4636 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4637 end;
4638
4639 function IAttachment.createBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
4640 begin
4641 Result := AttachmentVTable(vTable).createBlob(Self, status, transaction, id, bpbLength, bpb);
4642 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4643 end;
4644
4645 function IAttachment.openBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
4646 begin
4647 Result := AttachmentVTable(vTable).openBlob(Self, status, transaction, id, bpbLength, bpb);
4648 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4649 end;
4650
4651 function IAttachment.getSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer;
4652 begin
4653 Result := AttachmentVTable(vTable).getSlice(Self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
4654 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4655 end;
4656
4657 procedure IAttachment.putSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr);
4658 begin
4659 AttachmentVTable(vTable).putSlice(Self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
4660 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4661 end;
4662
4663 procedure IAttachment.executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr);
4664 begin
4665 AttachmentVTable(vTable).executeDyn(Self, status, transaction, length, dyn);
4666 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4667 end;
4668
4669 function IAttachment.prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement;
4670 begin
4671 Result := AttachmentVTable(vTable).prepare(Self, status, tra, stmtLength, sqlStmt, dialect, flags);
4672 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4673 end;
4674
4675 function IAttachment.execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
4676 begin
4677 Result := AttachmentVTable(vTable).execute(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer);
4678 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4679 end;
4680
4681 function IAttachment.openCursor(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet;
4682 begin
4683 Result := AttachmentVTable(vTable).openCursor(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags);
4684 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4685 end;
4686
4687 function IAttachment.queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents;
4688 begin
4689 Result := AttachmentVTable(vTable).queEvents(Self, status, callback, length, events);
4690 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4691 end;
4692
4693 procedure IAttachment.cancelOperation(status: IStatus; option: Integer);
4694 begin
4695 AttachmentVTable(vTable).cancelOperation(Self, status, option);
4696 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4697 end;
4698
4699 procedure IAttachment.ping(status: IStatus);
4700 begin
4701 AttachmentVTable(vTable).ping(Self, status);
4702 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4703 end;
4704
4705 procedure IAttachment.detach(status: IStatus);
4706 begin
4707 AttachmentVTable(vTable).detach(Self, status);
4708 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4709 end;
4710
4711 procedure IAttachment.dropDatabase(status: IStatus);
4712 begin
4713 AttachmentVTable(vTable).dropDatabase(Self, status);
4714 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4715 end;
4716
4717 function IAttachment.getIdleTimeout(status: IStatus): Cardinal;
4718 begin
4719 Result := AttachmentVTable(vTable).getIdleTimeout(Self, status);
4720 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4721 end;
4722
4723 procedure IAttachment.setIdleTimeout(status: IStatus; timeOut: Cardinal);
4724 begin
4725 AttachmentVTable(vTable).setIdleTimeout(Self, status, timeOut);
4726 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4727 end;
4728
4729 function IAttachment.getStatementTimeout(status: IStatus): Cardinal;
4730 begin
4731 Result := AttachmentVTable(vTable).getStatementTimeout(Self, status);
4732 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4733 end;
4734
4735 procedure IAttachment.setStatementTimeout(status: IStatus; timeOut: Cardinal);
4736 begin
4737 AttachmentVTable(vTable).setStatementTimeout(Self, status, timeOut);
4738 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4739 end;
4740
4741 function IAttachment.createBatch(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
4742 begin
4743 Result := AttachmentVTable(vTable).createBatch(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, parLength, par);
4744 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4745 end;
4746
4747 function IAttachment.createReplicator(status: IStatus): IReplicator;
4748 begin
4749 Result := AttachmentVTable(vTable).createReplicator(Self, status);
4750 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4751 end;
4752
4753 procedure IService.detach(status: IStatus);
4754 begin
4755 ServiceVTable(vTable).detach(Self, status);
4756 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4757 end;
4758
4759 procedure IService.query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4760 begin
4761 ServiceVTable(vTable).query(Self, status, sendLength, sendItems, receiveLength, receiveItems, bufferLength, buffer);
4762 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4763 end;
4764
4765 procedure IService.start(status: IStatus; spbLength: Cardinal; spb: BytePtr);
4766 begin
4767 ServiceVTable(vTable).start(Self, status, spbLength, spb);
4768 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4769 end;
4770
4771 function IProvider.attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
4772 begin
4773 Result := ProviderVTable(vTable).attachDatabase(Self, status, fileName, dpbLength, dpb);
4774 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4775 end;
4776
4777 function IProvider.createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
4778 begin
4779 Result := ProviderVTable(vTable).createDatabase(Self, status, fileName, dpbLength, dpb);
4780 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4781 end;
4782
4783 function IProvider.attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService;
4784 begin
4785 Result := ProviderVTable(vTable).attachServiceManager(Self, status, service, spbLength, spb);
4786 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4787 end;
4788
4789 procedure IProvider.shutdown(status: IStatus; timeout: Cardinal; reason: Integer);
4790 begin
4791 ProviderVTable(vTable).shutdown(Self, status, timeout, reason);
4792 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4793 end;
4794
4795 procedure IProvider.setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
4796 begin
4797 ProviderVTable(vTable).setDbCryptCallback(Self, status, cryptCallback);
4798 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4799 end;
4800
4801 procedure IDtcStart.addAttachment(status: IStatus; att: IAttachment);
4802 begin
4803 DtcStartVTable(vTable).addAttachment(Self, status, att);
4804 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4805 end;
4806
4807 procedure IDtcStart.addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr);
4808 begin
4809 DtcStartVTable(vTable).addWithTpb(Self, status, att, length, tpb);
4810 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4811 end;
4812
4813 function IDtcStart.start(status: IStatus): ITransaction;
4814 begin
4815 Result := DtcStartVTable(vTable).start(Self, status);
4816 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4817 end;
4818
4819 function IDtc.join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction;
4820 begin
4821 Result := DtcVTable(vTable).join(Self, status, one, two);
4822 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4823 end;
4824
4825 function IDtc.startBuilder(status: IStatus): IDtcStart;
4826 begin
4827 Result := DtcVTable(vTable).startBuilder(Self, status);
4828 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4829 end;
4830
4831 procedure IWriter.reset();
4832 begin
4833 WriterVTable(vTable).reset(Self);
4834 end;
4835
4836 procedure IWriter.add(status: IStatus; name: PAnsiChar);
4837 begin
4838 WriterVTable(vTable).add(Self, status, name);
4839 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4840 end;
4841
4842 procedure IWriter.setType(status: IStatus; value: PAnsiChar);
4843 begin
4844 WriterVTable(vTable).setType(Self, status, value);
4845 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4846 end;
4847
4848 procedure IWriter.setDb(status: IStatus; value: PAnsiChar);
4849 begin
4850 WriterVTable(vTable).setDb(Self, status, value);
4851 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4852 end;
4853
4854 function IServerBlock.getLogin(): PAnsiChar;
4855 begin
4856 Result := ServerBlockVTable(vTable).getLogin(Self);
4857 end;
4858
4859 function IServerBlock.getData(length: CardinalPtr): BytePtr;
4860 begin
4861 Result := ServerBlockVTable(vTable).getData(Self, length);
4862 end;
4863
4864 procedure IServerBlock.putData(status: IStatus; length: Cardinal; data: Pointer);
4865 begin
4866 ServerBlockVTable(vTable).putData(Self, status, length, data);
4867 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4868 end;
4869
4870 function IServerBlock.newKey(status: IStatus): ICryptKey;
4871 begin
4872 Result := ServerBlockVTable(vTable).newKey(Self, status);
4873 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4874 end;
4875
4876 function IClientBlock.getLogin(): PAnsiChar;
4877 begin
4878 Result := ClientBlockVTable(vTable).getLogin(Self);
4879 end;
4880
4881 function IClientBlock.getPassword(): PAnsiChar;
4882 begin
4883 Result := ClientBlockVTable(vTable).getPassword(Self);
4884 end;
4885
4886 function IClientBlock.getData(length: CardinalPtr): BytePtr;
4887 begin
4888 Result := ClientBlockVTable(vTable).getData(Self, length);
4889 end;
4890
4891 procedure IClientBlock.putData(status: IStatus; length: Cardinal; data: Pointer);
4892 begin
4893 ClientBlockVTable(vTable).putData(Self, status, length, data);
4894 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4895 end;
4896
4897 function IClientBlock.newKey(status: IStatus): ICryptKey;
4898 begin
4899 Result := ClientBlockVTable(vTable).newKey(Self, status);
4900 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4901 end;
4902
4903 function IClientBlock.getAuthBlock(status: IStatus): IAuthBlock;
4904 begin
4905 Result := ClientBlockVTable(vTable).getAuthBlock(Self, status);
4906 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4907 end;
4908
4909 function IServer.authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer;
4910 begin
4911 Result := ServerVTable(vTable).authenticate(Self, status, sBlock, writerInterface);
4912 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4913 end;
4914
4915 procedure IServer.setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
4916 begin
4917 ServerVTable(vTable).setDbCryptCallback(Self, status, cryptCallback);
4918 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4919 end;
4920
4921 function IClient.authenticate(status: IStatus; cBlock: IClientBlock): Integer;
4922 begin
4923 Result := ClientVTable(vTable).authenticate(Self, status, cBlock);
4924 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4925 end;
4926
4927 function IUserField.entered(): Integer;
4928 begin
4929 Result := UserFieldVTable(vTable).entered(Self);
4930 end;
4931
4932 function IUserField.specified(): Integer;
4933 begin
4934 Result := UserFieldVTable(vTable).specified(Self);
4935 end;
4936
4937 procedure IUserField.setEntered(status: IStatus; newValue: Integer);
4938 begin
4939 UserFieldVTable(vTable).setEntered(Self, status, newValue);
4940 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4941 end;
4942
4943 function ICharUserField.get(): PAnsiChar;
4944 begin
4945 Result := CharUserFieldVTable(vTable).get(Self);
4946 end;
4947
4948 procedure ICharUserField.set_(status: IStatus; newValue: PAnsiChar);
4949 begin
4950 CharUserFieldVTable(vTable).set_(Self, status, newValue);
4951 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4952 end;
4953
4954 function IIntUserField.get(): Integer;
4955 begin
4956 Result := IntUserFieldVTable(vTable).get(Self);
4957 end;
4958
4959 procedure IIntUserField.set_(status: IStatus; newValue: Integer);
4960 begin
4961 IntUserFieldVTable(vTable).set_(Self, status, newValue);
4962 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4963 end;
4964
4965 function IUser.operation(): Cardinal;
4966 begin
4967 Result := UserVTable(vTable).operation(Self);
4968 end;
4969
4970 function IUser.userName(): ICharUserField;
4971 begin
4972 Result := UserVTable(vTable).userName(Self);
4973 end;
4974
4975 function IUser.password(): ICharUserField;
4976 begin
4977 Result := UserVTable(vTable).password(Self);
4978 end;
4979
4980 function IUser.firstName(): ICharUserField;
4981 begin
4982 Result := UserVTable(vTable).firstName(Self);
4983 end;
4984
4985 function IUser.lastName(): ICharUserField;
4986 begin
4987 Result := UserVTable(vTable).lastName(Self);
4988 end;
4989
4990 function IUser.middleName(): ICharUserField;
4991 begin
4992 Result := UserVTable(vTable).middleName(Self);
4993 end;
4994
4995 function IUser.comment(): ICharUserField;
4996 begin
4997 Result := UserVTable(vTable).comment(Self);
4998 end;
4999
5000 function IUser.attributes(): ICharUserField;
5001 begin
5002 Result := UserVTable(vTable).attributes(Self);
5003 end;
5004
5005 function IUser.active(): IIntUserField;
5006 begin
5007 Result := UserVTable(vTable).active(Self);
5008 end;
5009
5010 function IUser.admin(): IIntUserField;
5011 begin
5012 Result := UserVTable(vTable).admin(Self);
5013 end;
5014
5015 procedure IUser.clear(status: IStatus);
5016 begin
5017 UserVTable(vTable).clear(Self, status);
5018 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5019 end;
5020
5021 procedure IListUsers.list(status: IStatus; user: IUser);
5022 begin
5023 ListUsersVTable(vTable).list(Self, status, user);
5024 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5025 end;
5026
5027 function ILogonInfo.name(): PAnsiChar;
5028 begin
5029 Result := LogonInfoVTable(vTable).name(Self);
5030 end;
5031
5032 function ILogonInfo.role(): PAnsiChar;
5033 begin
5034 Result := LogonInfoVTable(vTable).role(Self);
5035 end;
5036
5037 function ILogonInfo.networkProtocol(): PAnsiChar;
5038 begin
5039 Result := LogonInfoVTable(vTable).networkProtocol(Self);
5040 end;
5041
5042 function ILogonInfo.remoteAddress(): PAnsiChar;
5043 begin
5044 Result := LogonInfoVTable(vTable).remoteAddress(Self);
5045 end;
5046
5047 function ILogonInfo.authBlock(length: CardinalPtr): BytePtr;
5048 begin
5049 Result := LogonInfoVTable(vTable).authBlock(Self, length);
5050 end;
5051
5052 function ILogonInfo.attachment(status: IStatus): IAttachment;
5053 begin
5054 Result := LogonInfoVTable(vTable).attachment(Self, status);
5055 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5056 end;
5057
5058 function ILogonInfo.transaction(status: IStatus): ITransaction;
5059 begin
5060 Result := LogonInfoVTable(vTable).transaction(Self, status);
5061 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5062 end;
5063
5064 procedure IManagement.start(status: IStatus; logonInfo: ILogonInfo);
5065 begin
5066 ManagementVTable(vTable).start(Self, status, logonInfo);
5067 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5068 end;
5069
5070 function IManagement.execute(status: IStatus; user: IUser; callback: IListUsers): Integer;
5071 begin
5072 Result := ManagementVTable(vTable).execute(Self, status, user, callback);
5073 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5074 end;
5075
5076 procedure IManagement.commit(status: IStatus);
5077 begin
5078 ManagementVTable(vTable).commit(Self, status);
5079 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5080 end;
5081
5082 procedure IManagement.rollback(status: IStatus);
5083 begin
5084 ManagementVTable(vTable).rollback(Self, status);
5085 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5086 end;
5087
5088 function IAuthBlock.getType(): PAnsiChar;
5089 begin
5090 Result := AuthBlockVTable(vTable).getType(Self);
5091 end;
5092
5093 function IAuthBlock.getName(): PAnsiChar;
5094 begin
5095 Result := AuthBlockVTable(vTable).getName(Self);
5096 end;
5097
5098 function IAuthBlock.getPlugin(): PAnsiChar;
5099 begin
5100 Result := AuthBlockVTable(vTable).getPlugin(Self);
5101 end;
5102
5103 function IAuthBlock.getSecurityDb(): PAnsiChar;
5104 begin
5105 Result := AuthBlockVTable(vTable).getSecurityDb(Self);
5106 end;
5107
5108 function IAuthBlock.getOriginalPlugin(): PAnsiChar;
5109 begin
5110 Result := AuthBlockVTable(vTable).getOriginalPlugin(Self);
5111 end;
5112
5113 function IAuthBlock.next(status: IStatus): Boolean;
5114 begin
5115 Result := AuthBlockVTable(vTable).next(Self, status);
5116 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5117 end;
5118
5119 function IAuthBlock.first(status: IStatus): Boolean;
5120 begin
5121 Result := AuthBlockVTable(vTable).first(Self, status);
5122 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5123 end;
5124
5125 function IWireCryptPlugin.getKnownTypes(status: IStatus): PAnsiChar;
5126 begin
5127 Result := WireCryptPluginVTable(vTable).getKnownTypes(Self, status);
5128 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5129 end;
5130
5131 procedure IWireCryptPlugin.setKey(status: IStatus; key: ICryptKey);
5132 begin
5133 WireCryptPluginVTable(vTable).setKey(Self, status, key);
5134 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5135 end;
5136
5137 procedure IWireCryptPlugin.encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5138 begin
5139 WireCryptPluginVTable(vTable).encrypt(Self, status, length, from, to_);
5140 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5141 end;
5142
5143 procedure IWireCryptPlugin.decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5144 begin
5145 WireCryptPluginVTable(vTable).decrypt(Self, status, length, from, to_);
5146 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5147 end;
5148
5149 function IWireCryptPlugin.getSpecificData(status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr;
5150 begin
5151 Result := WireCryptPluginVTable(vTable).getSpecificData(Self, status, keyType, length);
5152 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5153 end;
5154
5155 procedure IWireCryptPlugin.setSpecificData(status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr);
5156 begin
5157 WireCryptPluginVTable(vTable).setSpecificData(Self, status, keyType, length, data);
5158 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5159 end;
5160
5161 function ICryptKeyCallback.callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal;
5162 begin
5163 Result := CryptKeyCallbackVTable(vTable).callback(Self, dataLength, data, bufferLength, buffer);
5164 end;
5165
5166 function IKeyHolderPlugin.keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer;
5167 begin
5168 Result := KeyHolderPluginVTable(vTable).keyCallback(Self, status, callback);
5169 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5170 end;
5171
5172 function IKeyHolderPlugin.keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback;
5173 begin
5174 Result := KeyHolderPluginVTable(vTable).keyHandle(Self, status, keyName);
5175 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5176 end;
5177
5178 function IKeyHolderPlugin.useOnlyOwnKeys(status: IStatus): Boolean;
5179 begin
5180 Result := KeyHolderPluginVTable(vTable).useOnlyOwnKeys(Self, status);
5181 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5182 end;
5183
5184 function IKeyHolderPlugin.chainHandle(status: IStatus): ICryptKeyCallback;
5185 begin
5186 Result := KeyHolderPluginVTable(vTable).chainHandle(Self, status);
5187 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5188 end;
5189
5190 function IDbCryptInfo.getDatabaseFullPath(status: IStatus): PAnsiChar;
5191 begin
5192 Result := DbCryptInfoVTable(vTable).getDatabaseFullPath(Self, status);
5193 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5194 end;
5195
5196 procedure IDbCryptPlugin.setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar);
5197 begin
5198 DbCryptPluginVTable(vTable).setKey(Self, status, length, sources, keyName);
5199 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5200 end;
5201
5202 procedure IDbCryptPlugin.encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5203 begin
5204 DbCryptPluginVTable(vTable).encrypt(Self, status, length, from, to_);
5205 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5206 end;
5207
5208 procedure IDbCryptPlugin.decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5209 begin
5210 DbCryptPluginVTable(vTable).decrypt(Self, status, length, from, to_);
5211 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5212 end;
5213
5214 procedure IDbCryptPlugin.setInfo(status: IStatus; info: IDbCryptInfo);
5215 begin
5216 DbCryptPluginVTable(vTable).setInfo(Self, status, info);
5217 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5218 end;
5219
5220 function IExternalContext.getMaster(): IMaster;
5221 begin
5222 Result := ExternalContextVTable(vTable).getMaster(Self);
5223 end;
5224
5225 function IExternalContext.getEngine(status: IStatus): IExternalEngine;
5226 begin
5227 Result := ExternalContextVTable(vTable).getEngine(Self, status);
5228 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5229 end;
5230
5231 function IExternalContext.getAttachment(status: IStatus): IAttachment;
5232 begin
5233 Result := ExternalContextVTable(vTable).getAttachment(Self, status);
5234 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5235 end;
5236
5237 function IExternalContext.getTransaction(status: IStatus): ITransaction;
5238 begin
5239 Result := ExternalContextVTable(vTable).getTransaction(Self, status);
5240 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5241 end;
5242
5243 function IExternalContext.getUserName(): PAnsiChar;
5244 begin
5245 Result := ExternalContextVTable(vTable).getUserName(Self);
5246 end;
5247
5248 function IExternalContext.getDatabaseName(): PAnsiChar;
5249 begin
5250 Result := ExternalContextVTable(vTable).getDatabaseName(Self);
5251 end;
5252
5253 function IExternalContext.getClientCharSet(): PAnsiChar;
5254 begin
5255 Result := ExternalContextVTable(vTable).getClientCharSet(Self);
5256 end;
5257
5258 function IExternalContext.obtainInfoCode(): Integer;
5259 begin
5260 Result := ExternalContextVTable(vTable).obtainInfoCode(Self);
5261 end;
5262
5263 function IExternalContext.getInfo(code: Integer): Pointer;
5264 begin
5265 Result := ExternalContextVTable(vTable).getInfo(Self, code);
5266 end;
5267
5268 function IExternalContext.setInfo(code: Integer; value: Pointer): Pointer;
5269 begin
5270 Result := ExternalContextVTable(vTable).setInfo(Self, code, value);
5271 end;
5272
5273 function IExternalResultSet.fetch(status: IStatus): Boolean;
5274 begin
5275 Result := ExternalResultSetVTable(vTable).fetch(Self, status);
5276 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5277 end;
5278
5279 procedure IExternalFunction.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
5280 begin
5281 ExternalFunctionVTable(vTable).getCharSet(Self, status, context, name, nameSize);
5282 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5283 end;
5284
5285 procedure IExternalFunction.execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer);
5286 begin
5287 ExternalFunctionVTable(vTable).execute(Self, status, context, inMsg, outMsg);
5288 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5289 end;
5290
5291 procedure IExternalProcedure.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
5292 begin
5293 ExternalProcedureVTable(vTable).getCharSet(Self, status, context, name, nameSize);
5294 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5295 end;
5296
5297 function IExternalProcedure.open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet;
5298 begin
5299 Result := ExternalProcedureVTable(vTable).open(Self, status, context, inMsg, outMsg);
5300 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5301 end;
5302
5303 procedure IExternalTrigger.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
5304 begin
5305 ExternalTriggerVTable(vTable).getCharSet(Self, status, context, name, nameSize);
5306 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5307 end;
5308
5309 procedure IExternalTrigger.execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer);
5310 begin
5311 ExternalTriggerVTable(vTable).execute(Self, status, context, action, oldMsg, newMsg);
5312 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5313 end;
5314
5315 function IRoutineMetadata.getPackage(status: IStatus): PAnsiChar;
5316 begin
5317 Result := RoutineMetadataVTable(vTable).getPackage(Self, status);
5318 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5319 end;
5320
5321 function IRoutineMetadata.getName(status: IStatus): PAnsiChar;
5322 begin
5323 Result := RoutineMetadataVTable(vTable).getName(Self, status);
5324 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5325 end;
5326
5327 function IRoutineMetadata.getEntryPoint(status: IStatus): PAnsiChar;
5328 begin
5329 Result := RoutineMetadataVTable(vTable).getEntryPoint(Self, status);
5330 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5331 end;
5332
5333 function IRoutineMetadata.getBody(status: IStatus): PAnsiChar;
5334 begin
5335 Result := RoutineMetadataVTable(vTable).getBody(Self, status);
5336 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5337 end;
5338
5339 function IRoutineMetadata.getInputMetadata(status: IStatus): IMessageMetadata;
5340 begin
5341 Result := RoutineMetadataVTable(vTable).getInputMetadata(Self, status);
5342 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5343 end;
5344
5345 function IRoutineMetadata.getOutputMetadata(status: IStatus): IMessageMetadata;
5346 begin
5347 Result := RoutineMetadataVTable(vTable).getOutputMetadata(Self, status);
5348 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5349 end;
5350
5351 function IRoutineMetadata.getTriggerMetadata(status: IStatus): IMessageMetadata;
5352 begin
5353 Result := RoutineMetadataVTable(vTable).getTriggerMetadata(Self, status);
5354 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5355 end;
5356
5357 function IRoutineMetadata.getTriggerTable(status: IStatus): PAnsiChar;
5358 begin
5359 Result := RoutineMetadataVTable(vTable).getTriggerTable(Self, status);
5360 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5361 end;
5362
5363 function IRoutineMetadata.getTriggerType(status: IStatus): Cardinal;
5364 begin
5365 Result := RoutineMetadataVTable(vTable).getTriggerType(Self, status);
5366 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5367 end;
5368
5369 procedure IExternalEngine.open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal);
5370 begin
5371 ExternalEngineVTable(vTable).open(Self, status, context, charSet, charSetSize);
5372 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5373 end;
5374
5375 procedure IExternalEngine.openAttachment(status: IStatus; context: IExternalContext);
5376 begin
5377 ExternalEngineVTable(vTable).openAttachment(Self, status, context);
5378 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5379 end;
5380
5381 procedure IExternalEngine.closeAttachment(status: IStatus; context: IExternalContext);
5382 begin
5383 ExternalEngineVTable(vTable).closeAttachment(Self, status, context);
5384 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5385 end;
5386
5387 function IExternalEngine.makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction;
5388 begin
5389 Result := ExternalEngineVTable(vTable).makeFunction(Self, status, context, metadata, inBuilder, outBuilder);
5390 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5391 end;
5392
5393 function IExternalEngine.makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure;
5394 begin
5395 Result := ExternalEngineVTable(vTable).makeProcedure(Self, status, context, metadata, inBuilder, outBuilder);
5396 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5397 end;
5398
5399 function IExternalEngine.makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger;
5400 begin
5401 Result := ExternalEngineVTable(vTable).makeTrigger(Self, status, context, metadata, fieldsBuilder);
5402 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5403 end;
5404
5405 procedure ITimer.handler();
5406 begin
5407 TimerVTable(vTable).handler(Self);
5408 end;
5409
5410 procedure ITimerControl.start(status: IStatus; timer: ITimer; microSeconds: QWord);
5411 begin
5412 TimerControlVTable(vTable).start(Self, status, timer, microSeconds);
5413 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5414 end;
5415
5416 procedure ITimerControl.stop(status: IStatus; timer: ITimer);
5417 begin
5418 TimerControlVTable(vTable).stop(Self, status, timer);
5419 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5420 end;
5421
5422 procedure IVersionCallback.callback(status: IStatus; text: PAnsiChar);
5423 begin
5424 VersionCallbackVTable(vTable).callback(Self, status, text);
5425 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5426 end;
5427
5428 procedure IUtil.getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback);
5429 begin
5430 UtilVTable(vTable).getFbVersion(Self, status, att, callback);
5431 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5432 end;
5433
5434 procedure IUtil.loadBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
5435 begin
5436 UtilVTable(vTable).loadBlob(Self, status, blobId, att, tra, file_, txt);
5437 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5438 end;
5439
5440 procedure IUtil.dumpBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
5441 begin
5442 UtilVTable(vTable).dumpBlob(Self, status, blobId, att, tra, file_, txt);
5443 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5444 end;
5445
5446 procedure IUtil.getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr);
5447 begin
5448 UtilVTable(vTable).getPerfCounters(Self, status, att, countersSet, counters);
5449 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5450 end;
5451
5452 function IUtil.executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment;
5453 begin
5454 Result := UtilVTable(vTable).executeCreateDatabase(Self, status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb);
5455 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5456 end;
5457
5458 procedure IUtil.decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr);
5459 begin
5460 UtilVTable(vTable).decodeDate(Self, date, year, month, day);
5461 end;
5462
5463 procedure IUtil.decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr);
5464 begin
5465 UtilVTable(vTable).decodeTime(Self, time, hours, minutes, seconds, fractions);
5466 end;
5467
5468 function IUtil.encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE;
5469 begin
5470 Result := UtilVTable(vTable).encodeDate(Self, year, month, day);
5471 end;
5472
5473 function IUtil.encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME;
5474 begin
5475 Result := UtilVTable(vTable).encodeTime(Self, hours, minutes, seconds, fractions);
5476 end;
5477
5478 function IUtil.formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal;
5479 begin
5480 Result := UtilVTable(vTable).formatStatus(Self, buffer, bufferSize, status);
5481 end;
5482
5483 function IUtil.getClientVersion(): Cardinal;
5484 begin
5485 Result := UtilVTable(vTable).getClientVersion(Self);
5486 end;
5487
5488 function IUtil.getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder;
5489 begin
5490 Result := UtilVTable(vTable).getXpbBuilder(Self, status, kind, buf, len);
5491 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5492 end;
5493
5494 function IUtil.setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal;
5495 begin
5496 Result := UtilVTable(vTable).setOffsets(Self, status, metadata, callback);
5497 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5498 end;
5499
5500 function IUtil.getDecFloat16(status: IStatus): IDecFloat16;
5501 begin
5502 Result := UtilVTable(vTable).getDecFloat16(Self, status);
5503 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5504 end;
5505
5506 function IUtil.getDecFloat34(status: IStatus): IDecFloat34;
5507 begin
5508 Result := UtilVTable(vTable).getDecFloat34(Self, status);
5509 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5510 end;
5511
5512 procedure IUtil.decodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
5513 begin
5514 UtilVTable(vTable).decodeTimeTz(Self, status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5515 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5516 end;
5517
5518 procedure IUtil.decodeTimeStampTz(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
5519 begin
5520 UtilVTable(vTable).decodeTimeStampTz(Self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5521 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5522 end;
5523
5524 procedure IUtil.encodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar);
5525 begin
5526 UtilVTable(vTable).encodeTimeTz(Self, status, timeTz, hours, minutes, seconds, fractions, timeZone);
5527 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5528 end;
5529
5530 procedure IUtil.encodeTimeStampTz(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: Cardinal; month: Cardinal; day: Cardinal; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar);
5531 begin
5532 UtilVTable(vTable).encodeTimeStampTz(Self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZone);
5533 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5534 end;
5535
5536 function IUtil.getInt128(status: IStatus): IInt128;
5537 begin
5538 Result := UtilVTable(vTable).getInt128(Self, status);
5539 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5540 end;
5541
5542 procedure IUtil.decodeTimeTzEx(status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
5543 begin
5544 UtilVTable(vTable).decodeTimeTzEx(Self, status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5545 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5546 end;
5547
5548 procedure IUtil.decodeTimeStampTzEx(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZ_EXPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
5549 begin
5550 UtilVTable(vTable).decodeTimeStampTzEx(Self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5551 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5552 end;
5553
5554 procedure IOffsetsCallback.setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal);
5555 begin
5556 OffsetsCallbackVTable(vTable).setOffset(Self, status, index, offset, nullOffset);
5557 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5558 end;
5559
5560 procedure IXpbBuilder.clear(status: IStatus);
5561 begin
5562 XpbBuilderVTable(vTable).clear(Self, status);
5563 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5564 end;
5565
5566 procedure IXpbBuilder.removeCurrent(status: IStatus);
5567 begin
5568 XpbBuilderVTable(vTable).removeCurrent(Self, status);
5569 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5570 end;
5571
5572 procedure IXpbBuilder.insertInt(status: IStatus; tag: Byte; value: Integer);
5573 begin
5574 XpbBuilderVTable(vTable).insertInt(Self, status, tag, value);
5575 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5576 end;
5577
5578 procedure IXpbBuilder.insertBigInt(status: IStatus; tag: Byte; value: Int64);
5579 begin
5580 XpbBuilderVTable(vTable).insertBigInt(Self, status, tag, value);
5581 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5582 end;
5583
5584 procedure IXpbBuilder.insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal);
5585 begin
5586 XpbBuilderVTable(vTable).insertBytes(Self, status, tag, bytes, length);
5587 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5588 end;
5589
5590 procedure IXpbBuilder.insertString(status: IStatus; tag: Byte; str: PAnsiChar);
5591 begin
5592 XpbBuilderVTable(vTable).insertString(Self, status, tag, str);
5593 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5594 end;
5595
5596 procedure IXpbBuilder.insertTag(status: IStatus; tag: Byte);
5597 begin
5598 XpbBuilderVTable(vTable).insertTag(Self, status, tag);
5599 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5600 end;
5601
5602 function IXpbBuilder.isEof(status: IStatus): Boolean;
5603 begin
5604 Result := XpbBuilderVTable(vTable).isEof(Self, status);
5605 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5606 end;
5607
5608 procedure IXpbBuilder.moveNext(status: IStatus);
5609 begin
5610 XpbBuilderVTable(vTable).moveNext(Self, status);
5611 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5612 end;
5613
5614 procedure IXpbBuilder.rewind(status: IStatus);
5615 begin
5616 XpbBuilderVTable(vTable).rewind(Self, status);
5617 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5618 end;
5619
5620 function IXpbBuilder.findFirst(status: IStatus; tag: Byte): Boolean;
5621 begin
5622 Result := XpbBuilderVTable(vTable).findFirst(Self, status, tag);
5623 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5624 end;
5625
5626 function IXpbBuilder.findNext(status: IStatus): Boolean;
5627 begin
5628 Result := XpbBuilderVTable(vTable).findNext(Self, status);
5629 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5630 end;
5631
5632 function IXpbBuilder.getTag(status: IStatus): Byte;
5633 begin
5634 Result := XpbBuilderVTable(vTable).getTag(Self, status);
5635 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5636 end;
5637
5638 function IXpbBuilder.getLength(status: IStatus): Cardinal;
5639 begin
5640 Result := XpbBuilderVTable(vTable).getLength(Self, status);
5641 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5642 end;
5643
5644 function IXpbBuilder.getInt(status: IStatus): Integer;
5645 begin
5646 Result := XpbBuilderVTable(vTable).getInt(Self, status);
5647 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5648 end;
5649
5650 function IXpbBuilder.getBigInt(status: IStatus): Int64;
5651 begin
5652 Result := XpbBuilderVTable(vTable).getBigInt(Self, status);
5653 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5654 end;
5655
5656 function IXpbBuilder.getString(status: IStatus): PAnsiChar;
5657 begin
5658 Result := XpbBuilderVTable(vTable).getString(Self, status);
5659 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5660 end;
5661
5662 function IXpbBuilder.getBytes(status: IStatus): BytePtr;
5663 begin
5664 Result := XpbBuilderVTable(vTable).getBytes(Self, status);
5665 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5666 end;
5667
5668 function IXpbBuilder.getBufferLength(status: IStatus): Cardinal;
5669 begin
5670 Result := XpbBuilderVTable(vTable).getBufferLength(Self, status);
5671 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5672 end;
5673
5674 function IXpbBuilder.getBuffer(status: IStatus): BytePtr;
5675 begin
5676 Result := XpbBuilderVTable(vTable).getBuffer(Self, status);
5677 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5678 end;
5679
5680 function ITraceConnection.getKind(): Cardinal;
5681 begin
5682 Result := TraceConnectionVTable(vTable).getKind(Self);
5683 end;
5684
5685 function ITraceConnection.getProcessID(): Integer;
5686 begin
5687 Result := TraceConnectionVTable(vTable).getProcessID(Self);
5688 end;
5689
5690 function ITraceConnection.getUserName(): PAnsiChar;
5691 begin
5692 Result := TraceConnectionVTable(vTable).getUserName(Self);
5693 end;
5694
5695 function ITraceConnection.getRoleName(): PAnsiChar;
5696 begin
5697 Result := TraceConnectionVTable(vTable).getRoleName(Self);
5698 end;
5699
5700 function ITraceConnection.getCharSet(): PAnsiChar;
5701 begin
5702 Result := TraceConnectionVTable(vTable).getCharSet(Self);
5703 end;
5704
5705 function ITraceConnection.getRemoteProtocol(): PAnsiChar;
5706 begin
5707 Result := TraceConnectionVTable(vTable).getRemoteProtocol(Self);
5708 end;
5709
5710 function ITraceConnection.getRemoteAddress(): PAnsiChar;
5711 begin
5712 Result := TraceConnectionVTable(vTable).getRemoteAddress(Self);
5713 end;
5714
5715 function ITraceConnection.getRemoteProcessID(): Integer;
5716 begin
5717 Result := TraceConnectionVTable(vTable).getRemoteProcessID(Self);
5718 end;
5719
5720 function ITraceConnection.getRemoteProcessName(): PAnsiChar;
5721 begin
5722 Result := TraceConnectionVTable(vTable).getRemoteProcessName(Self);
5723 end;
5724
5725 function ITraceDatabaseConnection.getConnectionID(): Int64;
5726 begin
5727 Result := TraceDatabaseConnectionVTable(vTable).getConnectionID(Self);
5728 end;
5729
5730 function ITraceDatabaseConnection.getDatabaseName(): PAnsiChar;
5731 begin
5732 Result := TraceDatabaseConnectionVTable(vTable).getDatabaseName(Self);
5733 end;
5734
5735 function ITraceTransaction.getTransactionID(): Int64;
5736 begin
5737 Result := TraceTransactionVTable(vTable).getTransactionID(Self);
5738 end;
5739
5740 function ITraceTransaction.getReadOnly(): Boolean;
5741 begin
5742 Result := TraceTransactionVTable(vTable).getReadOnly(Self);
5743 end;
5744
5745 function ITraceTransaction.getWait(): Integer;
5746 begin
5747 Result := TraceTransactionVTable(vTable).getWait(Self);
5748 end;
5749
5750 function ITraceTransaction.getIsolation(): Cardinal;
5751 begin
5752 Result := TraceTransactionVTable(vTable).getIsolation(Self);
5753 end;
5754
5755 function ITraceTransaction.getPerf(): PerformanceInfoPtr;
5756 begin
5757 Result := TraceTransactionVTable(vTable).getPerf(Self);
5758 end;
5759
5760 function ITraceTransaction.getInitialID(): Int64;
5761 begin
5762 Result := TraceTransactionVTable(vTable).getInitialID(Self);
5763 end;
5764
5765 function ITraceTransaction.getPreviousID(): Int64;
5766 begin
5767 Result := TraceTransactionVTable(vTable).getPreviousID(Self);
5768 end;
5769
5770 function ITraceParams.getCount(): Cardinal;
5771 begin
5772 Result := TraceParamsVTable(vTable).getCount(Self);
5773 end;
5774
5775 function ITraceParams.getParam(idx: Cardinal): dscPtr;
5776 begin
5777 Result := TraceParamsVTable(vTable).getParam(Self, idx);
5778 end;
5779
5780 function ITraceParams.getTextUTF8(status: IStatus; idx: Cardinal): PAnsiChar;
5781 begin
5782 Result := TraceParamsVTable(vTable).getTextUTF8(Self, status, idx);
5783 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5784 end;
5785
5786 function ITraceStatement.getStmtID(): Int64;
5787 begin
5788 Result := TraceStatementVTable(vTable).getStmtID(Self);
5789 end;
5790
5791 function ITraceStatement.getPerf(): PerformanceInfoPtr;
5792 begin
5793 Result := TraceStatementVTable(vTable).getPerf(Self);
5794 end;
5795
5796 function ITraceSQLStatement.getText(): PAnsiChar;
5797 begin
5798 Result := TraceSQLStatementVTable(vTable).getText(Self);
5799 end;
5800
5801 function ITraceSQLStatement.getPlan(): PAnsiChar;
5802 begin
5803 Result := TraceSQLStatementVTable(vTable).getPlan(Self);
5804 end;
5805
5806 function ITraceSQLStatement.getInputs(): ITraceParams;
5807 begin
5808 Result := TraceSQLStatementVTable(vTable).getInputs(Self);
5809 end;
5810
5811 function ITraceSQLStatement.getTextUTF8(): PAnsiChar;
5812 begin
5813 Result := TraceSQLStatementVTable(vTable).getTextUTF8(Self);
5814 end;
5815
5816 function ITraceSQLStatement.getExplainedPlan(): PAnsiChar;
5817 begin
5818 Result := TraceSQLStatementVTable(vTable).getExplainedPlan(Self);
5819 end;
5820
5821 function ITraceBLRStatement.getData(): BytePtr;
5822 begin
5823 Result := TraceBLRStatementVTable(vTable).getData(Self);
5824 end;
5825
5826 function ITraceBLRStatement.getDataLength(): Cardinal;
5827 begin
5828 Result := TraceBLRStatementVTable(vTable).getDataLength(Self);
5829 end;
5830
5831 function ITraceBLRStatement.getText(): PAnsiChar;
5832 begin
5833 Result := TraceBLRStatementVTable(vTable).getText(Self);
5834 end;
5835
5836 function ITraceDYNRequest.getData(): BytePtr;
5837 begin
5838 Result := TraceDYNRequestVTable(vTable).getData(Self);
5839 end;
5840
5841 function ITraceDYNRequest.getDataLength(): Cardinal;
5842 begin
5843 Result := TraceDYNRequestVTable(vTable).getDataLength(Self);
5844 end;
5845
5846 function ITraceDYNRequest.getText(): PAnsiChar;
5847 begin
5848 Result := TraceDYNRequestVTable(vTable).getText(Self);
5849 end;
5850
5851 function ITraceContextVariable.getNameSpace(): PAnsiChar;
5852 begin
5853 Result := TraceContextVariableVTable(vTable).getNameSpace(Self);
5854 end;
5855
5856 function ITraceContextVariable.getVarName(): PAnsiChar;
5857 begin
5858 Result := TraceContextVariableVTable(vTable).getVarName(Self);
5859 end;
5860
5861 function ITraceContextVariable.getVarValue(): PAnsiChar;
5862 begin
5863 Result := TraceContextVariableVTable(vTable).getVarValue(Self);
5864 end;
5865
5866 function ITraceProcedure.getProcName(): PAnsiChar;
5867 begin
5868 Result := TraceProcedureVTable(vTable).getProcName(Self);
5869 end;
5870
5871 function ITraceProcedure.getInputs(): ITraceParams;
5872 begin
5873 Result := TraceProcedureVTable(vTable).getInputs(Self);
5874 end;
5875
5876 function ITraceProcedure.getPerf(): PerformanceInfoPtr;
5877 begin
5878 Result := TraceProcedureVTable(vTable).getPerf(Self);
5879 end;
5880
5881 function ITraceFunction.getFuncName(): PAnsiChar;
5882 begin
5883 Result := TraceFunctionVTable(vTable).getFuncName(Self);
5884 end;
5885
5886 function ITraceFunction.getInputs(): ITraceParams;
5887 begin
5888 Result := TraceFunctionVTable(vTable).getInputs(Self);
5889 end;
5890
5891 function ITraceFunction.getResult(): ITraceParams;
5892 begin
5893 Result := TraceFunctionVTable(vTable).getResult(Self);
5894 end;
5895
5896 function ITraceFunction.getPerf(): PerformanceInfoPtr;
5897 begin
5898 Result := TraceFunctionVTable(vTable).getPerf(Self);
5899 end;
5900
5901 function ITraceTrigger.getTriggerName(): PAnsiChar;
5902 begin
5903 Result := TraceTriggerVTable(vTable).getTriggerName(Self);
5904 end;
5905
5906 function ITraceTrigger.getRelationName(): PAnsiChar;
5907 begin
5908 Result := TraceTriggerVTable(vTable).getRelationName(Self);
5909 end;
5910
5911 function ITraceTrigger.getAction(): Integer;
5912 begin
5913 Result := TraceTriggerVTable(vTable).getAction(Self);
5914 end;
5915
5916 function ITraceTrigger.getWhich(): Integer;
5917 begin
5918 Result := TraceTriggerVTable(vTable).getWhich(Self);
5919 end;
5920
5921 function ITraceTrigger.getPerf(): PerformanceInfoPtr;
5922 begin
5923 Result := TraceTriggerVTable(vTable).getPerf(Self);
5924 end;
5925
5926 function ITraceServiceConnection.getServiceID(): Pointer;
5927 begin
5928 Result := TraceServiceConnectionVTable(vTable).getServiceID(Self);
5929 end;
5930
5931 function ITraceServiceConnection.getServiceMgr(): PAnsiChar;
5932 begin
5933 Result := TraceServiceConnectionVTable(vTable).getServiceMgr(Self);
5934 end;
5935
5936 function ITraceServiceConnection.getServiceName(): PAnsiChar;
5937 begin
5938 Result := TraceServiceConnectionVTable(vTable).getServiceName(Self);
5939 end;
5940
5941 function ITraceStatusVector.hasError(): Boolean;
5942 begin
5943 Result := TraceStatusVectorVTable(vTable).hasError(Self);
5944 end;
5945
5946 function ITraceStatusVector.hasWarning(): Boolean;
5947 begin
5948 Result := TraceStatusVectorVTable(vTable).hasWarning(Self);
5949 end;
5950
5951 function ITraceStatusVector.getStatus(): IStatus;
5952 begin
5953 Result := TraceStatusVectorVTable(vTable).getStatus(Self);
5954 end;
5955
5956 function ITraceStatusVector.getText(): PAnsiChar;
5957 begin
5958 Result := TraceStatusVectorVTable(vTable).getText(Self);
5959 end;
5960
5961 function ITraceSweepInfo.getOIT(): Int64;
5962 begin
5963 Result := TraceSweepInfoVTable(vTable).getOIT(Self);
5964 end;
5965
5966 function ITraceSweepInfo.getOST(): Int64;
5967 begin
5968 Result := TraceSweepInfoVTable(vTable).getOST(Self);
5969 end;
5970
5971 function ITraceSweepInfo.getOAT(): Int64;
5972 begin
5973 Result := TraceSweepInfoVTable(vTable).getOAT(Self);
5974 end;
5975
5976 function ITraceSweepInfo.getNext(): Int64;
5977 begin
5978 Result := TraceSweepInfoVTable(vTable).getNext(Self);
5979 end;
5980
5981 function ITraceSweepInfo.getPerf(): PerformanceInfoPtr;
5982 begin
5983 Result := TraceSweepInfoVTable(vTable).getPerf(Self);
5984 end;
5985
5986 function ITraceLogWriter.write(buf: Pointer; size: Cardinal): Cardinal;
5987 begin
5988 Result := TraceLogWriterVTable(vTable).write(Self, buf, size);
5989 end;
5990
5991 function ITraceLogWriter.write_s(status: IStatus; buf: Pointer; size: Cardinal): Cardinal;
5992 begin
5993 Result := TraceLogWriterVTable(vTable).write_s(Self, status, buf, size);
5994 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5995 end;
5996
5997 function ITraceInitInfo.getConfigText(): PAnsiChar;
5998 begin
5999 Result := TraceInitInfoVTable(vTable).getConfigText(Self);
6000 end;
6001
6002 function ITraceInitInfo.getTraceSessionID(): Integer;
6003 begin
6004 Result := TraceInitInfoVTable(vTable).getTraceSessionID(Self);
6005 end;
6006
6007 function ITraceInitInfo.getTraceSessionName(): PAnsiChar;
6008 begin
6009 Result := TraceInitInfoVTable(vTable).getTraceSessionName(Self);
6010 end;
6011
6012 function ITraceInitInfo.getFirebirdRootDirectory(): PAnsiChar;
6013 begin
6014 Result := TraceInitInfoVTable(vTable).getFirebirdRootDirectory(Self);
6015 end;
6016
6017 function ITraceInitInfo.getDatabaseName(): PAnsiChar;
6018 begin
6019 Result := TraceInitInfoVTable(vTable).getDatabaseName(Self);
6020 end;
6021
6022 function ITraceInitInfo.getConnection(): ITraceDatabaseConnection;
6023 begin
6024 Result := TraceInitInfoVTable(vTable).getConnection(Self);
6025 end;
6026
6027 function ITraceInitInfo.getLogWriter(): ITraceLogWriter;
6028 begin
6029 Result := TraceInitInfoVTable(vTable).getLogWriter(Self);
6030 end;
6031
6032 function ITracePlugin.trace_get_error(): PAnsiChar;
6033 begin
6034 Result := TracePluginVTable(vTable).trace_get_error(Self);
6035 end;
6036
6037 function ITracePlugin.trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean;
6038 begin
6039 Result := TracePluginVTable(vTable).trace_attach(Self, connection, create_db, att_result);
6040 end;
6041
6042 function ITracePlugin.trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean;
6043 begin
6044 Result := TracePluginVTable(vTable).trace_detach(Self, connection, drop_db);
6045 end;
6046
6047 function ITracePlugin.trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean;
6048 begin
6049 Result := TracePluginVTable(vTable).trace_transaction_start(Self, connection, transaction, tpb_length, tpb, tra_result);
6050 end;
6051
6052 function ITracePlugin.trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean;
6053 begin
6054 Result := TracePluginVTable(vTable).trace_transaction_end(Self, connection, transaction, commit, retain_context, tra_result);
6055 end;
6056
6057 function ITracePlugin.trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean;
6058 begin
6059 Result := TracePluginVTable(vTable).trace_proc_execute(Self, connection, transaction, procedure_, started, proc_result);
6060 end;
6061
6062 function ITracePlugin.trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean;
6063 begin
6064 Result := TracePluginVTable(vTable).trace_trigger_execute(Self, connection, transaction, trigger, started, trig_result);
6065 end;
6066
6067 function ITracePlugin.trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean;
6068 begin
6069 Result := TracePluginVTable(vTable).trace_set_context(Self, connection, transaction, variable);
6070 end;
6071
6072 function ITracePlugin.trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean;
6073 begin
6074 Result := TracePluginVTable(vTable).trace_dsql_prepare(Self, connection, transaction, statement, time_millis, req_result);
6075 end;
6076
6077 function ITracePlugin.trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean;
6078 begin
6079 Result := TracePluginVTable(vTable).trace_dsql_free(Self, connection, statement, option);
6080 end;
6081
6082 function ITracePlugin.trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean;
6083 begin
6084 Result := TracePluginVTable(vTable).trace_dsql_execute(Self, connection, transaction, statement, started, req_result);
6085 end;
6086
6087 function ITracePlugin.trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean;
6088 begin
6089 Result := TracePluginVTable(vTable).trace_blr_compile(Self, connection, transaction, statement, time_millis, req_result);
6090 end;
6091
6092 function ITracePlugin.trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean;
6093 begin
6094 Result := TracePluginVTable(vTable).trace_blr_execute(Self, connection, transaction, statement, req_result);
6095 end;
6096
6097 function ITracePlugin.trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean;
6098 begin
6099 Result := TracePluginVTable(vTable).trace_dyn_execute(Self, connection, transaction, request, time_millis, req_result);
6100 end;
6101
6102 function ITracePlugin.trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean;
6103 begin
6104 Result := TracePluginVTable(vTable).trace_service_attach(Self, service, att_result);
6105 end;
6106
6107 function ITracePlugin.trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean;
6108 begin
6109 Result := TracePluginVTable(vTable).trace_service_start(Self, service, switches_length, switches, start_result);
6110 end;
6111
6112 function ITracePlugin.trace_service_query(service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean;
6113 begin
6114 Result := TracePluginVTable(vTable).trace_service_query(Self, service, send_item_length, send_items, recv_item_length, recv_items, query_result);
6115 end;
6116
6117 function ITracePlugin.trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean;
6118 begin
6119 Result := TracePluginVTable(vTable).trace_service_detach(Self, service, detach_result);
6120 end;
6121
6122 function ITracePlugin.trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean;
6123 begin
6124 Result := TracePluginVTable(vTable).trace_event_error(Self, connection, status, function_);
6125 end;
6126
6127 function ITracePlugin.trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean;
6128 begin
6129 Result := TracePluginVTable(vTable).trace_event_sweep(Self, connection, sweep, sweep_state);
6130 end;
6131
6132 function ITracePlugin.trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean;
6133 begin
6134 Result := TracePluginVTable(vTable).trace_func_execute(Self, connection, transaction, function_, started, func_result);
6135 end;
6136
6137 function ITraceFactory.trace_needs(): QWord;
6138 begin
6139 Result := TraceFactoryVTable(vTable).trace_needs(Self);
6140 end;
6141
6142 function ITraceFactory.trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin;
6143 begin
6144 Result := TraceFactoryVTable(vTable).trace_create(Self, status, init_info);
6145 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6146 end;
6147
6148 procedure IUdrFunctionFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
6149 begin
6150 UdrFunctionFactoryVTable(vTable).setup(Self, status, context, metadata, inBuilder, outBuilder);
6151 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6152 end;
6153
6154 function IUdrFunctionFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction;
6155 begin
6156 Result := UdrFunctionFactoryVTable(vTable).newItem(Self, status, context, metadata);
6157 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6158 end;
6159
6160 procedure IUdrProcedureFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
6161 begin
6162 UdrProcedureFactoryVTable(vTable).setup(Self, status, context, metadata, inBuilder, outBuilder);
6163 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6164 end;
6165
6166 function IUdrProcedureFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure;
6167 begin
6168 Result := UdrProcedureFactoryVTable(vTable).newItem(Self, status, context, metadata);
6169 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6170 end;
6171
6172 procedure IUdrTriggerFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder);
6173 begin
6174 UdrTriggerFactoryVTable(vTable).setup(Self, status, context, metadata, fieldsBuilder);
6175 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6176 end;
6177
6178 function IUdrTriggerFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger;
6179 begin
6180 Result := UdrTriggerFactoryVTable(vTable).newItem(Self, status, context, metadata);
6181 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6182 end;
6183
6184 function IUdrPlugin.getMaster(): IMaster;
6185 begin
6186 Result := UdrPluginVTable(vTable).getMaster(Self);
6187 end;
6188
6189 procedure IUdrPlugin.registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory);
6190 begin
6191 UdrPluginVTable(vTable).registerFunction(Self, status, name, factory);
6192 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6193 end;
6194
6195 procedure IUdrPlugin.registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory);
6196 begin
6197 UdrPluginVTable(vTable).registerProcedure(Self, status, name, factory);
6198 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6199 end;
6200
6201 procedure IUdrPlugin.registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory);
6202 begin
6203 UdrPluginVTable(vTable).registerTrigger(Self, status, name, factory);
6204 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6205 end;
6206
6207 procedure IDecFloat16.toBcd(from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
6208 begin
6209 DecFloat16VTable(vTable).toBcd(Self, from, sign, bcd, exp);
6210 end;
6211
6212 procedure IDecFloat16.toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
6213 begin
6214 DecFloat16VTable(vTable).toString(Self, status, from, bufferLength, buffer);
6215 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6216 end;
6217
6218 procedure IDecFloat16.fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr);
6219 begin
6220 DecFloat16VTable(vTable).fromBcd(Self, sign, bcd, exp, to_);
6221 end;
6222
6223 procedure IDecFloat16.fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr);
6224 begin
6225 DecFloat16VTable(vTable).fromString(Self, status, from, to_);
6226 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6227 end;
6228
6229 procedure IDecFloat34.toBcd(from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
6230 begin
6231 DecFloat34VTable(vTable).toBcd(Self, from, sign, bcd, exp);
6232 end;
6233
6234 procedure IDecFloat34.toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
6235 begin
6236 DecFloat34VTable(vTable).toString(Self, status, from, bufferLength, buffer);
6237 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6238 end;
6239
6240 procedure IDecFloat34.fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr);
6241 begin
6242 DecFloat34VTable(vTable).fromBcd(Self, sign, bcd, exp, to_);
6243 end;
6244
6245 procedure IDecFloat34.fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr);
6246 begin
6247 DecFloat34VTable(vTable).fromString(Self, status, from, to_);
6248 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6249 end;
6250
6251 procedure IInt128.toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar);
6252 begin
6253 Int128VTable(vTable).toString(Self, status, from, scale, bufferLength, buffer);
6254 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6255 end;
6256
6257 procedure IInt128.fromString(status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr);
6258 begin
6259 Int128VTable(vTable).fromString(Self, status, scale, from, to_);
6260 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6261 end;
6262
6263 function IReplicatedField.getName(): PAnsiChar;
6264 begin
6265 Result := ReplicatedFieldVTable(vTable).getName(Self);
6266 end;
6267
6268 function IReplicatedField.getType(): Cardinal;
6269 begin
6270 Result := ReplicatedFieldVTable(vTable).getType(Self);
6271 end;
6272
6273 function IReplicatedField.getSubType(): Integer;
6274 begin
6275 Result := ReplicatedFieldVTable(vTable).getSubType(Self);
6276 end;
6277
6278 function IReplicatedField.getScale(): Integer;
6279 begin
6280 Result := ReplicatedFieldVTable(vTable).getScale(Self);
6281 end;
6282
6283 function IReplicatedField.getLength(): Cardinal;
6284 begin
6285 Result := ReplicatedFieldVTable(vTable).getLength(Self);
6286 end;
6287
6288 function IReplicatedField.getCharSet(): Cardinal;
6289 begin
6290 Result := ReplicatedFieldVTable(vTable).getCharSet(Self);
6291 end;
6292
6293 function IReplicatedField.getData(): Pointer;
6294 begin
6295 Result := ReplicatedFieldVTable(vTable).getData(Self);
6296 end;
6297
6298 function IReplicatedRecord.getCount(): Cardinal;
6299 begin
6300 Result := ReplicatedRecordVTable(vTable).getCount(Self);
6301 end;
6302
6303 function IReplicatedRecord.getField(index: Cardinal): IReplicatedField;
6304 begin
6305 Result := ReplicatedRecordVTable(vTable).getField(Self, index);
6306 end;
6307
6308 function IReplicatedRecord.getRawLength(): Cardinal;
6309 begin
6310 Result := ReplicatedRecordVTable(vTable).getRawLength(Self);
6311 end;
6312
6313 function IReplicatedRecord.getRawData(): BytePtr;
6314 begin
6315 Result := ReplicatedRecordVTable(vTable).getRawData(Self);
6316 end;
6317
6318 procedure IReplicatedTransaction.prepare(status: IStatus);
6319 begin
6320 ReplicatedTransactionVTable(vTable).prepare(Self, status);
6321 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6322 end;
6323
6324 procedure IReplicatedTransaction.commit(status: IStatus);
6325 begin
6326 ReplicatedTransactionVTable(vTable).commit(Self, status);
6327 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6328 end;
6329
6330 procedure IReplicatedTransaction.rollback(status: IStatus);
6331 begin
6332 ReplicatedTransactionVTable(vTable).rollback(Self, status);
6333 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6334 end;
6335
6336 procedure IReplicatedTransaction.startSavepoint(status: IStatus);
6337 begin
6338 ReplicatedTransactionVTable(vTable).startSavepoint(Self, status);
6339 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6340 end;
6341
6342 procedure IReplicatedTransaction.releaseSavepoint(status: IStatus);
6343 begin
6344 ReplicatedTransactionVTable(vTable).releaseSavepoint(Self, status);
6345 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6346 end;
6347
6348 procedure IReplicatedTransaction.rollbackSavepoint(status: IStatus);
6349 begin
6350 ReplicatedTransactionVTable(vTable).rollbackSavepoint(Self, status);
6351 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6352 end;
6353
6354 procedure IReplicatedTransaction.insertRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
6355 begin
6356 ReplicatedTransactionVTable(vTable).insertRecord(Self, status, name, record_);
6357 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6358 end;
6359
6360 procedure IReplicatedTransaction.updateRecord(status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord);
6361 begin
6362 ReplicatedTransactionVTable(vTable).updateRecord(Self, status, name, orgRecord, newRecord);
6363 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6364 end;
6365
6366 procedure IReplicatedTransaction.deleteRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
6367 begin
6368 ReplicatedTransactionVTable(vTable).deleteRecord(Self, status, name, record_);
6369 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6370 end;
6371
6372 procedure IReplicatedTransaction.executeSql(status: IStatus; sql: PAnsiChar);
6373 begin
6374 ReplicatedTransactionVTable(vTable).executeSql(Self, status, sql);
6375 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6376 end;
6377
6378 procedure IReplicatedTransaction.executeSqlIntl(status: IStatus; charset: Cardinal; sql: PAnsiChar);
6379 begin
6380 ReplicatedTransactionVTable(vTable).executeSqlIntl(Self, status, charset, sql);
6381 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6382 end;
6383
6384 procedure IReplicatedSession.setAttachment(attachment: IAttachment);
6385 begin
6386 ReplicatedSessionVTable(vTable).setAttachment(Self, attachment);
6387 end;
6388
6389 function IReplicatedSession.startTransaction(status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction;
6390 begin
6391 Result := ReplicatedSessionVTable(vTable).startTransaction(Self, status, transaction, number);
6392 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6393 end;
6394
6395 procedure IReplicatedSession.cleanupTransaction(status: IStatus; number: Int64);
6396 begin
6397 ReplicatedSessionVTable(vTable).cleanupTransaction(Self, status, number);
6398 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6399 end;
6400
6401 procedure IReplicatedSession.setSequence(status: IStatus; name: PAnsiChar; value: Int64);
6402 begin
6403 ReplicatedSessionVTable(vTable).setSequence(Self, status, name, value);
6404 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6405 end;
6406
6407 var
6408 IVersionedImpl_vTable: VersionedVTable;
6409
6410 constructor IVersionedImpl.create;
6411 begin
6412 vTable := IVersionedImpl_vTable;
6413 end;
6414
6415 procedure IReferenceCountedImpl_addRefDispatcher(this: IReferenceCounted); cdecl;
6416 begin
6417 try
6418 IReferenceCountedImpl(this).addRef();
6419 except
6420 on e: Exception do FbException.catchException(nil, e);
6421 end
6422 end;
6423
6424 function IReferenceCountedImpl_releaseDispatcher(this: IReferenceCounted): Integer; cdecl;
6425 begin
6426 try
6427 Result := IReferenceCountedImpl(this).release();
6428 except
6429 on e: Exception do FbException.catchException(nil, e);
6430 end
6431 end;
6432
6433 var
6434 IReferenceCountedImpl_vTable: ReferenceCountedVTable;
6435
6436 constructor IReferenceCountedImpl.create;
6437 begin
6438 vTable := IReferenceCountedImpl_vTable;
6439 end;
6440
6441 procedure IDisposableImpl_disposeDispatcher(this: IDisposable); cdecl;
6442 begin
6443 try
6444 IDisposableImpl(this).dispose();
6445 except
6446 on e: Exception do FbException.catchException(nil, e);
6447 end
6448 end;
6449
6450 var
6451 IDisposableImpl_vTable: DisposableVTable;
6452
6453 constructor IDisposableImpl.create;
6454 begin
6455 vTable := IDisposableImpl_vTable;
6456 end;
6457
6458 procedure IStatusImpl_disposeDispatcher(this: IStatus); cdecl;
6459 begin
6460 try
6461 IStatusImpl(this).dispose();
6462 except
6463 on e: Exception do FbException.catchException(nil, e);
6464 end
6465 end;
6466
6467 procedure IStatusImpl_initDispatcher(this: IStatus); cdecl;
6468 begin
6469 try
6470 IStatusImpl(this).init();
6471 except
6472 on e: Exception do FbException.catchException(nil, e);
6473 end
6474 end;
6475
6476 function IStatusImpl_getStateDispatcher(this: IStatus): Cardinal; cdecl;
6477 begin
6478 try
6479 Result := IStatusImpl(this).getState();
6480 except
6481 on e: Exception do FbException.catchException(nil, e);
6482 end
6483 end;
6484
6485 procedure IStatusImpl_setErrors2Dispatcher(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
6486 begin
6487 try
6488 IStatusImpl(this).setErrors2(length, value);
6489 except
6490 on e: Exception do FbException.catchException(nil, e);
6491 end
6492 end;
6493
6494 procedure IStatusImpl_setWarnings2Dispatcher(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
6495 begin
6496 try
6497 IStatusImpl(this).setWarnings2(length, value);
6498 except
6499 on e: Exception do FbException.catchException(nil, e);
6500 end
6501 end;
6502
6503 procedure IStatusImpl_setErrorsDispatcher(this: IStatus; value: NativeIntPtr); cdecl;
6504 begin
6505 try
6506 IStatusImpl(this).setErrors(value);
6507 except
6508 on e: Exception do FbException.catchException(nil, e);
6509 end
6510 end;
6511
6512 procedure IStatusImpl_setWarningsDispatcher(this: IStatus; value: NativeIntPtr); cdecl;
6513 begin
6514 try
6515 IStatusImpl(this).setWarnings(value);
6516 except
6517 on e: Exception do FbException.catchException(nil, e);
6518 end
6519 end;
6520
6521 function IStatusImpl_getErrorsDispatcher(this: IStatus): NativeIntPtr; cdecl;
6522 begin
6523 try
6524 Result := IStatusImpl(this).getErrors();
6525 except
6526 on e: Exception do FbException.catchException(nil, e);
6527 end
6528 end;
6529
6530 function IStatusImpl_getWarningsDispatcher(this: IStatus): NativeIntPtr; cdecl;
6531 begin
6532 try
6533 Result := IStatusImpl(this).getWarnings();
6534 except
6535 on e: Exception do FbException.catchException(nil, e);
6536 end
6537 end;
6538
6539 function IStatusImpl_cloneDispatcher(this: IStatus): IStatus; cdecl;
6540 begin
6541 try
6542 Result := IStatusImpl(this).clone();
6543 except
6544 on e: Exception do FbException.catchException(nil, e);
6545 end
6546 end;
6547
6548 var
6549 IStatusImpl_vTable: StatusVTable;
6550
6551 constructor IStatusImpl.create;
6552 begin
6553 vTable := IStatusImpl_vTable;
6554 end;
6555
6556 function IMasterImpl_getStatusDispatcher(this: IMaster): IStatus; cdecl;
6557 begin
6558 try
6559 Result := IMasterImpl(this).getStatus();
6560 except
6561 on e: Exception do FbException.catchException(nil, e);
6562 end
6563 end;
6564
6565 function IMasterImpl_getDispatcherDispatcher(this: IMaster): IProvider; cdecl;
6566 begin
6567 try
6568 Result := IMasterImpl(this).getDispatcher();
6569 except
6570 on e: Exception do FbException.catchException(nil, e);
6571 end
6572 end;
6573
6574 function IMasterImpl_getPluginManagerDispatcher(this: IMaster): IPluginManager; cdecl;
6575 begin
6576 try
6577 Result := IMasterImpl(this).getPluginManager();
6578 except
6579 on e: Exception do FbException.catchException(nil, e);
6580 end
6581 end;
6582
6583 function IMasterImpl_getTimerControlDispatcher(this: IMaster): ITimerControl; cdecl;
6584 begin
6585 try
6586 Result := IMasterImpl(this).getTimerControl();
6587 except
6588 on e: Exception do FbException.catchException(nil, e);
6589 end
6590 end;
6591
6592 function IMasterImpl_getDtcDispatcher(this: IMaster): IDtc; cdecl;
6593 begin
6594 try
6595 Result := IMasterImpl(this).getDtc();
6596 except
6597 on e: Exception do FbException.catchException(nil, e);
6598 end
6599 end;
6600
6601 function IMasterImpl_registerAttachmentDispatcher(this: IMaster; provider: IProvider; attachment: IAttachment): IAttachment; cdecl;
6602 begin
6603 try
6604 Result := IMasterImpl(this).registerAttachment(provider, attachment);
6605 except
6606 on e: Exception do FbException.catchException(nil, e);
6607 end
6608 end;
6609
6610 function IMasterImpl_registerTransactionDispatcher(this: IMaster; attachment: IAttachment; transaction: ITransaction): ITransaction; cdecl;
6611 begin
6612 try
6613 Result := IMasterImpl(this).registerTransaction(attachment, transaction);
6614 except
6615 on e: Exception do FbException.catchException(nil, e);
6616 end
6617 end;
6618
6619 function IMasterImpl_getMetadataBuilderDispatcher(this: IMaster; status: IStatus; fieldCount: Cardinal): IMetadataBuilder; cdecl;
6620 begin
6621 try
6622 Result := IMasterImpl(this).getMetadataBuilder(status, fieldCount);
6623 except
6624 on e: Exception do FbException.catchException(status, e);
6625 end
6626 end;
6627
6628 function IMasterImpl_serverModeDispatcher(this: IMaster; mode: Integer): Integer; cdecl;
6629 begin
6630 try
6631 Result := IMasterImpl(this).serverMode(mode);
6632 except
6633 on e: Exception do FbException.catchException(nil, e);
6634 end
6635 end;
6636
6637 function IMasterImpl_getUtilInterfaceDispatcher(this: IMaster): IUtil; cdecl;
6638 begin
6639 try
6640 Result := IMasterImpl(this).getUtilInterface();
6641 except
6642 on e: Exception do FbException.catchException(nil, e);
6643 end
6644 end;
6645
6646 function IMasterImpl_getConfigManagerDispatcher(this: IMaster): IConfigManager; cdecl;
6647 begin
6648 try
6649 Result := IMasterImpl(this).getConfigManager();
6650 except
6651 on e: Exception do FbException.catchException(nil, e);
6652 end
6653 end;
6654
6655 function IMasterImpl_getProcessExitingDispatcher(this: IMaster): Boolean; cdecl;
6656 begin
6657 try
6658 Result := IMasterImpl(this).getProcessExiting();
6659 except
6660 on e: Exception do FbException.catchException(nil, e);
6661 end
6662 end;
6663
6664 var
6665 IMasterImpl_vTable: MasterVTable;
6666
6667 constructor IMasterImpl.create;
6668 begin
6669 vTable := IMasterImpl_vTable;
6670 end;
6671
6672 procedure IPluginBaseImpl_addRefDispatcher(this: IPluginBase); cdecl;
6673 begin
6674 try
6675 IPluginBaseImpl(this).addRef();
6676 except
6677 on e: Exception do FbException.catchException(nil, e);
6678 end
6679 end;
6680
6681 function IPluginBaseImpl_releaseDispatcher(this: IPluginBase): Integer; cdecl;
6682 begin
6683 try
6684 Result := IPluginBaseImpl(this).release();
6685 except
6686 on e: Exception do FbException.catchException(nil, e);
6687 end
6688 end;
6689
6690 procedure IPluginBaseImpl_setOwnerDispatcher(this: IPluginBase; r: IReferenceCounted); cdecl;
6691 begin
6692 try
6693 IPluginBaseImpl(this).setOwner(r);
6694 except
6695 on e: Exception do FbException.catchException(nil, e);
6696 end
6697 end;
6698
6699 function IPluginBaseImpl_getOwnerDispatcher(this: IPluginBase): IReferenceCounted; cdecl;
6700 begin
6701 try
6702 Result := IPluginBaseImpl(this).getOwner();
6703 except
6704 on e: Exception do FbException.catchException(nil, e);
6705 end
6706 end;
6707
6708 var
6709 IPluginBaseImpl_vTable: PluginBaseVTable;
6710
6711 constructor IPluginBaseImpl.create;
6712 begin
6713 vTable := IPluginBaseImpl_vTable;
6714 end;
6715
6716 procedure IPluginSetImpl_addRefDispatcher(this: IPluginSet); cdecl;
6717 begin
6718 try
6719 IPluginSetImpl(this).addRef();
6720 except
6721 on e: Exception do FbException.catchException(nil, e);
6722 end
6723 end;
6724
6725 function IPluginSetImpl_releaseDispatcher(this: IPluginSet): Integer; cdecl;
6726 begin
6727 try
6728 Result := IPluginSetImpl(this).release();
6729 except
6730 on e: Exception do FbException.catchException(nil, e);
6731 end
6732 end;
6733
6734 function IPluginSetImpl_getNameDispatcher(this: IPluginSet): PAnsiChar; cdecl;
6735 begin
6736 try
6737 Result := IPluginSetImpl(this).getName();
6738 except
6739 on e: Exception do FbException.catchException(nil, e);
6740 end
6741 end;
6742
6743 function IPluginSetImpl_getModuleNameDispatcher(this: IPluginSet): PAnsiChar; cdecl;
6744 begin
6745 try
6746 Result := IPluginSetImpl(this).getModuleName();
6747 except
6748 on e: Exception do FbException.catchException(nil, e);
6749 end
6750 end;
6751
6752 function IPluginSetImpl_getPluginDispatcher(this: IPluginSet; status: IStatus): IPluginBase; cdecl;
6753 begin
6754 try
6755 Result := IPluginSetImpl(this).getPlugin(status);
6756 except
6757 on e: Exception do FbException.catchException(status, e);
6758 end
6759 end;
6760
6761 procedure IPluginSetImpl_nextDispatcher(this: IPluginSet; status: IStatus); cdecl;
6762 begin
6763 try
6764 IPluginSetImpl(this).next(status);
6765 except
6766 on e: Exception do FbException.catchException(status, e);
6767 end
6768 end;
6769
6770 procedure IPluginSetImpl_set_Dispatcher(this: IPluginSet; status: IStatus; s: PAnsiChar); cdecl;
6771 begin
6772 try
6773 IPluginSetImpl(this).set_(status, s);
6774 except
6775 on e: Exception do FbException.catchException(status, e);
6776 end
6777 end;
6778
6779 var
6780 IPluginSetImpl_vTable: PluginSetVTable;
6781
6782 constructor IPluginSetImpl.create;
6783 begin
6784 vTable := IPluginSetImpl_vTable;
6785 end;
6786
6787 procedure IConfigEntryImpl_addRefDispatcher(this: IConfigEntry); cdecl;
6788 begin
6789 try
6790 IConfigEntryImpl(this).addRef();
6791 except
6792 on e: Exception do FbException.catchException(nil, e);
6793 end
6794 end;
6795
6796 function IConfigEntryImpl_releaseDispatcher(this: IConfigEntry): Integer; cdecl;
6797 begin
6798 try
6799 Result := IConfigEntryImpl(this).release();
6800 except
6801 on e: Exception do FbException.catchException(nil, e);
6802 end
6803 end;
6804
6805 function IConfigEntryImpl_getNameDispatcher(this: IConfigEntry): PAnsiChar; cdecl;
6806 begin
6807 try
6808 Result := IConfigEntryImpl(this).getName();
6809 except
6810 on e: Exception do FbException.catchException(nil, e);
6811 end
6812 end;
6813
6814 function IConfigEntryImpl_getValueDispatcher(this: IConfigEntry): PAnsiChar; cdecl;
6815 begin
6816 try
6817 Result := IConfigEntryImpl(this).getValue();
6818 except
6819 on e: Exception do FbException.catchException(nil, e);
6820 end
6821 end;
6822
6823 function IConfigEntryImpl_getIntValueDispatcher(this: IConfigEntry): Int64; cdecl;
6824 begin
6825 try
6826 Result := IConfigEntryImpl(this).getIntValue();
6827 except
6828 on e: Exception do FbException.catchException(nil, e);
6829 end
6830 end;
6831
6832 function IConfigEntryImpl_getBoolValueDispatcher(this: IConfigEntry): Boolean; cdecl;
6833 begin
6834 try
6835 Result := IConfigEntryImpl(this).getBoolValue();
6836 except
6837 on e: Exception do FbException.catchException(nil, e);
6838 end
6839 end;
6840
6841 function IConfigEntryImpl_getSubConfigDispatcher(this: IConfigEntry; status: IStatus): IConfig; cdecl;
6842 begin
6843 try
6844 Result := IConfigEntryImpl(this).getSubConfig(status);
6845 except
6846 on e: Exception do FbException.catchException(status, e);
6847 end
6848 end;
6849
6850 var
6851 IConfigEntryImpl_vTable: ConfigEntryVTable;
6852
6853 constructor IConfigEntryImpl.create;
6854 begin
6855 vTable := IConfigEntryImpl_vTable;
6856 end;
6857
6858 procedure IConfigImpl_addRefDispatcher(this: IConfig); cdecl;
6859 begin
6860 try
6861 IConfigImpl(this).addRef();
6862 except
6863 on e: Exception do FbException.catchException(nil, e);
6864 end
6865 end;
6866
6867 function IConfigImpl_releaseDispatcher(this: IConfig): Integer; cdecl;
6868 begin
6869 try
6870 Result := IConfigImpl(this).release();
6871 except
6872 on e: Exception do FbException.catchException(nil, e);
6873 end
6874 end;
6875
6876 function IConfigImpl_findDispatcher(this: IConfig; status: IStatus; name: PAnsiChar): IConfigEntry; cdecl;
6877 begin
6878 try
6879 Result := IConfigImpl(this).find(status, name);
6880 except
6881 on e: Exception do FbException.catchException(status, e);
6882 end
6883 end;
6884
6885 function IConfigImpl_findValueDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; cdecl;
6886 begin
6887 try
6888 Result := IConfigImpl(this).findValue(status, name, value);
6889 except
6890 on e: Exception do FbException.catchException(status, e);
6891 end
6892 end;
6893
6894 function IConfigImpl_findPosDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; cdecl;
6895 begin
6896 try
6897 Result := IConfigImpl(this).findPos(status, name, pos);
6898 except
6899 on e: Exception do FbException.catchException(status, e);
6900 end
6901 end;
6902
6903 var
6904 IConfigImpl_vTable: ConfigVTable;
6905
6906 constructor IConfigImpl.create;
6907 begin
6908 vTable := IConfigImpl_vTable;
6909 end;
6910
6911 procedure IFirebirdConfImpl_addRefDispatcher(this: IFirebirdConf); cdecl;
6912 begin
6913 try
6914 IFirebirdConfImpl(this).addRef();
6915 except
6916 on e: Exception do FbException.catchException(nil, e);
6917 end
6918 end;
6919
6920 function IFirebirdConfImpl_releaseDispatcher(this: IFirebirdConf): Integer; cdecl;
6921 begin
6922 try
6923 Result := IFirebirdConfImpl(this).release();
6924 except
6925 on e: Exception do FbException.catchException(nil, e);
6926 end
6927 end;
6928
6929 function IFirebirdConfImpl_getKeyDispatcher(this: IFirebirdConf; name: PAnsiChar): Cardinal; cdecl;
6930 begin
6931 try
6932 Result := IFirebirdConfImpl(this).getKey(name);
6933 except
6934 on e: Exception do FbException.catchException(nil, e);
6935 end
6936 end;
6937
6938 function IFirebirdConfImpl_asIntegerDispatcher(this: IFirebirdConf; key: Cardinal): Int64; cdecl;
6939 begin
6940 try
6941 Result := IFirebirdConfImpl(this).asInteger(key);
6942 except
6943 on e: Exception do FbException.catchException(nil, e);
6944 end
6945 end;
6946
6947 function IFirebirdConfImpl_asStringDispatcher(this: IFirebirdConf; key: Cardinal): PAnsiChar; cdecl;
6948 begin
6949 try
6950 Result := IFirebirdConfImpl(this).asString(key);
6951 except
6952 on e: Exception do FbException.catchException(nil, e);
6953 end
6954 end;
6955
6956 function IFirebirdConfImpl_asBooleanDispatcher(this: IFirebirdConf; key: Cardinal): Boolean; cdecl;
6957 begin
6958 try
6959 Result := IFirebirdConfImpl(this).asBoolean(key);
6960 except
6961 on e: Exception do FbException.catchException(nil, e);
6962 end
6963 end;
6964
6965 function IFirebirdConfImpl_getVersionDispatcher(this: IFirebirdConf; status: IStatus): Cardinal; cdecl;
6966 begin
6967 try
6968 Result := IFirebirdConfImpl(this).getVersion(status);
6969 except
6970 on e: Exception do FbException.catchException(status, e);
6971 end
6972 end;
6973
6974 var
6975 IFirebirdConfImpl_vTable: FirebirdConfVTable;
6976
6977 constructor IFirebirdConfImpl.create;
6978 begin
6979 vTable := IFirebirdConfImpl_vTable;
6980 end;
6981
6982 procedure IPluginConfigImpl_addRefDispatcher(this: IPluginConfig); cdecl;
6983 begin
6984 try
6985 IPluginConfigImpl(this).addRef();
6986 except
6987 on e: Exception do FbException.catchException(nil, e);
6988 end
6989 end;
6990
6991 function IPluginConfigImpl_releaseDispatcher(this: IPluginConfig): Integer; cdecl;
6992 begin
6993 try
6994 Result := IPluginConfigImpl(this).release();
6995 except
6996 on e: Exception do FbException.catchException(nil, e);
6997 end
6998 end;
6999
7000 function IPluginConfigImpl_getConfigFileNameDispatcher(this: IPluginConfig): PAnsiChar; cdecl;
7001 begin
7002 try
7003 Result := IPluginConfigImpl(this).getConfigFileName();
7004 except
7005 on e: Exception do FbException.catchException(nil, e);
7006 end
7007 end;
7008
7009 function IPluginConfigImpl_getDefaultConfigDispatcher(this: IPluginConfig; status: IStatus): IConfig; cdecl;
7010 begin
7011 try
7012 Result := IPluginConfigImpl(this).getDefaultConfig(status);
7013 except
7014 on e: Exception do FbException.catchException(status, e);
7015 end
7016 end;
7017
7018 function IPluginConfigImpl_getFirebirdConfDispatcher(this: IPluginConfig; status: IStatus): IFirebirdConf; cdecl;
7019 begin
7020 try
7021 Result := IPluginConfigImpl(this).getFirebirdConf(status);
7022 except
7023 on e: Exception do FbException.catchException(status, e);
7024 end
7025 end;
7026
7027 procedure IPluginConfigImpl_setReleaseDelayDispatcher(this: IPluginConfig; status: IStatus; microSeconds: QWord); cdecl;
7028 begin
7029 try
7030 IPluginConfigImpl(this).setReleaseDelay(status, microSeconds);
7031 except
7032 on e: Exception do FbException.catchException(status, e);
7033 end
7034 end;
7035
7036 var
7037 IPluginConfigImpl_vTable: PluginConfigVTable;
7038
7039 constructor IPluginConfigImpl.create;
7040 begin
7041 vTable := IPluginConfigImpl_vTable;
7042 end;
7043
7044 function IPluginFactoryImpl_createPluginDispatcher(this: IPluginFactory; status: IStatus; factoryParameter: IPluginConfig): IPluginBase; cdecl;
7045 begin
7046 try
7047 Result := IPluginFactoryImpl(this).createPlugin(status, factoryParameter);
7048 except
7049 on e: Exception do FbException.catchException(status, e);
7050 end
7051 end;
7052
7053 var
7054 IPluginFactoryImpl_vTable: PluginFactoryVTable;
7055
7056 constructor IPluginFactoryImpl.create;
7057 begin
7058 vTable := IPluginFactoryImpl_vTable;
7059 end;
7060
7061 procedure IPluginModuleImpl_doCleanDispatcher(this: IPluginModule); cdecl;
7062 begin
7063 try
7064 IPluginModuleImpl(this).doClean();
7065 except
7066 on e: Exception do FbException.catchException(nil, e);
7067 end
7068 end;
7069
7070 procedure IPluginModuleImpl_threadDetachDispatcher(this: IPluginModule); cdecl;
7071 begin
7072 try
7073 IPluginModuleImpl(this).threadDetach();
7074 except
7075 on e: Exception do FbException.catchException(nil, e);
7076 end
7077 end;
7078
7079 var
7080 IPluginModuleImpl_vTable: PluginModuleVTable;
7081
7082 constructor IPluginModuleImpl.create;
7083 begin
7084 vTable := IPluginModuleImpl_vTable;
7085 end;
7086
7087 procedure IPluginManagerImpl_registerPluginFactoryDispatcher(this: IPluginManager; pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); cdecl;
7088 begin
7089 try
7090 IPluginManagerImpl(this).registerPluginFactory(pluginType, defaultName, factory);
7091 except
7092 on e: Exception do FbException.catchException(nil, e);
7093 end
7094 end;
7095
7096 procedure IPluginManagerImpl_registerModuleDispatcher(this: IPluginManager; cleanup: IPluginModule); cdecl;
7097 begin
7098 try
7099 IPluginManagerImpl(this).registerModule(cleanup);
7100 except
7101 on e: Exception do FbException.catchException(nil, e);
7102 end
7103 end;
7104
7105 procedure IPluginManagerImpl_unregisterModuleDispatcher(this: IPluginManager; cleanup: IPluginModule); cdecl;
7106 begin
7107 try
7108 IPluginManagerImpl(this).unregisterModule(cleanup);
7109 except
7110 on e: Exception do FbException.catchException(nil, e);
7111 end
7112 end;
7113
7114 function IPluginManagerImpl_getPluginsDispatcher(this: IPluginManager; status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; cdecl;
7115 begin
7116 try
7117 Result := IPluginManagerImpl(this).getPlugins(status, pluginType, namesList, firebirdConf);
7118 except
7119 on e: Exception do FbException.catchException(status, e);
7120 end
7121 end;
7122
7123 function IPluginManagerImpl_getConfigDispatcher(this: IPluginManager; status: IStatus; filename: PAnsiChar): IConfig; cdecl;
7124 begin
7125 try
7126 Result := IPluginManagerImpl(this).getConfig(status, filename);
7127 except
7128 on e: Exception do FbException.catchException(status, e);
7129 end
7130 end;
7131
7132 procedure IPluginManagerImpl_releasePluginDispatcher(this: IPluginManager; plugin: IPluginBase); cdecl;
7133 begin
7134 try
7135 IPluginManagerImpl(this).releasePlugin(plugin);
7136 except
7137 on e: Exception do FbException.catchException(nil, e);
7138 end
7139 end;
7140
7141 var
7142 IPluginManagerImpl_vTable: PluginManagerVTable;
7143
7144 constructor IPluginManagerImpl.create;
7145 begin
7146 vTable := IPluginManagerImpl_vTable;
7147 end;
7148
7149 procedure ICryptKeyImpl_setSymmetricDispatcher(this: ICryptKey; status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); cdecl;
7150 begin
7151 try
7152 ICryptKeyImpl(this).setSymmetric(status, type_, keyLength, key);
7153 except
7154 on e: Exception do FbException.catchException(status, e);
7155 end
7156 end;
7157
7158 procedure ICryptKeyImpl_setAsymmetricDispatcher(this: ICryptKey; status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); cdecl;
7159 begin
7160 try
7161 ICryptKeyImpl(this).setAsymmetric(status, type_, encryptKeyLength, encryptKey, decryptKeyLength, decryptKey);
7162 except
7163 on e: Exception do FbException.catchException(status, e);
7164 end
7165 end;
7166
7167 function ICryptKeyImpl_getEncryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
7168 begin
7169 try
7170 Result := ICryptKeyImpl(this).getEncryptKey(length);
7171 except
7172 on e: Exception do FbException.catchException(nil, e);
7173 end
7174 end;
7175
7176 function ICryptKeyImpl_getDecryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
7177 begin
7178 try
7179 Result := ICryptKeyImpl(this).getDecryptKey(length);
7180 except
7181 on e: Exception do FbException.catchException(nil, e);
7182 end
7183 end;
7184
7185 var
7186 ICryptKeyImpl_vTable: CryptKeyVTable;
7187
7188 constructor ICryptKeyImpl.create;
7189 begin
7190 vTable := ICryptKeyImpl_vTable;
7191 end;
7192
7193 function IConfigManagerImpl_getDirectoryDispatcher(this: IConfigManager; code: Cardinal): PAnsiChar; cdecl;
7194 begin
7195 try
7196 Result := IConfigManagerImpl(this).getDirectory(code);
7197 except
7198 on e: Exception do FbException.catchException(nil, e);
7199 end
7200 end;
7201
7202 function IConfigManagerImpl_getFirebirdConfDispatcher(this: IConfigManager): IFirebirdConf; cdecl;
7203 begin
7204 try
7205 Result := IConfigManagerImpl(this).getFirebirdConf();
7206 except
7207 on e: Exception do FbException.catchException(nil, e);
7208 end
7209 end;
7210
7211 function IConfigManagerImpl_getDatabaseConfDispatcher(this: IConfigManager; dbName: PAnsiChar): IFirebirdConf; cdecl;
7212 begin
7213 try
7214 Result := IConfigManagerImpl(this).getDatabaseConf(dbName);
7215 except
7216 on e: Exception do FbException.catchException(nil, e);
7217 end
7218 end;
7219
7220 function IConfigManagerImpl_getPluginConfigDispatcher(this: IConfigManager; configuredPlugin: PAnsiChar): IConfig; cdecl;
7221 begin
7222 try
7223 Result := IConfigManagerImpl(this).getPluginConfig(configuredPlugin);
7224 except
7225 on e: Exception do FbException.catchException(nil, e);
7226 end
7227 end;
7228
7229 function IConfigManagerImpl_getInstallDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7230 begin
7231 try
7232 Result := IConfigManagerImpl(this).getInstallDirectory();
7233 except
7234 on e: Exception do FbException.catchException(nil, e);
7235 end
7236 end;
7237
7238 function IConfigManagerImpl_getRootDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7239 begin
7240 try
7241 Result := IConfigManagerImpl(this).getRootDirectory();
7242 except
7243 on e: Exception do FbException.catchException(nil, e);
7244 end
7245 end;
7246
7247 function IConfigManagerImpl_getDefaultSecurityDbDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7248 begin
7249 try
7250 Result := IConfigManagerImpl(this).getDefaultSecurityDb();
7251 except
7252 on e: Exception do FbException.catchException(nil, e);
7253 end
7254 end;
7255
7256 var
7257 IConfigManagerImpl_vTable: ConfigManagerVTable;
7258
7259 constructor IConfigManagerImpl.create;
7260 begin
7261 vTable := IConfigManagerImpl_vTable;
7262 end;
7263
7264 procedure IEventCallbackImpl_addRefDispatcher(this: IEventCallback); cdecl;
7265 begin
7266 try
7267 IEventCallbackImpl(this).addRef();
7268 except
7269 on e: Exception do FbException.catchException(nil, e);
7270 end
7271 end;
7272
7273 function IEventCallbackImpl_releaseDispatcher(this: IEventCallback): Integer; cdecl;
7274 begin
7275 try
7276 Result := IEventCallbackImpl(this).release();
7277 except
7278 on e: Exception do FbException.catchException(nil, e);
7279 end
7280 end;
7281
7282 procedure IEventCallbackImpl_eventCallbackFunctionDispatcher(this: IEventCallback; length: Cardinal; events: BytePtr); cdecl;
7283 begin
7284 try
7285 IEventCallbackImpl(this).eventCallbackFunction(length, events);
7286 except
7287 on e: Exception do FbException.catchException(nil, e);
7288 end
7289 end;
7290
7291 var
7292 IEventCallbackImpl_vTable: EventCallbackVTable;
7293
7294 constructor IEventCallbackImpl.create;
7295 begin
7296 vTable := IEventCallbackImpl_vTable;
7297 end;
7298
7299 procedure IBlobImpl_addRefDispatcher(this: IBlob); cdecl;
7300 begin
7301 try
7302 IBlobImpl(this).addRef();
7303 except
7304 on e: Exception do FbException.catchException(nil, e);
7305 end
7306 end;
7307
7308 function IBlobImpl_releaseDispatcher(this: IBlob): Integer; cdecl;
7309 begin
7310 try
7311 Result := IBlobImpl(this).release();
7312 except
7313 on e: Exception do FbException.catchException(nil, e);
7314 end
7315 end;
7316
7317 procedure IBlobImpl_getInfoDispatcher(this: IBlob; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7318 begin
7319 try
7320 IBlobImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7321 except
7322 on e: Exception do FbException.catchException(status, e);
7323 end
7324 end;
7325
7326 function IBlobImpl_getSegmentDispatcher(this: IBlob; status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; cdecl;
7327 begin
7328 try
7329 Result := IBlobImpl(this).getSegment(status, bufferLength, buffer, segmentLength);
7330 except
7331 on e: Exception do FbException.catchException(status, e);
7332 end
7333 end;
7334
7335 procedure IBlobImpl_putSegmentDispatcher(this: IBlob; status: IStatus; length: Cardinal; buffer: Pointer); cdecl;
7336 begin
7337 try
7338 IBlobImpl(this).putSegment(status, length, buffer);
7339 except
7340 on e: Exception do FbException.catchException(status, e);
7341 end
7342 end;
7343
7344 procedure IBlobImpl_cancelDispatcher(this: IBlob; status: IStatus); cdecl;
7345 begin
7346 try
7347 IBlobImpl(this).cancel(status);
7348 except
7349 on e: Exception do FbException.catchException(status, e);
7350 end
7351 end;
7352
7353 procedure IBlobImpl_closeDispatcher(this: IBlob; status: IStatus); cdecl;
7354 begin
7355 try
7356 IBlobImpl(this).close(status);
7357 except
7358 on e: Exception do FbException.catchException(status, e);
7359 end
7360 end;
7361
7362 function IBlobImpl_seekDispatcher(this: IBlob; status: IStatus; mode: Integer; offset: Integer): Integer; cdecl;
7363 begin
7364 try
7365 Result := IBlobImpl(this).seek(status, mode, offset);
7366 except
7367 on e: Exception do FbException.catchException(status, e);
7368 end
7369 end;
7370
7371 var
7372 IBlobImpl_vTable: BlobVTable;
7373
7374 constructor IBlobImpl.create;
7375 begin
7376 vTable := IBlobImpl_vTable;
7377 end;
7378
7379 procedure ITransactionImpl_addRefDispatcher(this: ITransaction); cdecl;
7380 begin
7381 try
7382 ITransactionImpl(this).addRef();
7383 except
7384 on e: Exception do FbException.catchException(nil, e);
7385 end
7386 end;
7387
7388 function ITransactionImpl_releaseDispatcher(this: ITransaction): Integer; cdecl;
7389 begin
7390 try
7391 Result := ITransactionImpl(this).release();
7392 except
7393 on e: Exception do FbException.catchException(nil, e);
7394 end
7395 end;
7396
7397 procedure ITransactionImpl_getInfoDispatcher(this: ITransaction; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7398 begin
7399 try
7400 ITransactionImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7401 except
7402 on e: Exception do FbException.catchException(status, e);
7403 end
7404 end;
7405
7406 procedure ITransactionImpl_prepareDispatcher(this: ITransaction; status: IStatus; msgLength: Cardinal; message: BytePtr); cdecl;
7407 begin
7408 try
7409 ITransactionImpl(this).prepare(status, msgLength, message);
7410 except
7411 on e: Exception do FbException.catchException(status, e);
7412 end
7413 end;
7414
7415 procedure ITransactionImpl_commitDispatcher(this: ITransaction; status: IStatus); cdecl;
7416 begin
7417 try
7418 ITransactionImpl(this).commit(status);
7419 except
7420 on e: Exception do FbException.catchException(status, e);
7421 end
7422 end;
7423
7424 procedure ITransactionImpl_commitRetainingDispatcher(this: ITransaction; status: IStatus); cdecl;
7425 begin
7426 try
7427 ITransactionImpl(this).commitRetaining(status);
7428 except
7429 on e: Exception do FbException.catchException(status, e);
7430 end
7431 end;
7432
7433 procedure ITransactionImpl_rollbackDispatcher(this: ITransaction; status: IStatus); cdecl;
7434 begin
7435 try
7436 ITransactionImpl(this).rollback(status);
7437 except
7438 on e: Exception do FbException.catchException(status, e);
7439 end
7440 end;
7441
7442 procedure ITransactionImpl_rollbackRetainingDispatcher(this: ITransaction; status: IStatus); cdecl;
7443 begin
7444 try
7445 ITransactionImpl(this).rollbackRetaining(status);
7446 except
7447 on e: Exception do FbException.catchException(status, e);
7448 end
7449 end;
7450
7451 procedure ITransactionImpl_disconnectDispatcher(this: ITransaction; status: IStatus); cdecl;
7452 begin
7453 try
7454 ITransactionImpl(this).disconnect(status);
7455 except
7456 on e: Exception do FbException.catchException(status, e);
7457 end
7458 end;
7459
7460 function ITransactionImpl_joinDispatcher(this: ITransaction; status: IStatus; transaction: ITransaction): ITransaction; cdecl;
7461 begin
7462 try
7463 Result := ITransactionImpl(this).join(status, transaction);
7464 except
7465 on e: Exception do FbException.catchException(status, e);
7466 end
7467 end;
7468
7469 function ITransactionImpl_validateDispatcher(this: ITransaction; status: IStatus; attachment: IAttachment): ITransaction; cdecl;
7470 begin
7471 try
7472 Result := ITransactionImpl(this).validate(status, attachment);
7473 except
7474 on e: Exception do FbException.catchException(status, e);
7475 end
7476 end;
7477
7478 function ITransactionImpl_enterDtcDispatcher(this: ITransaction; status: IStatus): ITransaction; cdecl;
7479 begin
7480 try
7481 Result := ITransactionImpl(this).enterDtc(status);
7482 except
7483 on e: Exception do FbException.catchException(status, e);
7484 end
7485 end;
7486
7487 var
7488 ITransactionImpl_vTable: TransactionVTable;
7489
7490 constructor ITransactionImpl.create;
7491 begin
7492 vTable := ITransactionImpl_vTable;
7493 end;
7494
7495 procedure IMessageMetadataImpl_addRefDispatcher(this: IMessageMetadata); cdecl;
7496 begin
7497 try
7498 IMessageMetadataImpl(this).addRef();
7499 except
7500 on e: Exception do FbException.catchException(nil, e);
7501 end
7502 end;
7503
7504 function IMessageMetadataImpl_releaseDispatcher(this: IMessageMetadata): Integer; cdecl;
7505 begin
7506 try
7507 Result := IMessageMetadataImpl(this).release();
7508 except
7509 on e: Exception do FbException.catchException(nil, e);
7510 end
7511 end;
7512
7513 function IMessageMetadataImpl_getCountDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7514 begin
7515 try
7516 Result := IMessageMetadataImpl(this).getCount(status);
7517 except
7518 on e: Exception do FbException.catchException(status, e);
7519 end
7520 end;
7521
7522 function IMessageMetadataImpl_getFieldDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7523 begin
7524 try
7525 Result := IMessageMetadataImpl(this).getField(status, index);
7526 except
7527 on e: Exception do FbException.catchException(status, e);
7528 end
7529 end;
7530
7531 function IMessageMetadataImpl_getRelationDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7532 begin
7533 try
7534 Result := IMessageMetadataImpl(this).getRelation(status, index);
7535 except
7536 on e: Exception do FbException.catchException(status, e);
7537 end
7538 end;
7539
7540 function IMessageMetadataImpl_getOwnerDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7541 begin
7542 try
7543 Result := IMessageMetadataImpl(this).getOwner(status, index);
7544 except
7545 on e: Exception do FbException.catchException(status, e);
7546 end
7547 end;
7548
7549 function IMessageMetadataImpl_getAliasDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7550 begin
7551 try
7552 Result := IMessageMetadataImpl(this).getAlias(status, index);
7553 except
7554 on e: Exception do FbException.catchException(status, e);
7555 end
7556 end;
7557
7558 function IMessageMetadataImpl_getTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7559 begin
7560 try
7561 Result := IMessageMetadataImpl(this).getType(status, index);
7562 except
7563 on e: Exception do FbException.catchException(status, e);
7564 end
7565 end;
7566
7567 function IMessageMetadataImpl_isNullableDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Boolean; cdecl;
7568 begin
7569 try
7570 Result := IMessageMetadataImpl(this).isNullable(status, index);
7571 except
7572 on e: Exception do FbException.catchException(status, e);
7573 end
7574 end;
7575
7576 function IMessageMetadataImpl_getSubTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
7577 begin
7578 try
7579 Result := IMessageMetadataImpl(this).getSubType(status, index);
7580 except
7581 on e: Exception do FbException.catchException(status, e);
7582 end
7583 end;
7584
7585 function IMessageMetadataImpl_getLengthDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7586 begin
7587 try
7588 Result := IMessageMetadataImpl(this).getLength(status, index);
7589 except
7590 on e: Exception do FbException.catchException(status, e);
7591 end
7592 end;
7593
7594 function IMessageMetadataImpl_getScaleDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
7595 begin
7596 try
7597 Result := IMessageMetadataImpl(this).getScale(status, index);
7598 except
7599 on e: Exception do FbException.catchException(status, e);
7600 end
7601 end;
7602
7603 function IMessageMetadataImpl_getCharSetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7604 begin
7605 try
7606 Result := IMessageMetadataImpl(this).getCharSet(status, index);
7607 except
7608 on e: Exception do FbException.catchException(status, e);
7609 end
7610 end;
7611
7612 function IMessageMetadataImpl_getOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7613 begin
7614 try
7615 Result := IMessageMetadataImpl(this).getOffset(status, index);
7616 except
7617 on e: Exception do FbException.catchException(status, e);
7618 end
7619 end;
7620
7621 function IMessageMetadataImpl_getNullOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7622 begin
7623 try
7624 Result := IMessageMetadataImpl(this).getNullOffset(status, index);
7625 except
7626 on e: Exception do FbException.catchException(status, e);
7627 end
7628 end;
7629
7630 function IMessageMetadataImpl_getBuilderDispatcher(this: IMessageMetadata; status: IStatus): IMetadataBuilder; cdecl;
7631 begin
7632 try
7633 Result := IMessageMetadataImpl(this).getBuilder(status);
7634 except
7635 on e: Exception do FbException.catchException(status, e);
7636 end
7637 end;
7638
7639 function IMessageMetadataImpl_getMessageLengthDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7640 begin
7641 try
7642 Result := IMessageMetadataImpl(this).getMessageLength(status);
7643 except
7644 on e: Exception do FbException.catchException(status, e);
7645 end
7646 end;
7647
7648 function IMessageMetadataImpl_getAlignmentDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7649 begin
7650 try
7651 Result := IMessageMetadataImpl(this).getAlignment(status);
7652 except
7653 on e: Exception do FbException.catchException(status, e);
7654 end
7655 end;
7656
7657 function IMessageMetadataImpl_getAlignedLengthDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7658 begin
7659 try
7660 Result := IMessageMetadataImpl(this).getAlignedLength(status);
7661 except
7662 on e: Exception do FbException.catchException(status, e);
7663 end
7664 end;
7665
7666 var
7667 IMessageMetadataImpl_vTable: MessageMetadataVTable;
7668
7669 constructor IMessageMetadataImpl.create;
7670 begin
7671 vTable := IMessageMetadataImpl_vTable;
7672 end;
7673
7674 procedure IMetadataBuilderImpl_addRefDispatcher(this: IMetadataBuilder); cdecl;
7675 begin
7676 try
7677 IMetadataBuilderImpl(this).addRef();
7678 except
7679 on e: Exception do FbException.catchException(nil, e);
7680 end
7681 end;
7682
7683 function IMetadataBuilderImpl_releaseDispatcher(this: IMetadataBuilder): Integer; cdecl;
7684 begin
7685 try
7686 Result := IMetadataBuilderImpl(this).release();
7687 except
7688 on e: Exception do FbException.catchException(nil, e);
7689 end
7690 end;
7691
7692 procedure IMetadataBuilderImpl_setTypeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; type_: Cardinal); cdecl;
7693 begin
7694 try
7695 IMetadataBuilderImpl(this).setType(status, index, type_);
7696 except
7697 on e: Exception do FbException.catchException(status, e);
7698 end
7699 end;
7700
7701 procedure IMetadataBuilderImpl_setSubTypeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; subType: Integer); cdecl;
7702 begin
7703 try
7704 IMetadataBuilderImpl(this).setSubType(status, index, subType);
7705 except
7706 on e: Exception do FbException.catchException(status, e);
7707 end
7708 end;
7709
7710 procedure IMetadataBuilderImpl_setLengthDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; length: Cardinal); cdecl;
7711 begin
7712 try
7713 IMetadataBuilderImpl(this).setLength(status, index, length);
7714 except
7715 on e: Exception do FbException.catchException(status, e);
7716 end
7717 end;
7718
7719 procedure IMetadataBuilderImpl_setCharSetDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; charSet: Cardinal); cdecl;
7720 begin
7721 try
7722 IMetadataBuilderImpl(this).setCharSet(status, index, charSet);
7723 except
7724 on e: Exception do FbException.catchException(status, e);
7725 end
7726 end;
7727
7728 procedure IMetadataBuilderImpl_setScaleDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; scale: Integer); cdecl;
7729 begin
7730 try
7731 IMetadataBuilderImpl(this).setScale(status, index, scale);
7732 except
7733 on e: Exception do FbException.catchException(status, e);
7734 end
7735 end;
7736
7737 procedure IMetadataBuilderImpl_truncateDispatcher(this: IMetadataBuilder; status: IStatus; count: Cardinal); cdecl;
7738 begin
7739 try
7740 IMetadataBuilderImpl(this).truncate(status, count);
7741 except
7742 on e: Exception do FbException.catchException(status, e);
7743 end
7744 end;
7745
7746 procedure IMetadataBuilderImpl_moveNameToIndexDispatcher(this: IMetadataBuilder; status: IStatus; name: PAnsiChar; index: Cardinal); cdecl;
7747 begin
7748 try
7749 IMetadataBuilderImpl(this).moveNameToIndex(status, name, index);
7750 except
7751 on e: Exception do FbException.catchException(status, e);
7752 end
7753 end;
7754
7755 procedure IMetadataBuilderImpl_removeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal); cdecl;
7756 begin
7757 try
7758 IMetadataBuilderImpl(this).remove(status, index);
7759 except
7760 on e: Exception do FbException.catchException(status, e);
7761 end
7762 end;
7763
7764 function IMetadataBuilderImpl_addFieldDispatcher(this: IMetadataBuilder; status: IStatus): Cardinal; cdecl;
7765 begin
7766 try
7767 Result := IMetadataBuilderImpl(this).addField(status);
7768 except
7769 on e: Exception do FbException.catchException(status, e);
7770 end
7771 end;
7772
7773 function IMetadataBuilderImpl_getMetadataDispatcher(this: IMetadataBuilder; status: IStatus): IMessageMetadata; cdecl;
7774 begin
7775 try
7776 Result := IMetadataBuilderImpl(this).getMetadata(status);
7777 except
7778 on e: Exception do FbException.catchException(status, e);
7779 end
7780 end;
7781
7782 procedure IMetadataBuilderImpl_setFieldDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; field: PAnsiChar); cdecl;
7783 begin
7784 try
7785 IMetadataBuilderImpl(this).setField(status, index, field);
7786 except
7787 on e: Exception do FbException.catchException(status, e);
7788 end
7789 end;
7790
7791 procedure IMetadataBuilderImpl_setRelationDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; relation: PAnsiChar); cdecl;
7792 begin
7793 try
7794 IMetadataBuilderImpl(this).setRelation(status, index, relation);
7795 except
7796 on e: Exception do FbException.catchException(status, e);
7797 end
7798 end;
7799
7800 procedure IMetadataBuilderImpl_setOwnerDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; owner: PAnsiChar); cdecl;
7801 begin
7802 try
7803 IMetadataBuilderImpl(this).setOwner(status, index, owner);
7804 except
7805 on e: Exception do FbException.catchException(status, e);
7806 end
7807 end;
7808
7809 procedure IMetadataBuilderImpl_setAliasDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; alias: PAnsiChar); cdecl;
7810 begin
7811 try
7812 IMetadataBuilderImpl(this).setAlias(status, index, alias);
7813 except
7814 on e: Exception do FbException.catchException(status, e);
7815 end
7816 end;
7817
7818 var
7819 IMetadataBuilderImpl_vTable: MetadataBuilderVTable;
7820
7821 constructor IMetadataBuilderImpl.create;
7822 begin
7823 vTable := IMetadataBuilderImpl_vTable;
7824 end;
7825
7826 procedure IResultSetImpl_addRefDispatcher(this: IResultSet); cdecl;
7827 begin
7828 try
7829 IResultSetImpl(this).addRef();
7830 except
7831 on e: Exception do FbException.catchException(nil, e);
7832 end
7833 end;
7834
7835 function IResultSetImpl_releaseDispatcher(this: IResultSet): Integer; cdecl;
7836 begin
7837 try
7838 Result := IResultSetImpl(this).release();
7839 except
7840 on e: Exception do FbException.catchException(nil, e);
7841 end
7842 end;
7843
7844 function IResultSetImpl_fetchNextDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7845 begin
7846 try
7847 Result := IResultSetImpl(this).fetchNext(status, message);
7848 except
7849 on e: Exception do FbException.catchException(status, e);
7850 end
7851 end;
7852
7853 function IResultSetImpl_fetchPriorDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7854 begin
7855 try
7856 Result := IResultSetImpl(this).fetchPrior(status, message);
7857 except
7858 on e: Exception do FbException.catchException(status, e);
7859 end
7860 end;
7861
7862 function IResultSetImpl_fetchFirstDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7863 begin
7864 try
7865 Result := IResultSetImpl(this).fetchFirst(status, message);
7866 except
7867 on e: Exception do FbException.catchException(status, e);
7868 end
7869 end;
7870
7871 function IResultSetImpl_fetchLastDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7872 begin
7873 try
7874 Result := IResultSetImpl(this).fetchLast(status, message);
7875 except
7876 on e: Exception do FbException.catchException(status, e);
7877 end
7878 end;
7879
7880 function IResultSetImpl_fetchAbsoluteDispatcher(this: IResultSet; status: IStatus; position: Integer; message: Pointer): Integer; cdecl;
7881 begin
7882 try
7883 Result := IResultSetImpl(this).fetchAbsolute(status, position, message);
7884 except
7885 on e: Exception do FbException.catchException(status, e);
7886 end
7887 end;
7888
7889 function IResultSetImpl_fetchRelativeDispatcher(this: IResultSet; status: IStatus; offset: Integer; message: Pointer): Integer; cdecl;
7890 begin
7891 try
7892 Result := IResultSetImpl(this).fetchRelative(status, offset, message);
7893 except
7894 on e: Exception do FbException.catchException(status, e);
7895 end
7896 end;
7897
7898 function IResultSetImpl_isEofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl;
7899 begin
7900 try
7901 Result := IResultSetImpl(this).isEof(status);
7902 except
7903 on e: Exception do FbException.catchException(status, e);
7904 end
7905 end;
7906
7907 function IResultSetImpl_isBofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl;
7908 begin
7909 try
7910 Result := IResultSetImpl(this).isBof(status);
7911 except
7912 on e: Exception do FbException.catchException(status, e);
7913 end
7914 end;
7915
7916 function IResultSetImpl_getMetadataDispatcher(this: IResultSet; status: IStatus): IMessageMetadata; cdecl;
7917 begin
7918 try
7919 Result := IResultSetImpl(this).getMetadata(status);
7920 except
7921 on e: Exception do FbException.catchException(status, e);
7922 end
7923 end;
7924
7925 procedure IResultSetImpl_closeDispatcher(this: IResultSet; status: IStatus); cdecl;
7926 begin
7927 try
7928 IResultSetImpl(this).close(status);
7929 except
7930 on e: Exception do FbException.catchException(status, e);
7931 end
7932 end;
7933
7934 procedure IResultSetImpl_setDelayedOutputFormatDispatcher(this: IResultSet; status: IStatus; format: IMessageMetadata); cdecl;
7935 begin
7936 try
7937 IResultSetImpl(this).setDelayedOutputFormat(status, format);
7938 except
7939 on e: Exception do FbException.catchException(status, e);
7940 end
7941 end;
7942
7943 var
7944 IResultSetImpl_vTable: ResultSetVTable;
7945
7946 constructor IResultSetImpl.create;
7947 begin
7948 vTable := IResultSetImpl_vTable;
7949 end;
7950
7951 procedure IStatementImpl_addRefDispatcher(this: IStatement); cdecl;
7952 begin
7953 try
7954 IStatementImpl(this).addRef();
7955 except
7956 on e: Exception do FbException.catchException(nil, e);
7957 end
7958 end;
7959
7960 function IStatementImpl_releaseDispatcher(this: IStatement): Integer; cdecl;
7961 begin
7962 try
7963 Result := IStatementImpl(this).release();
7964 except
7965 on e: Exception do FbException.catchException(nil, e);
7966 end
7967 end;
7968
7969 procedure IStatementImpl_getInfoDispatcher(this: IStatement; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7970 begin
7971 try
7972 IStatementImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7973 except
7974 on e: Exception do FbException.catchException(status, e);
7975 end
7976 end;
7977
7978 function IStatementImpl_getTypeDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
7979 begin
7980 try
7981 Result := IStatementImpl(this).getType(status);
7982 except
7983 on e: Exception do FbException.catchException(status, e);
7984 end
7985 end;
7986
7987 function IStatementImpl_getPlanDispatcher(this: IStatement; status: IStatus; detailed: Boolean): PAnsiChar; cdecl;
7988 begin
7989 try
7990 Result := IStatementImpl(this).getPlan(status, detailed);
7991 except
7992 on e: Exception do FbException.catchException(status, e);
7993 end
7994 end;
7995
7996 function IStatementImpl_getAffectedRecordsDispatcher(this: IStatement; status: IStatus): QWord; cdecl;
7997 begin
7998 try
7999 Result := IStatementImpl(this).getAffectedRecords(status);
8000 except
8001 on e: Exception do FbException.catchException(status, e);
8002 end
8003 end;
8004
8005 function IStatementImpl_getInputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
8006 begin
8007 try
8008 Result := IStatementImpl(this).getInputMetadata(status);
8009 except
8010 on e: Exception do FbException.catchException(status, e);
8011 end
8012 end;
8013
8014 function IStatementImpl_getOutputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
8015 begin
8016 try
8017 Result := IStatementImpl(this).getOutputMetadata(status);
8018 except
8019 on e: Exception do FbException.catchException(status, e);
8020 end
8021 end;
8022
8023 function IStatementImpl_executeDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
8024 begin
8025 try
8026 Result := IStatementImpl(this).execute(status, transaction, inMetadata, inBuffer, outMetadata, outBuffer);
8027 except
8028 on e: Exception do FbException.catchException(status, e);
8029 end
8030 end;
8031
8032 function IStatementImpl_openCursorDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; cdecl;
8033 begin
8034 try
8035 Result := IStatementImpl(this).openCursor(status, transaction, inMetadata, inBuffer, outMetadata, flags);
8036 except
8037 on e: Exception do FbException.catchException(status, e);
8038 end
8039 end;
8040
8041 procedure IStatementImpl_setCursorNameDispatcher(this: IStatement; status: IStatus; name: PAnsiChar); cdecl;
8042 begin
8043 try
8044 IStatementImpl(this).setCursorName(status, name);
8045 except
8046 on e: Exception do FbException.catchException(status, e);
8047 end
8048 end;
8049
8050 procedure IStatementImpl_freeDispatcher(this: IStatement; status: IStatus); cdecl;
8051 begin
8052 try
8053 IStatementImpl(this).free(status);
8054 except
8055 on e: Exception do FbException.catchException(status, e);
8056 end
8057 end;
8058
8059 function IStatementImpl_getFlagsDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
8060 begin
8061 try
8062 Result := IStatementImpl(this).getFlags(status);
8063 except
8064 on e: Exception do FbException.catchException(status, e);
8065 end
8066 end;
8067
8068 function IStatementImpl_getTimeoutDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
8069 begin
8070 try
8071 Result := IStatementImpl(this).getTimeout(status);
8072 except
8073 on e: Exception do FbException.catchException(status, e);
8074 end
8075 end;
8076
8077 procedure IStatementImpl_setTimeoutDispatcher(this: IStatement; status: IStatus; timeOut: Cardinal); cdecl;
8078 begin
8079 try
8080 IStatementImpl(this).setTimeout(status, timeOut);
8081 except
8082 on e: Exception do FbException.catchException(status, e);
8083 end
8084 end;
8085
8086 function IStatementImpl_createBatchDispatcher(this: IStatement; status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
8087 begin
8088 try
8089 Result := IStatementImpl(this).createBatch(status, inMetadata, parLength, par);
8090 except
8091 on e: Exception do FbException.catchException(status, e);
8092 end
8093 end;
8094
8095 var
8096 IStatementImpl_vTable: StatementVTable;
8097
8098 constructor IStatementImpl.create;
8099 begin
8100 vTable := IStatementImpl_vTable;
8101 end;
8102
8103 procedure IBatchImpl_addRefDispatcher(this: IBatch); cdecl;
8104 begin
8105 try
8106 IBatchImpl(this).addRef();
8107 except
8108 on e: Exception do FbException.catchException(nil, e);
8109 end
8110 end;
8111
8112 function IBatchImpl_releaseDispatcher(this: IBatch): Integer; cdecl;
8113 begin
8114 try
8115 Result := IBatchImpl(this).release();
8116 except
8117 on e: Exception do FbException.catchException(nil, e);
8118 end
8119 end;
8120
8121 procedure IBatchImpl_addDispatcher(this: IBatch; status: IStatus; count: Cardinal; inBuffer: Pointer); cdecl;
8122 begin
8123 try
8124 IBatchImpl(this).add(status, count, inBuffer);
8125 except
8126 on e: Exception do FbException.catchException(status, e);
8127 end
8128 end;
8129
8130 procedure IBatchImpl_addBlobDispatcher(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr); cdecl;
8131 begin
8132 try
8133 IBatchImpl(this).addBlob(status, length, inBuffer, blobId, parLength, par);
8134 except
8135 on e: Exception do FbException.catchException(status, e);
8136 end
8137 end;
8138
8139 procedure IBatchImpl_appendBlobDataDispatcher(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
8140 begin
8141 try
8142 IBatchImpl(this).appendBlobData(status, length, inBuffer);
8143 except
8144 on e: Exception do FbException.catchException(status, e);
8145 end
8146 end;
8147
8148 procedure IBatchImpl_addBlobStreamDispatcher(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
8149 begin
8150 try
8151 IBatchImpl(this).addBlobStream(status, length, inBuffer);
8152 except
8153 on e: Exception do FbException.catchException(status, e);
8154 end
8155 end;
8156
8157 procedure IBatchImpl_registerBlobDispatcher(this: IBatch; status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr); cdecl;
8158 begin
8159 try
8160 IBatchImpl(this).registerBlob(status, existingBlob, blobId);
8161 except
8162 on e: Exception do FbException.catchException(status, e);
8163 end
8164 end;
8165
8166 function IBatchImpl_executeDispatcher(this: IBatch; status: IStatus; transaction: ITransaction): IBatchCompletionState; cdecl;
8167 begin
8168 try
8169 Result := IBatchImpl(this).execute(status, transaction);
8170 except
8171 on e: Exception do FbException.catchException(status, e);
8172 end
8173 end;
8174
8175 procedure IBatchImpl_cancelDispatcher(this: IBatch; status: IStatus); cdecl;
8176 begin
8177 try
8178 IBatchImpl(this).cancel(status);
8179 except
8180 on e: Exception do FbException.catchException(status, e);
8181 end
8182 end;
8183
8184 function IBatchImpl_getBlobAlignmentDispatcher(this: IBatch; status: IStatus): Cardinal; cdecl;
8185 begin
8186 try
8187 Result := IBatchImpl(this).getBlobAlignment(status);
8188 except
8189 on e: Exception do FbException.catchException(status, e);
8190 end
8191 end;
8192
8193 function IBatchImpl_getMetadataDispatcher(this: IBatch; status: IStatus): IMessageMetadata; cdecl;
8194 begin
8195 try
8196 Result := IBatchImpl(this).getMetadata(status);
8197 except
8198 on e: Exception do FbException.catchException(status, e);
8199 end
8200 end;
8201
8202 procedure IBatchImpl_setDefaultBpbDispatcher(this: IBatch; status: IStatus; parLength: Cardinal; par: BytePtr); cdecl;
8203 begin
8204 try
8205 IBatchImpl(this).setDefaultBpb(status, parLength, par);
8206 except
8207 on e: Exception do FbException.catchException(status, e);
8208 end
8209 end;
8210
8211 var
8212 IBatchImpl_vTable: BatchVTable;
8213
8214 constructor IBatchImpl.create;
8215 begin
8216 vTable := IBatchImpl_vTable;
8217 end;
8218
8219 procedure IBatchCompletionStateImpl_disposeDispatcher(this: IBatchCompletionState); cdecl;
8220 begin
8221 try
8222 IBatchCompletionStateImpl(this).dispose();
8223 except
8224 on e: Exception do FbException.catchException(nil, e);
8225 end
8226 end;
8227
8228 function IBatchCompletionStateImpl_getSizeDispatcher(this: IBatchCompletionState; status: IStatus): Cardinal; cdecl;
8229 begin
8230 try
8231 Result := IBatchCompletionStateImpl(this).getSize(status);
8232 except
8233 on e: Exception do FbException.catchException(status, e);
8234 end
8235 end;
8236
8237 function IBatchCompletionStateImpl_getStateDispatcher(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Integer; cdecl;
8238 begin
8239 try
8240 Result := IBatchCompletionStateImpl(this).getState(status, pos);
8241 except
8242 on e: Exception do FbException.catchException(status, e);
8243 end
8244 end;
8245
8246 function IBatchCompletionStateImpl_findErrorDispatcher(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Cardinal; cdecl;
8247 begin
8248 try
8249 Result := IBatchCompletionStateImpl(this).findError(status, pos);
8250 except
8251 on e: Exception do FbException.catchException(status, e);
8252 end
8253 end;
8254
8255 procedure IBatchCompletionStateImpl_getStatusDispatcher(this: IBatchCompletionState; status: IStatus; to_: IStatus; pos: Cardinal); cdecl;
8256 begin
8257 try
8258 IBatchCompletionStateImpl(this).getStatus(status, to_, pos);
8259 except
8260 on e: Exception do FbException.catchException(status, e);
8261 end
8262 end;
8263
8264 var
8265 IBatchCompletionStateImpl_vTable: BatchCompletionStateVTable;
8266
8267 constructor IBatchCompletionStateImpl.create;
8268 begin
8269 vTable := IBatchCompletionStateImpl_vTable;
8270 end;
8271
8272 procedure IReplicatorImpl_addRefDispatcher(this: IReplicator); cdecl;
8273 begin
8274 try
8275 IReplicatorImpl(this).addRef();
8276 except
8277 on e: Exception do FbException.catchException(nil, e);
8278 end
8279 end;
8280
8281 function IReplicatorImpl_releaseDispatcher(this: IReplicator): Integer; cdecl;
8282 begin
8283 try
8284 Result := IReplicatorImpl(this).release();
8285 except
8286 on e: Exception do FbException.catchException(nil, e);
8287 end
8288 end;
8289
8290 procedure IReplicatorImpl_processDispatcher(this: IReplicator; status: IStatus; length: Cardinal; data: BytePtr); cdecl;
8291 begin
8292 try
8293 IReplicatorImpl(this).process(status, length, data);
8294 except
8295 on e: Exception do FbException.catchException(status, e);
8296 end
8297 end;
8298
8299 procedure IReplicatorImpl_closeDispatcher(this: IReplicator; status: IStatus); cdecl;
8300 begin
8301 try
8302 IReplicatorImpl(this).close(status);
8303 except
8304 on e: Exception do FbException.catchException(status, e);
8305 end
8306 end;
8307
8308 var
8309 IReplicatorImpl_vTable: ReplicatorVTable;
8310
8311 constructor IReplicatorImpl.create;
8312 begin
8313 vTable := IReplicatorImpl_vTable;
8314 end;
8315
8316 procedure IRequestImpl_addRefDispatcher(this: IRequest); cdecl;
8317 begin
8318 try
8319 IRequestImpl(this).addRef();
8320 except
8321 on e: Exception do FbException.catchException(nil, e);
8322 end
8323 end;
8324
8325 function IRequestImpl_releaseDispatcher(this: IRequest): Integer; cdecl;
8326 begin
8327 try
8328 Result := IRequestImpl(this).release();
8329 except
8330 on e: Exception do FbException.catchException(nil, e);
8331 end
8332 end;
8333
8334 procedure IRequestImpl_receiveDispatcher(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
8335 begin
8336 try
8337 IRequestImpl(this).receive(status, level, msgType, length, message);
8338 except
8339 on e: Exception do FbException.catchException(status, e);
8340 end
8341 end;
8342
8343 procedure IRequestImpl_sendDispatcher(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
8344 begin
8345 try
8346 IRequestImpl(this).send(status, level, msgType, length, message);
8347 except
8348 on e: Exception do FbException.catchException(status, e);
8349 end
8350 end;
8351
8352 procedure IRequestImpl_getInfoDispatcher(this: IRequest; status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8353 begin
8354 try
8355 IRequestImpl(this).getInfo(status, level, itemsLength, items, bufferLength, buffer);
8356 except
8357 on e: Exception do FbException.catchException(status, e);
8358 end
8359 end;
8360
8361 procedure IRequestImpl_startDispatcher(this: IRequest; status: IStatus; tra: ITransaction; level: Integer); cdecl;
8362 begin
8363 try
8364 IRequestImpl(this).start(status, tra, level);
8365 except
8366 on e: Exception do FbException.catchException(status, e);
8367 end
8368 end;
8369
8370 procedure IRequestImpl_startAndSendDispatcher(this: IRequest; status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
8371 begin
8372 try
8373 IRequestImpl(this).startAndSend(status, tra, level, msgType, length, message);
8374 except
8375 on e: Exception do FbException.catchException(status, e);
8376 end
8377 end;
8378
8379 procedure IRequestImpl_unwindDispatcher(this: IRequest; status: IStatus; level: Integer); cdecl;
8380 begin
8381 try
8382 IRequestImpl(this).unwind(status, level);
8383 except
8384 on e: Exception do FbException.catchException(status, e);
8385 end
8386 end;
8387
8388 procedure IRequestImpl_freeDispatcher(this: IRequest; status: IStatus); cdecl;
8389 begin
8390 try
8391 IRequestImpl(this).free(status);
8392 except
8393 on e: Exception do FbException.catchException(status, e);
8394 end
8395 end;
8396
8397 var
8398 IRequestImpl_vTable: RequestVTable;
8399
8400 constructor IRequestImpl.create;
8401 begin
8402 vTable := IRequestImpl_vTable;
8403 end;
8404
8405 procedure IEventsImpl_addRefDispatcher(this: IEvents); cdecl;
8406 begin
8407 try
8408 IEventsImpl(this).addRef();
8409 except
8410 on e: Exception do FbException.catchException(nil, e);
8411 end
8412 end;
8413
8414 function IEventsImpl_releaseDispatcher(this: IEvents): Integer; cdecl;
8415 begin
8416 try
8417 Result := IEventsImpl(this).release();
8418 except
8419 on e: Exception do FbException.catchException(nil, e);
8420 end
8421 end;
8422
8423 procedure IEventsImpl_cancelDispatcher(this: IEvents; status: IStatus); cdecl;
8424 begin
8425 try
8426 IEventsImpl(this).cancel(status);
8427 except
8428 on e: Exception do FbException.catchException(status, e);
8429 end
8430 end;
8431
8432 var
8433 IEventsImpl_vTable: EventsVTable;
8434
8435 constructor IEventsImpl.create;
8436 begin
8437 vTable := IEventsImpl_vTable;
8438 end;
8439
8440 procedure IAttachmentImpl_addRefDispatcher(this: IAttachment); cdecl;
8441 begin
8442 try
8443 IAttachmentImpl(this).addRef();
8444 except
8445 on e: Exception do FbException.catchException(nil, e);
8446 end
8447 end;
8448
8449 function IAttachmentImpl_releaseDispatcher(this: IAttachment): Integer; cdecl;
8450 begin
8451 try
8452 Result := IAttachmentImpl(this).release();
8453 except
8454 on e: Exception do FbException.catchException(nil, e);
8455 end
8456 end;
8457
8458 procedure IAttachmentImpl_getInfoDispatcher(this: IAttachment; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8459 begin
8460 try
8461 IAttachmentImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
8462 except
8463 on e: Exception do FbException.catchException(status, e);
8464 end
8465 end;
8466
8467 function IAttachmentImpl_startTransactionDispatcher(this: IAttachment; status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; cdecl;
8468 begin
8469 try
8470 Result := IAttachmentImpl(this).startTransaction(status, tpbLength, tpb);
8471 except
8472 on e: Exception do FbException.catchException(status, e);
8473 end
8474 end;
8475
8476 function IAttachmentImpl_reconnectTransactionDispatcher(this: IAttachment; status: IStatus; length: Cardinal; id: BytePtr): ITransaction; cdecl;
8477 begin
8478 try
8479 Result := IAttachmentImpl(this).reconnectTransaction(status, length, id);
8480 except
8481 on e: Exception do FbException.catchException(status, e);
8482 end
8483 end;
8484
8485 function IAttachmentImpl_compileRequestDispatcher(this: IAttachment; status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; cdecl;
8486 begin
8487 try
8488 Result := IAttachmentImpl(this).compileRequest(status, blrLength, blr);
8489 except
8490 on e: Exception do FbException.catchException(status, e);
8491 end
8492 end;
8493
8494 procedure IAttachmentImpl_transactRequestDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); cdecl;
8495 begin
8496 try
8497 IAttachmentImpl(this).transactRequest(status, transaction, blrLength, blr, inMsgLength, inMsg, outMsgLength, outMsg);
8498 except
8499 on e: Exception do FbException.catchException(status, e);
8500 end
8501 end;
8502
8503 function IAttachmentImpl_createBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
8504 begin
8505 try
8506 Result := IAttachmentImpl(this).createBlob(status, transaction, id, bpbLength, bpb);
8507 except
8508 on e: Exception do FbException.catchException(status, e);
8509 end
8510 end;
8511
8512 function IAttachmentImpl_openBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
8513 begin
8514 try
8515 Result := IAttachmentImpl(this).openBlob(status, transaction, id, bpbLength, bpb);
8516 except
8517 on e: Exception do FbException.catchException(status, e);
8518 end
8519 end;
8520
8521 function IAttachmentImpl_getSliceDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; cdecl;
8522 begin
8523 try
8524 Result := IAttachmentImpl(this).getSlice(status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
8525 except
8526 on e: Exception do FbException.catchException(status, e);
8527 end
8528 end;
8529
8530 procedure IAttachmentImpl_putSliceDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr); cdecl;
8531 begin
8532 try
8533 IAttachmentImpl(this).putSlice(status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
8534 except
8535 on e: Exception do FbException.catchException(status, e);
8536 end
8537 end;
8538
8539 procedure IAttachmentImpl_executeDynDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); cdecl;
8540 begin
8541 try
8542 IAttachmentImpl(this).executeDyn(status, transaction, length, dyn);
8543 except
8544 on e: Exception do FbException.catchException(status, e);
8545 end
8546 end;
8547
8548 function IAttachmentImpl_prepareDispatcher(this: IAttachment; status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; cdecl;
8549 begin
8550 try
8551 Result := IAttachmentImpl(this).prepare(status, tra, stmtLength, sqlStmt, dialect, flags);
8552 except
8553 on e: Exception do FbException.catchException(status, e);
8554 end
8555 end;
8556
8557 function IAttachmentImpl_executeDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
8558 begin
8559 try
8560 Result := IAttachmentImpl(this).execute(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer);
8561 except
8562 on e: Exception do FbException.catchException(status, e);
8563 end
8564 end;
8565
8566 function IAttachmentImpl_openCursorDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet; cdecl;
8567 begin
8568 try
8569 Result := IAttachmentImpl(this).openCursor(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags);
8570 except
8571 on e: Exception do FbException.catchException(status, e);
8572 end
8573 end;
8574
8575 function IAttachmentImpl_queEventsDispatcher(this: IAttachment; status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; cdecl;
8576 begin
8577 try
8578 Result := IAttachmentImpl(this).queEvents(status, callback, length, events);
8579 except
8580 on e: Exception do FbException.catchException(status, e);
8581 end
8582 end;
8583
8584 procedure IAttachmentImpl_cancelOperationDispatcher(this: IAttachment; status: IStatus; option: Integer); cdecl;
8585 begin
8586 try
8587 IAttachmentImpl(this).cancelOperation(status, option);
8588 except
8589 on e: Exception do FbException.catchException(status, e);
8590 end
8591 end;
8592
8593 procedure IAttachmentImpl_pingDispatcher(this: IAttachment; status: IStatus); cdecl;
8594 begin
8595 try
8596 IAttachmentImpl(this).ping(status);
8597 except
8598 on e: Exception do FbException.catchException(status, e);
8599 end
8600 end;
8601
8602 procedure IAttachmentImpl_detachDispatcher(this: IAttachment; status: IStatus); cdecl;
8603 begin
8604 try
8605 IAttachmentImpl(this).detach(status);
8606 except
8607 on e: Exception do FbException.catchException(status, e);
8608 end
8609 end;
8610
8611 procedure IAttachmentImpl_dropDatabaseDispatcher(this: IAttachment; status: IStatus); cdecl;
8612 begin
8613 try
8614 IAttachmentImpl(this).dropDatabase(status);
8615 except
8616 on e: Exception do FbException.catchException(status, e);
8617 end
8618 end;
8619
8620 function IAttachmentImpl_getIdleTimeoutDispatcher(this: IAttachment; status: IStatus): Cardinal; cdecl;
8621 begin
8622 try
8623 Result := IAttachmentImpl(this).getIdleTimeout(status);
8624 except
8625 on e: Exception do FbException.catchException(status, e);
8626 end
8627 end;
8628
8629 procedure IAttachmentImpl_setIdleTimeoutDispatcher(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
8630 begin
8631 try
8632 IAttachmentImpl(this).setIdleTimeout(status, timeOut);
8633 except
8634 on e: Exception do FbException.catchException(status, e);
8635 end
8636 end;
8637
8638 function IAttachmentImpl_getStatementTimeoutDispatcher(this: IAttachment; status: IStatus): Cardinal; cdecl;
8639 begin
8640 try
8641 Result := IAttachmentImpl(this).getStatementTimeout(status);
8642 except
8643 on e: Exception do FbException.catchException(status, e);
8644 end
8645 end;
8646
8647 procedure IAttachmentImpl_setStatementTimeoutDispatcher(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
8648 begin
8649 try
8650 IAttachmentImpl(this).setStatementTimeout(status, timeOut);
8651 except
8652 on e: Exception do FbException.catchException(status, e);
8653 end
8654 end;
8655
8656 function IAttachmentImpl_createBatchDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
8657 begin
8658 try
8659 Result := IAttachmentImpl(this).createBatch(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, parLength, par);
8660 except
8661 on e: Exception do FbException.catchException(status, e);
8662 end
8663 end;
8664
8665 function IAttachmentImpl_createReplicatorDispatcher(this: IAttachment; status: IStatus): IReplicator; cdecl;
8666 begin
8667 try
8668 Result := IAttachmentImpl(this).createReplicator(status);
8669 except
8670 on e: Exception do FbException.catchException(status, e);
8671 end
8672 end;
8673
8674 var
8675 IAttachmentImpl_vTable: AttachmentVTable;
8676
8677 constructor IAttachmentImpl.create;
8678 begin
8679 vTable := IAttachmentImpl_vTable;
8680 end;
8681
8682 procedure IServiceImpl_addRefDispatcher(this: IService); cdecl;
8683 begin
8684 try
8685 IServiceImpl(this).addRef();
8686 except
8687 on e: Exception do FbException.catchException(nil, e);
8688 end
8689 end;
8690
8691 function IServiceImpl_releaseDispatcher(this: IService): Integer; cdecl;
8692 begin
8693 try
8694 Result := IServiceImpl(this).release();
8695 except
8696 on e: Exception do FbException.catchException(nil, e);
8697 end
8698 end;
8699
8700 procedure IServiceImpl_detachDispatcher(this: IService; status: IStatus); cdecl;
8701 begin
8702 try
8703 IServiceImpl(this).detach(status);
8704 except
8705 on e: Exception do FbException.catchException(status, e);
8706 end
8707 end;
8708
8709 procedure IServiceImpl_queryDispatcher(this: IService; status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8710 begin
8711 try
8712 IServiceImpl(this).query(status, sendLength, sendItems, receiveLength, receiveItems, bufferLength, buffer);
8713 except
8714 on e: Exception do FbException.catchException(status, e);
8715 end
8716 end;
8717
8718 procedure IServiceImpl_startDispatcher(this: IService; status: IStatus; spbLength: Cardinal; spb: BytePtr); cdecl;
8719 begin
8720 try
8721 IServiceImpl(this).start(status, spbLength, spb);
8722 except
8723 on e: Exception do FbException.catchException(status, e);
8724 end
8725 end;
8726
8727 var
8728 IServiceImpl_vTable: ServiceVTable;
8729
8730 constructor IServiceImpl.create;
8731 begin
8732 vTable := IServiceImpl_vTable;
8733 end;
8734
8735 procedure IProviderImpl_addRefDispatcher(this: IProvider); cdecl;
8736 begin
8737 try
8738 IProviderImpl(this).addRef();
8739 except
8740 on e: Exception do FbException.catchException(nil, e);
8741 end
8742 end;
8743
8744 function IProviderImpl_releaseDispatcher(this: IProvider): Integer; cdecl;
8745 begin
8746 try
8747 Result := IProviderImpl(this).release();
8748 except
8749 on e: Exception do FbException.catchException(nil, e);
8750 end
8751 end;
8752
8753 procedure IProviderImpl_setOwnerDispatcher(this: IProvider; r: IReferenceCounted); cdecl;
8754 begin
8755 try
8756 IProviderImpl(this).setOwner(r);
8757 except
8758 on e: Exception do FbException.catchException(nil, e);
8759 end
8760 end;
8761
8762 function IProviderImpl_getOwnerDispatcher(this: IProvider): IReferenceCounted; cdecl;
8763 begin
8764 try
8765 Result := IProviderImpl(this).getOwner();
8766 except
8767 on e: Exception do FbException.catchException(nil, e);
8768 end
8769 end;
8770
8771 function IProviderImpl_attachDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
8772 begin
8773 try
8774 Result := IProviderImpl(this).attachDatabase(status, fileName, dpbLength, dpb);
8775 except
8776 on e: Exception do FbException.catchException(status, e);
8777 end
8778 end;
8779
8780 function IProviderImpl_createDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
8781 begin
8782 try
8783 Result := IProviderImpl(this).createDatabase(status, fileName, dpbLength, dpb);
8784 except
8785 on e: Exception do FbException.catchException(status, e);
8786 end
8787 end;
8788
8789 function IProviderImpl_attachServiceManagerDispatcher(this: IProvider; status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; cdecl;
8790 begin
8791 try
8792 Result := IProviderImpl(this).attachServiceManager(status, service, spbLength, spb);
8793 except
8794 on e: Exception do FbException.catchException(status, e);
8795 end
8796 end;
8797
8798 procedure IProviderImpl_shutdownDispatcher(this: IProvider; status: IStatus; timeout: Cardinal; reason: Integer); cdecl;
8799 begin
8800 try
8801 IProviderImpl(this).shutdown(status, timeout, reason);
8802 except
8803 on e: Exception do FbException.catchException(status, e);
8804 end
8805 end;
8806
8807 procedure IProviderImpl_setDbCryptCallbackDispatcher(this: IProvider; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
8808 begin
8809 try
8810 IProviderImpl(this).setDbCryptCallback(status, cryptCallback);
8811 except
8812 on e: Exception do FbException.catchException(status, e);
8813 end
8814 end;
8815
8816 var
8817 IProviderImpl_vTable: ProviderVTable;
8818
8819 constructor IProviderImpl.create;
8820 begin
8821 vTable := IProviderImpl_vTable;
8822 end;
8823
8824 procedure IDtcStartImpl_disposeDispatcher(this: IDtcStart); cdecl;
8825 begin
8826 try
8827 IDtcStartImpl(this).dispose();
8828 except
8829 on e: Exception do FbException.catchException(nil, e);
8830 end
8831 end;
8832
8833 procedure IDtcStartImpl_addAttachmentDispatcher(this: IDtcStart; status: IStatus; att: IAttachment); cdecl;
8834 begin
8835 try
8836 IDtcStartImpl(this).addAttachment(status, att);
8837 except
8838 on e: Exception do FbException.catchException(status, e);
8839 end
8840 end;
8841
8842 procedure IDtcStartImpl_addWithTpbDispatcher(this: IDtcStart; status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); cdecl;
8843 begin
8844 try
8845 IDtcStartImpl(this).addWithTpb(status, att, length, tpb);
8846 except
8847 on e: Exception do FbException.catchException(status, e);
8848 end
8849 end;
8850
8851 function IDtcStartImpl_startDispatcher(this: IDtcStart; status: IStatus): ITransaction; cdecl;
8852 begin
8853 try
8854 Result := IDtcStartImpl(this).start(status);
8855 except
8856 on e: Exception do FbException.catchException(status, e);
8857 end
8858 end;
8859
8860 var
8861 IDtcStartImpl_vTable: DtcStartVTable;
8862
8863 constructor IDtcStartImpl.create;
8864 begin
8865 vTable := IDtcStartImpl_vTable;
8866 end;
8867
8868 function IDtcImpl_joinDispatcher(this: IDtc; status: IStatus; one: ITransaction; two: ITransaction): ITransaction; cdecl;
8869 begin
8870 try
8871 Result := IDtcImpl(this).join(status, one, two);
8872 except
8873 on e: Exception do FbException.catchException(status, e);
8874 end
8875 end;
8876
8877 function IDtcImpl_startBuilderDispatcher(this: IDtc; status: IStatus): IDtcStart; cdecl;
8878 begin
8879 try
8880 Result := IDtcImpl(this).startBuilder(status);
8881 except
8882 on e: Exception do FbException.catchException(status, e);
8883 end
8884 end;
8885
8886 var
8887 IDtcImpl_vTable: DtcVTable;
8888
8889 constructor IDtcImpl.create;
8890 begin
8891 vTable := IDtcImpl_vTable;
8892 end;
8893
8894 procedure IAuthImpl_addRefDispatcher(this: IAuth); cdecl;
8895 begin
8896 try
8897 IAuthImpl(this).addRef();
8898 except
8899 on e: Exception do FbException.catchException(nil, e);
8900 end
8901 end;
8902
8903 function IAuthImpl_releaseDispatcher(this: IAuth): Integer; cdecl;
8904 begin
8905 try
8906 Result := IAuthImpl(this).release();
8907 except
8908 on e: Exception do FbException.catchException(nil, e);
8909 end
8910 end;
8911
8912 procedure IAuthImpl_setOwnerDispatcher(this: IAuth; r: IReferenceCounted); cdecl;
8913 begin
8914 try
8915 IAuthImpl(this).setOwner(r);
8916 except
8917 on e: Exception do FbException.catchException(nil, e);
8918 end
8919 end;
8920
8921 function IAuthImpl_getOwnerDispatcher(this: IAuth): IReferenceCounted; cdecl;
8922 begin
8923 try
8924 Result := IAuthImpl(this).getOwner();
8925 except
8926 on e: Exception do FbException.catchException(nil, e);
8927 end
8928 end;
8929
8930 var
8931 IAuthImpl_vTable: AuthVTable;
8932
8933 constructor IAuthImpl.create;
8934 begin
8935 vTable := IAuthImpl_vTable;
8936 end;
8937
8938 procedure IWriterImpl_resetDispatcher(this: IWriter); cdecl;
8939 begin
8940 try
8941 IWriterImpl(this).reset();
8942 except
8943 on e: Exception do FbException.catchException(nil, e);
8944 end
8945 end;
8946
8947 procedure IWriterImpl_addDispatcher(this: IWriter; status: IStatus; name: PAnsiChar); cdecl;
8948 begin
8949 try
8950 IWriterImpl(this).add(status, name);
8951 except
8952 on e: Exception do FbException.catchException(status, e);
8953 end
8954 end;
8955
8956 procedure IWriterImpl_setTypeDispatcher(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
8957 begin
8958 try
8959 IWriterImpl(this).setType(status, value);
8960 except
8961 on e: Exception do FbException.catchException(status, e);
8962 end
8963 end;
8964
8965 procedure IWriterImpl_setDbDispatcher(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
8966 begin
8967 try
8968 IWriterImpl(this).setDb(status, value);
8969 except
8970 on e: Exception do FbException.catchException(status, e);
8971 end
8972 end;
8973
8974 var
8975 IWriterImpl_vTable: WriterVTable;
8976
8977 constructor IWriterImpl.create;
8978 begin
8979 vTable := IWriterImpl_vTable;
8980 end;
8981
8982 function IServerBlockImpl_getLoginDispatcher(this: IServerBlock): PAnsiChar; cdecl;
8983 begin
8984 try
8985 Result := IServerBlockImpl(this).getLogin();
8986 except
8987 on e: Exception do FbException.catchException(nil, e);
8988 end
8989 end;
8990
8991 function IServerBlockImpl_getDataDispatcher(this: IServerBlock; length: CardinalPtr): BytePtr; cdecl;
8992 begin
8993 try
8994 Result := IServerBlockImpl(this).getData(length);
8995 except
8996 on e: Exception do FbException.catchException(nil, e);
8997 end
8998 end;
8999
9000 procedure IServerBlockImpl_putDataDispatcher(this: IServerBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
9001 begin
9002 try
9003 IServerBlockImpl(this).putData(status, length, data);
9004 except
9005 on e: Exception do FbException.catchException(status, e);
9006 end
9007 end;
9008
9009 function IServerBlockImpl_newKeyDispatcher(this: IServerBlock; status: IStatus): ICryptKey; cdecl;
9010 begin
9011 try
9012 Result := IServerBlockImpl(this).newKey(status);
9013 except
9014 on e: Exception do FbException.catchException(status, e);
9015 end
9016 end;
9017
9018 var
9019 IServerBlockImpl_vTable: ServerBlockVTable;
9020
9021 constructor IServerBlockImpl.create;
9022 begin
9023 vTable := IServerBlockImpl_vTable;
9024 end;
9025
9026 procedure IClientBlockImpl_addRefDispatcher(this: IClientBlock); cdecl;
9027 begin
9028 try
9029 IClientBlockImpl(this).addRef();
9030 except
9031 on e: Exception do FbException.catchException(nil, e);
9032 end
9033 end;
9034
9035 function IClientBlockImpl_releaseDispatcher(this: IClientBlock): Integer; cdecl;
9036 begin
9037 try
9038 Result := IClientBlockImpl(this).release();
9039 except
9040 on e: Exception do FbException.catchException(nil, e);
9041 end
9042 end;
9043
9044 function IClientBlockImpl_getLoginDispatcher(this: IClientBlock): PAnsiChar; cdecl;
9045 begin
9046 try
9047 Result := IClientBlockImpl(this).getLogin();
9048 except
9049 on e: Exception do FbException.catchException(nil, e);
9050 end
9051 end;
9052
9053 function IClientBlockImpl_getPasswordDispatcher(this: IClientBlock): PAnsiChar; cdecl;
9054 begin
9055 try
9056 Result := IClientBlockImpl(this).getPassword();
9057 except
9058 on e: Exception do FbException.catchException(nil, e);
9059 end
9060 end;
9061
9062 function IClientBlockImpl_getDataDispatcher(this: IClientBlock; length: CardinalPtr): BytePtr; cdecl;
9063 begin
9064 try
9065 Result := IClientBlockImpl(this).getData(length);
9066 except
9067 on e: Exception do FbException.catchException(nil, e);
9068 end
9069 end;
9070
9071 procedure IClientBlockImpl_putDataDispatcher(this: IClientBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
9072 begin
9073 try
9074 IClientBlockImpl(this).putData(status, length, data);
9075 except
9076 on e: Exception do FbException.catchException(status, e);
9077 end
9078 end;
9079
9080 function IClientBlockImpl_newKeyDispatcher(this: IClientBlock; status: IStatus): ICryptKey; cdecl;
9081 begin
9082 try
9083 Result := IClientBlockImpl(this).newKey(status);
9084 except
9085 on e: Exception do FbException.catchException(status, e);
9086 end
9087 end;
9088
9089 function IClientBlockImpl_getAuthBlockDispatcher(this: IClientBlock; status: IStatus): IAuthBlock; cdecl;
9090 begin
9091 try
9092 Result := IClientBlockImpl(this).getAuthBlock(status);
9093 except
9094 on e: Exception do FbException.catchException(status, e);
9095 end
9096 end;
9097
9098 var
9099 IClientBlockImpl_vTable: ClientBlockVTable;
9100
9101 constructor IClientBlockImpl.create;
9102 begin
9103 vTable := IClientBlockImpl_vTable;
9104 end;
9105
9106 procedure IServerImpl_addRefDispatcher(this: IServer); cdecl;
9107 begin
9108 try
9109 IServerImpl(this).addRef();
9110 except
9111 on e: Exception do FbException.catchException(nil, e);
9112 end
9113 end;
9114
9115 function IServerImpl_releaseDispatcher(this: IServer): Integer; cdecl;
9116 begin
9117 try
9118 Result := IServerImpl(this).release();
9119 except
9120 on e: Exception do FbException.catchException(nil, e);
9121 end
9122 end;
9123
9124 procedure IServerImpl_setOwnerDispatcher(this: IServer; r: IReferenceCounted); cdecl;
9125 begin
9126 try
9127 IServerImpl(this).setOwner(r);
9128 except
9129 on e: Exception do FbException.catchException(nil, e);
9130 end
9131 end;
9132
9133 function IServerImpl_getOwnerDispatcher(this: IServer): IReferenceCounted; cdecl;
9134 begin
9135 try
9136 Result := IServerImpl(this).getOwner();
9137 except
9138 on e: Exception do FbException.catchException(nil, e);
9139 end
9140 end;
9141
9142 function IServerImpl_authenticateDispatcher(this: IServer; status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; cdecl;
9143 begin
9144 try
9145 Result := IServerImpl(this).authenticate(status, sBlock, writerInterface);
9146 except
9147 on e: Exception do FbException.catchException(status, e);
9148 end
9149 end;
9150
9151 procedure IServerImpl_setDbCryptCallbackDispatcher(this: IServer; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
9152 begin
9153 try
9154 IServerImpl(this).setDbCryptCallback(status, cryptCallback);
9155 except
9156 on e: Exception do FbException.catchException(status, e);
9157 end
9158 end;
9159
9160 var
9161 IServerImpl_vTable: ServerVTable;
9162
9163 constructor IServerImpl.create;
9164 begin
9165 vTable := IServerImpl_vTable;
9166 end;
9167
9168 procedure IClientImpl_addRefDispatcher(this: IClient); cdecl;
9169 begin
9170 try
9171 IClientImpl(this).addRef();
9172 except
9173 on e: Exception do FbException.catchException(nil, e);
9174 end
9175 end;
9176
9177 function IClientImpl_releaseDispatcher(this: IClient): Integer; cdecl;
9178 begin
9179 try
9180 Result := IClientImpl(this).release();
9181 except
9182 on e: Exception do FbException.catchException(nil, e);
9183 end
9184 end;
9185
9186 procedure IClientImpl_setOwnerDispatcher(this: IClient; r: IReferenceCounted); cdecl;
9187 begin
9188 try
9189 IClientImpl(this).setOwner(r);
9190 except
9191 on e: Exception do FbException.catchException(nil, e);
9192 end
9193 end;
9194
9195 function IClientImpl_getOwnerDispatcher(this: IClient): IReferenceCounted; cdecl;
9196 begin
9197 try
9198 Result := IClientImpl(this).getOwner();
9199 except
9200 on e: Exception do FbException.catchException(nil, e);
9201 end
9202 end;
9203
9204 function IClientImpl_authenticateDispatcher(this: IClient; status: IStatus; cBlock: IClientBlock): Integer; cdecl;
9205 begin
9206 try
9207 Result := IClientImpl(this).authenticate(status, cBlock);
9208 except
9209 on e: Exception do FbException.catchException(status, e);
9210 end
9211 end;
9212
9213 var
9214 IClientImpl_vTable: ClientVTable;
9215
9216 constructor IClientImpl.create;
9217 begin
9218 vTable := IClientImpl_vTable;
9219 end;
9220
9221 function IUserFieldImpl_enteredDispatcher(this: IUserField): Integer; cdecl;
9222 begin
9223 try
9224 Result := IUserFieldImpl(this).entered();
9225 except
9226 on e: Exception do FbException.catchException(nil, e);
9227 end
9228 end;
9229
9230 function IUserFieldImpl_specifiedDispatcher(this: IUserField): Integer; cdecl;
9231 begin
9232 try
9233 Result := IUserFieldImpl(this).specified();
9234 except
9235 on e: Exception do FbException.catchException(nil, e);
9236 end
9237 end;
9238
9239 procedure IUserFieldImpl_setEnteredDispatcher(this: IUserField; status: IStatus; newValue: Integer); cdecl;
9240 begin
9241 try
9242 IUserFieldImpl(this).setEntered(status, newValue);
9243 except
9244 on e: Exception do FbException.catchException(status, e);
9245 end
9246 end;
9247
9248 var
9249 IUserFieldImpl_vTable: UserFieldVTable;
9250
9251 constructor IUserFieldImpl.create;
9252 begin
9253 vTable := IUserFieldImpl_vTable;
9254 end;
9255
9256 function ICharUserFieldImpl_enteredDispatcher(this: ICharUserField): Integer; cdecl;
9257 begin
9258 try
9259 Result := ICharUserFieldImpl(this).entered();
9260 except
9261 on e: Exception do FbException.catchException(nil, e);
9262 end
9263 end;
9264
9265 function ICharUserFieldImpl_specifiedDispatcher(this: ICharUserField): Integer; cdecl;
9266 begin
9267 try
9268 Result := ICharUserFieldImpl(this).specified();
9269 except
9270 on e: Exception do FbException.catchException(nil, e);
9271 end
9272 end;
9273
9274 procedure ICharUserFieldImpl_setEnteredDispatcher(this: ICharUserField; status: IStatus; newValue: Integer); cdecl;
9275 begin
9276 try
9277 ICharUserFieldImpl(this).setEntered(status, newValue);
9278 except
9279 on e: Exception do FbException.catchException(status, e);
9280 end
9281 end;
9282
9283 function ICharUserFieldImpl_getDispatcher(this: ICharUserField): PAnsiChar; cdecl;
9284 begin
9285 try
9286 Result := ICharUserFieldImpl(this).get();
9287 except
9288 on e: Exception do FbException.catchException(nil, e);
9289 end
9290 end;
9291
9292 procedure ICharUserFieldImpl_set_Dispatcher(this: ICharUserField; status: IStatus; newValue: PAnsiChar); cdecl;
9293 begin
9294 try
9295 ICharUserFieldImpl(this).set_(status, newValue);
9296 except
9297 on e: Exception do FbException.catchException(status, e);
9298 end
9299 end;
9300
9301 var
9302 ICharUserFieldImpl_vTable: CharUserFieldVTable;
9303
9304 constructor ICharUserFieldImpl.create;
9305 begin
9306 vTable := ICharUserFieldImpl_vTable;
9307 end;
9308
9309 function IIntUserFieldImpl_enteredDispatcher(this: IIntUserField): Integer; cdecl;
9310 begin
9311 try
9312 Result := IIntUserFieldImpl(this).entered();
9313 except
9314 on e: Exception do FbException.catchException(nil, e);
9315 end
9316 end;
9317
9318 function IIntUserFieldImpl_specifiedDispatcher(this: IIntUserField): Integer; cdecl;
9319 begin
9320 try
9321 Result := IIntUserFieldImpl(this).specified();
9322 except
9323 on e: Exception do FbException.catchException(nil, e);
9324 end
9325 end;
9326
9327 procedure IIntUserFieldImpl_setEnteredDispatcher(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
9328 begin
9329 try
9330 IIntUserFieldImpl(this).setEntered(status, newValue);
9331 except
9332 on e: Exception do FbException.catchException(status, e);
9333 end
9334 end;
9335
9336 function IIntUserFieldImpl_getDispatcher(this: IIntUserField): Integer; cdecl;
9337 begin
9338 try
9339 Result := IIntUserFieldImpl(this).get();
9340 except
9341 on e: Exception do FbException.catchException(nil, e);
9342 end
9343 end;
9344
9345 procedure IIntUserFieldImpl_set_Dispatcher(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
9346 begin
9347 try
9348 IIntUserFieldImpl(this).set_(status, newValue);
9349 except
9350 on e: Exception do FbException.catchException(status, e);
9351 end
9352 end;
9353
9354 var
9355 IIntUserFieldImpl_vTable: IntUserFieldVTable;
9356
9357 constructor IIntUserFieldImpl.create;
9358 begin
9359 vTable := IIntUserFieldImpl_vTable;
9360 end;
9361
9362 function IUserImpl_operationDispatcher(this: IUser): Cardinal; cdecl;
9363 begin
9364 try
9365 Result := IUserImpl(this).operation();
9366 except
9367 on e: Exception do FbException.catchException(nil, e);
9368 end
9369 end;
9370
9371 function IUserImpl_userNameDispatcher(this: IUser): ICharUserField; cdecl;
9372 begin
9373 try
9374 Result := IUserImpl(this).userName();
9375 except
9376 on e: Exception do FbException.catchException(nil, e);
9377 end
9378 end;
9379
9380 function IUserImpl_passwordDispatcher(this: IUser): ICharUserField; cdecl;
9381 begin
9382 try
9383 Result := IUserImpl(this).password();
9384 except
9385 on e: Exception do FbException.catchException(nil, e);
9386 end
9387 end;
9388
9389 function IUserImpl_firstNameDispatcher(this: IUser): ICharUserField; cdecl;
9390 begin
9391 try
9392 Result := IUserImpl(this).firstName();
9393 except
9394 on e: Exception do FbException.catchException(nil, e);
9395 end
9396 end;
9397
9398 function IUserImpl_lastNameDispatcher(this: IUser): ICharUserField; cdecl;
9399 begin
9400 try
9401 Result := IUserImpl(this).lastName();
9402 except
9403 on e: Exception do FbException.catchException(nil, e);
9404 end
9405 end;
9406
9407 function IUserImpl_middleNameDispatcher(this: IUser): ICharUserField; cdecl;
9408 begin
9409 try
9410 Result := IUserImpl(this).middleName();
9411 except
9412 on e: Exception do FbException.catchException(nil, e);
9413 end
9414 end;
9415
9416 function IUserImpl_commentDispatcher(this: IUser): ICharUserField; cdecl;
9417 begin
9418 try
9419 Result := IUserImpl(this).comment();
9420 except
9421 on e: Exception do FbException.catchException(nil, e);
9422 end
9423 end;
9424
9425 function IUserImpl_attributesDispatcher(this: IUser): ICharUserField; cdecl;
9426 begin
9427 try
9428 Result := IUserImpl(this).attributes();
9429 except
9430 on e: Exception do FbException.catchException(nil, e);
9431 end
9432 end;
9433
9434 function IUserImpl_activeDispatcher(this: IUser): IIntUserField; cdecl;
9435 begin
9436 try
9437 Result := IUserImpl(this).active();
9438 except
9439 on e: Exception do FbException.catchException(nil, e);
9440 end
9441 end;
9442
9443 function IUserImpl_adminDispatcher(this: IUser): IIntUserField; cdecl;
9444 begin
9445 try
9446 Result := IUserImpl(this).admin();
9447 except
9448 on e: Exception do FbException.catchException(nil, e);
9449 end
9450 end;
9451
9452 procedure IUserImpl_clearDispatcher(this: IUser; status: IStatus); cdecl;
9453 begin
9454 try
9455 IUserImpl(this).clear(status);
9456 except
9457 on e: Exception do FbException.catchException(status, e);
9458 end
9459 end;
9460
9461 var
9462 IUserImpl_vTable: UserVTable;
9463
9464 constructor IUserImpl.create;
9465 begin
9466 vTable := IUserImpl_vTable;
9467 end;
9468
9469 procedure IListUsersImpl_listDispatcher(this: IListUsers; status: IStatus; user: IUser); cdecl;
9470 begin
9471 try
9472 IListUsersImpl(this).list(status, user);
9473 except
9474 on e: Exception do FbException.catchException(status, e);
9475 end
9476 end;
9477
9478 var
9479 IListUsersImpl_vTable: ListUsersVTable;
9480
9481 constructor IListUsersImpl.create;
9482 begin
9483 vTable := IListUsersImpl_vTable;
9484 end;
9485
9486 function ILogonInfoImpl_nameDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9487 begin
9488 try
9489 Result := ILogonInfoImpl(this).name();
9490 except
9491 on e: Exception do FbException.catchException(nil, e);
9492 end
9493 end;
9494
9495 function ILogonInfoImpl_roleDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9496 begin
9497 try
9498 Result := ILogonInfoImpl(this).role();
9499 except
9500 on e: Exception do FbException.catchException(nil, e);
9501 end
9502 end;
9503
9504 function ILogonInfoImpl_networkProtocolDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9505 begin
9506 try
9507 Result := ILogonInfoImpl(this).networkProtocol();
9508 except
9509 on e: Exception do FbException.catchException(nil, e);
9510 end
9511 end;
9512
9513 function ILogonInfoImpl_remoteAddressDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9514 begin
9515 try
9516 Result := ILogonInfoImpl(this).remoteAddress();
9517 except
9518 on e: Exception do FbException.catchException(nil, e);
9519 end
9520 end;
9521
9522 function ILogonInfoImpl_authBlockDispatcher(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl;
9523 begin
9524 try
9525 Result := ILogonInfoImpl(this).authBlock(length);
9526 except
9527 on e: Exception do FbException.catchException(nil, e);
9528 end
9529 end;
9530
9531 function ILogonInfoImpl_attachmentDispatcher(this: ILogonInfo; status: IStatus): IAttachment; cdecl;
9532 begin
9533 try
9534 Result := ILogonInfoImpl(this).attachment(status);
9535 except
9536 on e: Exception do FbException.catchException(status, e);
9537 end
9538 end;
9539
9540 function ILogonInfoImpl_transactionDispatcher(this: ILogonInfo; status: IStatus): ITransaction; cdecl;
9541 begin
9542 try
9543 Result := ILogonInfoImpl(this).transaction(status);
9544 except
9545 on e: Exception do FbException.catchException(status, e);
9546 end
9547 end;
9548
9549 var
9550 ILogonInfoImpl_vTable: LogonInfoVTable;
9551
9552 constructor ILogonInfoImpl.create;
9553 begin
9554 vTable := ILogonInfoImpl_vTable;
9555 end;
9556
9557 procedure IManagementImpl_addRefDispatcher(this: IManagement); cdecl;
9558 begin
9559 try
9560 IManagementImpl(this).addRef();
9561 except
9562 on e: Exception do FbException.catchException(nil, e);
9563 end
9564 end;
9565
9566 function IManagementImpl_releaseDispatcher(this: IManagement): Integer; cdecl;
9567 begin
9568 try
9569 Result := IManagementImpl(this).release();
9570 except
9571 on e: Exception do FbException.catchException(nil, e);
9572 end
9573 end;
9574
9575 procedure IManagementImpl_setOwnerDispatcher(this: IManagement; r: IReferenceCounted); cdecl;
9576 begin
9577 try
9578 IManagementImpl(this).setOwner(r);
9579 except
9580 on e: Exception do FbException.catchException(nil, e);
9581 end
9582 end;
9583
9584 function IManagementImpl_getOwnerDispatcher(this: IManagement): IReferenceCounted; cdecl;
9585 begin
9586 try
9587 Result := IManagementImpl(this).getOwner();
9588 except
9589 on e: Exception do FbException.catchException(nil, e);
9590 end
9591 end;
9592
9593 procedure IManagementImpl_startDispatcher(this: IManagement; status: IStatus; logonInfo: ILogonInfo); cdecl;
9594 begin
9595 try
9596 IManagementImpl(this).start(status, logonInfo);
9597 except
9598 on e: Exception do FbException.catchException(status, e);
9599 end
9600 end;
9601
9602 function IManagementImpl_executeDispatcher(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl;
9603 begin
9604 try
9605 Result := IManagementImpl(this).execute(status, user, callback);
9606 except
9607 on e: Exception do FbException.catchException(status, e);
9608 end
9609 end;
9610
9611 procedure IManagementImpl_commitDispatcher(this: IManagement; status: IStatus); cdecl;
9612 begin
9613 try
9614 IManagementImpl(this).commit(status);
9615 except
9616 on e: Exception do FbException.catchException(status, e);
9617 end
9618 end;
9619
9620 procedure IManagementImpl_rollbackDispatcher(this: IManagement; status: IStatus); cdecl;
9621 begin
9622 try
9623 IManagementImpl(this).rollback(status);
9624 except
9625 on e: Exception do FbException.catchException(status, e);
9626 end
9627 end;
9628
9629 var
9630 IManagementImpl_vTable: ManagementVTable;
9631
9632 constructor IManagementImpl.create;
9633 begin
9634 vTable := IManagementImpl_vTable;
9635 end;
9636
9637 function IAuthBlockImpl_getTypeDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9638 begin
9639 try
9640 Result := IAuthBlockImpl(this).getType();
9641 except
9642 on e: Exception do FbException.catchException(nil, e);
9643 end
9644 end;
9645
9646 function IAuthBlockImpl_getNameDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9647 begin
9648 try
9649 Result := IAuthBlockImpl(this).getName();
9650 except
9651 on e: Exception do FbException.catchException(nil, e);
9652 end
9653 end;
9654
9655 function IAuthBlockImpl_getPluginDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9656 begin
9657 try
9658 Result := IAuthBlockImpl(this).getPlugin();
9659 except
9660 on e: Exception do FbException.catchException(nil, e);
9661 end
9662 end;
9663
9664 function IAuthBlockImpl_getSecurityDbDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9665 begin
9666 try
9667 Result := IAuthBlockImpl(this).getSecurityDb();
9668 except
9669 on e: Exception do FbException.catchException(nil, e);
9670 end
9671 end;
9672
9673 function IAuthBlockImpl_getOriginalPluginDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9674 begin
9675 try
9676 Result := IAuthBlockImpl(this).getOriginalPlugin();
9677 except
9678 on e: Exception do FbException.catchException(nil, e);
9679 end
9680 end;
9681
9682 function IAuthBlockImpl_nextDispatcher(this: IAuthBlock; status: IStatus): Boolean; cdecl;
9683 begin
9684 try
9685 Result := IAuthBlockImpl(this).next(status);
9686 except
9687 on e: Exception do FbException.catchException(status, e);
9688 end
9689 end;
9690
9691 function IAuthBlockImpl_firstDispatcher(this: IAuthBlock; status: IStatus): Boolean; cdecl;
9692 begin
9693 try
9694 Result := IAuthBlockImpl(this).first(status);
9695 except
9696 on e: Exception do FbException.catchException(status, e);
9697 end
9698 end;
9699
9700 var
9701 IAuthBlockImpl_vTable: AuthBlockVTable;
9702
9703 constructor IAuthBlockImpl.create;
9704 begin
9705 vTable := IAuthBlockImpl_vTable;
9706 end;
9707
9708 procedure IWireCryptPluginImpl_addRefDispatcher(this: IWireCryptPlugin); cdecl;
9709 begin
9710 try
9711 IWireCryptPluginImpl(this).addRef();
9712 except
9713 on e: Exception do FbException.catchException(nil, e);
9714 end
9715 end;
9716
9717 function IWireCryptPluginImpl_releaseDispatcher(this: IWireCryptPlugin): Integer; cdecl;
9718 begin
9719 try
9720 Result := IWireCryptPluginImpl(this).release();
9721 except
9722 on e: Exception do FbException.catchException(nil, e);
9723 end
9724 end;
9725
9726 procedure IWireCryptPluginImpl_setOwnerDispatcher(this: IWireCryptPlugin; r: IReferenceCounted); cdecl;
9727 begin
9728 try
9729 IWireCryptPluginImpl(this).setOwner(r);
9730 except
9731 on e: Exception do FbException.catchException(nil, e);
9732 end
9733 end;
9734
9735 function IWireCryptPluginImpl_getOwnerDispatcher(this: IWireCryptPlugin): IReferenceCounted; cdecl;
9736 begin
9737 try
9738 Result := IWireCryptPluginImpl(this).getOwner();
9739 except
9740 on e: Exception do FbException.catchException(nil, e);
9741 end
9742 end;
9743
9744 function IWireCryptPluginImpl_getKnownTypesDispatcher(this: IWireCryptPlugin; status: IStatus): PAnsiChar; cdecl;
9745 begin
9746 try
9747 Result := IWireCryptPluginImpl(this).getKnownTypes(status);
9748 except
9749 on e: Exception do FbException.catchException(status, e);
9750 end
9751 end;
9752
9753 procedure IWireCryptPluginImpl_setKeyDispatcher(this: IWireCryptPlugin; status: IStatus; key: ICryptKey); cdecl;
9754 begin
9755 try
9756 IWireCryptPluginImpl(this).setKey(status, key);
9757 except
9758 on e: Exception do FbException.catchException(status, e);
9759 end
9760 end;
9761
9762 procedure IWireCryptPluginImpl_encryptDispatcher(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9763 begin
9764 try
9765 IWireCryptPluginImpl(this).encrypt(status, length, from, to_);
9766 except
9767 on e: Exception do FbException.catchException(status, e);
9768 end
9769 end;
9770
9771 procedure IWireCryptPluginImpl_decryptDispatcher(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9772 begin
9773 try
9774 IWireCryptPluginImpl(this).decrypt(status, length, from, to_);
9775 except
9776 on e: Exception do FbException.catchException(status, e);
9777 end
9778 end;
9779
9780 function IWireCryptPluginImpl_getSpecificDataDispatcher(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr; cdecl;
9781 begin
9782 try
9783 Result := IWireCryptPluginImpl(this).getSpecificData(status, keyType, length);
9784 except
9785 on e: Exception do FbException.catchException(status, e);
9786 end
9787 end;
9788
9789 procedure IWireCryptPluginImpl_setSpecificDataDispatcher(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr); cdecl;
9790 begin
9791 try
9792 IWireCryptPluginImpl(this).setSpecificData(status, keyType, length, data);
9793 except
9794 on e: Exception do FbException.catchException(status, e);
9795 end
9796 end;
9797
9798 var
9799 IWireCryptPluginImpl_vTable: WireCryptPluginVTable;
9800
9801 constructor IWireCryptPluginImpl.create;
9802 begin
9803 vTable := IWireCryptPluginImpl_vTable;
9804 end;
9805
9806 function ICryptKeyCallbackImpl_callbackDispatcher(this: ICryptKeyCallback; dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; cdecl;
9807 begin
9808 try
9809 Result := ICryptKeyCallbackImpl(this).callback(dataLength, data, bufferLength, buffer);
9810 except
9811 on e: Exception do FbException.catchException(nil, e);
9812 end
9813 end;
9814
9815 var
9816 ICryptKeyCallbackImpl_vTable: CryptKeyCallbackVTable;
9817
9818 constructor ICryptKeyCallbackImpl.create;
9819 begin
9820 vTable := ICryptKeyCallbackImpl_vTable;
9821 end;
9822
9823 procedure IKeyHolderPluginImpl_addRefDispatcher(this: IKeyHolderPlugin); cdecl;
9824 begin
9825 try
9826 IKeyHolderPluginImpl(this).addRef();
9827 except
9828 on e: Exception do FbException.catchException(nil, e);
9829 end
9830 end;
9831
9832 function IKeyHolderPluginImpl_releaseDispatcher(this: IKeyHolderPlugin): Integer; cdecl;
9833 begin
9834 try
9835 Result := IKeyHolderPluginImpl(this).release();
9836 except
9837 on e: Exception do FbException.catchException(nil, e);
9838 end
9839 end;
9840
9841 procedure IKeyHolderPluginImpl_setOwnerDispatcher(this: IKeyHolderPlugin; r: IReferenceCounted); cdecl;
9842 begin
9843 try
9844 IKeyHolderPluginImpl(this).setOwner(r);
9845 except
9846 on e: Exception do FbException.catchException(nil, e);
9847 end
9848 end;
9849
9850 function IKeyHolderPluginImpl_getOwnerDispatcher(this: IKeyHolderPlugin): IReferenceCounted; cdecl;
9851 begin
9852 try
9853 Result := IKeyHolderPluginImpl(this).getOwner();
9854 except
9855 on e: Exception do FbException.catchException(nil, e);
9856 end
9857 end;
9858
9859 function IKeyHolderPluginImpl_keyCallbackDispatcher(this: IKeyHolderPlugin; status: IStatus; callback: ICryptKeyCallback): Integer; cdecl;
9860 begin
9861 try
9862 Result := IKeyHolderPluginImpl(this).keyCallback(status, callback);
9863 except
9864 on e: Exception do FbException.catchException(status, e);
9865 end
9866 end;
9867
9868 function IKeyHolderPluginImpl_keyHandleDispatcher(this: IKeyHolderPlugin; status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; cdecl;
9869 begin
9870 try
9871 Result := IKeyHolderPluginImpl(this).keyHandle(status, keyName);
9872 except
9873 on e: Exception do FbException.catchException(status, e);
9874 end
9875 end;
9876
9877 function IKeyHolderPluginImpl_useOnlyOwnKeysDispatcher(this: IKeyHolderPlugin; status: IStatus): Boolean; cdecl;
9878 begin
9879 try
9880 Result := IKeyHolderPluginImpl(this).useOnlyOwnKeys(status);
9881 except
9882 on e: Exception do FbException.catchException(status, e);
9883 end
9884 end;
9885
9886 function IKeyHolderPluginImpl_chainHandleDispatcher(this: IKeyHolderPlugin; status: IStatus): ICryptKeyCallback; cdecl;
9887 begin
9888 try
9889 Result := IKeyHolderPluginImpl(this).chainHandle(status);
9890 except
9891 on e: Exception do FbException.catchException(status, e);
9892 end
9893 end;
9894
9895 var
9896 IKeyHolderPluginImpl_vTable: KeyHolderPluginVTable;
9897
9898 constructor IKeyHolderPluginImpl.create;
9899 begin
9900 vTable := IKeyHolderPluginImpl_vTable;
9901 end;
9902
9903 procedure IDbCryptInfoImpl_addRefDispatcher(this: IDbCryptInfo); cdecl;
9904 begin
9905 try
9906 IDbCryptInfoImpl(this).addRef();
9907 except
9908 on e: Exception do FbException.catchException(nil, e);
9909 end
9910 end;
9911
9912 function IDbCryptInfoImpl_releaseDispatcher(this: IDbCryptInfo): Integer; cdecl;
9913 begin
9914 try
9915 Result := IDbCryptInfoImpl(this).release();
9916 except
9917 on e: Exception do FbException.catchException(nil, e);
9918 end
9919 end;
9920
9921 function IDbCryptInfoImpl_getDatabaseFullPathDispatcher(this: IDbCryptInfo; status: IStatus): PAnsiChar; cdecl;
9922 begin
9923 try
9924 Result := IDbCryptInfoImpl(this).getDatabaseFullPath(status);
9925 except
9926 on e: Exception do FbException.catchException(status, e);
9927 end
9928 end;
9929
9930 var
9931 IDbCryptInfoImpl_vTable: DbCryptInfoVTable;
9932
9933 constructor IDbCryptInfoImpl.create;
9934 begin
9935 vTable := IDbCryptInfoImpl_vTable;
9936 end;
9937
9938 procedure IDbCryptPluginImpl_addRefDispatcher(this: IDbCryptPlugin); cdecl;
9939 begin
9940 try
9941 IDbCryptPluginImpl(this).addRef();
9942 except
9943 on e: Exception do FbException.catchException(nil, e);
9944 end
9945 end;
9946
9947 function IDbCryptPluginImpl_releaseDispatcher(this: IDbCryptPlugin): Integer; cdecl;
9948 begin
9949 try
9950 Result := IDbCryptPluginImpl(this).release();
9951 except
9952 on e: Exception do FbException.catchException(nil, e);
9953 end
9954 end;
9955
9956 procedure IDbCryptPluginImpl_setOwnerDispatcher(this: IDbCryptPlugin; r: IReferenceCounted); cdecl;
9957 begin
9958 try
9959 IDbCryptPluginImpl(this).setOwner(r);
9960 except
9961 on e: Exception do FbException.catchException(nil, e);
9962 end
9963 end;
9964
9965 function IDbCryptPluginImpl_getOwnerDispatcher(this: IDbCryptPlugin): IReferenceCounted; cdecl;
9966 begin
9967 try
9968 Result := IDbCryptPluginImpl(this).getOwner();
9969 except
9970 on e: Exception do FbException.catchException(nil, e);
9971 end
9972 end;
9973
9974 procedure IDbCryptPluginImpl_setKeyDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); cdecl;
9975 begin
9976 try
9977 IDbCryptPluginImpl(this).setKey(status, length, sources, keyName);
9978 except
9979 on e: Exception do FbException.catchException(status, e);
9980 end
9981 end;
9982
9983 procedure IDbCryptPluginImpl_encryptDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9984 begin
9985 try
9986 IDbCryptPluginImpl(this).encrypt(status, length, from, to_);
9987 except
9988 on e: Exception do FbException.catchException(status, e);
9989 end
9990 end;
9991
9992 procedure IDbCryptPluginImpl_decryptDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9993 begin
9994 try
9995 IDbCryptPluginImpl(this).decrypt(status, length, from, to_);
9996 except
9997 on e: Exception do FbException.catchException(status, e);
9998 end
9999 end;
10000
10001 procedure IDbCryptPluginImpl_setInfoDispatcher(this: IDbCryptPlugin; status: IStatus; info: IDbCryptInfo); cdecl;
10002 begin
10003 try
10004 IDbCryptPluginImpl(this).setInfo(status, info);
10005 except
10006 on e: Exception do FbException.catchException(status, e);
10007 end
10008 end;
10009
10010 var
10011 IDbCryptPluginImpl_vTable: DbCryptPluginVTable;
10012
10013 constructor IDbCryptPluginImpl.create;
10014 begin
10015 vTable := IDbCryptPluginImpl_vTable;
10016 end;
10017
10018 function IExternalContextImpl_getMasterDispatcher(this: IExternalContext): IMaster; cdecl;
10019 begin
10020 try
10021 Result := IExternalContextImpl(this).getMaster();
10022 except
10023 on e: Exception do FbException.catchException(nil, e);
10024 end
10025 end;
10026
10027 function IExternalContextImpl_getEngineDispatcher(this: IExternalContext; status: IStatus): IExternalEngine; cdecl;
10028 begin
10029 try
10030 Result := IExternalContextImpl(this).getEngine(status);
10031 except
10032 on e: Exception do FbException.catchException(status, e);
10033 end
10034 end;
10035
10036 function IExternalContextImpl_getAttachmentDispatcher(this: IExternalContext; status: IStatus): IAttachment; cdecl;
10037 begin
10038 try
10039 Result := IExternalContextImpl(this).getAttachment(status);
10040 except
10041 on e: Exception do FbException.catchException(status, e);
10042 end
10043 end;
10044
10045 function IExternalContextImpl_getTransactionDispatcher(this: IExternalContext; status: IStatus): ITransaction; cdecl;
10046 begin
10047 try
10048 Result := IExternalContextImpl(this).getTransaction(status);
10049 except
10050 on e: Exception do FbException.catchException(status, e);
10051 end
10052 end;
10053
10054 function IExternalContextImpl_getUserNameDispatcher(this: IExternalContext): PAnsiChar; cdecl;
10055 begin
10056 try
10057 Result := IExternalContextImpl(this).getUserName();
10058 except
10059 on e: Exception do FbException.catchException(nil, e);
10060 end
10061 end;
10062
10063 function IExternalContextImpl_getDatabaseNameDispatcher(this: IExternalContext): PAnsiChar; cdecl;
10064 begin
10065 try
10066 Result := IExternalContextImpl(this).getDatabaseName();
10067 except
10068 on e: Exception do FbException.catchException(nil, e);
10069 end
10070 end;
10071
10072 function IExternalContextImpl_getClientCharSetDispatcher(this: IExternalContext): PAnsiChar; cdecl;
10073 begin
10074 try
10075 Result := IExternalContextImpl(this).getClientCharSet();
10076 except
10077 on e: Exception do FbException.catchException(nil, e);
10078 end
10079 end;
10080
10081 function IExternalContextImpl_obtainInfoCodeDispatcher(this: IExternalContext): Integer; cdecl;
10082 begin
10083 try
10084 Result := IExternalContextImpl(this).obtainInfoCode();
10085 except
10086 on e: Exception do FbException.catchException(nil, e);
10087 end
10088 end;
10089
10090 function IExternalContextImpl_getInfoDispatcher(this: IExternalContext; code: Integer): Pointer; cdecl;
10091 begin
10092 try
10093 Result := IExternalContextImpl(this).getInfo(code);
10094 except
10095 on e: Exception do FbException.catchException(nil, e);
10096 end
10097 end;
10098
10099 function IExternalContextImpl_setInfoDispatcher(this: IExternalContext; code: Integer; value: Pointer): Pointer; cdecl;
10100 begin
10101 try
10102 Result := IExternalContextImpl(this).setInfo(code, value);
10103 except
10104 on e: Exception do FbException.catchException(nil, e);
10105 end
10106 end;
10107
10108 var
10109 IExternalContextImpl_vTable: ExternalContextVTable;
10110
10111 constructor IExternalContextImpl.create;
10112 begin
10113 vTable := IExternalContextImpl_vTable;
10114 end;
10115
10116 procedure IExternalResultSetImpl_disposeDispatcher(this: IExternalResultSet); cdecl;
10117 begin
10118 try
10119 IExternalResultSetImpl(this).dispose();
10120 except
10121 on e: Exception do FbException.catchException(nil, e);
10122 end
10123 end;
10124
10125 function IExternalResultSetImpl_fetchDispatcher(this: IExternalResultSet; status: IStatus): Boolean; cdecl;
10126 begin
10127 try
10128 Result := IExternalResultSetImpl(this).fetch(status);
10129 except
10130 on e: Exception do FbException.catchException(status, e);
10131 end
10132 end;
10133
10134 var
10135 IExternalResultSetImpl_vTable: ExternalResultSetVTable;
10136
10137 constructor IExternalResultSetImpl.create;
10138 begin
10139 vTable := IExternalResultSetImpl_vTable;
10140 end;
10141
10142 procedure IExternalFunctionImpl_disposeDispatcher(this: IExternalFunction); cdecl;
10143 begin
10144 try
10145 IExternalFunctionImpl(this).dispose();
10146 except
10147 on e: Exception do FbException.catchException(nil, e);
10148 end
10149 end;
10150
10151 procedure IExternalFunctionImpl_getCharSetDispatcher(this: IExternalFunction; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10152 begin
10153 try
10154 IExternalFunctionImpl(this).getCharSet(status, context, name, nameSize);
10155 except
10156 on e: Exception do FbException.catchException(status, e);
10157 end
10158 end;
10159
10160 procedure IExternalFunctionImpl_executeDispatcher(this: IExternalFunction; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); cdecl;
10161 begin
10162 try
10163 IExternalFunctionImpl(this).execute(status, context, inMsg, outMsg);
10164 except
10165 on e: Exception do FbException.catchException(status, e);
10166 end
10167 end;
10168
10169 var
10170 IExternalFunctionImpl_vTable: ExternalFunctionVTable;
10171
10172 constructor IExternalFunctionImpl.create;
10173 begin
10174 vTable := IExternalFunctionImpl_vTable;
10175 end;
10176
10177 procedure IExternalProcedureImpl_disposeDispatcher(this: IExternalProcedure); cdecl;
10178 begin
10179 try
10180 IExternalProcedureImpl(this).dispose();
10181 except
10182 on e: Exception do FbException.catchException(nil, e);
10183 end
10184 end;
10185
10186 procedure IExternalProcedureImpl_getCharSetDispatcher(this: IExternalProcedure; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10187 begin
10188 try
10189 IExternalProcedureImpl(this).getCharSet(status, context, name, nameSize);
10190 except
10191 on e: Exception do FbException.catchException(status, e);
10192 end
10193 end;
10194
10195 function IExternalProcedureImpl_openDispatcher(this: IExternalProcedure; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; cdecl;
10196 begin
10197 try
10198 Result := IExternalProcedureImpl(this).open(status, context, inMsg, outMsg);
10199 except
10200 on e: Exception do FbException.catchException(status, e);
10201 end
10202 end;
10203
10204 var
10205 IExternalProcedureImpl_vTable: ExternalProcedureVTable;
10206
10207 constructor IExternalProcedureImpl.create;
10208 begin
10209 vTable := IExternalProcedureImpl_vTable;
10210 end;
10211
10212 procedure IExternalTriggerImpl_disposeDispatcher(this: IExternalTrigger); cdecl;
10213 begin
10214 try
10215 IExternalTriggerImpl(this).dispose();
10216 except
10217 on e: Exception do FbException.catchException(nil, e);
10218 end
10219 end;
10220
10221 procedure IExternalTriggerImpl_getCharSetDispatcher(this: IExternalTrigger; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10222 begin
10223 try
10224 IExternalTriggerImpl(this).getCharSet(status, context, name, nameSize);
10225 except
10226 on e: Exception do FbException.catchException(status, e);
10227 end
10228 end;
10229
10230 procedure IExternalTriggerImpl_executeDispatcher(this: IExternalTrigger; status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); cdecl;
10231 begin
10232 try
10233 IExternalTriggerImpl(this).execute(status, context, action, oldMsg, newMsg);
10234 except
10235 on e: Exception do FbException.catchException(status, e);
10236 end
10237 end;
10238
10239 var
10240 IExternalTriggerImpl_vTable: ExternalTriggerVTable;
10241
10242 constructor IExternalTriggerImpl.create;
10243 begin
10244 vTable := IExternalTriggerImpl_vTable;
10245 end;
10246
10247 function IRoutineMetadataImpl_getPackageDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10248 begin
10249 try
10250 Result := IRoutineMetadataImpl(this).getPackage(status);
10251 except
10252 on e: Exception do FbException.catchException(status, e);
10253 end
10254 end;
10255
10256 function IRoutineMetadataImpl_getNameDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10257 begin
10258 try
10259 Result := IRoutineMetadataImpl(this).getName(status);
10260 except
10261 on e: Exception do FbException.catchException(status, e);
10262 end
10263 end;
10264
10265 function IRoutineMetadataImpl_getEntryPointDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10266 begin
10267 try
10268 Result := IRoutineMetadataImpl(this).getEntryPoint(status);
10269 except
10270 on e: Exception do FbException.catchException(status, e);
10271 end
10272 end;
10273
10274 function IRoutineMetadataImpl_getBodyDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10275 begin
10276 try
10277 Result := IRoutineMetadataImpl(this).getBody(status);
10278 except
10279 on e: Exception do FbException.catchException(status, e);
10280 end
10281 end;
10282
10283 function IRoutineMetadataImpl_getInputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10284 begin
10285 try
10286 Result := IRoutineMetadataImpl(this).getInputMetadata(status);
10287 except
10288 on e: Exception do FbException.catchException(status, e);
10289 end
10290 end;
10291
10292 function IRoutineMetadataImpl_getOutputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10293 begin
10294 try
10295 Result := IRoutineMetadataImpl(this).getOutputMetadata(status);
10296 except
10297 on e: Exception do FbException.catchException(status, e);
10298 end
10299 end;
10300
10301 function IRoutineMetadataImpl_getTriggerMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10302 begin
10303 try
10304 Result := IRoutineMetadataImpl(this).getTriggerMetadata(status);
10305 except
10306 on e: Exception do FbException.catchException(status, e);
10307 end
10308 end;
10309
10310 function IRoutineMetadataImpl_getTriggerTableDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10311 begin
10312 try
10313 Result := IRoutineMetadataImpl(this).getTriggerTable(status);
10314 except
10315 on e: Exception do FbException.catchException(status, e);
10316 end
10317 end;
10318
10319 function IRoutineMetadataImpl_getTriggerTypeDispatcher(this: IRoutineMetadata; status: IStatus): Cardinal; cdecl;
10320 begin
10321 try
10322 Result := IRoutineMetadataImpl(this).getTriggerType(status);
10323 except
10324 on e: Exception do FbException.catchException(status, e);
10325 end
10326 end;
10327
10328 var
10329 IRoutineMetadataImpl_vTable: RoutineMetadataVTable;
10330
10331 constructor IRoutineMetadataImpl.create;
10332 begin
10333 vTable := IRoutineMetadataImpl_vTable;
10334 end;
10335
10336 procedure IExternalEngineImpl_addRefDispatcher(this: IExternalEngine); cdecl;
10337 begin
10338 try
10339 IExternalEngineImpl(this).addRef();
10340 except
10341 on e: Exception do FbException.catchException(nil, e);
10342 end
10343 end;
10344
10345 function IExternalEngineImpl_releaseDispatcher(this: IExternalEngine): Integer; cdecl;
10346 begin
10347 try
10348 Result := IExternalEngineImpl(this).release();
10349 except
10350 on e: Exception do FbException.catchException(nil, e);
10351 end
10352 end;
10353
10354 procedure IExternalEngineImpl_setOwnerDispatcher(this: IExternalEngine; r: IReferenceCounted); cdecl;
10355 begin
10356 try
10357 IExternalEngineImpl(this).setOwner(r);
10358 except
10359 on e: Exception do FbException.catchException(nil, e);
10360 end
10361 end;
10362
10363 function IExternalEngineImpl_getOwnerDispatcher(this: IExternalEngine): IReferenceCounted; cdecl;
10364 begin
10365 try
10366 Result := IExternalEngineImpl(this).getOwner();
10367 except
10368 on e: Exception do FbException.catchException(nil, e);
10369 end
10370 end;
10371
10372 procedure IExternalEngineImpl_openDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); cdecl;
10373 begin
10374 try
10375 IExternalEngineImpl(this).open(status, context, charSet, charSetSize);
10376 except
10377 on e: Exception do FbException.catchException(status, e);
10378 end
10379 end;
10380
10381 procedure IExternalEngineImpl_openAttachmentDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
10382 begin
10383 try
10384 IExternalEngineImpl(this).openAttachment(status, context);
10385 except
10386 on e: Exception do FbException.catchException(status, e);
10387 end
10388 end;
10389
10390 procedure IExternalEngineImpl_closeAttachmentDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
10391 begin
10392 try
10393 IExternalEngineImpl(this).closeAttachment(status, context);
10394 except
10395 on e: Exception do FbException.catchException(status, e);
10396 end
10397 end;
10398
10399 function IExternalEngineImpl_makeFunctionDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; cdecl;
10400 begin
10401 try
10402 Result := IExternalEngineImpl(this).makeFunction(status, context, metadata, inBuilder, outBuilder);
10403 except
10404 on e: Exception do FbException.catchException(status, e);
10405 end
10406 end;
10407
10408 function IExternalEngineImpl_makeProcedureDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; cdecl;
10409 begin
10410 try
10411 Result := IExternalEngineImpl(this).makeProcedure(status, context, metadata, inBuilder, outBuilder);
10412 except
10413 on e: Exception do FbException.catchException(status, e);
10414 end
10415 end;
10416
10417 function IExternalEngineImpl_makeTriggerDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; cdecl;
10418 begin
10419 try
10420 Result := IExternalEngineImpl(this).makeTrigger(status, context, metadata, fieldsBuilder);
10421 except
10422 on e: Exception do FbException.catchException(status, e);
10423 end
10424 end;
10425
10426 var
10427 IExternalEngineImpl_vTable: ExternalEngineVTable;
10428
10429 constructor IExternalEngineImpl.create;
10430 begin
10431 vTable := IExternalEngineImpl_vTable;
10432 end;
10433
10434 procedure ITimerImpl_addRefDispatcher(this: ITimer); cdecl;
10435 begin
10436 try
10437 ITimerImpl(this).addRef();
10438 except
10439 on e: Exception do FbException.catchException(nil, e);
10440 end
10441 end;
10442
10443 function ITimerImpl_releaseDispatcher(this: ITimer): Integer; cdecl;
10444 begin
10445 try
10446 Result := ITimerImpl(this).release();
10447 except
10448 on e: Exception do FbException.catchException(nil, e);
10449 end
10450 end;
10451
10452 procedure ITimerImpl_handlerDispatcher(this: ITimer); cdecl;
10453 begin
10454 try
10455 ITimerImpl(this).handler();
10456 except
10457 on e: Exception do FbException.catchException(nil, e);
10458 end
10459 end;
10460
10461 var
10462 ITimerImpl_vTable: TimerVTable;
10463
10464 constructor ITimerImpl.create;
10465 begin
10466 vTable := ITimerImpl_vTable;
10467 end;
10468
10469 procedure ITimerControlImpl_startDispatcher(this: ITimerControl; status: IStatus; timer: ITimer; microSeconds: QWord); cdecl;
10470 begin
10471 try
10472 ITimerControlImpl(this).start(status, timer, microSeconds);
10473 except
10474 on e: Exception do FbException.catchException(status, e);
10475 end
10476 end;
10477
10478 procedure ITimerControlImpl_stopDispatcher(this: ITimerControl; status: IStatus; timer: ITimer); cdecl;
10479 begin
10480 try
10481 ITimerControlImpl(this).stop(status, timer);
10482 except
10483 on e: Exception do FbException.catchException(status, e);
10484 end
10485 end;
10486
10487 var
10488 ITimerControlImpl_vTable: TimerControlVTable;
10489
10490 constructor ITimerControlImpl.create;
10491 begin
10492 vTable := ITimerControlImpl_vTable;
10493 end;
10494
10495 procedure IVersionCallbackImpl_callbackDispatcher(this: IVersionCallback; status: IStatus; text: PAnsiChar); cdecl;
10496 begin
10497 try
10498 IVersionCallbackImpl(this).callback(status, text);
10499 except
10500 on e: Exception do FbException.catchException(status, e);
10501 end
10502 end;
10503
10504 var
10505 IVersionCallbackImpl_vTable: VersionCallbackVTable;
10506
10507 constructor IVersionCallbackImpl.create;
10508 begin
10509 vTable := IVersionCallbackImpl_vTable;
10510 end;
10511
10512 procedure IUtilImpl_getFbVersionDispatcher(this: IUtil; status: IStatus; att: IAttachment; callback: IVersionCallback); cdecl;
10513 begin
10514 try
10515 IUtilImpl(this).getFbVersion(status, att, callback);
10516 except
10517 on e: Exception do FbException.catchException(status, e);
10518 end
10519 end;
10520
10521 procedure IUtilImpl_loadBlobDispatcher(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
10522 begin
10523 try
10524 IUtilImpl(this).loadBlob(status, blobId, att, tra, file_, txt);
10525 except
10526 on e: Exception do FbException.catchException(status, e);
10527 end
10528 end;
10529
10530 procedure IUtilImpl_dumpBlobDispatcher(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
10531 begin
10532 try
10533 IUtilImpl(this).dumpBlob(status, blobId, att, tra, file_, txt);
10534 except
10535 on e: Exception do FbException.catchException(status, e);
10536 end
10537 end;
10538
10539 procedure IUtilImpl_getPerfCountersDispatcher(this: IUtil; status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); cdecl;
10540 begin
10541 try
10542 IUtilImpl(this).getPerfCounters(status, att, countersSet, counters);
10543 except
10544 on e: Exception do FbException.catchException(status, e);
10545 end
10546 end;
10547
10548 function IUtilImpl_executeCreateDatabaseDispatcher(this: IUtil; status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; cdecl;
10549 begin
10550 try
10551 Result := IUtilImpl(this).executeCreateDatabase(status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb);
10552 except
10553 on e: Exception do FbException.catchException(status, e);
10554 end
10555 end;
10556
10557 procedure IUtilImpl_decodeDateDispatcher(this: IUtil; date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); cdecl;
10558 begin
10559 try
10560 IUtilImpl(this).decodeDate(date, year, month, day);
10561 except
10562 on e: Exception do FbException.catchException(nil, e);
10563 end
10564 end;
10565
10566 procedure IUtilImpl_decodeTimeDispatcher(this: IUtil; time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); cdecl;
10567 begin
10568 try
10569 IUtilImpl(this).decodeTime(time, hours, minutes, seconds, fractions);
10570 except
10571 on e: Exception do FbException.catchException(nil, e);
10572 end
10573 end;
10574
10575 function IUtilImpl_encodeDateDispatcher(this: IUtil; year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; cdecl;
10576 begin
10577 try
10578 Result := IUtilImpl(this).encodeDate(year, month, day);
10579 except
10580 on e: Exception do FbException.catchException(nil, e);
10581 end
10582 end;
10583
10584 function IUtilImpl_encodeTimeDispatcher(this: IUtil; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; cdecl;
10585 begin
10586 try
10587 Result := IUtilImpl(this).encodeTime(hours, minutes, seconds, fractions);
10588 except
10589 on e: Exception do FbException.catchException(nil, e);
10590 end
10591 end;
10592
10593 function IUtilImpl_formatStatusDispatcher(this: IUtil; buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; cdecl;
10594 begin
10595 try
10596 Result := IUtilImpl(this).formatStatus(buffer, bufferSize, status);
10597 except
10598 on e: Exception do FbException.catchException(nil, e);
10599 end
10600 end;
10601
10602 function IUtilImpl_getClientVersionDispatcher(this: IUtil): Cardinal; cdecl;
10603 begin
10604 try
10605 Result := IUtilImpl(this).getClientVersion();
10606 except
10607 on e: Exception do FbException.catchException(nil, e);
10608 end
10609 end;
10610
10611 function IUtilImpl_getXpbBuilderDispatcher(this: IUtil; status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; cdecl;
10612 begin
10613 try
10614 Result := IUtilImpl(this).getXpbBuilder(status, kind, buf, len);
10615 except
10616 on e: Exception do FbException.catchException(status, e);
10617 end
10618 end;
10619
10620 function IUtilImpl_setOffsetsDispatcher(this: IUtil; status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; cdecl;
10621 begin
10622 try
10623 Result := IUtilImpl(this).setOffsets(status, metadata, callback);
10624 except
10625 on e: Exception do FbException.catchException(status, e);
10626 end
10627 end;
10628
10629 function IUtilImpl_getDecFloat16Dispatcher(this: IUtil; status: IStatus): IDecFloat16; cdecl;
10630 begin
10631 try
10632 Result := IUtilImpl(this).getDecFloat16(status);
10633 except
10634 on e: Exception do FbException.catchException(status, e);
10635 end
10636 end;
10637
10638 function IUtilImpl_getDecFloat34Dispatcher(this: IUtil; status: IStatus): IDecFloat34; cdecl;
10639 begin
10640 try
10641 Result := IUtilImpl(this).getDecFloat34(status);
10642 except
10643 on e: Exception do FbException.catchException(status, e);
10644 end
10645 end;
10646
10647 procedure IUtilImpl_decodeTimeTzDispatcher(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
10648 begin
10649 try
10650 IUtilImpl(this).decodeTimeTz(status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10651 except
10652 on e: Exception do FbException.catchException(status, e);
10653 end
10654 end;
10655
10656 procedure IUtilImpl_decodeTimeStampTzDispatcher(this: IUtil; status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
10657 begin
10658 try
10659 IUtilImpl(this).decodeTimeStampTz(status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10660 except
10661 on e: Exception do FbException.catchException(status, e);
10662 end
10663 end;
10664
10665 procedure IUtilImpl_encodeTimeTzDispatcher(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); cdecl;
10666 begin
10667 try
10668 IUtilImpl(this).encodeTimeTz(status, timeTz, hours, minutes, seconds, fractions, timeZone);
10669 except
10670 on e: Exception do FbException.catchException(status, e);
10671 end
10672 end;
10673
10674 procedure IUtilImpl_encodeTimeStampTzDispatcher(this: IUtil; status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: Cardinal; month: Cardinal; day: Cardinal; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); cdecl;
10675 begin
10676 try
10677 IUtilImpl(this).encodeTimeStampTz(status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZone);
10678 except
10679 on e: Exception do FbException.catchException(status, e);
10680 end
10681 end;
10682
10683 function IUtilImpl_getInt128Dispatcher(this: IUtil; status: IStatus): IInt128; cdecl;
10684 begin
10685 try
10686 Result := IUtilImpl(this).getInt128(status);
10687 except
10688 on e: Exception do FbException.catchException(status, e);
10689 end
10690 end;
10691
10692 procedure IUtilImpl_decodeTimeTzExDispatcher(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
10693 begin
10694 try
10695 IUtilImpl(this).decodeTimeTzEx(status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10696 except
10697 on e: Exception do FbException.catchException(status, e);
10698 end
10699 end;
10700
10701 procedure IUtilImpl_decodeTimeStampTzExDispatcher(this: IUtil; status: IStatus; timeStampTz: ISC_TIMESTAMP_TZ_EXPtr; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
10702 begin
10703 try
10704 IUtilImpl(this).decodeTimeStampTzEx(status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10705 except
10706 on e: Exception do FbException.catchException(status, e);
10707 end
10708 end;
10709
10710 var
10711 IUtilImpl_vTable: UtilVTable;
10712
10713 constructor IUtilImpl.create;
10714 begin
10715 vTable := IUtilImpl_vTable;
10716 end;
10717
10718 procedure IOffsetsCallbackImpl_setOffsetDispatcher(this: IOffsetsCallback; status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); cdecl;
10719 begin
10720 try
10721 IOffsetsCallbackImpl(this).setOffset(status, index, offset, nullOffset);
10722 except
10723 on e: Exception do FbException.catchException(status, e);
10724 end
10725 end;
10726
10727 var
10728 IOffsetsCallbackImpl_vTable: OffsetsCallbackVTable;
10729
10730 constructor IOffsetsCallbackImpl.create;
10731 begin
10732 vTable := IOffsetsCallbackImpl_vTable;
10733 end;
10734
10735 procedure IXpbBuilderImpl_disposeDispatcher(this: IXpbBuilder); cdecl;
10736 begin
10737 try
10738 IXpbBuilderImpl(this).dispose();
10739 except
10740 on e: Exception do FbException.catchException(nil, e);
10741 end
10742 end;
10743
10744 procedure IXpbBuilderImpl_clearDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10745 begin
10746 try
10747 IXpbBuilderImpl(this).clear(status);
10748 except
10749 on e: Exception do FbException.catchException(status, e);
10750 end
10751 end;
10752
10753 procedure IXpbBuilderImpl_removeCurrentDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10754 begin
10755 try
10756 IXpbBuilderImpl(this).removeCurrent(status);
10757 except
10758 on e: Exception do FbException.catchException(status, e);
10759 end
10760 end;
10761
10762 procedure IXpbBuilderImpl_insertIntDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; value: Integer); cdecl;
10763 begin
10764 try
10765 IXpbBuilderImpl(this).insertInt(status, tag, value);
10766 except
10767 on e: Exception do FbException.catchException(status, e);
10768 end
10769 end;
10770
10771 procedure IXpbBuilderImpl_insertBigIntDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; value: Int64); cdecl;
10772 begin
10773 try
10774 IXpbBuilderImpl(this).insertBigInt(status, tag, value);
10775 except
10776 on e: Exception do FbException.catchException(status, e);
10777 end
10778 end;
10779
10780 procedure IXpbBuilderImpl_insertBytesDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); cdecl;
10781 begin
10782 try
10783 IXpbBuilderImpl(this).insertBytes(status, tag, bytes, length);
10784 except
10785 on e: Exception do FbException.catchException(status, e);
10786 end
10787 end;
10788
10789 procedure IXpbBuilderImpl_insertStringDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; str: PAnsiChar); cdecl;
10790 begin
10791 try
10792 IXpbBuilderImpl(this).insertString(status, tag, str);
10793 except
10794 on e: Exception do FbException.catchException(status, e);
10795 end
10796 end;
10797
10798 procedure IXpbBuilderImpl_insertTagDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte); cdecl;
10799 begin
10800 try
10801 IXpbBuilderImpl(this).insertTag(status, tag);
10802 except
10803 on e: Exception do FbException.catchException(status, e);
10804 end
10805 end;
10806
10807 function IXpbBuilderImpl_isEofDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
10808 begin
10809 try
10810 Result := IXpbBuilderImpl(this).isEof(status);
10811 except
10812 on e: Exception do FbException.catchException(status, e);
10813 end
10814 end;
10815
10816 procedure IXpbBuilderImpl_moveNextDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10817 begin
10818 try
10819 IXpbBuilderImpl(this).moveNext(status);
10820 except
10821 on e: Exception do FbException.catchException(status, e);
10822 end
10823 end;
10824
10825 procedure IXpbBuilderImpl_rewindDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10826 begin
10827 try
10828 IXpbBuilderImpl(this).rewind(status);
10829 except
10830 on e: Exception do FbException.catchException(status, e);
10831 end
10832 end;
10833
10834 function IXpbBuilderImpl_findFirstDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte): Boolean; cdecl;
10835 begin
10836 try
10837 Result := IXpbBuilderImpl(this).findFirst(status, tag);
10838 except
10839 on e: Exception do FbException.catchException(status, e);
10840 end
10841 end;
10842
10843 function IXpbBuilderImpl_findNextDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
10844 begin
10845 try
10846 Result := IXpbBuilderImpl(this).findNext(status);
10847 except
10848 on e: Exception do FbException.catchException(status, e);
10849 end
10850 end;
10851
10852 function IXpbBuilderImpl_getTagDispatcher(this: IXpbBuilder; status: IStatus): Byte; cdecl;
10853 begin
10854 try
10855 Result := IXpbBuilderImpl(this).getTag(status);
10856 except
10857 on e: Exception do FbException.catchException(status, e);
10858 end
10859 end;
10860
10861 function IXpbBuilderImpl_getLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
10862 begin
10863 try
10864 Result := IXpbBuilderImpl(this).getLength(status);
10865 except
10866 on e: Exception do FbException.catchException(status, e);
10867 end
10868 end;
10869
10870 function IXpbBuilderImpl_getIntDispatcher(this: IXpbBuilder; status: IStatus): Integer; cdecl;
10871 begin
10872 try
10873 Result := IXpbBuilderImpl(this).getInt(status);
10874 except
10875 on e: Exception do FbException.catchException(status, e);
10876 end
10877 end;
10878
10879 function IXpbBuilderImpl_getBigIntDispatcher(this: IXpbBuilder; status: IStatus): Int64; cdecl;
10880 begin
10881 try
10882 Result := IXpbBuilderImpl(this).getBigInt(status);
10883 except
10884 on e: Exception do FbException.catchException(status, e);
10885 end
10886 end;
10887
10888 function IXpbBuilderImpl_getStringDispatcher(this: IXpbBuilder; status: IStatus): PAnsiChar; cdecl;
10889 begin
10890 try
10891 Result := IXpbBuilderImpl(this).getString(status);
10892 except
10893 on e: Exception do FbException.catchException(status, e);
10894 end
10895 end;
10896
10897 function IXpbBuilderImpl_getBytesDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
10898 begin
10899 try
10900 Result := IXpbBuilderImpl(this).getBytes(status);
10901 except
10902 on e: Exception do FbException.catchException(status, e);
10903 end
10904 end;
10905
10906 function IXpbBuilderImpl_getBufferLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
10907 begin
10908 try
10909 Result := IXpbBuilderImpl(this).getBufferLength(status);
10910 except
10911 on e: Exception do FbException.catchException(status, e);
10912 end
10913 end;
10914
10915 function IXpbBuilderImpl_getBufferDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
10916 begin
10917 try
10918 Result := IXpbBuilderImpl(this).getBuffer(status);
10919 except
10920 on e: Exception do FbException.catchException(status, e);
10921 end
10922 end;
10923
10924 var
10925 IXpbBuilderImpl_vTable: XpbBuilderVTable;
10926
10927 constructor IXpbBuilderImpl.create;
10928 begin
10929 vTable := IXpbBuilderImpl_vTable;
10930 end;
10931
10932 function ITraceConnectionImpl_getKindDispatcher(this: ITraceConnection): Cardinal; cdecl;
10933 begin
10934 try
10935 Result := ITraceConnectionImpl(this).getKind();
10936 except
10937 on e: Exception do FbException.catchException(nil, e);
10938 end
10939 end;
10940
10941 function ITraceConnectionImpl_getProcessIDDispatcher(this: ITraceConnection): Integer; cdecl;
10942 begin
10943 try
10944 Result := ITraceConnectionImpl(this).getProcessID();
10945 except
10946 on e: Exception do FbException.catchException(nil, e);
10947 end
10948 end;
10949
10950 function ITraceConnectionImpl_getUserNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10951 begin
10952 try
10953 Result := ITraceConnectionImpl(this).getUserName();
10954 except
10955 on e: Exception do FbException.catchException(nil, e);
10956 end
10957 end;
10958
10959 function ITraceConnectionImpl_getRoleNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10960 begin
10961 try
10962 Result := ITraceConnectionImpl(this).getRoleName();
10963 except
10964 on e: Exception do FbException.catchException(nil, e);
10965 end
10966 end;
10967
10968 function ITraceConnectionImpl_getCharSetDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10969 begin
10970 try
10971 Result := ITraceConnectionImpl(this).getCharSet();
10972 except
10973 on e: Exception do FbException.catchException(nil, e);
10974 end
10975 end;
10976
10977 function ITraceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10978 begin
10979 try
10980 Result := ITraceConnectionImpl(this).getRemoteProtocol();
10981 except
10982 on e: Exception do FbException.catchException(nil, e);
10983 end
10984 end;
10985
10986 function ITraceConnectionImpl_getRemoteAddressDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10987 begin
10988 try
10989 Result := ITraceConnectionImpl(this).getRemoteAddress();
10990 except
10991 on e: Exception do FbException.catchException(nil, e);
10992 end
10993 end;
10994
10995 function ITraceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceConnection): Integer; cdecl;
10996 begin
10997 try
10998 Result := ITraceConnectionImpl(this).getRemoteProcessID();
10999 except
11000 on e: Exception do FbException.catchException(nil, e);
11001 end
11002 end;
11003
11004 function ITraceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
11005 begin
11006 try
11007 Result := ITraceConnectionImpl(this).getRemoteProcessName();
11008 except
11009 on e: Exception do FbException.catchException(nil, e);
11010 end
11011 end;
11012
11013 var
11014 ITraceConnectionImpl_vTable: TraceConnectionVTable;
11015
11016 constructor ITraceConnectionImpl.create;
11017 begin
11018 vTable := ITraceConnectionImpl_vTable;
11019 end;
11020
11021 function ITraceDatabaseConnectionImpl_getKindDispatcher(this: ITraceDatabaseConnection): Cardinal; cdecl;
11022 begin
11023 try
11024 Result := ITraceDatabaseConnectionImpl(this).getKind();
11025 except
11026 on e: Exception do FbException.catchException(nil, e);
11027 end
11028 end;
11029
11030 function ITraceDatabaseConnectionImpl_getProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl;
11031 begin
11032 try
11033 Result := ITraceDatabaseConnectionImpl(this).getProcessID();
11034 except
11035 on e: Exception do FbException.catchException(nil, e);
11036 end
11037 end;
11038
11039 function ITraceDatabaseConnectionImpl_getUserNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11040 begin
11041 try
11042 Result := ITraceDatabaseConnectionImpl(this).getUserName();
11043 except
11044 on e: Exception do FbException.catchException(nil, e);
11045 end
11046 end;
11047
11048 function ITraceDatabaseConnectionImpl_getRoleNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11049 begin
11050 try
11051 Result := ITraceDatabaseConnectionImpl(this).getRoleName();
11052 except
11053 on e: Exception do FbException.catchException(nil, e);
11054 end
11055 end;
11056
11057 function ITraceDatabaseConnectionImpl_getCharSetDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11058 begin
11059 try
11060 Result := ITraceDatabaseConnectionImpl(this).getCharSet();
11061 except
11062 on e: Exception do FbException.catchException(nil, e);
11063 end
11064 end;
11065
11066 function ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11067 begin
11068 try
11069 Result := ITraceDatabaseConnectionImpl(this).getRemoteProtocol();
11070 except
11071 on e: Exception do FbException.catchException(nil, e);
11072 end
11073 end;
11074
11075 function ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11076 begin
11077 try
11078 Result := ITraceDatabaseConnectionImpl(this).getRemoteAddress();
11079 except
11080 on e: Exception do FbException.catchException(nil, e);
11081 end
11082 end;
11083
11084 function ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl;
11085 begin
11086 try
11087 Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessID();
11088 except
11089 on e: Exception do FbException.catchException(nil, e);
11090 end
11091 end;
11092
11093 function ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11094 begin
11095 try
11096 Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessName();
11097 except
11098 on e: Exception do FbException.catchException(nil, e);
11099 end
11100 end;
11101
11102 function ITraceDatabaseConnectionImpl_getConnectionIDDispatcher(this: ITraceDatabaseConnection): Int64; cdecl;
11103 begin
11104 try
11105 Result := ITraceDatabaseConnectionImpl(this).getConnectionID();
11106 except
11107 on e: Exception do FbException.catchException(nil, e);
11108 end
11109 end;
11110
11111 function ITraceDatabaseConnectionImpl_getDatabaseNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11112 begin
11113 try
11114 Result := ITraceDatabaseConnectionImpl(this).getDatabaseName();
11115 except
11116 on e: Exception do FbException.catchException(nil, e);
11117 end
11118 end;
11119
11120 var
11121 ITraceDatabaseConnectionImpl_vTable: TraceDatabaseConnectionVTable;
11122
11123 constructor ITraceDatabaseConnectionImpl.create;
11124 begin
11125 vTable := ITraceDatabaseConnectionImpl_vTable;
11126 end;
11127
11128 function ITraceTransactionImpl_getTransactionIDDispatcher(this: ITraceTransaction): Int64; cdecl;
11129 begin
11130 try
11131 Result := ITraceTransactionImpl(this).getTransactionID();
11132 except
11133 on e: Exception do FbException.catchException(nil, e);
11134 end
11135 end;
11136
11137 function ITraceTransactionImpl_getReadOnlyDispatcher(this: ITraceTransaction): Boolean; cdecl;
11138 begin
11139 try
11140 Result := ITraceTransactionImpl(this).getReadOnly();
11141 except
11142 on e: Exception do FbException.catchException(nil, e);
11143 end
11144 end;
11145
11146 function ITraceTransactionImpl_getWaitDispatcher(this: ITraceTransaction): Integer; cdecl;
11147 begin
11148 try
11149 Result := ITraceTransactionImpl(this).getWait();
11150 except
11151 on e: Exception do FbException.catchException(nil, e);
11152 end
11153 end;
11154
11155 function ITraceTransactionImpl_getIsolationDispatcher(this: ITraceTransaction): Cardinal; cdecl;
11156 begin
11157 try
11158 Result := ITraceTransactionImpl(this).getIsolation();
11159 except
11160 on e: Exception do FbException.catchException(nil, e);
11161 end
11162 end;
11163
11164 function ITraceTransactionImpl_getPerfDispatcher(this: ITraceTransaction): PerformanceInfoPtr; cdecl;
11165 begin
11166 try
11167 Result := ITraceTransactionImpl(this).getPerf();
11168 except
11169 on e: Exception do FbException.catchException(nil, e);
11170 end
11171 end;
11172
11173 function ITraceTransactionImpl_getInitialIDDispatcher(this: ITraceTransaction): Int64; cdecl;
11174 begin
11175 try
11176 Result := ITraceTransactionImpl(this).getInitialID();
11177 except
11178 on e: Exception do FbException.catchException(nil, e);
11179 end
11180 end;
11181
11182 function ITraceTransactionImpl_getPreviousIDDispatcher(this: ITraceTransaction): Int64; cdecl;
11183 begin
11184 try
11185 Result := ITraceTransactionImpl(this).getPreviousID();
11186 except
11187 on e: Exception do FbException.catchException(nil, e);
11188 end
11189 end;
11190
11191 var
11192 ITraceTransactionImpl_vTable: TraceTransactionVTable;
11193
11194 constructor ITraceTransactionImpl.create;
11195 begin
11196 vTable := ITraceTransactionImpl_vTable;
11197 end;
11198
11199 function ITraceParamsImpl_getCountDispatcher(this: ITraceParams): Cardinal; cdecl;
11200 begin
11201 try
11202 Result := ITraceParamsImpl(this).getCount();
11203 except
11204 on e: Exception do FbException.catchException(nil, e);
11205 end
11206 end;
11207
11208 function ITraceParamsImpl_getParamDispatcher(this: ITraceParams; idx: Cardinal): dscPtr; cdecl;
11209 begin
11210 try
11211 Result := ITraceParamsImpl(this).getParam(idx);
11212 except
11213 on e: Exception do FbException.catchException(nil, e);
11214 end
11215 end;
11216
11217 function ITraceParamsImpl_getTextUTF8Dispatcher(this: ITraceParams; status: IStatus; idx: Cardinal): PAnsiChar; cdecl;
11218 begin
11219 try
11220 Result := ITraceParamsImpl(this).getTextUTF8(status, idx);
11221 except
11222 on e: Exception do FbException.catchException(status, e);
11223 end
11224 end;
11225
11226 var
11227 ITraceParamsImpl_vTable: TraceParamsVTable;
11228
11229 constructor ITraceParamsImpl.create;
11230 begin
11231 vTable := ITraceParamsImpl_vTable;
11232 end;
11233
11234 function ITraceStatementImpl_getStmtIDDispatcher(this: ITraceStatement): Int64; cdecl;
11235 begin
11236 try
11237 Result := ITraceStatementImpl(this).getStmtID();
11238 except
11239 on e: Exception do FbException.catchException(nil, e);
11240 end
11241 end;
11242
11243 function ITraceStatementImpl_getPerfDispatcher(this: ITraceStatement): PerformanceInfoPtr; cdecl;
11244 begin
11245 try
11246 Result := ITraceStatementImpl(this).getPerf();
11247 except
11248 on e: Exception do FbException.catchException(nil, e);
11249 end
11250 end;
11251
11252 var
11253 ITraceStatementImpl_vTable: TraceStatementVTable;
11254
11255 constructor ITraceStatementImpl.create;
11256 begin
11257 vTable := ITraceStatementImpl_vTable;
11258 end;
11259
11260 function ITraceSQLStatementImpl_getStmtIDDispatcher(this: ITraceSQLStatement): Int64; cdecl;
11261 begin
11262 try
11263 Result := ITraceSQLStatementImpl(this).getStmtID();
11264 except
11265 on e: Exception do FbException.catchException(nil, e);
11266 end
11267 end;
11268
11269 function ITraceSQLStatementImpl_getPerfDispatcher(this: ITraceSQLStatement): PerformanceInfoPtr; cdecl;
11270 begin
11271 try
11272 Result := ITraceSQLStatementImpl(this).getPerf();
11273 except
11274 on e: Exception do FbException.catchException(nil, e);
11275 end
11276 end;
11277
11278 function ITraceSQLStatementImpl_getTextDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11279 begin
11280 try
11281 Result := ITraceSQLStatementImpl(this).getText();
11282 except
11283 on e: Exception do FbException.catchException(nil, e);
11284 end
11285 end;
11286
11287 function ITraceSQLStatementImpl_getPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11288 begin
11289 try
11290 Result := ITraceSQLStatementImpl(this).getPlan();
11291 except
11292 on e: Exception do FbException.catchException(nil, e);
11293 end
11294 end;
11295
11296 function ITraceSQLStatementImpl_getInputsDispatcher(this: ITraceSQLStatement): ITraceParams; cdecl;
11297 begin
11298 try
11299 Result := ITraceSQLStatementImpl(this).getInputs();
11300 except
11301 on e: Exception do FbException.catchException(nil, e);
11302 end
11303 end;
11304
11305 function ITraceSQLStatementImpl_getTextUTF8Dispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11306 begin
11307 try
11308 Result := ITraceSQLStatementImpl(this).getTextUTF8();
11309 except
11310 on e: Exception do FbException.catchException(nil, e);
11311 end
11312 end;
11313
11314 function ITraceSQLStatementImpl_getExplainedPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11315 begin
11316 try
11317 Result := ITraceSQLStatementImpl(this).getExplainedPlan();
11318 except
11319 on e: Exception do FbException.catchException(nil, e);
11320 end
11321 end;
11322
11323 var
11324 ITraceSQLStatementImpl_vTable: TraceSQLStatementVTable;
11325
11326 constructor ITraceSQLStatementImpl.create;
11327 begin
11328 vTable := ITraceSQLStatementImpl_vTable;
11329 end;
11330
11331 function ITraceBLRStatementImpl_getStmtIDDispatcher(this: ITraceBLRStatement): Int64; cdecl;
11332 begin
11333 try
11334 Result := ITraceBLRStatementImpl(this).getStmtID();
11335 except
11336 on e: Exception do FbException.catchException(nil, e);
11337 end
11338 end;
11339
11340 function ITraceBLRStatementImpl_getPerfDispatcher(this: ITraceBLRStatement): PerformanceInfoPtr; cdecl;
11341 begin
11342 try
11343 Result := ITraceBLRStatementImpl(this).getPerf();
11344 except
11345 on e: Exception do FbException.catchException(nil, e);
11346 end
11347 end;
11348
11349 function ITraceBLRStatementImpl_getDataDispatcher(this: ITraceBLRStatement): BytePtr; cdecl;
11350 begin
11351 try
11352 Result := ITraceBLRStatementImpl(this).getData();
11353 except
11354 on e: Exception do FbException.catchException(nil, e);
11355 end
11356 end;
11357
11358 function ITraceBLRStatementImpl_getDataLengthDispatcher(this: ITraceBLRStatement): Cardinal; cdecl;
11359 begin
11360 try
11361 Result := ITraceBLRStatementImpl(this).getDataLength();
11362 except
11363 on e: Exception do FbException.catchException(nil, e);
11364 end
11365 end;
11366
11367 function ITraceBLRStatementImpl_getTextDispatcher(this: ITraceBLRStatement): PAnsiChar; cdecl;
11368 begin
11369 try
11370 Result := ITraceBLRStatementImpl(this).getText();
11371 except
11372 on e: Exception do FbException.catchException(nil, e);
11373 end
11374 end;
11375
11376 var
11377 ITraceBLRStatementImpl_vTable: TraceBLRStatementVTable;
11378
11379 constructor ITraceBLRStatementImpl.create;
11380 begin
11381 vTable := ITraceBLRStatementImpl_vTable;
11382 end;
11383
11384 function ITraceDYNRequestImpl_getDataDispatcher(this: ITraceDYNRequest): BytePtr; cdecl;
11385 begin
11386 try
11387 Result := ITraceDYNRequestImpl(this).getData();
11388 except
11389 on e: Exception do FbException.catchException(nil, e);
11390 end
11391 end;
11392
11393 function ITraceDYNRequestImpl_getDataLengthDispatcher(this: ITraceDYNRequest): Cardinal; cdecl;
11394 begin
11395 try
11396 Result := ITraceDYNRequestImpl(this).getDataLength();
11397 except
11398 on e: Exception do FbException.catchException(nil, e);
11399 end
11400 end;
11401
11402 function ITraceDYNRequestImpl_getTextDispatcher(this: ITraceDYNRequest): PAnsiChar; cdecl;
11403 begin
11404 try
11405 Result := ITraceDYNRequestImpl(this).getText();
11406 except
11407 on e: Exception do FbException.catchException(nil, e);
11408 end
11409 end;
11410
11411 var
11412 ITraceDYNRequestImpl_vTable: TraceDYNRequestVTable;
11413
11414 constructor ITraceDYNRequestImpl.create;
11415 begin
11416 vTable := ITraceDYNRequestImpl_vTable;
11417 end;
11418
11419 function ITraceContextVariableImpl_getNameSpaceDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11420 begin
11421 try
11422 Result := ITraceContextVariableImpl(this).getNameSpace();
11423 except
11424 on e: Exception do FbException.catchException(nil, e);
11425 end
11426 end;
11427
11428 function ITraceContextVariableImpl_getVarNameDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11429 begin
11430 try
11431 Result := ITraceContextVariableImpl(this).getVarName();
11432 except
11433 on e: Exception do FbException.catchException(nil, e);
11434 end
11435 end;
11436
11437 function ITraceContextVariableImpl_getVarValueDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11438 begin
11439 try
11440 Result := ITraceContextVariableImpl(this).getVarValue();
11441 except
11442 on e: Exception do FbException.catchException(nil, e);
11443 end
11444 end;
11445
11446 var
11447 ITraceContextVariableImpl_vTable: TraceContextVariableVTable;
11448
11449 constructor ITraceContextVariableImpl.create;
11450 begin
11451 vTable := ITraceContextVariableImpl_vTable;
11452 end;
11453
11454 function ITraceProcedureImpl_getProcNameDispatcher(this: ITraceProcedure): PAnsiChar; cdecl;
11455 begin
11456 try
11457 Result := ITraceProcedureImpl(this).getProcName();
11458 except
11459 on e: Exception do FbException.catchException(nil, e);
11460 end
11461 end;
11462
11463 function ITraceProcedureImpl_getInputsDispatcher(this: ITraceProcedure): ITraceParams; cdecl;
11464 begin
11465 try
11466 Result := ITraceProcedureImpl(this).getInputs();
11467 except
11468 on e: Exception do FbException.catchException(nil, e);
11469 end
11470 end;
11471
11472 function ITraceProcedureImpl_getPerfDispatcher(this: ITraceProcedure): PerformanceInfoPtr; cdecl;
11473 begin
11474 try
11475 Result := ITraceProcedureImpl(this).getPerf();
11476 except
11477 on e: Exception do FbException.catchException(nil, e);
11478 end
11479 end;
11480
11481 var
11482 ITraceProcedureImpl_vTable: TraceProcedureVTable;
11483
11484 constructor ITraceProcedureImpl.create;
11485 begin
11486 vTable := ITraceProcedureImpl_vTable;
11487 end;
11488
11489 function ITraceFunctionImpl_getFuncNameDispatcher(this: ITraceFunction): PAnsiChar; cdecl;
11490 begin
11491 try
11492 Result := ITraceFunctionImpl(this).getFuncName();
11493 except
11494 on e: Exception do FbException.catchException(nil, e);
11495 end
11496 end;
11497
11498 function ITraceFunctionImpl_getInputsDispatcher(this: ITraceFunction): ITraceParams; cdecl;
11499 begin
11500 try
11501 Result := ITraceFunctionImpl(this).getInputs();
11502 except
11503 on e: Exception do FbException.catchException(nil, e);
11504 end
11505 end;
11506
11507 function ITraceFunctionImpl_getResultDispatcher(this: ITraceFunction): ITraceParams; cdecl;
11508 begin
11509 try
11510 Result := ITraceFunctionImpl(this).getResult();
11511 except
11512 on e: Exception do FbException.catchException(nil, e);
11513 end
11514 end;
11515
11516 function ITraceFunctionImpl_getPerfDispatcher(this: ITraceFunction): PerformanceInfoPtr; cdecl;
11517 begin
11518 try
11519 Result := ITraceFunctionImpl(this).getPerf();
11520 except
11521 on e: Exception do FbException.catchException(nil, e);
11522 end
11523 end;
11524
11525 var
11526 ITraceFunctionImpl_vTable: TraceFunctionVTable;
11527
11528 constructor ITraceFunctionImpl.create;
11529 begin
11530 vTable := ITraceFunctionImpl_vTable;
11531 end;
11532
11533 function ITraceTriggerImpl_getTriggerNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl;
11534 begin
11535 try
11536 Result := ITraceTriggerImpl(this).getTriggerName();
11537 except
11538 on e: Exception do FbException.catchException(nil, e);
11539 end
11540 end;
11541
11542 function ITraceTriggerImpl_getRelationNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl;
11543 begin
11544 try
11545 Result := ITraceTriggerImpl(this).getRelationName();
11546 except
11547 on e: Exception do FbException.catchException(nil, e);
11548 end
11549 end;
11550
11551 function ITraceTriggerImpl_getActionDispatcher(this: ITraceTrigger): Integer; cdecl;
11552 begin
11553 try
11554 Result := ITraceTriggerImpl(this).getAction();
11555 except
11556 on e: Exception do FbException.catchException(nil, e);
11557 end
11558 end;
11559
11560 function ITraceTriggerImpl_getWhichDispatcher(this: ITraceTrigger): Integer; cdecl;
11561 begin
11562 try
11563 Result := ITraceTriggerImpl(this).getWhich();
11564 except
11565 on e: Exception do FbException.catchException(nil, e);
11566 end
11567 end;
11568
11569 function ITraceTriggerImpl_getPerfDispatcher(this: ITraceTrigger): PerformanceInfoPtr; cdecl;
11570 begin
11571 try
11572 Result := ITraceTriggerImpl(this).getPerf();
11573 except
11574 on e: Exception do FbException.catchException(nil, e);
11575 end
11576 end;
11577
11578 var
11579 ITraceTriggerImpl_vTable: TraceTriggerVTable;
11580
11581 constructor ITraceTriggerImpl.create;
11582 begin
11583 vTable := ITraceTriggerImpl_vTable;
11584 end;
11585
11586 function ITraceServiceConnectionImpl_getKindDispatcher(this: ITraceServiceConnection): Cardinal; cdecl;
11587 begin
11588 try
11589 Result := ITraceServiceConnectionImpl(this).getKind();
11590 except
11591 on e: Exception do FbException.catchException(nil, e);
11592 end
11593 end;
11594
11595 function ITraceServiceConnectionImpl_getProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl;
11596 begin
11597 try
11598 Result := ITraceServiceConnectionImpl(this).getProcessID();
11599 except
11600 on e: Exception do FbException.catchException(nil, e);
11601 end
11602 end;
11603
11604 function ITraceServiceConnectionImpl_getUserNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11605 begin
11606 try
11607 Result := ITraceServiceConnectionImpl(this).getUserName();
11608 except
11609 on e: Exception do FbException.catchException(nil, e);
11610 end
11611 end;
11612
11613 function ITraceServiceConnectionImpl_getRoleNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11614 begin
11615 try
11616 Result := ITraceServiceConnectionImpl(this).getRoleName();
11617 except
11618 on e: Exception do FbException.catchException(nil, e);
11619 end
11620 end;
11621
11622 function ITraceServiceConnectionImpl_getCharSetDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11623 begin
11624 try
11625 Result := ITraceServiceConnectionImpl(this).getCharSet();
11626 except
11627 on e: Exception do FbException.catchException(nil, e);
11628 end
11629 end;
11630
11631 function ITraceServiceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11632 begin
11633 try
11634 Result := ITraceServiceConnectionImpl(this).getRemoteProtocol();
11635 except
11636 on e: Exception do FbException.catchException(nil, e);
11637 end
11638 end;
11639
11640 function ITraceServiceConnectionImpl_getRemoteAddressDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11641 begin
11642 try
11643 Result := ITraceServiceConnectionImpl(this).getRemoteAddress();
11644 except
11645 on e: Exception do FbException.catchException(nil, e);
11646 end
11647 end;
11648
11649 function ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl;
11650 begin
11651 try
11652 Result := ITraceServiceConnectionImpl(this).getRemoteProcessID();
11653 except
11654 on e: Exception do FbException.catchException(nil, e);
11655 end
11656 end;
11657
11658 function ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11659 begin
11660 try
11661 Result := ITraceServiceConnectionImpl(this).getRemoteProcessName();
11662 except
11663 on e: Exception do FbException.catchException(nil, e);
11664 end
11665 end;
11666
11667 function ITraceServiceConnectionImpl_getServiceIDDispatcher(this: ITraceServiceConnection): Pointer; cdecl;
11668 begin
11669 try
11670 Result := ITraceServiceConnectionImpl(this).getServiceID();
11671 except
11672 on e: Exception do FbException.catchException(nil, e);
11673 end
11674 end;
11675
11676 function ITraceServiceConnectionImpl_getServiceMgrDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11677 begin
11678 try
11679 Result := ITraceServiceConnectionImpl(this).getServiceMgr();
11680 except
11681 on e: Exception do FbException.catchException(nil, e);
11682 end
11683 end;
11684
11685 function ITraceServiceConnectionImpl_getServiceNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11686 begin
11687 try
11688 Result := ITraceServiceConnectionImpl(this).getServiceName();
11689 except
11690 on e: Exception do FbException.catchException(nil, e);
11691 end
11692 end;
11693
11694 var
11695 ITraceServiceConnectionImpl_vTable: TraceServiceConnectionVTable;
11696
11697 constructor ITraceServiceConnectionImpl.create;
11698 begin
11699 vTable := ITraceServiceConnectionImpl_vTable;
11700 end;
11701
11702 function ITraceStatusVectorImpl_hasErrorDispatcher(this: ITraceStatusVector): Boolean; cdecl;
11703 begin
11704 try
11705 Result := ITraceStatusVectorImpl(this).hasError();
11706 except
11707 on e: Exception do FbException.catchException(nil, e);
11708 end
11709 end;
11710
11711 function ITraceStatusVectorImpl_hasWarningDispatcher(this: ITraceStatusVector): Boolean; cdecl;
11712 begin
11713 try
11714 Result := ITraceStatusVectorImpl(this).hasWarning();
11715 except
11716 on e: Exception do FbException.catchException(nil, e);
11717 end
11718 end;
11719
11720 function ITraceStatusVectorImpl_getStatusDispatcher(this: ITraceStatusVector): IStatus; cdecl;
11721 begin
11722 try
11723 Result := ITraceStatusVectorImpl(this).getStatus();
11724 except
11725 on e: Exception do FbException.catchException(nil, e);
11726 end
11727 end;
11728
11729 function ITraceStatusVectorImpl_getTextDispatcher(this: ITraceStatusVector): PAnsiChar; cdecl;
11730 begin
11731 try
11732 Result := ITraceStatusVectorImpl(this).getText();
11733 except
11734 on e: Exception do FbException.catchException(nil, e);
11735 end
11736 end;
11737
11738 var
11739 ITraceStatusVectorImpl_vTable: TraceStatusVectorVTable;
11740
11741 constructor ITraceStatusVectorImpl.create;
11742 begin
11743 vTable := ITraceStatusVectorImpl_vTable;
11744 end;
11745
11746 function ITraceSweepInfoImpl_getOITDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11747 begin
11748 try
11749 Result := ITraceSweepInfoImpl(this).getOIT();
11750 except
11751 on e: Exception do FbException.catchException(nil, e);
11752 end
11753 end;
11754
11755 function ITraceSweepInfoImpl_getOSTDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11756 begin
11757 try
11758 Result := ITraceSweepInfoImpl(this).getOST();
11759 except
11760 on e: Exception do FbException.catchException(nil, e);
11761 end
11762 end;
11763
11764 function ITraceSweepInfoImpl_getOATDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11765 begin
11766 try
11767 Result := ITraceSweepInfoImpl(this).getOAT();
11768 except
11769 on e: Exception do FbException.catchException(nil, e);
11770 end
11771 end;
11772
11773 function ITraceSweepInfoImpl_getNextDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11774 begin
11775 try
11776 Result := ITraceSweepInfoImpl(this).getNext();
11777 except
11778 on e: Exception do FbException.catchException(nil, e);
11779 end
11780 end;
11781
11782 function ITraceSweepInfoImpl_getPerfDispatcher(this: ITraceSweepInfo): PerformanceInfoPtr; cdecl;
11783 begin
11784 try
11785 Result := ITraceSweepInfoImpl(this).getPerf();
11786 except
11787 on e: Exception do FbException.catchException(nil, e);
11788 end
11789 end;
11790
11791 var
11792 ITraceSweepInfoImpl_vTable: TraceSweepInfoVTable;
11793
11794 constructor ITraceSweepInfoImpl.create;
11795 begin
11796 vTable := ITraceSweepInfoImpl_vTable;
11797 end;
11798
11799 procedure ITraceLogWriterImpl_addRefDispatcher(this: ITraceLogWriter); cdecl;
11800 begin
11801 try
11802 ITraceLogWriterImpl(this).addRef();
11803 except
11804 on e: Exception do FbException.catchException(nil, e);
11805 end
11806 end;
11807
11808 function ITraceLogWriterImpl_releaseDispatcher(this: ITraceLogWriter): Integer; cdecl;
11809 begin
11810 try
11811 Result := ITraceLogWriterImpl(this).release();
11812 except
11813 on e: Exception do FbException.catchException(nil, e);
11814 end
11815 end;
11816
11817 function ITraceLogWriterImpl_writeDispatcher(this: ITraceLogWriter; buf: Pointer; size: Cardinal): Cardinal; cdecl;
11818 begin
11819 try
11820 Result := ITraceLogWriterImpl(this).write(buf, size);
11821 except
11822 on e: Exception do FbException.catchException(nil, e);
11823 end
11824 end;
11825
11826 function ITraceLogWriterImpl_write_sDispatcher(this: ITraceLogWriter; status: IStatus; buf: Pointer; size: Cardinal): Cardinal; cdecl;
11827 begin
11828 try
11829 Result := ITraceLogWriterImpl(this).write_s(status, buf, size);
11830 except
11831 on e: Exception do FbException.catchException(status, e);
11832 end
11833 end;
11834
11835 var
11836 ITraceLogWriterImpl_vTable: TraceLogWriterVTable;
11837
11838 constructor ITraceLogWriterImpl.create;
11839 begin
11840 vTable := ITraceLogWriterImpl_vTable;
11841 end;
11842
11843 function ITraceInitInfoImpl_getConfigTextDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11844 begin
11845 try
11846 Result := ITraceInitInfoImpl(this).getConfigText();
11847 except
11848 on e: Exception do FbException.catchException(nil, e);
11849 end
11850 end;
11851
11852 function ITraceInitInfoImpl_getTraceSessionIDDispatcher(this: ITraceInitInfo): Integer; cdecl;
11853 begin
11854 try
11855 Result := ITraceInitInfoImpl(this).getTraceSessionID();
11856 except
11857 on e: Exception do FbException.catchException(nil, e);
11858 end
11859 end;
11860
11861 function ITraceInitInfoImpl_getTraceSessionNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11862 begin
11863 try
11864 Result := ITraceInitInfoImpl(this).getTraceSessionName();
11865 except
11866 on e: Exception do FbException.catchException(nil, e);
11867 end
11868 end;
11869
11870 function ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11871 begin
11872 try
11873 Result := ITraceInitInfoImpl(this).getFirebirdRootDirectory();
11874 except
11875 on e: Exception do FbException.catchException(nil, e);
11876 end
11877 end;
11878
11879 function ITraceInitInfoImpl_getDatabaseNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11880 begin
11881 try
11882 Result := ITraceInitInfoImpl(this).getDatabaseName();
11883 except
11884 on e: Exception do FbException.catchException(nil, e);
11885 end
11886 end;
11887
11888 function ITraceInitInfoImpl_getConnectionDispatcher(this: ITraceInitInfo): ITraceDatabaseConnection; cdecl;
11889 begin
11890 try
11891 Result := ITraceInitInfoImpl(this).getConnection();
11892 except
11893 on e: Exception do FbException.catchException(nil, e);
11894 end
11895 end;
11896
11897 function ITraceInitInfoImpl_getLogWriterDispatcher(this: ITraceInitInfo): ITraceLogWriter; cdecl;
11898 begin
11899 try
11900 Result := ITraceInitInfoImpl(this).getLogWriter();
11901 except
11902 on e: Exception do FbException.catchException(nil, e);
11903 end
11904 end;
11905
11906 var
11907 ITraceInitInfoImpl_vTable: TraceInitInfoVTable;
11908
11909 constructor ITraceInitInfoImpl.create;
11910 begin
11911 vTable := ITraceInitInfoImpl_vTable;
11912 end;
11913
11914 procedure ITracePluginImpl_addRefDispatcher(this: ITracePlugin); cdecl;
11915 begin
11916 try
11917 ITracePluginImpl(this).addRef();
11918 except
11919 on e: Exception do FbException.catchException(nil, e);
11920 end
11921 end;
11922
11923 function ITracePluginImpl_releaseDispatcher(this: ITracePlugin): Integer; cdecl;
11924 begin
11925 try
11926 Result := ITracePluginImpl(this).release();
11927 except
11928 on e: Exception do FbException.catchException(nil, e);
11929 end
11930 end;
11931
11932 function ITracePluginImpl_trace_get_errorDispatcher(this: ITracePlugin): PAnsiChar; cdecl;
11933 begin
11934 try
11935 Result := ITracePluginImpl(this).trace_get_error();
11936 except
11937 on e: Exception do FbException.catchException(nil, e);
11938 end
11939 end;
11940
11941 function ITracePluginImpl_trace_attachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; cdecl;
11942 begin
11943 try
11944 Result := ITracePluginImpl(this).trace_attach(connection, create_db, att_result);
11945 except
11946 on e: Exception do FbException.catchException(nil, e);
11947 end
11948 end;
11949
11950 function ITracePluginImpl_trace_detachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; cdecl;
11951 begin
11952 try
11953 Result := ITracePluginImpl(this).trace_detach(connection, drop_db);
11954 except
11955 on e: Exception do FbException.catchException(nil, e);
11956 end
11957 end;
11958
11959 function ITracePluginImpl_trace_transaction_startDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; cdecl;
11960 begin
11961 try
11962 Result := ITracePluginImpl(this).trace_transaction_start(connection, transaction, tpb_length, tpb, tra_result);
11963 except
11964 on e: Exception do FbException.catchException(nil, e);
11965 end
11966 end;
11967
11968 function ITracePluginImpl_trace_transaction_endDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; cdecl;
11969 begin
11970 try
11971 Result := ITracePluginImpl(this).trace_transaction_end(connection, transaction, commit, retain_context, tra_result);
11972 except
11973 on e: Exception do FbException.catchException(nil, e);
11974 end
11975 end;
11976
11977 function ITracePluginImpl_trace_proc_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; cdecl;
11978 begin
11979 try
11980 Result := ITracePluginImpl(this).trace_proc_execute(connection, transaction, procedure_, started, proc_result);
11981 except
11982 on e: Exception do FbException.catchException(nil, e);
11983 end
11984 end;
11985
11986 function ITracePluginImpl_trace_trigger_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; cdecl;
11987 begin
11988 try
11989 Result := ITracePluginImpl(this).trace_trigger_execute(connection, transaction, trigger, started, trig_result);
11990 except
11991 on e: Exception do FbException.catchException(nil, e);
11992 end
11993 end;
11994
11995 function ITracePluginImpl_trace_set_contextDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; cdecl;
11996 begin
11997 try
11998 Result := ITracePluginImpl(this).trace_set_context(connection, transaction, variable);
11999 except
12000 on e: Exception do FbException.catchException(nil, e);
12001 end
12002 end;
12003
12004 function ITracePluginImpl_trace_dsql_prepareDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
12005 begin
12006 try
12007 Result := ITracePluginImpl(this).trace_dsql_prepare(connection, transaction, statement, time_millis, req_result);
12008 except
12009 on e: Exception do FbException.catchException(nil, e);
12010 end
12011 end;
12012
12013 function ITracePluginImpl_trace_dsql_freeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; cdecl;
12014 begin
12015 try
12016 Result := ITracePluginImpl(this).trace_dsql_free(connection, statement, option);
12017 except
12018 on e: Exception do FbException.catchException(nil, e);
12019 end
12020 end;
12021
12022 function ITracePluginImpl_trace_dsql_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; cdecl;
12023 begin
12024 try
12025 Result := ITracePluginImpl(this).trace_dsql_execute(connection, transaction, statement, started, req_result);
12026 except
12027 on e: Exception do FbException.catchException(nil, e);
12028 end
12029 end;
12030
12031 function ITracePluginImpl_trace_blr_compileDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
12032 begin
12033 try
12034 Result := ITracePluginImpl(this).trace_blr_compile(connection, transaction, statement, time_millis, req_result);
12035 except
12036 on e: Exception do FbException.catchException(nil, e);
12037 end
12038 end;
12039
12040 function ITracePluginImpl_trace_blr_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; cdecl;
12041 begin
12042 try
12043 Result := ITracePluginImpl(this).trace_blr_execute(connection, transaction, statement, req_result);
12044 except
12045 on e: Exception do FbException.catchException(nil, e);
12046 end
12047 end;
12048
12049 function ITracePluginImpl_trace_dyn_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
12050 begin
12051 try
12052 Result := ITracePluginImpl(this).trace_dyn_execute(connection, transaction, request, time_millis, req_result);
12053 except
12054 on e: Exception do FbException.catchException(nil, e);
12055 end
12056 end;
12057
12058 function ITracePluginImpl_trace_service_attachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; att_result: Cardinal): Boolean; cdecl;
12059 begin
12060 try
12061 Result := ITracePluginImpl(this).trace_service_attach(service, att_result);
12062 except
12063 on e: Exception do FbException.catchException(nil, e);
12064 end
12065 end;
12066
12067 function ITracePluginImpl_trace_service_startDispatcher(this: ITracePlugin; service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; cdecl;
12068 begin
12069 try
12070 Result := ITracePluginImpl(this).trace_service_start(service, switches_length, switches, start_result);
12071 except
12072 on e: Exception do FbException.catchException(nil, e);
12073 end
12074 end;
12075
12076 function ITracePluginImpl_trace_service_queryDispatcher(this: ITracePlugin; service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean; cdecl;
12077 begin
12078 try
12079 Result := ITracePluginImpl(this).trace_service_query(service, send_item_length, send_items, recv_item_length, recv_items, query_result);
12080 except
12081 on e: Exception do FbException.catchException(nil, e);
12082 end
12083 end;
12084
12085 function ITracePluginImpl_trace_service_detachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; detach_result: Cardinal): Boolean; cdecl;
12086 begin
12087 try
12088 Result := ITracePluginImpl(this).trace_service_detach(service, detach_result);
12089 except
12090 on e: Exception do FbException.catchException(nil, e);
12091 end
12092 end;
12093
12094 function ITracePluginImpl_trace_event_errorDispatcher(this: ITracePlugin; connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; cdecl;
12095 begin
12096 try
12097 Result := ITracePluginImpl(this).trace_event_error(connection, status, function_);
12098 except
12099 on e: Exception do FbException.catchException(nil, e);
12100 end
12101 end;
12102
12103 function ITracePluginImpl_trace_event_sweepDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; cdecl;
12104 begin
12105 try
12106 Result := ITracePluginImpl(this).trace_event_sweep(connection, sweep, sweep_state);
12107 except
12108 on e: Exception do FbException.catchException(nil, e);
12109 end
12110 end;
12111
12112 function ITracePluginImpl_trace_func_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; cdecl;
12113 begin
12114 try
12115 Result := ITracePluginImpl(this).trace_func_execute(connection, transaction, function_, started, func_result);
12116 except
12117 on e: Exception do FbException.catchException(nil, e);
12118 end
12119 end;
12120
12121 var
12122 ITracePluginImpl_vTable: TracePluginVTable;
12123
12124 constructor ITracePluginImpl.create;
12125 begin
12126 vTable := ITracePluginImpl_vTable;
12127 end;
12128
12129 procedure ITraceFactoryImpl_addRefDispatcher(this: ITraceFactory); cdecl;
12130 begin
12131 try
12132 ITraceFactoryImpl(this).addRef();
12133 except
12134 on e: Exception do FbException.catchException(nil, e);
12135 end
12136 end;
12137
12138 function ITraceFactoryImpl_releaseDispatcher(this: ITraceFactory): Integer; cdecl;
12139 begin
12140 try
12141 Result := ITraceFactoryImpl(this).release();
12142 except
12143 on e: Exception do FbException.catchException(nil, e);
12144 end
12145 end;
12146
12147 procedure ITraceFactoryImpl_setOwnerDispatcher(this: ITraceFactory; r: IReferenceCounted); cdecl;
12148 begin
12149 try
12150 ITraceFactoryImpl(this).setOwner(r);
12151 except
12152 on e: Exception do FbException.catchException(nil, e);
12153 end
12154 end;
12155
12156 function ITraceFactoryImpl_getOwnerDispatcher(this: ITraceFactory): IReferenceCounted; cdecl;
12157 begin
12158 try
12159 Result := ITraceFactoryImpl(this).getOwner();
12160 except
12161 on e: Exception do FbException.catchException(nil, e);
12162 end
12163 end;
12164
12165 function ITraceFactoryImpl_trace_needsDispatcher(this: ITraceFactory): QWord; cdecl;
12166 begin
12167 try
12168 Result := ITraceFactoryImpl(this).trace_needs();
12169 except
12170 on e: Exception do FbException.catchException(nil, e);
12171 end
12172 end;
12173
12174 function ITraceFactoryImpl_trace_createDispatcher(this: ITraceFactory; status: IStatus; init_info: ITraceInitInfo): ITracePlugin; cdecl;
12175 begin
12176 try
12177 Result := ITraceFactoryImpl(this).trace_create(status, init_info);
12178 except
12179 on e: Exception do FbException.catchException(status, e);
12180 end
12181 end;
12182
12183 var
12184 ITraceFactoryImpl_vTable: TraceFactoryVTable;
12185
12186 constructor ITraceFactoryImpl.create;
12187 begin
12188 vTable := ITraceFactoryImpl_vTable;
12189 end;
12190
12191 procedure IUdrFunctionFactoryImpl_disposeDispatcher(this: IUdrFunctionFactory); cdecl;
12192 begin
12193 try
12194 IUdrFunctionFactoryImpl(this).dispose();
12195 except
12196 on e: Exception do FbException.catchException(nil, e);
12197 end
12198 end;
12199
12200 procedure IUdrFunctionFactoryImpl_setupDispatcher(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
12201 begin
12202 try
12203 IUdrFunctionFactoryImpl(this).setup(status, context, metadata, inBuilder, outBuilder);
12204 except
12205 on e: Exception do FbException.catchException(status, e);
12206 end
12207 end;
12208
12209 function IUdrFunctionFactoryImpl_newItemDispatcher(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; cdecl;
12210 begin
12211 try
12212 Result := IUdrFunctionFactoryImpl(this).newItem(status, context, metadata);
12213 except
12214 on e: Exception do FbException.catchException(status, e);
12215 end
12216 end;
12217
12218 var
12219 IUdrFunctionFactoryImpl_vTable: UdrFunctionFactoryVTable;
12220
12221 constructor IUdrFunctionFactoryImpl.create;
12222 begin
12223 vTable := IUdrFunctionFactoryImpl_vTable;
12224 end;
12225
12226 procedure IUdrProcedureFactoryImpl_disposeDispatcher(this: IUdrProcedureFactory); cdecl;
12227 begin
12228 try
12229 IUdrProcedureFactoryImpl(this).dispose();
12230 except
12231 on e: Exception do FbException.catchException(nil, e);
12232 end
12233 end;
12234
12235 procedure IUdrProcedureFactoryImpl_setupDispatcher(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
12236 begin
12237 try
12238 IUdrProcedureFactoryImpl(this).setup(status, context, metadata, inBuilder, outBuilder);
12239 except
12240 on e: Exception do FbException.catchException(status, e);
12241 end
12242 end;
12243
12244 function IUdrProcedureFactoryImpl_newItemDispatcher(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; cdecl;
12245 begin
12246 try
12247 Result := IUdrProcedureFactoryImpl(this).newItem(status, context, metadata);
12248 except
12249 on e: Exception do FbException.catchException(status, e);
12250 end
12251 end;
12252
12253 var
12254 IUdrProcedureFactoryImpl_vTable: UdrProcedureFactoryVTable;
12255
12256 constructor IUdrProcedureFactoryImpl.create;
12257 begin
12258 vTable := IUdrProcedureFactoryImpl_vTable;
12259 end;
12260
12261 procedure IUdrTriggerFactoryImpl_disposeDispatcher(this: IUdrTriggerFactory); cdecl;
12262 begin
12263 try
12264 IUdrTriggerFactoryImpl(this).dispose();
12265 except
12266 on e: Exception do FbException.catchException(nil, e);
12267 end
12268 end;
12269
12270 procedure IUdrTriggerFactoryImpl_setupDispatcher(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); cdecl;
12271 begin
12272 try
12273 IUdrTriggerFactoryImpl(this).setup(status, context, metadata, fieldsBuilder);
12274 except
12275 on e: Exception do FbException.catchException(status, e);
12276 end
12277 end;
12278
12279 function IUdrTriggerFactoryImpl_newItemDispatcher(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; cdecl;
12280 begin
12281 try
12282 Result := IUdrTriggerFactoryImpl(this).newItem(status, context, metadata);
12283 except
12284 on e: Exception do FbException.catchException(status, e);
12285 end
12286 end;
12287
12288 var
12289 IUdrTriggerFactoryImpl_vTable: UdrTriggerFactoryVTable;
12290
12291 constructor IUdrTriggerFactoryImpl.create;
12292 begin
12293 vTable := IUdrTriggerFactoryImpl_vTable;
12294 end;
12295
12296 function IUdrPluginImpl_getMasterDispatcher(this: IUdrPlugin): IMaster; cdecl;
12297 begin
12298 try
12299 Result := IUdrPluginImpl(this).getMaster();
12300 except
12301 on e: Exception do FbException.catchException(nil, e);
12302 end
12303 end;
12304
12305 procedure IUdrPluginImpl_registerFunctionDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); cdecl;
12306 begin
12307 try
12308 IUdrPluginImpl(this).registerFunction(status, name, factory);
12309 except
12310 on e: Exception do FbException.catchException(status, e);
12311 end
12312 end;
12313
12314 procedure IUdrPluginImpl_registerProcedureDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); cdecl;
12315 begin
12316 try
12317 IUdrPluginImpl(this).registerProcedure(status, name, factory);
12318 except
12319 on e: Exception do FbException.catchException(status, e);
12320 end
12321 end;
12322
12323 procedure IUdrPluginImpl_registerTriggerDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); cdecl;
12324 begin
12325 try
12326 IUdrPluginImpl(this).registerTrigger(status, name, factory);
12327 except
12328 on e: Exception do FbException.catchException(status, e);
12329 end
12330 end;
12331
12332 var
12333 IUdrPluginImpl_vTable: UdrPluginVTable;
12334
12335 constructor IUdrPluginImpl.create;
12336 begin
12337 vTable := IUdrPluginImpl_vTable;
12338 end;
12339
12340 procedure IDecFloat16Impl_toBcdDispatcher(this: IDecFloat16; from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
12341 begin
12342 try
12343 IDecFloat16Impl(this).toBcd(from, sign, bcd, exp);
12344 except
12345 on e: Exception do FbException.catchException(nil, e);
12346 end
12347 end;
12348
12349 procedure IDecFloat16Impl_toStringDispatcher(this: IDecFloat16; status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
12350 begin
12351 try
12352 IDecFloat16Impl(this).toString(status, from, bufferLength, buffer);
12353 except
12354 on e: Exception do FbException.catchException(status, e);
12355 end
12356 end;
12357
12358 procedure IDecFloat16Impl_fromBcdDispatcher(this: IDecFloat16; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr); cdecl;
12359 begin
12360 try
12361 IDecFloat16Impl(this).fromBcd(sign, bcd, exp, to_);
12362 except
12363 on e: Exception do FbException.catchException(nil, e);
12364 end
12365 end;
12366
12367 procedure IDecFloat16Impl_fromStringDispatcher(this: IDecFloat16; status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr); cdecl;
12368 begin
12369 try
12370 IDecFloat16Impl(this).fromString(status, from, to_);
12371 except
12372 on e: Exception do FbException.catchException(status, e);
12373 end
12374 end;
12375
12376 var
12377 IDecFloat16Impl_vTable: DecFloat16VTable;
12378
12379 constructor IDecFloat16Impl.create;
12380 begin
12381 vTable := IDecFloat16Impl_vTable;
12382 end;
12383
12384 procedure IDecFloat34Impl_toBcdDispatcher(this: IDecFloat34; from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
12385 begin
12386 try
12387 IDecFloat34Impl(this).toBcd(from, sign, bcd, exp);
12388 except
12389 on e: Exception do FbException.catchException(nil, e);
12390 end
12391 end;
12392
12393 procedure IDecFloat34Impl_toStringDispatcher(this: IDecFloat34; status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
12394 begin
12395 try
12396 IDecFloat34Impl(this).toString(status, from, bufferLength, buffer);
12397 except
12398 on e: Exception do FbException.catchException(status, e);
12399 end
12400 end;
12401
12402 procedure IDecFloat34Impl_fromBcdDispatcher(this: IDecFloat34; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr); cdecl;
12403 begin
12404 try
12405 IDecFloat34Impl(this).fromBcd(sign, bcd, exp, to_);
12406 except
12407 on e: Exception do FbException.catchException(nil, e);
12408 end
12409 end;
12410
12411 procedure IDecFloat34Impl_fromStringDispatcher(this: IDecFloat34; status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr); cdecl;
12412 begin
12413 try
12414 IDecFloat34Impl(this).fromString(status, from, to_);
12415 except
12416 on e: Exception do FbException.catchException(status, e);
12417 end
12418 end;
12419
12420 var
12421 IDecFloat34Impl_vTable: DecFloat34VTable;
12422
12423 constructor IDecFloat34Impl.create;
12424 begin
12425 vTable := IDecFloat34Impl_vTable;
12426 end;
12427
12428 procedure IInt128Impl_toStringDispatcher(this: IInt128; status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
12429 begin
12430 try
12431 IInt128Impl(this).toString(status, from, scale, bufferLength, buffer);
12432 except
12433 on e: Exception do FbException.catchException(status, e);
12434 end
12435 end;
12436
12437 procedure IInt128Impl_fromStringDispatcher(this: IInt128; status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr); cdecl;
12438 begin
12439 try
12440 IInt128Impl(this).fromString(status, scale, from, to_);
12441 except
12442 on e: Exception do FbException.catchException(status, e);
12443 end
12444 end;
12445
12446 var
12447 IInt128Impl_vTable: Int128VTable;
12448
12449 constructor IInt128Impl.create;
12450 begin
12451 vTable := IInt128Impl_vTable;
12452 end;
12453
12454 function IReplicatedFieldImpl_getNameDispatcher(this: IReplicatedField): PAnsiChar; cdecl;
12455 begin
12456 try
12457 Result := IReplicatedFieldImpl(this).getName();
12458 except
12459 on e: Exception do FbException.catchException(nil, e);
12460 end
12461 end;
12462
12463 function IReplicatedFieldImpl_getTypeDispatcher(this: IReplicatedField): Cardinal; cdecl;
12464 begin
12465 try
12466 Result := IReplicatedFieldImpl(this).getType();
12467 except
12468 on e: Exception do FbException.catchException(nil, e);
12469 end
12470 end;
12471
12472 function IReplicatedFieldImpl_getSubTypeDispatcher(this: IReplicatedField): Integer; cdecl;
12473 begin
12474 try
12475 Result := IReplicatedFieldImpl(this).getSubType();
12476 except
12477 on e: Exception do FbException.catchException(nil, e);
12478 end
12479 end;
12480
12481 function IReplicatedFieldImpl_getScaleDispatcher(this: IReplicatedField): Integer; cdecl;
12482 begin
12483 try
12484 Result := IReplicatedFieldImpl(this).getScale();
12485 except
12486 on e: Exception do FbException.catchException(nil, e);
12487 end
12488 end;
12489
12490 function IReplicatedFieldImpl_getLengthDispatcher(this: IReplicatedField): Cardinal; cdecl;
12491 begin
12492 try
12493 Result := IReplicatedFieldImpl(this).getLength();
12494 except
12495 on e: Exception do FbException.catchException(nil, e);
12496 end
12497 end;
12498
12499 function IReplicatedFieldImpl_getCharSetDispatcher(this: IReplicatedField): Cardinal; cdecl;
12500 begin
12501 try
12502 Result := IReplicatedFieldImpl(this).getCharSet();
12503 except
12504 on e: Exception do FbException.catchException(nil, e);
12505 end
12506 end;
12507
12508 function IReplicatedFieldImpl_getDataDispatcher(this: IReplicatedField): Pointer; cdecl;
12509 begin
12510 try
12511 Result := IReplicatedFieldImpl(this).getData();
12512 except
12513 on e: Exception do FbException.catchException(nil, e);
12514 end
12515 end;
12516
12517 var
12518 IReplicatedFieldImpl_vTable: ReplicatedFieldVTable;
12519
12520 constructor IReplicatedFieldImpl.create;
12521 begin
12522 vTable := IReplicatedFieldImpl_vTable;
12523 end;
12524
12525 function IReplicatedRecordImpl_getCountDispatcher(this: IReplicatedRecord): Cardinal; cdecl;
12526 begin
12527 try
12528 Result := IReplicatedRecordImpl(this).getCount();
12529 except
12530 on e: Exception do FbException.catchException(nil, e);
12531 end
12532 end;
12533
12534 function IReplicatedRecordImpl_getFieldDispatcher(this: IReplicatedRecord; index: Cardinal): IReplicatedField; cdecl;
12535 begin
12536 try
12537 Result := IReplicatedRecordImpl(this).getField(index);
12538 except
12539 on e: Exception do FbException.catchException(nil, e);
12540 end
12541 end;
12542
12543 function IReplicatedRecordImpl_getRawLengthDispatcher(this: IReplicatedRecord): Cardinal; cdecl;
12544 begin
12545 try
12546 Result := IReplicatedRecordImpl(this).getRawLength();
12547 except
12548 on e: Exception do FbException.catchException(nil, e);
12549 end
12550 end;
12551
12552 function IReplicatedRecordImpl_getRawDataDispatcher(this: IReplicatedRecord): BytePtr; cdecl;
12553 begin
12554 try
12555 Result := IReplicatedRecordImpl(this).getRawData();
12556 except
12557 on e: Exception do FbException.catchException(nil, e);
12558 end
12559 end;
12560
12561 var
12562 IReplicatedRecordImpl_vTable: ReplicatedRecordVTable;
12563
12564 constructor IReplicatedRecordImpl.create;
12565 begin
12566 vTable := IReplicatedRecordImpl_vTable;
12567 end;
12568
12569 procedure IReplicatedTransactionImpl_disposeDispatcher(this: IReplicatedTransaction); cdecl;
12570 begin
12571 try
12572 IReplicatedTransactionImpl(this).dispose();
12573 except
12574 on e: Exception do FbException.catchException(nil, e);
12575 end
12576 end;
12577
12578 procedure IReplicatedTransactionImpl_prepareDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12579 begin
12580 try
12581 IReplicatedTransactionImpl(this).prepare(status);
12582 except
12583 on e: Exception do FbException.catchException(status, e);
12584 end
12585 end;
12586
12587 procedure IReplicatedTransactionImpl_commitDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12588 begin
12589 try
12590 IReplicatedTransactionImpl(this).commit(status);
12591 except
12592 on e: Exception do FbException.catchException(status, e);
12593 end
12594 end;
12595
12596 procedure IReplicatedTransactionImpl_rollbackDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12597 begin
12598 try
12599 IReplicatedTransactionImpl(this).rollback(status);
12600 except
12601 on e: Exception do FbException.catchException(status, e);
12602 end
12603 end;
12604
12605 procedure IReplicatedTransactionImpl_startSavepointDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12606 begin
12607 try
12608 IReplicatedTransactionImpl(this).startSavepoint(status);
12609 except
12610 on e: Exception do FbException.catchException(status, e);
12611 end
12612 end;
12613
12614 procedure IReplicatedTransactionImpl_releaseSavepointDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12615 begin
12616 try
12617 IReplicatedTransactionImpl(this).releaseSavepoint(status);
12618 except
12619 on e: Exception do FbException.catchException(status, e);
12620 end
12621 end;
12622
12623 procedure IReplicatedTransactionImpl_rollbackSavepointDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12624 begin
12625 try
12626 IReplicatedTransactionImpl(this).rollbackSavepoint(status);
12627 except
12628 on e: Exception do FbException.catchException(status, e);
12629 end
12630 end;
12631
12632 procedure IReplicatedTransactionImpl_insertRecordDispatcher(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
12633 begin
12634 try
12635 IReplicatedTransactionImpl(this).insertRecord(status, name, record_);
12636 except
12637 on e: Exception do FbException.catchException(status, e);
12638 end
12639 end;
12640
12641 procedure IReplicatedTransactionImpl_updateRecordDispatcher(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord); cdecl;
12642 begin
12643 try
12644 IReplicatedTransactionImpl(this).updateRecord(status, name, orgRecord, newRecord);
12645 except
12646 on e: Exception do FbException.catchException(status, e);
12647 end
12648 end;
12649
12650 procedure IReplicatedTransactionImpl_deleteRecordDispatcher(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
12651 begin
12652 try
12653 IReplicatedTransactionImpl(this).deleteRecord(status, name, record_);
12654 except
12655 on e: Exception do FbException.catchException(status, e);
12656 end
12657 end;
12658
12659 procedure IReplicatedTransactionImpl_executeSqlDispatcher(this: IReplicatedTransaction; status: IStatus; sql: PAnsiChar); cdecl;
12660 begin
12661 try
12662 IReplicatedTransactionImpl(this).executeSql(status, sql);
12663 except
12664 on e: Exception do FbException.catchException(status, e);
12665 end
12666 end;
12667
12668 procedure IReplicatedTransactionImpl_executeSqlIntlDispatcher(this: IReplicatedTransaction; status: IStatus; charset: Cardinal; sql: PAnsiChar); cdecl;
12669 begin
12670 try
12671 IReplicatedTransactionImpl(this).executeSqlIntl(status, charset, sql);
12672 except
12673 on e: Exception do FbException.catchException(status, e);
12674 end
12675 end;
12676
12677 var
12678 IReplicatedTransactionImpl_vTable: ReplicatedTransactionVTable;
12679
12680 constructor IReplicatedTransactionImpl.create;
12681 begin
12682 vTable := IReplicatedTransactionImpl_vTable;
12683 end;
12684
12685 procedure IReplicatedSessionImpl_addRefDispatcher(this: IReplicatedSession); cdecl;
12686 begin
12687 try
12688 IReplicatedSessionImpl(this).addRef();
12689 except
12690 on e: Exception do FbException.catchException(nil, e);
12691 end
12692 end;
12693
12694 function IReplicatedSessionImpl_releaseDispatcher(this: IReplicatedSession): Integer; cdecl;
12695 begin
12696 try
12697 Result := IReplicatedSessionImpl(this).release();
12698 except
12699 on e: Exception do FbException.catchException(nil, e);
12700 end
12701 end;
12702
12703 procedure IReplicatedSessionImpl_setOwnerDispatcher(this: IReplicatedSession; r: IReferenceCounted); cdecl;
12704 begin
12705 try
12706 IReplicatedSessionImpl(this).setOwner(r);
12707 except
12708 on e: Exception do FbException.catchException(nil, e);
12709 end
12710 end;
12711
12712 function IReplicatedSessionImpl_getOwnerDispatcher(this: IReplicatedSession): IReferenceCounted; cdecl;
12713 begin
12714 try
12715 Result := IReplicatedSessionImpl(this).getOwner();
12716 except
12717 on e: Exception do FbException.catchException(nil, e);
12718 end
12719 end;
12720
12721 procedure IReplicatedSessionImpl_setAttachmentDispatcher(this: IReplicatedSession; attachment: IAttachment); cdecl;
12722 begin
12723 try
12724 IReplicatedSessionImpl(this).setAttachment(attachment);
12725 except
12726 on e: Exception do FbException.catchException(nil, e);
12727 end
12728 end;
12729
12730 function IReplicatedSessionImpl_startTransactionDispatcher(this: IReplicatedSession; status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction; cdecl;
12731 begin
12732 try
12733 Result := IReplicatedSessionImpl(this).startTransaction(status, transaction, number);
12734 except
12735 on e: Exception do FbException.catchException(status, e);
12736 end
12737 end;
12738
12739 procedure IReplicatedSessionImpl_cleanupTransactionDispatcher(this: IReplicatedSession; status: IStatus; number: Int64); cdecl;
12740 begin
12741 try
12742 IReplicatedSessionImpl(this).cleanupTransaction(status, number);
12743 except
12744 on e: Exception do FbException.catchException(status, e);
12745 end
12746 end;
12747
12748 procedure IReplicatedSessionImpl_setSequenceDispatcher(this: IReplicatedSession; status: IStatus; name: PAnsiChar; value: Int64); cdecl;
12749 begin
12750 try
12751 IReplicatedSessionImpl(this).setSequence(status, name, value);
12752 except
12753 on e: Exception do FbException.catchException(status, e);
12754 end
12755 end;
12756
12757 var
12758 IReplicatedSessionImpl_vTable: ReplicatedSessionVTable;
12759
12760 constructor IReplicatedSessionImpl.create;
12761 begin
12762 vTable := IReplicatedSessionImpl_vTable;
12763 end;
12764
12765 constructor FbException.create(status: IStatus);
12766 begin
12767 inherited Create('FbException');
12768 self.status := status.clone;
12769 end;
12770
12771 destructor FbException.Destroy();
12772 begin
12773 status.dispose;
12774 inherited Destroy;
12775 end;
12776
12777 function FbException.getStatus: IStatus;
12778 begin
12779 Result := status;
12780 end;
12781
12782 class procedure FbException.checkException(status: IStatus);
12783 begin
12784 if ((status.getState and status.STATE_ERRORS) <> 0) then
12785 raise FbException.create(status);
12786 end;
12787
12788 class procedure FbException.catchException(status: IStatus; e: Exception);
12789 var
12790 statusVector: array[0..4] of NativeIntPtr;
12791 msg: AnsiString;
12792 begin
12793 if (e.inheritsFrom(FbException)) then
12794 status.setErrors(FbException(e).getStatus.getErrors)
12795 else
12796 begin
12797 msg := e.message;
12798
12799 statusVector[0] := NativeIntPtr(isc_arg_gds);
12800 statusVector[1] := NativeIntPtr(isc_random);
12801 statusVector[2] := NativeIntPtr(isc_arg_string);
12802 statusVector[3] := NativeIntPtr(PAnsiChar(msg));
12803 statusVector[4] := NativeIntPtr(isc_arg_end);
12804
12805 status.setErrors(@statusVector);
12806 end
12807 end;
12808 initialization
12809 IVersionedImpl_vTable := VersionedVTable.create;
12810 IVersionedImpl_vTable.version := 1;
12811
12812 IReferenceCountedImpl_vTable := ReferenceCountedVTable.create;
12813 IReferenceCountedImpl_vTable.version := 2;
12814 IReferenceCountedImpl_vTable.addRef := @IReferenceCountedImpl_addRefDispatcher;
12815 IReferenceCountedImpl_vTable.release := @IReferenceCountedImpl_releaseDispatcher;
12816
12817 IDisposableImpl_vTable := DisposableVTable.create;
12818 IDisposableImpl_vTable.version := 2;
12819 IDisposableImpl_vTable.dispose := @IDisposableImpl_disposeDispatcher;
12820
12821 IStatusImpl_vTable := StatusVTable.create;
12822 IStatusImpl_vTable.version := 3;
12823 IStatusImpl_vTable.dispose := @IStatusImpl_disposeDispatcher;
12824 IStatusImpl_vTable.init := @IStatusImpl_initDispatcher;
12825 IStatusImpl_vTable.getState := @IStatusImpl_getStateDispatcher;
12826 IStatusImpl_vTable.setErrors2 := @IStatusImpl_setErrors2Dispatcher;
12827 IStatusImpl_vTable.setWarnings2 := @IStatusImpl_setWarnings2Dispatcher;
12828 IStatusImpl_vTable.setErrors := @IStatusImpl_setErrorsDispatcher;
12829 IStatusImpl_vTable.setWarnings := @IStatusImpl_setWarningsDispatcher;
12830 IStatusImpl_vTable.getErrors := @IStatusImpl_getErrorsDispatcher;
12831 IStatusImpl_vTable.getWarnings := @IStatusImpl_getWarningsDispatcher;
12832 IStatusImpl_vTable.clone := @IStatusImpl_cloneDispatcher;
12833
12834 IMasterImpl_vTable := MasterVTable.create;
12835 IMasterImpl_vTable.version := 2;
12836 IMasterImpl_vTable.getStatus := @IMasterImpl_getStatusDispatcher;
12837 IMasterImpl_vTable.getDispatcher := @IMasterImpl_getDispatcherDispatcher;
12838 IMasterImpl_vTable.getPluginManager := @IMasterImpl_getPluginManagerDispatcher;
12839 IMasterImpl_vTable.getTimerControl := @IMasterImpl_getTimerControlDispatcher;
12840 IMasterImpl_vTable.getDtc := @IMasterImpl_getDtcDispatcher;
12841 IMasterImpl_vTable.registerAttachment := @IMasterImpl_registerAttachmentDispatcher;
12842 IMasterImpl_vTable.registerTransaction := @IMasterImpl_registerTransactionDispatcher;
12843 IMasterImpl_vTable.getMetadataBuilder := @IMasterImpl_getMetadataBuilderDispatcher;
12844 IMasterImpl_vTable.serverMode := @IMasterImpl_serverModeDispatcher;
12845 IMasterImpl_vTable.getUtilInterface := @IMasterImpl_getUtilInterfaceDispatcher;
12846 IMasterImpl_vTable.getConfigManager := @IMasterImpl_getConfigManagerDispatcher;
12847 IMasterImpl_vTable.getProcessExiting := @IMasterImpl_getProcessExitingDispatcher;
12848
12849 IPluginBaseImpl_vTable := PluginBaseVTable.create;
12850 IPluginBaseImpl_vTable.version := 3;
12851 IPluginBaseImpl_vTable.addRef := @IPluginBaseImpl_addRefDispatcher;
12852 IPluginBaseImpl_vTable.release := @IPluginBaseImpl_releaseDispatcher;
12853 IPluginBaseImpl_vTable.setOwner := @IPluginBaseImpl_setOwnerDispatcher;
12854 IPluginBaseImpl_vTable.getOwner := @IPluginBaseImpl_getOwnerDispatcher;
12855
12856 IPluginSetImpl_vTable := PluginSetVTable.create;
12857 IPluginSetImpl_vTable.version := 3;
12858 IPluginSetImpl_vTable.addRef := @IPluginSetImpl_addRefDispatcher;
12859 IPluginSetImpl_vTable.release := @IPluginSetImpl_releaseDispatcher;
12860 IPluginSetImpl_vTable.getName := @IPluginSetImpl_getNameDispatcher;
12861 IPluginSetImpl_vTable.getModuleName := @IPluginSetImpl_getModuleNameDispatcher;
12862 IPluginSetImpl_vTable.getPlugin := @IPluginSetImpl_getPluginDispatcher;
12863 IPluginSetImpl_vTable.next := @IPluginSetImpl_nextDispatcher;
12864 IPluginSetImpl_vTable.set_ := @IPluginSetImpl_set_Dispatcher;
12865
12866 IConfigEntryImpl_vTable := ConfigEntryVTable.create;
12867 IConfigEntryImpl_vTable.version := 3;
12868 IConfigEntryImpl_vTable.addRef := @IConfigEntryImpl_addRefDispatcher;
12869 IConfigEntryImpl_vTable.release := @IConfigEntryImpl_releaseDispatcher;
12870 IConfigEntryImpl_vTable.getName := @IConfigEntryImpl_getNameDispatcher;
12871 IConfigEntryImpl_vTable.getValue := @IConfigEntryImpl_getValueDispatcher;
12872 IConfigEntryImpl_vTable.getIntValue := @IConfigEntryImpl_getIntValueDispatcher;
12873 IConfigEntryImpl_vTable.getBoolValue := @IConfigEntryImpl_getBoolValueDispatcher;
12874 IConfigEntryImpl_vTable.getSubConfig := @IConfigEntryImpl_getSubConfigDispatcher;
12875
12876 IConfigImpl_vTable := ConfigVTable.create;
12877 IConfigImpl_vTable.version := 3;
12878 IConfigImpl_vTable.addRef := @IConfigImpl_addRefDispatcher;
12879 IConfigImpl_vTable.release := @IConfigImpl_releaseDispatcher;
12880 IConfigImpl_vTable.find := @IConfigImpl_findDispatcher;
12881 IConfigImpl_vTable.findValue := @IConfigImpl_findValueDispatcher;
12882 IConfigImpl_vTable.findPos := @IConfigImpl_findPosDispatcher;
12883
12884 IFirebirdConfImpl_vTable := FirebirdConfVTable.create;
12885 IFirebirdConfImpl_vTable.version := 4;
12886 IFirebirdConfImpl_vTable.addRef := @IFirebirdConfImpl_addRefDispatcher;
12887 IFirebirdConfImpl_vTable.release := @IFirebirdConfImpl_releaseDispatcher;
12888 IFirebirdConfImpl_vTable.getKey := @IFirebirdConfImpl_getKeyDispatcher;
12889 IFirebirdConfImpl_vTable.asInteger := @IFirebirdConfImpl_asIntegerDispatcher;
12890 IFirebirdConfImpl_vTable.asString := @IFirebirdConfImpl_asStringDispatcher;
12891 IFirebirdConfImpl_vTable.asBoolean := @IFirebirdConfImpl_asBooleanDispatcher;
12892 IFirebirdConfImpl_vTable.getVersion := @IFirebirdConfImpl_getVersionDispatcher;
12893
12894 IPluginConfigImpl_vTable := PluginConfigVTable.create;
12895 IPluginConfigImpl_vTable.version := 3;
12896 IPluginConfigImpl_vTable.addRef := @IPluginConfigImpl_addRefDispatcher;
12897 IPluginConfigImpl_vTable.release := @IPluginConfigImpl_releaseDispatcher;
12898 IPluginConfigImpl_vTable.getConfigFileName := @IPluginConfigImpl_getConfigFileNameDispatcher;
12899 IPluginConfigImpl_vTable.getDefaultConfig := @IPluginConfigImpl_getDefaultConfigDispatcher;
12900 IPluginConfigImpl_vTable.getFirebirdConf := @IPluginConfigImpl_getFirebirdConfDispatcher;
12901 IPluginConfigImpl_vTable.setReleaseDelay := @IPluginConfigImpl_setReleaseDelayDispatcher;
12902
12903 IPluginFactoryImpl_vTable := PluginFactoryVTable.create;
12904 IPluginFactoryImpl_vTable.version := 2;
12905 IPluginFactoryImpl_vTable.createPlugin := @IPluginFactoryImpl_createPluginDispatcher;
12906
12907 IPluginModuleImpl_vTable := PluginModuleVTable.create;
12908 IPluginModuleImpl_vTable.version := 3;
12909 IPluginModuleImpl_vTable.doClean := @IPluginModuleImpl_doCleanDispatcher;
12910 IPluginModuleImpl_vTable.threadDetach := @IPluginModuleImpl_threadDetachDispatcher;
12911
12912 IPluginManagerImpl_vTable := PluginManagerVTable.create;
12913 IPluginManagerImpl_vTable.version := 2;
12914 IPluginManagerImpl_vTable.registerPluginFactory := @IPluginManagerImpl_registerPluginFactoryDispatcher;
12915 IPluginManagerImpl_vTable.registerModule := @IPluginManagerImpl_registerModuleDispatcher;
12916 IPluginManagerImpl_vTable.unregisterModule := @IPluginManagerImpl_unregisterModuleDispatcher;
12917 IPluginManagerImpl_vTable.getPlugins := @IPluginManagerImpl_getPluginsDispatcher;
12918 IPluginManagerImpl_vTable.getConfig := @IPluginManagerImpl_getConfigDispatcher;
12919 IPluginManagerImpl_vTable.releasePlugin := @IPluginManagerImpl_releasePluginDispatcher;
12920
12921 ICryptKeyImpl_vTable := CryptKeyVTable.create;
12922 ICryptKeyImpl_vTable.version := 2;
12923 ICryptKeyImpl_vTable.setSymmetric := @ICryptKeyImpl_setSymmetricDispatcher;
12924 ICryptKeyImpl_vTable.setAsymmetric := @ICryptKeyImpl_setAsymmetricDispatcher;
12925 ICryptKeyImpl_vTable.getEncryptKey := @ICryptKeyImpl_getEncryptKeyDispatcher;
12926 ICryptKeyImpl_vTable.getDecryptKey := @ICryptKeyImpl_getDecryptKeyDispatcher;
12927
12928 IConfigManagerImpl_vTable := ConfigManagerVTable.create;
12929 IConfigManagerImpl_vTable.version := 3;
12930 IConfigManagerImpl_vTable.getDirectory := @IConfigManagerImpl_getDirectoryDispatcher;
12931 IConfigManagerImpl_vTable.getFirebirdConf := @IConfigManagerImpl_getFirebirdConfDispatcher;
12932 IConfigManagerImpl_vTable.getDatabaseConf := @IConfigManagerImpl_getDatabaseConfDispatcher;
12933 IConfigManagerImpl_vTable.getPluginConfig := @IConfigManagerImpl_getPluginConfigDispatcher;
12934 IConfigManagerImpl_vTable.getInstallDirectory := @IConfigManagerImpl_getInstallDirectoryDispatcher;
12935 IConfigManagerImpl_vTable.getRootDirectory := @IConfigManagerImpl_getRootDirectoryDispatcher;
12936 IConfigManagerImpl_vTable.getDefaultSecurityDb := @IConfigManagerImpl_getDefaultSecurityDbDispatcher;
12937
12938 IEventCallbackImpl_vTable := EventCallbackVTable.create;
12939 IEventCallbackImpl_vTable.version := 3;
12940 IEventCallbackImpl_vTable.addRef := @IEventCallbackImpl_addRefDispatcher;
12941 IEventCallbackImpl_vTable.release := @IEventCallbackImpl_releaseDispatcher;
12942 IEventCallbackImpl_vTable.eventCallbackFunction := @IEventCallbackImpl_eventCallbackFunctionDispatcher;
12943
12944 IBlobImpl_vTable := BlobVTable.create;
12945 IBlobImpl_vTable.version := 3;
12946 IBlobImpl_vTable.addRef := @IBlobImpl_addRefDispatcher;
12947 IBlobImpl_vTable.release := @IBlobImpl_releaseDispatcher;
12948 IBlobImpl_vTable.getInfo := @IBlobImpl_getInfoDispatcher;
12949 IBlobImpl_vTable.getSegment := @IBlobImpl_getSegmentDispatcher;
12950 IBlobImpl_vTable.putSegment := @IBlobImpl_putSegmentDispatcher;
12951 IBlobImpl_vTable.cancel := @IBlobImpl_cancelDispatcher;
12952 IBlobImpl_vTable.close := @IBlobImpl_closeDispatcher;
12953 IBlobImpl_vTable.seek := @IBlobImpl_seekDispatcher;
12954
12955 ITransactionImpl_vTable := TransactionVTable.create;
12956 ITransactionImpl_vTable.version := 3;
12957 ITransactionImpl_vTable.addRef := @ITransactionImpl_addRefDispatcher;
12958 ITransactionImpl_vTable.release := @ITransactionImpl_releaseDispatcher;
12959 ITransactionImpl_vTable.getInfo := @ITransactionImpl_getInfoDispatcher;
12960 ITransactionImpl_vTable.prepare := @ITransactionImpl_prepareDispatcher;
12961 ITransactionImpl_vTable.commit := @ITransactionImpl_commitDispatcher;
12962 ITransactionImpl_vTable.commitRetaining := @ITransactionImpl_commitRetainingDispatcher;
12963 ITransactionImpl_vTable.rollback := @ITransactionImpl_rollbackDispatcher;
12964 ITransactionImpl_vTable.rollbackRetaining := @ITransactionImpl_rollbackRetainingDispatcher;
12965 ITransactionImpl_vTable.disconnect := @ITransactionImpl_disconnectDispatcher;
12966 ITransactionImpl_vTable.join := @ITransactionImpl_joinDispatcher;
12967 ITransactionImpl_vTable.validate := @ITransactionImpl_validateDispatcher;
12968 ITransactionImpl_vTable.enterDtc := @ITransactionImpl_enterDtcDispatcher;
12969
12970 IMessageMetadataImpl_vTable := MessageMetadataVTable.create;
12971 IMessageMetadataImpl_vTable.version := 4;
12972 IMessageMetadataImpl_vTable.addRef := @IMessageMetadataImpl_addRefDispatcher;
12973 IMessageMetadataImpl_vTable.release := @IMessageMetadataImpl_releaseDispatcher;
12974 IMessageMetadataImpl_vTable.getCount := @IMessageMetadataImpl_getCountDispatcher;
12975 IMessageMetadataImpl_vTable.getField := @IMessageMetadataImpl_getFieldDispatcher;
12976 IMessageMetadataImpl_vTable.getRelation := @IMessageMetadataImpl_getRelationDispatcher;
12977 IMessageMetadataImpl_vTable.getOwner := @IMessageMetadataImpl_getOwnerDispatcher;
12978 IMessageMetadataImpl_vTable.getAlias := @IMessageMetadataImpl_getAliasDispatcher;
12979 IMessageMetadataImpl_vTable.getType := @IMessageMetadataImpl_getTypeDispatcher;
12980 IMessageMetadataImpl_vTable.isNullable := @IMessageMetadataImpl_isNullableDispatcher;
12981 IMessageMetadataImpl_vTable.getSubType := @IMessageMetadataImpl_getSubTypeDispatcher;
12982 IMessageMetadataImpl_vTable.getLength := @IMessageMetadataImpl_getLengthDispatcher;
12983 IMessageMetadataImpl_vTable.getScale := @IMessageMetadataImpl_getScaleDispatcher;
12984 IMessageMetadataImpl_vTable.getCharSet := @IMessageMetadataImpl_getCharSetDispatcher;
12985 IMessageMetadataImpl_vTable.getOffset := @IMessageMetadataImpl_getOffsetDispatcher;
12986 IMessageMetadataImpl_vTable.getNullOffset := @IMessageMetadataImpl_getNullOffsetDispatcher;
12987 IMessageMetadataImpl_vTable.getBuilder := @IMessageMetadataImpl_getBuilderDispatcher;
12988 IMessageMetadataImpl_vTable.getMessageLength := @IMessageMetadataImpl_getMessageLengthDispatcher;
12989 IMessageMetadataImpl_vTable.getAlignment := @IMessageMetadataImpl_getAlignmentDispatcher;
12990 IMessageMetadataImpl_vTable.getAlignedLength := @IMessageMetadataImpl_getAlignedLengthDispatcher;
12991
12992 IMetadataBuilderImpl_vTable := MetadataBuilderVTable.create;
12993 IMetadataBuilderImpl_vTable.version := 4;
12994 IMetadataBuilderImpl_vTable.addRef := @IMetadataBuilderImpl_addRefDispatcher;
12995 IMetadataBuilderImpl_vTable.release := @IMetadataBuilderImpl_releaseDispatcher;
12996 IMetadataBuilderImpl_vTable.setType := @IMetadataBuilderImpl_setTypeDispatcher;
12997 IMetadataBuilderImpl_vTable.setSubType := @IMetadataBuilderImpl_setSubTypeDispatcher;
12998 IMetadataBuilderImpl_vTable.setLength := @IMetadataBuilderImpl_setLengthDispatcher;
12999 IMetadataBuilderImpl_vTable.setCharSet := @IMetadataBuilderImpl_setCharSetDispatcher;
13000 IMetadataBuilderImpl_vTable.setScale := @IMetadataBuilderImpl_setScaleDispatcher;
13001 IMetadataBuilderImpl_vTable.truncate := @IMetadataBuilderImpl_truncateDispatcher;
13002 IMetadataBuilderImpl_vTable.moveNameToIndex := @IMetadataBuilderImpl_moveNameToIndexDispatcher;
13003 IMetadataBuilderImpl_vTable.remove := @IMetadataBuilderImpl_removeDispatcher;
13004 IMetadataBuilderImpl_vTable.addField := @IMetadataBuilderImpl_addFieldDispatcher;
13005 IMetadataBuilderImpl_vTable.getMetadata := @IMetadataBuilderImpl_getMetadataDispatcher;
13006 IMetadataBuilderImpl_vTable.setField := @IMetadataBuilderImpl_setFieldDispatcher;
13007 IMetadataBuilderImpl_vTable.setRelation := @IMetadataBuilderImpl_setRelationDispatcher;
13008 IMetadataBuilderImpl_vTable.setOwner := @IMetadataBuilderImpl_setOwnerDispatcher;
13009 IMetadataBuilderImpl_vTable.setAlias := @IMetadataBuilderImpl_setAliasDispatcher;
13010
13011 IResultSetImpl_vTable := ResultSetVTable.create;
13012 IResultSetImpl_vTable.version := 3;
13013 IResultSetImpl_vTable.addRef := @IResultSetImpl_addRefDispatcher;
13014 IResultSetImpl_vTable.release := @IResultSetImpl_releaseDispatcher;
13015 IResultSetImpl_vTable.fetchNext := @IResultSetImpl_fetchNextDispatcher;
13016 IResultSetImpl_vTable.fetchPrior := @IResultSetImpl_fetchPriorDispatcher;
13017 IResultSetImpl_vTable.fetchFirst := @IResultSetImpl_fetchFirstDispatcher;
13018 IResultSetImpl_vTable.fetchLast := @IResultSetImpl_fetchLastDispatcher;
13019 IResultSetImpl_vTable.fetchAbsolute := @IResultSetImpl_fetchAbsoluteDispatcher;
13020 IResultSetImpl_vTable.fetchRelative := @IResultSetImpl_fetchRelativeDispatcher;
13021 IResultSetImpl_vTable.isEof := @IResultSetImpl_isEofDispatcher;
13022 IResultSetImpl_vTable.isBof := @IResultSetImpl_isBofDispatcher;
13023 IResultSetImpl_vTable.getMetadata := @IResultSetImpl_getMetadataDispatcher;
13024 IResultSetImpl_vTable.close := @IResultSetImpl_closeDispatcher;
13025 IResultSetImpl_vTable.setDelayedOutputFormat := @IResultSetImpl_setDelayedOutputFormatDispatcher;
13026
13027 IStatementImpl_vTable := StatementVTable.create;
13028 IStatementImpl_vTable.version := 4;
13029 IStatementImpl_vTable.addRef := @IStatementImpl_addRefDispatcher;
13030 IStatementImpl_vTable.release := @IStatementImpl_releaseDispatcher;
13031 IStatementImpl_vTable.getInfo := @IStatementImpl_getInfoDispatcher;
13032 IStatementImpl_vTable.getType := @IStatementImpl_getTypeDispatcher;
13033 IStatementImpl_vTable.getPlan := @IStatementImpl_getPlanDispatcher;
13034 IStatementImpl_vTable.getAffectedRecords := @IStatementImpl_getAffectedRecordsDispatcher;
13035 IStatementImpl_vTable.getInputMetadata := @IStatementImpl_getInputMetadataDispatcher;
13036 IStatementImpl_vTable.getOutputMetadata := @IStatementImpl_getOutputMetadataDispatcher;
13037 IStatementImpl_vTable.execute := @IStatementImpl_executeDispatcher;
13038 IStatementImpl_vTable.openCursor := @IStatementImpl_openCursorDispatcher;
13039 IStatementImpl_vTable.setCursorName := @IStatementImpl_setCursorNameDispatcher;
13040 IStatementImpl_vTable.free := @IStatementImpl_freeDispatcher;
13041 IStatementImpl_vTable.getFlags := @IStatementImpl_getFlagsDispatcher;
13042 IStatementImpl_vTable.getTimeout := @IStatementImpl_getTimeoutDispatcher;
13043 IStatementImpl_vTable.setTimeout := @IStatementImpl_setTimeoutDispatcher;
13044 IStatementImpl_vTable.createBatch := @IStatementImpl_createBatchDispatcher;
13045
13046 IBatchImpl_vTable := BatchVTable.create;
13047 IBatchImpl_vTable.version := 3;
13048 IBatchImpl_vTable.addRef := @IBatchImpl_addRefDispatcher;
13049 IBatchImpl_vTable.release := @IBatchImpl_releaseDispatcher;
13050 IBatchImpl_vTable.add := @IBatchImpl_addDispatcher;
13051 IBatchImpl_vTable.addBlob := @IBatchImpl_addBlobDispatcher;
13052 IBatchImpl_vTable.appendBlobData := @IBatchImpl_appendBlobDataDispatcher;
13053 IBatchImpl_vTable.addBlobStream := @IBatchImpl_addBlobStreamDispatcher;
13054 IBatchImpl_vTable.registerBlob := @IBatchImpl_registerBlobDispatcher;
13055 IBatchImpl_vTable.execute := @IBatchImpl_executeDispatcher;
13056 IBatchImpl_vTable.cancel := @IBatchImpl_cancelDispatcher;
13057 IBatchImpl_vTable.getBlobAlignment := @IBatchImpl_getBlobAlignmentDispatcher;
13058 IBatchImpl_vTable.getMetadata := @IBatchImpl_getMetadataDispatcher;
13059 IBatchImpl_vTable.setDefaultBpb := @IBatchImpl_setDefaultBpbDispatcher;
13060
13061 IBatchCompletionStateImpl_vTable := BatchCompletionStateVTable.create;
13062 IBatchCompletionStateImpl_vTable.version := 3;
13063 IBatchCompletionStateImpl_vTable.dispose := @IBatchCompletionStateImpl_disposeDispatcher;
13064 IBatchCompletionStateImpl_vTable.getSize := @IBatchCompletionStateImpl_getSizeDispatcher;
13065 IBatchCompletionStateImpl_vTable.getState := @IBatchCompletionStateImpl_getStateDispatcher;
13066 IBatchCompletionStateImpl_vTable.findError := @IBatchCompletionStateImpl_findErrorDispatcher;
13067 IBatchCompletionStateImpl_vTable.getStatus := @IBatchCompletionStateImpl_getStatusDispatcher;
13068
13069 IReplicatorImpl_vTable := ReplicatorVTable.create;
13070 IReplicatorImpl_vTable.version := 3;
13071 IReplicatorImpl_vTable.addRef := @IReplicatorImpl_addRefDispatcher;
13072 IReplicatorImpl_vTable.release := @IReplicatorImpl_releaseDispatcher;
13073 IReplicatorImpl_vTable.process := @IReplicatorImpl_processDispatcher;
13074 IReplicatorImpl_vTable.close := @IReplicatorImpl_closeDispatcher;
13075
13076 IRequestImpl_vTable := RequestVTable.create;
13077 IRequestImpl_vTable.version := 3;
13078 IRequestImpl_vTable.addRef := @IRequestImpl_addRefDispatcher;
13079 IRequestImpl_vTable.release := @IRequestImpl_releaseDispatcher;
13080 IRequestImpl_vTable.receive := @IRequestImpl_receiveDispatcher;
13081 IRequestImpl_vTable.send := @IRequestImpl_sendDispatcher;
13082 IRequestImpl_vTable.getInfo := @IRequestImpl_getInfoDispatcher;
13083 IRequestImpl_vTable.start := @IRequestImpl_startDispatcher;
13084 IRequestImpl_vTable.startAndSend := @IRequestImpl_startAndSendDispatcher;
13085 IRequestImpl_vTable.unwind := @IRequestImpl_unwindDispatcher;
13086 IRequestImpl_vTable.free := @IRequestImpl_freeDispatcher;
13087
13088 IEventsImpl_vTable := EventsVTable.create;
13089 IEventsImpl_vTable.version := 3;
13090 IEventsImpl_vTable.addRef := @IEventsImpl_addRefDispatcher;
13091 IEventsImpl_vTable.release := @IEventsImpl_releaseDispatcher;
13092 IEventsImpl_vTable.cancel := @IEventsImpl_cancelDispatcher;
13093
13094 IAttachmentImpl_vTable := AttachmentVTable.create;
13095 IAttachmentImpl_vTable.version := 4;
13096 IAttachmentImpl_vTable.addRef := @IAttachmentImpl_addRefDispatcher;
13097 IAttachmentImpl_vTable.release := @IAttachmentImpl_releaseDispatcher;
13098 IAttachmentImpl_vTable.getInfo := @IAttachmentImpl_getInfoDispatcher;
13099 IAttachmentImpl_vTable.startTransaction := @IAttachmentImpl_startTransactionDispatcher;
13100 IAttachmentImpl_vTable.reconnectTransaction := @IAttachmentImpl_reconnectTransactionDispatcher;
13101 IAttachmentImpl_vTable.compileRequest := @IAttachmentImpl_compileRequestDispatcher;
13102 IAttachmentImpl_vTable.transactRequest := @IAttachmentImpl_transactRequestDispatcher;
13103 IAttachmentImpl_vTable.createBlob := @IAttachmentImpl_createBlobDispatcher;
13104 IAttachmentImpl_vTable.openBlob := @IAttachmentImpl_openBlobDispatcher;
13105 IAttachmentImpl_vTable.getSlice := @IAttachmentImpl_getSliceDispatcher;
13106 IAttachmentImpl_vTable.putSlice := @IAttachmentImpl_putSliceDispatcher;
13107 IAttachmentImpl_vTable.executeDyn := @IAttachmentImpl_executeDynDispatcher;
13108 IAttachmentImpl_vTable.prepare := @IAttachmentImpl_prepareDispatcher;
13109 IAttachmentImpl_vTable.execute := @IAttachmentImpl_executeDispatcher;
13110 IAttachmentImpl_vTable.openCursor := @IAttachmentImpl_openCursorDispatcher;
13111 IAttachmentImpl_vTable.queEvents := @IAttachmentImpl_queEventsDispatcher;
13112 IAttachmentImpl_vTable.cancelOperation := @IAttachmentImpl_cancelOperationDispatcher;
13113 IAttachmentImpl_vTable.ping := @IAttachmentImpl_pingDispatcher;
13114 IAttachmentImpl_vTable.detach := @IAttachmentImpl_detachDispatcher;
13115 IAttachmentImpl_vTable.dropDatabase := @IAttachmentImpl_dropDatabaseDispatcher;
13116 IAttachmentImpl_vTable.getIdleTimeout := @IAttachmentImpl_getIdleTimeoutDispatcher;
13117 IAttachmentImpl_vTable.setIdleTimeout := @IAttachmentImpl_setIdleTimeoutDispatcher;
13118 IAttachmentImpl_vTable.getStatementTimeout := @IAttachmentImpl_getStatementTimeoutDispatcher;
13119 IAttachmentImpl_vTable.setStatementTimeout := @IAttachmentImpl_setStatementTimeoutDispatcher;
13120 IAttachmentImpl_vTable.createBatch := @IAttachmentImpl_createBatchDispatcher;
13121 IAttachmentImpl_vTable.createReplicator := @IAttachmentImpl_createReplicatorDispatcher;
13122
13123 IServiceImpl_vTable := ServiceVTable.create;
13124 IServiceImpl_vTable.version := 3;
13125 IServiceImpl_vTable.addRef := @IServiceImpl_addRefDispatcher;
13126 IServiceImpl_vTable.release := @IServiceImpl_releaseDispatcher;
13127 IServiceImpl_vTable.detach := @IServiceImpl_detachDispatcher;
13128 IServiceImpl_vTable.query := @IServiceImpl_queryDispatcher;
13129 IServiceImpl_vTable.start := @IServiceImpl_startDispatcher;
13130
13131 IProviderImpl_vTable := ProviderVTable.create;
13132 IProviderImpl_vTable.version := 4;
13133 IProviderImpl_vTable.addRef := @IProviderImpl_addRefDispatcher;
13134 IProviderImpl_vTable.release := @IProviderImpl_releaseDispatcher;
13135 IProviderImpl_vTable.setOwner := @IProviderImpl_setOwnerDispatcher;
13136 IProviderImpl_vTable.getOwner := @IProviderImpl_getOwnerDispatcher;
13137 IProviderImpl_vTable.attachDatabase := @IProviderImpl_attachDatabaseDispatcher;
13138 IProviderImpl_vTable.createDatabase := @IProviderImpl_createDatabaseDispatcher;
13139 IProviderImpl_vTable.attachServiceManager := @IProviderImpl_attachServiceManagerDispatcher;
13140 IProviderImpl_vTable.shutdown := @IProviderImpl_shutdownDispatcher;
13141 IProviderImpl_vTable.setDbCryptCallback := @IProviderImpl_setDbCryptCallbackDispatcher;
13142
13143 IDtcStartImpl_vTable := DtcStartVTable.create;
13144 IDtcStartImpl_vTable.version := 3;
13145 IDtcStartImpl_vTable.dispose := @IDtcStartImpl_disposeDispatcher;
13146 IDtcStartImpl_vTable.addAttachment := @IDtcStartImpl_addAttachmentDispatcher;
13147 IDtcStartImpl_vTable.addWithTpb := @IDtcStartImpl_addWithTpbDispatcher;
13148 IDtcStartImpl_vTable.start := @IDtcStartImpl_startDispatcher;
13149
13150 IDtcImpl_vTable := DtcVTable.create;
13151 IDtcImpl_vTable.version := 2;
13152 IDtcImpl_vTable.join := @IDtcImpl_joinDispatcher;
13153 IDtcImpl_vTable.startBuilder := @IDtcImpl_startBuilderDispatcher;
13154
13155 IAuthImpl_vTable := AuthVTable.create;
13156 IAuthImpl_vTable.version := 4;
13157 IAuthImpl_vTable.addRef := @IAuthImpl_addRefDispatcher;
13158 IAuthImpl_vTable.release := @IAuthImpl_releaseDispatcher;
13159 IAuthImpl_vTable.setOwner := @IAuthImpl_setOwnerDispatcher;
13160 IAuthImpl_vTable.getOwner := @IAuthImpl_getOwnerDispatcher;
13161
13162 IWriterImpl_vTable := WriterVTable.create;
13163 IWriterImpl_vTable.version := 2;
13164 IWriterImpl_vTable.reset := @IWriterImpl_resetDispatcher;
13165 IWriterImpl_vTable.add := @IWriterImpl_addDispatcher;
13166 IWriterImpl_vTable.setType := @IWriterImpl_setTypeDispatcher;
13167 IWriterImpl_vTable.setDb := @IWriterImpl_setDbDispatcher;
13168
13169 IServerBlockImpl_vTable := ServerBlockVTable.create;
13170 IServerBlockImpl_vTable.version := 2;
13171 IServerBlockImpl_vTable.getLogin := @IServerBlockImpl_getLoginDispatcher;
13172 IServerBlockImpl_vTable.getData := @IServerBlockImpl_getDataDispatcher;
13173 IServerBlockImpl_vTable.putData := @IServerBlockImpl_putDataDispatcher;
13174 IServerBlockImpl_vTable.newKey := @IServerBlockImpl_newKeyDispatcher;
13175
13176 IClientBlockImpl_vTable := ClientBlockVTable.create;
13177 IClientBlockImpl_vTable.version := 4;
13178 IClientBlockImpl_vTable.addRef := @IClientBlockImpl_addRefDispatcher;
13179 IClientBlockImpl_vTable.release := @IClientBlockImpl_releaseDispatcher;
13180 IClientBlockImpl_vTable.getLogin := @IClientBlockImpl_getLoginDispatcher;
13181 IClientBlockImpl_vTable.getPassword := @IClientBlockImpl_getPasswordDispatcher;
13182 IClientBlockImpl_vTable.getData := @IClientBlockImpl_getDataDispatcher;
13183 IClientBlockImpl_vTable.putData := @IClientBlockImpl_putDataDispatcher;
13184 IClientBlockImpl_vTable.newKey := @IClientBlockImpl_newKeyDispatcher;
13185 IClientBlockImpl_vTable.getAuthBlock := @IClientBlockImpl_getAuthBlockDispatcher;
13186
13187 IServerImpl_vTable := ServerVTable.create;
13188 IServerImpl_vTable.version := 6;
13189 IServerImpl_vTable.addRef := @IServerImpl_addRefDispatcher;
13190 IServerImpl_vTable.release := @IServerImpl_releaseDispatcher;
13191 IServerImpl_vTable.setOwner := @IServerImpl_setOwnerDispatcher;
13192 IServerImpl_vTable.getOwner := @IServerImpl_getOwnerDispatcher;
13193 IServerImpl_vTable.authenticate := @IServerImpl_authenticateDispatcher;
13194 IServerImpl_vTable.setDbCryptCallback := @IServerImpl_setDbCryptCallbackDispatcher;
13195
13196 IClientImpl_vTable := ClientVTable.create;
13197 IClientImpl_vTable.version := 5;
13198 IClientImpl_vTable.addRef := @IClientImpl_addRefDispatcher;
13199 IClientImpl_vTable.release := @IClientImpl_releaseDispatcher;
13200 IClientImpl_vTable.setOwner := @IClientImpl_setOwnerDispatcher;
13201 IClientImpl_vTable.getOwner := @IClientImpl_getOwnerDispatcher;
13202 IClientImpl_vTable.authenticate := @IClientImpl_authenticateDispatcher;
13203
13204 IUserFieldImpl_vTable := UserFieldVTable.create;
13205 IUserFieldImpl_vTable.version := 2;
13206 IUserFieldImpl_vTable.entered := @IUserFieldImpl_enteredDispatcher;
13207 IUserFieldImpl_vTable.specified := @IUserFieldImpl_specifiedDispatcher;
13208 IUserFieldImpl_vTable.setEntered := @IUserFieldImpl_setEnteredDispatcher;
13209
13210 ICharUserFieldImpl_vTable := CharUserFieldVTable.create;
13211 ICharUserFieldImpl_vTable.version := 3;
13212 ICharUserFieldImpl_vTable.entered := @ICharUserFieldImpl_enteredDispatcher;
13213 ICharUserFieldImpl_vTable.specified := @ICharUserFieldImpl_specifiedDispatcher;
13214 ICharUserFieldImpl_vTable.setEntered := @ICharUserFieldImpl_setEnteredDispatcher;
13215 ICharUserFieldImpl_vTable.get := @ICharUserFieldImpl_getDispatcher;
13216 ICharUserFieldImpl_vTable.set_ := @ICharUserFieldImpl_set_Dispatcher;
13217
13218 IIntUserFieldImpl_vTable := IntUserFieldVTable.create;
13219 IIntUserFieldImpl_vTable.version := 3;
13220 IIntUserFieldImpl_vTable.entered := @IIntUserFieldImpl_enteredDispatcher;
13221 IIntUserFieldImpl_vTable.specified := @IIntUserFieldImpl_specifiedDispatcher;
13222 IIntUserFieldImpl_vTable.setEntered := @IIntUserFieldImpl_setEnteredDispatcher;
13223 IIntUserFieldImpl_vTable.get := @IIntUserFieldImpl_getDispatcher;
13224 IIntUserFieldImpl_vTable.set_ := @IIntUserFieldImpl_set_Dispatcher;
13225
13226 IUserImpl_vTable := UserVTable.create;
13227 IUserImpl_vTable.version := 2;
13228 IUserImpl_vTable.operation := @IUserImpl_operationDispatcher;
13229 IUserImpl_vTable.userName := @IUserImpl_userNameDispatcher;
13230 IUserImpl_vTable.password := @IUserImpl_passwordDispatcher;
13231 IUserImpl_vTable.firstName := @IUserImpl_firstNameDispatcher;
13232 IUserImpl_vTable.lastName := @IUserImpl_lastNameDispatcher;
13233 IUserImpl_vTable.middleName := @IUserImpl_middleNameDispatcher;
13234 IUserImpl_vTable.comment := @IUserImpl_commentDispatcher;
13235 IUserImpl_vTable.attributes := @IUserImpl_attributesDispatcher;
13236 IUserImpl_vTable.active := @IUserImpl_activeDispatcher;
13237 IUserImpl_vTable.admin := @IUserImpl_adminDispatcher;
13238 IUserImpl_vTable.clear := @IUserImpl_clearDispatcher;
13239
13240 IListUsersImpl_vTable := ListUsersVTable.create;
13241 IListUsersImpl_vTable.version := 2;
13242 IListUsersImpl_vTable.list := @IListUsersImpl_listDispatcher;
13243
13244 ILogonInfoImpl_vTable := LogonInfoVTable.create;
13245 ILogonInfoImpl_vTable.version := 3;
13246 ILogonInfoImpl_vTable.name := @ILogonInfoImpl_nameDispatcher;
13247 ILogonInfoImpl_vTable.role := @ILogonInfoImpl_roleDispatcher;
13248 ILogonInfoImpl_vTable.networkProtocol := @ILogonInfoImpl_networkProtocolDispatcher;
13249 ILogonInfoImpl_vTable.remoteAddress := @ILogonInfoImpl_remoteAddressDispatcher;
13250 ILogonInfoImpl_vTable.authBlock := @ILogonInfoImpl_authBlockDispatcher;
13251 ILogonInfoImpl_vTable.attachment := @ILogonInfoImpl_attachmentDispatcher;
13252 ILogonInfoImpl_vTable.transaction := @ILogonInfoImpl_transactionDispatcher;
13253
13254 IManagementImpl_vTable := ManagementVTable.create;
13255 IManagementImpl_vTable.version := 4;
13256 IManagementImpl_vTable.addRef := @IManagementImpl_addRefDispatcher;
13257 IManagementImpl_vTable.release := @IManagementImpl_releaseDispatcher;
13258 IManagementImpl_vTable.setOwner := @IManagementImpl_setOwnerDispatcher;
13259 IManagementImpl_vTable.getOwner := @IManagementImpl_getOwnerDispatcher;
13260 IManagementImpl_vTable.start := @IManagementImpl_startDispatcher;
13261 IManagementImpl_vTable.execute := @IManagementImpl_executeDispatcher;
13262 IManagementImpl_vTable.commit := @IManagementImpl_commitDispatcher;
13263 IManagementImpl_vTable.rollback := @IManagementImpl_rollbackDispatcher;
13264
13265 IAuthBlockImpl_vTable := AuthBlockVTable.create;
13266 IAuthBlockImpl_vTable.version := 2;
13267 IAuthBlockImpl_vTable.getType := @IAuthBlockImpl_getTypeDispatcher;
13268 IAuthBlockImpl_vTable.getName := @IAuthBlockImpl_getNameDispatcher;
13269 IAuthBlockImpl_vTable.getPlugin := @IAuthBlockImpl_getPluginDispatcher;
13270 IAuthBlockImpl_vTable.getSecurityDb := @IAuthBlockImpl_getSecurityDbDispatcher;
13271 IAuthBlockImpl_vTable.getOriginalPlugin := @IAuthBlockImpl_getOriginalPluginDispatcher;
13272 IAuthBlockImpl_vTable.next := @IAuthBlockImpl_nextDispatcher;
13273 IAuthBlockImpl_vTable.first := @IAuthBlockImpl_firstDispatcher;
13274
13275 IWireCryptPluginImpl_vTable := WireCryptPluginVTable.create;
13276 IWireCryptPluginImpl_vTable.version := 5;
13277 IWireCryptPluginImpl_vTable.addRef := @IWireCryptPluginImpl_addRefDispatcher;
13278 IWireCryptPluginImpl_vTable.release := @IWireCryptPluginImpl_releaseDispatcher;
13279 IWireCryptPluginImpl_vTable.setOwner := @IWireCryptPluginImpl_setOwnerDispatcher;
13280 IWireCryptPluginImpl_vTable.getOwner := @IWireCryptPluginImpl_getOwnerDispatcher;
13281 IWireCryptPluginImpl_vTable.getKnownTypes := @IWireCryptPluginImpl_getKnownTypesDispatcher;
13282 IWireCryptPluginImpl_vTable.setKey := @IWireCryptPluginImpl_setKeyDispatcher;
13283 IWireCryptPluginImpl_vTable.encrypt := @IWireCryptPluginImpl_encryptDispatcher;
13284 IWireCryptPluginImpl_vTable.decrypt := @IWireCryptPluginImpl_decryptDispatcher;
13285 IWireCryptPluginImpl_vTable.getSpecificData := @IWireCryptPluginImpl_getSpecificDataDispatcher;
13286 IWireCryptPluginImpl_vTable.setSpecificData := @IWireCryptPluginImpl_setSpecificDataDispatcher;
13287
13288 ICryptKeyCallbackImpl_vTable := CryptKeyCallbackVTable.create;
13289 ICryptKeyCallbackImpl_vTable.version := 2;
13290 ICryptKeyCallbackImpl_vTable.callback := @ICryptKeyCallbackImpl_callbackDispatcher;
13291
13292 IKeyHolderPluginImpl_vTable := KeyHolderPluginVTable.create;
13293 IKeyHolderPluginImpl_vTable.version := 5;
13294 IKeyHolderPluginImpl_vTable.addRef := @IKeyHolderPluginImpl_addRefDispatcher;
13295 IKeyHolderPluginImpl_vTable.release := @IKeyHolderPluginImpl_releaseDispatcher;
13296 IKeyHolderPluginImpl_vTable.setOwner := @IKeyHolderPluginImpl_setOwnerDispatcher;
13297 IKeyHolderPluginImpl_vTable.getOwner := @IKeyHolderPluginImpl_getOwnerDispatcher;
13298 IKeyHolderPluginImpl_vTable.keyCallback := @IKeyHolderPluginImpl_keyCallbackDispatcher;
13299 IKeyHolderPluginImpl_vTable.keyHandle := @IKeyHolderPluginImpl_keyHandleDispatcher;
13300 IKeyHolderPluginImpl_vTable.useOnlyOwnKeys := @IKeyHolderPluginImpl_useOnlyOwnKeysDispatcher;
13301 IKeyHolderPluginImpl_vTable.chainHandle := @IKeyHolderPluginImpl_chainHandleDispatcher;
13302
13303 IDbCryptInfoImpl_vTable := DbCryptInfoVTable.create;
13304 IDbCryptInfoImpl_vTable.version := 3;
13305 IDbCryptInfoImpl_vTable.addRef := @IDbCryptInfoImpl_addRefDispatcher;
13306 IDbCryptInfoImpl_vTable.release := @IDbCryptInfoImpl_releaseDispatcher;
13307 IDbCryptInfoImpl_vTable.getDatabaseFullPath := @IDbCryptInfoImpl_getDatabaseFullPathDispatcher;
13308
13309 IDbCryptPluginImpl_vTable := DbCryptPluginVTable.create;
13310 IDbCryptPluginImpl_vTable.version := 5;
13311 IDbCryptPluginImpl_vTable.addRef := @IDbCryptPluginImpl_addRefDispatcher;
13312 IDbCryptPluginImpl_vTable.release := @IDbCryptPluginImpl_releaseDispatcher;
13313 IDbCryptPluginImpl_vTable.setOwner := @IDbCryptPluginImpl_setOwnerDispatcher;
13314 IDbCryptPluginImpl_vTable.getOwner := @IDbCryptPluginImpl_getOwnerDispatcher;
13315 IDbCryptPluginImpl_vTable.setKey := @IDbCryptPluginImpl_setKeyDispatcher;
13316 IDbCryptPluginImpl_vTable.encrypt := @IDbCryptPluginImpl_encryptDispatcher;
13317 IDbCryptPluginImpl_vTable.decrypt := @IDbCryptPluginImpl_decryptDispatcher;
13318 IDbCryptPluginImpl_vTable.setInfo := @IDbCryptPluginImpl_setInfoDispatcher;
13319
13320 IExternalContextImpl_vTable := ExternalContextVTable.create;
13321 IExternalContextImpl_vTable.version := 2;
13322 IExternalContextImpl_vTable.getMaster := @IExternalContextImpl_getMasterDispatcher;
13323 IExternalContextImpl_vTable.getEngine := @IExternalContextImpl_getEngineDispatcher;
13324 IExternalContextImpl_vTable.getAttachment := @IExternalContextImpl_getAttachmentDispatcher;
13325 IExternalContextImpl_vTable.getTransaction := @IExternalContextImpl_getTransactionDispatcher;
13326 IExternalContextImpl_vTable.getUserName := @IExternalContextImpl_getUserNameDispatcher;
13327 IExternalContextImpl_vTable.getDatabaseName := @IExternalContextImpl_getDatabaseNameDispatcher;
13328 IExternalContextImpl_vTable.getClientCharSet := @IExternalContextImpl_getClientCharSetDispatcher;
13329 IExternalContextImpl_vTable.obtainInfoCode := @IExternalContextImpl_obtainInfoCodeDispatcher;
13330 IExternalContextImpl_vTable.getInfo := @IExternalContextImpl_getInfoDispatcher;
13331 IExternalContextImpl_vTable.setInfo := @IExternalContextImpl_setInfoDispatcher;
13332
13333 IExternalResultSetImpl_vTable := ExternalResultSetVTable.create;
13334 IExternalResultSetImpl_vTable.version := 3;
13335 IExternalResultSetImpl_vTable.dispose := @IExternalResultSetImpl_disposeDispatcher;
13336 IExternalResultSetImpl_vTable.fetch := @IExternalResultSetImpl_fetchDispatcher;
13337
13338 IExternalFunctionImpl_vTable := ExternalFunctionVTable.create;
13339 IExternalFunctionImpl_vTable.version := 3;
13340 IExternalFunctionImpl_vTable.dispose := @IExternalFunctionImpl_disposeDispatcher;
13341 IExternalFunctionImpl_vTable.getCharSet := @IExternalFunctionImpl_getCharSetDispatcher;
13342 IExternalFunctionImpl_vTable.execute := @IExternalFunctionImpl_executeDispatcher;
13343
13344 IExternalProcedureImpl_vTable := ExternalProcedureVTable.create;
13345 IExternalProcedureImpl_vTable.version := 3;
13346 IExternalProcedureImpl_vTable.dispose := @IExternalProcedureImpl_disposeDispatcher;
13347 IExternalProcedureImpl_vTable.getCharSet := @IExternalProcedureImpl_getCharSetDispatcher;
13348 IExternalProcedureImpl_vTable.open := @IExternalProcedureImpl_openDispatcher;
13349
13350 IExternalTriggerImpl_vTable := ExternalTriggerVTable.create;
13351 IExternalTriggerImpl_vTable.version := 3;
13352 IExternalTriggerImpl_vTable.dispose := @IExternalTriggerImpl_disposeDispatcher;
13353 IExternalTriggerImpl_vTable.getCharSet := @IExternalTriggerImpl_getCharSetDispatcher;
13354 IExternalTriggerImpl_vTable.execute := @IExternalTriggerImpl_executeDispatcher;
13355
13356 IRoutineMetadataImpl_vTable := RoutineMetadataVTable.create;
13357 IRoutineMetadataImpl_vTable.version := 2;
13358 IRoutineMetadataImpl_vTable.getPackage := @IRoutineMetadataImpl_getPackageDispatcher;
13359 IRoutineMetadataImpl_vTable.getName := @IRoutineMetadataImpl_getNameDispatcher;
13360 IRoutineMetadataImpl_vTable.getEntryPoint := @IRoutineMetadataImpl_getEntryPointDispatcher;
13361 IRoutineMetadataImpl_vTable.getBody := @IRoutineMetadataImpl_getBodyDispatcher;
13362 IRoutineMetadataImpl_vTable.getInputMetadata := @IRoutineMetadataImpl_getInputMetadataDispatcher;
13363 IRoutineMetadataImpl_vTable.getOutputMetadata := @IRoutineMetadataImpl_getOutputMetadataDispatcher;
13364 IRoutineMetadataImpl_vTable.getTriggerMetadata := @IRoutineMetadataImpl_getTriggerMetadataDispatcher;
13365 IRoutineMetadataImpl_vTable.getTriggerTable := @IRoutineMetadataImpl_getTriggerTableDispatcher;
13366 IRoutineMetadataImpl_vTable.getTriggerType := @IRoutineMetadataImpl_getTriggerTypeDispatcher;
13367
13368 IExternalEngineImpl_vTable := ExternalEngineVTable.create;
13369 IExternalEngineImpl_vTable.version := 4;
13370 IExternalEngineImpl_vTable.addRef := @IExternalEngineImpl_addRefDispatcher;
13371 IExternalEngineImpl_vTable.release := @IExternalEngineImpl_releaseDispatcher;
13372 IExternalEngineImpl_vTable.setOwner := @IExternalEngineImpl_setOwnerDispatcher;
13373 IExternalEngineImpl_vTable.getOwner := @IExternalEngineImpl_getOwnerDispatcher;
13374 IExternalEngineImpl_vTable.open := @IExternalEngineImpl_openDispatcher;
13375 IExternalEngineImpl_vTable.openAttachment := @IExternalEngineImpl_openAttachmentDispatcher;
13376 IExternalEngineImpl_vTable.closeAttachment := @IExternalEngineImpl_closeAttachmentDispatcher;
13377 IExternalEngineImpl_vTable.makeFunction := @IExternalEngineImpl_makeFunctionDispatcher;
13378 IExternalEngineImpl_vTable.makeProcedure := @IExternalEngineImpl_makeProcedureDispatcher;
13379 IExternalEngineImpl_vTable.makeTrigger := @IExternalEngineImpl_makeTriggerDispatcher;
13380
13381 ITimerImpl_vTable := TimerVTable.create;
13382 ITimerImpl_vTable.version := 3;
13383 ITimerImpl_vTable.addRef := @ITimerImpl_addRefDispatcher;
13384 ITimerImpl_vTable.release := @ITimerImpl_releaseDispatcher;
13385 ITimerImpl_vTable.handler := @ITimerImpl_handlerDispatcher;
13386
13387 ITimerControlImpl_vTable := TimerControlVTable.create;
13388 ITimerControlImpl_vTable.version := 2;
13389 ITimerControlImpl_vTable.start := @ITimerControlImpl_startDispatcher;
13390 ITimerControlImpl_vTable.stop := @ITimerControlImpl_stopDispatcher;
13391
13392 IVersionCallbackImpl_vTable := VersionCallbackVTable.create;
13393 IVersionCallbackImpl_vTable.version := 2;
13394 IVersionCallbackImpl_vTable.callback := @IVersionCallbackImpl_callbackDispatcher;
13395
13396 IUtilImpl_vTable := UtilVTable.create;
13397 IUtilImpl_vTable.version := 4;
13398 IUtilImpl_vTable.getFbVersion := @IUtilImpl_getFbVersionDispatcher;
13399 IUtilImpl_vTable.loadBlob := @IUtilImpl_loadBlobDispatcher;
13400 IUtilImpl_vTable.dumpBlob := @IUtilImpl_dumpBlobDispatcher;
13401 IUtilImpl_vTable.getPerfCounters := @IUtilImpl_getPerfCountersDispatcher;
13402 IUtilImpl_vTable.executeCreateDatabase := @IUtilImpl_executeCreateDatabaseDispatcher;
13403 IUtilImpl_vTable.decodeDate := @IUtilImpl_decodeDateDispatcher;
13404 IUtilImpl_vTable.decodeTime := @IUtilImpl_decodeTimeDispatcher;
13405 IUtilImpl_vTable.encodeDate := @IUtilImpl_encodeDateDispatcher;
13406 IUtilImpl_vTable.encodeTime := @IUtilImpl_encodeTimeDispatcher;
13407 IUtilImpl_vTable.formatStatus := @IUtilImpl_formatStatusDispatcher;
13408 IUtilImpl_vTable.getClientVersion := @IUtilImpl_getClientVersionDispatcher;
13409 IUtilImpl_vTable.getXpbBuilder := @IUtilImpl_getXpbBuilderDispatcher;
13410 IUtilImpl_vTable.setOffsets := @IUtilImpl_setOffsetsDispatcher;
13411 IUtilImpl_vTable.getDecFloat16 := @IUtilImpl_getDecFloat16Dispatcher;
13412 IUtilImpl_vTable.getDecFloat34 := @IUtilImpl_getDecFloat34Dispatcher;
13413 IUtilImpl_vTable.decodeTimeTz := @IUtilImpl_decodeTimeTzDispatcher;
13414 IUtilImpl_vTable.decodeTimeStampTz := @IUtilImpl_decodeTimeStampTzDispatcher;
13415 IUtilImpl_vTable.encodeTimeTz := @IUtilImpl_encodeTimeTzDispatcher;
13416 IUtilImpl_vTable.encodeTimeStampTz := @IUtilImpl_encodeTimeStampTzDispatcher;
13417 IUtilImpl_vTable.getInt128 := @IUtilImpl_getInt128Dispatcher;
13418 IUtilImpl_vTable.decodeTimeTzEx := @IUtilImpl_decodeTimeTzExDispatcher;
13419 IUtilImpl_vTable.decodeTimeStampTzEx := @IUtilImpl_decodeTimeStampTzExDispatcher;
13420
13421 IOffsetsCallbackImpl_vTable := OffsetsCallbackVTable.create;
13422 IOffsetsCallbackImpl_vTable.version := 2;
13423 IOffsetsCallbackImpl_vTable.setOffset := @IOffsetsCallbackImpl_setOffsetDispatcher;
13424
13425 IXpbBuilderImpl_vTable := XpbBuilderVTable.create;
13426 IXpbBuilderImpl_vTable.version := 3;
13427 IXpbBuilderImpl_vTable.dispose := @IXpbBuilderImpl_disposeDispatcher;
13428 IXpbBuilderImpl_vTable.clear := @IXpbBuilderImpl_clearDispatcher;
13429 IXpbBuilderImpl_vTable.removeCurrent := @IXpbBuilderImpl_removeCurrentDispatcher;
13430 IXpbBuilderImpl_vTable.insertInt := @IXpbBuilderImpl_insertIntDispatcher;
13431 IXpbBuilderImpl_vTable.insertBigInt := @IXpbBuilderImpl_insertBigIntDispatcher;
13432 IXpbBuilderImpl_vTable.insertBytes := @IXpbBuilderImpl_insertBytesDispatcher;
13433 IXpbBuilderImpl_vTable.insertString := @IXpbBuilderImpl_insertStringDispatcher;
13434 IXpbBuilderImpl_vTable.insertTag := @IXpbBuilderImpl_insertTagDispatcher;
13435 IXpbBuilderImpl_vTable.isEof := @IXpbBuilderImpl_isEofDispatcher;
13436 IXpbBuilderImpl_vTable.moveNext := @IXpbBuilderImpl_moveNextDispatcher;
13437 IXpbBuilderImpl_vTable.rewind := @IXpbBuilderImpl_rewindDispatcher;
13438 IXpbBuilderImpl_vTable.findFirst := @IXpbBuilderImpl_findFirstDispatcher;
13439 IXpbBuilderImpl_vTable.findNext := @IXpbBuilderImpl_findNextDispatcher;
13440 IXpbBuilderImpl_vTable.getTag := @IXpbBuilderImpl_getTagDispatcher;
13441 IXpbBuilderImpl_vTable.getLength := @IXpbBuilderImpl_getLengthDispatcher;
13442 IXpbBuilderImpl_vTable.getInt := @IXpbBuilderImpl_getIntDispatcher;
13443 IXpbBuilderImpl_vTable.getBigInt := @IXpbBuilderImpl_getBigIntDispatcher;
13444 IXpbBuilderImpl_vTable.getString := @IXpbBuilderImpl_getStringDispatcher;
13445 IXpbBuilderImpl_vTable.getBytes := @IXpbBuilderImpl_getBytesDispatcher;
13446 IXpbBuilderImpl_vTable.getBufferLength := @IXpbBuilderImpl_getBufferLengthDispatcher;
13447 IXpbBuilderImpl_vTable.getBuffer := @IXpbBuilderImpl_getBufferDispatcher;
13448
13449 ITraceConnectionImpl_vTable := TraceConnectionVTable.create;
13450 ITraceConnectionImpl_vTable.version := 2;
13451 ITraceConnectionImpl_vTable.getKind := @ITraceConnectionImpl_getKindDispatcher;
13452 ITraceConnectionImpl_vTable.getProcessID := @ITraceConnectionImpl_getProcessIDDispatcher;
13453 ITraceConnectionImpl_vTable.getUserName := @ITraceConnectionImpl_getUserNameDispatcher;
13454 ITraceConnectionImpl_vTable.getRoleName := @ITraceConnectionImpl_getRoleNameDispatcher;
13455 ITraceConnectionImpl_vTable.getCharSet := @ITraceConnectionImpl_getCharSetDispatcher;
13456 ITraceConnectionImpl_vTable.getRemoteProtocol := @ITraceConnectionImpl_getRemoteProtocolDispatcher;
13457 ITraceConnectionImpl_vTable.getRemoteAddress := @ITraceConnectionImpl_getRemoteAddressDispatcher;
13458 ITraceConnectionImpl_vTable.getRemoteProcessID := @ITraceConnectionImpl_getRemoteProcessIDDispatcher;
13459 ITraceConnectionImpl_vTable.getRemoteProcessName := @ITraceConnectionImpl_getRemoteProcessNameDispatcher;
13460
13461 ITraceDatabaseConnectionImpl_vTable := TraceDatabaseConnectionVTable.create;
13462 ITraceDatabaseConnectionImpl_vTable.version := 3;
13463 ITraceDatabaseConnectionImpl_vTable.getKind := @ITraceDatabaseConnectionImpl_getKindDispatcher;
13464 ITraceDatabaseConnectionImpl_vTable.getProcessID := @ITraceDatabaseConnectionImpl_getProcessIDDispatcher;
13465 ITraceDatabaseConnectionImpl_vTable.getUserName := @ITraceDatabaseConnectionImpl_getUserNameDispatcher;
13466 ITraceDatabaseConnectionImpl_vTable.getRoleName := @ITraceDatabaseConnectionImpl_getRoleNameDispatcher;
13467 ITraceDatabaseConnectionImpl_vTable.getCharSet := @ITraceDatabaseConnectionImpl_getCharSetDispatcher;
13468 ITraceDatabaseConnectionImpl_vTable.getRemoteProtocol := @ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher;
13469 ITraceDatabaseConnectionImpl_vTable.getRemoteAddress := @ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher;
13470 ITraceDatabaseConnectionImpl_vTable.getRemoteProcessID := @ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher;
13471 ITraceDatabaseConnectionImpl_vTable.getRemoteProcessName := @ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher;
13472 ITraceDatabaseConnectionImpl_vTable.getConnectionID := @ITraceDatabaseConnectionImpl_getConnectionIDDispatcher;
13473 ITraceDatabaseConnectionImpl_vTable.getDatabaseName := @ITraceDatabaseConnectionImpl_getDatabaseNameDispatcher;
13474
13475 ITraceTransactionImpl_vTable := TraceTransactionVTable.create;
13476 ITraceTransactionImpl_vTable.version := 3;
13477 ITraceTransactionImpl_vTable.getTransactionID := @ITraceTransactionImpl_getTransactionIDDispatcher;
13478 ITraceTransactionImpl_vTable.getReadOnly := @ITraceTransactionImpl_getReadOnlyDispatcher;
13479 ITraceTransactionImpl_vTable.getWait := @ITraceTransactionImpl_getWaitDispatcher;
13480 ITraceTransactionImpl_vTable.getIsolation := @ITraceTransactionImpl_getIsolationDispatcher;
13481 ITraceTransactionImpl_vTable.getPerf := @ITraceTransactionImpl_getPerfDispatcher;
13482 ITraceTransactionImpl_vTable.getInitialID := @ITraceTransactionImpl_getInitialIDDispatcher;
13483 ITraceTransactionImpl_vTable.getPreviousID := @ITraceTransactionImpl_getPreviousIDDispatcher;
13484
13485 ITraceParamsImpl_vTable := TraceParamsVTable.create;
13486 ITraceParamsImpl_vTable.version := 3;
13487 ITraceParamsImpl_vTable.getCount := @ITraceParamsImpl_getCountDispatcher;
13488 ITraceParamsImpl_vTable.getParam := @ITraceParamsImpl_getParamDispatcher;
13489 ITraceParamsImpl_vTable.getTextUTF8 := @ITraceParamsImpl_getTextUTF8Dispatcher;
13490
13491 ITraceStatementImpl_vTable := TraceStatementVTable.create;
13492 ITraceStatementImpl_vTable.version := 2;
13493 ITraceStatementImpl_vTable.getStmtID := @ITraceStatementImpl_getStmtIDDispatcher;
13494 ITraceStatementImpl_vTable.getPerf := @ITraceStatementImpl_getPerfDispatcher;
13495
13496 ITraceSQLStatementImpl_vTable := TraceSQLStatementVTable.create;
13497 ITraceSQLStatementImpl_vTable.version := 3;
13498 ITraceSQLStatementImpl_vTable.getStmtID := @ITraceSQLStatementImpl_getStmtIDDispatcher;
13499 ITraceSQLStatementImpl_vTable.getPerf := @ITraceSQLStatementImpl_getPerfDispatcher;
13500 ITraceSQLStatementImpl_vTable.getText := @ITraceSQLStatementImpl_getTextDispatcher;
13501 ITraceSQLStatementImpl_vTable.getPlan := @ITraceSQLStatementImpl_getPlanDispatcher;
13502 ITraceSQLStatementImpl_vTable.getInputs := @ITraceSQLStatementImpl_getInputsDispatcher;
13503 ITraceSQLStatementImpl_vTable.getTextUTF8 := @ITraceSQLStatementImpl_getTextUTF8Dispatcher;
13504 ITraceSQLStatementImpl_vTable.getExplainedPlan := @ITraceSQLStatementImpl_getExplainedPlanDispatcher;
13505
13506 ITraceBLRStatementImpl_vTable := TraceBLRStatementVTable.create;
13507 ITraceBLRStatementImpl_vTable.version := 3;
13508 ITraceBLRStatementImpl_vTable.getStmtID := @ITraceBLRStatementImpl_getStmtIDDispatcher;
13509 ITraceBLRStatementImpl_vTable.getPerf := @ITraceBLRStatementImpl_getPerfDispatcher;
13510 ITraceBLRStatementImpl_vTable.getData := @ITraceBLRStatementImpl_getDataDispatcher;
13511 ITraceBLRStatementImpl_vTable.getDataLength := @ITraceBLRStatementImpl_getDataLengthDispatcher;
13512 ITraceBLRStatementImpl_vTable.getText := @ITraceBLRStatementImpl_getTextDispatcher;
13513
13514 ITraceDYNRequestImpl_vTable := TraceDYNRequestVTable.create;
13515 ITraceDYNRequestImpl_vTable.version := 2;
13516 ITraceDYNRequestImpl_vTable.getData := @ITraceDYNRequestImpl_getDataDispatcher;
13517 ITraceDYNRequestImpl_vTable.getDataLength := @ITraceDYNRequestImpl_getDataLengthDispatcher;
13518 ITraceDYNRequestImpl_vTable.getText := @ITraceDYNRequestImpl_getTextDispatcher;
13519
13520 ITraceContextVariableImpl_vTable := TraceContextVariableVTable.create;
13521 ITraceContextVariableImpl_vTable.version := 2;
13522 ITraceContextVariableImpl_vTable.getNameSpace := @ITraceContextVariableImpl_getNameSpaceDispatcher;
13523 ITraceContextVariableImpl_vTable.getVarName := @ITraceContextVariableImpl_getVarNameDispatcher;
13524 ITraceContextVariableImpl_vTable.getVarValue := @ITraceContextVariableImpl_getVarValueDispatcher;
13525
13526 ITraceProcedureImpl_vTable := TraceProcedureVTable.create;
13527 ITraceProcedureImpl_vTable.version := 2;
13528 ITraceProcedureImpl_vTable.getProcName := @ITraceProcedureImpl_getProcNameDispatcher;
13529 ITraceProcedureImpl_vTable.getInputs := @ITraceProcedureImpl_getInputsDispatcher;
13530 ITraceProcedureImpl_vTable.getPerf := @ITraceProcedureImpl_getPerfDispatcher;
13531
13532 ITraceFunctionImpl_vTable := TraceFunctionVTable.create;
13533 ITraceFunctionImpl_vTable.version := 2;
13534 ITraceFunctionImpl_vTable.getFuncName := @ITraceFunctionImpl_getFuncNameDispatcher;
13535 ITraceFunctionImpl_vTable.getInputs := @ITraceFunctionImpl_getInputsDispatcher;
13536 ITraceFunctionImpl_vTable.getResult := @ITraceFunctionImpl_getResultDispatcher;
13537 ITraceFunctionImpl_vTable.getPerf := @ITraceFunctionImpl_getPerfDispatcher;
13538
13539 ITraceTriggerImpl_vTable := TraceTriggerVTable.create;
13540 ITraceTriggerImpl_vTable.version := 2;
13541 ITraceTriggerImpl_vTable.getTriggerName := @ITraceTriggerImpl_getTriggerNameDispatcher;
13542 ITraceTriggerImpl_vTable.getRelationName := @ITraceTriggerImpl_getRelationNameDispatcher;
13543 ITraceTriggerImpl_vTable.getAction := @ITraceTriggerImpl_getActionDispatcher;
13544 ITraceTriggerImpl_vTable.getWhich := @ITraceTriggerImpl_getWhichDispatcher;
13545 ITraceTriggerImpl_vTable.getPerf := @ITraceTriggerImpl_getPerfDispatcher;
13546
13547 ITraceServiceConnectionImpl_vTable := TraceServiceConnectionVTable.create;
13548 ITraceServiceConnectionImpl_vTable.version := 3;
13549 ITraceServiceConnectionImpl_vTable.getKind := @ITraceServiceConnectionImpl_getKindDispatcher;
13550 ITraceServiceConnectionImpl_vTable.getProcessID := @ITraceServiceConnectionImpl_getProcessIDDispatcher;
13551 ITraceServiceConnectionImpl_vTable.getUserName := @ITraceServiceConnectionImpl_getUserNameDispatcher;
13552 ITraceServiceConnectionImpl_vTable.getRoleName := @ITraceServiceConnectionImpl_getRoleNameDispatcher;
13553 ITraceServiceConnectionImpl_vTable.getCharSet := @ITraceServiceConnectionImpl_getCharSetDispatcher;
13554 ITraceServiceConnectionImpl_vTable.getRemoteProtocol := @ITraceServiceConnectionImpl_getRemoteProtocolDispatcher;
13555 ITraceServiceConnectionImpl_vTable.getRemoteAddress := @ITraceServiceConnectionImpl_getRemoteAddressDispatcher;
13556 ITraceServiceConnectionImpl_vTable.getRemoteProcessID := @ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher;
13557 ITraceServiceConnectionImpl_vTable.getRemoteProcessName := @ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher;
13558 ITraceServiceConnectionImpl_vTable.getServiceID := @ITraceServiceConnectionImpl_getServiceIDDispatcher;
13559 ITraceServiceConnectionImpl_vTable.getServiceMgr := @ITraceServiceConnectionImpl_getServiceMgrDispatcher;
13560 ITraceServiceConnectionImpl_vTable.getServiceName := @ITraceServiceConnectionImpl_getServiceNameDispatcher;
13561
13562 ITraceStatusVectorImpl_vTable := TraceStatusVectorVTable.create;
13563 ITraceStatusVectorImpl_vTable.version := 2;
13564 ITraceStatusVectorImpl_vTable.hasError := @ITraceStatusVectorImpl_hasErrorDispatcher;
13565 ITraceStatusVectorImpl_vTable.hasWarning := @ITraceStatusVectorImpl_hasWarningDispatcher;
13566 ITraceStatusVectorImpl_vTable.getStatus := @ITraceStatusVectorImpl_getStatusDispatcher;
13567 ITraceStatusVectorImpl_vTable.getText := @ITraceStatusVectorImpl_getTextDispatcher;
13568
13569 ITraceSweepInfoImpl_vTable := TraceSweepInfoVTable.create;
13570 ITraceSweepInfoImpl_vTable.version := 2;
13571 ITraceSweepInfoImpl_vTable.getOIT := @ITraceSweepInfoImpl_getOITDispatcher;
13572 ITraceSweepInfoImpl_vTable.getOST := @ITraceSweepInfoImpl_getOSTDispatcher;
13573 ITraceSweepInfoImpl_vTable.getOAT := @ITraceSweepInfoImpl_getOATDispatcher;
13574 ITraceSweepInfoImpl_vTable.getNext := @ITraceSweepInfoImpl_getNextDispatcher;
13575 ITraceSweepInfoImpl_vTable.getPerf := @ITraceSweepInfoImpl_getPerfDispatcher;
13576
13577 ITraceLogWriterImpl_vTable := TraceLogWriterVTable.create;
13578 ITraceLogWriterImpl_vTable.version := 4;
13579 ITraceLogWriterImpl_vTable.addRef := @ITraceLogWriterImpl_addRefDispatcher;
13580 ITraceLogWriterImpl_vTable.release := @ITraceLogWriterImpl_releaseDispatcher;
13581 ITraceLogWriterImpl_vTable.write := @ITraceLogWriterImpl_writeDispatcher;
13582 ITraceLogWriterImpl_vTable.write_s := @ITraceLogWriterImpl_write_sDispatcher;
13583
13584 ITraceInitInfoImpl_vTable := TraceInitInfoVTable.create;
13585 ITraceInitInfoImpl_vTable.version := 2;
13586 ITraceInitInfoImpl_vTable.getConfigText := @ITraceInitInfoImpl_getConfigTextDispatcher;
13587 ITraceInitInfoImpl_vTable.getTraceSessionID := @ITraceInitInfoImpl_getTraceSessionIDDispatcher;
13588 ITraceInitInfoImpl_vTable.getTraceSessionName := @ITraceInitInfoImpl_getTraceSessionNameDispatcher;
13589 ITraceInitInfoImpl_vTable.getFirebirdRootDirectory := @ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher;
13590 ITraceInitInfoImpl_vTable.getDatabaseName := @ITraceInitInfoImpl_getDatabaseNameDispatcher;
13591 ITraceInitInfoImpl_vTable.getConnection := @ITraceInitInfoImpl_getConnectionDispatcher;
13592 ITraceInitInfoImpl_vTable.getLogWriter := @ITraceInitInfoImpl_getLogWriterDispatcher;
13593
13594 ITracePluginImpl_vTable := TracePluginVTable.create;
13595 ITracePluginImpl_vTable.version := 3;
13596 ITracePluginImpl_vTable.addRef := @ITracePluginImpl_addRefDispatcher;
13597 ITracePluginImpl_vTable.release := @ITracePluginImpl_releaseDispatcher;
13598 ITracePluginImpl_vTable.trace_get_error := @ITracePluginImpl_trace_get_errorDispatcher;
13599 ITracePluginImpl_vTable.trace_attach := @ITracePluginImpl_trace_attachDispatcher;
13600 ITracePluginImpl_vTable.trace_detach := @ITracePluginImpl_trace_detachDispatcher;
13601 ITracePluginImpl_vTable.trace_transaction_start := @ITracePluginImpl_trace_transaction_startDispatcher;
13602 ITracePluginImpl_vTable.trace_transaction_end := @ITracePluginImpl_trace_transaction_endDispatcher;
13603 ITracePluginImpl_vTable.trace_proc_execute := @ITracePluginImpl_trace_proc_executeDispatcher;
13604 ITracePluginImpl_vTable.trace_trigger_execute := @ITracePluginImpl_trace_trigger_executeDispatcher;
13605 ITracePluginImpl_vTable.trace_set_context := @ITracePluginImpl_trace_set_contextDispatcher;
13606 ITracePluginImpl_vTable.trace_dsql_prepare := @ITracePluginImpl_trace_dsql_prepareDispatcher;
13607 ITracePluginImpl_vTable.trace_dsql_free := @ITracePluginImpl_trace_dsql_freeDispatcher;
13608 ITracePluginImpl_vTable.trace_dsql_execute := @ITracePluginImpl_trace_dsql_executeDispatcher;
13609 ITracePluginImpl_vTable.trace_blr_compile := @ITracePluginImpl_trace_blr_compileDispatcher;
13610 ITracePluginImpl_vTable.trace_blr_execute := @ITracePluginImpl_trace_blr_executeDispatcher;
13611 ITracePluginImpl_vTable.trace_dyn_execute := @ITracePluginImpl_trace_dyn_executeDispatcher;
13612 ITracePluginImpl_vTable.trace_service_attach := @ITracePluginImpl_trace_service_attachDispatcher;
13613 ITracePluginImpl_vTable.trace_service_start := @ITracePluginImpl_trace_service_startDispatcher;
13614 ITracePluginImpl_vTable.trace_service_query := @ITracePluginImpl_trace_service_queryDispatcher;
13615 ITracePluginImpl_vTable.trace_service_detach := @ITracePluginImpl_trace_service_detachDispatcher;
13616 ITracePluginImpl_vTable.trace_event_error := @ITracePluginImpl_trace_event_errorDispatcher;
13617 ITracePluginImpl_vTable.trace_event_sweep := @ITracePluginImpl_trace_event_sweepDispatcher;
13618 ITracePluginImpl_vTable.trace_func_execute := @ITracePluginImpl_trace_func_executeDispatcher;
13619
13620 ITraceFactoryImpl_vTable := TraceFactoryVTable.create;
13621 ITraceFactoryImpl_vTable.version := 4;
13622 ITraceFactoryImpl_vTable.addRef := @ITraceFactoryImpl_addRefDispatcher;
13623 ITraceFactoryImpl_vTable.release := @ITraceFactoryImpl_releaseDispatcher;
13624 ITraceFactoryImpl_vTable.setOwner := @ITraceFactoryImpl_setOwnerDispatcher;
13625 ITraceFactoryImpl_vTable.getOwner := @ITraceFactoryImpl_getOwnerDispatcher;
13626 ITraceFactoryImpl_vTable.trace_needs := @ITraceFactoryImpl_trace_needsDispatcher;
13627 ITraceFactoryImpl_vTable.trace_create := @ITraceFactoryImpl_trace_createDispatcher;
13628
13629 IUdrFunctionFactoryImpl_vTable := UdrFunctionFactoryVTable.create;
13630 IUdrFunctionFactoryImpl_vTable.version := 3;
13631 IUdrFunctionFactoryImpl_vTable.dispose := @IUdrFunctionFactoryImpl_disposeDispatcher;
13632 IUdrFunctionFactoryImpl_vTable.setup := @IUdrFunctionFactoryImpl_setupDispatcher;
13633 IUdrFunctionFactoryImpl_vTable.newItem := @IUdrFunctionFactoryImpl_newItemDispatcher;
13634
13635 IUdrProcedureFactoryImpl_vTable := UdrProcedureFactoryVTable.create;
13636 IUdrProcedureFactoryImpl_vTable.version := 3;
13637 IUdrProcedureFactoryImpl_vTable.dispose := @IUdrProcedureFactoryImpl_disposeDispatcher;
13638 IUdrProcedureFactoryImpl_vTable.setup := @IUdrProcedureFactoryImpl_setupDispatcher;
13639 IUdrProcedureFactoryImpl_vTable.newItem := @IUdrProcedureFactoryImpl_newItemDispatcher;
13640
13641 IUdrTriggerFactoryImpl_vTable := UdrTriggerFactoryVTable.create;
13642 IUdrTriggerFactoryImpl_vTable.version := 3;
13643 IUdrTriggerFactoryImpl_vTable.dispose := @IUdrTriggerFactoryImpl_disposeDispatcher;
13644 IUdrTriggerFactoryImpl_vTable.setup := @IUdrTriggerFactoryImpl_setupDispatcher;
13645 IUdrTriggerFactoryImpl_vTable.newItem := @IUdrTriggerFactoryImpl_newItemDispatcher;
13646
13647 IUdrPluginImpl_vTable := UdrPluginVTable.create;
13648 IUdrPluginImpl_vTable.version := 2;
13649 IUdrPluginImpl_vTable.getMaster := @IUdrPluginImpl_getMasterDispatcher;
13650 IUdrPluginImpl_vTable.registerFunction := @IUdrPluginImpl_registerFunctionDispatcher;
13651 IUdrPluginImpl_vTable.registerProcedure := @IUdrPluginImpl_registerProcedureDispatcher;
13652 IUdrPluginImpl_vTable.registerTrigger := @IUdrPluginImpl_registerTriggerDispatcher;
13653
13654 IDecFloat16Impl_vTable := DecFloat16VTable.create;
13655 IDecFloat16Impl_vTable.version := 2;
13656 IDecFloat16Impl_vTable.toBcd := @IDecFloat16Impl_toBcdDispatcher;
13657 IDecFloat16Impl_vTable.toString := @IDecFloat16Impl_toStringDispatcher;
13658 IDecFloat16Impl_vTable.fromBcd := @IDecFloat16Impl_fromBcdDispatcher;
13659 IDecFloat16Impl_vTable.fromString := @IDecFloat16Impl_fromStringDispatcher;
13660
13661 IDecFloat34Impl_vTable := DecFloat34VTable.create;
13662 IDecFloat34Impl_vTable.version := 2;
13663 IDecFloat34Impl_vTable.toBcd := @IDecFloat34Impl_toBcdDispatcher;
13664 IDecFloat34Impl_vTable.toString := @IDecFloat34Impl_toStringDispatcher;
13665 IDecFloat34Impl_vTable.fromBcd := @IDecFloat34Impl_fromBcdDispatcher;
13666 IDecFloat34Impl_vTable.fromString := @IDecFloat34Impl_fromStringDispatcher;
13667
13668 IInt128Impl_vTable := Int128VTable.create;
13669 IInt128Impl_vTable.version := 2;
13670 IInt128Impl_vTable.toString := @IInt128Impl_toStringDispatcher;
13671 IInt128Impl_vTable.fromString := @IInt128Impl_fromStringDispatcher;
13672
13673 IReplicatedFieldImpl_vTable := ReplicatedFieldVTable.create;
13674 IReplicatedFieldImpl_vTable.version := 2;
13675 IReplicatedFieldImpl_vTable.getName := @IReplicatedFieldImpl_getNameDispatcher;
13676 IReplicatedFieldImpl_vTable.getType := @IReplicatedFieldImpl_getTypeDispatcher;
13677 IReplicatedFieldImpl_vTable.getSubType := @IReplicatedFieldImpl_getSubTypeDispatcher;
13678 IReplicatedFieldImpl_vTable.getScale := @IReplicatedFieldImpl_getScaleDispatcher;
13679 IReplicatedFieldImpl_vTable.getLength := @IReplicatedFieldImpl_getLengthDispatcher;
13680 IReplicatedFieldImpl_vTable.getCharSet := @IReplicatedFieldImpl_getCharSetDispatcher;
13681 IReplicatedFieldImpl_vTable.getData := @IReplicatedFieldImpl_getDataDispatcher;
13682
13683 IReplicatedRecordImpl_vTable := ReplicatedRecordVTable.create;
13684 IReplicatedRecordImpl_vTable.version := 2;
13685 IReplicatedRecordImpl_vTable.getCount := @IReplicatedRecordImpl_getCountDispatcher;
13686 IReplicatedRecordImpl_vTable.getField := @IReplicatedRecordImpl_getFieldDispatcher;
13687 IReplicatedRecordImpl_vTable.getRawLength := @IReplicatedRecordImpl_getRawLengthDispatcher;
13688 IReplicatedRecordImpl_vTable.getRawData := @IReplicatedRecordImpl_getRawDataDispatcher;
13689
13690 IReplicatedTransactionImpl_vTable := ReplicatedTransactionVTable.create;
13691 IReplicatedTransactionImpl_vTable.version := 3;
13692 IReplicatedTransactionImpl_vTable.dispose := @IReplicatedTransactionImpl_disposeDispatcher;
13693 IReplicatedTransactionImpl_vTable.prepare := @IReplicatedTransactionImpl_prepareDispatcher;
13694 IReplicatedTransactionImpl_vTable.commit := @IReplicatedTransactionImpl_commitDispatcher;
13695 IReplicatedTransactionImpl_vTable.rollback := @IReplicatedTransactionImpl_rollbackDispatcher;
13696 IReplicatedTransactionImpl_vTable.startSavepoint := @IReplicatedTransactionImpl_startSavepointDispatcher;
13697 IReplicatedTransactionImpl_vTable.releaseSavepoint := @IReplicatedTransactionImpl_releaseSavepointDispatcher;
13698 IReplicatedTransactionImpl_vTable.rollbackSavepoint := @IReplicatedTransactionImpl_rollbackSavepointDispatcher;
13699 IReplicatedTransactionImpl_vTable.insertRecord := @IReplicatedTransactionImpl_insertRecordDispatcher;
13700 IReplicatedTransactionImpl_vTable.updateRecord := @IReplicatedTransactionImpl_updateRecordDispatcher;
13701 IReplicatedTransactionImpl_vTable.deleteRecord := @IReplicatedTransactionImpl_deleteRecordDispatcher;
13702 IReplicatedTransactionImpl_vTable.executeSql := @IReplicatedTransactionImpl_executeSqlDispatcher;
13703 IReplicatedTransactionImpl_vTable.executeSqlIntl := @IReplicatedTransactionImpl_executeSqlIntlDispatcher;
13704
13705 IReplicatedSessionImpl_vTable := ReplicatedSessionVTable.create;
13706 IReplicatedSessionImpl_vTable.version := 4;
13707 IReplicatedSessionImpl_vTable.addRef := @IReplicatedSessionImpl_addRefDispatcher;
13708 IReplicatedSessionImpl_vTable.release := @IReplicatedSessionImpl_releaseDispatcher;
13709 IReplicatedSessionImpl_vTable.setOwner := @IReplicatedSessionImpl_setOwnerDispatcher;
13710 IReplicatedSessionImpl_vTable.getOwner := @IReplicatedSessionImpl_getOwnerDispatcher;
13711 IReplicatedSessionImpl_vTable.setAttachment := @IReplicatedSessionImpl_setAttachmentDispatcher;
13712 IReplicatedSessionImpl_vTable.startTransaction := @IReplicatedSessionImpl_startTransactionDispatcher;
13713 IReplicatedSessionImpl_vTable.cleanupTransaction := @IReplicatedSessionImpl_cleanupTransactionDispatcher;
13714 IReplicatedSessionImpl_vTable.setSequence := @IReplicatedSessionImpl_setSequenceDispatcher;
13715
13716 finalization
13717 IVersionedImpl_vTable.destroy;
13718 IReferenceCountedImpl_vTable.destroy;
13719 IDisposableImpl_vTable.destroy;
13720 IStatusImpl_vTable.destroy;
13721 IMasterImpl_vTable.destroy;
13722 IPluginBaseImpl_vTable.destroy;
13723 IPluginSetImpl_vTable.destroy;
13724 IConfigEntryImpl_vTable.destroy;
13725 IConfigImpl_vTable.destroy;
13726 IFirebirdConfImpl_vTable.destroy;
13727 IPluginConfigImpl_vTable.destroy;
13728 IPluginFactoryImpl_vTable.destroy;
13729 IPluginModuleImpl_vTable.destroy;
13730 IPluginManagerImpl_vTable.destroy;
13731 ICryptKeyImpl_vTable.destroy;
13732 IConfigManagerImpl_vTable.destroy;
13733 IEventCallbackImpl_vTable.destroy;
13734 IBlobImpl_vTable.destroy;
13735 ITransactionImpl_vTable.destroy;
13736 IMessageMetadataImpl_vTable.destroy;
13737 IMetadataBuilderImpl_vTable.destroy;
13738 IResultSetImpl_vTable.destroy;
13739 IStatementImpl_vTable.destroy;
13740 IBatchImpl_vTable.destroy;
13741 IBatchCompletionStateImpl_vTable.destroy;
13742 IReplicatorImpl_vTable.destroy;
13743 IRequestImpl_vTable.destroy;
13744 IEventsImpl_vTable.destroy;
13745 IAttachmentImpl_vTable.destroy;
13746 IServiceImpl_vTable.destroy;
13747 IProviderImpl_vTable.destroy;
13748 IDtcStartImpl_vTable.destroy;
13749 IDtcImpl_vTable.destroy;
13750 IAuthImpl_vTable.destroy;
13751 IWriterImpl_vTable.destroy;
13752 IServerBlockImpl_vTable.destroy;
13753 IClientBlockImpl_vTable.destroy;
13754 IServerImpl_vTable.destroy;
13755 IClientImpl_vTable.destroy;
13756 IUserFieldImpl_vTable.destroy;
13757 ICharUserFieldImpl_vTable.destroy;
13758 IIntUserFieldImpl_vTable.destroy;
13759 IUserImpl_vTable.destroy;
13760 IListUsersImpl_vTable.destroy;
13761 ILogonInfoImpl_vTable.destroy;
13762 IManagementImpl_vTable.destroy;
13763 IAuthBlockImpl_vTable.destroy;
13764 IWireCryptPluginImpl_vTable.destroy;
13765 ICryptKeyCallbackImpl_vTable.destroy;
13766 IKeyHolderPluginImpl_vTable.destroy;
13767 IDbCryptInfoImpl_vTable.destroy;
13768 IDbCryptPluginImpl_vTable.destroy;
13769 IExternalContextImpl_vTable.destroy;
13770 IExternalResultSetImpl_vTable.destroy;
13771 IExternalFunctionImpl_vTable.destroy;
13772 IExternalProcedureImpl_vTable.destroy;
13773 IExternalTriggerImpl_vTable.destroy;
13774 IRoutineMetadataImpl_vTable.destroy;
13775 IExternalEngineImpl_vTable.destroy;
13776 ITimerImpl_vTable.destroy;
13777 ITimerControlImpl_vTable.destroy;
13778 IVersionCallbackImpl_vTable.destroy;
13779 IUtilImpl_vTable.destroy;
13780 IOffsetsCallbackImpl_vTable.destroy;
13781 IXpbBuilderImpl_vTable.destroy;
13782 ITraceConnectionImpl_vTable.destroy;
13783 ITraceDatabaseConnectionImpl_vTable.destroy;
13784 ITraceTransactionImpl_vTable.destroy;
13785 ITraceParamsImpl_vTable.destroy;
13786 ITraceStatementImpl_vTable.destroy;
13787 ITraceSQLStatementImpl_vTable.destroy;
13788 ITraceBLRStatementImpl_vTable.destroy;
13789 ITraceDYNRequestImpl_vTable.destroy;
13790 ITraceContextVariableImpl_vTable.destroy;
13791 ITraceProcedureImpl_vTable.destroy;
13792 ITraceFunctionImpl_vTable.destroy;
13793 ITraceTriggerImpl_vTable.destroy;
13794 ITraceServiceConnectionImpl_vTable.destroy;
13795 ITraceStatusVectorImpl_vTable.destroy;
13796 ITraceSweepInfoImpl_vTable.destroy;
13797 ITraceLogWriterImpl_vTable.destroy;
13798 ITraceInitInfoImpl_vTable.destroy;
13799 ITracePluginImpl_vTable.destroy;
13800 ITraceFactoryImpl_vTable.destroy;
13801 IUdrFunctionFactoryImpl_vTable.destroy;
13802 IUdrProcedureFactoryImpl_vTable.destroy;
13803 IUdrTriggerFactoryImpl_vTable.destroy;
13804 IUdrPluginImpl_vTable.destroy;
13805 IDecFloat16Impl_vTable.destroy;
13806 IDecFloat34Impl_vTable.destroy;
13807 IInt128Impl_vTable.destroy;
13808 IReplicatedFieldImpl_vTable.destroy;
13809 IReplicatedRecordImpl_vTable.destroy;
13810 IReplicatedTransactionImpl_vTable.destroy;
13811 IReplicatedSessionImpl_vTable.destroy;
13812
13813 end.