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: 345
Committed: Mon Aug 23 14:22:29 2021 UTC (2 years, 7 months ago) by tony
Content type: text/x-pascal
File size: 526960 byte(s)
Log Message:
Merged into public release

File Contents

# Content
1 { This file was autogenerated by cloop - Cross Language Object Oriented Programming }
2
3 {Note that for use with IBX, type TISC_QUAD is used instead of ISC_QUAD. TISC_QUAD is
4 sourced from unit IB
5
6 Common types moved to IBExternals.
7
8 BytePtr is now type equivalent to PByte.
9
10 Use of FBException is now conditional and not used for IBX.
11
12 constants removed and imported separately into IB.pas
13
14 Commented out:
15
16 function fb_get_master_interface : IMaster; cdecl; external 'fbclient';
17
18 This is not an appropriate external function declaration for a dynamic link library and only applies to a static library.
19
20 When testing with FPC, if this line was not commented out, a linker error occurs when trying to link with the debug heap
21 manager (needed for testing for memory leaks).
22 }
23
24 { $DEFINE USEFBEXCEPTION}
25
26 {$IFDEF MSWINDOWS}
27 {$DEFINE WINDOWS}
28 {$ENDIF}
29
30 {$IFDEF FPC}
31 {$MODE DELPHI}
32 {$OBJECTCHECKS OFF}
33 {$ENDIF}
34
35 unit Firebird;
36
37 interface
38
39 uses Classes, SysUtils, IB, IBExternals;
40
41 type
42 {$IFNDEF FPC}
43 QWord = UInt64;
44 {$ENDIF}
45
46 IVersioned = class;
47 IReferenceCounted = class;
48 IDisposable = class;
49 IStatus = class;
50 IMaster = class;
51 IPluginBase = class;
52 IPluginSet = class;
53 IConfigEntry = class;
54 IConfig = class;
55 IFirebirdConf = class;
56 IPluginConfig = class;
57 IPluginFactory = class;
58 IPluginModule = class;
59 IPluginManager = class;
60 ICryptKey = class;
61 IConfigManager = class;
62 IEventCallback = class;
63 IBlob = class;
64 ITransaction = class;
65 IMessageMetadata = class;
66 IMetadataBuilder = class;
67 IResultSet = class;
68 IStatement = class;
69 IBatch = class;
70 IBatchCompletionState = class;
71 IReplicator = class;
72 IRequest = class;
73 IEvents = class;
74 IAttachment = class;
75 IService = class;
76 IProvider = class;
77 IDtcStart = class;
78 IDtc = class;
79 IAuth = class;
80 IWriter = class;
81 IServerBlock = class;
82 IClientBlock = class;
83 IServer = class;
84 IClient = class;
85 IUserField = class;
86 ICharUserField = class;
87 IIntUserField = class;
88 IUser = class;
89 IListUsers = class;
90 ILogonInfo = class;
91 IManagement = class;
92 IAuthBlock = class;
93 IWireCryptPlugin = class;
94 ICryptKeyCallback = class;
95 IKeyHolderPlugin = class;
96 IDbCryptInfo = class;
97 IDbCryptPlugin = class;
98 IExternalContext = class;
99 IExternalResultSet = class;
100 IExternalFunction = class;
101 IExternalProcedure = class;
102 IExternalTrigger = class;
103 IRoutineMetadata = class;
104 IExternalEngine = class;
105 ITimer = class;
106 ITimerControl = class;
107 IVersionCallback = class;
108 IUtil = class;
109 IOffsetsCallback = class;
110 IXpbBuilder = class;
111 ITraceConnection = class;
112 ITraceDatabaseConnection = class;
113 ITraceTransaction = class;
114 ITraceParams = class;
115 ITraceStatement = class;
116 ITraceSQLStatement = class;
117 ITraceBLRStatement = class;
118 ITraceDYNRequest = class;
119 ITraceContextVariable = class;
120 ITraceProcedure = class;
121 ITraceFunction = class;
122 ITraceTrigger = class;
123 ITraceServiceConnection = class;
124 ITraceStatusVector = class;
125 ITraceSweepInfo = class;
126 ITraceLogWriter = class;
127 ITraceInitInfo = class;
128 ITracePlugin = class;
129 ITraceFactory = class;
130 IUdrFunctionFactory = class;
131 IUdrProcedureFactory = class;
132 IUdrTriggerFactory = class;
133 IUdrPlugin = class;
134 IDecFloat16 = class;
135 IDecFloat34 = class;
136 IInt128 = class;
137 IReplicatedField = class;
138 IReplicatedRecord = class;
139 IReplicatedTransaction = class;
140 IReplicatedSession = class;
141
142 FbException = class(Exception)
143 public
144 constructor create(status: IStatus); virtual;
145 destructor Destroy(); override;
146
147 function getStatus: IStatus;
148
149 class procedure checkException(status: IStatus);
150 class procedure catchException(status: IStatus; e: Exception);
151
152 private
153 status: IStatus;
154 end;
155
156 isc_tr_handle = ^Integer;
157 isc_stmt_handle = ^Integer;
158
159 ntrace_relation_t = Integer;
160 TraceCounts = Record
161 trc_relation_id : ntrace_relation_t;
162 trc_relation_name : PAnsiChar;
163 trc_counters : ^Int64;
164 end;
165 TraceCountsPtr = ^TraceCounts;
166 PerformanceInfo = Record
167 pin_time : Int64;
168 pin_counters : ^Int64;
169 pin_count : NativeUInt;
170 pin_tables : TraceCountsPtr;
171 pin_records_fetched : Int64;
172 end;
173
174 Dsc = Record
175 dsc_dtype, dsc_scale: Byte;
176 dsc_length, dsc_sub_type, dsc_flags: Int16;
177 dsc_address: ^Byte;
178 end;
179 BooleanPtr = ^Boolean;
180 BytePtr = PByte;
181 CardinalPtr = ^Cardinal;
182 FB_DEC16Ptr = ^FB_DEC16;
183 FB_DEC34Ptr = ^FB_DEC34;
184 FB_I128Ptr = ^FB_I128;
185 IKeyHolderPluginPtr = ^IKeyHolderPlugin;
186 ISC_QUADPtr = ^TISC_QUAD;
187 ISC_TIMESTAMP_TZPtr = ^ISC_TIMESTAMP_TZ;
188 ISC_TIMESTAMP_TZ_EXPtr = ^ISC_TIMESTAMP_TZ_EX;
189 ISC_TIME_TZPtr = ^ISC_TIME_TZ;
190 ISC_TIME_TZ_EXPtr = ^ISC_TIME_TZ_EX;
191 Int64Ptr = ^Int64;
192 IntegerPtr = ^Integer;
193 NativeIntPtr = ^NativeInt;
194 PerformanceInfoPtr = ^PerformanceInfo;
195 dscPtr = ^dsc;
196
197 IReferenceCounted_addRefPtr = procedure(this: IReferenceCounted); cdecl;
198 IReferenceCounted_releasePtr = function(this: IReferenceCounted): Integer; cdecl;
199 IDisposable_disposePtr = procedure(this: IDisposable); cdecl;
200 IStatus_initPtr = procedure(this: IStatus); cdecl;
201 IStatus_getStatePtr = function(this: IStatus): Cardinal; cdecl;
202 IStatus_setErrors2Ptr = procedure(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
203 IStatus_setWarnings2Ptr = procedure(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
204 IStatus_setErrorsPtr = procedure(this: IStatus; value: NativeIntPtr); cdecl;
205 IStatus_setWarningsPtr = procedure(this: IStatus; value: NativeIntPtr); cdecl;
206 IStatus_getErrorsPtr = function(this: IStatus): NativeIntPtr; cdecl;
207 IStatus_getWarningsPtr = function(this: IStatus): NativeIntPtr; cdecl;
208 IStatus_clonePtr = function(this: IStatus): IStatus; cdecl;
209 IMaster_getStatusPtr = function(this: IMaster): IStatus; cdecl;
210 IMaster_getDispatcherPtr = function(this: IMaster): IProvider; cdecl;
211 IMaster_getPluginManagerPtr = function(this: IMaster): IPluginManager; cdecl;
212 IMaster_getTimerControlPtr = function(this: IMaster): ITimerControl; cdecl;
213 IMaster_getDtcPtr = function(this: IMaster): IDtc; cdecl;
214 IMaster_registerAttachmentPtr = function(this: IMaster; provider: IProvider; attachment: IAttachment): IAttachment; cdecl;
215 IMaster_registerTransactionPtr = function(this: IMaster; attachment: IAttachment; transaction: ITransaction): ITransaction; cdecl;
216 IMaster_getMetadataBuilderPtr = function(this: IMaster; status: IStatus; fieldCount: Cardinal): IMetadataBuilder; cdecl;
217 IMaster_serverModePtr = function(this: IMaster; mode: Integer): Integer; cdecl;
218 IMaster_getUtilInterfacePtr = function(this: IMaster): IUtil; cdecl;
219 IMaster_getConfigManagerPtr = function(this: IMaster): IConfigManager; cdecl;
220 IMaster_getProcessExitingPtr = function(this: IMaster): Boolean; cdecl;
221 IPluginBase_setOwnerPtr = procedure(this: IPluginBase; r: IReferenceCounted); cdecl;
222 IPluginBase_getOwnerPtr = function(this: IPluginBase): IReferenceCounted; cdecl;
223 IPluginSet_getNamePtr = function(this: IPluginSet): PAnsiChar; cdecl;
224 IPluginSet_getModuleNamePtr = function(this: IPluginSet): PAnsiChar; cdecl;
225 IPluginSet_getPluginPtr = function(this: IPluginSet; status: IStatus): IPluginBase; cdecl;
226 IPluginSet_nextPtr = procedure(this: IPluginSet; status: IStatus); cdecl;
227 IPluginSet_set_Ptr = procedure(this: IPluginSet; status: IStatus; s: PAnsiChar); cdecl;
228 IConfigEntry_getNamePtr = function(this: IConfigEntry): PAnsiChar; cdecl;
229 IConfigEntry_getValuePtr = function(this: IConfigEntry): PAnsiChar; cdecl;
230 IConfigEntry_getIntValuePtr = function(this: IConfigEntry): Int64; cdecl;
231 IConfigEntry_getBoolValuePtr = function(this: IConfigEntry): Boolean; cdecl;
232 IConfigEntry_getSubConfigPtr = function(this: IConfigEntry; status: IStatus): IConfig; cdecl;
233 IConfig_findPtr = function(this: IConfig; status: IStatus; name: PAnsiChar): IConfigEntry; cdecl;
234 IConfig_findValuePtr = function(this: IConfig; status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; cdecl;
235 IConfig_findPosPtr = function(this: IConfig; status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; cdecl;
236 IFirebirdConf_getKeyPtr = function(this: IFirebirdConf; name: PAnsiChar): Cardinal; cdecl;
237 IFirebirdConf_asIntegerPtr = function(this: IFirebirdConf; key: Cardinal): Int64; cdecl;
238 IFirebirdConf_asStringPtr = function(this: IFirebirdConf; key: Cardinal): PAnsiChar; cdecl;
239 IFirebirdConf_asBooleanPtr = function(this: IFirebirdConf; key: Cardinal): Boolean; cdecl;
240 IFirebirdConf_getVersionPtr = function(this: IFirebirdConf; status: IStatus): Cardinal; cdecl;
241 IPluginConfig_getConfigFileNamePtr = function(this: IPluginConfig): PAnsiChar; cdecl;
242 IPluginConfig_getDefaultConfigPtr = function(this: IPluginConfig; status: IStatus): IConfig; cdecl;
243 IPluginConfig_getFirebirdConfPtr = function(this: IPluginConfig; status: IStatus): IFirebirdConf; cdecl;
244 IPluginConfig_setReleaseDelayPtr = procedure(this: IPluginConfig; status: IStatus; microSeconds: QWord); cdecl;
245 IPluginFactory_createPluginPtr = function(this: IPluginFactory; status: IStatus; factoryParameter: IPluginConfig): IPluginBase; cdecl;
246 IPluginModule_doCleanPtr = procedure(this: IPluginModule); cdecl;
247 IPluginModule_threadDetachPtr = procedure(this: IPluginModule); cdecl;
248 IPluginManager_registerPluginFactoryPtr = procedure(this: IPluginManager; pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); cdecl;
249 IPluginManager_registerModulePtr = procedure(this: IPluginManager; cleanup: IPluginModule); cdecl;
250 IPluginManager_unregisterModulePtr = procedure(this: IPluginManager; cleanup: IPluginModule); cdecl;
251 IPluginManager_getPluginsPtr = function(this: IPluginManager; status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; cdecl;
252 IPluginManager_getConfigPtr = function(this: IPluginManager; status: IStatus; filename: PAnsiChar): IConfig; cdecl;
253 IPluginManager_releasePluginPtr = procedure(this: IPluginManager; plugin: IPluginBase); cdecl;
254 ICryptKey_setSymmetricPtr = procedure(this: ICryptKey; status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); cdecl;
255 ICryptKey_setAsymmetricPtr = procedure(this: ICryptKey; status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); cdecl;
256 ICryptKey_getEncryptKeyPtr = function(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
257 ICryptKey_getDecryptKeyPtr = function(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
258 IConfigManager_getDirectoryPtr = function(this: IConfigManager; code: Cardinal): PAnsiChar; cdecl;
259 IConfigManager_getFirebirdConfPtr = function(this: IConfigManager): IFirebirdConf; cdecl;
260 IConfigManager_getDatabaseConfPtr = function(this: IConfigManager; dbName: PAnsiChar): IFirebirdConf; cdecl;
261 IConfigManager_getPluginConfigPtr = function(this: IConfigManager; configuredPlugin: PAnsiChar): IConfig; cdecl;
262 IConfigManager_getInstallDirectoryPtr = function(this: IConfigManager): PAnsiChar; cdecl;
263 IConfigManager_getRootDirectoryPtr = function(this: IConfigManager): PAnsiChar; cdecl;
264 IConfigManager_getDefaultSecurityDbPtr = function(this: IConfigManager): PAnsiChar; cdecl;
265 IEventCallback_eventCallbackFunctionPtr = procedure(this: IEventCallback; length: Cardinal; events: BytePtr); cdecl;
266 IBlob_getInfoPtr = procedure(this: IBlob; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
267 IBlob_getSegmentPtr = function(this: IBlob; status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; cdecl;
268 IBlob_putSegmentPtr = procedure(this: IBlob; status: IStatus; length: Cardinal; buffer: Pointer); cdecl;
269 IBlob_cancelPtr = procedure(this: IBlob; status: IStatus); cdecl;
270 IBlob_closePtr = procedure(this: IBlob; status: IStatus); cdecl;
271 IBlob_seekPtr = function(this: IBlob; status: IStatus; mode: Integer; offset: Integer): Integer; cdecl;
272 ITransaction_getInfoPtr = procedure(this: ITransaction; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
273 ITransaction_preparePtr = procedure(this: ITransaction; status: IStatus; msgLength: Cardinal; message: BytePtr); cdecl;
274 ITransaction_commitPtr = procedure(this: ITransaction; status: IStatus); cdecl;
275 ITransaction_commitRetainingPtr = procedure(this: ITransaction; status: IStatus); cdecl;
276 ITransaction_rollbackPtr = procedure(this: ITransaction; status: IStatus); cdecl;
277 ITransaction_rollbackRetainingPtr = procedure(this: ITransaction; status: IStatus); cdecl;
278 ITransaction_disconnectPtr = procedure(this: ITransaction; status: IStatus); cdecl;
279 ITransaction_joinPtr = function(this: ITransaction; status: IStatus; transaction: ITransaction): ITransaction; cdecl;
280 ITransaction_validatePtr = function(this: ITransaction; status: IStatus; attachment: IAttachment): ITransaction; cdecl;
281 ITransaction_enterDtcPtr = function(this: ITransaction; status: IStatus): ITransaction; cdecl;
282 IMessageMetadata_getCountPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
283 IMessageMetadata_getFieldPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
284 IMessageMetadata_getRelationPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
285 IMessageMetadata_getOwnerPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
286 IMessageMetadata_getAliasPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
287 IMessageMetadata_getTypePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
288 IMessageMetadata_isNullablePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Boolean; cdecl;
289 IMessageMetadata_getSubTypePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
290 IMessageMetadata_getLengthPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
291 IMessageMetadata_getScalePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
292 IMessageMetadata_getCharSetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
293 IMessageMetadata_getOffsetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
294 IMessageMetadata_getNullOffsetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
295 IMessageMetadata_getBuilderPtr = function(this: IMessageMetadata; status: IStatus): IMetadataBuilder; cdecl;
296 IMessageMetadata_getMessageLengthPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
297 IMessageMetadata_getAlignmentPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
298 IMessageMetadata_getAlignedLengthPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
299 IMetadataBuilder_setTypePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; type_: Cardinal); cdecl;
300 IMetadataBuilder_setSubTypePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; subType: Integer); cdecl;
301 IMetadataBuilder_setLengthPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; length: Cardinal); cdecl;
302 IMetadataBuilder_setCharSetPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; charSet: Cardinal); cdecl;
303 IMetadataBuilder_setScalePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; scale: Integer); cdecl;
304 IMetadataBuilder_truncatePtr = procedure(this: IMetadataBuilder; status: IStatus; count: Cardinal); cdecl;
305 IMetadataBuilder_moveNameToIndexPtr = procedure(this: IMetadataBuilder; status: IStatus; name: PAnsiChar; index: Cardinal); cdecl;
306 IMetadataBuilder_removePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal); cdecl;
307 IMetadataBuilder_addFieldPtr = function(this: IMetadataBuilder; status: IStatus): Cardinal; cdecl;
308 IMetadataBuilder_getMetadataPtr = function(this: IMetadataBuilder; status: IStatus): IMessageMetadata; cdecl;
309 IMetadataBuilder_setFieldPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; field: PAnsiChar); cdecl;
310 IMetadataBuilder_setRelationPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; relation: PAnsiChar); cdecl;
311 IMetadataBuilder_setOwnerPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; owner: PAnsiChar); cdecl;
312 IMetadataBuilder_setAliasPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; alias: PAnsiChar); cdecl;
313 IResultSet_fetchNextPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
314 IResultSet_fetchPriorPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
315 IResultSet_fetchFirstPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
316 IResultSet_fetchLastPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
317 IResultSet_fetchAbsolutePtr = function(this: IResultSet; status: IStatus; position: Integer; message: Pointer): Integer; cdecl;
318 IResultSet_fetchRelativePtr = function(this: IResultSet; status: IStatus; offset: Integer; message: Pointer): Integer; cdecl;
319 IResultSet_isEofPtr = function(this: IResultSet; status: IStatus): Boolean; cdecl;
320 IResultSet_isBofPtr = function(this: IResultSet; status: IStatus): Boolean; cdecl;
321 IResultSet_getMetadataPtr = function(this: IResultSet; status: IStatus): IMessageMetadata; cdecl;
322 IResultSet_closePtr = procedure(this: IResultSet; status: IStatus); cdecl;
323 IResultSet_setDelayedOutputFormatPtr = procedure(this: IResultSet; status: IStatus; format: IMessageMetadata); cdecl;
324 IStatement_getInfoPtr = procedure(this: IStatement; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
325 IStatement_getTypePtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
326 IStatement_getPlanPtr = function(this: IStatement; status: IStatus; detailed: Boolean): PAnsiChar; cdecl;
327 IStatement_getAffectedRecordsPtr = function(this: IStatement; status: IStatus): QWord; cdecl;
328 IStatement_getInputMetadataPtr = function(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
329 IStatement_getOutputMetadataPtr = function(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
330 IStatement_executePtr = function(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
331 IStatement_openCursorPtr = function(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; cdecl;
332 IStatement_setCursorNamePtr = procedure(this: IStatement; status: IStatus; name: PAnsiChar); cdecl;
333 IStatement_freePtr = procedure(this: IStatement; status: IStatus); cdecl;
334 IStatement_getFlagsPtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
335 IStatement_getTimeoutPtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
336 IStatement_setTimeoutPtr = procedure(this: IStatement; status: IStatus; timeOut: Cardinal); cdecl;
337 IStatement_createBatchPtr = function(this: IStatement; status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
338 IBatch_addPtr = procedure(this: IBatch; status: IStatus; count: Cardinal; inBuffer: Pointer); cdecl;
339 IBatch_addBlobPtr = procedure(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr); cdecl;
340 IBatch_appendBlobDataPtr = procedure(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
341 IBatch_addBlobStreamPtr = procedure(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
342 IBatch_registerBlobPtr = procedure(this: IBatch; status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr); cdecl;
343 IBatch_executePtr = function(this: IBatch; status: IStatus; transaction: ITransaction): IBatchCompletionState; cdecl;
344 IBatch_cancelPtr = procedure(this: IBatch; status: IStatus); cdecl;
345 IBatch_getBlobAlignmentPtr = function(this: IBatch; status: IStatus): Cardinal; cdecl;
346 IBatch_getMetadataPtr = function(this: IBatch; status: IStatus): IMessageMetadata; cdecl;
347 IBatch_setDefaultBpbPtr = procedure(this: IBatch; status: IStatus; parLength: Cardinal; par: BytePtr); cdecl;
348 IBatch_closePtr = procedure(this: IBatch; status: IStatus); cdecl;
349 IBatchCompletionState_getSizePtr = function(this: IBatchCompletionState; status: IStatus): Cardinal; cdecl;
350 IBatchCompletionState_getStatePtr = function(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Integer; cdecl;
351 IBatchCompletionState_findErrorPtr = function(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Cardinal; cdecl;
352 IBatchCompletionState_getStatusPtr = procedure(this: IBatchCompletionState; status: IStatus; to_: IStatus; pos: Cardinal); cdecl;
353 IReplicator_processPtr = procedure(this: IReplicator; status: IStatus; length: Cardinal; data: BytePtr); cdecl;
354 IReplicator_closePtr = procedure(this: IReplicator; status: IStatus); cdecl;
355 IRequest_receivePtr = procedure(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
356 IRequest_sendPtr = procedure(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
357 IRequest_getInfoPtr = procedure(this: IRequest; status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
358 IRequest_startPtr = procedure(this: IRequest; status: IStatus; tra: ITransaction; level: Integer); cdecl;
359 IRequest_startAndSendPtr = procedure(this: IRequest; status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
360 IRequest_unwindPtr = procedure(this: IRequest; status: IStatus; level: Integer); cdecl;
361 IRequest_freePtr = procedure(this: IRequest; status: IStatus); cdecl;
362 IEvents_cancelPtr = procedure(this: IEvents; status: IStatus); cdecl;
363 IAttachment_getInfoPtr = procedure(this: IAttachment; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
364 IAttachment_startTransactionPtr = function(this: IAttachment; status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; cdecl;
365 IAttachment_reconnectTransactionPtr = function(this: IAttachment; status: IStatus; length: Cardinal; id: BytePtr): ITransaction; cdecl;
366 IAttachment_compileRequestPtr = function(this: IAttachment; status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; cdecl;
367 IAttachment_transactRequestPtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); cdecl;
368 IAttachment_createBlobPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
369 IAttachment_openBlobPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
370 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;
371 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;
372 IAttachment_executeDynPtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); cdecl;
373 IAttachment_preparePtr = function(this: IAttachment; status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; cdecl;
374 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;
375 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;
376 IAttachment_queEventsPtr = function(this: IAttachment; status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; cdecl;
377 IAttachment_cancelOperationPtr = procedure(this: IAttachment; status: IStatus; option: Integer); cdecl;
378 IAttachment_pingPtr = procedure(this: IAttachment; status: IStatus); cdecl;
379 IAttachment_detachPtr = procedure(this: IAttachment; status: IStatus); cdecl;
380 IAttachment_dropDatabasePtr = procedure(this: IAttachment; status: IStatus); cdecl;
381 IAttachment_getIdleTimeoutPtr = function(this: IAttachment; status: IStatus): Cardinal; cdecl;
382 IAttachment_setIdleTimeoutPtr = procedure(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
383 IAttachment_getStatementTimeoutPtr = function(this: IAttachment; status: IStatus): Cardinal; cdecl;
384 IAttachment_setStatementTimeoutPtr = procedure(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
385 IAttachment_createBatchPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
386 IAttachment_createReplicatorPtr = function(this: IAttachment; status: IStatus): IReplicator; cdecl;
387 IService_detachPtr = procedure(this: IService; status: IStatus); cdecl;
388 IService_queryPtr = procedure(this: IService; status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
389 IService_startPtr = procedure(this: IService; status: IStatus; spbLength: Cardinal; spb: BytePtr); cdecl;
390 IProvider_attachDatabasePtr = function(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
391 IProvider_createDatabasePtr = function(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
392 IProvider_attachServiceManagerPtr = function(this: IProvider; status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; cdecl;
393 IProvider_shutdownPtr = procedure(this: IProvider; status: IStatus; timeout: Cardinal; reason: Integer); cdecl;
394 IProvider_setDbCryptCallbackPtr = procedure(this: IProvider; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
395 IDtcStart_addAttachmentPtr = procedure(this: IDtcStart; status: IStatus; att: IAttachment); cdecl;
396 IDtcStart_addWithTpbPtr = procedure(this: IDtcStart; status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); cdecl;
397 IDtcStart_startPtr = function(this: IDtcStart; status: IStatus): ITransaction; cdecl;
398 IDtc_joinPtr = function(this: IDtc; status: IStatus; one: ITransaction; two: ITransaction): ITransaction; cdecl;
399 IDtc_startBuilderPtr = function(this: IDtc; status: IStatus): IDtcStart; cdecl;
400 IWriter_resetPtr = procedure(this: IWriter); cdecl;
401 IWriter_addPtr = procedure(this: IWriter; status: IStatus; name: PAnsiChar); cdecl;
402 IWriter_setTypePtr = procedure(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
403 IWriter_setDbPtr = procedure(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
404 IServerBlock_getLoginPtr = function(this: IServerBlock): PAnsiChar; cdecl;
405 IServerBlock_getDataPtr = function(this: IServerBlock; length: CardinalPtr): BytePtr; cdecl;
406 IServerBlock_putDataPtr = procedure(this: IServerBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
407 IServerBlock_newKeyPtr = function(this: IServerBlock; status: IStatus): ICryptKey; cdecl;
408 IClientBlock_getLoginPtr = function(this: IClientBlock): PAnsiChar; cdecl;
409 IClientBlock_getPasswordPtr = function(this: IClientBlock): PAnsiChar; cdecl;
410 IClientBlock_getDataPtr = function(this: IClientBlock; length: CardinalPtr): BytePtr; cdecl;
411 IClientBlock_putDataPtr = procedure(this: IClientBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
412 IClientBlock_newKeyPtr = function(this: IClientBlock; status: IStatus): ICryptKey; cdecl;
413 IClientBlock_getAuthBlockPtr = function(this: IClientBlock; status: IStatus): IAuthBlock; cdecl;
414 IServer_authenticatePtr = function(this: IServer; status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; cdecl;
415 IServer_setDbCryptCallbackPtr = procedure(this: IServer; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
416 IClient_authenticatePtr = function(this: IClient; status: IStatus; cBlock: IClientBlock): Integer; cdecl;
417 IUserField_enteredPtr = function(this: IUserField): Integer; cdecl;
418 IUserField_specifiedPtr = function(this: IUserField): Integer; cdecl;
419 IUserField_setEnteredPtr = procedure(this: IUserField; status: IStatus; newValue: Integer); cdecl;
420 ICharUserField_getPtr = function(this: ICharUserField): PAnsiChar; cdecl;
421 ICharUserField_set_Ptr = procedure(this: ICharUserField; status: IStatus; newValue: PAnsiChar); cdecl;
422 IIntUserField_getPtr = function(this: IIntUserField): Integer; cdecl;
423 IIntUserField_set_Ptr = procedure(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
424 IUser_operationPtr = function(this: IUser): Cardinal; cdecl;
425 IUser_userNamePtr = function(this: IUser): ICharUserField; cdecl;
426 IUser_passwordPtr = function(this: IUser): ICharUserField; cdecl;
427 IUser_firstNamePtr = function(this: IUser): ICharUserField; cdecl;
428 IUser_lastNamePtr = function(this: IUser): ICharUserField; cdecl;
429 IUser_middleNamePtr = function(this: IUser): ICharUserField; cdecl;
430 IUser_commentPtr = function(this: IUser): ICharUserField; cdecl;
431 IUser_attributesPtr = function(this: IUser): ICharUserField; cdecl;
432 IUser_activePtr = function(this: IUser): IIntUserField; cdecl;
433 IUser_adminPtr = function(this: IUser): IIntUserField; cdecl;
434 IUser_clearPtr = procedure(this: IUser; status: IStatus); cdecl;
435 IListUsers_listPtr = procedure(this: IListUsers; status: IStatus; user: IUser); cdecl;
436 ILogonInfo_namePtr = function(this: ILogonInfo): PAnsiChar; cdecl;
437 ILogonInfo_rolePtr = function(this: ILogonInfo): PAnsiChar; cdecl;
438 ILogonInfo_networkProtocolPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
439 ILogonInfo_remoteAddressPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
440 ILogonInfo_authBlockPtr = function(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl;
441 ILogonInfo_attachmentPtr = function(this: ILogonInfo; status: IStatus): IAttachment; cdecl;
442 ILogonInfo_transactionPtr = function(this: ILogonInfo; status: IStatus): ITransaction; cdecl;
443 IManagement_startPtr = procedure(this: IManagement; status: IStatus; logonInfo: ILogonInfo); cdecl;
444 IManagement_executePtr = function(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl;
445 IManagement_commitPtr = procedure(this: IManagement; status: IStatus); cdecl;
446 IManagement_rollbackPtr = procedure(this: IManagement; status: IStatus); cdecl;
447 IAuthBlock_getTypePtr = function(this: IAuthBlock): PAnsiChar; cdecl;
448 IAuthBlock_getNamePtr = function(this: IAuthBlock): PAnsiChar; cdecl;
449 IAuthBlock_getPluginPtr = function(this: IAuthBlock): PAnsiChar; cdecl;
450 IAuthBlock_getSecurityDbPtr = function(this: IAuthBlock): PAnsiChar; cdecl;
451 IAuthBlock_getOriginalPluginPtr = function(this: IAuthBlock): PAnsiChar; cdecl;
452 IAuthBlock_nextPtr = function(this: IAuthBlock; status: IStatus): Boolean; cdecl;
453 IAuthBlock_firstPtr = function(this: IAuthBlock; status: IStatus): Boolean; cdecl;
454 IWireCryptPlugin_getKnownTypesPtr = function(this: IWireCryptPlugin; status: IStatus): PAnsiChar; cdecl;
455 IWireCryptPlugin_setKeyPtr = procedure(this: IWireCryptPlugin; status: IStatus; key: ICryptKey); cdecl;
456 IWireCryptPlugin_encryptPtr = procedure(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
457 IWireCryptPlugin_decryptPtr = procedure(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
458 IWireCryptPlugin_getSpecificDataPtr = function(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr; cdecl;
459 IWireCryptPlugin_setSpecificDataPtr = procedure(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr); cdecl;
460 ICryptKeyCallback_callbackPtr = function(this: ICryptKeyCallback; dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; cdecl;
461 IKeyHolderPlugin_keyCallbackPtr = function(this: IKeyHolderPlugin; status: IStatus; callback: ICryptKeyCallback): Integer; cdecl;
462 IKeyHolderPlugin_keyHandlePtr = function(this: IKeyHolderPlugin; status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; cdecl;
463 IKeyHolderPlugin_useOnlyOwnKeysPtr = function(this: IKeyHolderPlugin; status: IStatus): Boolean; cdecl;
464 IKeyHolderPlugin_chainHandlePtr = function(this: IKeyHolderPlugin; status: IStatus): ICryptKeyCallback; cdecl;
465 IDbCryptInfo_getDatabaseFullPathPtr = function(this: IDbCryptInfo; status: IStatus): PAnsiChar; cdecl;
466 IDbCryptPlugin_setKeyPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); cdecl;
467 IDbCryptPlugin_encryptPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
468 IDbCryptPlugin_decryptPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
469 IDbCryptPlugin_setInfoPtr = procedure(this: IDbCryptPlugin; status: IStatus; info: IDbCryptInfo); cdecl;
470 IExternalContext_getMasterPtr = function(this: IExternalContext): IMaster; cdecl;
471 IExternalContext_getEnginePtr = function(this: IExternalContext; status: IStatus): IExternalEngine; cdecl;
472 IExternalContext_getAttachmentPtr = function(this: IExternalContext; status: IStatus): IAttachment; cdecl;
473 IExternalContext_getTransactionPtr = function(this: IExternalContext; status: IStatus): ITransaction; cdecl;
474 IExternalContext_getUserNamePtr = function(this: IExternalContext): PAnsiChar; cdecl;
475 IExternalContext_getDatabaseNamePtr = function(this: IExternalContext): PAnsiChar; cdecl;
476 IExternalContext_getClientCharSetPtr = function(this: IExternalContext): PAnsiChar; cdecl;
477 IExternalContext_obtainInfoCodePtr = function(this: IExternalContext): Integer; cdecl;
478 IExternalContext_getInfoPtr = function(this: IExternalContext; code: Integer): Pointer; cdecl;
479 IExternalContext_setInfoPtr = function(this: IExternalContext; code: Integer; value: Pointer): Pointer; cdecl;
480 IExternalResultSet_fetchPtr = function(this: IExternalResultSet; status: IStatus): Boolean; cdecl;
481 IExternalFunction_getCharSetPtr = procedure(this: IExternalFunction; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
482 IExternalFunction_executePtr = procedure(this: IExternalFunction; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); cdecl;
483 IExternalProcedure_getCharSetPtr = procedure(this: IExternalProcedure; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
484 IExternalProcedure_openPtr = function(this: IExternalProcedure; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; cdecl;
485 IExternalTrigger_getCharSetPtr = procedure(this: IExternalTrigger; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
486 IExternalTrigger_executePtr = procedure(this: IExternalTrigger; status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); cdecl;
487 IRoutineMetadata_getPackagePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
488 IRoutineMetadata_getNamePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
489 IRoutineMetadata_getEntryPointPtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
490 IRoutineMetadata_getBodyPtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
491 IRoutineMetadata_getInputMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
492 IRoutineMetadata_getOutputMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
493 IRoutineMetadata_getTriggerMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
494 IRoutineMetadata_getTriggerTablePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
495 IRoutineMetadata_getTriggerTypePtr = function(this: IRoutineMetadata; status: IStatus): Cardinal; cdecl;
496 IExternalEngine_openPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); cdecl;
497 IExternalEngine_openAttachmentPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
498 IExternalEngine_closeAttachmentPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
499 IExternalEngine_makeFunctionPtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; cdecl;
500 IExternalEngine_makeProcedurePtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; cdecl;
501 IExternalEngine_makeTriggerPtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; cdecl;
502 ITimer_handlerPtr = procedure(this: ITimer); cdecl;
503 ITimerControl_startPtr = procedure(this: ITimerControl; status: IStatus; timer: ITimer; microSeconds: QWord); cdecl;
504 ITimerControl_stopPtr = procedure(this: ITimerControl; status: IStatus; timer: ITimer); cdecl;
505 IVersionCallback_callbackPtr = procedure(this: IVersionCallback; status: IStatus; text: PAnsiChar); cdecl;
506 IUtil_getFbVersionPtr = procedure(this: IUtil; status: IStatus; att: IAttachment; callback: IVersionCallback); cdecl;
507 IUtil_loadBlobPtr = procedure(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
508 IUtil_dumpBlobPtr = procedure(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
509 IUtil_getPerfCountersPtr = procedure(this: IUtil; status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); cdecl;
510 IUtil_executeCreateDatabasePtr = function(this: IUtil; status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; cdecl;
511 IUtil_decodeDatePtr = procedure(this: IUtil; date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); cdecl;
512 IUtil_decodeTimePtr = procedure(this: IUtil; time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); cdecl;
513 IUtil_encodeDatePtr = function(this: IUtil; year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; cdecl;
514 IUtil_encodeTimePtr = function(this: IUtil; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; cdecl;
515 IUtil_formatStatusPtr = function(this: IUtil; buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; cdecl;
516 IUtil_getClientVersionPtr = function(this: IUtil): Cardinal; cdecl;
517 IUtil_getXpbBuilderPtr = function(this: IUtil; status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; cdecl;
518 IUtil_setOffsetsPtr = function(this: IUtil; status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; cdecl;
519 IUtil_getDecFloat16Ptr = function(this: IUtil; status: IStatus): IDecFloat16; cdecl;
520 IUtil_getDecFloat34Ptr = function(this: IUtil; status: IStatus): IDecFloat34; cdecl;
521 IUtil_decodeTimeTzPtr = procedure(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
522 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;
523 IUtil_encodeTimeTzPtr = procedure(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); cdecl;
524 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;
525 IUtil_getInt128Ptr = function(this: IUtil; status: IStatus): IInt128; cdecl;
526 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;
527 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;
528 IOffsetsCallback_setOffsetPtr = procedure(this: IOffsetsCallback; status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); cdecl;
529 IXpbBuilder_clearPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
530 IXpbBuilder_removeCurrentPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
531 IXpbBuilder_insertIntPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; value: Integer); cdecl;
532 IXpbBuilder_insertBigIntPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; value: Int64); cdecl;
533 IXpbBuilder_insertBytesPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); cdecl;
534 IXpbBuilder_insertStringPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; str: PAnsiChar); cdecl;
535 IXpbBuilder_insertTagPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte); cdecl;
536 IXpbBuilder_isEofPtr = function(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
537 IXpbBuilder_moveNextPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
538 IXpbBuilder_rewindPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
539 IXpbBuilder_findFirstPtr = function(this: IXpbBuilder; status: IStatus; tag: Byte): Boolean; cdecl;
540 IXpbBuilder_findNextPtr = function(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
541 IXpbBuilder_getTagPtr = function(this: IXpbBuilder; status: IStatus): Byte; cdecl;
542 IXpbBuilder_getLengthPtr = function(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
543 IXpbBuilder_getIntPtr = function(this: IXpbBuilder; status: IStatus): Integer; cdecl;
544 IXpbBuilder_getBigIntPtr = function(this: IXpbBuilder; status: IStatus): Int64; cdecl;
545 IXpbBuilder_getStringPtr = function(this: IXpbBuilder; status: IStatus): PAnsiChar; cdecl;
546 IXpbBuilder_getBytesPtr = function(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
547 IXpbBuilder_getBufferLengthPtr = function(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
548 IXpbBuilder_getBufferPtr = function(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
549 ITraceConnection_getKindPtr = function(this: ITraceConnection): Cardinal; cdecl;
550 ITraceConnection_getProcessIDPtr = function(this: ITraceConnection): Integer; cdecl;
551 ITraceConnection_getUserNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
552 ITraceConnection_getRoleNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
553 ITraceConnection_getCharSetPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
554 ITraceConnection_getRemoteProtocolPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
555 ITraceConnection_getRemoteAddressPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
556 ITraceConnection_getRemoteProcessIDPtr = function(this: ITraceConnection): Integer; cdecl;
557 ITraceConnection_getRemoteProcessNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
558 ITraceDatabaseConnection_getConnectionIDPtr = function(this: ITraceDatabaseConnection): Int64; cdecl;
559 ITraceDatabaseConnection_getDatabaseNamePtr = function(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
560 ITraceTransaction_getTransactionIDPtr = function(this: ITraceTransaction): Int64; cdecl;
561 ITraceTransaction_getReadOnlyPtr = function(this: ITraceTransaction): Boolean; cdecl;
562 ITraceTransaction_getWaitPtr = function(this: ITraceTransaction): Integer; cdecl;
563 ITraceTransaction_getIsolationPtr = function(this: ITraceTransaction): Cardinal; cdecl;
564 ITraceTransaction_getPerfPtr = function(this: ITraceTransaction): PerformanceInfoPtr; cdecl;
565 ITraceTransaction_getInitialIDPtr = function(this: ITraceTransaction): Int64; cdecl;
566 ITraceTransaction_getPreviousIDPtr = function(this: ITraceTransaction): Int64; cdecl;
567 ITraceParams_getCountPtr = function(this: ITraceParams): Cardinal; cdecl;
568 ITraceParams_getParamPtr = function(this: ITraceParams; idx: Cardinal): dscPtr; cdecl;
569 ITraceParams_getTextUTF8Ptr = function(this: ITraceParams; status: IStatus; idx: Cardinal): PAnsiChar; cdecl;
570 ITraceStatement_getStmtIDPtr = function(this: ITraceStatement): Int64; cdecl;
571 ITraceStatement_getPerfPtr = function(this: ITraceStatement): PerformanceInfoPtr; cdecl;
572 ITraceSQLStatement_getTextPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
573 ITraceSQLStatement_getPlanPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
574 ITraceSQLStatement_getInputsPtr = function(this: ITraceSQLStatement): ITraceParams; cdecl;
575 ITraceSQLStatement_getTextUTF8Ptr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
576 ITraceSQLStatement_getExplainedPlanPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
577 ITraceBLRStatement_getDataPtr = function(this: ITraceBLRStatement): BytePtr; cdecl;
578 ITraceBLRStatement_getDataLengthPtr = function(this: ITraceBLRStatement): Cardinal; cdecl;
579 ITraceBLRStatement_getTextPtr = function(this: ITraceBLRStatement): PAnsiChar; cdecl;
580 ITraceDYNRequest_getDataPtr = function(this: ITraceDYNRequest): BytePtr; cdecl;
581 ITraceDYNRequest_getDataLengthPtr = function(this: ITraceDYNRequest): Cardinal; cdecl;
582 ITraceDYNRequest_getTextPtr = function(this: ITraceDYNRequest): PAnsiChar; cdecl;
583 ITraceContextVariable_getNameSpacePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
584 ITraceContextVariable_getVarNamePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
585 ITraceContextVariable_getVarValuePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
586 ITraceProcedure_getProcNamePtr = function(this: ITraceProcedure): PAnsiChar; cdecl;
587 ITraceProcedure_getInputsPtr = function(this: ITraceProcedure): ITraceParams; cdecl;
588 ITraceProcedure_getPerfPtr = function(this: ITraceProcedure): PerformanceInfoPtr; cdecl;
589 ITraceFunction_getFuncNamePtr = function(this: ITraceFunction): PAnsiChar; cdecl;
590 ITraceFunction_getInputsPtr = function(this: ITraceFunction): ITraceParams; cdecl;
591 ITraceFunction_getResultPtr = function(this: ITraceFunction): ITraceParams; cdecl;
592 ITraceFunction_getPerfPtr = function(this: ITraceFunction): PerformanceInfoPtr; cdecl;
593 ITraceTrigger_getTriggerNamePtr = function(this: ITraceTrigger): PAnsiChar; cdecl;
594 ITraceTrigger_getRelationNamePtr = function(this: ITraceTrigger): PAnsiChar; cdecl;
595 ITraceTrigger_getActionPtr = function(this: ITraceTrigger): Integer; cdecl;
596 ITraceTrigger_getWhichPtr = function(this: ITraceTrigger): Integer; cdecl;
597 ITraceTrigger_getPerfPtr = function(this: ITraceTrigger): PerformanceInfoPtr; cdecl;
598 ITraceServiceConnection_getServiceIDPtr = function(this: ITraceServiceConnection): Pointer; cdecl;
599 ITraceServiceConnection_getServiceMgrPtr = function(this: ITraceServiceConnection): PAnsiChar; cdecl;
600 ITraceServiceConnection_getServiceNamePtr = function(this: ITraceServiceConnection): PAnsiChar; cdecl;
601 ITraceStatusVector_hasErrorPtr = function(this: ITraceStatusVector): Boolean; cdecl;
602 ITraceStatusVector_hasWarningPtr = function(this: ITraceStatusVector): Boolean; cdecl;
603 ITraceStatusVector_getStatusPtr = function(this: ITraceStatusVector): IStatus; cdecl;
604 ITraceStatusVector_getTextPtr = function(this: ITraceStatusVector): PAnsiChar; cdecl;
605 ITraceSweepInfo_getOITPtr = function(this: ITraceSweepInfo): Int64; cdecl;
606 ITraceSweepInfo_getOSTPtr = function(this: ITraceSweepInfo): Int64; cdecl;
607 ITraceSweepInfo_getOATPtr = function(this: ITraceSweepInfo): Int64; cdecl;
608 ITraceSweepInfo_getNextPtr = function(this: ITraceSweepInfo): Int64; cdecl;
609 ITraceSweepInfo_getPerfPtr = function(this: ITraceSweepInfo): PerformanceInfoPtr; cdecl;
610 ITraceLogWriter_writePtr = function(this: ITraceLogWriter; buf: Pointer; size: Cardinal): Cardinal; cdecl;
611 ITraceLogWriter_write_sPtr = function(this: ITraceLogWriter; status: IStatus; buf: Pointer; size: Cardinal): Cardinal; cdecl;
612 ITraceInitInfo_getConfigTextPtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
613 ITraceInitInfo_getTraceSessionIDPtr = function(this: ITraceInitInfo): Integer; cdecl;
614 ITraceInitInfo_getTraceSessionNamePtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
615 ITraceInitInfo_getFirebirdRootDirectoryPtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
616 ITraceInitInfo_getDatabaseNamePtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
617 ITraceInitInfo_getConnectionPtr = function(this: ITraceInitInfo): ITraceDatabaseConnection; cdecl;
618 ITraceInitInfo_getLogWriterPtr = function(this: ITraceInitInfo): ITraceLogWriter; cdecl;
619 ITracePlugin_trace_get_errorPtr = function(this: ITracePlugin): PAnsiChar; cdecl;
620 ITracePlugin_trace_attachPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; cdecl;
621 ITracePlugin_trace_detachPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; cdecl;
622 ITracePlugin_trace_transaction_startPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; cdecl;
623 ITracePlugin_trace_transaction_endPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; cdecl;
624 ITracePlugin_trace_proc_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; cdecl;
625 ITracePlugin_trace_trigger_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; cdecl;
626 ITracePlugin_trace_set_contextPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; cdecl;
627 ITracePlugin_trace_dsql_preparePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
628 ITracePlugin_trace_dsql_freePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; cdecl;
629 ITracePlugin_trace_dsql_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; cdecl;
630 ITracePlugin_trace_blr_compilePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
631 ITracePlugin_trace_blr_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; cdecl;
632 ITracePlugin_trace_dyn_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
633 ITracePlugin_trace_service_attachPtr = function(this: ITracePlugin; service: ITraceServiceConnection; att_result: Cardinal): Boolean; cdecl;
634 ITracePlugin_trace_service_startPtr = function(this: ITracePlugin; service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; cdecl;
635 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;
636 ITracePlugin_trace_service_detachPtr = function(this: ITracePlugin; service: ITraceServiceConnection; detach_result: Cardinal): Boolean; cdecl;
637 ITracePlugin_trace_event_errorPtr = function(this: ITracePlugin; connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; cdecl;
638 ITracePlugin_trace_event_sweepPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; cdecl;
639 ITracePlugin_trace_func_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; cdecl;
640 ITraceFactory_trace_needsPtr = function(this: ITraceFactory): QWord; cdecl;
641 ITraceFactory_trace_createPtr = function(this: ITraceFactory; status: IStatus; init_info: ITraceInitInfo): ITracePlugin; cdecl;
642 IUdrFunctionFactory_setupPtr = procedure(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
643 IUdrFunctionFactory_newItemPtr = function(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; cdecl;
644 IUdrProcedureFactory_setupPtr = procedure(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
645 IUdrProcedureFactory_newItemPtr = function(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; cdecl;
646 IUdrTriggerFactory_setupPtr = procedure(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); cdecl;
647 IUdrTriggerFactory_newItemPtr = function(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; cdecl;
648 IUdrPlugin_getMasterPtr = function(this: IUdrPlugin): IMaster; cdecl;
649 IUdrPlugin_registerFunctionPtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); cdecl;
650 IUdrPlugin_registerProcedurePtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); cdecl;
651 IUdrPlugin_registerTriggerPtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); cdecl;
652 IDecFloat16_toBcdPtr = procedure(this: IDecFloat16; from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
653 IDecFloat16_toStringPtr = procedure(this: IDecFloat16; status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
654 IDecFloat16_fromBcdPtr = procedure(this: IDecFloat16; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr); cdecl;
655 IDecFloat16_fromStringPtr = procedure(this: IDecFloat16; status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr); cdecl;
656 IDecFloat34_toBcdPtr = procedure(this: IDecFloat34; from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
657 IDecFloat34_toStringPtr = procedure(this: IDecFloat34; status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
658 IDecFloat34_fromBcdPtr = procedure(this: IDecFloat34; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr); cdecl;
659 IDecFloat34_fromStringPtr = procedure(this: IDecFloat34; status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr); cdecl;
660 IInt128_toStringPtr = procedure(this: IInt128; status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
661 IInt128_fromStringPtr = procedure(this: IInt128; status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr); cdecl;
662 IReplicatedField_getNamePtr = function(this: IReplicatedField): PAnsiChar; cdecl;
663 IReplicatedField_getTypePtr = function(this: IReplicatedField): Cardinal; cdecl;
664 IReplicatedField_getSubTypePtr = function(this: IReplicatedField): Integer; cdecl;
665 IReplicatedField_getScalePtr = function(this: IReplicatedField): Integer; cdecl;
666 IReplicatedField_getLengthPtr = function(this: IReplicatedField): Cardinal; cdecl;
667 IReplicatedField_getCharSetPtr = function(this: IReplicatedField): Cardinal; cdecl;
668 IReplicatedField_getDataPtr = function(this: IReplicatedField): Pointer; cdecl;
669 IReplicatedRecord_getCountPtr = function(this: IReplicatedRecord): Cardinal; cdecl;
670 IReplicatedRecord_getFieldPtr = function(this: IReplicatedRecord; index: Cardinal): IReplicatedField; cdecl;
671 IReplicatedRecord_getRawLengthPtr = function(this: IReplicatedRecord): Cardinal; cdecl;
672 IReplicatedRecord_getRawDataPtr = function(this: IReplicatedRecord): BytePtr; cdecl;
673 IReplicatedTransaction_preparePtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
674 IReplicatedTransaction_commitPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
675 IReplicatedTransaction_rollbackPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
676 IReplicatedTransaction_startSavepointPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
677 IReplicatedTransaction_releaseSavepointPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
678 IReplicatedTransaction_rollbackSavepointPtr = procedure(this: IReplicatedTransaction; status: IStatus); cdecl;
679 IReplicatedTransaction_insertRecordPtr = procedure(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
680 IReplicatedTransaction_updateRecordPtr = procedure(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord); cdecl;
681 IReplicatedTransaction_deleteRecordPtr = procedure(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
682 IReplicatedTransaction_executeSqlPtr = procedure(this: IReplicatedTransaction; status: IStatus; sql: PAnsiChar); cdecl;
683 IReplicatedTransaction_executeSqlIntlPtr = procedure(this: IReplicatedTransaction; status: IStatus; charset: Cardinal; sql: PAnsiChar); cdecl;
684 IReplicatedSession_initPtr = function(this: IReplicatedSession; status: IStatus; attachment: IAttachment): Boolean; cdecl;
685 IReplicatedSession_startTransactionPtr = function(this: IReplicatedSession; status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction; cdecl;
686 IReplicatedSession_cleanupTransactionPtr = procedure(this: IReplicatedSession; status: IStatus; number: Int64); cdecl;
687 IReplicatedSession_setSequencePtr = procedure(this: IReplicatedSession; status: IStatus; name: PAnsiChar; value: Int64); cdecl;
688
689 VersionedVTable = class
690 version: NativeInt;
691 end;
692
693 IVersioned = class
694 vTable: VersionedVTable;
695
696 const VERSION = 1;
697
698 end;
699
700 IVersionedImpl = class(IVersioned)
701 constructor create;
702
703 end;
704
705 ReferenceCountedVTable = class(VersionedVTable)
706 addRef: IReferenceCounted_addRefPtr;
707 release: IReferenceCounted_releasePtr;
708 end;
709
710 IReferenceCounted = class(IVersioned)
711 const VERSION = 2;
712
713 procedure addRef();
714 function release(): Integer;
715 end;
716
717 IReferenceCountedImpl = class(IReferenceCounted)
718 constructor create;
719
720 procedure addRef(); virtual; abstract;
721 function release(): Integer; virtual; abstract;
722 end;
723
724 DisposableVTable = class(VersionedVTable)
725 dispose: IDisposable_disposePtr;
726 end;
727
728 IDisposable = class(IVersioned)
729 const VERSION = 2;
730
731 procedure dispose();
732 end;
733
734 IDisposableImpl = class(IDisposable)
735 constructor create;
736
737 procedure dispose(); virtual; abstract;
738 end;
739
740 StatusVTable = class(DisposableVTable)
741 init: IStatus_initPtr;
742 getState: IStatus_getStatePtr;
743 setErrors2: IStatus_setErrors2Ptr;
744 setWarnings2: IStatus_setWarnings2Ptr;
745 setErrors: IStatus_setErrorsPtr;
746 setWarnings: IStatus_setWarningsPtr;
747 getErrors: IStatus_getErrorsPtr;
748 getWarnings: IStatus_getWarningsPtr;
749 clone: IStatus_clonePtr;
750 end;
751
752 IStatus = class(IDisposable)
753 const VERSION = 3;
754 const STATE_WARNINGS = Cardinal($1);
755 const STATE_ERRORS = Cardinal($2);
756 const RESULT_ERROR = Integer(-1);
757 const RESULT_OK = Integer(0);
758 const RESULT_NO_DATA = Integer(1);
759 const RESULT_SEGMENT = Integer(2);
760
761 procedure init();
762 function getState(): Cardinal;
763 procedure setErrors2(length: Cardinal; value: NativeIntPtr);
764 procedure setWarnings2(length: Cardinal; value: NativeIntPtr);
765 procedure setErrors(value: NativeIntPtr);
766 procedure setWarnings(value: NativeIntPtr);
767 function getErrors(): NativeIntPtr;
768 function getWarnings(): NativeIntPtr;
769 function clone(): IStatus;
770 end;
771
772 IStatusImpl = class(IStatus)
773 constructor create;
774
775 procedure dispose(); virtual; abstract;
776 procedure init(); virtual; abstract;
777 function getState(): Cardinal; virtual; abstract;
778 procedure setErrors2(length: Cardinal; value: NativeIntPtr); virtual; abstract;
779 procedure setWarnings2(length: Cardinal; value: NativeIntPtr); virtual; abstract;
780 procedure setErrors(value: NativeIntPtr); virtual; abstract;
781 procedure setWarnings(value: NativeIntPtr); virtual; abstract;
782 function getErrors(): NativeIntPtr; virtual; abstract;
783 function getWarnings(): NativeIntPtr; virtual; abstract;
784 function clone(): IStatus; virtual; abstract;
785 end;
786
787 MasterVTable = class(VersionedVTable)
788 getStatus: IMaster_getStatusPtr;
789 getDispatcher: IMaster_getDispatcherPtr;
790 getPluginManager: IMaster_getPluginManagerPtr;
791 getTimerControl: IMaster_getTimerControlPtr;
792 getDtc: IMaster_getDtcPtr;
793 registerAttachment: IMaster_registerAttachmentPtr;
794 registerTransaction: IMaster_registerTransactionPtr;
795 getMetadataBuilder: IMaster_getMetadataBuilderPtr;
796 serverMode: IMaster_serverModePtr;
797 getUtilInterface: IMaster_getUtilInterfacePtr;
798 getConfigManager: IMaster_getConfigManagerPtr;
799 getProcessExiting: IMaster_getProcessExitingPtr;
800 end;
801
802 IMaster = class(IVersioned)
803 const VERSION = 2;
804
805 function getStatus(): IStatus;
806 function getDispatcher(): IProvider;
807 function getPluginManager(): IPluginManager;
808 function getTimerControl(): ITimerControl;
809 function getDtc(): IDtc;
810 function registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment;
811 function registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction;
812 function getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder;
813 function serverMode(mode: Integer): Integer;
814 function getUtilInterface(): IUtil;
815 function getConfigManager(): IConfigManager;
816 function getProcessExiting(): Boolean;
817 end;
818
819 IMasterImpl = class(IMaster)
820 constructor create;
821
822 function getStatus(): IStatus; virtual; abstract;
823 function getDispatcher(): IProvider; virtual; abstract;
824 function getPluginManager(): IPluginManager; virtual; abstract;
825 function getTimerControl(): ITimerControl; virtual; abstract;
826 function getDtc(): IDtc; virtual; abstract;
827 function registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment; virtual; abstract;
828 function registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction; virtual; abstract;
829 function getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder; virtual; abstract;
830 function serverMode(mode: Integer): Integer; virtual; abstract;
831 function getUtilInterface(): IUtil; virtual; abstract;
832 function getConfigManager(): IConfigManager; virtual; abstract;
833 function getProcessExiting(): Boolean; virtual; abstract;
834 end;
835
836 PluginBaseVTable = class(ReferenceCountedVTable)
837 setOwner: IPluginBase_setOwnerPtr;
838 getOwner: IPluginBase_getOwnerPtr;
839 end;
840
841 IPluginBase = class(IReferenceCounted)
842 const VERSION = 3;
843
844 procedure setOwner(r: IReferenceCounted);
845 function getOwner(): IReferenceCounted;
846 end;
847
848 IPluginBaseImpl = class(IPluginBase)
849 constructor create;
850
851 procedure addRef(); virtual; abstract;
852 function release(): Integer; virtual; abstract;
853 procedure setOwner(r: IReferenceCounted); virtual; abstract;
854 function getOwner(): IReferenceCounted; virtual; abstract;
855 end;
856
857 PluginSetVTable = class(ReferenceCountedVTable)
858 getName: IPluginSet_getNamePtr;
859 getModuleName: IPluginSet_getModuleNamePtr;
860 getPlugin: IPluginSet_getPluginPtr;
861 next: IPluginSet_nextPtr;
862 set_: IPluginSet_set_Ptr;
863 end;
864
865 IPluginSet = class(IReferenceCounted)
866 const VERSION = 3;
867
868 function getName(): PAnsiChar;
869 function getModuleName(): PAnsiChar;
870 function getPlugin(status: IStatus): IPluginBase;
871 procedure next(status: IStatus);
872 procedure set_(status: IStatus; s: PAnsiChar);
873 end;
874
875 IPluginSetImpl = class(IPluginSet)
876 constructor create;
877
878 procedure addRef(); virtual; abstract;
879 function release(): Integer; virtual; abstract;
880 function getName(): PAnsiChar; virtual; abstract;
881 function getModuleName(): PAnsiChar; virtual; abstract;
882 function getPlugin(status: IStatus): IPluginBase; virtual; abstract;
883 procedure next(status: IStatus); virtual; abstract;
884 procedure set_(status: IStatus; s: PAnsiChar); virtual; abstract;
885 end;
886
887 ConfigEntryVTable = class(ReferenceCountedVTable)
888 getName: IConfigEntry_getNamePtr;
889 getValue: IConfigEntry_getValuePtr;
890 getIntValue: IConfigEntry_getIntValuePtr;
891 getBoolValue: IConfigEntry_getBoolValuePtr;
892 getSubConfig: IConfigEntry_getSubConfigPtr;
893 end;
894
895 IConfigEntry = class(IReferenceCounted)
896 const VERSION = 3;
897
898 function getName(): PAnsiChar;
899 function getValue(): PAnsiChar;
900 function getIntValue(): Int64;
901 function getBoolValue(): Boolean;
902 function getSubConfig(status: IStatus): IConfig;
903 end;
904
905 IConfigEntryImpl = class(IConfigEntry)
906 constructor create;
907
908 procedure addRef(); virtual; abstract;
909 function release(): Integer; virtual; abstract;
910 function getName(): PAnsiChar; virtual; abstract;
911 function getValue(): PAnsiChar; virtual; abstract;
912 function getIntValue(): Int64; virtual; abstract;
913 function getBoolValue(): Boolean; virtual; abstract;
914 function getSubConfig(status: IStatus): IConfig; virtual; abstract;
915 end;
916
917 ConfigVTable = class(ReferenceCountedVTable)
918 find: IConfig_findPtr;
919 findValue: IConfig_findValuePtr;
920 findPos: IConfig_findPosPtr;
921 end;
922
923 IConfig = class(IReferenceCounted)
924 const VERSION = 3;
925
926 function find(status: IStatus; name: PAnsiChar): IConfigEntry;
927 function findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry;
928 function findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry;
929 end;
930
931 IConfigImpl = class(IConfig)
932 constructor create;
933
934 procedure addRef(); virtual; abstract;
935 function release(): Integer; virtual; abstract;
936 function find(status: IStatus; name: PAnsiChar): IConfigEntry; virtual; abstract;
937 function findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; virtual; abstract;
938 function findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; virtual; abstract;
939 end;
940
941 FirebirdConfVTable = class(ReferenceCountedVTable)
942 getKey: IFirebirdConf_getKeyPtr;
943 asInteger: IFirebirdConf_asIntegerPtr;
944 asString: IFirebirdConf_asStringPtr;
945 asBoolean: IFirebirdConf_asBooleanPtr;
946 getVersion: IFirebirdConf_getVersionPtr;
947 end;
948
949 IFirebirdConf = class(IReferenceCounted)
950 const VERSION = 4;
951
952 function getKey(name: PAnsiChar): Cardinal;
953 function asInteger(key: Cardinal): Int64;
954 function asString(key: Cardinal): PAnsiChar;
955 function asBoolean(key: Cardinal): Boolean;
956 function getVersion(status: IStatus): Cardinal;
957 end;
958
959 IFirebirdConfImpl = class(IFirebirdConf)
960 constructor create;
961
962 procedure addRef(); virtual; abstract;
963 function release(): Integer; virtual; abstract;
964 function getKey(name: PAnsiChar): Cardinal; virtual; abstract;
965 function asInteger(key: Cardinal): Int64; virtual; abstract;
966 function asString(key: Cardinal): PAnsiChar; virtual; abstract;
967 function asBoolean(key: Cardinal): Boolean; virtual; abstract;
968 function getVersion(status: IStatus): Cardinal; virtual; abstract;
969 end;
970
971 PluginConfigVTable = class(ReferenceCountedVTable)
972 getConfigFileName: IPluginConfig_getConfigFileNamePtr;
973 getDefaultConfig: IPluginConfig_getDefaultConfigPtr;
974 getFirebirdConf: IPluginConfig_getFirebirdConfPtr;
975 setReleaseDelay: IPluginConfig_setReleaseDelayPtr;
976 end;
977
978 IPluginConfig = class(IReferenceCounted)
979 const VERSION = 3;
980
981 function getConfigFileName(): PAnsiChar;
982 function getDefaultConfig(status: IStatus): IConfig;
983 function getFirebirdConf(status: IStatus): IFirebirdConf;
984 procedure setReleaseDelay(status: IStatus; microSeconds: QWord);
985 end;
986
987 IPluginConfigImpl = class(IPluginConfig)
988 constructor create;
989
990 procedure addRef(); virtual; abstract;
991 function release(): Integer; virtual; abstract;
992 function getConfigFileName(): PAnsiChar; virtual; abstract;
993 function getDefaultConfig(status: IStatus): IConfig; virtual; abstract;
994 function getFirebirdConf(status: IStatus): IFirebirdConf; virtual; abstract;
995 procedure setReleaseDelay(status: IStatus; microSeconds: QWord); virtual; abstract;
996 end;
997
998 PluginFactoryVTable = class(VersionedVTable)
999 createPlugin: IPluginFactory_createPluginPtr;
1000 end;
1001
1002 IPluginFactory = class(IVersioned)
1003 const VERSION = 2;
1004
1005 function createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase;
1006 end;
1007
1008 IPluginFactoryImpl = class(IPluginFactory)
1009 constructor create;
1010
1011 function createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase; virtual; abstract;
1012 end;
1013
1014 PluginModuleVTable = class(VersionedVTable)
1015 doClean: IPluginModule_doCleanPtr;
1016 threadDetach: IPluginModule_threadDetachPtr;
1017 end;
1018
1019 IPluginModule = class(IVersioned)
1020 const VERSION = 3;
1021
1022 procedure doClean();
1023 procedure threadDetach();
1024 end;
1025
1026 IPluginModuleImpl = class(IPluginModule)
1027 constructor create;
1028
1029 procedure doClean(); virtual; abstract;
1030 procedure threadDetach(); virtual; abstract;
1031 end;
1032
1033 PluginManagerVTable = class(VersionedVTable)
1034 registerPluginFactory: IPluginManager_registerPluginFactoryPtr;
1035 registerModule: IPluginManager_registerModulePtr;
1036 unregisterModule: IPluginManager_unregisterModulePtr;
1037 getPlugins: IPluginManager_getPluginsPtr;
1038 getConfig: IPluginManager_getConfigPtr;
1039 releasePlugin: IPluginManager_releasePluginPtr;
1040 end;
1041
1042 IPluginManager = class(IVersioned)
1043 const VERSION = 2;
1044 const TYPE_PROVIDER = Cardinal(1);
1045 const TYPE_FIRST_NON_LIB = Cardinal(2);
1046 const TYPE_AUTH_SERVER = Cardinal(3);
1047 const TYPE_AUTH_CLIENT = Cardinal(4);
1048 const TYPE_AUTH_USER_MANAGEMENT = Cardinal(5);
1049 const TYPE_EXTERNAL_ENGINE = Cardinal(6);
1050 const TYPE_TRACE = Cardinal(7);
1051 const TYPE_WIRE_CRYPT = Cardinal(8);
1052 const TYPE_DB_CRYPT = Cardinal(9);
1053 const TYPE_KEY_HOLDER = Cardinal(10);
1054 const TYPE_REPLICATOR = Cardinal(11);
1055 const TYPE_COUNT = Cardinal(12);
1056
1057 procedure registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory);
1058 procedure registerModule(cleanup: IPluginModule);
1059 procedure unregisterModule(cleanup: IPluginModule);
1060 function getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet;
1061 function getConfig(status: IStatus; filename: PAnsiChar): IConfig;
1062 procedure releasePlugin(plugin: IPluginBase);
1063 end;
1064
1065 IPluginManagerImpl = class(IPluginManager)
1066 constructor create;
1067
1068 procedure registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); virtual; abstract;
1069 procedure registerModule(cleanup: IPluginModule); virtual; abstract;
1070 procedure unregisterModule(cleanup: IPluginModule); virtual; abstract;
1071 function getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; virtual; abstract;
1072 function getConfig(status: IStatus; filename: PAnsiChar): IConfig; virtual; abstract;
1073 procedure releasePlugin(plugin: IPluginBase); virtual; abstract;
1074 end;
1075
1076 CryptKeyVTable = class(VersionedVTable)
1077 setSymmetric: ICryptKey_setSymmetricPtr;
1078 setAsymmetric: ICryptKey_setAsymmetricPtr;
1079 getEncryptKey: ICryptKey_getEncryptKeyPtr;
1080 getDecryptKey: ICryptKey_getDecryptKeyPtr;
1081 end;
1082
1083 ICryptKey = class(IVersioned)
1084 const VERSION = 2;
1085
1086 procedure setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer);
1087 procedure setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer);
1088 function getEncryptKey(length: CardinalPtr): Pointer;
1089 function getDecryptKey(length: CardinalPtr): Pointer;
1090 end;
1091
1092 ICryptKeyImpl = class(ICryptKey)
1093 constructor create;
1094
1095 procedure setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); virtual; abstract;
1096 procedure setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); virtual; abstract;
1097 function getEncryptKey(length: CardinalPtr): Pointer; virtual; abstract;
1098 function getDecryptKey(length: CardinalPtr): Pointer; virtual; abstract;
1099 end;
1100
1101 ConfigManagerVTable = class(VersionedVTable)
1102 getDirectory: IConfigManager_getDirectoryPtr;
1103 getFirebirdConf: IConfigManager_getFirebirdConfPtr;
1104 getDatabaseConf: IConfigManager_getDatabaseConfPtr;
1105 getPluginConfig: IConfigManager_getPluginConfigPtr;
1106 getInstallDirectory: IConfigManager_getInstallDirectoryPtr;
1107 getRootDirectory: IConfigManager_getRootDirectoryPtr;
1108 getDefaultSecurityDb: IConfigManager_getDefaultSecurityDbPtr;
1109 end;
1110
1111 IConfigManager = class(IVersioned)
1112 const VERSION = 3;
1113 const DIR_BIN = Cardinal(0);
1114 const DIR_SBIN = Cardinal(1);
1115 const DIR_CONF = Cardinal(2);
1116 const DIR_LIB = Cardinal(3);
1117 const DIR_INC = Cardinal(4);
1118 const DIR_DOC = Cardinal(5);
1119 const DIR_UDF = Cardinal(6);
1120 const DIR_SAMPLE = Cardinal(7);
1121 const DIR_SAMPLEDB = Cardinal(8);
1122 const DIR_HELP = Cardinal(9);
1123 const DIR_INTL = Cardinal(10);
1124 const DIR_MISC = Cardinal(11);
1125 const DIR_SECDB = Cardinal(12);
1126 const DIR_MSG = Cardinal(13);
1127 const DIR_LOG = Cardinal(14);
1128 const DIR_GUARD = Cardinal(15);
1129 const DIR_PLUGINS = Cardinal(16);
1130 const DIR_TZDATA = Cardinal(17);
1131 const DIR_COUNT = Cardinal(18);
1132
1133 function getDirectory(code: Cardinal): PAnsiChar;
1134 function getFirebirdConf(): IFirebirdConf;
1135 function getDatabaseConf(dbName: PAnsiChar): IFirebirdConf;
1136 function getPluginConfig(configuredPlugin: PAnsiChar): IConfig;
1137 function getInstallDirectory(): PAnsiChar;
1138 function getRootDirectory(): PAnsiChar;
1139 function getDefaultSecurityDb(): PAnsiChar;
1140 end;
1141
1142 IConfigManagerImpl = class(IConfigManager)
1143 constructor create;
1144
1145 function getDirectory(code: Cardinal): PAnsiChar; virtual; abstract;
1146 function getFirebirdConf(): IFirebirdConf; virtual; abstract;
1147 function getDatabaseConf(dbName: PAnsiChar): IFirebirdConf; virtual; abstract;
1148 function getPluginConfig(configuredPlugin: PAnsiChar): IConfig; virtual; abstract;
1149 function getInstallDirectory(): PAnsiChar; virtual; abstract;
1150 function getRootDirectory(): PAnsiChar; virtual; abstract;
1151 function getDefaultSecurityDb(): PAnsiChar; virtual; abstract;
1152 end;
1153
1154 EventCallbackVTable = class(ReferenceCountedVTable)
1155 eventCallbackFunction: IEventCallback_eventCallbackFunctionPtr;
1156 end;
1157
1158 IEventCallback = class(IReferenceCounted)
1159 const VERSION = 3;
1160
1161 procedure eventCallbackFunction(length: Cardinal; events: BytePtr);
1162 end;
1163
1164 IEventCallbackImpl = class(IEventCallback)
1165 constructor create;
1166
1167 procedure addRef(); virtual; abstract;
1168 function release(): Integer; virtual; abstract;
1169 procedure eventCallbackFunction(length: Cardinal; events: BytePtr); virtual; abstract;
1170 end;
1171
1172 BlobVTable = class(ReferenceCountedVTable)
1173 getInfo: IBlob_getInfoPtr;
1174 getSegment: IBlob_getSegmentPtr;
1175 putSegment: IBlob_putSegmentPtr;
1176 cancel: IBlob_cancelPtr;
1177 close: IBlob_closePtr;
1178 seek: IBlob_seekPtr;
1179 end;
1180
1181 IBlob = class(IReferenceCounted)
1182 const VERSION = 3;
1183
1184 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1185 function getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer;
1186 procedure putSegment(status: IStatus; length: Cardinal; buffer: Pointer);
1187 procedure cancel(status: IStatus);
1188 procedure close(status: IStatus);
1189 function seek(status: IStatus; mode: Integer; offset: Integer): Integer;
1190 end;
1191
1192 IBlobImpl = class(IBlob)
1193 constructor create;
1194
1195 procedure addRef(); virtual; abstract;
1196 function release(): Integer; virtual; abstract;
1197 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1198 function getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; virtual; abstract;
1199 procedure putSegment(status: IStatus; length: Cardinal; buffer: Pointer); virtual; abstract;
1200 procedure cancel(status: IStatus); virtual; abstract;
1201 procedure close(status: IStatus); virtual; abstract;
1202 function seek(status: IStatus; mode: Integer; offset: Integer): Integer; virtual; abstract;
1203 end;
1204
1205 TransactionVTable = class(ReferenceCountedVTable)
1206 getInfo: ITransaction_getInfoPtr;
1207 prepare: ITransaction_preparePtr;
1208 commit: ITransaction_commitPtr;
1209 commitRetaining: ITransaction_commitRetainingPtr;
1210 rollback: ITransaction_rollbackPtr;
1211 rollbackRetaining: ITransaction_rollbackRetainingPtr;
1212 disconnect: ITransaction_disconnectPtr;
1213 join: ITransaction_joinPtr;
1214 validate: ITransaction_validatePtr;
1215 enterDtc: ITransaction_enterDtcPtr;
1216 end;
1217
1218 ITransaction = class(IReferenceCounted)
1219 const VERSION = 3;
1220
1221 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1222 procedure prepare(status: IStatus; msgLength: Cardinal; message: BytePtr);
1223 procedure commit(status: IStatus);
1224 procedure commitRetaining(status: IStatus);
1225 procedure rollback(status: IStatus);
1226 procedure rollbackRetaining(status: IStatus);
1227 procedure disconnect(status: IStatus);
1228 function join(status: IStatus; transaction: ITransaction): ITransaction;
1229 function validate(status: IStatus; attachment: IAttachment): ITransaction;
1230 function enterDtc(status: IStatus): ITransaction;
1231 end;
1232
1233 ITransactionImpl = class(ITransaction)
1234 constructor create;
1235
1236 procedure addRef(); virtual; abstract;
1237 function release(): Integer; virtual; abstract;
1238 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1239 procedure prepare(status: IStatus; msgLength: Cardinal; message: BytePtr); virtual; abstract;
1240 procedure commit(status: IStatus); virtual; abstract;
1241 procedure commitRetaining(status: IStatus); virtual; abstract;
1242 procedure rollback(status: IStatus); virtual; abstract;
1243 procedure rollbackRetaining(status: IStatus); virtual; abstract;
1244 procedure disconnect(status: IStatus); virtual; abstract;
1245 function join(status: IStatus; transaction: ITransaction): ITransaction; virtual; abstract;
1246 function validate(status: IStatus; attachment: IAttachment): ITransaction; virtual; abstract;
1247 function enterDtc(status: IStatus): ITransaction; virtual; abstract;
1248 end;
1249
1250 MessageMetadataVTable = class(ReferenceCountedVTable)
1251 getCount: IMessageMetadata_getCountPtr;
1252 getField: IMessageMetadata_getFieldPtr;
1253 getRelation: IMessageMetadata_getRelationPtr;
1254 getOwner: IMessageMetadata_getOwnerPtr;
1255 getAlias: IMessageMetadata_getAliasPtr;
1256 getType: IMessageMetadata_getTypePtr;
1257 isNullable: IMessageMetadata_isNullablePtr;
1258 getSubType: IMessageMetadata_getSubTypePtr;
1259 getLength: IMessageMetadata_getLengthPtr;
1260 getScale: IMessageMetadata_getScalePtr;
1261 getCharSet: IMessageMetadata_getCharSetPtr;
1262 getOffset: IMessageMetadata_getOffsetPtr;
1263 getNullOffset: IMessageMetadata_getNullOffsetPtr;
1264 getBuilder: IMessageMetadata_getBuilderPtr;
1265 getMessageLength: IMessageMetadata_getMessageLengthPtr;
1266 getAlignment: IMessageMetadata_getAlignmentPtr;
1267 getAlignedLength: IMessageMetadata_getAlignedLengthPtr;
1268 end;
1269
1270 IMessageMetadata = class(IReferenceCounted)
1271 const VERSION = 4;
1272
1273 function getCount(status: IStatus): Cardinal;
1274 function getField(status: IStatus; index: Cardinal): PAnsiChar;
1275 function getRelation(status: IStatus; index: Cardinal): PAnsiChar;
1276 function getOwner(status: IStatus; index: Cardinal): PAnsiChar;
1277 function getAlias(status: IStatus; index: Cardinal): PAnsiChar;
1278 function getType(status: IStatus; index: Cardinal): Cardinal;
1279 function isNullable(status: IStatus; index: Cardinal): Boolean;
1280 function getSubType(status: IStatus; index: Cardinal): Integer;
1281 function getLength(status: IStatus; index: Cardinal): Cardinal;
1282 function getScale(status: IStatus; index: Cardinal): Integer;
1283 function getCharSet(status: IStatus; index: Cardinal): Cardinal;
1284 function getOffset(status: IStatus; index: Cardinal): Cardinal;
1285 function getNullOffset(status: IStatus; index: Cardinal): Cardinal;
1286 function getBuilder(status: IStatus): IMetadataBuilder;
1287 function getMessageLength(status: IStatus): Cardinal;
1288 function getAlignment(status: IStatus): Cardinal;
1289 function getAlignedLength(status: IStatus): Cardinal;
1290 end;
1291
1292 IMessageMetadataImpl = class(IMessageMetadata)
1293 constructor create;
1294
1295 procedure addRef(); virtual; abstract;
1296 function release(): Integer; virtual; abstract;
1297 function getCount(status: IStatus): Cardinal; virtual; abstract;
1298 function getField(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1299 function getRelation(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1300 function getOwner(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1301 function getAlias(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1302 function getType(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1303 function isNullable(status: IStatus; index: Cardinal): Boolean; virtual; abstract;
1304 function getSubType(status: IStatus; index: Cardinal): Integer; virtual; abstract;
1305 function getLength(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1306 function getScale(status: IStatus; index: Cardinal): Integer; virtual; abstract;
1307 function getCharSet(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1308 function getOffset(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1309 function getNullOffset(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1310 function getBuilder(status: IStatus): IMetadataBuilder; virtual; abstract;
1311 function getMessageLength(status: IStatus): Cardinal; virtual; abstract;
1312 function getAlignment(status: IStatus): Cardinal; virtual; abstract;
1313 function getAlignedLength(status: IStatus): Cardinal; virtual; abstract;
1314 end;
1315
1316 MetadataBuilderVTable = class(ReferenceCountedVTable)
1317 setType: IMetadataBuilder_setTypePtr;
1318 setSubType: IMetadataBuilder_setSubTypePtr;
1319 setLength: IMetadataBuilder_setLengthPtr;
1320 setCharSet: IMetadataBuilder_setCharSetPtr;
1321 setScale: IMetadataBuilder_setScalePtr;
1322 truncate: IMetadataBuilder_truncatePtr;
1323 moveNameToIndex: IMetadataBuilder_moveNameToIndexPtr;
1324 remove: IMetadataBuilder_removePtr;
1325 addField: IMetadataBuilder_addFieldPtr;
1326 getMetadata: IMetadataBuilder_getMetadataPtr;
1327 setField: IMetadataBuilder_setFieldPtr;
1328 setRelation: IMetadataBuilder_setRelationPtr;
1329 setOwner: IMetadataBuilder_setOwnerPtr;
1330 setAlias: IMetadataBuilder_setAliasPtr;
1331 end;
1332
1333 IMetadataBuilder = class(IReferenceCounted)
1334 const VERSION = 4;
1335
1336 procedure setType(status: IStatus; index: Cardinal; type_: Cardinal);
1337 procedure setSubType(status: IStatus; index: Cardinal; subType: Integer);
1338 procedure setLength(status: IStatus; index: Cardinal; length: Cardinal);
1339 procedure setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal);
1340 procedure setScale(status: IStatus; index: Cardinal; scale: Integer);
1341 procedure truncate(status: IStatus; count: Cardinal);
1342 procedure moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal);
1343 procedure remove(status: IStatus; index: Cardinal);
1344 function addField(status: IStatus): Cardinal;
1345 function getMetadata(status: IStatus): IMessageMetadata;
1346 procedure setField(status: IStatus; index: Cardinal; field: PAnsiChar);
1347 procedure setRelation(status: IStatus; index: Cardinal; relation: PAnsiChar);
1348 procedure setOwner(status: IStatus; index: Cardinal; owner: PAnsiChar);
1349 procedure setAlias(status: IStatus; index: Cardinal; alias: PAnsiChar);
1350 end;
1351
1352 IMetadataBuilderImpl = class(IMetadataBuilder)
1353 constructor create;
1354
1355 procedure addRef(); virtual; abstract;
1356 function release(): Integer; virtual; abstract;
1357 procedure setType(status: IStatus; index: Cardinal; type_: Cardinal); virtual; abstract;
1358 procedure setSubType(status: IStatus; index: Cardinal; subType: Integer); virtual; abstract;
1359 procedure setLength(status: IStatus; index: Cardinal; length: Cardinal); virtual; abstract;
1360 procedure setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal); virtual; abstract;
1361 procedure setScale(status: IStatus; index: Cardinal; scale: Integer); virtual; abstract;
1362 procedure truncate(status: IStatus; count: Cardinal); virtual; abstract;
1363 procedure moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal); virtual; abstract;
1364 procedure remove(status: IStatus; index: Cardinal); virtual; abstract;
1365 function addField(status: IStatus): Cardinal; virtual; abstract;
1366 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1367 procedure setField(status: IStatus; index: Cardinal; field: PAnsiChar); virtual; abstract;
1368 procedure setRelation(status: IStatus; index: Cardinal; relation: PAnsiChar); virtual; abstract;
1369 procedure setOwner(status: IStatus; index: Cardinal; owner: PAnsiChar); virtual; abstract;
1370 procedure setAlias(status: IStatus; index: Cardinal; alias: PAnsiChar); virtual; abstract;
1371 end;
1372
1373 ResultSetVTable = class(ReferenceCountedVTable)
1374 fetchNext: IResultSet_fetchNextPtr;
1375 fetchPrior: IResultSet_fetchPriorPtr;
1376 fetchFirst: IResultSet_fetchFirstPtr;
1377 fetchLast: IResultSet_fetchLastPtr;
1378 fetchAbsolute: IResultSet_fetchAbsolutePtr;
1379 fetchRelative: IResultSet_fetchRelativePtr;
1380 isEof: IResultSet_isEofPtr;
1381 isBof: IResultSet_isBofPtr;
1382 getMetadata: IResultSet_getMetadataPtr;
1383 close: IResultSet_closePtr;
1384 setDelayedOutputFormat: IResultSet_setDelayedOutputFormatPtr;
1385 end;
1386
1387 IResultSet = class(IReferenceCounted)
1388 const VERSION = 3;
1389
1390 function fetchNext(status: IStatus; message: Pointer): Integer;
1391 function fetchPrior(status: IStatus; message: Pointer): Integer;
1392 function fetchFirst(status: IStatus; message: Pointer): Integer;
1393 function fetchLast(status: IStatus; message: Pointer): Integer;
1394 function fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer;
1395 function fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer;
1396 function isEof(status: IStatus): Boolean;
1397 function isBof(status: IStatus): Boolean;
1398 function getMetadata(status: IStatus): IMessageMetadata;
1399 procedure close(status: IStatus);
1400 procedure setDelayedOutputFormat(status: IStatus; format: IMessageMetadata);
1401 end;
1402
1403 IResultSetImpl = class(IResultSet)
1404 constructor create;
1405
1406 procedure addRef(); virtual; abstract;
1407 function release(): Integer; virtual; abstract;
1408 function fetchNext(status: IStatus; message: Pointer): Integer; virtual; abstract;
1409 function fetchPrior(status: IStatus; message: Pointer): Integer; virtual; abstract;
1410 function fetchFirst(status: IStatus; message: Pointer): Integer; virtual; abstract;
1411 function fetchLast(status: IStatus; message: Pointer): Integer; virtual; abstract;
1412 function fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer; virtual; abstract;
1413 function fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer; virtual; abstract;
1414 function isEof(status: IStatus): Boolean; virtual; abstract;
1415 function isBof(status: IStatus): Boolean; virtual; abstract;
1416 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1417 procedure close(status: IStatus); virtual; abstract;
1418 procedure setDelayedOutputFormat(status: IStatus; format: IMessageMetadata); virtual; abstract;
1419 end;
1420
1421 StatementVTable = class(ReferenceCountedVTable)
1422 getInfo: IStatement_getInfoPtr;
1423 getType: IStatement_getTypePtr;
1424 getPlan: IStatement_getPlanPtr;
1425 getAffectedRecords: IStatement_getAffectedRecordsPtr;
1426 getInputMetadata: IStatement_getInputMetadataPtr;
1427 getOutputMetadata: IStatement_getOutputMetadataPtr;
1428 execute: IStatement_executePtr;
1429 openCursor: IStatement_openCursorPtr;
1430 setCursorName: IStatement_setCursorNamePtr;
1431 free: IStatement_freePtr;
1432 getFlags: IStatement_getFlagsPtr;
1433 getTimeout: IStatement_getTimeoutPtr;
1434 setTimeout: IStatement_setTimeoutPtr;
1435 createBatch: IStatement_createBatchPtr;
1436 end;
1437
1438 IStatement = class(IReferenceCounted)
1439 const VERSION = 4;
1440 const PREPARE_PREFETCH_NONE = Cardinal($0);
1441 const PREPARE_PREFETCH_TYPE = Cardinal($1);
1442 const PREPARE_PREFETCH_INPUT_PARAMETERS = Cardinal($2);
1443 const PREPARE_PREFETCH_OUTPUT_PARAMETERS = Cardinal($4);
1444 const PREPARE_PREFETCH_LEGACY_PLAN = Cardinal($8);
1445 const PREPARE_PREFETCH_DETAILED_PLAN = Cardinal($10);
1446 const PREPARE_PREFETCH_AFFECTED_RECORDS = Cardinal($20);
1447 const PREPARE_PREFETCH_FLAGS = Cardinal($40);
1448 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);
1449 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);
1450 const FLAG_HAS_CURSOR = Cardinal($1);
1451 const FLAG_REPEAT_EXECUTE = Cardinal($2);
1452 const CURSOR_TYPE_SCROLLABLE = Cardinal($1);
1453
1454 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1455 function getType(status: IStatus): Cardinal;
1456 function getPlan(status: IStatus; detailed: Boolean): PAnsiChar;
1457 function getAffectedRecords(status: IStatus): QWord;
1458 function getInputMetadata(status: IStatus): IMessageMetadata;
1459 function getOutputMetadata(status: IStatus): IMessageMetadata;
1460 function execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
1461 function openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet;
1462 procedure setCursorName(status: IStatus; name: PAnsiChar);
1463 procedure free(status: IStatus);
1464 function getFlags(status: IStatus): Cardinal;
1465 function getTimeout(status: IStatus): Cardinal;
1466 procedure setTimeout(status: IStatus; timeOut: Cardinal);
1467 function createBatch(status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
1468 end;
1469
1470 IStatementImpl = class(IStatement)
1471 constructor create;
1472
1473 procedure addRef(); virtual; abstract;
1474 function release(): Integer; virtual; abstract;
1475 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1476 function getType(status: IStatus): Cardinal; virtual; abstract;
1477 function getPlan(status: IStatus; detailed: Boolean): PAnsiChar; virtual; abstract;
1478 function getAffectedRecords(status: IStatus): QWord; virtual; abstract;
1479 function getInputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1480 function getOutputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1481 function execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; virtual; abstract;
1482 function openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; virtual; abstract;
1483 procedure setCursorName(status: IStatus; name: PAnsiChar); virtual; abstract;
1484 procedure free(status: IStatus); virtual; abstract;
1485 function getFlags(status: IStatus): Cardinal; virtual; abstract;
1486 function getTimeout(status: IStatus): Cardinal; virtual; abstract;
1487 procedure setTimeout(status: IStatus; timeOut: Cardinal); virtual; abstract;
1488 function createBatch(status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; virtual; abstract;
1489 end;
1490
1491 BatchVTable = class(ReferenceCountedVTable)
1492 add: IBatch_addPtr;
1493 addBlob: IBatch_addBlobPtr;
1494 appendBlobData: IBatch_appendBlobDataPtr;
1495 addBlobStream: IBatch_addBlobStreamPtr;
1496 registerBlob: IBatch_registerBlobPtr;
1497 execute: IBatch_executePtr;
1498 cancel: IBatch_cancelPtr;
1499 getBlobAlignment: IBatch_getBlobAlignmentPtr;
1500 getMetadata: IBatch_getMetadataPtr;
1501 setDefaultBpb: IBatch_setDefaultBpbPtr;
1502 close: IBatch_closePtr;
1503 end;
1504
1505 IBatch = class(IReferenceCounted)
1506 const VERSION = 3;
1507 const VERSION1 = Byte(1);
1508 const TAG_MULTIERROR = Byte(1);
1509 const TAG_RECORD_COUNTS = Byte(2);
1510 const TAG_BUFFER_BYTES_SIZE = Byte(3);
1511 const TAG_BLOB_POLICY = Byte(4);
1512 const TAG_DETAILED_ERRORS = Byte(5);
1513 const BLOB_NONE = Byte(0);
1514 const BLOB_ID_ENGINE = Byte(1);
1515 const BLOB_ID_USER = Byte(2);
1516 const BLOB_STREAM = Byte(3);
1517 const BLOB_SEGHDR_ALIGN = Cardinal(2);
1518
1519 procedure add(status: IStatus; count: Cardinal; inBuffer: Pointer);
1520 procedure addBlob(status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr);
1521 procedure appendBlobData(status: IStatus; length: Cardinal; inBuffer: Pointer);
1522 procedure addBlobStream(status: IStatus; length: Cardinal; inBuffer: Pointer);
1523 procedure registerBlob(status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr);
1524 function execute(status: IStatus; transaction: ITransaction): IBatchCompletionState;
1525 procedure cancel(status: IStatus);
1526 function getBlobAlignment(status: IStatus): Cardinal;
1527 function getMetadata(status: IStatus): IMessageMetadata;
1528 procedure setDefaultBpb(status: IStatus; parLength: Cardinal; par: BytePtr);
1529 procedure close(status: IStatus);
1530 end;
1531
1532 IBatchImpl = class(IBatch)
1533 constructor create;
1534
1535 procedure addRef(); virtual; abstract;
1536 function release(): Integer; virtual; abstract;
1537 procedure add(status: IStatus; count: Cardinal; inBuffer: Pointer); virtual; abstract;
1538 procedure addBlob(status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr); virtual; abstract;
1539 procedure appendBlobData(status: IStatus; length: Cardinal; inBuffer: Pointer); virtual; abstract;
1540 procedure addBlobStream(status: IStatus; length: Cardinal; inBuffer: Pointer); virtual; abstract;
1541 procedure registerBlob(status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr); virtual; abstract;
1542 function execute(status: IStatus; transaction: ITransaction): IBatchCompletionState; virtual; abstract;
1543 procedure cancel(status: IStatus); virtual; abstract;
1544 function getBlobAlignment(status: IStatus): Cardinal; virtual; abstract;
1545 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1546 procedure setDefaultBpb(status: IStatus; parLength: Cardinal; par: BytePtr); virtual; abstract;
1547 procedure close(status: IStatus); virtual; abstract;
1548 end;
1549
1550 BatchCompletionStateVTable = class(DisposableVTable)
1551 getSize: IBatchCompletionState_getSizePtr;
1552 getState: IBatchCompletionState_getStatePtr;
1553 findError: IBatchCompletionState_findErrorPtr;
1554 getStatus: IBatchCompletionState_getStatusPtr;
1555 end;
1556
1557 IBatchCompletionState = class(IDisposable)
1558 const VERSION = 3;
1559 const EXECUTE_FAILED = Integer(-1);
1560 const SUCCESS_NO_INFO = Integer(-2);
1561 const NO_MORE_ERRORS = Cardinal($ffffffff);
1562
1563 function getSize(status: IStatus): Cardinal;
1564 function getState(status: IStatus; pos: Cardinal): Integer;
1565 function findError(status: IStatus; pos: Cardinal): Cardinal;
1566 procedure getStatus(status: IStatus; to_: IStatus; pos: Cardinal);
1567 end;
1568
1569 IBatchCompletionStateImpl = class(IBatchCompletionState)
1570 constructor create;
1571
1572 procedure dispose(); virtual; abstract;
1573 function getSize(status: IStatus): Cardinal; virtual; abstract;
1574 function getState(status: IStatus; pos: Cardinal): Integer; virtual; abstract;
1575 function findError(status: IStatus; pos: Cardinal): Cardinal; virtual; abstract;
1576 procedure getStatus(status: IStatus; to_: IStatus; pos: Cardinal); virtual; abstract;
1577 end;
1578
1579 ReplicatorVTable = class(ReferenceCountedVTable)
1580 process: IReplicator_processPtr;
1581 close: IReplicator_closePtr;
1582 end;
1583
1584 IReplicator = class(IReferenceCounted)
1585 const VERSION = 3;
1586
1587 procedure process(status: IStatus; length: Cardinal; data: BytePtr);
1588 procedure close(status: IStatus);
1589 end;
1590
1591 IReplicatorImpl = class(IReplicator)
1592 constructor create;
1593
1594 procedure addRef(); virtual; abstract;
1595 function release(): Integer; virtual; abstract;
1596 procedure process(status: IStatus; length: Cardinal; data: BytePtr); virtual; abstract;
1597 procedure close(status: IStatus); virtual; abstract;
1598 end;
1599
1600 RequestVTable = class(ReferenceCountedVTable)
1601 receive: IRequest_receivePtr;
1602 send: IRequest_sendPtr;
1603 getInfo: IRequest_getInfoPtr;
1604 start: IRequest_startPtr;
1605 startAndSend: IRequest_startAndSendPtr;
1606 unwind: IRequest_unwindPtr;
1607 free: IRequest_freePtr;
1608 end;
1609
1610 IRequest = class(IReferenceCounted)
1611 const VERSION = 3;
1612
1613 procedure receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
1614 procedure send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
1615 procedure getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1616 procedure start(status: IStatus; tra: ITransaction; level: Integer);
1617 procedure startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
1618 procedure unwind(status: IStatus; level: Integer);
1619 procedure free(status: IStatus);
1620 end;
1621
1622 IRequestImpl = class(IRequest)
1623 constructor create;
1624
1625 procedure addRef(); virtual; abstract;
1626 function release(): Integer; virtual; abstract;
1627 procedure receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); virtual; abstract;
1628 procedure send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); virtual; abstract;
1629 procedure getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1630 procedure start(status: IStatus; tra: ITransaction; level: Integer); virtual; abstract;
1631 procedure startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); virtual; abstract;
1632 procedure unwind(status: IStatus; level: Integer); virtual; abstract;
1633 procedure free(status: IStatus); virtual; abstract;
1634 end;
1635
1636 EventsVTable = class(ReferenceCountedVTable)
1637 cancel: IEvents_cancelPtr;
1638 end;
1639
1640 IEvents = class(IReferenceCounted)
1641 const VERSION = 3;
1642
1643 procedure cancel(status: IStatus);
1644 end;
1645
1646 IEventsImpl = class(IEvents)
1647 constructor create;
1648
1649 procedure addRef(); virtual; abstract;
1650 function release(): Integer; virtual; abstract;
1651 procedure cancel(status: IStatus); virtual; abstract;
1652 end;
1653
1654 AttachmentVTable = class(ReferenceCountedVTable)
1655 getInfo: IAttachment_getInfoPtr;
1656 startTransaction: IAttachment_startTransactionPtr;
1657 reconnectTransaction: IAttachment_reconnectTransactionPtr;
1658 compileRequest: IAttachment_compileRequestPtr;
1659 transactRequest: IAttachment_transactRequestPtr;
1660 createBlob: IAttachment_createBlobPtr;
1661 openBlob: IAttachment_openBlobPtr;
1662 getSlice: IAttachment_getSlicePtr;
1663 putSlice: IAttachment_putSlicePtr;
1664 executeDyn: IAttachment_executeDynPtr;
1665 prepare: IAttachment_preparePtr;
1666 execute: IAttachment_executePtr;
1667 openCursor: IAttachment_openCursorPtr;
1668 queEvents: IAttachment_queEventsPtr;
1669 cancelOperation: IAttachment_cancelOperationPtr;
1670 ping: IAttachment_pingPtr;
1671 detach: IAttachment_detachPtr;
1672 dropDatabase: IAttachment_dropDatabasePtr;
1673 getIdleTimeout: IAttachment_getIdleTimeoutPtr;
1674 setIdleTimeout: IAttachment_setIdleTimeoutPtr;
1675 getStatementTimeout: IAttachment_getStatementTimeoutPtr;
1676 setStatementTimeout: IAttachment_setStatementTimeoutPtr;
1677 createBatch: IAttachment_createBatchPtr;
1678 createReplicator: IAttachment_createReplicatorPtr;
1679 end;
1680
1681 IAttachment = class(IReferenceCounted)
1682 const VERSION = 4;
1683
1684 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1685 function startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction;
1686 function reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction;
1687 function compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest;
1688 procedure transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr);
1689 function createBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
1690 function openBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
1691 function getSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer;
1692 procedure putSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr);
1693 procedure executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr);
1694 function prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement;
1695 function execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
1696 function openCursor(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet;
1697 function queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents;
1698 procedure cancelOperation(status: IStatus; option: Integer);
1699 procedure ping(status: IStatus);
1700 procedure detach(status: IStatus);
1701 procedure dropDatabase(status: IStatus);
1702 function getIdleTimeout(status: IStatus): Cardinal;
1703 procedure setIdleTimeout(status: IStatus; timeOut: Cardinal);
1704 function getStatementTimeout(status: IStatus): Cardinal;
1705 procedure setStatementTimeout(status: IStatus; timeOut: Cardinal);
1706 function createBatch(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
1707 function createReplicator(status: IStatus): IReplicator;
1708 end;
1709
1710 IAttachmentImpl = class(IAttachment)
1711 constructor create;
1712
1713 procedure addRef(); virtual; abstract;
1714 function release(): Integer; virtual; abstract;
1715 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1716 function startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; virtual; abstract;
1717 function reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction; virtual; abstract;
1718 function compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; virtual; abstract;
1719 procedure transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); virtual; abstract;
1720 function createBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; virtual; abstract;
1721 function openBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; virtual; abstract;
1722 function getSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; virtual; abstract;
1723 procedure putSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr); virtual; abstract;
1724 procedure executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); virtual; abstract;
1725 function prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; virtual; abstract;
1726 function execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; virtual; abstract;
1727 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;
1728 function queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; virtual; abstract;
1729 procedure cancelOperation(status: IStatus; option: Integer); virtual; abstract;
1730 procedure ping(status: IStatus); virtual; abstract;
1731 procedure detach(status: IStatus); virtual; abstract;
1732 procedure dropDatabase(status: IStatus); virtual; abstract;
1733 function getIdleTimeout(status: IStatus): Cardinal; virtual; abstract;
1734 procedure setIdleTimeout(status: IStatus; timeOut: Cardinal); virtual; abstract;
1735 function getStatementTimeout(status: IStatus): Cardinal; virtual; abstract;
1736 procedure setStatementTimeout(status: IStatus; timeOut: Cardinal); virtual; abstract;
1737 function createBatch(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; virtual; abstract;
1738 function createReplicator(status: IStatus): IReplicator; virtual; abstract;
1739 end;
1740
1741 ServiceVTable = class(ReferenceCountedVTable)
1742 detach: IService_detachPtr;
1743 query: IService_queryPtr;
1744 start: IService_startPtr;
1745 end;
1746
1747 IService = class(IReferenceCounted)
1748 const VERSION = 3;
1749
1750 procedure detach(status: IStatus);
1751 procedure query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1752 procedure start(status: IStatus; spbLength: Cardinal; spb: BytePtr);
1753 end;
1754
1755 IServiceImpl = class(IService)
1756 constructor create;
1757
1758 procedure addRef(); virtual; abstract;
1759 function release(): Integer; virtual; abstract;
1760 procedure detach(status: IStatus); virtual; abstract;
1761 procedure query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1762 procedure start(status: IStatus; spbLength: Cardinal; spb: BytePtr); virtual; abstract;
1763 end;
1764
1765 ProviderVTable = class(PluginBaseVTable)
1766 attachDatabase: IProvider_attachDatabasePtr;
1767 createDatabase: IProvider_createDatabasePtr;
1768 attachServiceManager: IProvider_attachServiceManagerPtr;
1769 shutdown: IProvider_shutdownPtr;
1770 setDbCryptCallback: IProvider_setDbCryptCallbackPtr;
1771 end;
1772
1773 IProvider = class(IPluginBase)
1774 const VERSION = 4;
1775
1776 function attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
1777 function createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
1778 function attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService;
1779 procedure shutdown(status: IStatus; timeout: Cardinal; reason: Integer);
1780 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
1781 end;
1782
1783 IProviderImpl = class(IProvider)
1784 constructor create;
1785
1786 procedure addRef(); virtual; abstract;
1787 function release(): Integer; virtual; abstract;
1788 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1789 function getOwner(): IReferenceCounted; virtual; abstract;
1790 function attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; virtual; abstract;
1791 function createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; virtual; abstract;
1792 function attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; virtual; abstract;
1793 procedure shutdown(status: IStatus; timeout: Cardinal; reason: Integer); virtual; abstract;
1794 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback); virtual; abstract;
1795 end;
1796
1797 DtcStartVTable = class(DisposableVTable)
1798 addAttachment: IDtcStart_addAttachmentPtr;
1799 addWithTpb: IDtcStart_addWithTpbPtr;
1800 start: IDtcStart_startPtr;
1801 end;
1802
1803 IDtcStart = class(IDisposable)
1804 const VERSION = 3;
1805
1806 procedure addAttachment(status: IStatus; att: IAttachment);
1807 procedure addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr);
1808 function start(status: IStatus): ITransaction;
1809 end;
1810
1811 IDtcStartImpl = class(IDtcStart)
1812 constructor create;
1813
1814 procedure dispose(); virtual; abstract;
1815 procedure addAttachment(status: IStatus; att: IAttachment); virtual; abstract;
1816 procedure addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); virtual; abstract;
1817 function start(status: IStatus): ITransaction; virtual; abstract;
1818 end;
1819
1820 DtcVTable = class(VersionedVTable)
1821 join: IDtc_joinPtr;
1822 startBuilder: IDtc_startBuilderPtr;
1823 end;
1824
1825 IDtc = class(IVersioned)
1826 const VERSION = 2;
1827
1828 function join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction;
1829 function startBuilder(status: IStatus): IDtcStart;
1830 end;
1831
1832 IDtcImpl = class(IDtc)
1833 constructor create;
1834
1835 function join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction; virtual; abstract;
1836 function startBuilder(status: IStatus): IDtcStart; virtual; abstract;
1837 end;
1838
1839 AuthVTable = class(PluginBaseVTable)
1840 end;
1841
1842 IAuth = class(IPluginBase)
1843 const VERSION = 4;
1844 const AUTH_FAILED = Integer(-1);
1845 const AUTH_SUCCESS = Integer(0);
1846 const AUTH_MORE_DATA = Integer(1);
1847 const AUTH_CONTINUE = Integer(2);
1848
1849 end;
1850
1851 IAuthImpl = class(IAuth)
1852 constructor create;
1853
1854 procedure addRef(); virtual; abstract;
1855 function release(): Integer; virtual; abstract;
1856 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1857 function getOwner(): IReferenceCounted; virtual; abstract;
1858 end;
1859
1860 WriterVTable = class(VersionedVTable)
1861 reset: IWriter_resetPtr;
1862 add: IWriter_addPtr;
1863 setType: IWriter_setTypePtr;
1864 setDb: IWriter_setDbPtr;
1865 end;
1866
1867 IWriter = class(IVersioned)
1868 const VERSION = 2;
1869
1870 procedure reset();
1871 procedure add(status: IStatus; name: PAnsiChar);
1872 procedure setType(status: IStatus; value: PAnsiChar);
1873 procedure setDb(status: IStatus; value: PAnsiChar);
1874 end;
1875
1876 IWriterImpl = class(IWriter)
1877 constructor create;
1878
1879 procedure reset(); virtual; abstract;
1880 procedure add(status: IStatus; name: PAnsiChar); virtual; abstract;
1881 procedure setType(status: IStatus; value: PAnsiChar); virtual; abstract;
1882 procedure setDb(status: IStatus; value: PAnsiChar); virtual; abstract;
1883 end;
1884
1885 ServerBlockVTable = class(VersionedVTable)
1886 getLogin: IServerBlock_getLoginPtr;
1887 getData: IServerBlock_getDataPtr;
1888 putData: IServerBlock_putDataPtr;
1889 newKey: IServerBlock_newKeyPtr;
1890 end;
1891
1892 IServerBlock = class(IVersioned)
1893 const VERSION = 2;
1894
1895 function getLogin(): PAnsiChar;
1896 function getData(length: CardinalPtr): BytePtr;
1897 procedure putData(status: IStatus; length: Cardinal; data: Pointer);
1898 function newKey(status: IStatus): ICryptKey;
1899 end;
1900
1901 IServerBlockImpl = class(IServerBlock)
1902 constructor create;
1903
1904 function getLogin(): PAnsiChar; virtual; abstract;
1905 function getData(length: CardinalPtr): BytePtr; virtual; abstract;
1906 procedure putData(status: IStatus; length: Cardinal; data: Pointer); virtual; abstract;
1907 function newKey(status: IStatus): ICryptKey; virtual; abstract;
1908 end;
1909
1910 ClientBlockVTable = class(ReferenceCountedVTable)
1911 getLogin: IClientBlock_getLoginPtr;
1912 getPassword: IClientBlock_getPasswordPtr;
1913 getData: IClientBlock_getDataPtr;
1914 putData: IClientBlock_putDataPtr;
1915 newKey: IClientBlock_newKeyPtr;
1916 getAuthBlock: IClientBlock_getAuthBlockPtr;
1917 end;
1918
1919 IClientBlock = class(IReferenceCounted)
1920 const VERSION = 4;
1921
1922 function getLogin(): PAnsiChar;
1923 function getPassword(): PAnsiChar;
1924 function getData(length: CardinalPtr): BytePtr;
1925 procedure putData(status: IStatus; length: Cardinal; data: Pointer);
1926 function newKey(status: IStatus): ICryptKey;
1927 function getAuthBlock(status: IStatus): IAuthBlock;
1928 end;
1929
1930 IClientBlockImpl = class(IClientBlock)
1931 constructor create;
1932
1933 procedure addRef(); virtual; abstract;
1934 function release(): Integer; virtual; abstract;
1935 function getLogin(): PAnsiChar; virtual; abstract;
1936 function getPassword(): PAnsiChar; virtual; abstract;
1937 function getData(length: CardinalPtr): BytePtr; virtual; abstract;
1938 procedure putData(status: IStatus; length: Cardinal; data: Pointer); virtual; abstract;
1939 function newKey(status: IStatus): ICryptKey; virtual; abstract;
1940 function getAuthBlock(status: IStatus): IAuthBlock; virtual; abstract;
1941 end;
1942
1943 ServerVTable = class(AuthVTable)
1944 authenticate: IServer_authenticatePtr;
1945 setDbCryptCallback: IServer_setDbCryptCallbackPtr;
1946 end;
1947
1948 IServer = class(IAuth)
1949 const VERSION = 6;
1950
1951 function authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer;
1952 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
1953 end;
1954
1955 IServerImpl = class(IServer)
1956 constructor create;
1957
1958 procedure addRef(); virtual; abstract;
1959 function release(): Integer; virtual; abstract;
1960 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1961 function getOwner(): IReferenceCounted; virtual; abstract;
1962 function authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; virtual; abstract;
1963 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback); virtual; abstract;
1964 end;
1965
1966 ClientVTable = class(AuthVTable)
1967 authenticate: IClient_authenticatePtr;
1968 end;
1969
1970 IClient = class(IAuth)
1971 const VERSION = 5;
1972
1973 function authenticate(status: IStatus; cBlock: IClientBlock): Integer;
1974 end;
1975
1976 IClientImpl = class(IClient)
1977 constructor create;
1978
1979 procedure addRef(); virtual; abstract;
1980 function release(): Integer; virtual; abstract;
1981 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1982 function getOwner(): IReferenceCounted; virtual; abstract;
1983 function authenticate(status: IStatus; cBlock: IClientBlock): Integer; virtual; abstract;
1984 end;
1985
1986 UserFieldVTable = class(VersionedVTable)
1987 entered: IUserField_enteredPtr;
1988 specified: IUserField_specifiedPtr;
1989 setEntered: IUserField_setEnteredPtr;
1990 end;
1991
1992 IUserField = class(IVersioned)
1993 const VERSION = 2;
1994
1995 function entered(): Integer;
1996 function specified(): Integer;
1997 procedure setEntered(status: IStatus; newValue: Integer);
1998 end;
1999
2000 IUserFieldImpl = class(IUserField)
2001 constructor create;
2002
2003 function entered(): Integer; virtual; abstract;
2004 function specified(): Integer; virtual; abstract;
2005 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
2006 end;
2007
2008 CharUserFieldVTable = class(UserFieldVTable)
2009 get: ICharUserField_getPtr;
2010 set_: ICharUserField_set_Ptr;
2011 end;
2012
2013 ICharUserField = class(IUserField)
2014 const VERSION = 3;
2015
2016 function get(): PAnsiChar;
2017 procedure set_(status: IStatus; newValue: PAnsiChar);
2018 end;
2019
2020 ICharUserFieldImpl = class(ICharUserField)
2021 constructor create;
2022
2023 function entered(): Integer; virtual; abstract;
2024 function specified(): Integer; virtual; abstract;
2025 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
2026 function get(): PAnsiChar; virtual; abstract;
2027 procedure set_(status: IStatus; newValue: PAnsiChar); virtual; abstract;
2028 end;
2029
2030 IntUserFieldVTable = class(UserFieldVTable)
2031 get: IIntUserField_getPtr;
2032 set_: IIntUserField_set_Ptr;
2033 end;
2034
2035 IIntUserField = class(IUserField)
2036 const VERSION = 3;
2037
2038 function get(): Integer;
2039 procedure set_(status: IStatus; newValue: Integer);
2040 end;
2041
2042 IIntUserFieldImpl = class(IIntUserField)
2043 constructor create;
2044
2045 function entered(): Integer; virtual; abstract;
2046 function specified(): Integer; virtual; abstract;
2047 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
2048 function get(): Integer; virtual; abstract;
2049 procedure set_(status: IStatus; newValue: Integer); virtual; abstract;
2050 end;
2051
2052 UserVTable = class(VersionedVTable)
2053 operation: IUser_operationPtr;
2054 userName: IUser_userNamePtr;
2055 password: IUser_passwordPtr;
2056 firstName: IUser_firstNamePtr;
2057 lastName: IUser_lastNamePtr;
2058 middleName: IUser_middleNamePtr;
2059 comment: IUser_commentPtr;
2060 attributes: IUser_attributesPtr;
2061 active: IUser_activePtr;
2062 admin: IUser_adminPtr;
2063 clear: IUser_clearPtr;
2064 end;
2065
2066 IUser = class(IVersioned)
2067 const VERSION = 2;
2068 const OP_USER_ADD = Cardinal(1);
2069 const OP_USER_MODIFY = Cardinal(2);
2070 const OP_USER_DELETE = Cardinal(3);
2071 const OP_USER_DISPLAY = Cardinal(4);
2072 const OP_USER_SET_MAP = Cardinal(5);
2073 const OP_USER_DROP_MAP = Cardinal(6);
2074
2075 function operation(): Cardinal;
2076 function userName(): ICharUserField;
2077 function password(): ICharUserField;
2078 function firstName(): ICharUserField;
2079 function lastName(): ICharUserField;
2080 function middleName(): ICharUserField;
2081 function comment(): ICharUserField;
2082 function attributes(): ICharUserField;
2083 function active(): IIntUserField;
2084 function admin(): IIntUserField;
2085 procedure clear(status: IStatus);
2086 end;
2087
2088 IUserImpl = class(IUser)
2089 constructor create;
2090
2091 function operation(): Cardinal; virtual; abstract;
2092 function userName(): ICharUserField; virtual; abstract;
2093 function password(): ICharUserField; virtual; abstract;
2094 function firstName(): ICharUserField; virtual; abstract;
2095 function lastName(): ICharUserField; virtual; abstract;
2096 function middleName(): ICharUserField; virtual; abstract;
2097 function comment(): ICharUserField; virtual; abstract;
2098 function attributes(): ICharUserField; virtual; abstract;
2099 function active(): IIntUserField; virtual; abstract;
2100 function admin(): IIntUserField; virtual; abstract;
2101 procedure clear(status: IStatus); virtual; abstract;
2102 end;
2103
2104 ListUsersVTable = class(VersionedVTable)
2105 list: IListUsers_listPtr;
2106 end;
2107
2108 IListUsers = class(IVersioned)
2109 const VERSION = 2;
2110
2111 procedure list(status: IStatus; user: IUser);
2112 end;
2113
2114 IListUsersImpl = class(IListUsers)
2115 constructor create;
2116
2117 procedure list(status: IStatus; user: IUser); virtual; abstract;
2118 end;
2119
2120 LogonInfoVTable = class(VersionedVTable)
2121 name: ILogonInfo_namePtr;
2122 role: ILogonInfo_rolePtr;
2123 networkProtocol: ILogonInfo_networkProtocolPtr;
2124 remoteAddress: ILogonInfo_remoteAddressPtr;
2125 authBlock: ILogonInfo_authBlockPtr;
2126 attachment: ILogonInfo_attachmentPtr;
2127 transaction: ILogonInfo_transactionPtr;
2128 end;
2129
2130 ILogonInfo = class(IVersioned)
2131 const VERSION = 3;
2132
2133 function name(): PAnsiChar;
2134 function role(): PAnsiChar;
2135 function networkProtocol(): PAnsiChar;
2136 function remoteAddress(): PAnsiChar;
2137 function authBlock(length: CardinalPtr): BytePtr;
2138 function attachment(status: IStatus): IAttachment;
2139 function transaction(status: IStatus): ITransaction;
2140 end;
2141
2142 ILogonInfoImpl = class(ILogonInfo)
2143 constructor create;
2144
2145 function name(): PAnsiChar; virtual; abstract;
2146 function role(): PAnsiChar; virtual; abstract;
2147 function networkProtocol(): PAnsiChar; virtual; abstract;
2148 function remoteAddress(): PAnsiChar; virtual; abstract;
2149 function authBlock(length: CardinalPtr): BytePtr; virtual; abstract;
2150 function attachment(status: IStatus): IAttachment; virtual; abstract;
2151 function transaction(status: IStatus): ITransaction; virtual; abstract;
2152 end;
2153
2154 ManagementVTable = class(PluginBaseVTable)
2155 start: IManagement_startPtr;
2156 execute: IManagement_executePtr;
2157 commit: IManagement_commitPtr;
2158 rollback: IManagement_rollbackPtr;
2159 end;
2160
2161 IManagement = class(IPluginBase)
2162 const VERSION = 4;
2163
2164 procedure start(status: IStatus; logonInfo: ILogonInfo);
2165 function execute(status: IStatus; user: IUser; callback: IListUsers): Integer;
2166 procedure commit(status: IStatus);
2167 procedure rollback(status: IStatus);
2168 end;
2169
2170 IManagementImpl = class(IManagement)
2171 constructor create;
2172
2173 procedure addRef(); virtual; abstract;
2174 function release(): Integer; virtual; abstract;
2175 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2176 function getOwner(): IReferenceCounted; virtual; abstract;
2177 procedure start(status: IStatus; logonInfo: ILogonInfo); virtual; abstract;
2178 function execute(status: IStatus; user: IUser; callback: IListUsers): Integer; virtual; abstract;
2179 procedure commit(status: IStatus); virtual; abstract;
2180 procedure rollback(status: IStatus); virtual; abstract;
2181 end;
2182
2183 AuthBlockVTable = class(VersionedVTable)
2184 getType: IAuthBlock_getTypePtr;
2185 getName: IAuthBlock_getNamePtr;
2186 getPlugin: IAuthBlock_getPluginPtr;
2187 getSecurityDb: IAuthBlock_getSecurityDbPtr;
2188 getOriginalPlugin: IAuthBlock_getOriginalPluginPtr;
2189 next: IAuthBlock_nextPtr;
2190 first: IAuthBlock_firstPtr;
2191 end;
2192
2193 IAuthBlock = class(IVersioned)
2194 const VERSION = 2;
2195
2196 function getType(): PAnsiChar;
2197 function getName(): PAnsiChar;
2198 function getPlugin(): PAnsiChar;
2199 function getSecurityDb(): PAnsiChar;
2200 function getOriginalPlugin(): PAnsiChar;
2201 function next(status: IStatus): Boolean;
2202 function first(status: IStatus): Boolean;
2203 end;
2204
2205 IAuthBlockImpl = class(IAuthBlock)
2206 constructor create;
2207
2208 function getType(): PAnsiChar; virtual; abstract;
2209 function getName(): PAnsiChar; virtual; abstract;
2210 function getPlugin(): PAnsiChar; virtual; abstract;
2211 function getSecurityDb(): PAnsiChar; virtual; abstract;
2212 function getOriginalPlugin(): PAnsiChar; virtual; abstract;
2213 function next(status: IStatus): Boolean; virtual; abstract;
2214 function first(status: IStatus): Boolean; virtual; abstract;
2215 end;
2216
2217 WireCryptPluginVTable = class(PluginBaseVTable)
2218 getKnownTypes: IWireCryptPlugin_getKnownTypesPtr;
2219 setKey: IWireCryptPlugin_setKeyPtr;
2220 encrypt: IWireCryptPlugin_encryptPtr;
2221 decrypt: IWireCryptPlugin_decryptPtr;
2222 getSpecificData: IWireCryptPlugin_getSpecificDataPtr;
2223 setSpecificData: IWireCryptPlugin_setSpecificDataPtr;
2224 end;
2225
2226 IWireCryptPlugin = class(IPluginBase)
2227 const VERSION = 5;
2228
2229 function getKnownTypes(status: IStatus): PAnsiChar;
2230 procedure setKey(status: IStatus; key: ICryptKey);
2231 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2232 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2233 function getSpecificData(status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr;
2234 procedure setSpecificData(status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr);
2235 end;
2236
2237 IWireCryptPluginImpl = class(IWireCryptPlugin)
2238 constructor create;
2239
2240 procedure addRef(); virtual; abstract;
2241 function release(): Integer; virtual; abstract;
2242 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2243 function getOwner(): IReferenceCounted; virtual; abstract;
2244 function getKnownTypes(status: IStatus): PAnsiChar; virtual; abstract;
2245 procedure setKey(status: IStatus; key: ICryptKey); virtual; abstract;
2246 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2247 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2248 function getSpecificData(status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr; virtual; abstract;
2249 procedure setSpecificData(status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr); virtual; abstract;
2250 end;
2251
2252 CryptKeyCallbackVTable = class(VersionedVTable)
2253 callback: ICryptKeyCallback_callbackPtr;
2254 end;
2255
2256 ICryptKeyCallback = class(IVersioned)
2257 const VERSION = 2;
2258
2259 function callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal;
2260 end;
2261
2262 ICryptKeyCallbackImpl = class(ICryptKeyCallback)
2263 constructor create;
2264
2265 function callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; virtual; abstract;
2266 end;
2267
2268 KeyHolderPluginVTable = class(PluginBaseVTable)
2269 keyCallback: IKeyHolderPlugin_keyCallbackPtr;
2270 keyHandle: IKeyHolderPlugin_keyHandlePtr;
2271 useOnlyOwnKeys: IKeyHolderPlugin_useOnlyOwnKeysPtr;
2272 chainHandle: IKeyHolderPlugin_chainHandlePtr;
2273 end;
2274
2275 IKeyHolderPlugin = class(IPluginBase)
2276 const VERSION = 5;
2277
2278 function keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer;
2279 function keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback;
2280 function useOnlyOwnKeys(status: IStatus): Boolean;
2281 function chainHandle(status: IStatus): ICryptKeyCallback;
2282 end;
2283
2284 IKeyHolderPluginImpl = class(IKeyHolderPlugin)
2285 constructor create;
2286
2287 procedure addRef(); virtual; abstract;
2288 function release(): Integer; virtual; abstract;
2289 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2290 function getOwner(): IReferenceCounted; virtual; abstract;
2291 function keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer; virtual; abstract;
2292 function keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; virtual; abstract;
2293 function useOnlyOwnKeys(status: IStatus): Boolean; virtual; abstract;
2294 function chainHandle(status: IStatus): ICryptKeyCallback; virtual; abstract;
2295 end;
2296
2297 DbCryptInfoVTable = class(ReferenceCountedVTable)
2298 getDatabaseFullPath: IDbCryptInfo_getDatabaseFullPathPtr;
2299 end;
2300
2301 IDbCryptInfo = class(IReferenceCounted)
2302 const VERSION = 3;
2303
2304 function getDatabaseFullPath(status: IStatus): PAnsiChar;
2305 end;
2306
2307 IDbCryptInfoImpl = class(IDbCryptInfo)
2308 constructor create;
2309
2310 procedure addRef(); virtual; abstract;
2311 function release(): Integer; virtual; abstract;
2312 function getDatabaseFullPath(status: IStatus): PAnsiChar; virtual; abstract;
2313 end;
2314
2315 DbCryptPluginVTable = class(PluginBaseVTable)
2316 setKey: IDbCryptPlugin_setKeyPtr;
2317 encrypt: IDbCryptPlugin_encryptPtr;
2318 decrypt: IDbCryptPlugin_decryptPtr;
2319 setInfo: IDbCryptPlugin_setInfoPtr;
2320 end;
2321
2322 IDbCryptPlugin = class(IPluginBase)
2323 const VERSION = 5;
2324
2325 procedure setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar);
2326 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2327 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
2328 procedure setInfo(status: IStatus; info: IDbCryptInfo);
2329 end;
2330
2331 IDbCryptPluginImpl = class(IDbCryptPlugin)
2332 constructor create;
2333
2334 procedure addRef(); virtual; abstract;
2335 function release(): Integer; virtual; abstract;
2336 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2337 function getOwner(): IReferenceCounted; virtual; abstract;
2338 procedure setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); virtual; abstract;
2339 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2340 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
2341 procedure setInfo(status: IStatus; info: IDbCryptInfo); virtual; abstract;
2342 end;
2343
2344 ExternalContextVTable = class(VersionedVTable)
2345 getMaster: IExternalContext_getMasterPtr;
2346 getEngine: IExternalContext_getEnginePtr;
2347 getAttachment: IExternalContext_getAttachmentPtr;
2348 getTransaction: IExternalContext_getTransactionPtr;
2349 getUserName: IExternalContext_getUserNamePtr;
2350 getDatabaseName: IExternalContext_getDatabaseNamePtr;
2351 getClientCharSet: IExternalContext_getClientCharSetPtr;
2352 obtainInfoCode: IExternalContext_obtainInfoCodePtr;
2353 getInfo: IExternalContext_getInfoPtr;
2354 setInfo: IExternalContext_setInfoPtr;
2355 end;
2356
2357 IExternalContext = class(IVersioned)
2358 const VERSION = 2;
2359
2360 function getMaster(): IMaster;
2361 function getEngine(status: IStatus): IExternalEngine;
2362 function getAttachment(status: IStatus): IAttachment;
2363 function getTransaction(status: IStatus): ITransaction;
2364 function getUserName(): PAnsiChar;
2365 function getDatabaseName(): PAnsiChar;
2366 function getClientCharSet(): PAnsiChar;
2367 function obtainInfoCode(): Integer;
2368 function getInfo(code: Integer): Pointer;
2369 function setInfo(code: Integer; value: Pointer): Pointer;
2370 end;
2371
2372 IExternalContextImpl = class(IExternalContext)
2373 constructor create;
2374
2375 function getMaster(): IMaster; virtual; abstract;
2376 function getEngine(status: IStatus): IExternalEngine; virtual; abstract;
2377 function getAttachment(status: IStatus): IAttachment; virtual; abstract;
2378 function getTransaction(status: IStatus): ITransaction; virtual; abstract;
2379 function getUserName(): PAnsiChar; virtual; abstract;
2380 function getDatabaseName(): PAnsiChar; virtual; abstract;
2381 function getClientCharSet(): PAnsiChar; virtual; abstract;
2382 function obtainInfoCode(): Integer; virtual; abstract;
2383 function getInfo(code: Integer): Pointer; virtual; abstract;
2384 function setInfo(code: Integer; value: Pointer): Pointer; virtual; abstract;
2385 end;
2386
2387 ExternalResultSetVTable = class(DisposableVTable)
2388 fetch: IExternalResultSet_fetchPtr;
2389 end;
2390
2391 IExternalResultSet = class(IDisposable)
2392 const VERSION = 3;
2393
2394 function fetch(status: IStatus): Boolean;
2395 end;
2396
2397 IExternalResultSetImpl = class(IExternalResultSet)
2398 constructor create;
2399
2400 procedure dispose(); virtual; abstract;
2401 function fetch(status: IStatus): Boolean; virtual; abstract;
2402 end;
2403
2404 ExternalFunctionVTable = class(DisposableVTable)
2405 getCharSet: IExternalFunction_getCharSetPtr;
2406 execute: IExternalFunction_executePtr;
2407 end;
2408
2409 IExternalFunction = class(IDisposable)
2410 const VERSION = 3;
2411
2412 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2413 procedure execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer);
2414 end;
2415
2416 IExternalFunctionImpl = class(IExternalFunction)
2417 constructor create;
2418
2419 procedure dispose(); virtual; abstract;
2420 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2421 procedure execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); virtual; abstract;
2422 end;
2423
2424 ExternalProcedureVTable = class(DisposableVTable)
2425 getCharSet: IExternalProcedure_getCharSetPtr;
2426 open: IExternalProcedure_openPtr;
2427 end;
2428
2429 IExternalProcedure = class(IDisposable)
2430 const VERSION = 3;
2431
2432 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2433 function open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet;
2434 end;
2435
2436 IExternalProcedureImpl = class(IExternalProcedure)
2437 constructor create;
2438
2439 procedure dispose(); virtual; abstract;
2440 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2441 function open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; virtual; abstract;
2442 end;
2443
2444 ExternalTriggerVTable = class(DisposableVTable)
2445 getCharSet: IExternalTrigger_getCharSetPtr;
2446 execute: IExternalTrigger_executePtr;
2447 end;
2448
2449 IExternalTrigger = class(IDisposable)
2450 const VERSION = 3;
2451 const TYPE_BEFORE = Cardinal(1);
2452 const TYPE_AFTER = Cardinal(2);
2453 const TYPE_DATABASE = Cardinal(3);
2454 const ACTION_INSERT = Cardinal(1);
2455 const ACTION_UPDATE = Cardinal(2);
2456 const ACTION_DELETE = Cardinal(3);
2457 const ACTION_CONNECT = Cardinal(4);
2458 const ACTION_DISCONNECT = Cardinal(5);
2459 const ACTION_TRANS_START = Cardinal(6);
2460 const ACTION_TRANS_COMMIT = Cardinal(7);
2461 const ACTION_TRANS_ROLLBACK = Cardinal(8);
2462 const ACTION_DDL = Cardinal(9);
2463
2464 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2465 procedure execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer);
2466 end;
2467
2468 IExternalTriggerImpl = class(IExternalTrigger)
2469 constructor create;
2470
2471 procedure dispose(); virtual; abstract;
2472 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2473 procedure execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); virtual; abstract;
2474 end;
2475
2476 RoutineMetadataVTable = class(VersionedVTable)
2477 getPackage: IRoutineMetadata_getPackagePtr;
2478 getName: IRoutineMetadata_getNamePtr;
2479 getEntryPoint: IRoutineMetadata_getEntryPointPtr;
2480 getBody: IRoutineMetadata_getBodyPtr;
2481 getInputMetadata: IRoutineMetadata_getInputMetadataPtr;
2482 getOutputMetadata: IRoutineMetadata_getOutputMetadataPtr;
2483 getTriggerMetadata: IRoutineMetadata_getTriggerMetadataPtr;
2484 getTriggerTable: IRoutineMetadata_getTriggerTablePtr;
2485 getTriggerType: IRoutineMetadata_getTriggerTypePtr;
2486 end;
2487
2488 IRoutineMetadata = class(IVersioned)
2489 const VERSION = 2;
2490
2491 function getPackage(status: IStatus): PAnsiChar;
2492 function getName(status: IStatus): PAnsiChar;
2493 function getEntryPoint(status: IStatus): PAnsiChar;
2494 function getBody(status: IStatus): PAnsiChar;
2495 function getInputMetadata(status: IStatus): IMessageMetadata;
2496 function getOutputMetadata(status: IStatus): IMessageMetadata;
2497 function getTriggerMetadata(status: IStatus): IMessageMetadata;
2498 function getTriggerTable(status: IStatus): PAnsiChar;
2499 function getTriggerType(status: IStatus): Cardinal;
2500 end;
2501
2502 IRoutineMetadataImpl = class(IRoutineMetadata)
2503 constructor create;
2504
2505 function getPackage(status: IStatus): PAnsiChar; virtual; abstract;
2506 function getName(status: IStatus): PAnsiChar; virtual; abstract;
2507 function getEntryPoint(status: IStatus): PAnsiChar; virtual; abstract;
2508 function getBody(status: IStatus): PAnsiChar; virtual; abstract;
2509 function getInputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2510 function getOutputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2511 function getTriggerMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2512 function getTriggerTable(status: IStatus): PAnsiChar; virtual; abstract;
2513 function getTriggerType(status: IStatus): Cardinal; virtual; abstract;
2514 end;
2515
2516 ExternalEngineVTable = class(PluginBaseVTable)
2517 open: IExternalEngine_openPtr;
2518 openAttachment: IExternalEngine_openAttachmentPtr;
2519 closeAttachment: IExternalEngine_closeAttachmentPtr;
2520 makeFunction: IExternalEngine_makeFunctionPtr;
2521 makeProcedure: IExternalEngine_makeProcedurePtr;
2522 makeTrigger: IExternalEngine_makeTriggerPtr;
2523 end;
2524
2525 IExternalEngine = class(IPluginBase)
2526 const VERSION = 4;
2527
2528 procedure open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal);
2529 procedure openAttachment(status: IStatus; context: IExternalContext);
2530 procedure closeAttachment(status: IStatus; context: IExternalContext);
2531 function makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction;
2532 function makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure;
2533 function makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger;
2534 end;
2535
2536 IExternalEngineImpl = class(IExternalEngine)
2537 constructor create;
2538
2539 procedure addRef(); virtual; abstract;
2540 function release(): Integer; virtual; abstract;
2541 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2542 function getOwner(): IReferenceCounted; virtual; abstract;
2543 procedure open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); virtual; abstract;
2544 procedure openAttachment(status: IStatus; context: IExternalContext); virtual; abstract;
2545 procedure closeAttachment(status: IStatus; context: IExternalContext); virtual; abstract;
2546 function makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; virtual; abstract;
2547 function makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; virtual; abstract;
2548 function makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; virtual; abstract;
2549 end;
2550
2551 TimerVTable = class(ReferenceCountedVTable)
2552 handler: ITimer_handlerPtr;
2553 end;
2554
2555 ITimer = class(IReferenceCounted)
2556 const VERSION = 3;
2557
2558 procedure handler();
2559 end;
2560
2561 ITimerImpl = class(ITimer)
2562 constructor create;
2563
2564 procedure addRef(); virtual; abstract;
2565 function release(): Integer; virtual; abstract;
2566 procedure handler(); virtual; abstract;
2567 end;
2568
2569 TimerControlVTable = class(VersionedVTable)
2570 start: ITimerControl_startPtr;
2571 stop: ITimerControl_stopPtr;
2572 end;
2573
2574 ITimerControl = class(IVersioned)
2575 const VERSION = 2;
2576
2577 procedure start(status: IStatus; timer: ITimer; microSeconds: QWord);
2578 procedure stop(status: IStatus; timer: ITimer);
2579 end;
2580
2581 ITimerControlImpl = class(ITimerControl)
2582 constructor create;
2583
2584 procedure start(status: IStatus; timer: ITimer; microSeconds: QWord); virtual; abstract;
2585 procedure stop(status: IStatus; timer: ITimer); virtual; abstract;
2586 end;
2587
2588 VersionCallbackVTable = class(VersionedVTable)
2589 callback: IVersionCallback_callbackPtr;
2590 end;
2591
2592 IVersionCallback = class(IVersioned)
2593 const VERSION = 2;
2594
2595 procedure callback(status: IStatus; text: PAnsiChar);
2596 end;
2597
2598 IVersionCallbackImpl = class(IVersionCallback)
2599 constructor create;
2600
2601 procedure callback(status: IStatus; text: PAnsiChar); virtual; abstract;
2602 end;
2603
2604 UtilVTable = class(VersionedVTable)
2605 getFbVersion: IUtil_getFbVersionPtr;
2606 loadBlob: IUtil_loadBlobPtr;
2607 dumpBlob: IUtil_dumpBlobPtr;
2608 getPerfCounters: IUtil_getPerfCountersPtr;
2609 executeCreateDatabase: IUtil_executeCreateDatabasePtr;
2610 decodeDate: IUtil_decodeDatePtr;
2611 decodeTime: IUtil_decodeTimePtr;
2612 encodeDate: IUtil_encodeDatePtr;
2613 encodeTime: IUtil_encodeTimePtr;
2614 formatStatus: IUtil_formatStatusPtr;
2615 getClientVersion: IUtil_getClientVersionPtr;
2616 getXpbBuilder: IUtil_getXpbBuilderPtr;
2617 setOffsets: IUtil_setOffsetsPtr;
2618 getDecFloat16: IUtil_getDecFloat16Ptr;
2619 getDecFloat34: IUtil_getDecFloat34Ptr;
2620 decodeTimeTz: IUtil_decodeTimeTzPtr;
2621 decodeTimeStampTz: IUtil_decodeTimeStampTzPtr;
2622 encodeTimeTz: IUtil_encodeTimeTzPtr;
2623 encodeTimeStampTz: IUtil_encodeTimeStampTzPtr;
2624 getInt128: IUtil_getInt128Ptr;
2625 decodeTimeTzEx: IUtil_decodeTimeTzExPtr;
2626 decodeTimeStampTzEx: IUtil_decodeTimeStampTzExPtr;
2627 end;
2628
2629 IUtil = class(IVersioned)
2630 const VERSION = 4;
2631
2632 procedure getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback);
2633 procedure loadBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
2634 procedure dumpBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
2635 procedure getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr);
2636 function executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment;
2637 procedure decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr);
2638 procedure decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr);
2639 function encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE;
2640 function encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME;
2641 function formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal;
2642 function getClientVersion(): Cardinal;
2643 function getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder;
2644 function setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal;
2645 function getDecFloat16(status: IStatus): IDecFloat16;
2646 function getDecFloat34(status: IStatus): IDecFloat34;
2647 procedure decodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
2648 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);
2649 procedure encodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar);
2650 procedure encodeTimeStampTz(status: IStatus; timeStampTz: ISC_TIMESTAMP_TZPtr; year: Cardinal; month: Cardinal; day: Cardinal; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar);
2651 function getInt128(status: IStatus): IInt128;
2652 procedure decodeTimeTzEx(status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
2653 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);
2654 end;
2655
2656 IUtilImpl = class(IUtil)
2657 constructor create;
2658
2659 procedure getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback); virtual; abstract;
2660 procedure loadBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); virtual; abstract;
2661 procedure dumpBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); virtual; abstract;
2662 procedure getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); virtual; abstract;
2663 function executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; virtual; abstract;
2664 procedure decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); virtual; abstract;
2665 procedure decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); virtual; abstract;
2666 function encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; virtual; abstract;
2667 function encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; virtual; abstract;
2668 function formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; virtual; abstract;
2669 function getClientVersion(): Cardinal; virtual; abstract;
2670 function getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; virtual; abstract;
2671 function setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; virtual; abstract;
2672 function getDecFloat16(status: IStatus): IDecFloat16; virtual; abstract;
2673 function getDecFloat34(status: IStatus): IDecFloat34; virtual; abstract;
2674 procedure decodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); virtual; abstract;
2675 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;
2676 procedure encodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); virtual; abstract;
2677 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;
2678 function getInt128(status: IStatus): IInt128; virtual; abstract;
2679 procedure decodeTimeTzEx(status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); virtual; abstract;
2680 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;
2681 end;
2682
2683 OffsetsCallbackVTable = class(VersionedVTable)
2684 setOffset: IOffsetsCallback_setOffsetPtr;
2685 end;
2686
2687 IOffsetsCallback = class(IVersioned)
2688 const VERSION = 2;
2689
2690 procedure setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal);
2691 end;
2692
2693 IOffsetsCallbackImpl = class(IOffsetsCallback)
2694 constructor create;
2695
2696 procedure setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); virtual; abstract;
2697 end;
2698
2699 XpbBuilderVTable = class(DisposableVTable)
2700 clear: IXpbBuilder_clearPtr;
2701 removeCurrent: IXpbBuilder_removeCurrentPtr;
2702 insertInt: IXpbBuilder_insertIntPtr;
2703 insertBigInt: IXpbBuilder_insertBigIntPtr;
2704 insertBytes: IXpbBuilder_insertBytesPtr;
2705 insertString: IXpbBuilder_insertStringPtr;
2706 insertTag: IXpbBuilder_insertTagPtr;
2707 isEof: IXpbBuilder_isEofPtr;
2708 moveNext: IXpbBuilder_moveNextPtr;
2709 rewind: IXpbBuilder_rewindPtr;
2710 findFirst: IXpbBuilder_findFirstPtr;
2711 findNext: IXpbBuilder_findNextPtr;
2712 getTag: IXpbBuilder_getTagPtr;
2713 getLength: IXpbBuilder_getLengthPtr;
2714 getInt: IXpbBuilder_getIntPtr;
2715 getBigInt: IXpbBuilder_getBigIntPtr;
2716 getString: IXpbBuilder_getStringPtr;
2717 getBytes: IXpbBuilder_getBytesPtr;
2718 getBufferLength: IXpbBuilder_getBufferLengthPtr;
2719 getBuffer: IXpbBuilder_getBufferPtr;
2720 end;
2721
2722 IXpbBuilder = class(IDisposable)
2723 const VERSION = 3;
2724 const DPB = Cardinal(1);
2725 const SPB_ATTACH = Cardinal(2);
2726 const SPB_START = Cardinal(3);
2727 const TPB = Cardinal(4);
2728 const BATCH = Cardinal(5);
2729 const BPB = Cardinal(6);
2730 const SPB_SEND = Cardinal(7);
2731 const SPB_RECEIVE = Cardinal(8);
2732 const SPB_RESPONSE = Cardinal(9);
2733
2734 procedure clear(status: IStatus);
2735 procedure removeCurrent(status: IStatus);
2736 procedure insertInt(status: IStatus; tag: Byte; value: Integer);
2737 procedure insertBigInt(status: IStatus; tag: Byte; value: Int64);
2738 procedure insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal);
2739 procedure insertString(status: IStatus; tag: Byte; str: PAnsiChar);
2740 procedure insertTag(status: IStatus; tag: Byte);
2741 function isEof(status: IStatus): Boolean;
2742 procedure moveNext(status: IStatus);
2743 procedure rewind(status: IStatus);
2744 function findFirst(status: IStatus; tag: Byte): Boolean;
2745 function findNext(status: IStatus): Boolean;
2746 function getTag(status: IStatus): Byte;
2747 function getLength(status: IStatus): Cardinal;
2748 function getInt(status: IStatus): Integer;
2749 function getBigInt(status: IStatus): Int64;
2750 function getString(status: IStatus): PAnsiChar;
2751 function getBytes(status: IStatus): BytePtr;
2752 function getBufferLength(status: IStatus): Cardinal;
2753 function getBuffer(status: IStatus): BytePtr;
2754 end;
2755
2756 IXpbBuilderImpl = class(IXpbBuilder)
2757 constructor create;
2758
2759 procedure dispose(); virtual; abstract;
2760 procedure clear(status: IStatus); virtual; abstract;
2761 procedure removeCurrent(status: IStatus); virtual; abstract;
2762 procedure insertInt(status: IStatus; tag: Byte; value: Integer); virtual; abstract;
2763 procedure insertBigInt(status: IStatus; tag: Byte; value: Int64); virtual; abstract;
2764 procedure insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); virtual; abstract;
2765 procedure insertString(status: IStatus; tag: Byte; str: PAnsiChar); virtual; abstract;
2766 procedure insertTag(status: IStatus; tag: Byte); virtual; abstract;
2767 function isEof(status: IStatus): Boolean; virtual; abstract;
2768 procedure moveNext(status: IStatus); virtual; abstract;
2769 procedure rewind(status: IStatus); virtual; abstract;
2770 function findFirst(status: IStatus; tag: Byte): Boolean; virtual; abstract;
2771 function findNext(status: IStatus): Boolean; virtual; abstract;
2772 function getTag(status: IStatus): Byte; virtual; abstract;
2773 function getLength(status: IStatus): Cardinal; virtual; abstract;
2774 function getInt(status: IStatus): Integer; virtual; abstract;
2775 function getBigInt(status: IStatus): Int64; virtual; abstract;
2776 function getString(status: IStatus): PAnsiChar; virtual; abstract;
2777 function getBytes(status: IStatus): BytePtr; virtual; abstract;
2778 function getBufferLength(status: IStatus): Cardinal; virtual; abstract;
2779 function getBuffer(status: IStatus): BytePtr; virtual; abstract;
2780 end;
2781
2782 TraceConnectionVTable = class(VersionedVTable)
2783 getKind: ITraceConnection_getKindPtr;
2784 getProcessID: ITraceConnection_getProcessIDPtr;
2785 getUserName: ITraceConnection_getUserNamePtr;
2786 getRoleName: ITraceConnection_getRoleNamePtr;
2787 getCharSet: ITraceConnection_getCharSetPtr;
2788 getRemoteProtocol: ITraceConnection_getRemoteProtocolPtr;
2789 getRemoteAddress: ITraceConnection_getRemoteAddressPtr;
2790 getRemoteProcessID: ITraceConnection_getRemoteProcessIDPtr;
2791 getRemoteProcessName: ITraceConnection_getRemoteProcessNamePtr;
2792 end;
2793
2794 ITraceConnection = class(IVersioned)
2795 const VERSION = 2;
2796 const KIND_DATABASE = Cardinal(1);
2797 const KIND_SERVICE = Cardinal(2);
2798
2799 function getKind(): Cardinal;
2800 function getProcessID(): Integer;
2801 function getUserName(): PAnsiChar;
2802 function getRoleName(): PAnsiChar;
2803 function getCharSet(): PAnsiChar;
2804 function getRemoteProtocol(): PAnsiChar;
2805 function getRemoteAddress(): PAnsiChar;
2806 function getRemoteProcessID(): Integer;
2807 function getRemoteProcessName(): PAnsiChar;
2808 end;
2809
2810 ITraceConnectionImpl = class(ITraceConnection)
2811 constructor create;
2812
2813 function getKind(): Cardinal; virtual; abstract;
2814 function getProcessID(): Integer; virtual; abstract;
2815 function getUserName(): PAnsiChar; virtual; abstract;
2816 function getRoleName(): PAnsiChar; virtual; abstract;
2817 function getCharSet(): PAnsiChar; virtual; abstract;
2818 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
2819 function getRemoteAddress(): PAnsiChar; virtual; abstract;
2820 function getRemoteProcessID(): Integer; virtual; abstract;
2821 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
2822 end;
2823
2824 TraceDatabaseConnectionVTable = class(TraceConnectionVTable)
2825 getConnectionID: ITraceDatabaseConnection_getConnectionIDPtr;
2826 getDatabaseName: ITraceDatabaseConnection_getDatabaseNamePtr;
2827 end;
2828
2829 ITraceDatabaseConnection = class(ITraceConnection)
2830 const VERSION = 3;
2831
2832 function getConnectionID(): Int64;
2833 function getDatabaseName(): PAnsiChar;
2834 end;
2835
2836 ITraceDatabaseConnectionImpl = class(ITraceDatabaseConnection)
2837 constructor create;
2838
2839 function getKind(): Cardinal; virtual; abstract;
2840 function getProcessID(): Integer; virtual; abstract;
2841 function getUserName(): PAnsiChar; virtual; abstract;
2842 function getRoleName(): PAnsiChar; virtual; abstract;
2843 function getCharSet(): PAnsiChar; virtual; abstract;
2844 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
2845 function getRemoteAddress(): PAnsiChar; virtual; abstract;
2846 function getRemoteProcessID(): Integer; virtual; abstract;
2847 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
2848 function getConnectionID(): Int64; virtual; abstract;
2849 function getDatabaseName(): PAnsiChar; virtual; abstract;
2850 end;
2851
2852 TraceTransactionVTable = class(VersionedVTable)
2853 getTransactionID: ITraceTransaction_getTransactionIDPtr;
2854 getReadOnly: ITraceTransaction_getReadOnlyPtr;
2855 getWait: ITraceTransaction_getWaitPtr;
2856 getIsolation: ITraceTransaction_getIsolationPtr;
2857 getPerf: ITraceTransaction_getPerfPtr;
2858 getInitialID: ITraceTransaction_getInitialIDPtr;
2859 getPreviousID: ITraceTransaction_getPreviousIDPtr;
2860 end;
2861
2862 ITraceTransaction = class(IVersioned)
2863 const VERSION = 3;
2864 const ISOLATION_CONSISTENCY = Cardinal(1);
2865 const ISOLATION_CONCURRENCY = Cardinal(2);
2866 const ISOLATION_READ_COMMITTED_RECVER = Cardinal(3);
2867 const ISOLATION_READ_COMMITTED_NORECVER = Cardinal(4);
2868 const ISOLATION_READ_COMMITTED_READ_CONSISTENCY = Cardinal(5);
2869
2870 function getTransactionID(): Int64;
2871 function getReadOnly(): Boolean;
2872 function getWait(): Integer;
2873 function getIsolation(): Cardinal;
2874 function getPerf(): PerformanceInfoPtr;
2875 function getInitialID(): Int64;
2876 function getPreviousID(): Int64;
2877 end;
2878
2879 ITraceTransactionImpl = class(ITraceTransaction)
2880 constructor create;
2881
2882 function getTransactionID(): Int64; virtual; abstract;
2883 function getReadOnly(): Boolean; virtual; abstract;
2884 function getWait(): Integer; virtual; abstract;
2885 function getIsolation(): Cardinal; virtual; abstract;
2886 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2887 function getInitialID(): Int64; virtual; abstract;
2888 function getPreviousID(): Int64; virtual; abstract;
2889 end;
2890
2891 TraceParamsVTable = class(VersionedVTable)
2892 getCount: ITraceParams_getCountPtr;
2893 getParam: ITraceParams_getParamPtr;
2894 getTextUTF8: ITraceParams_getTextUTF8Ptr;
2895 end;
2896
2897 ITraceParams = class(IVersioned)
2898 const VERSION = 3;
2899
2900 function getCount(): Cardinal;
2901 function getParam(idx: Cardinal): dscPtr;
2902 function getTextUTF8(status: IStatus; idx: Cardinal): PAnsiChar;
2903 end;
2904
2905 ITraceParamsImpl = class(ITraceParams)
2906 constructor create;
2907
2908 function getCount(): Cardinal; virtual; abstract;
2909 function getParam(idx: Cardinal): dscPtr; virtual; abstract;
2910 function getTextUTF8(status: IStatus; idx: Cardinal): PAnsiChar; virtual; abstract;
2911 end;
2912
2913 TraceStatementVTable = class(VersionedVTable)
2914 getStmtID: ITraceStatement_getStmtIDPtr;
2915 getPerf: ITraceStatement_getPerfPtr;
2916 end;
2917
2918 ITraceStatement = class(IVersioned)
2919 const VERSION = 2;
2920
2921 function getStmtID(): Int64;
2922 function getPerf(): PerformanceInfoPtr;
2923 end;
2924
2925 ITraceStatementImpl = class(ITraceStatement)
2926 constructor create;
2927
2928 function getStmtID(): Int64; virtual; abstract;
2929 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2930 end;
2931
2932 TraceSQLStatementVTable = class(TraceStatementVTable)
2933 getText: ITraceSQLStatement_getTextPtr;
2934 getPlan: ITraceSQLStatement_getPlanPtr;
2935 getInputs: ITraceSQLStatement_getInputsPtr;
2936 getTextUTF8: ITraceSQLStatement_getTextUTF8Ptr;
2937 getExplainedPlan: ITraceSQLStatement_getExplainedPlanPtr;
2938 end;
2939
2940 ITraceSQLStatement = class(ITraceStatement)
2941 const VERSION = 3;
2942
2943 function getText(): PAnsiChar;
2944 function getPlan(): PAnsiChar;
2945 function getInputs(): ITraceParams;
2946 function getTextUTF8(): PAnsiChar;
2947 function getExplainedPlan(): PAnsiChar;
2948 end;
2949
2950 ITraceSQLStatementImpl = class(ITraceSQLStatement)
2951 constructor create;
2952
2953 function getStmtID(): Int64; virtual; abstract;
2954 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2955 function getText(): PAnsiChar; virtual; abstract;
2956 function getPlan(): PAnsiChar; virtual; abstract;
2957 function getInputs(): ITraceParams; virtual; abstract;
2958 function getTextUTF8(): PAnsiChar; virtual; abstract;
2959 function getExplainedPlan(): PAnsiChar; virtual; abstract;
2960 end;
2961
2962 TraceBLRStatementVTable = class(TraceStatementVTable)
2963 getData: ITraceBLRStatement_getDataPtr;
2964 getDataLength: ITraceBLRStatement_getDataLengthPtr;
2965 getText: ITraceBLRStatement_getTextPtr;
2966 end;
2967
2968 ITraceBLRStatement = class(ITraceStatement)
2969 const VERSION = 3;
2970
2971 function getData(): BytePtr;
2972 function getDataLength(): Cardinal;
2973 function getText(): PAnsiChar;
2974 end;
2975
2976 ITraceBLRStatementImpl = class(ITraceBLRStatement)
2977 constructor create;
2978
2979 function getStmtID(): Int64; virtual; abstract;
2980 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2981 function getData(): BytePtr; virtual; abstract;
2982 function getDataLength(): Cardinal; virtual; abstract;
2983 function getText(): PAnsiChar; virtual; abstract;
2984 end;
2985
2986 TraceDYNRequestVTable = class(VersionedVTable)
2987 getData: ITraceDYNRequest_getDataPtr;
2988 getDataLength: ITraceDYNRequest_getDataLengthPtr;
2989 getText: ITraceDYNRequest_getTextPtr;
2990 end;
2991
2992 ITraceDYNRequest = class(IVersioned)
2993 const VERSION = 2;
2994
2995 function getData(): BytePtr;
2996 function getDataLength(): Cardinal;
2997 function getText(): PAnsiChar;
2998 end;
2999
3000 ITraceDYNRequestImpl = class(ITraceDYNRequest)
3001 constructor create;
3002
3003 function getData(): BytePtr; virtual; abstract;
3004 function getDataLength(): Cardinal; virtual; abstract;
3005 function getText(): PAnsiChar; virtual; abstract;
3006 end;
3007
3008 TraceContextVariableVTable = class(VersionedVTable)
3009 getNameSpace: ITraceContextVariable_getNameSpacePtr;
3010 getVarName: ITraceContextVariable_getVarNamePtr;
3011 getVarValue: ITraceContextVariable_getVarValuePtr;
3012 end;
3013
3014 ITraceContextVariable = class(IVersioned)
3015 const VERSION = 2;
3016
3017 function getNameSpace(): PAnsiChar;
3018 function getVarName(): PAnsiChar;
3019 function getVarValue(): PAnsiChar;
3020 end;
3021
3022 ITraceContextVariableImpl = class(ITraceContextVariable)
3023 constructor create;
3024
3025 function getNameSpace(): PAnsiChar; virtual; abstract;
3026 function getVarName(): PAnsiChar; virtual; abstract;
3027 function getVarValue(): PAnsiChar; virtual; abstract;
3028 end;
3029
3030 TraceProcedureVTable = class(VersionedVTable)
3031 getProcName: ITraceProcedure_getProcNamePtr;
3032 getInputs: ITraceProcedure_getInputsPtr;
3033 getPerf: ITraceProcedure_getPerfPtr;
3034 end;
3035
3036 ITraceProcedure = class(IVersioned)
3037 const VERSION = 2;
3038
3039 function getProcName(): PAnsiChar;
3040 function getInputs(): ITraceParams;
3041 function getPerf(): PerformanceInfoPtr;
3042 end;
3043
3044 ITraceProcedureImpl = class(ITraceProcedure)
3045 constructor create;
3046
3047 function getProcName(): PAnsiChar; virtual; abstract;
3048 function getInputs(): ITraceParams; virtual; abstract;
3049 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3050 end;
3051
3052 TraceFunctionVTable = class(VersionedVTable)
3053 getFuncName: ITraceFunction_getFuncNamePtr;
3054 getInputs: ITraceFunction_getInputsPtr;
3055 getResult: ITraceFunction_getResultPtr;
3056 getPerf: ITraceFunction_getPerfPtr;
3057 end;
3058
3059 ITraceFunction = class(IVersioned)
3060 const VERSION = 2;
3061
3062 function getFuncName(): PAnsiChar;
3063 function getInputs(): ITraceParams;
3064 function getResult(): ITraceParams;
3065 function getPerf(): PerformanceInfoPtr;
3066 end;
3067
3068 ITraceFunctionImpl = class(ITraceFunction)
3069 constructor create;
3070
3071 function getFuncName(): PAnsiChar; virtual; abstract;
3072 function getInputs(): ITraceParams; virtual; abstract;
3073 function getResult(): ITraceParams; virtual; abstract;
3074 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3075 end;
3076
3077 TraceTriggerVTable = class(VersionedVTable)
3078 getTriggerName: ITraceTrigger_getTriggerNamePtr;
3079 getRelationName: ITraceTrigger_getRelationNamePtr;
3080 getAction: ITraceTrigger_getActionPtr;
3081 getWhich: ITraceTrigger_getWhichPtr;
3082 getPerf: ITraceTrigger_getPerfPtr;
3083 end;
3084
3085 ITraceTrigger = class(IVersioned)
3086 const VERSION = 2;
3087 const TYPE_ALL = Cardinal(0);
3088 const TYPE_BEFORE = Cardinal(1);
3089 const TYPE_AFTER = Cardinal(2);
3090
3091 function getTriggerName(): PAnsiChar;
3092 function getRelationName(): PAnsiChar;
3093 function getAction(): Integer;
3094 function getWhich(): Integer;
3095 function getPerf(): PerformanceInfoPtr;
3096 end;
3097
3098 ITraceTriggerImpl = class(ITraceTrigger)
3099 constructor create;
3100
3101 function getTriggerName(): PAnsiChar; virtual; abstract;
3102 function getRelationName(): PAnsiChar; virtual; abstract;
3103 function getAction(): Integer; virtual; abstract;
3104 function getWhich(): Integer; virtual; abstract;
3105 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3106 end;
3107
3108 TraceServiceConnectionVTable = class(TraceConnectionVTable)
3109 getServiceID: ITraceServiceConnection_getServiceIDPtr;
3110 getServiceMgr: ITraceServiceConnection_getServiceMgrPtr;
3111 getServiceName: ITraceServiceConnection_getServiceNamePtr;
3112 end;
3113
3114 ITraceServiceConnection = class(ITraceConnection)
3115 const VERSION = 3;
3116
3117 function getServiceID(): Pointer;
3118 function getServiceMgr(): PAnsiChar;
3119 function getServiceName(): PAnsiChar;
3120 end;
3121
3122 ITraceServiceConnectionImpl = class(ITraceServiceConnection)
3123 constructor create;
3124
3125 function getKind(): Cardinal; virtual; abstract;
3126 function getProcessID(): Integer; virtual; abstract;
3127 function getUserName(): PAnsiChar; virtual; abstract;
3128 function getRoleName(): PAnsiChar; virtual; abstract;
3129 function getCharSet(): PAnsiChar; virtual; abstract;
3130 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
3131 function getRemoteAddress(): PAnsiChar; virtual; abstract;
3132 function getRemoteProcessID(): Integer; virtual; abstract;
3133 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
3134 function getServiceID(): Pointer; virtual; abstract;
3135 function getServiceMgr(): PAnsiChar; virtual; abstract;
3136 function getServiceName(): PAnsiChar; virtual; abstract;
3137 end;
3138
3139 TraceStatusVectorVTable = class(VersionedVTable)
3140 hasError: ITraceStatusVector_hasErrorPtr;
3141 hasWarning: ITraceStatusVector_hasWarningPtr;
3142 getStatus: ITraceStatusVector_getStatusPtr;
3143 getText: ITraceStatusVector_getTextPtr;
3144 end;
3145
3146 ITraceStatusVector = class(IVersioned)
3147 const VERSION = 2;
3148
3149 function hasError(): Boolean;
3150 function hasWarning(): Boolean;
3151 function getStatus(): IStatus;
3152 function getText(): PAnsiChar;
3153 end;
3154
3155 ITraceStatusVectorImpl = class(ITraceStatusVector)
3156 constructor create;
3157
3158 function hasError(): Boolean; virtual; abstract;
3159 function hasWarning(): Boolean; virtual; abstract;
3160 function getStatus(): IStatus; virtual; abstract;
3161 function getText(): PAnsiChar; virtual; abstract;
3162 end;
3163
3164 TraceSweepInfoVTable = class(VersionedVTable)
3165 getOIT: ITraceSweepInfo_getOITPtr;
3166 getOST: ITraceSweepInfo_getOSTPtr;
3167 getOAT: ITraceSweepInfo_getOATPtr;
3168 getNext: ITraceSweepInfo_getNextPtr;
3169 getPerf: ITraceSweepInfo_getPerfPtr;
3170 end;
3171
3172 ITraceSweepInfo = class(IVersioned)
3173 const VERSION = 2;
3174
3175 function getOIT(): Int64;
3176 function getOST(): Int64;
3177 function getOAT(): Int64;
3178 function getNext(): Int64;
3179 function getPerf(): PerformanceInfoPtr;
3180 end;
3181
3182 ITraceSweepInfoImpl = class(ITraceSweepInfo)
3183 constructor create;
3184
3185 function getOIT(): Int64; virtual; abstract;
3186 function getOST(): Int64; virtual; abstract;
3187 function getOAT(): Int64; virtual; abstract;
3188 function getNext(): Int64; virtual; abstract;
3189 function getPerf(): PerformanceInfoPtr; virtual; abstract;
3190 end;
3191
3192 TraceLogWriterVTable = class(ReferenceCountedVTable)
3193 write: ITraceLogWriter_writePtr;
3194 write_s: ITraceLogWriter_write_sPtr;
3195 end;
3196
3197 ITraceLogWriter = class(IReferenceCounted)
3198 const VERSION = 4;
3199
3200 function write(buf: Pointer; size: Cardinal): Cardinal;
3201 function write_s(status: IStatus; buf: Pointer; size: Cardinal): Cardinal;
3202 end;
3203
3204 ITraceLogWriterImpl = class(ITraceLogWriter)
3205 constructor create;
3206
3207 procedure addRef(); virtual; abstract;
3208 function release(): Integer; virtual; abstract;
3209 function write(buf: Pointer; size: Cardinal): Cardinal; virtual; abstract;
3210 function write_s(status: IStatus; buf: Pointer; size: Cardinal): Cardinal; virtual; abstract;
3211 end;
3212
3213 TraceInitInfoVTable = class(VersionedVTable)
3214 getConfigText: ITraceInitInfo_getConfigTextPtr;
3215 getTraceSessionID: ITraceInitInfo_getTraceSessionIDPtr;
3216 getTraceSessionName: ITraceInitInfo_getTraceSessionNamePtr;
3217 getFirebirdRootDirectory: ITraceInitInfo_getFirebirdRootDirectoryPtr;
3218 getDatabaseName: ITraceInitInfo_getDatabaseNamePtr;
3219 getConnection: ITraceInitInfo_getConnectionPtr;
3220 getLogWriter: ITraceInitInfo_getLogWriterPtr;
3221 end;
3222
3223 ITraceInitInfo = class(IVersioned)
3224 const VERSION = 2;
3225
3226 function getConfigText(): PAnsiChar;
3227 function getTraceSessionID(): Integer;
3228 function getTraceSessionName(): PAnsiChar;
3229 function getFirebirdRootDirectory(): PAnsiChar;
3230 function getDatabaseName(): PAnsiChar;
3231 function getConnection(): ITraceDatabaseConnection;
3232 function getLogWriter(): ITraceLogWriter;
3233 end;
3234
3235 ITraceInitInfoImpl = class(ITraceInitInfo)
3236 constructor create;
3237
3238 function getConfigText(): PAnsiChar; virtual; abstract;
3239 function getTraceSessionID(): Integer; virtual; abstract;
3240 function getTraceSessionName(): PAnsiChar; virtual; abstract;
3241 function getFirebirdRootDirectory(): PAnsiChar; virtual; abstract;
3242 function getDatabaseName(): PAnsiChar; virtual; abstract;
3243 function getConnection(): ITraceDatabaseConnection; virtual; abstract;
3244 function getLogWriter(): ITraceLogWriter; virtual; abstract;
3245 end;
3246
3247 TracePluginVTable = class(ReferenceCountedVTable)
3248 trace_get_error: ITracePlugin_trace_get_errorPtr;
3249 trace_attach: ITracePlugin_trace_attachPtr;
3250 trace_detach: ITracePlugin_trace_detachPtr;
3251 trace_transaction_start: ITracePlugin_trace_transaction_startPtr;
3252 trace_transaction_end: ITracePlugin_trace_transaction_endPtr;
3253 trace_proc_execute: ITracePlugin_trace_proc_executePtr;
3254 trace_trigger_execute: ITracePlugin_trace_trigger_executePtr;
3255 trace_set_context: ITracePlugin_trace_set_contextPtr;
3256 trace_dsql_prepare: ITracePlugin_trace_dsql_preparePtr;
3257 trace_dsql_free: ITracePlugin_trace_dsql_freePtr;
3258 trace_dsql_execute: ITracePlugin_trace_dsql_executePtr;
3259 trace_blr_compile: ITracePlugin_trace_blr_compilePtr;
3260 trace_blr_execute: ITracePlugin_trace_blr_executePtr;
3261 trace_dyn_execute: ITracePlugin_trace_dyn_executePtr;
3262 trace_service_attach: ITracePlugin_trace_service_attachPtr;
3263 trace_service_start: ITracePlugin_trace_service_startPtr;
3264 trace_service_query: ITracePlugin_trace_service_queryPtr;
3265 trace_service_detach: ITracePlugin_trace_service_detachPtr;
3266 trace_event_error: ITracePlugin_trace_event_errorPtr;
3267 trace_event_sweep: ITracePlugin_trace_event_sweepPtr;
3268 trace_func_execute: ITracePlugin_trace_func_executePtr;
3269 end;
3270
3271 ITracePlugin = class(IReferenceCounted)
3272 const VERSION = 3;
3273 const RESULT_SUCCESS = Cardinal(0);
3274 const RESULT_FAILED = Cardinal(1);
3275 const RESULT_UNAUTHORIZED = Cardinal(2);
3276 const SWEEP_STATE_STARTED = Cardinal(1);
3277 const SWEEP_STATE_FINISHED = Cardinal(2);
3278 const SWEEP_STATE_FAILED = Cardinal(3);
3279 const SWEEP_STATE_PROGRESS = Cardinal(4);
3280
3281 function trace_get_error(): PAnsiChar;
3282 function trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean;
3283 function trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean;
3284 function trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean;
3285 function trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean;
3286 function trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean;
3287 function trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean;
3288 function trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean;
3289 function trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean;
3290 function trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean;
3291 function trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean;
3292 function trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean;
3293 function trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean;
3294 function trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean;
3295 function trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean;
3296 function trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean;
3297 function trace_service_query(service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean;
3298 function trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean;
3299 function trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean;
3300 function trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean;
3301 function trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean;
3302 end;
3303
3304 ITracePluginImpl = class(ITracePlugin)
3305 constructor create;
3306
3307 procedure addRef(); virtual; abstract;
3308 function release(): Integer; virtual; abstract;
3309 function trace_get_error(): PAnsiChar; virtual; abstract;
3310 function trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; virtual; abstract;
3311 function trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; virtual; abstract;
3312 function trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; virtual; abstract;
3313 function trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; virtual; abstract;
3314 function trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; virtual; abstract;
3315 function trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; virtual; abstract;
3316 function trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; virtual; abstract;
3317 function trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
3318 function trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; virtual; abstract;
3319 function trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; virtual; abstract;
3320 function trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
3321 function trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; virtual; abstract;
3322 function trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
3323 function trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean; virtual; abstract;
3324 function trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; virtual; abstract;
3325 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;
3326 function trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean; virtual; abstract;
3327 function trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; virtual; abstract;
3328 function trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; virtual; abstract;
3329 function trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; virtual; abstract;
3330 end;
3331
3332 TraceFactoryVTable = class(PluginBaseVTable)
3333 trace_needs: ITraceFactory_trace_needsPtr;
3334 trace_create: ITraceFactory_trace_createPtr;
3335 end;
3336
3337 ITraceFactory = class(IPluginBase)
3338 const VERSION = 4;
3339 const TRACE_EVENT_ATTACH = Cardinal(0);
3340 const TRACE_EVENT_DETACH = Cardinal(1);
3341 const TRACE_EVENT_TRANSACTION_START = Cardinal(2);
3342 const TRACE_EVENT_TRANSACTION_END = Cardinal(3);
3343 const TRACE_EVENT_SET_CONTEXT = Cardinal(4);
3344 const TRACE_EVENT_PROC_EXECUTE = Cardinal(5);
3345 const TRACE_EVENT_TRIGGER_EXECUTE = Cardinal(6);
3346 const TRACE_EVENT_DSQL_PREPARE = Cardinal(7);
3347 const TRACE_EVENT_DSQL_FREE = Cardinal(8);
3348 const TRACE_EVENT_DSQL_EXECUTE = Cardinal(9);
3349 const TRACE_EVENT_BLR_COMPILE = Cardinal(10);
3350 const TRACE_EVENT_BLR_EXECUTE = Cardinal(11);
3351 const TRACE_EVENT_DYN_EXECUTE = Cardinal(12);
3352 const TRACE_EVENT_SERVICE_ATTACH = Cardinal(13);
3353 const TRACE_EVENT_SERVICE_START = Cardinal(14);
3354 const TRACE_EVENT_SERVICE_QUERY = Cardinal(15);
3355 const TRACE_EVENT_SERVICE_DETACH = Cardinal(16);
3356 const TRACE_EVENT_ERROR = Cardinal(17);
3357 const TRACE_EVENT_SWEEP = Cardinal(18);
3358 const TRACE_EVENT_FUNC_EXECUTE = Cardinal(19);
3359 const TRACE_EVENT_MAX = Cardinal(20);
3360
3361 function trace_needs(): QWord;
3362 function trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin;
3363 end;
3364
3365 ITraceFactoryImpl = class(ITraceFactory)
3366 constructor create;
3367
3368 procedure addRef(); virtual; abstract;
3369 function release(): Integer; virtual; abstract;
3370 procedure setOwner(r: IReferenceCounted); virtual; abstract;
3371 function getOwner(): IReferenceCounted; virtual; abstract;
3372 function trace_needs(): QWord; virtual; abstract;
3373 function trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin; virtual; abstract;
3374 end;
3375
3376 UdrFunctionFactoryVTable = class(DisposableVTable)
3377 setup: IUdrFunctionFactory_setupPtr;
3378 newItem: IUdrFunctionFactory_newItemPtr;
3379 end;
3380
3381 IUdrFunctionFactory = class(IDisposable)
3382 const VERSION = 3;
3383
3384 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
3385 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction;
3386 end;
3387
3388 IUdrFunctionFactoryImpl = class(IUdrFunctionFactory)
3389 constructor create;
3390
3391 procedure dispose(); virtual; abstract;
3392 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); virtual; abstract;
3393 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; virtual; abstract;
3394 end;
3395
3396 UdrProcedureFactoryVTable = class(DisposableVTable)
3397 setup: IUdrProcedureFactory_setupPtr;
3398 newItem: IUdrProcedureFactory_newItemPtr;
3399 end;
3400
3401 IUdrProcedureFactory = class(IDisposable)
3402 const VERSION = 3;
3403
3404 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
3405 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure;
3406 end;
3407
3408 IUdrProcedureFactoryImpl = class(IUdrProcedureFactory)
3409 constructor create;
3410
3411 procedure dispose(); virtual; abstract;
3412 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); virtual; abstract;
3413 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; virtual; abstract;
3414 end;
3415
3416 UdrTriggerFactoryVTable = class(DisposableVTable)
3417 setup: IUdrTriggerFactory_setupPtr;
3418 newItem: IUdrTriggerFactory_newItemPtr;
3419 end;
3420
3421 IUdrTriggerFactory = class(IDisposable)
3422 const VERSION = 3;
3423
3424 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder);
3425 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger;
3426 end;
3427
3428 IUdrTriggerFactoryImpl = class(IUdrTriggerFactory)
3429 constructor create;
3430
3431 procedure dispose(); virtual; abstract;
3432 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); virtual; abstract;
3433 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; virtual; abstract;
3434 end;
3435
3436 UdrPluginVTable = class(VersionedVTable)
3437 getMaster: IUdrPlugin_getMasterPtr;
3438 registerFunction: IUdrPlugin_registerFunctionPtr;
3439 registerProcedure: IUdrPlugin_registerProcedurePtr;
3440 registerTrigger: IUdrPlugin_registerTriggerPtr;
3441 end;
3442
3443 IUdrPlugin = class(IVersioned)
3444 const VERSION = 2;
3445
3446 function getMaster(): IMaster;
3447 procedure registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory);
3448 procedure registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory);
3449 procedure registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory);
3450 end;
3451
3452 IUdrPluginImpl = class(IUdrPlugin)
3453 constructor create;
3454
3455 function getMaster(): IMaster; virtual; abstract;
3456 procedure registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); virtual; abstract;
3457 procedure registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); virtual; abstract;
3458 procedure registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); virtual; abstract;
3459 end;
3460
3461 DecFloat16VTable = class(VersionedVTable)
3462 toBcd: IDecFloat16_toBcdPtr;
3463 toString: IDecFloat16_toStringPtr;
3464 fromBcd: IDecFloat16_fromBcdPtr;
3465 fromString: IDecFloat16_fromStringPtr;
3466 end;
3467
3468 IDecFloat16 = class(IVersioned)
3469 const VERSION = 2;
3470 const BCD_SIZE = Cardinal(16);
3471 const STRING_SIZE = Cardinal(24);
3472
3473 procedure toBcd(from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
3474 procedure toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
3475 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr);
3476 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr);
3477 end;
3478
3479 IDecFloat16Impl = class(IDecFloat16)
3480 constructor create;
3481
3482 procedure toBcd(from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); virtual; abstract;
3483 procedure toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); virtual; abstract;
3484 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr); virtual; abstract;
3485 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr); virtual; abstract;
3486 end;
3487
3488 DecFloat34VTable = class(VersionedVTable)
3489 toBcd: IDecFloat34_toBcdPtr;
3490 toString: IDecFloat34_toStringPtr;
3491 fromBcd: IDecFloat34_fromBcdPtr;
3492 fromString: IDecFloat34_fromStringPtr;
3493 end;
3494
3495 IDecFloat34 = class(IVersioned)
3496 const VERSION = 2;
3497 const BCD_SIZE = Cardinal(34);
3498 const STRING_SIZE = Cardinal(43);
3499
3500 procedure toBcd(from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
3501 procedure toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
3502 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr);
3503 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr);
3504 end;
3505
3506 IDecFloat34Impl = class(IDecFloat34)
3507 constructor create;
3508
3509 procedure toBcd(from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); virtual; abstract;
3510 procedure toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); virtual; abstract;
3511 procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr); virtual; abstract;
3512 procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr); virtual; abstract;
3513 end;
3514
3515 Int128VTable = class(VersionedVTable)
3516 toString: IInt128_toStringPtr;
3517 fromString: IInt128_fromStringPtr;
3518 end;
3519
3520 IInt128 = class(IVersioned)
3521 const VERSION = 2;
3522 const STRING_SIZE = Cardinal(46);
3523
3524 procedure toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar);
3525 procedure fromString(status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr);
3526 end;
3527
3528 IInt128Impl = class(IInt128)
3529 constructor create;
3530
3531 procedure toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); virtual; abstract;
3532 procedure fromString(status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr); virtual; abstract;
3533 end;
3534
3535 ReplicatedFieldVTable = class(VersionedVTable)
3536 getName: IReplicatedField_getNamePtr;
3537 getType: IReplicatedField_getTypePtr;
3538 getSubType: IReplicatedField_getSubTypePtr;
3539 getScale: IReplicatedField_getScalePtr;
3540 getLength: IReplicatedField_getLengthPtr;
3541 getCharSet: IReplicatedField_getCharSetPtr;
3542 getData: IReplicatedField_getDataPtr;
3543 end;
3544
3545 IReplicatedField = class(IVersioned)
3546 const VERSION = 2;
3547
3548 function getName(): PAnsiChar;
3549 function getType(): Cardinal;
3550 function getSubType(): Integer;
3551 function getScale(): Integer;
3552 function getLength(): Cardinal;
3553 function getCharSet(): Cardinal;
3554 function getData(): Pointer;
3555 end;
3556
3557 IReplicatedFieldImpl = class(IReplicatedField)
3558 constructor create;
3559
3560 function getName(): PAnsiChar; virtual; abstract;
3561 function getType(): Cardinal; virtual; abstract;
3562 function getSubType(): Integer; virtual; abstract;
3563 function getScale(): Integer; virtual; abstract;
3564 function getLength(): Cardinal; virtual; abstract;
3565 function getCharSet(): Cardinal; virtual; abstract;
3566 function getData(): Pointer; virtual; abstract;
3567 end;
3568
3569 ReplicatedRecordVTable = class(VersionedVTable)
3570 getCount: IReplicatedRecord_getCountPtr;
3571 getField: IReplicatedRecord_getFieldPtr;
3572 getRawLength: IReplicatedRecord_getRawLengthPtr;
3573 getRawData: IReplicatedRecord_getRawDataPtr;
3574 end;
3575
3576 IReplicatedRecord = class(IVersioned)
3577 const VERSION = 2;
3578
3579 function getCount(): Cardinal;
3580 function getField(index: Cardinal): IReplicatedField;
3581 function getRawLength(): Cardinal;
3582 function getRawData(): BytePtr;
3583 end;
3584
3585 IReplicatedRecordImpl = class(IReplicatedRecord)
3586 constructor create;
3587
3588 function getCount(): Cardinal; virtual; abstract;
3589 function getField(index: Cardinal): IReplicatedField; virtual; abstract;
3590 function getRawLength(): Cardinal; virtual; abstract;
3591 function getRawData(): BytePtr; virtual; abstract;
3592 end;
3593
3594 ReplicatedTransactionVTable = class(DisposableVTable)
3595 prepare: IReplicatedTransaction_preparePtr;
3596 commit: IReplicatedTransaction_commitPtr;
3597 rollback: IReplicatedTransaction_rollbackPtr;
3598 startSavepoint: IReplicatedTransaction_startSavepointPtr;
3599 releaseSavepoint: IReplicatedTransaction_releaseSavepointPtr;
3600 rollbackSavepoint: IReplicatedTransaction_rollbackSavepointPtr;
3601 insertRecord: IReplicatedTransaction_insertRecordPtr;
3602 updateRecord: IReplicatedTransaction_updateRecordPtr;
3603 deleteRecord: IReplicatedTransaction_deleteRecordPtr;
3604 executeSql: IReplicatedTransaction_executeSqlPtr;
3605 executeSqlIntl: IReplicatedTransaction_executeSqlIntlPtr;
3606 end;
3607
3608 IReplicatedTransaction = class(IDisposable)
3609 const VERSION = 3;
3610
3611 procedure prepare(status: IStatus);
3612 procedure commit(status: IStatus);
3613 procedure rollback(status: IStatus);
3614 procedure startSavepoint(status: IStatus);
3615 procedure releaseSavepoint(status: IStatus);
3616 procedure rollbackSavepoint(status: IStatus);
3617 procedure insertRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
3618 procedure updateRecord(status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord);
3619 procedure deleteRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
3620 procedure executeSql(status: IStatus; sql: PAnsiChar);
3621 procedure executeSqlIntl(status: IStatus; charset: Cardinal; sql: PAnsiChar);
3622 end;
3623
3624 IReplicatedTransactionImpl = class(IReplicatedTransaction)
3625 constructor create;
3626
3627 procedure dispose(); virtual; abstract;
3628 procedure prepare(status: IStatus); virtual; abstract;
3629 procedure commit(status: IStatus); virtual; abstract;
3630 procedure rollback(status: IStatus); virtual; abstract;
3631 procedure startSavepoint(status: IStatus); virtual; abstract;
3632 procedure releaseSavepoint(status: IStatus); virtual; abstract;
3633 procedure rollbackSavepoint(status: IStatus); virtual; abstract;
3634 procedure insertRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); virtual; abstract;
3635 procedure updateRecord(status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord); virtual; abstract;
3636 procedure deleteRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); virtual; abstract;
3637 procedure executeSql(status: IStatus; sql: PAnsiChar); virtual; abstract;
3638 procedure executeSqlIntl(status: IStatus; charset: Cardinal; sql: PAnsiChar); virtual; abstract;
3639 end;
3640
3641 ReplicatedSessionVTable = class(PluginBaseVTable)
3642 init: IReplicatedSession_initPtr;
3643 startTransaction: IReplicatedSession_startTransactionPtr;
3644 cleanupTransaction: IReplicatedSession_cleanupTransactionPtr;
3645 setSequence: IReplicatedSession_setSequencePtr;
3646 end;
3647
3648 IReplicatedSession = class(IPluginBase)
3649 const VERSION = 4;
3650
3651 function init(status: IStatus; attachment: IAttachment): Boolean;
3652 function startTransaction(status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction;
3653 procedure cleanupTransaction(status: IStatus; number: Int64);
3654 procedure setSequence(status: IStatus; name: PAnsiChar; value: Int64);
3655 end;
3656
3657 IReplicatedSessionImpl = class(IReplicatedSession)
3658 constructor create;
3659
3660 procedure addRef(); virtual; abstract;
3661 function release(): Integer; virtual; abstract;
3662 procedure setOwner(r: IReferenceCounted); virtual; abstract;
3663 function getOwner(): IReferenceCounted; virtual; abstract;
3664 function init(status: IStatus; attachment: IAttachment): Boolean; virtual; abstract;
3665 function startTransaction(status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction; virtual; abstract;
3666 procedure cleanupTransaction(status: IStatus; number: Int64); virtual; abstract;
3667 procedure setSequence(status: IStatus; name: PAnsiChar; value: Int64); virtual; abstract;
3668 end;
3669
3670 {function fb_get_master_interface : IMaster; cdecl; external 'fbclient';}
3671
3672
3673 implementation
3674
3675 uses IBErrorCodes;
3676
3677 procedure IReferenceCounted.addRef();
3678 begin
3679 ReferenceCountedVTable(vTable).addRef(Self);
3680 end;
3681
3682 function IReferenceCounted.release(): Integer;
3683 begin
3684 Result := ReferenceCountedVTable(vTable).release(Self);
3685 end;
3686
3687 procedure IDisposable.dispose();
3688 begin
3689 DisposableVTable(vTable).dispose(Self);
3690 end;
3691
3692 procedure IStatus.init();
3693 begin
3694 StatusVTable(vTable).init(Self);
3695 end;
3696
3697 function IStatus.getState(): Cardinal;
3698 begin
3699 Result := StatusVTable(vTable).getState(Self);
3700 end;
3701
3702 procedure IStatus.setErrors2(length: Cardinal; value: NativeIntPtr);
3703 begin
3704 StatusVTable(vTable).setErrors2(Self, length, value);
3705 end;
3706
3707 procedure IStatus.setWarnings2(length: Cardinal; value: NativeIntPtr);
3708 begin
3709 StatusVTable(vTable).setWarnings2(Self, length, value);
3710 end;
3711
3712 procedure IStatus.setErrors(value: NativeIntPtr);
3713 begin
3714 StatusVTable(vTable).setErrors(Self, value);
3715 end;
3716
3717 procedure IStatus.setWarnings(value: NativeIntPtr);
3718 begin
3719 StatusVTable(vTable).setWarnings(Self, value);
3720 end;
3721
3722 function IStatus.getErrors(): NativeIntPtr;
3723 begin
3724 Result := StatusVTable(vTable).getErrors(Self);
3725 end;
3726
3727 function IStatus.getWarnings(): NativeIntPtr;
3728 begin
3729 Result := StatusVTable(vTable).getWarnings(Self);
3730 end;
3731
3732 function IStatus.clone(): IStatus;
3733 begin
3734 Result := StatusVTable(vTable).clone(Self);
3735 end;
3736
3737 function IMaster.getStatus(): IStatus;
3738 begin
3739 Result := MasterVTable(vTable).getStatus(Self);
3740 end;
3741
3742 function IMaster.getDispatcher(): IProvider;
3743 begin
3744 Result := MasterVTable(vTable).getDispatcher(Self);
3745 end;
3746
3747 function IMaster.getPluginManager(): IPluginManager;
3748 begin
3749 Result := MasterVTable(vTable).getPluginManager(Self);
3750 end;
3751
3752 function IMaster.getTimerControl(): ITimerControl;
3753 begin
3754 Result := MasterVTable(vTable).getTimerControl(Self);
3755 end;
3756
3757 function IMaster.getDtc(): IDtc;
3758 begin
3759 Result := MasterVTable(vTable).getDtc(Self);
3760 end;
3761
3762 function IMaster.registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment;
3763 begin
3764 Result := MasterVTable(vTable).registerAttachment(Self, provider, attachment);
3765 end;
3766
3767 function IMaster.registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction;
3768 begin
3769 Result := MasterVTable(vTable).registerTransaction(Self, attachment, transaction);
3770 end;
3771
3772 function IMaster.getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder;
3773 begin
3774 Result := MasterVTable(vTable).getMetadataBuilder(Self, status, fieldCount);
3775 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3776 end;
3777
3778 function IMaster.serverMode(mode: Integer): Integer;
3779 begin
3780 Result := MasterVTable(vTable).serverMode(Self, mode);
3781 end;
3782
3783 function IMaster.getUtilInterface(): IUtil;
3784 begin
3785 Result := MasterVTable(vTable).getUtilInterface(Self);
3786 end;
3787
3788 function IMaster.getConfigManager(): IConfigManager;
3789 begin
3790 Result := MasterVTable(vTable).getConfigManager(Self);
3791 end;
3792
3793 function IMaster.getProcessExiting(): Boolean;
3794 begin
3795 Result := MasterVTable(vTable).getProcessExiting(Self);
3796 end;
3797
3798 procedure IPluginBase.setOwner(r: IReferenceCounted);
3799 begin
3800 PluginBaseVTable(vTable).setOwner(Self, r);
3801 end;
3802
3803 function IPluginBase.getOwner(): IReferenceCounted;
3804 begin
3805 Result := PluginBaseVTable(vTable).getOwner(Self);
3806 end;
3807
3808 function IPluginSet.getName(): PAnsiChar;
3809 begin
3810 Result := PluginSetVTable(vTable).getName(Self);
3811 end;
3812
3813 function IPluginSet.getModuleName(): PAnsiChar;
3814 begin
3815 Result := PluginSetVTable(vTable).getModuleName(Self);
3816 end;
3817
3818 function IPluginSet.getPlugin(status: IStatus): IPluginBase;
3819 begin
3820 Result := PluginSetVTable(vTable).getPlugin(Self, status);
3821 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3822 end;
3823
3824 procedure IPluginSet.next(status: IStatus);
3825 begin
3826 PluginSetVTable(vTable).next(Self, status);
3827 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3828 end;
3829
3830 procedure IPluginSet.set_(status: IStatus; s: PAnsiChar);
3831 begin
3832 PluginSetVTable(vTable).set_(Self, status, s);
3833 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3834 end;
3835
3836 function IConfigEntry.getName(): PAnsiChar;
3837 begin
3838 Result := ConfigEntryVTable(vTable).getName(Self);
3839 end;
3840
3841 function IConfigEntry.getValue(): PAnsiChar;
3842 begin
3843 Result := ConfigEntryVTable(vTable).getValue(Self);
3844 end;
3845
3846 function IConfigEntry.getIntValue(): Int64;
3847 begin
3848 Result := ConfigEntryVTable(vTable).getIntValue(Self);
3849 end;
3850
3851 function IConfigEntry.getBoolValue(): Boolean;
3852 begin
3853 Result := ConfigEntryVTable(vTable).getBoolValue(Self);
3854 end;
3855
3856 function IConfigEntry.getSubConfig(status: IStatus): IConfig;
3857 begin
3858 Result := ConfigEntryVTable(vTable).getSubConfig(Self, status);
3859 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3860 end;
3861
3862 function IConfig.find(status: IStatus; name: PAnsiChar): IConfigEntry;
3863 begin
3864 Result := ConfigVTable(vTable).find(Self, status, name);
3865 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3866 end;
3867
3868 function IConfig.findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry;
3869 begin
3870 Result := ConfigVTable(vTable).findValue(Self, status, name, value);
3871 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3872 end;
3873
3874 function IConfig.findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry;
3875 begin
3876 Result := ConfigVTable(vTable).findPos(Self, status, name, pos);
3877 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3878 end;
3879
3880 function IFirebirdConf.getKey(name: PAnsiChar): Cardinal;
3881 begin
3882 Result := FirebirdConfVTable(vTable).getKey(Self, name);
3883 end;
3884
3885 function IFirebirdConf.asInteger(key: Cardinal): Int64;
3886 begin
3887 Result := FirebirdConfVTable(vTable).asInteger(Self, key);
3888 end;
3889
3890 function IFirebirdConf.asString(key: Cardinal): PAnsiChar;
3891 begin
3892 Result := FirebirdConfVTable(vTable).asString(Self, key);
3893 end;
3894
3895 function IFirebirdConf.asBoolean(key: Cardinal): Boolean;
3896 begin
3897 Result := FirebirdConfVTable(vTable).asBoolean(Self, key);
3898 end;
3899
3900 function IFirebirdConf.getVersion(status: IStatus): Cardinal;
3901 begin
3902 Result := FirebirdConfVTable(vTable).getVersion(Self, status);
3903 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3904 end;
3905
3906 function IPluginConfig.getConfigFileName(): PAnsiChar;
3907 begin
3908 Result := PluginConfigVTable(vTable).getConfigFileName(Self);
3909 end;
3910
3911 function IPluginConfig.getDefaultConfig(status: IStatus): IConfig;
3912 begin
3913 Result := PluginConfigVTable(vTable).getDefaultConfig(Self, status);
3914 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3915 end;
3916
3917 function IPluginConfig.getFirebirdConf(status: IStatus): IFirebirdConf;
3918 begin
3919 Result := PluginConfigVTable(vTable).getFirebirdConf(Self, status);
3920 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3921 end;
3922
3923 procedure IPluginConfig.setReleaseDelay(status: IStatus; microSeconds: QWord);
3924 begin
3925 PluginConfigVTable(vTable).setReleaseDelay(Self, status, microSeconds);
3926 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3927 end;
3928
3929 function IPluginFactory.createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase;
3930 begin
3931 Result := PluginFactoryVTable(vTable).createPlugin(Self, status, factoryParameter);
3932 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3933 end;
3934
3935 procedure IPluginModule.doClean();
3936 begin
3937 PluginModuleVTable(vTable).doClean(Self);
3938 end;
3939
3940 procedure IPluginModule.threadDetach();
3941 begin
3942 PluginModuleVTable(vTable).threadDetach(Self);
3943 end;
3944
3945 procedure IPluginManager.registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory);
3946 begin
3947 PluginManagerVTable(vTable).registerPluginFactory(Self, pluginType, defaultName, factory);
3948 end;
3949
3950 procedure IPluginManager.registerModule(cleanup: IPluginModule);
3951 begin
3952 PluginManagerVTable(vTable).registerModule(Self, cleanup);
3953 end;
3954
3955 procedure IPluginManager.unregisterModule(cleanup: IPluginModule);
3956 begin
3957 PluginManagerVTable(vTable).unregisterModule(Self, cleanup);
3958 end;
3959
3960 function IPluginManager.getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet;
3961 begin
3962 Result := PluginManagerVTable(vTable).getPlugins(Self, status, pluginType, namesList, firebirdConf);
3963 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3964 end;
3965
3966 function IPluginManager.getConfig(status: IStatus; filename: PAnsiChar): IConfig;
3967 begin
3968 Result := PluginManagerVTable(vTable).getConfig(Self, status, filename);
3969 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3970 end;
3971
3972 procedure IPluginManager.releasePlugin(plugin: IPluginBase);
3973 begin
3974 PluginManagerVTable(vTable).releasePlugin(Self, plugin);
3975 end;
3976
3977 procedure ICryptKey.setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer);
3978 begin
3979 CryptKeyVTable(vTable).setSymmetric(Self, status, type_, keyLength, key);
3980 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3981 end;
3982
3983 procedure ICryptKey.setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer);
3984 begin
3985 CryptKeyVTable(vTable).setAsymmetric(Self, status, type_, encryptKeyLength, encryptKey, decryptKeyLength, decryptKey);
3986 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
3987 end;
3988
3989 function ICryptKey.getEncryptKey(length: CardinalPtr): Pointer;
3990 begin
3991 Result := CryptKeyVTable(vTable).getEncryptKey(Self, length);
3992 end;
3993
3994 function ICryptKey.getDecryptKey(length: CardinalPtr): Pointer;
3995 begin
3996 Result := CryptKeyVTable(vTable).getDecryptKey(Self, length);
3997 end;
3998
3999 function IConfigManager.getDirectory(code: Cardinal): PAnsiChar;
4000 begin
4001 Result := ConfigManagerVTable(vTable).getDirectory(Self, code);
4002 end;
4003
4004 function IConfigManager.getFirebirdConf(): IFirebirdConf;
4005 begin
4006 Result := ConfigManagerVTable(vTable).getFirebirdConf(Self);
4007 end;
4008
4009 function IConfigManager.getDatabaseConf(dbName: PAnsiChar): IFirebirdConf;
4010 begin
4011 Result := ConfigManagerVTable(vTable).getDatabaseConf(Self, dbName);
4012 end;
4013
4014 function IConfigManager.getPluginConfig(configuredPlugin: PAnsiChar): IConfig;
4015 begin
4016 Result := ConfigManagerVTable(vTable).getPluginConfig(Self, configuredPlugin);
4017 end;
4018
4019 function IConfigManager.getInstallDirectory(): PAnsiChar;
4020 begin
4021 Result := ConfigManagerVTable(vTable).getInstallDirectory(Self);
4022 end;
4023
4024 function IConfigManager.getRootDirectory(): PAnsiChar;
4025 begin
4026 Result := ConfigManagerVTable(vTable).getRootDirectory(Self);
4027 end;
4028
4029 function IConfigManager.getDefaultSecurityDb(): PAnsiChar;
4030 begin
4031 Result := ConfigManagerVTable(vTable).getDefaultSecurityDb(Self);
4032 end;
4033
4034 procedure IEventCallback.eventCallbackFunction(length: Cardinal; events: BytePtr);
4035 begin
4036 EventCallbackVTable(vTable).eventCallbackFunction(Self, length, events);
4037 end;
4038
4039 procedure IBlob.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4040 begin
4041 BlobVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4042 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4043 end;
4044
4045 function IBlob.getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer;
4046 begin
4047 Result := BlobVTable(vTable).getSegment(Self, status, bufferLength, buffer, segmentLength);
4048 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4049 end;
4050
4051 procedure IBlob.putSegment(status: IStatus; length: Cardinal; buffer: Pointer);
4052 begin
4053 BlobVTable(vTable).putSegment(Self, status, length, buffer);
4054 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4055 end;
4056
4057 procedure IBlob.cancel(status: IStatus);
4058 begin
4059 BlobVTable(vTable).cancel(Self, status);
4060 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4061 end;
4062
4063 procedure IBlob.close(status: IStatus);
4064 begin
4065 BlobVTable(vTable).close(Self, status);
4066 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4067 end;
4068
4069 function IBlob.seek(status: IStatus; mode: Integer; offset: Integer): Integer;
4070 begin
4071 Result := BlobVTable(vTable).seek(Self, status, mode, offset);
4072 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4073 end;
4074
4075 procedure ITransaction.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4076 begin
4077 TransactionVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4078 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4079 end;
4080
4081 procedure ITransaction.prepare(status: IStatus; msgLength: Cardinal; message: BytePtr);
4082 begin
4083 TransactionVTable(vTable).prepare(Self, status, msgLength, message);
4084 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4085 end;
4086
4087 procedure ITransaction.commit(status: IStatus);
4088 begin
4089 TransactionVTable(vTable).commit(Self, status);
4090 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4091 end;
4092
4093 procedure ITransaction.commitRetaining(status: IStatus);
4094 begin
4095 TransactionVTable(vTable).commitRetaining(Self, status);
4096 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4097 end;
4098
4099 procedure ITransaction.rollback(status: IStatus);
4100 begin
4101 TransactionVTable(vTable).rollback(Self, status);
4102 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4103 end;
4104
4105 procedure ITransaction.rollbackRetaining(status: IStatus);
4106 begin
4107 TransactionVTable(vTable).rollbackRetaining(Self, status);
4108 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4109 end;
4110
4111 procedure ITransaction.disconnect(status: IStatus);
4112 begin
4113 TransactionVTable(vTable).disconnect(Self, status);
4114 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4115 end;
4116
4117 function ITransaction.join(status: IStatus; transaction: ITransaction): ITransaction;
4118 begin
4119 Result := TransactionVTable(vTable).join(Self, status, transaction);
4120 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4121 end;
4122
4123 function ITransaction.validate(status: IStatus; attachment: IAttachment): ITransaction;
4124 begin
4125 Result := TransactionVTable(vTable).validate(Self, status, attachment);
4126 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4127 end;
4128
4129 function ITransaction.enterDtc(status: IStatus): ITransaction;
4130 begin
4131 Result := TransactionVTable(vTable).enterDtc(Self, status);
4132 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4133 end;
4134
4135 function IMessageMetadata.getCount(status: IStatus): Cardinal;
4136 begin
4137 Result := MessageMetadataVTable(vTable).getCount(Self, status);
4138 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4139 end;
4140
4141 function IMessageMetadata.getField(status: IStatus; index: Cardinal): PAnsiChar;
4142 begin
4143 Result := MessageMetadataVTable(vTable).getField(Self, status, index);
4144 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4145 end;
4146
4147 function IMessageMetadata.getRelation(status: IStatus; index: Cardinal): PAnsiChar;
4148 begin
4149 Result := MessageMetadataVTable(vTable).getRelation(Self, status, index);
4150 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4151 end;
4152
4153 function IMessageMetadata.getOwner(status: IStatus; index: Cardinal): PAnsiChar;
4154 begin
4155 Result := MessageMetadataVTable(vTable).getOwner(Self, status, index);
4156 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4157 end;
4158
4159 function IMessageMetadata.getAlias(status: IStatus; index: Cardinal): PAnsiChar;
4160 begin
4161 Result := MessageMetadataVTable(vTable).getAlias(Self, status, index);
4162 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4163 end;
4164
4165 function IMessageMetadata.getType(status: IStatus; index: Cardinal): Cardinal;
4166 begin
4167 Result := MessageMetadataVTable(vTable).getType(Self, status, index);
4168 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4169 end;
4170
4171 function IMessageMetadata.isNullable(status: IStatus; index: Cardinal): Boolean;
4172 begin
4173 Result := MessageMetadataVTable(vTable).isNullable(Self, status, index);
4174 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4175 end;
4176
4177 function IMessageMetadata.getSubType(status: IStatus; index: Cardinal): Integer;
4178 begin
4179 Result := MessageMetadataVTable(vTable).getSubType(Self, status, index);
4180 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4181 end;
4182
4183 function IMessageMetadata.getLength(status: IStatus; index: Cardinal): Cardinal;
4184 begin
4185 Result := MessageMetadataVTable(vTable).getLength(Self, status, index);
4186 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4187 end;
4188
4189 function IMessageMetadata.getScale(status: IStatus; index: Cardinal): Integer;
4190 begin
4191 Result := MessageMetadataVTable(vTable).getScale(Self, status, index);
4192 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4193 end;
4194
4195 function IMessageMetadata.getCharSet(status: IStatus; index: Cardinal): Cardinal;
4196 begin
4197 Result := MessageMetadataVTable(vTable).getCharSet(Self, status, index);
4198 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4199 end;
4200
4201 function IMessageMetadata.getOffset(status: IStatus; index: Cardinal): Cardinal;
4202 begin
4203 Result := MessageMetadataVTable(vTable).getOffset(Self, status, index);
4204 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4205 end;
4206
4207 function IMessageMetadata.getNullOffset(status: IStatus; index: Cardinal): Cardinal;
4208 begin
4209 Result := MessageMetadataVTable(vTable).getNullOffset(Self, status, index);
4210 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4211 end;
4212
4213 function IMessageMetadata.getBuilder(status: IStatus): IMetadataBuilder;
4214 begin
4215 Result := MessageMetadataVTable(vTable).getBuilder(Self, status);
4216 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4217 end;
4218
4219 function IMessageMetadata.getMessageLength(status: IStatus): Cardinal;
4220 begin
4221 Result := MessageMetadataVTable(vTable).getMessageLength(Self, status);
4222 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4223 end;
4224
4225 function IMessageMetadata.getAlignment(status: IStatus): Cardinal;
4226 begin
4227 Result := MessageMetadataVTable(vTable).getAlignment(Self, status);
4228 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4229 end;
4230
4231 function IMessageMetadata.getAlignedLength(status: IStatus): Cardinal;
4232 begin
4233 Result := MessageMetadataVTable(vTable).getAlignedLength(Self, status);
4234 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4235 end;
4236
4237 procedure IMetadataBuilder.setType(status: IStatus; index: Cardinal; type_: Cardinal);
4238 begin
4239 MetadataBuilderVTable(vTable).setType(Self, status, index, type_);
4240 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4241 end;
4242
4243 procedure IMetadataBuilder.setSubType(status: IStatus; index: Cardinal; subType: Integer);
4244 begin
4245 MetadataBuilderVTable(vTable).setSubType(Self, status, index, subType);
4246 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4247 end;
4248
4249 procedure IMetadataBuilder.setLength(status: IStatus; index: Cardinal; length: Cardinal);
4250 begin
4251 MetadataBuilderVTable(vTable).setLength(Self, status, index, length);
4252 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4253 end;
4254
4255 procedure IMetadataBuilder.setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal);
4256 begin
4257 MetadataBuilderVTable(vTable).setCharSet(Self, status, index, charSet);
4258 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4259 end;
4260
4261 procedure IMetadataBuilder.setScale(status: IStatus; index: Cardinal; scale: Integer);
4262 begin
4263 MetadataBuilderVTable(vTable).setScale(Self, status, index, scale);
4264 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4265 end;
4266
4267 procedure IMetadataBuilder.truncate(status: IStatus; count: Cardinal);
4268 begin
4269 MetadataBuilderVTable(vTable).truncate(Self, status, count);
4270 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4271 end;
4272
4273 procedure IMetadataBuilder.moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal);
4274 begin
4275 MetadataBuilderVTable(vTable).moveNameToIndex(Self, status, name, index);
4276 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4277 end;
4278
4279 procedure IMetadataBuilder.remove(status: IStatus; index: Cardinal);
4280 begin
4281 MetadataBuilderVTable(vTable).remove(Self, status, index);
4282 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4283 end;
4284
4285 function IMetadataBuilder.addField(status: IStatus): Cardinal;
4286 begin
4287 Result := MetadataBuilderVTable(vTable).addField(Self, status);
4288 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4289 end;
4290
4291 function IMetadataBuilder.getMetadata(status: IStatus): IMessageMetadata;
4292 begin
4293 Result := MetadataBuilderVTable(vTable).getMetadata(Self, status);
4294 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4295 end;
4296
4297 procedure IMetadataBuilder.setField(status: IStatus; index: Cardinal; field: PAnsiChar);
4298 begin
4299 MetadataBuilderVTable(vTable).setField(Self, status, index, field);
4300 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4301 end;
4302
4303 procedure IMetadataBuilder.setRelation(status: IStatus; index: Cardinal; relation: PAnsiChar);
4304 begin
4305 MetadataBuilderVTable(vTable).setRelation(Self, status, index, relation);
4306 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4307 end;
4308
4309 procedure IMetadataBuilder.setOwner(status: IStatus; index: Cardinal; owner: PAnsiChar);
4310 begin
4311 MetadataBuilderVTable(vTable).setOwner(Self, status, index, owner);
4312 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4313 end;
4314
4315 procedure IMetadataBuilder.setAlias(status: IStatus; index: Cardinal; alias: PAnsiChar);
4316 begin
4317 MetadataBuilderVTable(vTable).setAlias(Self, status, index, alias);
4318 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4319 end;
4320
4321 function IResultSet.fetchNext(status: IStatus; message: Pointer): Integer;
4322 begin
4323 Result := ResultSetVTable(vTable).fetchNext(Self, status, message);
4324 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4325 end;
4326
4327 function IResultSet.fetchPrior(status: IStatus; message: Pointer): Integer;
4328 begin
4329 Result := ResultSetVTable(vTable).fetchPrior(Self, status, message);
4330 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4331 end;
4332
4333 function IResultSet.fetchFirst(status: IStatus; message: Pointer): Integer;
4334 begin
4335 Result := ResultSetVTable(vTable).fetchFirst(Self, status, message);
4336 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4337 end;
4338
4339 function IResultSet.fetchLast(status: IStatus; message: Pointer): Integer;
4340 begin
4341 Result := ResultSetVTable(vTable).fetchLast(Self, status, message);
4342 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4343 end;
4344
4345 function IResultSet.fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer;
4346 begin
4347 Result := ResultSetVTable(vTable).fetchAbsolute(Self, status, position, message);
4348 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4349 end;
4350
4351 function IResultSet.fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer;
4352 begin
4353 Result := ResultSetVTable(vTable).fetchRelative(Self, status, offset, message);
4354 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4355 end;
4356
4357 function IResultSet.isEof(status: IStatus): Boolean;
4358 begin
4359 Result := ResultSetVTable(vTable).isEof(Self, status);
4360 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4361 end;
4362
4363 function IResultSet.isBof(status: IStatus): Boolean;
4364 begin
4365 Result := ResultSetVTable(vTable).isBof(Self, status);
4366 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4367 end;
4368
4369 function IResultSet.getMetadata(status: IStatus): IMessageMetadata;
4370 begin
4371 Result := ResultSetVTable(vTable).getMetadata(Self, status);
4372 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4373 end;
4374
4375 procedure IResultSet.close(status: IStatus);
4376 begin
4377 ResultSetVTable(vTable).close(Self, status);
4378 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4379 end;
4380
4381 procedure IResultSet.setDelayedOutputFormat(status: IStatus; format: IMessageMetadata);
4382 begin
4383 ResultSetVTable(vTable).setDelayedOutputFormat(Self, status, format);
4384 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4385 end;
4386
4387 procedure IStatement.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4388 begin
4389 StatementVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4390 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4391 end;
4392
4393 function IStatement.getType(status: IStatus): Cardinal;
4394 begin
4395 Result := StatementVTable(vTable).getType(Self, status);
4396 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4397 end;
4398
4399 function IStatement.getPlan(status: IStatus; detailed: Boolean): PAnsiChar;
4400 begin
4401 Result := StatementVTable(vTable).getPlan(Self, status, detailed);
4402 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4403 end;
4404
4405 function IStatement.getAffectedRecords(status: IStatus): QWord;
4406 begin
4407 Result := StatementVTable(vTable).getAffectedRecords(Self, status);
4408 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4409 end;
4410
4411 function IStatement.getInputMetadata(status: IStatus): IMessageMetadata;
4412 begin
4413 Result := StatementVTable(vTable).getInputMetadata(Self, status);
4414 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4415 end;
4416
4417 function IStatement.getOutputMetadata(status: IStatus): IMessageMetadata;
4418 begin
4419 Result := StatementVTable(vTable).getOutputMetadata(Self, status);
4420 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4421 end;
4422
4423 function IStatement.execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
4424 begin
4425 Result := StatementVTable(vTable).execute(Self, status, transaction, inMetadata, inBuffer, outMetadata, outBuffer);
4426 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4427 end;
4428
4429 function IStatement.openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet;
4430 begin
4431 Result := StatementVTable(vTable).openCursor(Self, status, transaction, inMetadata, inBuffer, outMetadata, flags);
4432 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4433 end;
4434
4435 procedure IStatement.setCursorName(status: IStatus; name: PAnsiChar);
4436 begin
4437 StatementVTable(vTable).setCursorName(Self, status, name);
4438 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4439 end;
4440
4441 procedure IStatement.free(status: IStatus);
4442 begin
4443 StatementVTable(vTable).free(Self, status);
4444 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4445 end;
4446
4447 function IStatement.getFlags(status: IStatus): Cardinal;
4448 begin
4449 Result := StatementVTable(vTable).getFlags(Self, status);
4450 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4451 end;
4452
4453 function IStatement.getTimeout(status: IStatus): Cardinal;
4454 begin
4455 Result := StatementVTable(vTable).getTimeout(Self, status);
4456 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4457 end;
4458
4459 procedure IStatement.setTimeout(status: IStatus; timeOut: Cardinal);
4460 begin
4461 StatementVTable(vTable).setTimeout(Self, status, timeOut);
4462 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4463 end;
4464
4465 function IStatement.createBatch(status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
4466 begin
4467 Result := StatementVTable(vTable).createBatch(Self, status, inMetadata, parLength, par);
4468 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4469 end;
4470
4471 procedure IBatch.add(status: IStatus; count: Cardinal; inBuffer: Pointer);
4472 begin
4473 BatchVTable(vTable).add(Self, status, count, inBuffer);
4474 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4475 end;
4476
4477 procedure IBatch.addBlob(status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr);
4478 begin
4479 BatchVTable(vTable).addBlob(Self, status, length, inBuffer, blobId, parLength, par);
4480 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4481 end;
4482
4483 procedure IBatch.appendBlobData(status: IStatus; length: Cardinal; inBuffer: Pointer);
4484 begin
4485 BatchVTable(vTable).appendBlobData(Self, status, length, inBuffer);
4486 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4487 end;
4488
4489 procedure IBatch.addBlobStream(status: IStatus; length: Cardinal; inBuffer: Pointer);
4490 begin
4491 BatchVTable(vTable).addBlobStream(Self, status, length, inBuffer);
4492 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4493 end;
4494
4495 procedure IBatch.registerBlob(status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr);
4496 begin
4497 BatchVTable(vTable).registerBlob(Self, status, existingBlob, blobId);
4498 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4499 end;
4500
4501 function IBatch.execute(status: IStatus; transaction: ITransaction): IBatchCompletionState;
4502 begin
4503 Result := BatchVTable(vTable).execute(Self, status, transaction);
4504 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4505 end;
4506
4507 procedure IBatch.cancel(status: IStatus);
4508 begin
4509 BatchVTable(vTable).cancel(Self, status);
4510 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4511 end;
4512
4513 function IBatch.getBlobAlignment(status: IStatus): Cardinal;
4514 begin
4515 Result := BatchVTable(vTable).getBlobAlignment(Self, status);
4516 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4517 end;
4518
4519 function IBatch.getMetadata(status: IStatus): IMessageMetadata;
4520 begin
4521 Result := BatchVTable(vTable).getMetadata(Self, status);
4522 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4523 end;
4524
4525 procedure IBatch.setDefaultBpb(status: IStatus; parLength: Cardinal; par: BytePtr);
4526 begin
4527 BatchVTable(vTable).setDefaultBpb(Self, status, parLength, par);
4528 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4529 end;
4530
4531 procedure IBatch.close(status: IStatus);
4532 begin
4533 BatchVTable(vTable).close(Self, status);
4534 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4535 end;
4536
4537 function IBatchCompletionState.getSize(status: IStatus): Cardinal;
4538 begin
4539 Result := BatchCompletionStateVTable(vTable).getSize(Self, status);
4540 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4541 end;
4542
4543 function IBatchCompletionState.getState(status: IStatus; pos: Cardinal): Integer;
4544 begin
4545 Result := BatchCompletionStateVTable(vTable).getState(Self, status, pos);
4546 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4547 end;
4548
4549 function IBatchCompletionState.findError(status: IStatus; pos: Cardinal): Cardinal;
4550 begin
4551 Result := BatchCompletionStateVTable(vTable).findError(Self, status, pos);
4552 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4553 end;
4554
4555 procedure IBatchCompletionState.getStatus(status: IStatus; to_: IStatus; pos: Cardinal);
4556 begin
4557 BatchCompletionStateVTable(vTable).getStatus(Self, status, to_, pos);
4558 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4559 end;
4560
4561 procedure IReplicator.process(status: IStatus; length: Cardinal; data: BytePtr);
4562 begin
4563 ReplicatorVTable(vTable).process(Self, status, length, data);
4564 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4565 end;
4566
4567 procedure IReplicator.close(status: IStatus);
4568 begin
4569 ReplicatorVTable(vTable).close(Self, status);
4570 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4571 end;
4572
4573 procedure IRequest.receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
4574 begin
4575 RequestVTable(vTable).receive(Self, status, level, msgType, length, message);
4576 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4577 end;
4578
4579 procedure IRequest.send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
4580 begin
4581 RequestVTable(vTable).send(Self, status, level, msgType, length, message);
4582 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4583 end;
4584
4585 procedure IRequest.getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4586 begin
4587 RequestVTable(vTable).getInfo(Self, status, level, itemsLength, items, bufferLength, buffer);
4588 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4589 end;
4590
4591 procedure IRequest.start(status: IStatus; tra: ITransaction; level: Integer);
4592 begin
4593 RequestVTable(vTable).start(Self, status, tra, level);
4594 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4595 end;
4596
4597 procedure IRequest.startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer);
4598 begin
4599 RequestVTable(vTable).startAndSend(Self, status, tra, level, msgType, length, message);
4600 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4601 end;
4602
4603 procedure IRequest.unwind(status: IStatus; level: Integer);
4604 begin
4605 RequestVTable(vTable).unwind(Self, status, level);
4606 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4607 end;
4608
4609 procedure IRequest.free(status: IStatus);
4610 begin
4611 RequestVTable(vTable).free(Self, status);
4612 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4613 end;
4614
4615 procedure IEvents.cancel(status: IStatus);
4616 begin
4617 EventsVTable(vTable).cancel(Self, status);
4618 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4619 end;
4620
4621 procedure IAttachment.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4622 begin
4623 AttachmentVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
4624 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4625 end;
4626
4627 function IAttachment.startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction;
4628 begin
4629 Result := AttachmentVTable(vTable).startTransaction(Self, status, tpbLength, tpb);
4630 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4631 end;
4632
4633 function IAttachment.reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction;
4634 begin
4635 Result := AttachmentVTable(vTable).reconnectTransaction(Self, status, length, id);
4636 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4637 end;
4638
4639 function IAttachment.compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest;
4640 begin
4641 Result := AttachmentVTable(vTable).compileRequest(Self, status, blrLength, blr);
4642 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4643 end;
4644
4645 procedure IAttachment.transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr);
4646 begin
4647 AttachmentVTable(vTable).transactRequest(Self, status, transaction, blrLength, blr, inMsgLength, inMsg, outMsgLength, outMsg);
4648 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4649 end;
4650
4651 function IAttachment.createBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
4652 begin
4653 Result := AttachmentVTable(vTable).createBlob(Self, status, transaction, id, bpbLength, bpb);
4654 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4655 end;
4656
4657 function IAttachment.openBlob(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob;
4658 begin
4659 Result := AttachmentVTable(vTable).openBlob(Self, status, transaction, id, bpbLength, bpb);
4660 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4661 end;
4662
4663 function IAttachment.getSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer;
4664 begin
4665 Result := AttachmentVTable(vTable).getSlice(Self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
4666 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4667 end;
4668
4669 procedure IAttachment.putSlice(status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr);
4670 begin
4671 AttachmentVTable(vTable).putSlice(Self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
4672 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4673 end;
4674
4675 procedure IAttachment.executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr);
4676 begin
4677 AttachmentVTable(vTable).executeDyn(Self, status, transaction, length, dyn);
4678 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4679 end;
4680
4681 function IAttachment.prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement;
4682 begin
4683 Result := AttachmentVTable(vTable).prepare(Self, status, tra, stmtLength, sqlStmt, dialect, flags);
4684 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4685 end;
4686
4687 function IAttachment.execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
4688 begin
4689 Result := AttachmentVTable(vTable).execute(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer);
4690 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4691 end;
4692
4693 function IAttachment.openCursor(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet;
4694 begin
4695 Result := AttachmentVTable(vTable).openCursor(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags);
4696 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4697 end;
4698
4699 function IAttachment.queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents;
4700 begin
4701 Result := AttachmentVTable(vTable).queEvents(Self, status, callback, length, events);
4702 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4703 end;
4704
4705 procedure IAttachment.cancelOperation(status: IStatus; option: Integer);
4706 begin
4707 AttachmentVTable(vTable).cancelOperation(Self, status, option);
4708 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4709 end;
4710
4711 procedure IAttachment.ping(status: IStatus);
4712 begin
4713 AttachmentVTable(vTable).ping(Self, status);
4714 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4715 end;
4716
4717 procedure IAttachment.detach(status: IStatus);
4718 begin
4719 AttachmentVTable(vTable).detach(Self, status);
4720 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4721 end;
4722
4723 procedure IAttachment.dropDatabase(status: IStatus);
4724 begin
4725 AttachmentVTable(vTable).dropDatabase(Self, status);
4726 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4727 end;
4728
4729 function IAttachment.getIdleTimeout(status: IStatus): Cardinal;
4730 begin
4731 Result := AttachmentVTable(vTable).getIdleTimeout(Self, status);
4732 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4733 end;
4734
4735 procedure IAttachment.setIdleTimeout(status: IStatus; timeOut: Cardinal);
4736 begin
4737 AttachmentVTable(vTable).setIdleTimeout(Self, status, timeOut);
4738 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4739 end;
4740
4741 function IAttachment.getStatementTimeout(status: IStatus): Cardinal;
4742 begin
4743 Result := AttachmentVTable(vTable).getStatementTimeout(Self, status);
4744 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4745 end;
4746
4747 procedure IAttachment.setStatementTimeout(status: IStatus; timeOut: Cardinal);
4748 begin
4749 AttachmentVTable(vTable).setStatementTimeout(Self, status, timeOut);
4750 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4751 end;
4752
4753 function IAttachment.createBatch(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch;
4754 begin
4755 Result := AttachmentVTable(vTable).createBatch(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, parLength, par);
4756 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4757 end;
4758
4759 function IAttachment.createReplicator(status: IStatus): IReplicator;
4760 begin
4761 Result := AttachmentVTable(vTable).createReplicator(Self, status);
4762 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4763 end;
4764
4765 procedure IService.detach(status: IStatus);
4766 begin
4767 ServiceVTable(vTable).detach(Self, status);
4768 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4769 end;
4770
4771 procedure IService.query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
4772 begin
4773 ServiceVTable(vTable).query(Self, status, sendLength, sendItems, receiveLength, receiveItems, bufferLength, buffer);
4774 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4775 end;
4776
4777 procedure IService.start(status: IStatus; spbLength: Cardinal; spb: BytePtr);
4778 begin
4779 ServiceVTable(vTable).start(Self, status, spbLength, spb);
4780 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4781 end;
4782
4783 function IProvider.attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
4784 begin
4785 Result := ProviderVTable(vTable).attachDatabase(Self, status, fileName, dpbLength, dpb);
4786 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4787 end;
4788
4789 function IProvider.createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
4790 begin
4791 Result := ProviderVTable(vTable).createDatabase(Self, status, fileName, dpbLength, dpb);
4792 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4793 end;
4794
4795 function IProvider.attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService;
4796 begin
4797 Result := ProviderVTable(vTable).attachServiceManager(Self, status, service, spbLength, spb);
4798 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4799 end;
4800
4801 procedure IProvider.shutdown(status: IStatus; timeout: Cardinal; reason: Integer);
4802 begin
4803 ProviderVTable(vTable).shutdown(Self, status, timeout, reason);
4804 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4805 end;
4806
4807 procedure IProvider.setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
4808 begin
4809 ProviderVTable(vTable).setDbCryptCallback(Self, status, cryptCallback);
4810 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4811 end;
4812
4813 procedure IDtcStart.addAttachment(status: IStatus; att: IAttachment);
4814 begin
4815 DtcStartVTable(vTable).addAttachment(Self, status, att);
4816 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4817 end;
4818
4819 procedure IDtcStart.addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr);
4820 begin
4821 DtcStartVTable(vTable).addWithTpb(Self, status, att, length, tpb);
4822 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4823 end;
4824
4825 function IDtcStart.start(status: IStatus): ITransaction;
4826 begin
4827 Result := DtcStartVTable(vTable).start(Self, status);
4828 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4829 end;
4830
4831 function IDtc.join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction;
4832 begin
4833 Result := DtcVTable(vTable).join(Self, status, one, two);
4834 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4835 end;
4836
4837 function IDtc.startBuilder(status: IStatus): IDtcStart;
4838 begin
4839 Result := DtcVTable(vTable).startBuilder(Self, status);
4840 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4841 end;
4842
4843 procedure IWriter.reset();
4844 begin
4845 WriterVTable(vTable).reset(Self);
4846 end;
4847
4848 procedure IWriter.add(status: IStatus; name: PAnsiChar);
4849 begin
4850 WriterVTable(vTable).add(Self, status, name);
4851 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4852 end;
4853
4854 procedure IWriter.setType(status: IStatus; value: PAnsiChar);
4855 begin
4856 WriterVTable(vTable).setType(Self, status, value);
4857 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4858 end;
4859
4860 procedure IWriter.setDb(status: IStatus; value: PAnsiChar);
4861 begin
4862 WriterVTable(vTable).setDb(Self, status, value);
4863 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4864 end;
4865
4866 function IServerBlock.getLogin(): PAnsiChar;
4867 begin
4868 Result := ServerBlockVTable(vTable).getLogin(Self);
4869 end;
4870
4871 function IServerBlock.getData(length: CardinalPtr): BytePtr;
4872 begin
4873 Result := ServerBlockVTable(vTable).getData(Self, length);
4874 end;
4875
4876 procedure IServerBlock.putData(status: IStatus; length: Cardinal; data: Pointer);
4877 begin
4878 ServerBlockVTable(vTable).putData(Self, status, length, data);
4879 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4880 end;
4881
4882 function IServerBlock.newKey(status: IStatus): ICryptKey;
4883 begin
4884 Result := ServerBlockVTable(vTable).newKey(Self, status);
4885 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4886 end;
4887
4888 function IClientBlock.getLogin(): PAnsiChar;
4889 begin
4890 Result := ClientBlockVTable(vTable).getLogin(Self);
4891 end;
4892
4893 function IClientBlock.getPassword(): PAnsiChar;
4894 begin
4895 Result := ClientBlockVTable(vTable).getPassword(Self);
4896 end;
4897
4898 function IClientBlock.getData(length: CardinalPtr): BytePtr;
4899 begin
4900 Result := ClientBlockVTable(vTable).getData(Self, length);
4901 end;
4902
4903 procedure IClientBlock.putData(status: IStatus; length: Cardinal; data: Pointer);
4904 begin
4905 ClientBlockVTable(vTable).putData(Self, status, length, data);
4906 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4907 end;
4908
4909 function IClientBlock.newKey(status: IStatus): ICryptKey;
4910 begin
4911 Result := ClientBlockVTable(vTable).newKey(Self, status);
4912 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4913 end;
4914
4915 function IClientBlock.getAuthBlock(status: IStatus): IAuthBlock;
4916 begin
4917 Result := ClientBlockVTable(vTable).getAuthBlock(Self, status);
4918 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4919 end;
4920
4921 function IServer.authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer;
4922 begin
4923 Result := ServerVTable(vTable).authenticate(Self, status, sBlock, writerInterface);
4924 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4925 end;
4926
4927 procedure IServer.setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
4928 begin
4929 ServerVTable(vTable).setDbCryptCallback(Self, status, cryptCallback);
4930 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4931 end;
4932
4933 function IClient.authenticate(status: IStatus; cBlock: IClientBlock): Integer;
4934 begin
4935 Result := ClientVTable(vTable).authenticate(Self, status, cBlock);
4936 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4937 end;
4938
4939 function IUserField.entered(): Integer;
4940 begin
4941 Result := UserFieldVTable(vTable).entered(Self);
4942 end;
4943
4944 function IUserField.specified(): Integer;
4945 begin
4946 Result := UserFieldVTable(vTable).specified(Self);
4947 end;
4948
4949 procedure IUserField.setEntered(status: IStatus; newValue: Integer);
4950 begin
4951 UserFieldVTable(vTable).setEntered(Self, status, newValue);
4952 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4953 end;
4954
4955 function ICharUserField.get(): PAnsiChar;
4956 begin
4957 Result := CharUserFieldVTable(vTable).get(Self);
4958 end;
4959
4960 procedure ICharUserField.set_(status: IStatus; newValue: PAnsiChar);
4961 begin
4962 CharUserFieldVTable(vTable).set_(Self, status, newValue);
4963 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4964 end;
4965
4966 function IIntUserField.get(): Integer;
4967 begin
4968 Result := IntUserFieldVTable(vTable).get(Self);
4969 end;
4970
4971 procedure IIntUserField.set_(status: IStatus; newValue: Integer);
4972 begin
4973 IntUserFieldVTable(vTable).set_(Self, status, newValue);
4974 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
4975 end;
4976
4977 function IUser.operation(): Cardinal;
4978 begin
4979 Result := UserVTable(vTable).operation(Self);
4980 end;
4981
4982 function IUser.userName(): ICharUserField;
4983 begin
4984 Result := UserVTable(vTable).userName(Self);
4985 end;
4986
4987 function IUser.password(): ICharUserField;
4988 begin
4989 Result := UserVTable(vTable).password(Self);
4990 end;
4991
4992 function IUser.firstName(): ICharUserField;
4993 begin
4994 Result := UserVTable(vTable).firstName(Self);
4995 end;
4996
4997 function IUser.lastName(): ICharUserField;
4998 begin
4999 Result := UserVTable(vTable).lastName(Self);
5000 end;
5001
5002 function IUser.middleName(): ICharUserField;
5003 begin
5004 Result := UserVTable(vTable).middleName(Self);
5005 end;
5006
5007 function IUser.comment(): ICharUserField;
5008 begin
5009 Result := UserVTable(vTable).comment(Self);
5010 end;
5011
5012 function IUser.attributes(): ICharUserField;
5013 begin
5014 Result := UserVTable(vTable).attributes(Self);
5015 end;
5016
5017 function IUser.active(): IIntUserField;
5018 begin
5019 Result := UserVTable(vTable).active(Self);
5020 end;
5021
5022 function IUser.admin(): IIntUserField;
5023 begin
5024 Result := UserVTable(vTable).admin(Self);
5025 end;
5026
5027 procedure IUser.clear(status: IStatus);
5028 begin
5029 UserVTable(vTable).clear(Self, status);
5030 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5031 end;
5032
5033 procedure IListUsers.list(status: IStatus; user: IUser);
5034 begin
5035 ListUsersVTable(vTable).list(Self, status, user);
5036 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5037 end;
5038
5039 function ILogonInfo.name(): PAnsiChar;
5040 begin
5041 Result := LogonInfoVTable(vTable).name(Self);
5042 end;
5043
5044 function ILogonInfo.role(): PAnsiChar;
5045 begin
5046 Result := LogonInfoVTable(vTable).role(Self);
5047 end;
5048
5049 function ILogonInfo.networkProtocol(): PAnsiChar;
5050 begin
5051 Result := LogonInfoVTable(vTable).networkProtocol(Self);
5052 end;
5053
5054 function ILogonInfo.remoteAddress(): PAnsiChar;
5055 begin
5056 Result := LogonInfoVTable(vTable).remoteAddress(Self);
5057 end;
5058
5059 function ILogonInfo.authBlock(length: CardinalPtr): BytePtr;
5060 begin
5061 Result := LogonInfoVTable(vTable).authBlock(Self, length);
5062 end;
5063
5064 function ILogonInfo.attachment(status: IStatus): IAttachment;
5065 begin
5066 Result := LogonInfoVTable(vTable).attachment(Self, status);
5067 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5068 end;
5069
5070 function ILogonInfo.transaction(status: IStatus): ITransaction;
5071 begin
5072 Result := LogonInfoVTable(vTable).transaction(Self, status);
5073 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5074 end;
5075
5076 procedure IManagement.start(status: IStatus; logonInfo: ILogonInfo);
5077 begin
5078 ManagementVTable(vTable).start(Self, status, logonInfo);
5079 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5080 end;
5081
5082 function IManagement.execute(status: IStatus; user: IUser; callback: IListUsers): Integer;
5083 begin
5084 Result := ManagementVTable(vTable).execute(Self, status, user, callback);
5085 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5086 end;
5087
5088 procedure IManagement.commit(status: IStatus);
5089 begin
5090 ManagementVTable(vTable).commit(Self, status);
5091 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5092 end;
5093
5094 procedure IManagement.rollback(status: IStatus);
5095 begin
5096 ManagementVTable(vTable).rollback(Self, status);
5097 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5098 end;
5099
5100 function IAuthBlock.getType(): PAnsiChar;
5101 begin
5102 Result := AuthBlockVTable(vTable).getType(Self);
5103 end;
5104
5105 function IAuthBlock.getName(): PAnsiChar;
5106 begin
5107 Result := AuthBlockVTable(vTable).getName(Self);
5108 end;
5109
5110 function IAuthBlock.getPlugin(): PAnsiChar;
5111 begin
5112 Result := AuthBlockVTable(vTable).getPlugin(Self);
5113 end;
5114
5115 function IAuthBlock.getSecurityDb(): PAnsiChar;
5116 begin
5117 Result := AuthBlockVTable(vTable).getSecurityDb(Self);
5118 end;
5119
5120 function IAuthBlock.getOriginalPlugin(): PAnsiChar;
5121 begin
5122 Result := AuthBlockVTable(vTable).getOriginalPlugin(Self);
5123 end;
5124
5125 function IAuthBlock.next(status: IStatus): Boolean;
5126 begin
5127 Result := AuthBlockVTable(vTable).next(Self, status);
5128 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5129 end;
5130
5131 function IAuthBlock.first(status: IStatus): Boolean;
5132 begin
5133 Result := AuthBlockVTable(vTable).first(Self, status);
5134 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5135 end;
5136
5137 function IWireCryptPlugin.getKnownTypes(status: IStatus): PAnsiChar;
5138 begin
5139 Result := WireCryptPluginVTable(vTable).getKnownTypes(Self, status);
5140 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5141 end;
5142
5143 procedure IWireCryptPlugin.setKey(status: IStatus; key: ICryptKey);
5144 begin
5145 WireCryptPluginVTable(vTable).setKey(Self, status, key);
5146 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5147 end;
5148
5149 procedure IWireCryptPlugin.encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5150 begin
5151 WireCryptPluginVTable(vTable).encrypt(Self, status, length, from, to_);
5152 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5153 end;
5154
5155 procedure IWireCryptPlugin.decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5156 begin
5157 WireCryptPluginVTable(vTable).decrypt(Self, status, length, from, to_);
5158 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5159 end;
5160
5161 function IWireCryptPlugin.getSpecificData(status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr;
5162 begin
5163 Result := WireCryptPluginVTable(vTable).getSpecificData(Self, status, keyType, length);
5164 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5165 end;
5166
5167 procedure IWireCryptPlugin.setSpecificData(status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr);
5168 begin
5169 WireCryptPluginVTable(vTable).setSpecificData(Self, status, keyType, length, data);
5170 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5171 end;
5172
5173 function ICryptKeyCallback.callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal;
5174 begin
5175 Result := CryptKeyCallbackVTable(vTable).callback(Self, dataLength, data, bufferLength, buffer);
5176 end;
5177
5178 function IKeyHolderPlugin.keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer;
5179 begin
5180 Result := KeyHolderPluginVTable(vTable).keyCallback(Self, status, callback);
5181 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5182 end;
5183
5184 function IKeyHolderPlugin.keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback;
5185 begin
5186 Result := KeyHolderPluginVTable(vTable).keyHandle(Self, status, keyName);
5187 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5188 end;
5189
5190 function IKeyHolderPlugin.useOnlyOwnKeys(status: IStatus): Boolean;
5191 begin
5192 Result := KeyHolderPluginVTable(vTable).useOnlyOwnKeys(Self, status);
5193 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5194 end;
5195
5196 function IKeyHolderPlugin.chainHandle(status: IStatus): ICryptKeyCallback;
5197 begin
5198 Result := KeyHolderPluginVTable(vTable).chainHandle(Self, status);
5199 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5200 end;
5201
5202 function IDbCryptInfo.getDatabaseFullPath(status: IStatus): PAnsiChar;
5203 begin
5204 Result := DbCryptInfoVTable(vTable).getDatabaseFullPath(Self, status);
5205 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5206 end;
5207
5208 procedure IDbCryptPlugin.setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar);
5209 begin
5210 DbCryptPluginVTable(vTable).setKey(Self, status, length, sources, keyName);
5211 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5212 end;
5213
5214 procedure IDbCryptPlugin.encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5215 begin
5216 DbCryptPluginVTable(vTable).encrypt(Self, status, length, from, to_);
5217 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5218 end;
5219
5220 procedure IDbCryptPlugin.decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5221 begin
5222 DbCryptPluginVTable(vTable).decrypt(Self, status, length, from, to_);
5223 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5224 end;
5225
5226 procedure IDbCryptPlugin.setInfo(status: IStatus; info: IDbCryptInfo);
5227 begin
5228 DbCryptPluginVTable(vTable).setInfo(Self, status, info);
5229 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5230 end;
5231
5232 function IExternalContext.getMaster(): IMaster;
5233 begin
5234 Result := ExternalContextVTable(vTable).getMaster(Self);
5235 end;
5236
5237 function IExternalContext.getEngine(status: IStatus): IExternalEngine;
5238 begin
5239 Result := ExternalContextVTable(vTable).getEngine(Self, status);
5240 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5241 end;
5242
5243 function IExternalContext.getAttachment(status: IStatus): IAttachment;
5244 begin
5245 Result := ExternalContextVTable(vTable).getAttachment(Self, status);
5246 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5247 end;
5248
5249 function IExternalContext.getTransaction(status: IStatus): ITransaction;
5250 begin
5251 Result := ExternalContextVTable(vTable).getTransaction(Self, status);
5252 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5253 end;
5254
5255 function IExternalContext.getUserName(): PAnsiChar;
5256 begin
5257 Result := ExternalContextVTable(vTable).getUserName(Self);
5258 end;
5259
5260 function IExternalContext.getDatabaseName(): PAnsiChar;
5261 begin
5262 Result := ExternalContextVTable(vTable).getDatabaseName(Self);
5263 end;
5264
5265 function IExternalContext.getClientCharSet(): PAnsiChar;
5266 begin
5267 Result := ExternalContextVTable(vTable).getClientCharSet(Self);
5268 end;
5269
5270 function IExternalContext.obtainInfoCode(): Integer;
5271 begin
5272 Result := ExternalContextVTable(vTable).obtainInfoCode(Self);
5273 end;
5274
5275 function IExternalContext.getInfo(code: Integer): Pointer;
5276 begin
5277 Result := ExternalContextVTable(vTable).getInfo(Self, code);
5278 end;
5279
5280 function IExternalContext.setInfo(code: Integer; value: Pointer): Pointer;
5281 begin
5282 Result := ExternalContextVTable(vTable).setInfo(Self, code, value);
5283 end;
5284
5285 function IExternalResultSet.fetch(status: IStatus): Boolean;
5286 begin
5287 Result := ExternalResultSetVTable(vTable).fetch(Self, status);
5288 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5289 end;
5290
5291 procedure IExternalFunction.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
5292 begin
5293 ExternalFunctionVTable(vTable).getCharSet(Self, status, context, name, nameSize);
5294 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5295 end;
5296
5297 procedure IExternalFunction.execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer);
5298 begin
5299 ExternalFunctionVTable(vTable).execute(Self, status, context, inMsg, outMsg);
5300 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5301 end;
5302
5303 procedure IExternalProcedure.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
5304 begin
5305 ExternalProcedureVTable(vTable).getCharSet(Self, status, context, name, nameSize);
5306 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5307 end;
5308
5309 function IExternalProcedure.open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet;
5310 begin
5311 Result := ExternalProcedureVTable(vTable).open(Self, status, context, inMsg, outMsg);
5312 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5313 end;
5314
5315 procedure IExternalTrigger.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
5316 begin
5317 ExternalTriggerVTable(vTable).getCharSet(Self, status, context, name, nameSize);
5318 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5319 end;
5320
5321 procedure IExternalTrigger.execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer);
5322 begin
5323 ExternalTriggerVTable(vTable).execute(Self, status, context, action, oldMsg, newMsg);
5324 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5325 end;
5326
5327 function IRoutineMetadata.getPackage(status: IStatus): PAnsiChar;
5328 begin
5329 Result := RoutineMetadataVTable(vTable).getPackage(Self, status);
5330 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5331 end;
5332
5333 function IRoutineMetadata.getName(status: IStatus): PAnsiChar;
5334 begin
5335 Result := RoutineMetadataVTable(vTable).getName(Self, status);
5336 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5337 end;
5338
5339 function IRoutineMetadata.getEntryPoint(status: IStatus): PAnsiChar;
5340 begin
5341 Result := RoutineMetadataVTable(vTable).getEntryPoint(Self, status);
5342 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5343 end;
5344
5345 function IRoutineMetadata.getBody(status: IStatus): PAnsiChar;
5346 begin
5347 Result := RoutineMetadataVTable(vTable).getBody(Self, status);
5348 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5349 end;
5350
5351 function IRoutineMetadata.getInputMetadata(status: IStatus): IMessageMetadata;
5352 begin
5353 Result := RoutineMetadataVTable(vTable).getInputMetadata(Self, status);
5354 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5355 end;
5356
5357 function IRoutineMetadata.getOutputMetadata(status: IStatus): IMessageMetadata;
5358 begin
5359 Result := RoutineMetadataVTable(vTable).getOutputMetadata(Self, status);
5360 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5361 end;
5362
5363 function IRoutineMetadata.getTriggerMetadata(status: IStatus): IMessageMetadata;
5364 begin
5365 Result := RoutineMetadataVTable(vTable).getTriggerMetadata(Self, status);
5366 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5367 end;
5368
5369 function IRoutineMetadata.getTriggerTable(status: IStatus): PAnsiChar;
5370 begin
5371 Result := RoutineMetadataVTable(vTable).getTriggerTable(Self, status);
5372 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5373 end;
5374
5375 function IRoutineMetadata.getTriggerType(status: IStatus): Cardinal;
5376 begin
5377 Result := RoutineMetadataVTable(vTable).getTriggerType(Self, status);
5378 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5379 end;
5380
5381 procedure IExternalEngine.open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal);
5382 begin
5383 ExternalEngineVTable(vTable).open(Self, status, context, charSet, charSetSize);
5384 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5385 end;
5386
5387 procedure IExternalEngine.openAttachment(status: IStatus; context: IExternalContext);
5388 begin
5389 ExternalEngineVTable(vTable).openAttachment(Self, status, context);
5390 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5391 end;
5392
5393 procedure IExternalEngine.closeAttachment(status: IStatus; context: IExternalContext);
5394 begin
5395 ExternalEngineVTable(vTable).closeAttachment(Self, status, context);
5396 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5397 end;
5398
5399 function IExternalEngine.makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction;
5400 begin
5401 Result := ExternalEngineVTable(vTable).makeFunction(Self, status, context, metadata, inBuilder, outBuilder);
5402 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5403 end;
5404
5405 function IExternalEngine.makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure;
5406 begin
5407 Result := ExternalEngineVTable(vTable).makeProcedure(Self, status, context, metadata, inBuilder, outBuilder);
5408 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5409 end;
5410
5411 function IExternalEngine.makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger;
5412 begin
5413 Result := ExternalEngineVTable(vTable).makeTrigger(Self, status, context, metadata, fieldsBuilder);
5414 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5415 end;
5416
5417 procedure ITimer.handler();
5418 begin
5419 TimerVTable(vTable).handler(Self);
5420 end;
5421
5422 procedure ITimerControl.start(status: IStatus; timer: ITimer; microSeconds: QWord);
5423 begin
5424 TimerControlVTable(vTable).start(Self, status, timer, microSeconds);
5425 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5426 end;
5427
5428 procedure ITimerControl.stop(status: IStatus; timer: ITimer);
5429 begin
5430 TimerControlVTable(vTable).stop(Self, status, timer);
5431 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5432 end;
5433
5434 procedure IVersionCallback.callback(status: IStatus; text: PAnsiChar);
5435 begin
5436 VersionCallbackVTable(vTable).callback(Self, status, text);
5437 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5438 end;
5439
5440 procedure IUtil.getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback);
5441 begin
5442 UtilVTable(vTable).getFbVersion(Self, status, att, callback);
5443 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5444 end;
5445
5446 procedure IUtil.loadBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
5447 begin
5448 UtilVTable(vTable).loadBlob(Self, status, blobId, att, tra, file_, txt);
5449 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5450 end;
5451
5452 procedure IUtil.dumpBlob(status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
5453 begin
5454 UtilVTable(vTable).dumpBlob(Self, status, blobId, att, tra, file_, txt);
5455 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5456 end;
5457
5458 procedure IUtil.getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr);
5459 begin
5460 UtilVTable(vTable).getPerfCounters(Self, status, att, countersSet, counters);
5461 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5462 end;
5463
5464 function IUtil.executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment;
5465 begin
5466 Result := UtilVTable(vTable).executeCreateDatabase(Self, status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb);
5467 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5468 end;
5469
5470 procedure IUtil.decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr);
5471 begin
5472 UtilVTable(vTable).decodeDate(Self, date, year, month, day);
5473 end;
5474
5475 procedure IUtil.decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr);
5476 begin
5477 UtilVTable(vTable).decodeTime(Self, time, hours, minutes, seconds, fractions);
5478 end;
5479
5480 function IUtil.encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE;
5481 begin
5482 Result := UtilVTable(vTable).encodeDate(Self, year, month, day);
5483 end;
5484
5485 function IUtil.encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME;
5486 begin
5487 Result := UtilVTable(vTable).encodeTime(Self, hours, minutes, seconds, fractions);
5488 end;
5489
5490 function IUtil.formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal;
5491 begin
5492 Result := UtilVTable(vTable).formatStatus(Self, buffer, bufferSize, status);
5493 end;
5494
5495 function IUtil.getClientVersion(): Cardinal;
5496 begin
5497 Result := UtilVTable(vTable).getClientVersion(Self);
5498 end;
5499
5500 function IUtil.getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder;
5501 begin
5502 Result := UtilVTable(vTable).getXpbBuilder(Self, status, kind, buf, len);
5503 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5504 end;
5505
5506 function IUtil.setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal;
5507 begin
5508 Result := UtilVTable(vTable).setOffsets(Self, status, metadata, callback);
5509 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5510 end;
5511
5512 function IUtil.getDecFloat16(status: IStatus): IDecFloat16;
5513 begin
5514 Result := UtilVTable(vTable).getDecFloat16(Self, status);
5515 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5516 end;
5517
5518 function IUtil.getDecFloat34(status: IStatus): IDecFloat34;
5519 begin
5520 Result := UtilVTable(vTable).getDecFloat34(Self, status);
5521 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5522 end;
5523
5524 procedure IUtil.decodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
5525 begin
5526 UtilVTable(vTable).decodeTimeTz(Self, status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5527 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5528 end;
5529
5530 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);
5531 begin
5532 UtilVTable(vTable).decodeTimeStampTz(Self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5533 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5534 end;
5535
5536 procedure IUtil.encodeTimeTz(status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar);
5537 begin
5538 UtilVTable(vTable).encodeTimeTz(Self, status, timeTz, hours, minutes, seconds, fractions, timeZone);
5539 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5540 end;
5541
5542 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);
5543 begin
5544 UtilVTable(vTable).encodeTimeStampTz(Self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZone);
5545 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5546 end;
5547
5548 function IUtil.getInt128(status: IStatus): IInt128;
5549 begin
5550 Result := UtilVTable(vTable).getInt128(Self, status);
5551 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5552 end;
5553
5554 procedure IUtil.decodeTimeTzEx(status: IStatus; timeTz: ISC_TIME_TZ_EXPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar);
5555 begin
5556 UtilVTable(vTable).decodeTimeTzEx(Self, status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5557 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5558 end;
5559
5560 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);
5561 begin
5562 UtilVTable(vTable).decodeTimeStampTzEx(Self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
5563 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5564 end;
5565
5566 procedure IOffsetsCallback.setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal);
5567 begin
5568 OffsetsCallbackVTable(vTable).setOffset(Self, status, index, offset, nullOffset);
5569 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5570 end;
5571
5572 procedure IXpbBuilder.clear(status: IStatus);
5573 begin
5574 XpbBuilderVTable(vTable).clear(Self, status);
5575 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5576 end;
5577
5578 procedure IXpbBuilder.removeCurrent(status: IStatus);
5579 begin
5580 XpbBuilderVTable(vTable).removeCurrent(Self, status);
5581 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5582 end;
5583
5584 procedure IXpbBuilder.insertInt(status: IStatus; tag: Byte; value: Integer);
5585 begin
5586 XpbBuilderVTable(vTable).insertInt(Self, status, tag, value);
5587 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5588 end;
5589
5590 procedure IXpbBuilder.insertBigInt(status: IStatus; tag: Byte; value: Int64);
5591 begin
5592 XpbBuilderVTable(vTable).insertBigInt(Self, status, tag, value);
5593 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5594 end;
5595
5596 procedure IXpbBuilder.insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal);
5597 begin
5598 XpbBuilderVTable(vTable).insertBytes(Self, status, tag, bytes, length);
5599 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5600 end;
5601
5602 procedure IXpbBuilder.insertString(status: IStatus; tag: Byte; str: PAnsiChar);
5603 begin
5604 XpbBuilderVTable(vTable).insertString(Self, status, tag, str);
5605 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5606 end;
5607
5608 procedure IXpbBuilder.insertTag(status: IStatus; tag: Byte);
5609 begin
5610 XpbBuilderVTable(vTable).insertTag(Self, status, tag);
5611 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5612 end;
5613
5614 function IXpbBuilder.isEof(status: IStatus): Boolean;
5615 begin
5616 Result := XpbBuilderVTable(vTable).isEof(Self, status);
5617 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5618 end;
5619
5620 procedure IXpbBuilder.moveNext(status: IStatus);
5621 begin
5622 XpbBuilderVTable(vTable).moveNext(Self, status);
5623 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5624 end;
5625
5626 procedure IXpbBuilder.rewind(status: IStatus);
5627 begin
5628 XpbBuilderVTable(vTable).rewind(Self, status);
5629 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5630 end;
5631
5632 function IXpbBuilder.findFirst(status: IStatus; tag: Byte): Boolean;
5633 begin
5634 Result := XpbBuilderVTable(vTable).findFirst(Self, status, tag);
5635 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5636 end;
5637
5638 function IXpbBuilder.findNext(status: IStatus): Boolean;
5639 begin
5640 Result := XpbBuilderVTable(vTable).findNext(Self, status);
5641 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5642 end;
5643
5644 function IXpbBuilder.getTag(status: IStatus): Byte;
5645 begin
5646 Result := XpbBuilderVTable(vTable).getTag(Self, status);
5647 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5648 end;
5649
5650 function IXpbBuilder.getLength(status: IStatus): Cardinal;
5651 begin
5652 Result := XpbBuilderVTable(vTable).getLength(Self, status);
5653 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5654 end;
5655
5656 function IXpbBuilder.getInt(status: IStatus): Integer;
5657 begin
5658 Result := XpbBuilderVTable(vTable).getInt(Self, status);
5659 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5660 end;
5661
5662 function IXpbBuilder.getBigInt(status: IStatus): Int64;
5663 begin
5664 Result := XpbBuilderVTable(vTable).getBigInt(Self, status);
5665 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5666 end;
5667
5668 function IXpbBuilder.getString(status: IStatus): PAnsiChar;
5669 begin
5670 Result := XpbBuilderVTable(vTable).getString(Self, status);
5671 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5672 end;
5673
5674 function IXpbBuilder.getBytes(status: IStatus): BytePtr;
5675 begin
5676 Result := XpbBuilderVTable(vTable).getBytes(Self, status);
5677 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5678 end;
5679
5680 function IXpbBuilder.getBufferLength(status: IStatus): Cardinal;
5681 begin
5682 Result := XpbBuilderVTable(vTable).getBufferLength(Self, status);
5683 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5684 end;
5685
5686 function IXpbBuilder.getBuffer(status: IStatus): BytePtr;
5687 begin
5688 Result := XpbBuilderVTable(vTable).getBuffer(Self, status);
5689 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5690 end;
5691
5692 function ITraceConnection.getKind(): Cardinal;
5693 begin
5694 Result := TraceConnectionVTable(vTable).getKind(Self);
5695 end;
5696
5697 function ITraceConnection.getProcessID(): Integer;
5698 begin
5699 Result := TraceConnectionVTable(vTable).getProcessID(Self);
5700 end;
5701
5702 function ITraceConnection.getUserName(): PAnsiChar;
5703 begin
5704 Result := TraceConnectionVTable(vTable).getUserName(Self);
5705 end;
5706
5707 function ITraceConnection.getRoleName(): PAnsiChar;
5708 begin
5709 Result := TraceConnectionVTable(vTable).getRoleName(Self);
5710 end;
5711
5712 function ITraceConnection.getCharSet(): PAnsiChar;
5713 begin
5714 Result := TraceConnectionVTable(vTable).getCharSet(Self);
5715 end;
5716
5717 function ITraceConnection.getRemoteProtocol(): PAnsiChar;
5718 begin
5719 Result := TraceConnectionVTable(vTable).getRemoteProtocol(Self);
5720 end;
5721
5722 function ITraceConnection.getRemoteAddress(): PAnsiChar;
5723 begin
5724 Result := TraceConnectionVTable(vTable).getRemoteAddress(Self);
5725 end;
5726
5727 function ITraceConnection.getRemoteProcessID(): Integer;
5728 begin
5729 Result := TraceConnectionVTable(vTable).getRemoteProcessID(Self);
5730 end;
5731
5732 function ITraceConnection.getRemoteProcessName(): PAnsiChar;
5733 begin
5734 Result := TraceConnectionVTable(vTable).getRemoteProcessName(Self);
5735 end;
5736
5737 function ITraceDatabaseConnection.getConnectionID(): Int64;
5738 begin
5739 Result := TraceDatabaseConnectionVTable(vTable).getConnectionID(Self);
5740 end;
5741
5742 function ITraceDatabaseConnection.getDatabaseName(): PAnsiChar;
5743 begin
5744 Result := TraceDatabaseConnectionVTable(vTable).getDatabaseName(Self);
5745 end;
5746
5747 function ITraceTransaction.getTransactionID(): Int64;
5748 begin
5749 Result := TraceTransactionVTable(vTable).getTransactionID(Self);
5750 end;
5751
5752 function ITraceTransaction.getReadOnly(): Boolean;
5753 begin
5754 Result := TraceTransactionVTable(vTable).getReadOnly(Self);
5755 end;
5756
5757 function ITraceTransaction.getWait(): Integer;
5758 begin
5759 Result := TraceTransactionVTable(vTable).getWait(Self);
5760 end;
5761
5762 function ITraceTransaction.getIsolation(): Cardinal;
5763 begin
5764 Result := TraceTransactionVTable(vTable).getIsolation(Self);
5765 end;
5766
5767 function ITraceTransaction.getPerf(): PerformanceInfoPtr;
5768 begin
5769 Result := TraceTransactionVTable(vTable).getPerf(Self);
5770 end;
5771
5772 function ITraceTransaction.getInitialID(): Int64;
5773 begin
5774 Result := TraceTransactionVTable(vTable).getInitialID(Self);
5775 end;
5776
5777 function ITraceTransaction.getPreviousID(): Int64;
5778 begin
5779 Result := TraceTransactionVTable(vTable).getPreviousID(Self);
5780 end;
5781
5782 function ITraceParams.getCount(): Cardinal;
5783 begin
5784 Result := TraceParamsVTable(vTable).getCount(Self);
5785 end;
5786
5787 function ITraceParams.getParam(idx: Cardinal): dscPtr;
5788 begin
5789 Result := TraceParamsVTable(vTable).getParam(Self, idx);
5790 end;
5791
5792 function ITraceParams.getTextUTF8(status: IStatus; idx: Cardinal): PAnsiChar;
5793 begin
5794 Result := TraceParamsVTable(vTable).getTextUTF8(Self, status, idx);
5795 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
5796 end;
5797
5798 function ITraceStatement.getStmtID(): Int64;
5799 begin
5800 Result := TraceStatementVTable(vTable).getStmtID(Self);
5801 end;
5802
5803 function ITraceStatement.getPerf(): PerformanceInfoPtr;
5804 begin
5805 Result := TraceStatementVTable(vTable).getPerf(Self);
5806 end;
5807
5808 function ITraceSQLStatement.getText(): PAnsiChar;
5809 begin
5810 Result := TraceSQLStatementVTable(vTable).getText(Self);
5811 end;
5812
5813 function ITraceSQLStatement.getPlan(): PAnsiChar;
5814 begin
5815 Result := TraceSQLStatementVTable(vTable).getPlan(Self);
5816 end;
5817
5818 function ITraceSQLStatement.getInputs(): ITraceParams;
5819 begin
5820 Result := TraceSQLStatementVTable(vTable).getInputs(Self);
5821 end;
5822
5823 function ITraceSQLStatement.getTextUTF8(): PAnsiChar;
5824 begin
5825 Result := TraceSQLStatementVTable(vTable).getTextUTF8(Self);
5826 end;
5827
5828 function ITraceSQLStatement.getExplainedPlan(): PAnsiChar;
5829 begin
5830 Result := TraceSQLStatementVTable(vTable).getExplainedPlan(Self);
5831 end;
5832
5833 function ITraceBLRStatement.getData(): BytePtr;
5834 begin
5835 Result := TraceBLRStatementVTable(vTable).getData(Self);
5836 end;
5837
5838 function ITraceBLRStatement.getDataLength(): Cardinal;
5839 begin
5840 Result := TraceBLRStatementVTable(vTable).getDataLength(Self);
5841 end;
5842
5843 function ITraceBLRStatement.getText(): PAnsiChar;
5844 begin
5845 Result := TraceBLRStatementVTable(vTable).getText(Self);
5846 end;
5847
5848 function ITraceDYNRequest.getData(): BytePtr;
5849 begin
5850 Result := TraceDYNRequestVTable(vTable).getData(Self);
5851 end;
5852
5853 function ITraceDYNRequest.getDataLength(): Cardinal;
5854 begin
5855 Result := TraceDYNRequestVTable(vTable).getDataLength(Self);
5856 end;
5857
5858 function ITraceDYNRequest.getText(): PAnsiChar;
5859 begin
5860 Result := TraceDYNRequestVTable(vTable).getText(Self);
5861 end;
5862
5863 function ITraceContextVariable.getNameSpace(): PAnsiChar;
5864 begin
5865 Result := TraceContextVariableVTable(vTable).getNameSpace(Self);
5866 end;
5867
5868 function ITraceContextVariable.getVarName(): PAnsiChar;
5869 begin
5870 Result := TraceContextVariableVTable(vTable).getVarName(Self);
5871 end;
5872
5873 function ITraceContextVariable.getVarValue(): PAnsiChar;
5874 begin
5875 Result := TraceContextVariableVTable(vTable).getVarValue(Self);
5876 end;
5877
5878 function ITraceProcedure.getProcName(): PAnsiChar;
5879 begin
5880 Result := TraceProcedureVTable(vTable).getProcName(Self);
5881 end;
5882
5883 function ITraceProcedure.getInputs(): ITraceParams;
5884 begin
5885 Result := TraceProcedureVTable(vTable).getInputs(Self);
5886 end;
5887
5888 function ITraceProcedure.getPerf(): PerformanceInfoPtr;
5889 begin
5890 Result := TraceProcedureVTable(vTable).getPerf(Self);
5891 end;
5892
5893 function ITraceFunction.getFuncName(): PAnsiChar;
5894 begin
5895 Result := TraceFunctionVTable(vTable).getFuncName(Self);
5896 end;
5897
5898 function ITraceFunction.getInputs(): ITraceParams;
5899 begin
5900 Result := TraceFunctionVTable(vTable).getInputs(Self);
5901 end;
5902
5903 function ITraceFunction.getResult(): ITraceParams;
5904 begin
5905 Result := TraceFunctionVTable(vTable).getResult(Self);
5906 end;
5907
5908 function ITraceFunction.getPerf(): PerformanceInfoPtr;
5909 begin
5910 Result := TraceFunctionVTable(vTable).getPerf(Self);
5911 end;
5912
5913 function ITraceTrigger.getTriggerName(): PAnsiChar;
5914 begin
5915 Result := TraceTriggerVTable(vTable).getTriggerName(Self);
5916 end;
5917
5918 function ITraceTrigger.getRelationName(): PAnsiChar;
5919 begin
5920 Result := TraceTriggerVTable(vTable).getRelationName(Self);
5921 end;
5922
5923 function ITraceTrigger.getAction(): Integer;
5924 begin
5925 Result := TraceTriggerVTable(vTable).getAction(Self);
5926 end;
5927
5928 function ITraceTrigger.getWhich(): Integer;
5929 begin
5930 Result := TraceTriggerVTable(vTable).getWhich(Self);
5931 end;
5932
5933 function ITraceTrigger.getPerf(): PerformanceInfoPtr;
5934 begin
5935 Result := TraceTriggerVTable(vTable).getPerf(Self);
5936 end;
5937
5938 function ITraceServiceConnection.getServiceID(): Pointer;
5939 begin
5940 Result := TraceServiceConnectionVTable(vTable).getServiceID(Self);
5941 end;
5942
5943 function ITraceServiceConnection.getServiceMgr(): PAnsiChar;
5944 begin
5945 Result := TraceServiceConnectionVTable(vTable).getServiceMgr(Self);
5946 end;
5947
5948 function ITraceServiceConnection.getServiceName(): PAnsiChar;
5949 begin
5950 Result := TraceServiceConnectionVTable(vTable).getServiceName(Self);
5951 end;
5952
5953 function ITraceStatusVector.hasError(): Boolean;
5954 begin
5955 Result := TraceStatusVectorVTable(vTable).hasError(Self);
5956 end;
5957
5958 function ITraceStatusVector.hasWarning(): Boolean;
5959 begin
5960 Result := TraceStatusVectorVTable(vTable).hasWarning(Self);
5961 end;
5962
5963 function ITraceStatusVector.getStatus(): IStatus;
5964 begin
5965 Result := TraceStatusVectorVTable(vTable).getStatus(Self);
5966 end;
5967
5968 function ITraceStatusVector.getText(): PAnsiChar;
5969 begin
5970 Result := TraceStatusVectorVTable(vTable).getText(Self);
5971 end;
5972
5973 function ITraceSweepInfo.getOIT(): Int64;
5974 begin
5975 Result := TraceSweepInfoVTable(vTable).getOIT(Self);
5976 end;
5977
5978 function ITraceSweepInfo.getOST(): Int64;
5979 begin
5980 Result := TraceSweepInfoVTable(vTable).getOST(Self);
5981 end;
5982
5983 function ITraceSweepInfo.getOAT(): Int64;
5984 begin
5985 Result := TraceSweepInfoVTable(vTable).getOAT(Self);
5986 end;
5987
5988 function ITraceSweepInfo.getNext(): Int64;
5989 begin
5990 Result := TraceSweepInfoVTable(vTable).getNext(Self);
5991 end;
5992
5993 function ITraceSweepInfo.getPerf(): PerformanceInfoPtr;
5994 begin
5995 Result := TraceSweepInfoVTable(vTable).getPerf(Self);
5996 end;
5997
5998 function ITraceLogWriter.write(buf: Pointer; size: Cardinal): Cardinal;
5999 begin
6000 Result := TraceLogWriterVTable(vTable).write(Self, buf, size);
6001 end;
6002
6003 function ITraceLogWriter.write_s(status: IStatus; buf: Pointer; size: Cardinal): Cardinal;
6004 begin
6005 Result := TraceLogWriterVTable(vTable).write_s(Self, status, buf, size);
6006 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6007 end;
6008
6009 function ITraceInitInfo.getConfigText(): PAnsiChar;
6010 begin
6011 Result := TraceInitInfoVTable(vTable).getConfigText(Self);
6012 end;
6013
6014 function ITraceInitInfo.getTraceSessionID(): Integer;
6015 begin
6016 Result := TraceInitInfoVTable(vTable).getTraceSessionID(Self);
6017 end;
6018
6019 function ITraceInitInfo.getTraceSessionName(): PAnsiChar;
6020 begin
6021 Result := TraceInitInfoVTable(vTable).getTraceSessionName(Self);
6022 end;
6023
6024 function ITraceInitInfo.getFirebirdRootDirectory(): PAnsiChar;
6025 begin
6026 Result := TraceInitInfoVTable(vTable).getFirebirdRootDirectory(Self);
6027 end;
6028
6029 function ITraceInitInfo.getDatabaseName(): PAnsiChar;
6030 begin
6031 Result := TraceInitInfoVTable(vTable).getDatabaseName(Self);
6032 end;
6033
6034 function ITraceInitInfo.getConnection(): ITraceDatabaseConnection;
6035 begin
6036 Result := TraceInitInfoVTable(vTable).getConnection(Self);
6037 end;
6038
6039 function ITraceInitInfo.getLogWriter(): ITraceLogWriter;
6040 begin
6041 Result := TraceInitInfoVTable(vTable).getLogWriter(Self);
6042 end;
6043
6044 function ITracePlugin.trace_get_error(): PAnsiChar;
6045 begin
6046 Result := TracePluginVTable(vTable).trace_get_error(Self);
6047 end;
6048
6049 function ITracePlugin.trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean;
6050 begin
6051 Result := TracePluginVTable(vTable).trace_attach(Self, connection, create_db, att_result);
6052 end;
6053
6054 function ITracePlugin.trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean;
6055 begin
6056 Result := TracePluginVTable(vTable).trace_detach(Self, connection, drop_db);
6057 end;
6058
6059 function ITracePlugin.trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean;
6060 begin
6061 Result := TracePluginVTable(vTable).trace_transaction_start(Self, connection, transaction, tpb_length, tpb, tra_result);
6062 end;
6063
6064 function ITracePlugin.trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean;
6065 begin
6066 Result := TracePluginVTable(vTable).trace_transaction_end(Self, connection, transaction, commit, retain_context, tra_result);
6067 end;
6068
6069 function ITracePlugin.trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean;
6070 begin
6071 Result := TracePluginVTable(vTable).trace_proc_execute(Self, connection, transaction, procedure_, started, proc_result);
6072 end;
6073
6074 function ITracePlugin.trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean;
6075 begin
6076 Result := TracePluginVTable(vTable).trace_trigger_execute(Self, connection, transaction, trigger, started, trig_result);
6077 end;
6078
6079 function ITracePlugin.trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean;
6080 begin
6081 Result := TracePluginVTable(vTable).trace_set_context(Self, connection, transaction, variable);
6082 end;
6083
6084 function ITracePlugin.trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean;
6085 begin
6086 Result := TracePluginVTable(vTable).trace_dsql_prepare(Self, connection, transaction, statement, time_millis, req_result);
6087 end;
6088
6089 function ITracePlugin.trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean;
6090 begin
6091 Result := TracePluginVTable(vTable).trace_dsql_free(Self, connection, statement, option);
6092 end;
6093
6094 function ITracePlugin.trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean;
6095 begin
6096 Result := TracePluginVTable(vTable).trace_dsql_execute(Self, connection, transaction, statement, started, req_result);
6097 end;
6098
6099 function ITracePlugin.trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean;
6100 begin
6101 Result := TracePluginVTable(vTable).trace_blr_compile(Self, connection, transaction, statement, time_millis, req_result);
6102 end;
6103
6104 function ITracePlugin.trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean;
6105 begin
6106 Result := TracePluginVTable(vTable).trace_blr_execute(Self, connection, transaction, statement, req_result);
6107 end;
6108
6109 function ITracePlugin.trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean;
6110 begin
6111 Result := TracePluginVTable(vTable).trace_dyn_execute(Self, connection, transaction, request, time_millis, req_result);
6112 end;
6113
6114 function ITracePlugin.trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean;
6115 begin
6116 Result := TracePluginVTable(vTable).trace_service_attach(Self, service, att_result);
6117 end;
6118
6119 function ITracePlugin.trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean;
6120 begin
6121 Result := TracePluginVTable(vTable).trace_service_start(Self, service, switches_length, switches, start_result);
6122 end;
6123
6124 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;
6125 begin
6126 Result := TracePluginVTable(vTable).trace_service_query(Self, service, send_item_length, send_items, recv_item_length, recv_items, query_result);
6127 end;
6128
6129 function ITracePlugin.trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean;
6130 begin
6131 Result := TracePluginVTable(vTable).trace_service_detach(Self, service, detach_result);
6132 end;
6133
6134 function ITracePlugin.trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean;
6135 begin
6136 Result := TracePluginVTable(vTable).trace_event_error(Self, connection, status, function_);
6137 end;
6138
6139 function ITracePlugin.trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean;
6140 begin
6141 Result := TracePluginVTable(vTable).trace_event_sweep(Self, connection, sweep, sweep_state);
6142 end;
6143
6144 function ITracePlugin.trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean;
6145 begin
6146 Result := TracePluginVTable(vTable).trace_func_execute(Self, connection, transaction, function_, started, func_result);
6147 end;
6148
6149 function ITraceFactory.trace_needs(): QWord;
6150 begin
6151 Result := TraceFactoryVTable(vTable).trace_needs(Self);
6152 end;
6153
6154 function ITraceFactory.trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin;
6155 begin
6156 Result := TraceFactoryVTable(vTable).trace_create(Self, status, init_info);
6157 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6158 end;
6159
6160 procedure IUdrFunctionFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
6161 begin
6162 UdrFunctionFactoryVTable(vTable).setup(Self, status, context, metadata, inBuilder, outBuilder);
6163 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6164 end;
6165
6166 function IUdrFunctionFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction;
6167 begin
6168 Result := UdrFunctionFactoryVTable(vTable).newItem(Self, status, context, metadata);
6169 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6170 end;
6171
6172 procedure IUdrProcedureFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
6173 begin
6174 UdrProcedureFactoryVTable(vTable).setup(Self, status, context, metadata, inBuilder, outBuilder);
6175 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6176 end;
6177
6178 function IUdrProcedureFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure;
6179 begin
6180 Result := UdrProcedureFactoryVTable(vTable).newItem(Self, status, context, metadata);
6181 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6182 end;
6183
6184 procedure IUdrTriggerFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder);
6185 begin
6186 UdrTriggerFactoryVTable(vTable).setup(Self, status, context, metadata, fieldsBuilder);
6187 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6188 end;
6189
6190 function IUdrTriggerFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger;
6191 begin
6192 Result := UdrTriggerFactoryVTable(vTable).newItem(Self, status, context, metadata);
6193 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6194 end;
6195
6196 function IUdrPlugin.getMaster(): IMaster;
6197 begin
6198 Result := UdrPluginVTable(vTable).getMaster(Self);
6199 end;
6200
6201 procedure IUdrPlugin.registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory);
6202 begin
6203 UdrPluginVTable(vTable).registerFunction(Self, status, name, factory);
6204 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6205 end;
6206
6207 procedure IUdrPlugin.registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory);
6208 begin
6209 UdrPluginVTable(vTable).registerProcedure(Self, status, name, factory);
6210 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6211 end;
6212
6213 procedure IUdrPlugin.registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory);
6214 begin
6215 UdrPluginVTable(vTable).registerTrigger(Self, status, name, factory);
6216 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6217 end;
6218
6219 procedure IDecFloat16.toBcd(from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
6220 begin
6221 DecFloat16VTable(vTable).toBcd(Self, from, sign, bcd, exp);
6222 end;
6223
6224 procedure IDecFloat16.toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
6225 begin
6226 DecFloat16VTable(vTable).toString(Self, status, from, bufferLength, buffer);
6227 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6228 end;
6229
6230 procedure IDecFloat16.fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr);
6231 begin
6232 DecFloat16VTable(vTable).fromBcd(Self, sign, bcd, exp, to_);
6233 end;
6234
6235 procedure IDecFloat16.fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr);
6236 begin
6237 DecFloat16VTable(vTable).fromString(Self, status, from, to_);
6238 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6239 end;
6240
6241 procedure IDecFloat34.toBcd(from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr);
6242 begin
6243 DecFloat34VTable(vTable).toBcd(Self, from, sign, bcd, exp);
6244 end;
6245
6246 procedure IDecFloat34.toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar);
6247 begin
6248 DecFloat34VTable(vTable).toString(Self, status, from, bufferLength, buffer);
6249 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6250 end;
6251
6252 procedure IDecFloat34.fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr);
6253 begin
6254 DecFloat34VTable(vTable).fromBcd(Self, sign, bcd, exp, to_);
6255 end;
6256
6257 procedure IDecFloat34.fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr);
6258 begin
6259 DecFloat34VTable(vTable).fromString(Self, status, from, to_);
6260 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6261 end;
6262
6263 procedure IInt128.toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar);
6264 begin
6265 Int128VTable(vTable).toString(Self, status, from, scale, bufferLength, buffer);
6266 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6267 end;
6268
6269 procedure IInt128.fromString(status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr);
6270 begin
6271 Int128VTable(vTable).fromString(Self, status, scale, from, to_);
6272 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6273 end;
6274
6275 function IReplicatedField.getName(): PAnsiChar;
6276 begin
6277 Result := ReplicatedFieldVTable(vTable).getName(Self);
6278 end;
6279
6280 function IReplicatedField.getType(): Cardinal;
6281 begin
6282 Result := ReplicatedFieldVTable(vTable).getType(Self);
6283 end;
6284
6285 function IReplicatedField.getSubType(): Integer;
6286 begin
6287 Result := ReplicatedFieldVTable(vTable).getSubType(Self);
6288 end;
6289
6290 function IReplicatedField.getScale(): Integer;
6291 begin
6292 Result := ReplicatedFieldVTable(vTable).getScale(Self);
6293 end;
6294
6295 function IReplicatedField.getLength(): Cardinal;
6296 begin
6297 Result := ReplicatedFieldVTable(vTable).getLength(Self);
6298 end;
6299
6300 function IReplicatedField.getCharSet(): Cardinal;
6301 begin
6302 Result := ReplicatedFieldVTable(vTable).getCharSet(Self);
6303 end;
6304
6305 function IReplicatedField.getData(): Pointer;
6306 begin
6307 Result := ReplicatedFieldVTable(vTable).getData(Self);
6308 end;
6309
6310 function IReplicatedRecord.getCount(): Cardinal;
6311 begin
6312 Result := ReplicatedRecordVTable(vTable).getCount(Self);
6313 end;
6314
6315 function IReplicatedRecord.getField(index: Cardinal): IReplicatedField;
6316 begin
6317 Result := ReplicatedRecordVTable(vTable).getField(Self, index);
6318 end;
6319
6320 function IReplicatedRecord.getRawLength(): Cardinal;
6321 begin
6322 Result := ReplicatedRecordVTable(vTable).getRawLength(Self);
6323 end;
6324
6325 function IReplicatedRecord.getRawData(): BytePtr;
6326 begin
6327 Result := ReplicatedRecordVTable(vTable).getRawData(Self);
6328 end;
6329
6330 procedure IReplicatedTransaction.prepare(status: IStatus);
6331 begin
6332 ReplicatedTransactionVTable(vTable).prepare(Self, status);
6333 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6334 end;
6335
6336 procedure IReplicatedTransaction.commit(status: IStatus);
6337 begin
6338 ReplicatedTransactionVTable(vTable).commit(Self, status);
6339 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6340 end;
6341
6342 procedure IReplicatedTransaction.rollback(status: IStatus);
6343 begin
6344 ReplicatedTransactionVTable(vTable).rollback(Self, status);
6345 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6346 end;
6347
6348 procedure IReplicatedTransaction.startSavepoint(status: IStatus);
6349 begin
6350 ReplicatedTransactionVTable(vTable).startSavepoint(Self, status);
6351 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6352 end;
6353
6354 procedure IReplicatedTransaction.releaseSavepoint(status: IStatus);
6355 begin
6356 ReplicatedTransactionVTable(vTable).releaseSavepoint(Self, status);
6357 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6358 end;
6359
6360 procedure IReplicatedTransaction.rollbackSavepoint(status: IStatus);
6361 begin
6362 ReplicatedTransactionVTable(vTable).rollbackSavepoint(Self, status);
6363 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6364 end;
6365
6366 procedure IReplicatedTransaction.insertRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
6367 begin
6368 ReplicatedTransactionVTable(vTable).insertRecord(Self, status, name, record_);
6369 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6370 end;
6371
6372 procedure IReplicatedTransaction.updateRecord(status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord);
6373 begin
6374 ReplicatedTransactionVTable(vTable).updateRecord(Self, status, name, orgRecord, newRecord);
6375 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6376 end;
6377
6378 procedure IReplicatedTransaction.deleteRecord(status: IStatus; name: PAnsiChar; record_: IReplicatedRecord);
6379 begin
6380 ReplicatedTransactionVTable(vTable).deleteRecord(Self, status, name, record_);
6381 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6382 end;
6383
6384 procedure IReplicatedTransaction.executeSql(status: IStatus; sql: PAnsiChar);
6385 begin
6386 ReplicatedTransactionVTable(vTable).executeSql(Self, status, sql);
6387 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6388 end;
6389
6390 procedure IReplicatedTransaction.executeSqlIntl(status: IStatus; charset: Cardinal; sql: PAnsiChar);
6391 begin
6392 ReplicatedTransactionVTable(vTable).executeSqlIntl(Self, status, charset, sql);
6393 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6394 end;
6395
6396 function IReplicatedSession.init(status: IStatus; attachment: IAttachment): Boolean;
6397 begin
6398 Result := ReplicatedSessionVTable(vTable).init(Self, status, attachment);
6399 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6400 end;
6401
6402 function IReplicatedSession.startTransaction(status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction;
6403 begin
6404 Result := ReplicatedSessionVTable(vTable).startTransaction(Self, status, transaction, number);
6405 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6406 end;
6407
6408 procedure IReplicatedSession.cleanupTransaction(status: IStatus; number: Int64);
6409 begin
6410 ReplicatedSessionVTable(vTable).cleanupTransaction(Self, status, number);
6411 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6412 end;
6413
6414 procedure IReplicatedSession.setSequence(status: IStatus; name: PAnsiChar; value: Int64);
6415 begin
6416 ReplicatedSessionVTable(vTable).setSequence(Self, status, name, value);
6417 {$IFDEF USEFBEXCEPTION}FbException.checkException(status);{$ENDIF}
6418 end;
6419
6420 var
6421 IVersionedImpl_vTable: VersionedVTable;
6422
6423 constructor IVersionedImpl.create;
6424 begin
6425 vTable := IVersionedImpl_vTable;
6426 end;
6427
6428 procedure IReferenceCountedImpl_addRefDispatcher(this: IReferenceCounted); cdecl;
6429 begin
6430 try
6431 IReferenceCountedImpl(this).addRef();
6432 except
6433 on e: Exception do FbException.catchException(nil, e);
6434 end
6435 end;
6436
6437 function IReferenceCountedImpl_releaseDispatcher(this: IReferenceCounted): Integer; cdecl;
6438 begin
6439 try
6440 Result := IReferenceCountedImpl(this).release();
6441 except
6442 on e: Exception do FbException.catchException(nil, e);
6443 end
6444 end;
6445
6446 var
6447 IReferenceCountedImpl_vTable: ReferenceCountedVTable;
6448
6449 constructor IReferenceCountedImpl.create;
6450 begin
6451 vTable := IReferenceCountedImpl_vTable;
6452 end;
6453
6454 procedure IDisposableImpl_disposeDispatcher(this: IDisposable); cdecl;
6455 begin
6456 try
6457 IDisposableImpl(this).dispose();
6458 except
6459 on e: Exception do FbException.catchException(nil, e);
6460 end
6461 end;
6462
6463 var
6464 IDisposableImpl_vTable: DisposableVTable;
6465
6466 constructor IDisposableImpl.create;
6467 begin
6468 vTable := IDisposableImpl_vTable;
6469 end;
6470
6471 procedure IStatusImpl_disposeDispatcher(this: IStatus); cdecl;
6472 begin
6473 try
6474 IStatusImpl(this).dispose();
6475 except
6476 on e: Exception do FbException.catchException(nil, e);
6477 end
6478 end;
6479
6480 procedure IStatusImpl_initDispatcher(this: IStatus); cdecl;
6481 begin
6482 try
6483 IStatusImpl(this).init();
6484 except
6485 on e: Exception do FbException.catchException(nil, e);
6486 end
6487 end;
6488
6489 function IStatusImpl_getStateDispatcher(this: IStatus): Cardinal; cdecl;
6490 begin
6491 try
6492 Result := IStatusImpl(this).getState();
6493 except
6494 on e: Exception do FbException.catchException(nil, e);
6495 end
6496 end;
6497
6498 procedure IStatusImpl_setErrors2Dispatcher(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
6499 begin
6500 try
6501 IStatusImpl(this).setErrors2(length, value);
6502 except
6503 on e: Exception do FbException.catchException(nil, e);
6504 end
6505 end;
6506
6507 procedure IStatusImpl_setWarnings2Dispatcher(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
6508 begin
6509 try
6510 IStatusImpl(this).setWarnings2(length, value);
6511 except
6512 on e: Exception do FbException.catchException(nil, e);
6513 end
6514 end;
6515
6516 procedure IStatusImpl_setErrorsDispatcher(this: IStatus; value: NativeIntPtr); cdecl;
6517 begin
6518 try
6519 IStatusImpl(this).setErrors(value);
6520 except
6521 on e: Exception do FbException.catchException(nil, e);
6522 end
6523 end;
6524
6525 procedure IStatusImpl_setWarningsDispatcher(this: IStatus; value: NativeIntPtr); cdecl;
6526 begin
6527 try
6528 IStatusImpl(this).setWarnings(value);
6529 except
6530 on e: Exception do FbException.catchException(nil, e);
6531 end
6532 end;
6533
6534 function IStatusImpl_getErrorsDispatcher(this: IStatus): NativeIntPtr; cdecl;
6535 begin
6536 try
6537 Result := IStatusImpl(this).getErrors();
6538 except
6539 on e: Exception do FbException.catchException(nil, e);
6540 end
6541 end;
6542
6543 function IStatusImpl_getWarningsDispatcher(this: IStatus): NativeIntPtr; cdecl;
6544 begin
6545 try
6546 Result := IStatusImpl(this).getWarnings();
6547 except
6548 on e: Exception do FbException.catchException(nil, e);
6549 end
6550 end;
6551
6552 function IStatusImpl_cloneDispatcher(this: IStatus): IStatus; cdecl;
6553 begin
6554 try
6555 Result := IStatusImpl(this).clone();
6556 except
6557 on e: Exception do FbException.catchException(nil, e);
6558 end
6559 end;
6560
6561 var
6562 IStatusImpl_vTable: StatusVTable;
6563
6564 constructor IStatusImpl.create;
6565 begin
6566 vTable := IStatusImpl_vTable;
6567 end;
6568
6569 function IMasterImpl_getStatusDispatcher(this: IMaster): IStatus; cdecl;
6570 begin
6571 try
6572 Result := IMasterImpl(this).getStatus();
6573 except
6574 on e: Exception do FbException.catchException(nil, e);
6575 end
6576 end;
6577
6578 function IMasterImpl_getDispatcherDispatcher(this: IMaster): IProvider; cdecl;
6579 begin
6580 try
6581 Result := IMasterImpl(this).getDispatcher();
6582 except
6583 on e: Exception do FbException.catchException(nil, e);
6584 end
6585 end;
6586
6587 function IMasterImpl_getPluginManagerDispatcher(this: IMaster): IPluginManager; cdecl;
6588 begin
6589 try
6590 Result := IMasterImpl(this).getPluginManager();
6591 except
6592 on e: Exception do FbException.catchException(nil, e);
6593 end
6594 end;
6595
6596 function IMasterImpl_getTimerControlDispatcher(this: IMaster): ITimerControl; cdecl;
6597 begin
6598 try
6599 Result := IMasterImpl(this).getTimerControl();
6600 except
6601 on e: Exception do FbException.catchException(nil, e);
6602 end
6603 end;
6604
6605 function IMasterImpl_getDtcDispatcher(this: IMaster): IDtc; cdecl;
6606 begin
6607 try
6608 Result := IMasterImpl(this).getDtc();
6609 except
6610 on e: Exception do FbException.catchException(nil, e);
6611 end
6612 end;
6613
6614 function IMasterImpl_registerAttachmentDispatcher(this: IMaster; provider: IProvider; attachment: IAttachment): IAttachment; cdecl;
6615 begin
6616 try
6617 Result := IMasterImpl(this).registerAttachment(provider, attachment);
6618 except
6619 on e: Exception do FbException.catchException(nil, e);
6620 end
6621 end;
6622
6623 function IMasterImpl_registerTransactionDispatcher(this: IMaster; attachment: IAttachment; transaction: ITransaction): ITransaction; cdecl;
6624 begin
6625 try
6626 Result := IMasterImpl(this).registerTransaction(attachment, transaction);
6627 except
6628 on e: Exception do FbException.catchException(nil, e);
6629 end
6630 end;
6631
6632 function IMasterImpl_getMetadataBuilderDispatcher(this: IMaster; status: IStatus; fieldCount: Cardinal): IMetadataBuilder; cdecl;
6633 begin
6634 try
6635 Result := IMasterImpl(this).getMetadataBuilder(status, fieldCount);
6636 except
6637 on e: Exception do FbException.catchException(status, e);
6638 end
6639 end;
6640
6641 function IMasterImpl_serverModeDispatcher(this: IMaster; mode: Integer): Integer; cdecl;
6642 begin
6643 try
6644 Result := IMasterImpl(this).serverMode(mode);
6645 except
6646 on e: Exception do FbException.catchException(nil, e);
6647 end
6648 end;
6649
6650 function IMasterImpl_getUtilInterfaceDispatcher(this: IMaster): IUtil; cdecl;
6651 begin
6652 try
6653 Result := IMasterImpl(this).getUtilInterface();
6654 except
6655 on e: Exception do FbException.catchException(nil, e);
6656 end
6657 end;
6658
6659 function IMasterImpl_getConfigManagerDispatcher(this: IMaster): IConfigManager; cdecl;
6660 begin
6661 try
6662 Result := IMasterImpl(this).getConfigManager();
6663 except
6664 on e: Exception do FbException.catchException(nil, e);
6665 end
6666 end;
6667
6668 function IMasterImpl_getProcessExitingDispatcher(this: IMaster): Boolean; cdecl;
6669 begin
6670 try
6671 Result := IMasterImpl(this).getProcessExiting();
6672 except
6673 on e: Exception do FbException.catchException(nil, e);
6674 end
6675 end;
6676
6677 var
6678 IMasterImpl_vTable: MasterVTable;
6679
6680 constructor IMasterImpl.create;
6681 begin
6682 vTable := IMasterImpl_vTable;
6683 end;
6684
6685 procedure IPluginBaseImpl_addRefDispatcher(this: IPluginBase); cdecl;
6686 begin
6687 try
6688 IPluginBaseImpl(this).addRef();
6689 except
6690 on e: Exception do FbException.catchException(nil, e);
6691 end
6692 end;
6693
6694 function IPluginBaseImpl_releaseDispatcher(this: IPluginBase): Integer; cdecl;
6695 begin
6696 try
6697 Result := IPluginBaseImpl(this).release();
6698 except
6699 on e: Exception do FbException.catchException(nil, e);
6700 end
6701 end;
6702
6703 procedure IPluginBaseImpl_setOwnerDispatcher(this: IPluginBase; r: IReferenceCounted); cdecl;
6704 begin
6705 try
6706 IPluginBaseImpl(this).setOwner(r);
6707 except
6708 on e: Exception do FbException.catchException(nil, e);
6709 end
6710 end;
6711
6712 function IPluginBaseImpl_getOwnerDispatcher(this: IPluginBase): IReferenceCounted; cdecl;
6713 begin
6714 try
6715 Result := IPluginBaseImpl(this).getOwner();
6716 except
6717 on e: Exception do FbException.catchException(nil, e);
6718 end
6719 end;
6720
6721 var
6722 IPluginBaseImpl_vTable: PluginBaseVTable;
6723
6724 constructor IPluginBaseImpl.create;
6725 begin
6726 vTable := IPluginBaseImpl_vTable;
6727 end;
6728
6729 procedure IPluginSetImpl_addRefDispatcher(this: IPluginSet); cdecl;
6730 begin
6731 try
6732 IPluginSetImpl(this).addRef();
6733 except
6734 on e: Exception do FbException.catchException(nil, e);
6735 end
6736 end;
6737
6738 function IPluginSetImpl_releaseDispatcher(this: IPluginSet): Integer; cdecl;
6739 begin
6740 try
6741 Result := IPluginSetImpl(this).release();
6742 except
6743 on e: Exception do FbException.catchException(nil, e);
6744 end
6745 end;
6746
6747 function IPluginSetImpl_getNameDispatcher(this: IPluginSet): PAnsiChar; cdecl;
6748 begin
6749 try
6750 Result := IPluginSetImpl(this).getName();
6751 except
6752 on e: Exception do FbException.catchException(nil, e);
6753 end
6754 end;
6755
6756 function IPluginSetImpl_getModuleNameDispatcher(this: IPluginSet): PAnsiChar; cdecl;
6757 begin
6758 try
6759 Result := IPluginSetImpl(this).getModuleName();
6760 except
6761 on e: Exception do FbException.catchException(nil, e);
6762 end
6763 end;
6764
6765 function IPluginSetImpl_getPluginDispatcher(this: IPluginSet; status: IStatus): IPluginBase; cdecl;
6766 begin
6767 try
6768 Result := IPluginSetImpl(this).getPlugin(status);
6769 except
6770 on e: Exception do FbException.catchException(status, e);
6771 end
6772 end;
6773
6774 procedure IPluginSetImpl_nextDispatcher(this: IPluginSet; status: IStatus); cdecl;
6775 begin
6776 try
6777 IPluginSetImpl(this).next(status);
6778 except
6779 on e: Exception do FbException.catchException(status, e);
6780 end
6781 end;
6782
6783 procedure IPluginSetImpl_set_Dispatcher(this: IPluginSet; status: IStatus; s: PAnsiChar); cdecl;
6784 begin
6785 try
6786 IPluginSetImpl(this).set_(status, s);
6787 except
6788 on e: Exception do FbException.catchException(status, e);
6789 end
6790 end;
6791
6792 var
6793 IPluginSetImpl_vTable: PluginSetVTable;
6794
6795 constructor IPluginSetImpl.create;
6796 begin
6797 vTable := IPluginSetImpl_vTable;
6798 end;
6799
6800 procedure IConfigEntryImpl_addRefDispatcher(this: IConfigEntry); cdecl;
6801 begin
6802 try
6803 IConfigEntryImpl(this).addRef();
6804 except
6805 on e: Exception do FbException.catchException(nil, e);
6806 end
6807 end;
6808
6809 function IConfigEntryImpl_releaseDispatcher(this: IConfigEntry): Integer; cdecl;
6810 begin
6811 try
6812 Result := IConfigEntryImpl(this).release();
6813 except
6814 on e: Exception do FbException.catchException(nil, e);
6815 end
6816 end;
6817
6818 function IConfigEntryImpl_getNameDispatcher(this: IConfigEntry): PAnsiChar; cdecl;
6819 begin
6820 try
6821 Result := IConfigEntryImpl(this).getName();
6822 except
6823 on e: Exception do FbException.catchException(nil, e);
6824 end
6825 end;
6826
6827 function IConfigEntryImpl_getValueDispatcher(this: IConfigEntry): PAnsiChar; cdecl;
6828 begin
6829 try
6830 Result := IConfigEntryImpl(this).getValue();
6831 except
6832 on e: Exception do FbException.catchException(nil, e);
6833 end
6834 end;
6835
6836 function IConfigEntryImpl_getIntValueDispatcher(this: IConfigEntry): Int64; cdecl;
6837 begin
6838 try
6839 Result := IConfigEntryImpl(this).getIntValue();
6840 except
6841 on e: Exception do FbException.catchException(nil, e);
6842 end
6843 end;
6844
6845 function IConfigEntryImpl_getBoolValueDispatcher(this: IConfigEntry): Boolean; cdecl;
6846 begin
6847 try
6848 Result := IConfigEntryImpl(this).getBoolValue();
6849 except
6850 on e: Exception do FbException.catchException(nil, e);
6851 end
6852 end;
6853
6854 function IConfigEntryImpl_getSubConfigDispatcher(this: IConfigEntry; status: IStatus): IConfig; cdecl;
6855 begin
6856 try
6857 Result := IConfigEntryImpl(this).getSubConfig(status);
6858 except
6859 on e: Exception do FbException.catchException(status, e);
6860 end
6861 end;
6862
6863 var
6864 IConfigEntryImpl_vTable: ConfigEntryVTable;
6865
6866 constructor IConfigEntryImpl.create;
6867 begin
6868 vTable := IConfigEntryImpl_vTable;
6869 end;
6870
6871 procedure IConfigImpl_addRefDispatcher(this: IConfig); cdecl;
6872 begin
6873 try
6874 IConfigImpl(this).addRef();
6875 except
6876 on e: Exception do FbException.catchException(nil, e);
6877 end
6878 end;
6879
6880 function IConfigImpl_releaseDispatcher(this: IConfig): Integer; cdecl;
6881 begin
6882 try
6883 Result := IConfigImpl(this).release();
6884 except
6885 on e: Exception do FbException.catchException(nil, e);
6886 end
6887 end;
6888
6889 function IConfigImpl_findDispatcher(this: IConfig; status: IStatus; name: PAnsiChar): IConfigEntry; cdecl;
6890 begin
6891 try
6892 Result := IConfigImpl(this).find(status, name);
6893 except
6894 on e: Exception do FbException.catchException(status, e);
6895 end
6896 end;
6897
6898 function IConfigImpl_findValueDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; cdecl;
6899 begin
6900 try
6901 Result := IConfigImpl(this).findValue(status, name, value);
6902 except
6903 on e: Exception do FbException.catchException(status, e);
6904 end
6905 end;
6906
6907 function IConfigImpl_findPosDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; cdecl;
6908 begin
6909 try
6910 Result := IConfigImpl(this).findPos(status, name, pos);
6911 except
6912 on e: Exception do FbException.catchException(status, e);
6913 end
6914 end;
6915
6916 var
6917 IConfigImpl_vTable: ConfigVTable;
6918
6919 constructor IConfigImpl.create;
6920 begin
6921 vTable := IConfigImpl_vTable;
6922 end;
6923
6924 procedure IFirebirdConfImpl_addRefDispatcher(this: IFirebirdConf); cdecl;
6925 begin
6926 try
6927 IFirebirdConfImpl(this).addRef();
6928 except
6929 on e: Exception do FbException.catchException(nil, e);
6930 end
6931 end;
6932
6933 function IFirebirdConfImpl_releaseDispatcher(this: IFirebirdConf): Integer; cdecl;
6934 begin
6935 try
6936 Result := IFirebirdConfImpl(this).release();
6937 except
6938 on e: Exception do FbException.catchException(nil, e);
6939 end
6940 end;
6941
6942 function IFirebirdConfImpl_getKeyDispatcher(this: IFirebirdConf; name: PAnsiChar): Cardinal; cdecl;
6943 begin
6944 try
6945 Result := IFirebirdConfImpl(this).getKey(name);
6946 except
6947 on e: Exception do FbException.catchException(nil, e);
6948 end
6949 end;
6950
6951 function IFirebirdConfImpl_asIntegerDispatcher(this: IFirebirdConf; key: Cardinal): Int64; cdecl;
6952 begin
6953 try
6954 Result := IFirebirdConfImpl(this).asInteger(key);
6955 except
6956 on e: Exception do FbException.catchException(nil, e);
6957 end
6958 end;
6959
6960 function IFirebirdConfImpl_asStringDispatcher(this: IFirebirdConf; key: Cardinal): PAnsiChar; cdecl;
6961 begin
6962 try
6963 Result := IFirebirdConfImpl(this).asString(key);
6964 except
6965 on e: Exception do FbException.catchException(nil, e);
6966 end
6967 end;
6968
6969 function IFirebirdConfImpl_asBooleanDispatcher(this: IFirebirdConf; key: Cardinal): Boolean; cdecl;
6970 begin
6971 try
6972 Result := IFirebirdConfImpl(this).asBoolean(key);
6973 except
6974 on e: Exception do FbException.catchException(nil, e);
6975 end
6976 end;
6977
6978 function IFirebirdConfImpl_getVersionDispatcher(this: IFirebirdConf; status: IStatus): Cardinal; cdecl;
6979 begin
6980 try
6981 Result := IFirebirdConfImpl(this).getVersion(status);
6982 except
6983 on e: Exception do FbException.catchException(status, e);
6984 end
6985 end;
6986
6987 var
6988 IFirebirdConfImpl_vTable: FirebirdConfVTable;
6989
6990 constructor IFirebirdConfImpl.create;
6991 begin
6992 vTable := IFirebirdConfImpl_vTable;
6993 end;
6994
6995 procedure IPluginConfigImpl_addRefDispatcher(this: IPluginConfig); cdecl;
6996 begin
6997 try
6998 IPluginConfigImpl(this).addRef();
6999 except
7000 on e: Exception do FbException.catchException(nil, e);
7001 end
7002 end;
7003
7004 function IPluginConfigImpl_releaseDispatcher(this: IPluginConfig): Integer; cdecl;
7005 begin
7006 try
7007 Result := IPluginConfigImpl(this).release();
7008 except
7009 on e: Exception do FbException.catchException(nil, e);
7010 end
7011 end;
7012
7013 function IPluginConfigImpl_getConfigFileNameDispatcher(this: IPluginConfig): PAnsiChar; cdecl;
7014 begin
7015 try
7016 Result := IPluginConfigImpl(this).getConfigFileName();
7017 except
7018 on e: Exception do FbException.catchException(nil, e);
7019 end
7020 end;
7021
7022 function IPluginConfigImpl_getDefaultConfigDispatcher(this: IPluginConfig; status: IStatus): IConfig; cdecl;
7023 begin
7024 try
7025 Result := IPluginConfigImpl(this).getDefaultConfig(status);
7026 except
7027 on e: Exception do FbException.catchException(status, e);
7028 end
7029 end;
7030
7031 function IPluginConfigImpl_getFirebirdConfDispatcher(this: IPluginConfig; status: IStatus): IFirebirdConf; cdecl;
7032 begin
7033 try
7034 Result := IPluginConfigImpl(this).getFirebirdConf(status);
7035 except
7036 on e: Exception do FbException.catchException(status, e);
7037 end
7038 end;
7039
7040 procedure IPluginConfigImpl_setReleaseDelayDispatcher(this: IPluginConfig; status: IStatus; microSeconds: QWord); cdecl;
7041 begin
7042 try
7043 IPluginConfigImpl(this).setReleaseDelay(status, microSeconds);
7044 except
7045 on e: Exception do FbException.catchException(status, e);
7046 end
7047 end;
7048
7049 var
7050 IPluginConfigImpl_vTable: PluginConfigVTable;
7051
7052 constructor IPluginConfigImpl.create;
7053 begin
7054 vTable := IPluginConfigImpl_vTable;
7055 end;
7056
7057 function IPluginFactoryImpl_createPluginDispatcher(this: IPluginFactory; status: IStatus; factoryParameter: IPluginConfig): IPluginBase; cdecl;
7058 begin
7059 try
7060 Result := IPluginFactoryImpl(this).createPlugin(status, factoryParameter);
7061 except
7062 on e: Exception do FbException.catchException(status, e);
7063 end
7064 end;
7065
7066 var
7067 IPluginFactoryImpl_vTable: PluginFactoryVTable;
7068
7069 constructor IPluginFactoryImpl.create;
7070 begin
7071 vTable := IPluginFactoryImpl_vTable;
7072 end;
7073
7074 procedure IPluginModuleImpl_doCleanDispatcher(this: IPluginModule); cdecl;
7075 begin
7076 try
7077 IPluginModuleImpl(this).doClean();
7078 except
7079 on e: Exception do FbException.catchException(nil, e);
7080 end
7081 end;
7082
7083 procedure IPluginModuleImpl_threadDetachDispatcher(this: IPluginModule); cdecl;
7084 begin
7085 try
7086 IPluginModuleImpl(this).threadDetach();
7087 except
7088 on e: Exception do FbException.catchException(nil, e);
7089 end
7090 end;
7091
7092 var
7093 IPluginModuleImpl_vTable: PluginModuleVTable;
7094
7095 constructor IPluginModuleImpl.create;
7096 begin
7097 vTable := IPluginModuleImpl_vTable;
7098 end;
7099
7100 procedure IPluginManagerImpl_registerPluginFactoryDispatcher(this: IPluginManager; pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); cdecl;
7101 begin
7102 try
7103 IPluginManagerImpl(this).registerPluginFactory(pluginType, defaultName, factory);
7104 except
7105 on e: Exception do FbException.catchException(nil, e);
7106 end
7107 end;
7108
7109 procedure IPluginManagerImpl_registerModuleDispatcher(this: IPluginManager; cleanup: IPluginModule); cdecl;
7110 begin
7111 try
7112 IPluginManagerImpl(this).registerModule(cleanup);
7113 except
7114 on e: Exception do FbException.catchException(nil, e);
7115 end
7116 end;
7117
7118 procedure IPluginManagerImpl_unregisterModuleDispatcher(this: IPluginManager; cleanup: IPluginModule); cdecl;
7119 begin
7120 try
7121 IPluginManagerImpl(this).unregisterModule(cleanup);
7122 except
7123 on e: Exception do FbException.catchException(nil, e);
7124 end
7125 end;
7126
7127 function IPluginManagerImpl_getPluginsDispatcher(this: IPluginManager; status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; cdecl;
7128 begin
7129 try
7130 Result := IPluginManagerImpl(this).getPlugins(status, pluginType, namesList, firebirdConf);
7131 except
7132 on e: Exception do FbException.catchException(status, e);
7133 end
7134 end;
7135
7136 function IPluginManagerImpl_getConfigDispatcher(this: IPluginManager; status: IStatus; filename: PAnsiChar): IConfig; cdecl;
7137 begin
7138 try
7139 Result := IPluginManagerImpl(this).getConfig(status, filename);
7140 except
7141 on e: Exception do FbException.catchException(status, e);
7142 end
7143 end;
7144
7145 procedure IPluginManagerImpl_releasePluginDispatcher(this: IPluginManager; plugin: IPluginBase); cdecl;
7146 begin
7147 try
7148 IPluginManagerImpl(this).releasePlugin(plugin);
7149 except
7150 on e: Exception do FbException.catchException(nil, e);
7151 end
7152 end;
7153
7154 var
7155 IPluginManagerImpl_vTable: PluginManagerVTable;
7156
7157 constructor IPluginManagerImpl.create;
7158 begin
7159 vTable := IPluginManagerImpl_vTable;
7160 end;
7161
7162 procedure ICryptKeyImpl_setSymmetricDispatcher(this: ICryptKey; status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); cdecl;
7163 begin
7164 try
7165 ICryptKeyImpl(this).setSymmetric(status, type_, keyLength, key);
7166 except
7167 on e: Exception do FbException.catchException(status, e);
7168 end
7169 end;
7170
7171 procedure ICryptKeyImpl_setAsymmetricDispatcher(this: ICryptKey; status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); cdecl;
7172 begin
7173 try
7174 ICryptKeyImpl(this).setAsymmetric(status, type_, encryptKeyLength, encryptKey, decryptKeyLength, decryptKey);
7175 except
7176 on e: Exception do FbException.catchException(status, e);
7177 end
7178 end;
7179
7180 function ICryptKeyImpl_getEncryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
7181 begin
7182 try
7183 Result := ICryptKeyImpl(this).getEncryptKey(length);
7184 except
7185 on e: Exception do FbException.catchException(nil, e);
7186 end
7187 end;
7188
7189 function ICryptKeyImpl_getDecryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
7190 begin
7191 try
7192 Result := ICryptKeyImpl(this).getDecryptKey(length);
7193 except
7194 on e: Exception do FbException.catchException(nil, e);
7195 end
7196 end;
7197
7198 var
7199 ICryptKeyImpl_vTable: CryptKeyVTable;
7200
7201 constructor ICryptKeyImpl.create;
7202 begin
7203 vTable := ICryptKeyImpl_vTable;
7204 end;
7205
7206 function IConfigManagerImpl_getDirectoryDispatcher(this: IConfigManager; code: Cardinal): PAnsiChar; cdecl;
7207 begin
7208 try
7209 Result := IConfigManagerImpl(this).getDirectory(code);
7210 except
7211 on e: Exception do FbException.catchException(nil, e);
7212 end
7213 end;
7214
7215 function IConfigManagerImpl_getFirebirdConfDispatcher(this: IConfigManager): IFirebirdConf; cdecl;
7216 begin
7217 try
7218 Result := IConfigManagerImpl(this).getFirebirdConf();
7219 except
7220 on e: Exception do FbException.catchException(nil, e);
7221 end
7222 end;
7223
7224 function IConfigManagerImpl_getDatabaseConfDispatcher(this: IConfigManager; dbName: PAnsiChar): IFirebirdConf; cdecl;
7225 begin
7226 try
7227 Result := IConfigManagerImpl(this).getDatabaseConf(dbName);
7228 except
7229 on e: Exception do FbException.catchException(nil, e);
7230 end
7231 end;
7232
7233 function IConfigManagerImpl_getPluginConfigDispatcher(this: IConfigManager; configuredPlugin: PAnsiChar): IConfig; cdecl;
7234 begin
7235 try
7236 Result := IConfigManagerImpl(this).getPluginConfig(configuredPlugin);
7237 except
7238 on e: Exception do FbException.catchException(nil, e);
7239 end
7240 end;
7241
7242 function IConfigManagerImpl_getInstallDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7243 begin
7244 try
7245 Result := IConfigManagerImpl(this).getInstallDirectory();
7246 except
7247 on e: Exception do FbException.catchException(nil, e);
7248 end
7249 end;
7250
7251 function IConfigManagerImpl_getRootDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7252 begin
7253 try
7254 Result := IConfigManagerImpl(this).getRootDirectory();
7255 except
7256 on e: Exception do FbException.catchException(nil, e);
7257 end
7258 end;
7259
7260 function IConfigManagerImpl_getDefaultSecurityDbDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7261 begin
7262 try
7263 Result := IConfigManagerImpl(this).getDefaultSecurityDb();
7264 except
7265 on e: Exception do FbException.catchException(nil, e);
7266 end
7267 end;
7268
7269 var
7270 IConfigManagerImpl_vTable: ConfigManagerVTable;
7271
7272 constructor IConfigManagerImpl.create;
7273 begin
7274 vTable := IConfigManagerImpl_vTable;
7275 end;
7276
7277 procedure IEventCallbackImpl_addRefDispatcher(this: IEventCallback); cdecl;
7278 begin
7279 try
7280 IEventCallbackImpl(this).addRef();
7281 except
7282 on e: Exception do FbException.catchException(nil, e);
7283 end
7284 end;
7285
7286 function IEventCallbackImpl_releaseDispatcher(this: IEventCallback): Integer; cdecl;
7287 begin
7288 try
7289 Result := IEventCallbackImpl(this).release();
7290 except
7291 on e: Exception do FbException.catchException(nil, e);
7292 end
7293 end;
7294
7295 procedure IEventCallbackImpl_eventCallbackFunctionDispatcher(this: IEventCallback; length: Cardinal; events: BytePtr); cdecl;
7296 begin
7297 try
7298 IEventCallbackImpl(this).eventCallbackFunction(length, events);
7299 except
7300 on e: Exception do FbException.catchException(nil, e);
7301 end
7302 end;
7303
7304 var
7305 IEventCallbackImpl_vTable: EventCallbackVTable;
7306
7307 constructor IEventCallbackImpl.create;
7308 begin
7309 vTable := IEventCallbackImpl_vTable;
7310 end;
7311
7312 procedure IBlobImpl_addRefDispatcher(this: IBlob); cdecl;
7313 begin
7314 try
7315 IBlobImpl(this).addRef();
7316 except
7317 on e: Exception do FbException.catchException(nil, e);
7318 end
7319 end;
7320
7321 function IBlobImpl_releaseDispatcher(this: IBlob): Integer; cdecl;
7322 begin
7323 try
7324 Result := IBlobImpl(this).release();
7325 except
7326 on e: Exception do FbException.catchException(nil, e);
7327 end
7328 end;
7329
7330 procedure IBlobImpl_getInfoDispatcher(this: IBlob; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7331 begin
7332 try
7333 IBlobImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7334 except
7335 on e: Exception do FbException.catchException(status, e);
7336 end
7337 end;
7338
7339 function IBlobImpl_getSegmentDispatcher(this: IBlob; status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; cdecl;
7340 begin
7341 try
7342 Result := IBlobImpl(this).getSegment(status, bufferLength, buffer, segmentLength);
7343 except
7344 on e: Exception do FbException.catchException(status, e);
7345 end
7346 end;
7347
7348 procedure IBlobImpl_putSegmentDispatcher(this: IBlob; status: IStatus; length: Cardinal; buffer: Pointer); cdecl;
7349 begin
7350 try
7351 IBlobImpl(this).putSegment(status, length, buffer);
7352 except
7353 on e: Exception do FbException.catchException(status, e);
7354 end
7355 end;
7356
7357 procedure IBlobImpl_cancelDispatcher(this: IBlob; status: IStatus); cdecl;
7358 begin
7359 try
7360 IBlobImpl(this).cancel(status);
7361 except
7362 on e: Exception do FbException.catchException(status, e);
7363 end
7364 end;
7365
7366 procedure IBlobImpl_closeDispatcher(this: IBlob; status: IStatus); cdecl;
7367 begin
7368 try
7369 IBlobImpl(this).close(status);
7370 except
7371 on e: Exception do FbException.catchException(status, e);
7372 end
7373 end;
7374
7375 function IBlobImpl_seekDispatcher(this: IBlob; status: IStatus; mode: Integer; offset: Integer): Integer; cdecl;
7376 begin
7377 try
7378 Result := IBlobImpl(this).seek(status, mode, offset);
7379 except
7380 on e: Exception do FbException.catchException(status, e);
7381 end
7382 end;
7383
7384 var
7385 IBlobImpl_vTable: BlobVTable;
7386
7387 constructor IBlobImpl.create;
7388 begin
7389 vTable := IBlobImpl_vTable;
7390 end;
7391
7392 procedure ITransactionImpl_addRefDispatcher(this: ITransaction); cdecl;
7393 begin
7394 try
7395 ITransactionImpl(this).addRef();
7396 except
7397 on e: Exception do FbException.catchException(nil, e);
7398 end
7399 end;
7400
7401 function ITransactionImpl_releaseDispatcher(this: ITransaction): Integer; cdecl;
7402 begin
7403 try
7404 Result := ITransactionImpl(this).release();
7405 except
7406 on e: Exception do FbException.catchException(nil, e);
7407 end
7408 end;
7409
7410 procedure ITransactionImpl_getInfoDispatcher(this: ITransaction; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7411 begin
7412 try
7413 ITransactionImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7414 except
7415 on e: Exception do FbException.catchException(status, e);
7416 end
7417 end;
7418
7419 procedure ITransactionImpl_prepareDispatcher(this: ITransaction; status: IStatus; msgLength: Cardinal; message: BytePtr); cdecl;
7420 begin
7421 try
7422 ITransactionImpl(this).prepare(status, msgLength, message);
7423 except
7424 on e: Exception do FbException.catchException(status, e);
7425 end
7426 end;
7427
7428 procedure ITransactionImpl_commitDispatcher(this: ITransaction; status: IStatus); cdecl;
7429 begin
7430 try
7431 ITransactionImpl(this).commit(status);
7432 except
7433 on e: Exception do FbException.catchException(status, e);
7434 end
7435 end;
7436
7437 procedure ITransactionImpl_commitRetainingDispatcher(this: ITransaction; status: IStatus); cdecl;
7438 begin
7439 try
7440 ITransactionImpl(this).commitRetaining(status);
7441 except
7442 on e: Exception do FbException.catchException(status, e);
7443 end
7444 end;
7445
7446 procedure ITransactionImpl_rollbackDispatcher(this: ITransaction; status: IStatus); cdecl;
7447 begin
7448 try
7449 ITransactionImpl(this).rollback(status);
7450 except
7451 on e: Exception do FbException.catchException(status, e);
7452 end
7453 end;
7454
7455 procedure ITransactionImpl_rollbackRetainingDispatcher(this: ITransaction; status: IStatus); cdecl;
7456 begin
7457 try
7458 ITransactionImpl(this).rollbackRetaining(status);
7459 except
7460 on e: Exception do FbException.catchException(status, e);
7461 end
7462 end;
7463
7464 procedure ITransactionImpl_disconnectDispatcher(this: ITransaction; status: IStatus); cdecl;
7465 begin
7466 try
7467 ITransactionImpl(this).disconnect(status);
7468 except
7469 on e: Exception do FbException.catchException(status, e);
7470 end
7471 end;
7472
7473 function ITransactionImpl_joinDispatcher(this: ITransaction; status: IStatus; transaction: ITransaction): ITransaction; cdecl;
7474 begin
7475 try
7476 Result := ITransactionImpl(this).join(status, transaction);
7477 except
7478 on e: Exception do FbException.catchException(status, e);
7479 end
7480 end;
7481
7482 function ITransactionImpl_validateDispatcher(this: ITransaction; status: IStatus; attachment: IAttachment): ITransaction; cdecl;
7483 begin
7484 try
7485 Result := ITransactionImpl(this).validate(status, attachment);
7486 except
7487 on e: Exception do FbException.catchException(status, e);
7488 end
7489 end;
7490
7491 function ITransactionImpl_enterDtcDispatcher(this: ITransaction; status: IStatus): ITransaction; cdecl;
7492 begin
7493 try
7494 Result := ITransactionImpl(this).enterDtc(status);
7495 except
7496 on e: Exception do FbException.catchException(status, e);
7497 end
7498 end;
7499
7500 var
7501 ITransactionImpl_vTable: TransactionVTable;
7502
7503 constructor ITransactionImpl.create;
7504 begin
7505 vTable := ITransactionImpl_vTable;
7506 end;
7507
7508 procedure IMessageMetadataImpl_addRefDispatcher(this: IMessageMetadata); cdecl;
7509 begin
7510 try
7511 IMessageMetadataImpl(this).addRef();
7512 except
7513 on e: Exception do FbException.catchException(nil, e);
7514 end
7515 end;
7516
7517 function IMessageMetadataImpl_releaseDispatcher(this: IMessageMetadata): Integer; cdecl;
7518 begin
7519 try
7520 Result := IMessageMetadataImpl(this).release();
7521 except
7522 on e: Exception do FbException.catchException(nil, e);
7523 end
7524 end;
7525
7526 function IMessageMetadataImpl_getCountDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7527 begin
7528 try
7529 Result := IMessageMetadataImpl(this).getCount(status);
7530 except
7531 on e: Exception do FbException.catchException(status, e);
7532 end
7533 end;
7534
7535 function IMessageMetadataImpl_getFieldDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7536 begin
7537 try
7538 Result := IMessageMetadataImpl(this).getField(status, index);
7539 except
7540 on e: Exception do FbException.catchException(status, e);
7541 end
7542 end;
7543
7544 function IMessageMetadataImpl_getRelationDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7545 begin
7546 try
7547 Result := IMessageMetadataImpl(this).getRelation(status, index);
7548 except
7549 on e: Exception do FbException.catchException(status, e);
7550 end
7551 end;
7552
7553 function IMessageMetadataImpl_getOwnerDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7554 begin
7555 try
7556 Result := IMessageMetadataImpl(this).getOwner(status, index);
7557 except
7558 on e: Exception do FbException.catchException(status, e);
7559 end
7560 end;
7561
7562 function IMessageMetadataImpl_getAliasDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7563 begin
7564 try
7565 Result := IMessageMetadataImpl(this).getAlias(status, index);
7566 except
7567 on e: Exception do FbException.catchException(status, e);
7568 end
7569 end;
7570
7571 function IMessageMetadataImpl_getTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7572 begin
7573 try
7574 Result := IMessageMetadataImpl(this).getType(status, index);
7575 except
7576 on e: Exception do FbException.catchException(status, e);
7577 end
7578 end;
7579
7580 function IMessageMetadataImpl_isNullableDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Boolean; cdecl;
7581 begin
7582 try
7583 Result := IMessageMetadataImpl(this).isNullable(status, index);
7584 except
7585 on e: Exception do FbException.catchException(status, e);
7586 end
7587 end;
7588
7589 function IMessageMetadataImpl_getSubTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
7590 begin
7591 try
7592 Result := IMessageMetadataImpl(this).getSubType(status, index);
7593 except
7594 on e: Exception do FbException.catchException(status, e);
7595 end
7596 end;
7597
7598 function IMessageMetadataImpl_getLengthDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7599 begin
7600 try
7601 Result := IMessageMetadataImpl(this).getLength(status, index);
7602 except
7603 on e: Exception do FbException.catchException(status, e);
7604 end
7605 end;
7606
7607 function IMessageMetadataImpl_getScaleDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
7608 begin
7609 try
7610 Result := IMessageMetadataImpl(this).getScale(status, index);
7611 except
7612 on e: Exception do FbException.catchException(status, e);
7613 end
7614 end;
7615
7616 function IMessageMetadataImpl_getCharSetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7617 begin
7618 try
7619 Result := IMessageMetadataImpl(this).getCharSet(status, index);
7620 except
7621 on e: Exception do FbException.catchException(status, e);
7622 end
7623 end;
7624
7625 function IMessageMetadataImpl_getOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7626 begin
7627 try
7628 Result := IMessageMetadataImpl(this).getOffset(status, index);
7629 except
7630 on e: Exception do FbException.catchException(status, e);
7631 end
7632 end;
7633
7634 function IMessageMetadataImpl_getNullOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7635 begin
7636 try
7637 Result := IMessageMetadataImpl(this).getNullOffset(status, index);
7638 except
7639 on e: Exception do FbException.catchException(status, e);
7640 end
7641 end;
7642
7643 function IMessageMetadataImpl_getBuilderDispatcher(this: IMessageMetadata; status: IStatus): IMetadataBuilder; cdecl;
7644 begin
7645 try
7646 Result := IMessageMetadataImpl(this).getBuilder(status);
7647 except
7648 on e: Exception do FbException.catchException(status, e);
7649 end
7650 end;
7651
7652 function IMessageMetadataImpl_getMessageLengthDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7653 begin
7654 try
7655 Result := IMessageMetadataImpl(this).getMessageLength(status);
7656 except
7657 on e: Exception do FbException.catchException(status, e);
7658 end
7659 end;
7660
7661 function IMessageMetadataImpl_getAlignmentDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7662 begin
7663 try
7664 Result := IMessageMetadataImpl(this).getAlignment(status);
7665 except
7666 on e: Exception do FbException.catchException(status, e);
7667 end
7668 end;
7669
7670 function IMessageMetadataImpl_getAlignedLengthDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7671 begin
7672 try
7673 Result := IMessageMetadataImpl(this).getAlignedLength(status);
7674 except
7675 on e: Exception do FbException.catchException(status, e);
7676 end
7677 end;
7678
7679 var
7680 IMessageMetadataImpl_vTable: MessageMetadataVTable;
7681
7682 constructor IMessageMetadataImpl.create;
7683 begin
7684 vTable := IMessageMetadataImpl_vTable;
7685 end;
7686
7687 procedure IMetadataBuilderImpl_addRefDispatcher(this: IMetadataBuilder); cdecl;
7688 begin
7689 try
7690 IMetadataBuilderImpl(this).addRef();
7691 except
7692 on e: Exception do FbException.catchException(nil, e);
7693 end
7694 end;
7695
7696 function IMetadataBuilderImpl_releaseDispatcher(this: IMetadataBuilder): Integer; cdecl;
7697 begin
7698 try
7699 Result := IMetadataBuilderImpl(this).release();
7700 except
7701 on e: Exception do FbException.catchException(nil, e);
7702 end
7703 end;
7704
7705 procedure IMetadataBuilderImpl_setTypeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; type_: Cardinal); cdecl;
7706 begin
7707 try
7708 IMetadataBuilderImpl(this).setType(status, index, type_);
7709 except
7710 on e: Exception do FbException.catchException(status, e);
7711 end
7712 end;
7713
7714 procedure IMetadataBuilderImpl_setSubTypeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; subType: Integer); cdecl;
7715 begin
7716 try
7717 IMetadataBuilderImpl(this).setSubType(status, index, subType);
7718 except
7719 on e: Exception do FbException.catchException(status, e);
7720 end
7721 end;
7722
7723 procedure IMetadataBuilderImpl_setLengthDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; length: Cardinal); cdecl;
7724 begin
7725 try
7726 IMetadataBuilderImpl(this).setLength(status, index, length);
7727 except
7728 on e: Exception do FbException.catchException(status, e);
7729 end
7730 end;
7731
7732 procedure IMetadataBuilderImpl_setCharSetDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; charSet: Cardinal); cdecl;
7733 begin
7734 try
7735 IMetadataBuilderImpl(this).setCharSet(status, index, charSet);
7736 except
7737 on e: Exception do FbException.catchException(status, e);
7738 end
7739 end;
7740
7741 procedure IMetadataBuilderImpl_setScaleDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; scale: Integer); cdecl;
7742 begin
7743 try
7744 IMetadataBuilderImpl(this).setScale(status, index, scale);
7745 except
7746 on e: Exception do FbException.catchException(status, e);
7747 end
7748 end;
7749
7750 procedure IMetadataBuilderImpl_truncateDispatcher(this: IMetadataBuilder; status: IStatus; count: Cardinal); cdecl;
7751 begin
7752 try
7753 IMetadataBuilderImpl(this).truncate(status, count);
7754 except
7755 on e: Exception do FbException.catchException(status, e);
7756 end
7757 end;
7758
7759 procedure IMetadataBuilderImpl_moveNameToIndexDispatcher(this: IMetadataBuilder; status: IStatus; name: PAnsiChar; index: Cardinal); cdecl;
7760 begin
7761 try
7762 IMetadataBuilderImpl(this).moveNameToIndex(status, name, index);
7763 except
7764 on e: Exception do FbException.catchException(status, e);
7765 end
7766 end;
7767
7768 procedure IMetadataBuilderImpl_removeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal); cdecl;
7769 begin
7770 try
7771 IMetadataBuilderImpl(this).remove(status, index);
7772 except
7773 on e: Exception do FbException.catchException(status, e);
7774 end
7775 end;
7776
7777 function IMetadataBuilderImpl_addFieldDispatcher(this: IMetadataBuilder; status: IStatus): Cardinal; cdecl;
7778 begin
7779 try
7780 Result := IMetadataBuilderImpl(this).addField(status);
7781 except
7782 on e: Exception do FbException.catchException(status, e);
7783 end
7784 end;
7785
7786 function IMetadataBuilderImpl_getMetadataDispatcher(this: IMetadataBuilder; status: IStatus): IMessageMetadata; cdecl;
7787 begin
7788 try
7789 Result := IMetadataBuilderImpl(this).getMetadata(status);
7790 except
7791 on e: Exception do FbException.catchException(status, e);
7792 end
7793 end;
7794
7795 procedure IMetadataBuilderImpl_setFieldDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; field: PAnsiChar); cdecl;
7796 begin
7797 try
7798 IMetadataBuilderImpl(this).setField(status, index, field);
7799 except
7800 on e: Exception do FbException.catchException(status, e);
7801 end
7802 end;
7803
7804 procedure IMetadataBuilderImpl_setRelationDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; relation: PAnsiChar); cdecl;
7805 begin
7806 try
7807 IMetadataBuilderImpl(this).setRelation(status, index, relation);
7808 except
7809 on e: Exception do FbException.catchException(status, e);
7810 end
7811 end;
7812
7813 procedure IMetadataBuilderImpl_setOwnerDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; owner: PAnsiChar); cdecl;
7814 begin
7815 try
7816 IMetadataBuilderImpl(this).setOwner(status, index, owner);
7817 except
7818 on e: Exception do FbException.catchException(status, e);
7819 end
7820 end;
7821
7822 procedure IMetadataBuilderImpl_setAliasDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; alias: PAnsiChar); cdecl;
7823 begin
7824 try
7825 IMetadataBuilderImpl(this).setAlias(status, index, alias);
7826 except
7827 on e: Exception do FbException.catchException(status, e);
7828 end
7829 end;
7830
7831 var
7832 IMetadataBuilderImpl_vTable: MetadataBuilderVTable;
7833
7834 constructor IMetadataBuilderImpl.create;
7835 begin
7836 vTable := IMetadataBuilderImpl_vTable;
7837 end;
7838
7839 procedure IResultSetImpl_addRefDispatcher(this: IResultSet); cdecl;
7840 begin
7841 try
7842 IResultSetImpl(this).addRef();
7843 except
7844 on e: Exception do FbException.catchException(nil, e);
7845 end
7846 end;
7847
7848 function IResultSetImpl_releaseDispatcher(this: IResultSet): Integer; cdecl;
7849 begin
7850 try
7851 Result := IResultSetImpl(this).release();
7852 except
7853 on e: Exception do FbException.catchException(nil, e);
7854 end
7855 end;
7856
7857 function IResultSetImpl_fetchNextDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7858 begin
7859 try
7860 Result := IResultSetImpl(this).fetchNext(status, message);
7861 except
7862 on e: Exception do FbException.catchException(status, e);
7863 end
7864 end;
7865
7866 function IResultSetImpl_fetchPriorDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7867 begin
7868 try
7869 Result := IResultSetImpl(this).fetchPrior(status, message);
7870 except
7871 on e: Exception do FbException.catchException(status, e);
7872 end
7873 end;
7874
7875 function IResultSetImpl_fetchFirstDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7876 begin
7877 try
7878 Result := IResultSetImpl(this).fetchFirst(status, message);
7879 except
7880 on e: Exception do FbException.catchException(status, e);
7881 end
7882 end;
7883
7884 function IResultSetImpl_fetchLastDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
7885 begin
7886 try
7887 Result := IResultSetImpl(this).fetchLast(status, message);
7888 except
7889 on e: Exception do FbException.catchException(status, e);
7890 end
7891 end;
7892
7893 function IResultSetImpl_fetchAbsoluteDispatcher(this: IResultSet; status: IStatus; position: Integer; message: Pointer): Integer; cdecl;
7894 begin
7895 try
7896 Result := IResultSetImpl(this).fetchAbsolute(status, position, message);
7897 except
7898 on e: Exception do FbException.catchException(status, e);
7899 end
7900 end;
7901
7902 function IResultSetImpl_fetchRelativeDispatcher(this: IResultSet; status: IStatus; offset: Integer; message: Pointer): Integer; cdecl;
7903 begin
7904 try
7905 Result := IResultSetImpl(this).fetchRelative(status, offset, message);
7906 except
7907 on e: Exception do FbException.catchException(status, e);
7908 end
7909 end;
7910
7911 function IResultSetImpl_isEofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl;
7912 begin
7913 try
7914 Result := IResultSetImpl(this).isEof(status);
7915 except
7916 on e: Exception do FbException.catchException(status, e);
7917 end
7918 end;
7919
7920 function IResultSetImpl_isBofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl;
7921 begin
7922 try
7923 Result := IResultSetImpl(this).isBof(status);
7924 except
7925 on e: Exception do FbException.catchException(status, e);
7926 end
7927 end;
7928
7929 function IResultSetImpl_getMetadataDispatcher(this: IResultSet; status: IStatus): IMessageMetadata; cdecl;
7930 begin
7931 try
7932 Result := IResultSetImpl(this).getMetadata(status);
7933 except
7934 on e: Exception do FbException.catchException(status, e);
7935 end
7936 end;
7937
7938 procedure IResultSetImpl_closeDispatcher(this: IResultSet; status: IStatus); cdecl;
7939 begin
7940 try
7941 IResultSetImpl(this).close(status);
7942 except
7943 on e: Exception do FbException.catchException(status, e);
7944 end
7945 end;
7946
7947 procedure IResultSetImpl_setDelayedOutputFormatDispatcher(this: IResultSet; status: IStatus; format: IMessageMetadata); cdecl;
7948 begin
7949 try
7950 IResultSetImpl(this).setDelayedOutputFormat(status, format);
7951 except
7952 on e: Exception do FbException.catchException(status, e);
7953 end
7954 end;
7955
7956 var
7957 IResultSetImpl_vTable: ResultSetVTable;
7958
7959 constructor IResultSetImpl.create;
7960 begin
7961 vTable := IResultSetImpl_vTable;
7962 end;
7963
7964 procedure IStatementImpl_addRefDispatcher(this: IStatement); cdecl;
7965 begin
7966 try
7967 IStatementImpl(this).addRef();
7968 except
7969 on e: Exception do FbException.catchException(nil, e);
7970 end
7971 end;
7972
7973 function IStatementImpl_releaseDispatcher(this: IStatement): Integer; cdecl;
7974 begin
7975 try
7976 Result := IStatementImpl(this).release();
7977 except
7978 on e: Exception do FbException.catchException(nil, e);
7979 end
7980 end;
7981
7982 procedure IStatementImpl_getInfoDispatcher(this: IStatement; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7983 begin
7984 try
7985 IStatementImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7986 except
7987 on e: Exception do FbException.catchException(status, e);
7988 end
7989 end;
7990
7991 function IStatementImpl_getTypeDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
7992 begin
7993 try
7994 Result := IStatementImpl(this).getType(status);
7995 except
7996 on e: Exception do FbException.catchException(status, e);
7997 end
7998 end;
7999
8000 function IStatementImpl_getPlanDispatcher(this: IStatement; status: IStatus; detailed: Boolean): PAnsiChar; cdecl;
8001 begin
8002 try
8003 Result := IStatementImpl(this).getPlan(status, detailed);
8004 except
8005 on e: Exception do FbException.catchException(status, e);
8006 end
8007 end;
8008
8009 function IStatementImpl_getAffectedRecordsDispatcher(this: IStatement; status: IStatus): QWord; cdecl;
8010 begin
8011 try
8012 Result := IStatementImpl(this).getAffectedRecords(status);
8013 except
8014 on e: Exception do FbException.catchException(status, e);
8015 end
8016 end;
8017
8018 function IStatementImpl_getInputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
8019 begin
8020 try
8021 Result := IStatementImpl(this).getInputMetadata(status);
8022 except
8023 on e: Exception do FbException.catchException(status, e);
8024 end
8025 end;
8026
8027 function IStatementImpl_getOutputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
8028 begin
8029 try
8030 Result := IStatementImpl(this).getOutputMetadata(status);
8031 except
8032 on e: Exception do FbException.catchException(status, e);
8033 end
8034 end;
8035
8036 function IStatementImpl_executeDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
8037 begin
8038 try
8039 Result := IStatementImpl(this).execute(status, transaction, inMetadata, inBuffer, outMetadata, outBuffer);
8040 except
8041 on e: Exception do FbException.catchException(status, e);
8042 end
8043 end;
8044
8045 function IStatementImpl_openCursorDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; cdecl;
8046 begin
8047 try
8048 Result := IStatementImpl(this).openCursor(status, transaction, inMetadata, inBuffer, outMetadata, flags);
8049 except
8050 on e: Exception do FbException.catchException(status, e);
8051 end
8052 end;
8053
8054 procedure IStatementImpl_setCursorNameDispatcher(this: IStatement; status: IStatus; name: PAnsiChar); cdecl;
8055 begin
8056 try
8057 IStatementImpl(this).setCursorName(status, name);
8058 except
8059 on e: Exception do FbException.catchException(status, e);
8060 end
8061 end;
8062
8063 procedure IStatementImpl_freeDispatcher(this: IStatement; status: IStatus); cdecl;
8064 begin
8065 try
8066 IStatementImpl(this).free(status);
8067 except
8068 on e: Exception do FbException.catchException(status, e);
8069 end
8070 end;
8071
8072 function IStatementImpl_getFlagsDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
8073 begin
8074 try
8075 Result := IStatementImpl(this).getFlags(status);
8076 except
8077 on e: Exception do FbException.catchException(status, e);
8078 end
8079 end;
8080
8081 function IStatementImpl_getTimeoutDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
8082 begin
8083 try
8084 Result := IStatementImpl(this).getTimeout(status);
8085 except
8086 on e: Exception do FbException.catchException(status, e);
8087 end
8088 end;
8089
8090 procedure IStatementImpl_setTimeoutDispatcher(this: IStatement; status: IStatus; timeOut: Cardinal); cdecl;
8091 begin
8092 try
8093 IStatementImpl(this).setTimeout(status, timeOut);
8094 except
8095 on e: Exception do FbException.catchException(status, e);
8096 end
8097 end;
8098
8099 function IStatementImpl_createBatchDispatcher(this: IStatement; status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
8100 begin
8101 try
8102 Result := IStatementImpl(this).createBatch(status, inMetadata, parLength, par);
8103 except
8104 on e: Exception do FbException.catchException(status, e);
8105 end
8106 end;
8107
8108 var
8109 IStatementImpl_vTable: StatementVTable;
8110
8111 constructor IStatementImpl.create;
8112 begin
8113 vTable := IStatementImpl_vTable;
8114 end;
8115
8116 procedure IBatchImpl_addRefDispatcher(this: IBatch); cdecl;
8117 begin
8118 try
8119 IBatchImpl(this).addRef();
8120 except
8121 on e: Exception do FbException.catchException(nil, e);
8122 end
8123 end;
8124
8125 function IBatchImpl_releaseDispatcher(this: IBatch): Integer; cdecl;
8126 begin
8127 try
8128 Result := IBatchImpl(this).release();
8129 except
8130 on e: Exception do FbException.catchException(nil, e);
8131 end
8132 end;
8133
8134 procedure IBatchImpl_addDispatcher(this: IBatch; status: IStatus; count: Cardinal; inBuffer: Pointer); cdecl;
8135 begin
8136 try
8137 IBatchImpl(this).add(status, count, inBuffer);
8138 except
8139 on e: Exception do FbException.catchException(status, e);
8140 end
8141 end;
8142
8143 procedure IBatchImpl_addBlobDispatcher(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer; blobId: ISC_QUADPtr; parLength: Cardinal; par: BytePtr); cdecl;
8144 begin
8145 try
8146 IBatchImpl(this).addBlob(status, length, inBuffer, blobId, parLength, par);
8147 except
8148 on e: Exception do FbException.catchException(status, e);
8149 end
8150 end;
8151
8152 procedure IBatchImpl_appendBlobDataDispatcher(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
8153 begin
8154 try
8155 IBatchImpl(this).appendBlobData(status, length, inBuffer);
8156 except
8157 on e: Exception do FbException.catchException(status, e);
8158 end
8159 end;
8160
8161 procedure IBatchImpl_addBlobStreamDispatcher(this: IBatch; status: IStatus; length: Cardinal; inBuffer: Pointer); cdecl;
8162 begin
8163 try
8164 IBatchImpl(this).addBlobStream(status, length, inBuffer);
8165 except
8166 on e: Exception do FbException.catchException(status, e);
8167 end
8168 end;
8169
8170 procedure IBatchImpl_registerBlobDispatcher(this: IBatch; status: IStatus; existingBlob: ISC_QUADPtr; blobId: ISC_QUADPtr); cdecl;
8171 begin
8172 try
8173 IBatchImpl(this).registerBlob(status, existingBlob, blobId);
8174 except
8175 on e: Exception do FbException.catchException(status, e);
8176 end
8177 end;
8178
8179 function IBatchImpl_executeDispatcher(this: IBatch; status: IStatus; transaction: ITransaction): IBatchCompletionState; cdecl;
8180 begin
8181 try
8182 Result := IBatchImpl(this).execute(status, transaction);
8183 except
8184 on e: Exception do FbException.catchException(status, e);
8185 end
8186 end;
8187
8188 procedure IBatchImpl_cancelDispatcher(this: IBatch; status: IStatus); cdecl;
8189 begin
8190 try
8191 IBatchImpl(this).cancel(status);
8192 except
8193 on e: Exception do FbException.catchException(status, e);
8194 end
8195 end;
8196
8197 function IBatchImpl_getBlobAlignmentDispatcher(this: IBatch; status: IStatus): Cardinal; cdecl;
8198 begin
8199 try
8200 Result := IBatchImpl(this).getBlobAlignment(status);
8201 except
8202 on e: Exception do FbException.catchException(status, e);
8203 end
8204 end;
8205
8206 function IBatchImpl_getMetadataDispatcher(this: IBatch; status: IStatus): IMessageMetadata; cdecl;
8207 begin
8208 try
8209 Result := IBatchImpl(this).getMetadata(status);
8210 except
8211 on e: Exception do FbException.catchException(status, e);
8212 end
8213 end;
8214
8215 procedure IBatchImpl_setDefaultBpbDispatcher(this: IBatch; status: IStatus; parLength: Cardinal; par: BytePtr); cdecl;
8216 begin
8217 try
8218 IBatchImpl(this).setDefaultBpb(status, parLength, par);
8219 except
8220 on e: Exception do FbException.catchException(status, e);
8221 end
8222 end;
8223
8224 procedure IBatchImpl_closeDispatcher(this: IBatch; status: IStatus); cdecl;
8225 begin
8226 try
8227 IBatchImpl(this).close(status);
8228 except
8229 on e: Exception do FbException.catchException(status, e);
8230 end
8231 end;
8232
8233 var
8234 IBatchImpl_vTable: BatchVTable;
8235
8236 constructor IBatchImpl.create;
8237 begin
8238 vTable := IBatchImpl_vTable;
8239 end;
8240
8241 procedure IBatchCompletionStateImpl_disposeDispatcher(this: IBatchCompletionState); cdecl;
8242 begin
8243 try
8244 IBatchCompletionStateImpl(this).dispose();
8245 except
8246 on e: Exception do FbException.catchException(nil, e);
8247 end
8248 end;
8249
8250 function IBatchCompletionStateImpl_getSizeDispatcher(this: IBatchCompletionState; status: IStatus): Cardinal; cdecl;
8251 begin
8252 try
8253 Result := IBatchCompletionStateImpl(this).getSize(status);
8254 except
8255 on e: Exception do FbException.catchException(status, e);
8256 end
8257 end;
8258
8259 function IBatchCompletionStateImpl_getStateDispatcher(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Integer; cdecl;
8260 begin
8261 try
8262 Result := IBatchCompletionStateImpl(this).getState(status, pos);
8263 except
8264 on e: Exception do FbException.catchException(status, e);
8265 end
8266 end;
8267
8268 function IBatchCompletionStateImpl_findErrorDispatcher(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Cardinal; cdecl;
8269 begin
8270 try
8271 Result := IBatchCompletionStateImpl(this).findError(status, pos);
8272 except
8273 on e: Exception do FbException.catchException(status, e);
8274 end
8275 end;
8276
8277 procedure IBatchCompletionStateImpl_getStatusDispatcher(this: IBatchCompletionState; status: IStatus; to_: IStatus; pos: Cardinal); cdecl;
8278 begin
8279 try
8280 IBatchCompletionStateImpl(this).getStatus(status, to_, pos);
8281 except
8282 on e: Exception do FbException.catchException(status, e);
8283 end
8284 end;
8285
8286 var
8287 IBatchCompletionStateImpl_vTable: BatchCompletionStateVTable;
8288
8289 constructor IBatchCompletionStateImpl.create;
8290 begin
8291 vTable := IBatchCompletionStateImpl_vTable;
8292 end;
8293
8294 procedure IReplicatorImpl_addRefDispatcher(this: IReplicator); cdecl;
8295 begin
8296 try
8297 IReplicatorImpl(this).addRef();
8298 except
8299 on e: Exception do FbException.catchException(nil, e);
8300 end
8301 end;
8302
8303 function IReplicatorImpl_releaseDispatcher(this: IReplicator): Integer; cdecl;
8304 begin
8305 try
8306 Result := IReplicatorImpl(this).release();
8307 except
8308 on e: Exception do FbException.catchException(nil, e);
8309 end
8310 end;
8311
8312 procedure IReplicatorImpl_processDispatcher(this: IReplicator; status: IStatus; length: Cardinal; data: BytePtr); cdecl;
8313 begin
8314 try
8315 IReplicatorImpl(this).process(status, length, data);
8316 except
8317 on e: Exception do FbException.catchException(status, e);
8318 end
8319 end;
8320
8321 procedure IReplicatorImpl_closeDispatcher(this: IReplicator; status: IStatus); cdecl;
8322 begin
8323 try
8324 IReplicatorImpl(this).close(status);
8325 except
8326 on e: Exception do FbException.catchException(status, e);
8327 end
8328 end;
8329
8330 var
8331 IReplicatorImpl_vTable: ReplicatorVTable;
8332
8333 constructor IReplicatorImpl.create;
8334 begin
8335 vTable := IReplicatorImpl_vTable;
8336 end;
8337
8338 procedure IRequestImpl_addRefDispatcher(this: IRequest); cdecl;
8339 begin
8340 try
8341 IRequestImpl(this).addRef();
8342 except
8343 on e: Exception do FbException.catchException(nil, e);
8344 end
8345 end;
8346
8347 function IRequestImpl_releaseDispatcher(this: IRequest): Integer; cdecl;
8348 begin
8349 try
8350 Result := IRequestImpl(this).release();
8351 except
8352 on e: Exception do FbException.catchException(nil, e);
8353 end
8354 end;
8355
8356 procedure IRequestImpl_receiveDispatcher(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
8357 begin
8358 try
8359 IRequestImpl(this).receive(status, level, msgType, length, message);
8360 except
8361 on e: Exception do FbException.catchException(status, e);
8362 end
8363 end;
8364
8365 procedure IRequestImpl_sendDispatcher(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
8366 begin
8367 try
8368 IRequestImpl(this).send(status, level, msgType, length, message);
8369 except
8370 on e: Exception do FbException.catchException(status, e);
8371 end
8372 end;
8373
8374 procedure IRequestImpl_getInfoDispatcher(this: IRequest; status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8375 begin
8376 try
8377 IRequestImpl(this).getInfo(status, level, itemsLength, items, bufferLength, buffer);
8378 except
8379 on e: Exception do FbException.catchException(status, e);
8380 end
8381 end;
8382
8383 procedure IRequestImpl_startDispatcher(this: IRequest; status: IStatus; tra: ITransaction; level: Integer); cdecl;
8384 begin
8385 try
8386 IRequestImpl(this).start(status, tra, level);
8387 except
8388 on e: Exception do FbException.catchException(status, e);
8389 end
8390 end;
8391
8392 procedure IRequestImpl_startAndSendDispatcher(this: IRequest; status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: Pointer); cdecl;
8393 begin
8394 try
8395 IRequestImpl(this).startAndSend(status, tra, level, msgType, length, message);
8396 except
8397 on e: Exception do FbException.catchException(status, e);
8398 end
8399 end;
8400
8401 procedure IRequestImpl_unwindDispatcher(this: IRequest; status: IStatus; level: Integer); cdecl;
8402 begin
8403 try
8404 IRequestImpl(this).unwind(status, level);
8405 except
8406 on e: Exception do FbException.catchException(status, e);
8407 end
8408 end;
8409
8410 procedure IRequestImpl_freeDispatcher(this: IRequest; status: IStatus); cdecl;
8411 begin
8412 try
8413 IRequestImpl(this).free(status);
8414 except
8415 on e: Exception do FbException.catchException(status, e);
8416 end
8417 end;
8418
8419 var
8420 IRequestImpl_vTable: RequestVTable;
8421
8422 constructor IRequestImpl.create;
8423 begin
8424 vTable := IRequestImpl_vTable;
8425 end;
8426
8427 procedure IEventsImpl_addRefDispatcher(this: IEvents); cdecl;
8428 begin
8429 try
8430 IEventsImpl(this).addRef();
8431 except
8432 on e: Exception do FbException.catchException(nil, e);
8433 end
8434 end;
8435
8436 function IEventsImpl_releaseDispatcher(this: IEvents): Integer; cdecl;
8437 begin
8438 try
8439 Result := IEventsImpl(this).release();
8440 except
8441 on e: Exception do FbException.catchException(nil, e);
8442 end
8443 end;
8444
8445 procedure IEventsImpl_cancelDispatcher(this: IEvents; status: IStatus); cdecl;
8446 begin
8447 try
8448 IEventsImpl(this).cancel(status);
8449 except
8450 on e: Exception do FbException.catchException(status, e);
8451 end
8452 end;
8453
8454 var
8455 IEventsImpl_vTable: EventsVTable;
8456
8457 constructor IEventsImpl.create;
8458 begin
8459 vTable := IEventsImpl_vTable;
8460 end;
8461
8462 procedure IAttachmentImpl_addRefDispatcher(this: IAttachment); cdecl;
8463 begin
8464 try
8465 IAttachmentImpl(this).addRef();
8466 except
8467 on e: Exception do FbException.catchException(nil, e);
8468 end
8469 end;
8470
8471 function IAttachmentImpl_releaseDispatcher(this: IAttachment): Integer; cdecl;
8472 begin
8473 try
8474 Result := IAttachmentImpl(this).release();
8475 except
8476 on e: Exception do FbException.catchException(nil, e);
8477 end
8478 end;
8479
8480 procedure IAttachmentImpl_getInfoDispatcher(this: IAttachment; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8481 begin
8482 try
8483 IAttachmentImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
8484 except
8485 on e: Exception do FbException.catchException(status, e);
8486 end
8487 end;
8488
8489 function IAttachmentImpl_startTransactionDispatcher(this: IAttachment; status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; cdecl;
8490 begin
8491 try
8492 Result := IAttachmentImpl(this).startTransaction(status, tpbLength, tpb);
8493 except
8494 on e: Exception do FbException.catchException(status, e);
8495 end
8496 end;
8497
8498 function IAttachmentImpl_reconnectTransactionDispatcher(this: IAttachment; status: IStatus; length: Cardinal; id: BytePtr): ITransaction; cdecl;
8499 begin
8500 try
8501 Result := IAttachmentImpl(this).reconnectTransaction(status, length, id);
8502 except
8503 on e: Exception do FbException.catchException(status, e);
8504 end
8505 end;
8506
8507 function IAttachmentImpl_compileRequestDispatcher(this: IAttachment; status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; cdecl;
8508 begin
8509 try
8510 Result := IAttachmentImpl(this).compileRequest(status, blrLength, blr);
8511 except
8512 on e: Exception do FbException.catchException(status, e);
8513 end
8514 end;
8515
8516 procedure IAttachmentImpl_transactRequestDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); cdecl;
8517 begin
8518 try
8519 IAttachmentImpl(this).transactRequest(status, transaction, blrLength, blr, inMsgLength, inMsg, outMsgLength, outMsg);
8520 except
8521 on e: Exception do FbException.catchException(status, e);
8522 end
8523 end;
8524
8525 function IAttachmentImpl_createBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
8526 begin
8527 try
8528 Result := IAttachmentImpl(this).createBlob(status, transaction, id, bpbLength, bpb);
8529 except
8530 on e: Exception do FbException.catchException(status, e);
8531 end
8532 end;
8533
8534 function IAttachmentImpl_openBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
8535 begin
8536 try
8537 Result := IAttachmentImpl(this).openBlob(status, transaction, id, bpbLength, bpb);
8538 except
8539 on e: Exception do FbException.catchException(status, e);
8540 end
8541 end;
8542
8543 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;
8544 begin
8545 try
8546 Result := IAttachmentImpl(this).getSlice(status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
8547 except
8548 on e: Exception do FbException.catchException(status, e);
8549 end
8550 end;
8551
8552 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;
8553 begin
8554 try
8555 IAttachmentImpl(this).putSlice(status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
8556 except
8557 on e: Exception do FbException.catchException(status, e);
8558 end
8559 end;
8560
8561 procedure IAttachmentImpl_executeDynDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); cdecl;
8562 begin
8563 try
8564 IAttachmentImpl(this).executeDyn(status, transaction, length, dyn);
8565 except
8566 on e: Exception do FbException.catchException(status, e);
8567 end
8568 end;
8569
8570 function IAttachmentImpl_prepareDispatcher(this: IAttachment; status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; cdecl;
8571 begin
8572 try
8573 Result := IAttachmentImpl(this).prepare(status, tra, stmtLength, sqlStmt, dialect, flags);
8574 except
8575 on e: Exception do FbException.catchException(status, e);
8576 end
8577 end;
8578
8579 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;
8580 begin
8581 try
8582 Result := IAttachmentImpl(this).execute(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer);
8583 except
8584 on e: Exception do FbException.catchException(status, e);
8585 end
8586 end;
8587
8588 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;
8589 begin
8590 try
8591 Result := IAttachmentImpl(this).openCursor(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags);
8592 except
8593 on e: Exception do FbException.catchException(status, e);
8594 end
8595 end;
8596
8597 function IAttachmentImpl_queEventsDispatcher(this: IAttachment; status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; cdecl;
8598 begin
8599 try
8600 Result := IAttachmentImpl(this).queEvents(status, callback, length, events);
8601 except
8602 on e: Exception do FbException.catchException(status, e);
8603 end
8604 end;
8605
8606 procedure IAttachmentImpl_cancelOperationDispatcher(this: IAttachment; status: IStatus; option: Integer); cdecl;
8607 begin
8608 try
8609 IAttachmentImpl(this).cancelOperation(status, option);
8610 except
8611 on e: Exception do FbException.catchException(status, e);
8612 end
8613 end;
8614
8615 procedure IAttachmentImpl_pingDispatcher(this: IAttachment; status: IStatus); cdecl;
8616 begin
8617 try
8618 IAttachmentImpl(this).ping(status);
8619 except
8620 on e: Exception do FbException.catchException(status, e);
8621 end
8622 end;
8623
8624 procedure IAttachmentImpl_detachDispatcher(this: IAttachment; status: IStatus); cdecl;
8625 begin
8626 try
8627 IAttachmentImpl(this).detach(status);
8628 except
8629 on e: Exception do FbException.catchException(status, e);
8630 end
8631 end;
8632
8633 procedure IAttachmentImpl_dropDatabaseDispatcher(this: IAttachment; status: IStatus); cdecl;
8634 begin
8635 try
8636 IAttachmentImpl(this).dropDatabase(status);
8637 except
8638 on e: Exception do FbException.catchException(status, e);
8639 end
8640 end;
8641
8642 function IAttachmentImpl_getIdleTimeoutDispatcher(this: IAttachment; status: IStatus): Cardinal; cdecl;
8643 begin
8644 try
8645 Result := IAttachmentImpl(this).getIdleTimeout(status);
8646 except
8647 on e: Exception do FbException.catchException(status, e);
8648 end
8649 end;
8650
8651 procedure IAttachmentImpl_setIdleTimeoutDispatcher(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
8652 begin
8653 try
8654 IAttachmentImpl(this).setIdleTimeout(status, timeOut);
8655 except
8656 on e: Exception do FbException.catchException(status, e);
8657 end
8658 end;
8659
8660 function IAttachmentImpl_getStatementTimeoutDispatcher(this: IAttachment; status: IStatus): Cardinal; cdecl;
8661 begin
8662 try
8663 Result := IAttachmentImpl(this).getStatementTimeout(status);
8664 except
8665 on e: Exception do FbException.catchException(status, e);
8666 end
8667 end;
8668
8669 procedure IAttachmentImpl_setStatementTimeoutDispatcher(this: IAttachment; status: IStatus; timeOut: Cardinal); cdecl;
8670 begin
8671 try
8672 IAttachmentImpl(this).setStatementTimeout(status, timeOut);
8673 except
8674 on e: Exception do FbException.catchException(status, e);
8675 end
8676 end;
8677
8678 function IAttachmentImpl_createBatchDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl;
8679 begin
8680 try
8681 Result := IAttachmentImpl(this).createBatch(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, parLength, par);
8682 except
8683 on e: Exception do FbException.catchException(status, e);
8684 end
8685 end;
8686
8687 function IAttachmentImpl_createReplicatorDispatcher(this: IAttachment; status: IStatus): IReplicator; cdecl;
8688 begin
8689 try
8690 Result := IAttachmentImpl(this).createReplicator(status);
8691 except
8692 on e: Exception do FbException.catchException(status, e);
8693 end
8694 end;
8695
8696 var
8697 IAttachmentImpl_vTable: AttachmentVTable;
8698
8699 constructor IAttachmentImpl.create;
8700 begin
8701 vTable := IAttachmentImpl_vTable;
8702 end;
8703
8704 procedure IServiceImpl_addRefDispatcher(this: IService); cdecl;
8705 begin
8706 try
8707 IServiceImpl(this).addRef();
8708 except
8709 on e: Exception do FbException.catchException(nil, e);
8710 end
8711 end;
8712
8713 function IServiceImpl_releaseDispatcher(this: IService): Integer; cdecl;
8714 begin
8715 try
8716 Result := IServiceImpl(this).release();
8717 except
8718 on e: Exception do FbException.catchException(nil, e);
8719 end
8720 end;
8721
8722 procedure IServiceImpl_detachDispatcher(this: IService; status: IStatus); cdecl;
8723 begin
8724 try
8725 IServiceImpl(this).detach(status);
8726 except
8727 on e: Exception do FbException.catchException(status, e);
8728 end
8729 end;
8730
8731 procedure IServiceImpl_queryDispatcher(this: IService; status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8732 begin
8733 try
8734 IServiceImpl(this).query(status, sendLength, sendItems, receiveLength, receiveItems, bufferLength, buffer);
8735 except
8736 on e: Exception do FbException.catchException(status, e);
8737 end
8738 end;
8739
8740 procedure IServiceImpl_startDispatcher(this: IService; status: IStatus; spbLength: Cardinal; spb: BytePtr); cdecl;
8741 begin
8742 try
8743 IServiceImpl(this).start(status, spbLength, spb);
8744 except
8745 on e: Exception do FbException.catchException(status, e);
8746 end
8747 end;
8748
8749 var
8750 IServiceImpl_vTable: ServiceVTable;
8751
8752 constructor IServiceImpl.create;
8753 begin
8754 vTable := IServiceImpl_vTable;
8755 end;
8756
8757 procedure IProviderImpl_addRefDispatcher(this: IProvider); cdecl;
8758 begin
8759 try
8760 IProviderImpl(this).addRef();
8761 except
8762 on e: Exception do FbException.catchException(nil, e);
8763 end
8764 end;
8765
8766 function IProviderImpl_releaseDispatcher(this: IProvider): Integer; cdecl;
8767 begin
8768 try
8769 Result := IProviderImpl(this).release();
8770 except
8771 on e: Exception do FbException.catchException(nil, e);
8772 end
8773 end;
8774
8775 procedure IProviderImpl_setOwnerDispatcher(this: IProvider; r: IReferenceCounted); cdecl;
8776 begin
8777 try
8778 IProviderImpl(this).setOwner(r);
8779 except
8780 on e: Exception do FbException.catchException(nil, e);
8781 end
8782 end;
8783
8784 function IProviderImpl_getOwnerDispatcher(this: IProvider): IReferenceCounted; cdecl;
8785 begin
8786 try
8787 Result := IProviderImpl(this).getOwner();
8788 except
8789 on e: Exception do FbException.catchException(nil, e);
8790 end
8791 end;
8792
8793 function IProviderImpl_attachDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
8794 begin
8795 try
8796 Result := IProviderImpl(this).attachDatabase(status, fileName, dpbLength, dpb);
8797 except
8798 on e: Exception do FbException.catchException(status, e);
8799 end
8800 end;
8801
8802 function IProviderImpl_createDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
8803 begin
8804 try
8805 Result := IProviderImpl(this).createDatabase(status, fileName, dpbLength, dpb);
8806 except
8807 on e: Exception do FbException.catchException(status, e);
8808 end
8809 end;
8810
8811 function IProviderImpl_attachServiceManagerDispatcher(this: IProvider; status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; cdecl;
8812 begin
8813 try
8814 Result := IProviderImpl(this).attachServiceManager(status, service, spbLength, spb);
8815 except
8816 on e: Exception do FbException.catchException(status, e);
8817 end
8818 end;
8819
8820 procedure IProviderImpl_shutdownDispatcher(this: IProvider; status: IStatus; timeout: Cardinal; reason: Integer); cdecl;
8821 begin
8822 try
8823 IProviderImpl(this).shutdown(status, timeout, reason);
8824 except
8825 on e: Exception do FbException.catchException(status, e);
8826 end
8827 end;
8828
8829 procedure IProviderImpl_setDbCryptCallbackDispatcher(this: IProvider; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
8830 begin
8831 try
8832 IProviderImpl(this).setDbCryptCallback(status, cryptCallback);
8833 except
8834 on e: Exception do FbException.catchException(status, e);
8835 end
8836 end;
8837
8838 var
8839 IProviderImpl_vTable: ProviderVTable;
8840
8841 constructor IProviderImpl.create;
8842 begin
8843 vTable := IProviderImpl_vTable;
8844 end;
8845
8846 procedure IDtcStartImpl_disposeDispatcher(this: IDtcStart); cdecl;
8847 begin
8848 try
8849 IDtcStartImpl(this).dispose();
8850 except
8851 on e: Exception do FbException.catchException(nil, e);
8852 end
8853 end;
8854
8855 procedure IDtcStartImpl_addAttachmentDispatcher(this: IDtcStart; status: IStatus; att: IAttachment); cdecl;
8856 begin
8857 try
8858 IDtcStartImpl(this).addAttachment(status, att);
8859 except
8860 on e: Exception do FbException.catchException(status, e);
8861 end
8862 end;
8863
8864 procedure IDtcStartImpl_addWithTpbDispatcher(this: IDtcStart; status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); cdecl;
8865 begin
8866 try
8867 IDtcStartImpl(this).addWithTpb(status, att, length, tpb);
8868 except
8869 on e: Exception do FbException.catchException(status, e);
8870 end
8871 end;
8872
8873 function IDtcStartImpl_startDispatcher(this: IDtcStart; status: IStatus): ITransaction; cdecl;
8874 begin
8875 try
8876 Result := IDtcStartImpl(this).start(status);
8877 except
8878 on e: Exception do FbException.catchException(status, e);
8879 end
8880 end;
8881
8882 var
8883 IDtcStartImpl_vTable: DtcStartVTable;
8884
8885 constructor IDtcStartImpl.create;
8886 begin
8887 vTable := IDtcStartImpl_vTable;
8888 end;
8889
8890 function IDtcImpl_joinDispatcher(this: IDtc; status: IStatus; one: ITransaction; two: ITransaction): ITransaction; cdecl;
8891 begin
8892 try
8893 Result := IDtcImpl(this).join(status, one, two);
8894 except
8895 on e: Exception do FbException.catchException(status, e);
8896 end
8897 end;
8898
8899 function IDtcImpl_startBuilderDispatcher(this: IDtc; status: IStatus): IDtcStart; cdecl;
8900 begin
8901 try
8902 Result := IDtcImpl(this).startBuilder(status);
8903 except
8904 on e: Exception do FbException.catchException(status, e);
8905 end
8906 end;
8907
8908 var
8909 IDtcImpl_vTable: DtcVTable;
8910
8911 constructor IDtcImpl.create;
8912 begin
8913 vTable := IDtcImpl_vTable;
8914 end;
8915
8916 procedure IAuthImpl_addRefDispatcher(this: IAuth); cdecl;
8917 begin
8918 try
8919 IAuthImpl(this).addRef();
8920 except
8921 on e: Exception do FbException.catchException(nil, e);
8922 end
8923 end;
8924
8925 function IAuthImpl_releaseDispatcher(this: IAuth): Integer; cdecl;
8926 begin
8927 try
8928 Result := IAuthImpl(this).release();
8929 except
8930 on e: Exception do FbException.catchException(nil, e);
8931 end
8932 end;
8933
8934 procedure IAuthImpl_setOwnerDispatcher(this: IAuth; r: IReferenceCounted); cdecl;
8935 begin
8936 try
8937 IAuthImpl(this).setOwner(r);
8938 except
8939 on e: Exception do FbException.catchException(nil, e);
8940 end
8941 end;
8942
8943 function IAuthImpl_getOwnerDispatcher(this: IAuth): IReferenceCounted; cdecl;
8944 begin
8945 try
8946 Result := IAuthImpl(this).getOwner();
8947 except
8948 on e: Exception do FbException.catchException(nil, e);
8949 end
8950 end;
8951
8952 var
8953 IAuthImpl_vTable: AuthVTable;
8954
8955 constructor IAuthImpl.create;
8956 begin
8957 vTable := IAuthImpl_vTable;
8958 end;
8959
8960 procedure IWriterImpl_resetDispatcher(this: IWriter); cdecl;
8961 begin
8962 try
8963 IWriterImpl(this).reset();
8964 except
8965 on e: Exception do FbException.catchException(nil, e);
8966 end
8967 end;
8968
8969 procedure IWriterImpl_addDispatcher(this: IWriter; status: IStatus; name: PAnsiChar); cdecl;
8970 begin
8971 try
8972 IWriterImpl(this).add(status, name);
8973 except
8974 on e: Exception do FbException.catchException(status, e);
8975 end
8976 end;
8977
8978 procedure IWriterImpl_setTypeDispatcher(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
8979 begin
8980 try
8981 IWriterImpl(this).setType(status, value);
8982 except
8983 on e: Exception do FbException.catchException(status, e);
8984 end
8985 end;
8986
8987 procedure IWriterImpl_setDbDispatcher(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
8988 begin
8989 try
8990 IWriterImpl(this).setDb(status, value);
8991 except
8992 on e: Exception do FbException.catchException(status, e);
8993 end
8994 end;
8995
8996 var
8997 IWriterImpl_vTable: WriterVTable;
8998
8999 constructor IWriterImpl.create;
9000 begin
9001 vTable := IWriterImpl_vTable;
9002 end;
9003
9004 function IServerBlockImpl_getLoginDispatcher(this: IServerBlock): PAnsiChar; cdecl;
9005 begin
9006 try
9007 Result := IServerBlockImpl(this).getLogin();
9008 except
9009 on e: Exception do FbException.catchException(nil, e);
9010 end
9011 end;
9012
9013 function IServerBlockImpl_getDataDispatcher(this: IServerBlock; length: CardinalPtr): BytePtr; cdecl;
9014 begin
9015 try
9016 Result := IServerBlockImpl(this).getData(length);
9017 except
9018 on e: Exception do FbException.catchException(nil, e);
9019 end
9020 end;
9021
9022 procedure IServerBlockImpl_putDataDispatcher(this: IServerBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
9023 begin
9024 try
9025 IServerBlockImpl(this).putData(status, length, data);
9026 except
9027 on e: Exception do FbException.catchException(status, e);
9028 end
9029 end;
9030
9031 function IServerBlockImpl_newKeyDispatcher(this: IServerBlock; status: IStatus): ICryptKey; cdecl;
9032 begin
9033 try
9034 Result := IServerBlockImpl(this).newKey(status);
9035 except
9036 on e: Exception do FbException.catchException(status, e);
9037 end
9038 end;
9039
9040 var
9041 IServerBlockImpl_vTable: ServerBlockVTable;
9042
9043 constructor IServerBlockImpl.create;
9044 begin
9045 vTable := IServerBlockImpl_vTable;
9046 end;
9047
9048 procedure IClientBlockImpl_addRefDispatcher(this: IClientBlock); cdecl;
9049 begin
9050 try
9051 IClientBlockImpl(this).addRef();
9052 except
9053 on e: Exception do FbException.catchException(nil, e);
9054 end
9055 end;
9056
9057 function IClientBlockImpl_releaseDispatcher(this: IClientBlock): Integer; cdecl;
9058 begin
9059 try
9060 Result := IClientBlockImpl(this).release();
9061 except
9062 on e: Exception do FbException.catchException(nil, e);
9063 end
9064 end;
9065
9066 function IClientBlockImpl_getLoginDispatcher(this: IClientBlock): PAnsiChar; cdecl;
9067 begin
9068 try
9069 Result := IClientBlockImpl(this).getLogin();
9070 except
9071 on e: Exception do FbException.catchException(nil, e);
9072 end
9073 end;
9074
9075 function IClientBlockImpl_getPasswordDispatcher(this: IClientBlock): PAnsiChar; cdecl;
9076 begin
9077 try
9078 Result := IClientBlockImpl(this).getPassword();
9079 except
9080 on e: Exception do FbException.catchException(nil, e);
9081 end
9082 end;
9083
9084 function IClientBlockImpl_getDataDispatcher(this: IClientBlock; length: CardinalPtr): BytePtr; cdecl;
9085 begin
9086 try
9087 Result := IClientBlockImpl(this).getData(length);
9088 except
9089 on e: Exception do FbException.catchException(nil, e);
9090 end
9091 end;
9092
9093 procedure IClientBlockImpl_putDataDispatcher(this: IClientBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
9094 begin
9095 try
9096 IClientBlockImpl(this).putData(status, length, data);
9097 except
9098 on e: Exception do FbException.catchException(status, e);
9099 end
9100 end;
9101
9102 function IClientBlockImpl_newKeyDispatcher(this: IClientBlock; status: IStatus): ICryptKey; cdecl;
9103 begin
9104 try
9105 Result := IClientBlockImpl(this).newKey(status);
9106 except
9107 on e: Exception do FbException.catchException(status, e);
9108 end
9109 end;
9110
9111 function IClientBlockImpl_getAuthBlockDispatcher(this: IClientBlock; status: IStatus): IAuthBlock; cdecl;
9112 begin
9113 try
9114 Result := IClientBlockImpl(this).getAuthBlock(status);
9115 except
9116 on e: Exception do FbException.catchException(status, e);
9117 end
9118 end;
9119
9120 var
9121 IClientBlockImpl_vTable: ClientBlockVTable;
9122
9123 constructor IClientBlockImpl.create;
9124 begin
9125 vTable := IClientBlockImpl_vTable;
9126 end;
9127
9128 procedure IServerImpl_addRefDispatcher(this: IServer); cdecl;
9129 begin
9130 try
9131 IServerImpl(this).addRef();
9132 except
9133 on e: Exception do FbException.catchException(nil, e);
9134 end
9135 end;
9136
9137 function IServerImpl_releaseDispatcher(this: IServer): Integer; cdecl;
9138 begin
9139 try
9140 Result := IServerImpl(this).release();
9141 except
9142 on e: Exception do FbException.catchException(nil, e);
9143 end
9144 end;
9145
9146 procedure IServerImpl_setOwnerDispatcher(this: IServer; r: IReferenceCounted); cdecl;
9147 begin
9148 try
9149 IServerImpl(this).setOwner(r);
9150 except
9151 on e: Exception do FbException.catchException(nil, e);
9152 end
9153 end;
9154
9155 function IServerImpl_getOwnerDispatcher(this: IServer): IReferenceCounted; cdecl;
9156 begin
9157 try
9158 Result := IServerImpl(this).getOwner();
9159 except
9160 on e: Exception do FbException.catchException(nil, e);
9161 end
9162 end;
9163
9164 function IServerImpl_authenticateDispatcher(this: IServer; status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; cdecl;
9165 begin
9166 try
9167 Result := IServerImpl(this).authenticate(status, sBlock, writerInterface);
9168 except
9169 on e: Exception do FbException.catchException(status, e);
9170 end
9171 end;
9172
9173 procedure IServerImpl_setDbCryptCallbackDispatcher(this: IServer; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
9174 begin
9175 try
9176 IServerImpl(this).setDbCryptCallback(status, cryptCallback);
9177 except
9178 on e: Exception do FbException.catchException(status, e);
9179 end
9180 end;
9181
9182 var
9183 IServerImpl_vTable: ServerVTable;
9184
9185 constructor IServerImpl.create;
9186 begin
9187 vTable := IServerImpl_vTable;
9188 end;
9189
9190 procedure IClientImpl_addRefDispatcher(this: IClient); cdecl;
9191 begin
9192 try
9193 IClientImpl(this).addRef();
9194 except
9195 on e: Exception do FbException.catchException(nil, e);
9196 end
9197 end;
9198
9199 function IClientImpl_releaseDispatcher(this: IClient): Integer; cdecl;
9200 begin
9201 try
9202 Result := IClientImpl(this).release();
9203 except
9204 on e: Exception do FbException.catchException(nil, e);
9205 end
9206 end;
9207
9208 procedure IClientImpl_setOwnerDispatcher(this: IClient; r: IReferenceCounted); cdecl;
9209 begin
9210 try
9211 IClientImpl(this).setOwner(r);
9212 except
9213 on e: Exception do FbException.catchException(nil, e);
9214 end
9215 end;
9216
9217 function IClientImpl_getOwnerDispatcher(this: IClient): IReferenceCounted; cdecl;
9218 begin
9219 try
9220 Result := IClientImpl(this).getOwner();
9221 except
9222 on e: Exception do FbException.catchException(nil, e);
9223 end
9224 end;
9225
9226 function IClientImpl_authenticateDispatcher(this: IClient; status: IStatus; cBlock: IClientBlock): Integer; cdecl;
9227 begin
9228 try
9229 Result := IClientImpl(this).authenticate(status, cBlock);
9230 except
9231 on e: Exception do FbException.catchException(status, e);
9232 end
9233 end;
9234
9235 var
9236 IClientImpl_vTable: ClientVTable;
9237
9238 constructor IClientImpl.create;
9239 begin
9240 vTable := IClientImpl_vTable;
9241 end;
9242
9243 function IUserFieldImpl_enteredDispatcher(this: IUserField): Integer; cdecl;
9244 begin
9245 try
9246 Result := IUserFieldImpl(this).entered();
9247 except
9248 on e: Exception do FbException.catchException(nil, e);
9249 end
9250 end;
9251
9252 function IUserFieldImpl_specifiedDispatcher(this: IUserField): Integer; cdecl;
9253 begin
9254 try
9255 Result := IUserFieldImpl(this).specified();
9256 except
9257 on e: Exception do FbException.catchException(nil, e);
9258 end
9259 end;
9260
9261 procedure IUserFieldImpl_setEnteredDispatcher(this: IUserField; status: IStatus; newValue: Integer); cdecl;
9262 begin
9263 try
9264 IUserFieldImpl(this).setEntered(status, newValue);
9265 except
9266 on e: Exception do FbException.catchException(status, e);
9267 end
9268 end;
9269
9270 var
9271 IUserFieldImpl_vTable: UserFieldVTable;
9272
9273 constructor IUserFieldImpl.create;
9274 begin
9275 vTable := IUserFieldImpl_vTable;
9276 end;
9277
9278 function ICharUserFieldImpl_enteredDispatcher(this: ICharUserField): Integer; cdecl;
9279 begin
9280 try
9281 Result := ICharUserFieldImpl(this).entered();
9282 except
9283 on e: Exception do FbException.catchException(nil, e);
9284 end
9285 end;
9286
9287 function ICharUserFieldImpl_specifiedDispatcher(this: ICharUserField): Integer; cdecl;
9288 begin
9289 try
9290 Result := ICharUserFieldImpl(this).specified();
9291 except
9292 on e: Exception do FbException.catchException(nil, e);
9293 end
9294 end;
9295
9296 procedure ICharUserFieldImpl_setEnteredDispatcher(this: ICharUserField; status: IStatus; newValue: Integer); cdecl;
9297 begin
9298 try
9299 ICharUserFieldImpl(this).setEntered(status, newValue);
9300 except
9301 on e: Exception do FbException.catchException(status, e);
9302 end
9303 end;
9304
9305 function ICharUserFieldImpl_getDispatcher(this: ICharUserField): PAnsiChar; cdecl;
9306 begin
9307 try
9308 Result := ICharUserFieldImpl(this).get();
9309 except
9310 on e: Exception do FbException.catchException(nil, e);
9311 end
9312 end;
9313
9314 procedure ICharUserFieldImpl_set_Dispatcher(this: ICharUserField; status: IStatus; newValue: PAnsiChar); cdecl;
9315 begin
9316 try
9317 ICharUserFieldImpl(this).set_(status, newValue);
9318 except
9319 on e: Exception do FbException.catchException(status, e);
9320 end
9321 end;
9322
9323 var
9324 ICharUserFieldImpl_vTable: CharUserFieldVTable;
9325
9326 constructor ICharUserFieldImpl.create;
9327 begin
9328 vTable := ICharUserFieldImpl_vTable;
9329 end;
9330
9331 function IIntUserFieldImpl_enteredDispatcher(this: IIntUserField): Integer; cdecl;
9332 begin
9333 try
9334 Result := IIntUserFieldImpl(this).entered();
9335 except
9336 on e: Exception do FbException.catchException(nil, e);
9337 end
9338 end;
9339
9340 function IIntUserFieldImpl_specifiedDispatcher(this: IIntUserField): Integer; cdecl;
9341 begin
9342 try
9343 Result := IIntUserFieldImpl(this).specified();
9344 except
9345 on e: Exception do FbException.catchException(nil, e);
9346 end
9347 end;
9348
9349 procedure IIntUserFieldImpl_setEnteredDispatcher(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
9350 begin
9351 try
9352 IIntUserFieldImpl(this).setEntered(status, newValue);
9353 except
9354 on e: Exception do FbException.catchException(status, e);
9355 end
9356 end;
9357
9358 function IIntUserFieldImpl_getDispatcher(this: IIntUserField): Integer; cdecl;
9359 begin
9360 try
9361 Result := IIntUserFieldImpl(this).get();
9362 except
9363 on e: Exception do FbException.catchException(nil, e);
9364 end
9365 end;
9366
9367 procedure IIntUserFieldImpl_set_Dispatcher(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
9368 begin
9369 try
9370 IIntUserFieldImpl(this).set_(status, newValue);
9371 except
9372 on e: Exception do FbException.catchException(status, e);
9373 end
9374 end;
9375
9376 var
9377 IIntUserFieldImpl_vTable: IntUserFieldVTable;
9378
9379 constructor IIntUserFieldImpl.create;
9380 begin
9381 vTable := IIntUserFieldImpl_vTable;
9382 end;
9383
9384 function IUserImpl_operationDispatcher(this: IUser): Cardinal; cdecl;
9385 begin
9386 try
9387 Result := IUserImpl(this).operation();
9388 except
9389 on e: Exception do FbException.catchException(nil, e);
9390 end
9391 end;
9392
9393 function IUserImpl_userNameDispatcher(this: IUser): ICharUserField; cdecl;
9394 begin
9395 try
9396 Result := IUserImpl(this).userName();
9397 except
9398 on e: Exception do FbException.catchException(nil, e);
9399 end
9400 end;
9401
9402 function IUserImpl_passwordDispatcher(this: IUser): ICharUserField; cdecl;
9403 begin
9404 try
9405 Result := IUserImpl(this).password();
9406 except
9407 on e: Exception do FbException.catchException(nil, e);
9408 end
9409 end;
9410
9411 function IUserImpl_firstNameDispatcher(this: IUser): ICharUserField; cdecl;
9412 begin
9413 try
9414 Result := IUserImpl(this).firstName();
9415 except
9416 on e: Exception do FbException.catchException(nil, e);
9417 end
9418 end;
9419
9420 function IUserImpl_lastNameDispatcher(this: IUser): ICharUserField; cdecl;
9421 begin
9422 try
9423 Result := IUserImpl(this).lastName();
9424 except
9425 on e: Exception do FbException.catchException(nil, e);
9426 end
9427 end;
9428
9429 function IUserImpl_middleNameDispatcher(this: IUser): ICharUserField; cdecl;
9430 begin
9431 try
9432 Result := IUserImpl(this).middleName();
9433 except
9434 on e: Exception do FbException.catchException(nil, e);
9435 end
9436 end;
9437
9438 function IUserImpl_commentDispatcher(this: IUser): ICharUserField; cdecl;
9439 begin
9440 try
9441 Result := IUserImpl(this).comment();
9442 except
9443 on e: Exception do FbException.catchException(nil, e);
9444 end
9445 end;
9446
9447 function IUserImpl_attributesDispatcher(this: IUser): ICharUserField; cdecl;
9448 begin
9449 try
9450 Result := IUserImpl(this).attributes();
9451 except
9452 on e: Exception do FbException.catchException(nil, e);
9453 end
9454 end;
9455
9456 function IUserImpl_activeDispatcher(this: IUser): IIntUserField; cdecl;
9457 begin
9458 try
9459 Result := IUserImpl(this).active();
9460 except
9461 on e: Exception do FbException.catchException(nil, e);
9462 end
9463 end;
9464
9465 function IUserImpl_adminDispatcher(this: IUser): IIntUserField; cdecl;
9466 begin
9467 try
9468 Result := IUserImpl(this).admin();
9469 except
9470 on e: Exception do FbException.catchException(nil, e);
9471 end
9472 end;
9473
9474 procedure IUserImpl_clearDispatcher(this: IUser; status: IStatus); cdecl;
9475 begin
9476 try
9477 IUserImpl(this).clear(status);
9478 except
9479 on e: Exception do FbException.catchException(status, e);
9480 end
9481 end;
9482
9483 var
9484 IUserImpl_vTable: UserVTable;
9485
9486 constructor IUserImpl.create;
9487 begin
9488 vTable := IUserImpl_vTable;
9489 end;
9490
9491 procedure IListUsersImpl_listDispatcher(this: IListUsers; status: IStatus; user: IUser); cdecl;
9492 begin
9493 try
9494 IListUsersImpl(this).list(status, user);
9495 except
9496 on e: Exception do FbException.catchException(status, e);
9497 end
9498 end;
9499
9500 var
9501 IListUsersImpl_vTable: ListUsersVTable;
9502
9503 constructor IListUsersImpl.create;
9504 begin
9505 vTable := IListUsersImpl_vTable;
9506 end;
9507
9508 function ILogonInfoImpl_nameDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9509 begin
9510 try
9511 Result := ILogonInfoImpl(this).name();
9512 except
9513 on e: Exception do FbException.catchException(nil, e);
9514 end
9515 end;
9516
9517 function ILogonInfoImpl_roleDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9518 begin
9519 try
9520 Result := ILogonInfoImpl(this).role();
9521 except
9522 on e: Exception do FbException.catchException(nil, e);
9523 end
9524 end;
9525
9526 function ILogonInfoImpl_networkProtocolDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9527 begin
9528 try
9529 Result := ILogonInfoImpl(this).networkProtocol();
9530 except
9531 on e: Exception do FbException.catchException(nil, e);
9532 end
9533 end;
9534
9535 function ILogonInfoImpl_remoteAddressDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9536 begin
9537 try
9538 Result := ILogonInfoImpl(this).remoteAddress();
9539 except
9540 on e: Exception do FbException.catchException(nil, e);
9541 end
9542 end;
9543
9544 function ILogonInfoImpl_authBlockDispatcher(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl;
9545 begin
9546 try
9547 Result := ILogonInfoImpl(this).authBlock(length);
9548 except
9549 on e: Exception do FbException.catchException(nil, e);
9550 end
9551 end;
9552
9553 function ILogonInfoImpl_attachmentDispatcher(this: ILogonInfo; status: IStatus): IAttachment; cdecl;
9554 begin
9555 try
9556 Result := ILogonInfoImpl(this).attachment(status);
9557 except
9558 on e: Exception do FbException.catchException(status, e);
9559 end
9560 end;
9561
9562 function ILogonInfoImpl_transactionDispatcher(this: ILogonInfo; status: IStatus): ITransaction; cdecl;
9563 begin
9564 try
9565 Result := ILogonInfoImpl(this).transaction(status);
9566 except
9567 on e: Exception do FbException.catchException(status, e);
9568 end
9569 end;
9570
9571 var
9572 ILogonInfoImpl_vTable: LogonInfoVTable;
9573
9574 constructor ILogonInfoImpl.create;
9575 begin
9576 vTable := ILogonInfoImpl_vTable;
9577 end;
9578
9579 procedure IManagementImpl_addRefDispatcher(this: IManagement); cdecl;
9580 begin
9581 try
9582 IManagementImpl(this).addRef();
9583 except
9584 on e: Exception do FbException.catchException(nil, e);
9585 end
9586 end;
9587
9588 function IManagementImpl_releaseDispatcher(this: IManagement): Integer; cdecl;
9589 begin
9590 try
9591 Result := IManagementImpl(this).release();
9592 except
9593 on e: Exception do FbException.catchException(nil, e);
9594 end
9595 end;
9596
9597 procedure IManagementImpl_setOwnerDispatcher(this: IManagement; r: IReferenceCounted); cdecl;
9598 begin
9599 try
9600 IManagementImpl(this).setOwner(r);
9601 except
9602 on e: Exception do FbException.catchException(nil, e);
9603 end
9604 end;
9605
9606 function IManagementImpl_getOwnerDispatcher(this: IManagement): IReferenceCounted; cdecl;
9607 begin
9608 try
9609 Result := IManagementImpl(this).getOwner();
9610 except
9611 on e: Exception do FbException.catchException(nil, e);
9612 end
9613 end;
9614
9615 procedure IManagementImpl_startDispatcher(this: IManagement; status: IStatus; logonInfo: ILogonInfo); cdecl;
9616 begin
9617 try
9618 IManagementImpl(this).start(status, logonInfo);
9619 except
9620 on e: Exception do FbException.catchException(status, e);
9621 end
9622 end;
9623
9624 function IManagementImpl_executeDispatcher(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl;
9625 begin
9626 try
9627 Result := IManagementImpl(this).execute(status, user, callback);
9628 except
9629 on e: Exception do FbException.catchException(status, e);
9630 end
9631 end;
9632
9633 procedure IManagementImpl_commitDispatcher(this: IManagement; status: IStatus); cdecl;
9634 begin
9635 try
9636 IManagementImpl(this).commit(status);
9637 except
9638 on e: Exception do FbException.catchException(status, e);
9639 end
9640 end;
9641
9642 procedure IManagementImpl_rollbackDispatcher(this: IManagement; status: IStatus); cdecl;
9643 begin
9644 try
9645 IManagementImpl(this).rollback(status);
9646 except
9647 on e: Exception do FbException.catchException(status, e);
9648 end
9649 end;
9650
9651 var
9652 IManagementImpl_vTable: ManagementVTable;
9653
9654 constructor IManagementImpl.create;
9655 begin
9656 vTable := IManagementImpl_vTable;
9657 end;
9658
9659 function IAuthBlockImpl_getTypeDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9660 begin
9661 try
9662 Result := IAuthBlockImpl(this).getType();
9663 except
9664 on e: Exception do FbException.catchException(nil, e);
9665 end
9666 end;
9667
9668 function IAuthBlockImpl_getNameDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9669 begin
9670 try
9671 Result := IAuthBlockImpl(this).getName();
9672 except
9673 on e: Exception do FbException.catchException(nil, e);
9674 end
9675 end;
9676
9677 function IAuthBlockImpl_getPluginDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9678 begin
9679 try
9680 Result := IAuthBlockImpl(this).getPlugin();
9681 except
9682 on e: Exception do FbException.catchException(nil, e);
9683 end
9684 end;
9685
9686 function IAuthBlockImpl_getSecurityDbDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9687 begin
9688 try
9689 Result := IAuthBlockImpl(this).getSecurityDb();
9690 except
9691 on e: Exception do FbException.catchException(nil, e);
9692 end
9693 end;
9694
9695 function IAuthBlockImpl_getOriginalPluginDispatcher(this: IAuthBlock): PAnsiChar; cdecl;
9696 begin
9697 try
9698 Result := IAuthBlockImpl(this).getOriginalPlugin();
9699 except
9700 on e: Exception do FbException.catchException(nil, e);
9701 end
9702 end;
9703
9704 function IAuthBlockImpl_nextDispatcher(this: IAuthBlock; status: IStatus): Boolean; cdecl;
9705 begin
9706 try
9707 Result := IAuthBlockImpl(this).next(status);
9708 except
9709 on e: Exception do FbException.catchException(status, e);
9710 end
9711 end;
9712
9713 function IAuthBlockImpl_firstDispatcher(this: IAuthBlock; status: IStatus): Boolean; cdecl;
9714 begin
9715 try
9716 Result := IAuthBlockImpl(this).first(status);
9717 except
9718 on e: Exception do FbException.catchException(status, e);
9719 end
9720 end;
9721
9722 var
9723 IAuthBlockImpl_vTable: AuthBlockVTable;
9724
9725 constructor IAuthBlockImpl.create;
9726 begin
9727 vTable := IAuthBlockImpl_vTable;
9728 end;
9729
9730 procedure IWireCryptPluginImpl_addRefDispatcher(this: IWireCryptPlugin); cdecl;
9731 begin
9732 try
9733 IWireCryptPluginImpl(this).addRef();
9734 except
9735 on e: Exception do FbException.catchException(nil, e);
9736 end
9737 end;
9738
9739 function IWireCryptPluginImpl_releaseDispatcher(this: IWireCryptPlugin): Integer; cdecl;
9740 begin
9741 try
9742 Result := IWireCryptPluginImpl(this).release();
9743 except
9744 on e: Exception do FbException.catchException(nil, e);
9745 end
9746 end;
9747
9748 procedure IWireCryptPluginImpl_setOwnerDispatcher(this: IWireCryptPlugin; r: IReferenceCounted); cdecl;
9749 begin
9750 try
9751 IWireCryptPluginImpl(this).setOwner(r);
9752 except
9753 on e: Exception do FbException.catchException(nil, e);
9754 end
9755 end;
9756
9757 function IWireCryptPluginImpl_getOwnerDispatcher(this: IWireCryptPlugin): IReferenceCounted; cdecl;
9758 begin
9759 try
9760 Result := IWireCryptPluginImpl(this).getOwner();
9761 except
9762 on e: Exception do FbException.catchException(nil, e);
9763 end
9764 end;
9765
9766 function IWireCryptPluginImpl_getKnownTypesDispatcher(this: IWireCryptPlugin; status: IStatus): PAnsiChar; cdecl;
9767 begin
9768 try
9769 Result := IWireCryptPluginImpl(this).getKnownTypes(status);
9770 except
9771 on e: Exception do FbException.catchException(status, e);
9772 end
9773 end;
9774
9775 procedure IWireCryptPluginImpl_setKeyDispatcher(this: IWireCryptPlugin; status: IStatus; key: ICryptKey); cdecl;
9776 begin
9777 try
9778 IWireCryptPluginImpl(this).setKey(status, key);
9779 except
9780 on e: Exception do FbException.catchException(status, e);
9781 end
9782 end;
9783
9784 procedure IWireCryptPluginImpl_encryptDispatcher(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9785 begin
9786 try
9787 IWireCryptPluginImpl(this).encrypt(status, length, from, to_);
9788 except
9789 on e: Exception do FbException.catchException(status, e);
9790 end
9791 end;
9792
9793 procedure IWireCryptPluginImpl_decryptDispatcher(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9794 begin
9795 try
9796 IWireCryptPluginImpl(this).decrypt(status, length, from, to_);
9797 except
9798 on e: Exception do FbException.catchException(status, e);
9799 end
9800 end;
9801
9802 function IWireCryptPluginImpl_getSpecificDataDispatcher(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr; cdecl;
9803 begin
9804 try
9805 Result := IWireCryptPluginImpl(this).getSpecificData(status, keyType, length);
9806 except
9807 on e: Exception do FbException.catchException(status, e);
9808 end
9809 end;
9810
9811 procedure IWireCryptPluginImpl_setSpecificDataDispatcher(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: Cardinal; data: BytePtr); cdecl;
9812 begin
9813 try
9814 IWireCryptPluginImpl(this).setSpecificData(status, keyType, length, data);
9815 except
9816 on e: Exception do FbException.catchException(status, e);
9817 end
9818 end;
9819
9820 var
9821 IWireCryptPluginImpl_vTable: WireCryptPluginVTable;
9822
9823 constructor IWireCryptPluginImpl.create;
9824 begin
9825 vTable := IWireCryptPluginImpl_vTable;
9826 end;
9827
9828 function ICryptKeyCallbackImpl_callbackDispatcher(this: ICryptKeyCallback; dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; cdecl;
9829 begin
9830 try
9831 Result := ICryptKeyCallbackImpl(this).callback(dataLength, data, bufferLength, buffer);
9832 except
9833 on e: Exception do FbException.catchException(nil, e);
9834 end
9835 end;
9836
9837 var
9838 ICryptKeyCallbackImpl_vTable: CryptKeyCallbackVTable;
9839
9840 constructor ICryptKeyCallbackImpl.create;
9841 begin
9842 vTable := ICryptKeyCallbackImpl_vTable;
9843 end;
9844
9845 procedure IKeyHolderPluginImpl_addRefDispatcher(this: IKeyHolderPlugin); cdecl;
9846 begin
9847 try
9848 IKeyHolderPluginImpl(this).addRef();
9849 except
9850 on e: Exception do FbException.catchException(nil, e);
9851 end
9852 end;
9853
9854 function IKeyHolderPluginImpl_releaseDispatcher(this: IKeyHolderPlugin): Integer; cdecl;
9855 begin
9856 try
9857 Result := IKeyHolderPluginImpl(this).release();
9858 except
9859 on e: Exception do FbException.catchException(nil, e);
9860 end
9861 end;
9862
9863 procedure IKeyHolderPluginImpl_setOwnerDispatcher(this: IKeyHolderPlugin; r: IReferenceCounted); cdecl;
9864 begin
9865 try
9866 IKeyHolderPluginImpl(this).setOwner(r);
9867 except
9868 on e: Exception do FbException.catchException(nil, e);
9869 end
9870 end;
9871
9872 function IKeyHolderPluginImpl_getOwnerDispatcher(this: IKeyHolderPlugin): IReferenceCounted; cdecl;
9873 begin
9874 try
9875 Result := IKeyHolderPluginImpl(this).getOwner();
9876 except
9877 on e: Exception do FbException.catchException(nil, e);
9878 end
9879 end;
9880
9881 function IKeyHolderPluginImpl_keyCallbackDispatcher(this: IKeyHolderPlugin; status: IStatus; callback: ICryptKeyCallback): Integer; cdecl;
9882 begin
9883 try
9884 Result := IKeyHolderPluginImpl(this).keyCallback(status, callback);
9885 except
9886 on e: Exception do FbException.catchException(status, e);
9887 end
9888 end;
9889
9890 function IKeyHolderPluginImpl_keyHandleDispatcher(this: IKeyHolderPlugin; status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; cdecl;
9891 begin
9892 try
9893 Result := IKeyHolderPluginImpl(this).keyHandle(status, keyName);
9894 except
9895 on e: Exception do FbException.catchException(status, e);
9896 end
9897 end;
9898
9899 function IKeyHolderPluginImpl_useOnlyOwnKeysDispatcher(this: IKeyHolderPlugin; status: IStatus): Boolean; cdecl;
9900 begin
9901 try
9902 Result := IKeyHolderPluginImpl(this).useOnlyOwnKeys(status);
9903 except
9904 on e: Exception do FbException.catchException(status, e);
9905 end
9906 end;
9907
9908 function IKeyHolderPluginImpl_chainHandleDispatcher(this: IKeyHolderPlugin; status: IStatus): ICryptKeyCallback; cdecl;
9909 begin
9910 try
9911 Result := IKeyHolderPluginImpl(this).chainHandle(status);
9912 except
9913 on e: Exception do FbException.catchException(status, e);
9914 end
9915 end;
9916
9917 var
9918 IKeyHolderPluginImpl_vTable: KeyHolderPluginVTable;
9919
9920 constructor IKeyHolderPluginImpl.create;
9921 begin
9922 vTable := IKeyHolderPluginImpl_vTable;
9923 end;
9924
9925 procedure IDbCryptInfoImpl_addRefDispatcher(this: IDbCryptInfo); cdecl;
9926 begin
9927 try
9928 IDbCryptInfoImpl(this).addRef();
9929 except
9930 on e: Exception do FbException.catchException(nil, e);
9931 end
9932 end;
9933
9934 function IDbCryptInfoImpl_releaseDispatcher(this: IDbCryptInfo): Integer; cdecl;
9935 begin
9936 try
9937 Result := IDbCryptInfoImpl(this).release();
9938 except
9939 on e: Exception do FbException.catchException(nil, e);
9940 end
9941 end;
9942
9943 function IDbCryptInfoImpl_getDatabaseFullPathDispatcher(this: IDbCryptInfo; status: IStatus): PAnsiChar; cdecl;
9944 begin
9945 try
9946 Result := IDbCryptInfoImpl(this).getDatabaseFullPath(status);
9947 except
9948 on e: Exception do FbException.catchException(status, e);
9949 end
9950 end;
9951
9952 var
9953 IDbCryptInfoImpl_vTable: DbCryptInfoVTable;
9954
9955 constructor IDbCryptInfoImpl.create;
9956 begin
9957 vTable := IDbCryptInfoImpl_vTable;
9958 end;
9959
9960 procedure IDbCryptPluginImpl_addRefDispatcher(this: IDbCryptPlugin); cdecl;
9961 begin
9962 try
9963 IDbCryptPluginImpl(this).addRef();
9964 except
9965 on e: Exception do FbException.catchException(nil, e);
9966 end
9967 end;
9968
9969 function IDbCryptPluginImpl_releaseDispatcher(this: IDbCryptPlugin): Integer; cdecl;
9970 begin
9971 try
9972 Result := IDbCryptPluginImpl(this).release();
9973 except
9974 on e: Exception do FbException.catchException(nil, e);
9975 end
9976 end;
9977
9978 procedure IDbCryptPluginImpl_setOwnerDispatcher(this: IDbCryptPlugin; r: IReferenceCounted); cdecl;
9979 begin
9980 try
9981 IDbCryptPluginImpl(this).setOwner(r);
9982 except
9983 on e: Exception do FbException.catchException(nil, e);
9984 end
9985 end;
9986
9987 function IDbCryptPluginImpl_getOwnerDispatcher(this: IDbCryptPlugin): IReferenceCounted; cdecl;
9988 begin
9989 try
9990 Result := IDbCryptPluginImpl(this).getOwner();
9991 except
9992 on e: Exception do FbException.catchException(nil, e);
9993 end
9994 end;
9995
9996 procedure IDbCryptPluginImpl_setKeyDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); cdecl;
9997 begin
9998 try
9999 IDbCryptPluginImpl(this).setKey(status, length, sources, keyName);
10000 except
10001 on e: Exception do FbException.catchException(status, e);
10002 end
10003 end;
10004
10005 procedure IDbCryptPluginImpl_encryptDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
10006 begin
10007 try
10008 IDbCryptPluginImpl(this).encrypt(status, length, from, to_);
10009 except
10010 on e: Exception do FbException.catchException(status, e);
10011 end
10012 end;
10013
10014 procedure IDbCryptPluginImpl_decryptDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
10015 begin
10016 try
10017 IDbCryptPluginImpl(this).decrypt(status, length, from, to_);
10018 except
10019 on e: Exception do FbException.catchException(status, e);
10020 end
10021 end;
10022
10023 procedure IDbCryptPluginImpl_setInfoDispatcher(this: IDbCryptPlugin; status: IStatus; info: IDbCryptInfo); cdecl;
10024 begin
10025 try
10026 IDbCryptPluginImpl(this).setInfo(status, info);
10027 except
10028 on e: Exception do FbException.catchException(status, e);
10029 end
10030 end;
10031
10032 var
10033 IDbCryptPluginImpl_vTable: DbCryptPluginVTable;
10034
10035 constructor IDbCryptPluginImpl.create;
10036 begin
10037 vTable := IDbCryptPluginImpl_vTable;
10038 end;
10039
10040 function IExternalContextImpl_getMasterDispatcher(this: IExternalContext): IMaster; cdecl;
10041 begin
10042 try
10043 Result := IExternalContextImpl(this).getMaster();
10044 except
10045 on e: Exception do FbException.catchException(nil, e);
10046 end
10047 end;
10048
10049 function IExternalContextImpl_getEngineDispatcher(this: IExternalContext; status: IStatus): IExternalEngine; cdecl;
10050 begin
10051 try
10052 Result := IExternalContextImpl(this).getEngine(status);
10053 except
10054 on e: Exception do FbException.catchException(status, e);
10055 end
10056 end;
10057
10058 function IExternalContextImpl_getAttachmentDispatcher(this: IExternalContext; status: IStatus): IAttachment; cdecl;
10059 begin
10060 try
10061 Result := IExternalContextImpl(this).getAttachment(status);
10062 except
10063 on e: Exception do FbException.catchException(status, e);
10064 end
10065 end;
10066
10067 function IExternalContextImpl_getTransactionDispatcher(this: IExternalContext; status: IStatus): ITransaction; cdecl;
10068 begin
10069 try
10070 Result := IExternalContextImpl(this).getTransaction(status);
10071 except
10072 on e: Exception do FbException.catchException(status, e);
10073 end
10074 end;
10075
10076 function IExternalContextImpl_getUserNameDispatcher(this: IExternalContext): PAnsiChar; cdecl;
10077 begin
10078 try
10079 Result := IExternalContextImpl(this).getUserName();
10080 except
10081 on e: Exception do FbException.catchException(nil, e);
10082 end
10083 end;
10084
10085 function IExternalContextImpl_getDatabaseNameDispatcher(this: IExternalContext): PAnsiChar; cdecl;
10086 begin
10087 try
10088 Result := IExternalContextImpl(this).getDatabaseName();
10089 except
10090 on e: Exception do FbException.catchException(nil, e);
10091 end
10092 end;
10093
10094 function IExternalContextImpl_getClientCharSetDispatcher(this: IExternalContext): PAnsiChar; cdecl;
10095 begin
10096 try
10097 Result := IExternalContextImpl(this).getClientCharSet();
10098 except
10099 on e: Exception do FbException.catchException(nil, e);
10100 end
10101 end;
10102
10103 function IExternalContextImpl_obtainInfoCodeDispatcher(this: IExternalContext): Integer; cdecl;
10104 begin
10105 try
10106 Result := IExternalContextImpl(this).obtainInfoCode();
10107 except
10108 on e: Exception do FbException.catchException(nil, e);
10109 end
10110 end;
10111
10112 function IExternalContextImpl_getInfoDispatcher(this: IExternalContext; code: Integer): Pointer; cdecl;
10113 begin
10114 try
10115 Result := IExternalContextImpl(this).getInfo(code);
10116 except
10117 on e: Exception do FbException.catchException(nil, e);
10118 end
10119 end;
10120
10121 function IExternalContextImpl_setInfoDispatcher(this: IExternalContext; code: Integer; value: Pointer): Pointer; cdecl;
10122 begin
10123 try
10124 Result := IExternalContextImpl(this).setInfo(code, value);
10125 except
10126 on e: Exception do FbException.catchException(nil, e);
10127 end
10128 end;
10129
10130 var
10131 IExternalContextImpl_vTable: ExternalContextVTable;
10132
10133 constructor IExternalContextImpl.create;
10134 begin
10135 vTable := IExternalContextImpl_vTable;
10136 end;
10137
10138 procedure IExternalResultSetImpl_disposeDispatcher(this: IExternalResultSet); cdecl;
10139 begin
10140 try
10141 IExternalResultSetImpl(this).dispose();
10142 except
10143 on e: Exception do FbException.catchException(nil, e);
10144 end
10145 end;
10146
10147 function IExternalResultSetImpl_fetchDispatcher(this: IExternalResultSet; status: IStatus): Boolean; cdecl;
10148 begin
10149 try
10150 Result := IExternalResultSetImpl(this).fetch(status);
10151 except
10152 on e: Exception do FbException.catchException(status, e);
10153 end
10154 end;
10155
10156 var
10157 IExternalResultSetImpl_vTable: ExternalResultSetVTable;
10158
10159 constructor IExternalResultSetImpl.create;
10160 begin
10161 vTable := IExternalResultSetImpl_vTable;
10162 end;
10163
10164 procedure IExternalFunctionImpl_disposeDispatcher(this: IExternalFunction); cdecl;
10165 begin
10166 try
10167 IExternalFunctionImpl(this).dispose();
10168 except
10169 on e: Exception do FbException.catchException(nil, e);
10170 end
10171 end;
10172
10173 procedure IExternalFunctionImpl_getCharSetDispatcher(this: IExternalFunction; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10174 begin
10175 try
10176 IExternalFunctionImpl(this).getCharSet(status, context, name, nameSize);
10177 except
10178 on e: Exception do FbException.catchException(status, e);
10179 end
10180 end;
10181
10182 procedure IExternalFunctionImpl_executeDispatcher(this: IExternalFunction; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); cdecl;
10183 begin
10184 try
10185 IExternalFunctionImpl(this).execute(status, context, inMsg, outMsg);
10186 except
10187 on e: Exception do FbException.catchException(status, e);
10188 end
10189 end;
10190
10191 var
10192 IExternalFunctionImpl_vTable: ExternalFunctionVTable;
10193
10194 constructor IExternalFunctionImpl.create;
10195 begin
10196 vTable := IExternalFunctionImpl_vTable;
10197 end;
10198
10199 procedure IExternalProcedureImpl_disposeDispatcher(this: IExternalProcedure); cdecl;
10200 begin
10201 try
10202 IExternalProcedureImpl(this).dispose();
10203 except
10204 on e: Exception do FbException.catchException(nil, e);
10205 end
10206 end;
10207
10208 procedure IExternalProcedureImpl_getCharSetDispatcher(this: IExternalProcedure; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10209 begin
10210 try
10211 IExternalProcedureImpl(this).getCharSet(status, context, name, nameSize);
10212 except
10213 on e: Exception do FbException.catchException(status, e);
10214 end
10215 end;
10216
10217 function IExternalProcedureImpl_openDispatcher(this: IExternalProcedure; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; cdecl;
10218 begin
10219 try
10220 Result := IExternalProcedureImpl(this).open(status, context, inMsg, outMsg);
10221 except
10222 on e: Exception do FbException.catchException(status, e);
10223 end
10224 end;
10225
10226 var
10227 IExternalProcedureImpl_vTable: ExternalProcedureVTable;
10228
10229 constructor IExternalProcedureImpl.create;
10230 begin
10231 vTable := IExternalProcedureImpl_vTable;
10232 end;
10233
10234 procedure IExternalTriggerImpl_disposeDispatcher(this: IExternalTrigger); cdecl;
10235 begin
10236 try
10237 IExternalTriggerImpl(this).dispose();
10238 except
10239 on e: Exception do FbException.catchException(nil, e);
10240 end
10241 end;
10242
10243 procedure IExternalTriggerImpl_getCharSetDispatcher(this: IExternalTrigger; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10244 begin
10245 try
10246 IExternalTriggerImpl(this).getCharSet(status, context, name, nameSize);
10247 except
10248 on e: Exception do FbException.catchException(status, e);
10249 end
10250 end;
10251
10252 procedure IExternalTriggerImpl_executeDispatcher(this: IExternalTrigger; status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); cdecl;
10253 begin
10254 try
10255 IExternalTriggerImpl(this).execute(status, context, action, oldMsg, newMsg);
10256 except
10257 on e: Exception do FbException.catchException(status, e);
10258 end
10259 end;
10260
10261 var
10262 IExternalTriggerImpl_vTable: ExternalTriggerVTable;
10263
10264 constructor IExternalTriggerImpl.create;
10265 begin
10266 vTable := IExternalTriggerImpl_vTable;
10267 end;
10268
10269 function IRoutineMetadataImpl_getPackageDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10270 begin
10271 try
10272 Result := IRoutineMetadataImpl(this).getPackage(status);
10273 except
10274 on e: Exception do FbException.catchException(status, e);
10275 end
10276 end;
10277
10278 function IRoutineMetadataImpl_getNameDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10279 begin
10280 try
10281 Result := IRoutineMetadataImpl(this).getName(status);
10282 except
10283 on e: Exception do FbException.catchException(status, e);
10284 end
10285 end;
10286
10287 function IRoutineMetadataImpl_getEntryPointDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10288 begin
10289 try
10290 Result := IRoutineMetadataImpl(this).getEntryPoint(status);
10291 except
10292 on e: Exception do FbException.catchException(status, e);
10293 end
10294 end;
10295
10296 function IRoutineMetadataImpl_getBodyDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10297 begin
10298 try
10299 Result := IRoutineMetadataImpl(this).getBody(status);
10300 except
10301 on e: Exception do FbException.catchException(status, e);
10302 end
10303 end;
10304
10305 function IRoutineMetadataImpl_getInputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10306 begin
10307 try
10308 Result := IRoutineMetadataImpl(this).getInputMetadata(status);
10309 except
10310 on e: Exception do FbException.catchException(status, e);
10311 end
10312 end;
10313
10314 function IRoutineMetadataImpl_getOutputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10315 begin
10316 try
10317 Result := IRoutineMetadataImpl(this).getOutputMetadata(status);
10318 except
10319 on e: Exception do FbException.catchException(status, e);
10320 end
10321 end;
10322
10323 function IRoutineMetadataImpl_getTriggerMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10324 begin
10325 try
10326 Result := IRoutineMetadataImpl(this).getTriggerMetadata(status);
10327 except
10328 on e: Exception do FbException.catchException(status, e);
10329 end
10330 end;
10331
10332 function IRoutineMetadataImpl_getTriggerTableDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10333 begin
10334 try
10335 Result := IRoutineMetadataImpl(this).getTriggerTable(status);
10336 except
10337 on e: Exception do FbException.catchException(status, e);
10338 end
10339 end;
10340
10341 function IRoutineMetadataImpl_getTriggerTypeDispatcher(this: IRoutineMetadata; status: IStatus): Cardinal; cdecl;
10342 begin
10343 try
10344 Result := IRoutineMetadataImpl(this).getTriggerType(status);
10345 except
10346 on e: Exception do FbException.catchException(status, e);
10347 end
10348 end;
10349
10350 var
10351 IRoutineMetadataImpl_vTable: RoutineMetadataVTable;
10352
10353 constructor IRoutineMetadataImpl.create;
10354 begin
10355 vTable := IRoutineMetadataImpl_vTable;
10356 end;
10357
10358 procedure IExternalEngineImpl_addRefDispatcher(this: IExternalEngine); cdecl;
10359 begin
10360 try
10361 IExternalEngineImpl(this).addRef();
10362 except
10363 on e: Exception do FbException.catchException(nil, e);
10364 end
10365 end;
10366
10367 function IExternalEngineImpl_releaseDispatcher(this: IExternalEngine): Integer; cdecl;
10368 begin
10369 try
10370 Result := IExternalEngineImpl(this).release();
10371 except
10372 on e: Exception do FbException.catchException(nil, e);
10373 end
10374 end;
10375
10376 procedure IExternalEngineImpl_setOwnerDispatcher(this: IExternalEngine; r: IReferenceCounted); cdecl;
10377 begin
10378 try
10379 IExternalEngineImpl(this).setOwner(r);
10380 except
10381 on e: Exception do FbException.catchException(nil, e);
10382 end
10383 end;
10384
10385 function IExternalEngineImpl_getOwnerDispatcher(this: IExternalEngine): IReferenceCounted; cdecl;
10386 begin
10387 try
10388 Result := IExternalEngineImpl(this).getOwner();
10389 except
10390 on e: Exception do FbException.catchException(nil, e);
10391 end
10392 end;
10393
10394 procedure IExternalEngineImpl_openDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); cdecl;
10395 begin
10396 try
10397 IExternalEngineImpl(this).open(status, context, charSet, charSetSize);
10398 except
10399 on e: Exception do FbException.catchException(status, e);
10400 end
10401 end;
10402
10403 procedure IExternalEngineImpl_openAttachmentDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
10404 begin
10405 try
10406 IExternalEngineImpl(this).openAttachment(status, context);
10407 except
10408 on e: Exception do FbException.catchException(status, e);
10409 end
10410 end;
10411
10412 procedure IExternalEngineImpl_closeAttachmentDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
10413 begin
10414 try
10415 IExternalEngineImpl(this).closeAttachment(status, context);
10416 except
10417 on e: Exception do FbException.catchException(status, e);
10418 end
10419 end;
10420
10421 function IExternalEngineImpl_makeFunctionDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; cdecl;
10422 begin
10423 try
10424 Result := IExternalEngineImpl(this).makeFunction(status, context, metadata, inBuilder, outBuilder);
10425 except
10426 on e: Exception do FbException.catchException(status, e);
10427 end
10428 end;
10429
10430 function IExternalEngineImpl_makeProcedureDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; cdecl;
10431 begin
10432 try
10433 Result := IExternalEngineImpl(this).makeProcedure(status, context, metadata, inBuilder, outBuilder);
10434 except
10435 on e: Exception do FbException.catchException(status, e);
10436 end
10437 end;
10438
10439 function IExternalEngineImpl_makeTriggerDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; cdecl;
10440 begin
10441 try
10442 Result := IExternalEngineImpl(this).makeTrigger(status, context, metadata, fieldsBuilder);
10443 except
10444 on e: Exception do FbException.catchException(status, e);
10445 end
10446 end;
10447
10448 var
10449 IExternalEngineImpl_vTable: ExternalEngineVTable;
10450
10451 constructor IExternalEngineImpl.create;
10452 begin
10453 vTable := IExternalEngineImpl_vTable;
10454 end;
10455
10456 procedure ITimerImpl_addRefDispatcher(this: ITimer); cdecl;
10457 begin
10458 try
10459 ITimerImpl(this).addRef();
10460 except
10461 on e: Exception do FbException.catchException(nil, e);
10462 end
10463 end;
10464
10465 function ITimerImpl_releaseDispatcher(this: ITimer): Integer; cdecl;
10466 begin
10467 try
10468 Result := ITimerImpl(this).release();
10469 except
10470 on e: Exception do FbException.catchException(nil, e);
10471 end
10472 end;
10473
10474 procedure ITimerImpl_handlerDispatcher(this: ITimer); cdecl;
10475 begin
10476 try
10477 ITimerImpl(this).handler();
10478 except
10479 on e: Exception do FbException.catchException(nil, e);
10480 end
10481 end;
10482
10483 var
10484 ITimerImpl_vTable: TimerVTable;
10485
10486 constructor ITimerImpl.create;
10487 begin
10488 vTable := ITimerImpl_vTable;
10489 end;
10490
10491 procedure ITimerControlImpl_startDispatcher(this: ITimerControl; status: IStatus; timer: ITimer; microSeconds: QWord); cdecl;
10492 begin
10493 try
10494 ITimerControlImpl(this).start(status, timer, microSeconds);
10495 except
10496 on e: Exception do FbException.catchException(status, e);
10497 end
10498 end;
10499
10500 procedure ITimerControlImpl_stopDispatcher(this: ITimerControl; status: IStatus; timer: ITimer); cdecl;
10501 begin
10502 try
10503 ITimerControlImpl(this).stop(status, timer);
10504 except
10505 on e: Exception do FbException.catchException(status, e);
10506 end
10507 end;
10508
10509 var
10510 ITimerControlImpl_vTable: TimerControlVTable;
10511
10512 constructor ITimerControlImpl.create;
10513 begin
10514 vTable := ITimerControlImpl_vTable;
10515 end;
10516
10517 procedure IVersionCallbackImpl_callbackDispatcher(this: IVersionCallback; status: IStatus; text: PAnsiChar); cdecl;
10518 begin
10519 try
10520 IVersionCallbackImpl(this).callback(status, text);
10521 except
10522 on e: Exception do FbException.catchException(status, e);
10523 end
10524 end;
10525
10526 var
10527 IVersionCallbackImpl_vTable: VersionCallbackVTable;
10528
10529 constructor IVersionCallbackImpl.create;
10530 begin
10531 vTable := IVersionCallbackImpl_vTable;
10532 end;
10533
10534 procedure IUtilImpl_getFbVersionDispatcher(this: IUtil; status: IStatus; att: IAttachment; callback: IVersionCallback); cdecl;
10535 begin
10536 try
10537 IUtilImpl(this).getFbVersion(status, att, callback);
10538 except
10539 on e: Exception do FbException.catchException(status, e);
10540 end
10541 end;
10542
10543 procedure IUtilImpl_loadBlobDispatcher(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
10544 begin
10545 try
10546 IUtilImpl(this).loadBlob(status, blobId, att, tra, file_, txt);
10547 except
10548 on e: Exception do FbException.catchException(status, e);
10549 end
10550 end;
10551
10552 procedure IUtilImpl_dumpBlobDispatcher(this: IUtil; status: IStatus; blobId: ISC_QUADPtr; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
10553 begin
10554 try
10555 IUtilImpl(this).dumpBlob(status, blobId, att, tra, file_, txt);
10556 except
10557 on e: Exception do FbException.catchException(status, e);
10558 end
10559 end;
10560
10561 procedure IUtilImpl_getPerfCountersDispatcher(this: IUtil; status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); cdecl;
10562 begin
10563 try
10564 IUtilImpl(this).getPerfCounters(status, att, countersSet, counters);
10565 except
10566 on e: Exception do FbException.catchException(status, e);
10567 end
10568 end;
10569
10570 function IUtilImpl_executeCreateDatabaseDispatcher(this: IUtil; status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; cdecl;
10571 begin
10572 try
10573 Result := IUtilImpl(this).executeCreateDatabase(status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb);
10574 except
10575 on e: Exception do FbException.catchException(status, e);
10576 end
10577 end;
10578
10579 procedure IUtilImpl_decodeDateDispatcher(this: IUtil; date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); cdecl;
10580 begin
10581 try
10582 IUtilImpl(this).decodeDate(date, year, month, day);
10583 except
10584 on e: Exception do FbException.catchException(nil, e);
10585 end
10586 end;
10587
10588 procedure IUtilImpl_decodeTimeDispatcher(this: IUtil; time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); cdecl;
10589 begin
10590 try
10591 IUtilImpl(this).decodeTime(time, hours, minutes, seconds, fractions);
10592 except
10593 on e: Exception do FbException.catchException(nil, e);
10594 end
10595 end;
10596
10597 function IUtilImpl_encodeDateDispatcher(this: IUtil; year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; cdecl;
10598 begin
10599 try
10600 Result := IUtilImpl(this).encodeDate(year, month, day);
10601 except
10602 on e: Exception do FbException.catchException(nil, e);
10603 end
10604 end;
10605
10606 function IUtilImpl_encodeTimeDispatcher(this: IUtil; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; cdecl;
10607 begin
10608 try
10609 Result := IUtilImpl(this).encodeTime(hours, minutes, seconds, fractions);
10610 except
10611 on e: Exception do FbException.catchException(nil, e);
10612 end
10613 end;
10614
10615 function IUtilImpl_formatStatusDispatcher(this: IUtil; buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; cdecl;
10616 begin
10617 try
10618 Result := IUtilImpl(this).formatStatus(buffer, bufferSize, status);
10619 except
10620 on e: Exception do FbException.catchException(nil, e);
10621 end
10622 end;
10623
10624 function IUtilImpl_getClientVersionDispatcher(this: IUtil): Cardinal; cdecl;
10625 begin
10626 try
10627 Result := IUtilImpl(this).getClientVersion();
10628 except
10629 on e: Exception do FbException.catchException(nil, e);
10630 end
10631 end;
10632
10633 function IUtilImpl_getXpbBuilderDispatcher(this: IUtil; status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; cdecl;
10634 begin
10635 try
10636 Result := IUtilImpl(this).getXpbBuilder(status, kind, buf, len);
10637 except
10638 on e: Exception do FbException.catchException(status, e);
10639 end
10640 end;
10641
10642 function IUtilImpl_setOffsetsDispatcher(this: IUtil; status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; cdecl;
10643 begin
10644 try
10645 Result := IUtilImpl(this).setOffsets(status, metadata, callback);
10646 except
10647 on e: Exception do FbException.catchException(status, e);
10648 end
10649 end;
10650
10651 function IUtilImpl_getDecFloat16Dispatcher(this: IUtil; status: IStatus): IDecFloat16; cdecl;
10652 begin
10653 try
10654 Result := IUtilImpl(this).getDecFloat16(status);
10655 except
10656 on e: Exception do FbException.catchException(status, e);
10657 end
10658 end;
10659
10660 function IUtilImpl_getDecFloat34Dispatcher(this: IUtil; status: IStatus): IDecFloat34; cdecl;
10661 begin
10662 try
10663 Result := IUtilImpl(this).getDecFloat34(status);
10664 except
10665 on e: Exception do FbException.catchException(status, e);
10666 end
10667 end;
10668
10669 procedure IUtilImpl_decodeTimeTzDispatcher(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr; timeZoneBufferLength: Cardinal; timeZoneBuffer: PAnsiChar); cdecl;
10670 begin
10671 try
10672 IUtilImpl(this).decodeTimeTz(status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10673 except
10674 on e: Exception do FbException.catchException(status, e);
10675 end
10676 end;
10677
10678 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;
10679 begin
10680 try
10681 IUtilImpl(this).decodeTimeStampTz(status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10682 except
10683 on e: Exception do FbException.catchException(status, e);
10684 end
10685 end;
10686
10687 procedure IUtilImpl_encodeTimeTzDispatcher(this: IUtil; status: IStatus; timeTz: ISC_TIME_TZPtr; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal; timeZone: PAnsiChar); cdecl;
10688 begin
10689 try
10690 IUtilImpl(this).encodeTimeTz(status, timeTz, hours, minutes, seconds, fractions, timeZone);
10691 except
10692 on e: Exception do FbException.catchException(status, e);
10693 end
10694 end;
10695
10696 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;
10697 begin
10698 try
10699 IUtilImpl(this).encodeTimeStampTz(status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZone);
10700 except
10701 on e: Exception do FbException.catchException(status, e);
10702 end
10703 end;
10704
10705 function IUtilImpl_getInt128Dispatcher(this: IUtil; status: IStatus): IInt128; cdecl;
10706 begin
10707 try
10708 Result := IUtilImpl(this).getInt128(status);
10709 except
10710 on e: Exception do FbException.catchException(status, e);
10711 end
10712 end;
10713
10714 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;
10715 begin
10716 try
10717 IUtilImpl(this).decodeTimeTzEx(status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10718 except
10719 on e: Exception do FbException.catchException(status, e);
10720 end
10721 end;
10722
10723 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;
10724 begin
10725 try
10726 IUtilImpl(this).decodeTimeStampTzEx(status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer);
10727 except
10728 on e: Exception do FbException.catchException(status, e);
10729 end
10730 end;
10731
10732 var
10733 IUtilImpl_vTable: UtilVTable;
10734
10735 constructor IUtilImpl.create;
10736 begin
10737 vTable := IUtilImpl_vTable;
10738 end;
10739
10740 procedure IOffsetsCallbackImpl_setOffsetDispatcher(this: IOffsetsCallback; status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); cdecl;
10741 begin
10742 try
10743 IOffsetsCallbackImpl(this).setOffset(status, index, offset, nullOffset);
10744 except
10745 on e: Exception do FbException.catchException(status, e);
10746 end
10747 end;
10748
10749 var
10750 IOffsetsCallbackImpl_vTable: OffsetsCallbackVTable;
10751
10752 constructor IOffsetsCallbackImpl.create;
10753 begin
10754 vTable := IOffsetsCallbackImpl_vTable;
10755 end;
10756
10757 procedure IXpbBuilderImpl_disposeDispatcher(this: IXpbBuilder); cdecl;
10758 begin
10759 try
10760 IXpbBuilderImpl(this).dispose();
10761 except
10762 on e: Exception do FbException.catchException(nil, e);
10763 end
10764 end;
10765
10766 procedure IXpbBuilderImpl_clearDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10767 begin
10768 try
10769 IXpbBuilderImpl(this).clear(status);
10770 except
10771 on e: Exception do FbException.catchException(status, e);
10772 end
10773 end;
10774
10775 procedure IXpbBuilderImpl_removeCurrentDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10776 begin
10777 try
10778 IXpbBuilderImpl(this).removeCurrent(status);
10779 except
10780 on e: Exception do FbException.catchException(status, e);
10781 end
10782 end;
10783
10784 procedure IXpbBuilderImpl_insertIntDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; value: Integer); cdecl;
10785 begin
10786 try
10787 IXpbBuilderImpl(this).insertInt(status, tag, value);
10788 except
10789 on e: Exception do FbException.catchException(status, e);
10790 end
10791 end;
10792
10793 procedure IXpbBuilderImpl_insertBigIntDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; value: Int64); cdecl;
10794 begin
10795 try
10796 IXpbBuilderImpl(this).insertBigInt(status, tag, value);
10797 except
10798 on e: Exception do FbException.catchException(status, e);
10799 end
10800 end;
10801
10802 procedure IXpbBuilderImpl_insertBytesDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); cdecl;
10803 begin
10804 try
10805 IXpbBuilderImpl(this).insertBytes(status, tag, bytes, length);
10806 except
10807 on e: Exception do FbException.catchException(status, e);
10808 end
10809 end;
10810
10811 procedure IXpbBuilderImpl_insertStringDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; str: PAnsiChar); cdecl;
10812 begin
10813 try
10814 IXpbBuilderImpl(this).insertString(status, tag, str);
10815 except
10816 on e: Exception do FbException.catchException(status, e);
10817 end
10818 end;
10819
10820 procedure IXpbBuilderImpl_insertTagDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte); cdecl;
10821 begin
10822 try
10823 IXpbBuilderImpl(this).insertTag(status, tag);
10824 except
10825 on e: Exception do FbException.catchException(status, e);
10826 end
10827 end;
10828
10829 function IXpbBuilderImpl_isEofDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
10830 begin
10831 try
10832 Result := IXpbBuilderImpl(this).isEof(status);
10833 except
10834 on e: Exception do FbException.catchException(status, e);
10835 end
10836 end;
10837
10838 procedure IXpbBuilderImpl_moveNextDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10839 begin
10840 try
10841 IXpbBuilderImpl(this).moveNext(status);
10842 except
10843 on e: Exception do FbException.catchException(status, e);
10844 end
10845 end;
10846
10847 procedure IXpbBuilderImpl_rewindDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10848 begin
10849 try
10850 IXpbBuilderImpl(this).rewind(status);
10851 except
10852 on e: Exception do FbException.catchException(status, e);
10853 end
10854 end;
10855
10856 function IXpbBuilderImpl_findFirstDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte): Boolean; cdecl;
10857 begin
10858 try
10859 Result := IXpbBuilderImpl(this).findFirst(status, tag);
10860 except
10861 on e: Exception do FbException.catchException(status, e);
10862 end
10863 end;
10864
10865 function IXpbBuilderImpl_findNextDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
10866 begin
10867 try
10868 Result := IXpbBuilderImpl(this).findNext(status);
10869 except
10870 on e: Exception do FbException.catchException(status, e);
10871 end
10872 end;
10873
10874 function IXpbBuilderImpl_getTagDispatcher(this: IXpbBuilder; status: IStatus): Byte; cdecl;
10875 begin
10876 try
10877 Result := IXpbBuilderImpl(this).getTag(status);
10878 except
10879 on e: Exception do FbException.catchException(status, e);
10880 end
10881 end;
10882
10883 function IXpbBuilderImpl_getLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
10884 begin
10885 try
10886 Result := IXpbBuilderImpl(this).getLength(status);
10887 except
10888 on e: Exception do FbException.catchException(status, e);
10889 end
10890 end;
10891
10892 function IXpbBuilderImpl_getIntDispatcher(this: IXpbBuilder; status: IStatus): Integer; cdecl;
10893 begin
10894 try
10895 Result := IXpbBuilderImpl(this).getInt(status);
10896 except
10897 on e: Exception do FbException.catchException(status, e);
10898 end
10899 end;
10900
10901 function IXpbBuilderImpl_getBigIntDispatcher(this: IXpbBuilder; status: IStatus): Int64; cdecl;
10902 begin
10903 try
10904 Result := IXpbBuilderImpl(this).getBigInt(status);
10905 except
10906 on e: Exception do FbException.catchException(status, e);
10907 end
10908 end;
10909
10910 function IXpbBuilderImpl_getStringDispatcher(this: IXpbBuilder; status: IStatus): PAnsiChar; cdecl;
10911 begin
10912 try
10913 Result := IXpbBuilderImpl(this).getString(status);
10914 except
10915 on e: Exception do FbException.catchException(status, e);
10916 end
10917 end;
10918
10919 function IXpbBuilderImpl_getBytesDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
10920 begin
10921 try
10922 Result := IXpbBuilderImpl(this).getBytes(status);
10923 except
10924 on e: Exception do FbException.catchException(status, e);
10925 end
10926 end;
10927
10928 function IXpbBuilderImpl_getBufferLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
10929 begin
10930 try
10931 Result := IXpbBuilderImpl(this).getBufferLength(status);
10932 except
10933 on e: Exception do FbException.catchException(status, e);
10934 end
10935 end;
10936
10937 function IXpbBuilderImpl_getBufferDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
10938 begin
10939 try
10940 Result := IXpbBuilderImpl(this).getBuffer(status);
10941 except
10942 on e: Exception do FbException.catchException(status, e);
10943 end
10944 end;
10945
10946 var
10947 IXpbBuilderImpl_vTable: XpbBuilderVTable;
10948
10949 constructor IXpbBuilderImpl.create;
10950 begin
10951 vTable := IXpbBuilderImpl_vTable;
10952 end;
10953
10954 function ITraceConnectionImpl_getKindDispatcher(this: ITraceConnection): Cardinal; cdecl;
10955 begin
10956 try
10957 Result := ITraceConnectionImpl(this).getKind();
10958 except
10959 on e: Exception do FbException.catchException(nil, e);
10960 end
10961 end;
10962
10963 function ITraceConnectionImpl_getProcessIDDispatcher(this: ITraceConnection): Integer; cdecl;
10964 begin
10965 try
10966 Result := ITraceConnectionImpl(this).getProcessID();
10967 except
10968 on e: Exception do FbException.catchException(nil, e);
10969 end
10970 end;
10971
10972 function ITraceConnectionImpl_getUserNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10973 begin
10974 try
10975 Result := ITraceConnectionImpl(this).getUserName();
10976 except
10977 on e: Exception do FbException.catchException(nil, e);
10978 end
10979 end;
10980
10981 function ITraceConnectionImpl_getRoleNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10982 begin
10983 try
10984 Result := ITraceConnectionImpl(this).getRoleName();
10985 except
10986 on e: Exception do FbException.catchException(nil, e);
10987 end
10988 end;
10989
10990 function ITraceConnectionImpl_getCharSetDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10991 begin
10992 try
10993 Result := ITraceConnectionImpl(this).getCharSet();
10994 except
10995 on e: Exception do FbException.catchException(nil, e);
10996 end
10997 end;
10998
10999 function ITraceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
11000 begin
11001 try
11002 Result := ITraceConnectionImpl(this).getRemoteProtocol();
11003 except
11004 on e: Exception do FbException.catchException(nil, e);
11005 end
11006 end;
11007
11008 function ITraceConnectionImpl_getRemoteAddressDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
11009 begin
11010 try
11011 Result := ITraceConnectionImpl(this).getRemoteAddress();
11012 except
11013 on e: Exception do FbException.catchException(nil, e);
11014 end
11015 end;
11016
11017 function ITraceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceConnection): Integer; cdecl;
11018 begin
11019 try
11020 Result := ITraceConnectionImpl(this).getRemoteProcessID();
11021 except
11022 on e: Exception do FbException.catchException(nil, e);
11023 end
11024 end;
11025
11026 function ITraceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
11027 begin
11028 try
11029 Result := ITraceConnectionImpl(this).getRemoteProcessName();
11030 except
11031 on e: Exception do FbException.catchException(nil, e);
11032 end
11033 end;
11034
11035 var
11036 ITraceConnectionImpl_vTable: TraceConnectionVTable;
11037
11038 constructor ITraceConnectionImpl.create;
11039 begin
11040 vTable := ITraceConnectionImpl_vTable;
11041 end;
11042
11043 function ITraceDatabaseConnectionImpl_getKindDispatcher(this: ITraceDatabaseConnection): Cardinal; cdecl;
11044 begin
11045 try
11046 Result := ITraceDatabaseConnectionImpl(this).getKind();
11047 except
11048 on e: Exception do FbException.catchException(nil, e);
11049 end
11050 end;
11051
11052 function ITraceDatabaseConnectionImpl_getProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl;
11053 begin
11054 try
11055 Result := ITraceDatabaseConnectionImpl(this).getProcessID();
11056 except
11057 on e: Exception do FbException.catchException(nil, e);
11058 end
11059 end;
11060
11061 function ITraceDatabaseConnectionImpl_getUserNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11062 begin
11063 try
11064 Result := ITraceDatabaseConnectionImpl(this).getUserName();
11065 except
11066 on e: Exception do FbException.catchException(nil, e);
11067 end
11068 end;
11069
11070 function ITraceDatabaseConnectionImpl_getRoleNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11071 begin
11072 try
11073 Result := ITraceDatabaseConnectionImpl(this).getRoleName();
11074 except
11075 on e: Exception do FbException.catchException(nil, e);
11076 end
11077 end;
11078
11079 function ITraceDatabaseConnectionImpl_getCharSetDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11080 begin
11081 try
11082 Result := ITraceDatabaseConnectionImpl(this).getCharSet();
11083 except
11084 on e: Exception do FbException.catchException(nil, e);
11085 end
11086 end;
11087
11088 function ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11089 begin
11090 try
11091 Result := ITraceDatabaseConnectionImpl(this).getRemoteProtocol();
11092 except
11093 on e: Exception do FbException.catchException(nil, e);
11094 end
11095 end;
11096
11097 function ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11098 begin
11099 try
11100 Result := ITraceDatabaseConnectionImpl(this).getRemoteAddress();
11101 except
11102 on e: Exception do FbException.catchException(nil, e);
11103 end
11104 end;
11105
11106 function ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl;
11107 begin
11108 try
11109 Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessID();
11110 except
11111 on e: Exception do FbException.catchException(nil, e);
11112 end
11113 end;
11114
11115 function ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11116 begin
11117 try
11118 Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessName();
11119 except
11120 on e: Exception do FbException.catchException(nil, e);
11121 end
11122 end;
11123
11124 function ITraceDatabaseConnectionImpl_getConnectionIDDispatcher(this: ITraceDatabaseConnection): Int64; cdecl;
11125 begin
11126 try
11127 Result := ITraceDatabaseConnectionImpl(this).getConnectionID();
11128 except
11129 on e: Exception do FbException.catchException(nil, e);
11130 end
11131 end;
11132
11133 function ITraceDatabaseConnectionImpl_getDatabaseNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
11134 begin
11135 try
11136 Result := ITraceDatabaseConnectionImpl(this).getDatabaseName();
11137 except
11138 on e: Exception do FbException.catchException(nil, e);
11139 end
11140 end;
11141
11142 var
11143 ITraceDatabaseConnectionImpl_vTable: TraceDatabaseConnectionVTable;
11144
11145 constructor ITraceDatabaseConnectionImpl.create;
11146 begin
11147 vTable := ITraceDatabaseConnectionImpl_vTable;
11148 end;
11149
11150 function ITraceTransactionImpl_getTransactionIDDispatcher(this: ITraceTransaction): Int64; cdecl;
11151 begin
11152 try
11153 Result := ITraceTransactionImpl(this).getTransactionID();
11154 except
11155 on e: Exception do FbException.catchException(nil, e);
11156 end
11157 end;
11158
11159 function ITraceTransactionImpl_getReadOnlyDispatcher(this: ITraceTransaction): Boolean; cdecl;
11160 begin
11161 try
11162 Result := ITraceTransactionImpl(this).getReadOnly();
11163 except
11164 on e: Exception do FbException.catchException(nil, e);
11165 end
11166 end;
11167
11168 function ITraceTransactionImpl_getWaitDispatcher(this: ITraceTransaction): Integer; cdecl;
11169 begin
11170 try
11171 Result := ITraceTransactionImpl(this).getWait();
11172 except
11173 on e: Exception do FbException.catchException(nil, e);
11174 end
11175 end;
11176
11177 function ITraceTransactionImpl_getIsolationDispatcher(this: ITraceTransaction): Cardinal; cdecl;
11178 begin
11179 try
11180 Result := ITraceTransactionImpl(this).getIsolation();
11181 except
11182 on e: Exception do FbException.catchException(nil, e);
11183 end
11184 end;
11185
11186 function ITraceTransactionImpl_getPerfDispatcher(this: ITraceTransaction): PerformanceInfoPtr; cdecl;
11187 begin
11188 try
11189 Result := ITraceTransactionImpl(this).getPerf();
11190 except
11191 on e: Exception do FbException.catchException(nil, e);
11192 end
11193 end;
11194
11195 function ITraceTransactionImpl_getInitialIDDispatcher(this: ITraceTransaction): Int64; cdecl;
11196 begin
11197 try
11198 Result := ITraceTransactionImpl(this).getInitialID();
11199 except
11200 on e: Exception do FbException.catchException(nil, e);
11201 end
11202 end;
11203
11204 function ITraceTransactionImpl_getPreviousIDDispatcher(this: ITraceTransaction): Int64; cdecl;
11205 begin
11206 try
11207 Result := ITraceTransactionImpl(this).getPreviousID();
11208 except
11209 on e: Exception do FbException.catchException(nil, e);
11210 end
11211 end;
11212
11213 var
11214 ITraceTransactionImpl_vTable: TraceTransactionVTable;
11215
11216 constructor ITraceTransactionImpl.create;
11217 begin
11218 vTable := ITraceTransactionImpl_vTable;
11219 end;
11220
11221 function ITraceParamsImpl_getCountDispatcher(this: ITraceParams): Cardinal; cdecl;
11222 begin
11223 try
11224 Result := ITraceParamsImpl(this).getCount();
11225 except
11226 on e: Exception do FbException.catchException(nil, e);
11227 end
11228 end;
11229
11230 function ITraceParamsImpl_getParamDispatcher(this: ITraceParams; idx: Cardinal): dscPtr; cdecl;
11231 begin
11232 try
11233 Result := ITraceParamsImpl(this).getParam(idx);
11234 except
11235 on e: Exception do FbException.catchException(nil, e);
11236 end
11237 end;
11238
11239 function ITraceParamsImpl_getTextUTF8Dispatcher(this: ITraceParams; status: IStatus; idx: Cardinal): PAnsiChar; cdecl;
11240 begin
11241 try
11242 Result := ITraceParamsImpl(this).getTextUTF8(status, idx);
11243 except
11244 on e: Exception do FbException.catchException(status, e);
11245 end
11246 end;
11247
11248 var
11249 ITraceParamsImpl_vTable: TraceParamsVTable;
11250
11251 constructor ITraceParamsImpl.create;
11252 begin
11253 vTable := ITraceParamsImpl_vTable;
11254 end;
11255
11256 function ITraceStatementImpl_getStmtIDDispatcher(this: ITraceStatement): Int64; cdecl;
11257 begin
11258 try
11259 Result := ITraceStatementImpl(this).getStmtID();
11260 except
11261 on e: Exception do FbException.catchException(nil, e);
11262 end
11263 end;
11264
11265 function ITraceStatementImpl_getPerfDispatcher(this: ITraceStatement): PerformanceInfoPtr; cdecl;
11266 begin
11267 try
11268 Result := ITraceStatementImpl(this).getPerf();
11269 except
11270 on e: Exception do FbException.catchException(nil, e);
11271 end
11272 end;
11273
11274 var
11275 ITraceStatementImpl_vTable: TraceStatementVTable;
11276
11277 constructor ITraceStatementImpl.create;
11278 begin
11279 vTable := ITraceStatementImpl_vTable;
11280 end;
11281
11282 function ITraceSQLStatementImpl_getStmtIDDispatcher(this: ITraceSQLStatement): Int64; cdecl;
11283 begin
11284 try
11285 Result := ITraceSQLStatementImpl(this).getStmtID();
11286 except
11287 on e: Exception do FbException.catchException(nil, e);
11288 end
11289 end;
11290
11291 function ITraceSQLStatementImpl_getPerfDispatcher(this: ITraceSQLStatement): PerformanceInfoPtr; cdecl;
11292 begin
11293 try
11294 Result := ITraceSQLStatementImpl(this).getPerf();
11295 except
11296 on e: Exception do FbException.catchException(nil, e);
11297 end
11298 end;
11299
11300 function ITraceSQLStatementImpl_getTextDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11301 begin
11302 try
11303 Result := ITraceSQLStatementImpl(this).getText();
11304 except
11305 on e: Exception do FbException.catchException(nil, e);
11306 end
11307 end;
11308
11309 function ITraceSQLStatementImpl_getPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11310 begin
11311 try
11312 Result := ITraceSQLStatementImpl(this).getPlan();
11313 except
11314 on e: Exception do FbException.catchException(nil, e);
11315 end
11316 end;
11317
11318 function ITraceSQLStatementImpl_getInputsDispatcher(this: ITraceSQLStatement): ITraceParams; cdecl;
11319 begin
11320 try
11321 Result := ITraceSQLStatementImpl(this).getInputs();
11322 except
11323 on e: Exception do FbException.catchException(nil, e);
11324 end
11325 end;
11326
11327 function ITraceSQLStatementImpl_getTextUTF8Dispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11328 begin
11329 try
11330 Result := ITraceSQLStatementImpl(this).getTextUTF8();
11331 except
11332 on e: Exception do FbException.catchException(nil, e);
11333 end
11334 end;
11335
11336 function ITraceSQLStatementImpl_getExplainedPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11337 begin
11338 try
11339 Result := ITraceSQLStatementImpl(this).getExplainedPlan();
11340 except
11341 on e: Exception do FbException.catchException(nil, e);
11342 end
11343 end;
11344
11345 var
11346 ITraceSQLStatementImpl_vTable: TraceSQLStatementVTable;
11347
11348 constructor ITraceSQLStatementImpl.create;
11349 begin
11350 vTable := ITraceSQLStatementImpl_vTable;
11351 end;
11352
11353 function ITraceBLRStatementImpl_getStmtIDDispatcher(this: ITraceBLRStatement): Int64; cdecl;
11354 begin
11355 try
11356 Result := ITraceBLRStatementImpl(this).getStmtID();
11357 except
11358 on e: Exception do FbException.catchException(nil, e);
11359 end
11360 end;
11361
11362 function ITraceBLRStatementImpl_getPerfDispatcher(this: ITraceBLRStatement): PerformanceInfoPtr; cdecl;
11363 begin
11364 try
11365 Result := ITraceBLRStatementImpl(this).getPerf();
11366 except
11367 on e: Exception do FbException.catchException(nil, e);
11368 end
11369 end;
11370
11371 function ITraceBLRStatementImpl_getDataDispatcher(this: ITraceBLRStatement): BytePtr; cdecl;
11372 begin
11373 try
11374 Result := ITraceBLRStatementImpl(this).getData();
11375 except
11376 on e: Exception do FbException.catchException(nil, e);
11377 end
11378 end;
11379
11380 function ITraceBLRStatementImpl_getDataLengthDispatcher(this: ITraceBLRStatement): Cardinal; cdecl;
11381 begin
11382 try
11383 Result := ITraceBLRStatementImpl(this).getDataLength();
11384 except
11385 on e: Exception do FbException.catchException(nil, e);
11386 end
11387 end;
11388
11389 function ITraceBLRStatementImpl_getTextDispatcher(this: ITraceBLRStatement): PAnsiChar; cdecl;
11390 begin
11391 try
11392 Result := ITraceBLRStatementImpl(this).getText();
11393 except
11394 on e: Exception do FbException.catchException(nil, e);
11395 end
11396 end;
11397
11398 var
11399 ITraceBLRStatementImpl_vTable: TraceBLRStatementVTable;
11400
11401 constructor ITraceBLRStatementImpl.create;
11402 begin
11403 vTable := ITraceBLRStatementImpl_vTable;
11404 end;
11405
11406 function ITraceDYNRequestImpl_getDataDispatcher(this: ITraceDYNRequest): BytePtr; cdecl;
11407 begin
11408 try
11409 Result := ITraceDYNRequestImpl(this).getData();
11410 except
11411 on e: Exception do FbException.catchException(nil, e);
11412 end
11413 end;
11414
11415 function ITraceDYNRequestImpl_getDataLengthDispatcher(this: ITraceDYNRequest): Cardinal; cdecl;
11416 begin
11417 try
11418 Result := ITraceDYNRequestImpl(this).getDataLength();
11419 except
11420 on e: Exception do FbException.catchException(nil, e);
11421 end
11422 end;
11423
11424 function ITraceDYNRequestImpl_getTextDispatcher(this: ITraceDYNRequest): PAnsiChar; cdecl;
11425 begin
11426 try
11427 Result := ITraceDYNRequestImpl(this).getText();
11428 except
11429 on e: Exception do FbException.catchException(nil, e);
11430 end
11431 end;
11432
11433 var
11434 ITraceDYNRequestImpl_vTable: TraceDYNRequestVTable;
11435
11436 constructor ITraceDYNRequestImpl.create;
11437 begin
11438 vTable := ITraceDYNRequestImpl_vTable;
11439 end;
11440
11441 function ITraceContextVariableImpl_getNameSpaceDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11442 begin
11443 try
11444 Result := ITraceContextVariableImpl(this).getNameSpace();
11445 except
11446 on e: Exception do FbException.catchException(nil, e);
11447 end
11448 end;
11449
11450 function ITraceContextVariableImpl_getVarNameDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11451 begin
11452 try
11453 Result := ITraceContextVariableImpl(this).getVarName();
11454 except
11455 on e: Exception do FbException.catchException(nil, e);
11456 end
11457 end;
11458
11459 function ITraceContextVariableImpl_getVarValueDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11460 begin
11461 try
11462 Result := ITraceContextVariableImpl(this).getVarValue();
11463 except
11464 on e: Exception do FbException.catchException(nil, e);
11465 end
11466 end;
11467
11468 var
11469 ITraceContextVariableImpl_vTable: TraceContextVariableVTable;
11470
11471 constructor ITraceContextVariableImpl.create;
11472 begin
11473 vTable := ITraceContextVariableImpl_vTable;
11474 end;
11475
11476 function ITraceProcedureImpl_getProcNameDispatcher(this: ITraceProcedure): PAnsiChar; cdecl;
11477 begin
11478 try
11479 Result := ITraceProcedureImpl(this).getProcName();
11480 except
11481 on e: Exception do FbException.catchException(nil, e);
11482 end
11483 end;
11484
11485 function ITraceProcedureImpl_getInputsDispatcher(this: ITraceProcedure): ITraceParams; cdecl;
11486 begin
11487 try
11488 Result := ITraceProcedureImpl(this).getInputs();
11489 except
11490 on e: Exception do FbException.catchException(nil, e);
11491 end
11492 end;
11493
11494 function ITraceProcedureImpl_getPerfDispatcher(this: ITraceProcedure): PerformanceInfoPtr; cdecl;
11495 begin
11496 try
11497 Result := ITraceProcedureImpl(this).getPerf();
11498 except
11499 on e: Exception do FbException.catchException(nil, e);
11500 end
11501 end;
11502
11503 var
11504 ITraceProcedureImpl_vTable: TraceProcedureVTable;
11505
11506 constructor ITraceProcedureImpl.create;
11507 begin
11508 vTable := ITraceProcedureImpl_vTable;
11509 end;
11510
11511 function ITraceFunctionImpl_getFuncNameDispatcher(this: ITraceFunction): PAnsiChar; cdecl;
11512 begin
11513 try
11514 Result := ITraceFunctionImpl(this).getFuncName();
11515 except
11516 on e: Exception do FbException.catchException(nil, e);
11517 end
11518 end;
11519
11520 function ITraceFunctionImpl_getInputsDispatcher(this: ITraceFunction): ITraceParams; cdecl;
11521 begin
11522 try
11523 Result := ITraceFunctionImpl(this).getInputs();
11524 except
11525 on e: Exception do FbException.catchException(nil, e);
11526 end
11527 end;
11528
11529 function ITraceFunctionImpl_getResultDispatcher(this: ITraceFunction): ITraceParams; cdecl;
11530 begin
11531 try
11532 Result := ITraceFunctionImpl(this).getResult();
11533 except
11534 on e: Exception do FbException.catchException(nil, e);
11535 end
11536 end;
11537
11538 function ITraceFunctionImpl_getPerfDispatcher(this: ITraceFunction): PerformanceInfoPtr; cdecl;
11539 begin
11540 try
11541 Result := ITraceFunctionImpl(this).getPerf();
11542 except
11543 on e: Exception do FbException.catchException(nil, e);
11544 end
11545 end;
11546
11547 var
11548 ITraceFunctionImpl_vTable: TraceFunctionVTable;
11549
11550 constructor ITraceFunctionImpl.create;
11551 begin
11552 vTable := ITraceFunctionImpl_vTable;
11553 end;
11554
11555 function ITraceTriggerImpl_getTriggerNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl;
11556 begin
11557 try
11558 Result := ITraceTriggerImpl(this).getTriggerName();
11559 except
11560 on e: Exception do FbException.catchException(nil, e);
11561 end
11562 end;
11563
11564 function ITraceTriggerImpl_getRelationNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl;
11565 begin
11566 try
11567 Result := ITraceTriggerImpl(this).getRelationName();
11568 except
11569 on e: Exception do FbException.catchException(nil, e);
11570 end
11571 end;
11572
11573 function ITraceTriggerImpl_getActionDispatcher(this: ITraceTrigger): Integer; cdecl;
11574 begin
11575 try
11576 Result := ITraceTriggerImpl(this).getAction();
11577 except
11578 on e: Exception do FbException.catchException(nil, e);
11579 end
11580 end;
11581
11582 function ITraceTriggerImpl_getWhichDispatcher(this: ITraceTrigger): Integer; cdecl;
11583 begin
11584 try
11585 Result := ITraceTriggerImpl(this).getWhich();
11586 except
11587 on e: Exception do FbException.catchException(nil, e);
11588 end
11589 end;
11590
11591 function ITraceTriggerImpl_getPerfDispatcher(this: ITraceTrigger): PerformanceInfoPtr; cdecl;
11592 begin
11593 try
11594 Result := ITraceTriggerImpl(this).getPerf();
11595 except
11596 on e: Exception do FbException.catchException(nil, e);
11597 end
11598 end;
11599
11600 var
11601 ITraceTriggerImpl_vTable: TraceTriggerVTable;
11602
11603 constructor ITraceTriggerImpl.create;
11604 begin
11605 vTable := ITraceTriggerImpl_vTable;
11606 end;
11607
11608 function ITraceServiceConnectionImpl_getKindDispatcher(this: ITraceServiceConnection): Cardinal; cdecl;
11609 begin
11610 try
11611 Result := ITraceServiceConnectionImpl(this).getKind();
11612 except
11613 on e: Exception do FbException.catchException(nil, e);
11614 end
11615 end;
11616
11617 function ITraceServiceConnectionImpl_getProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl;
11618 begin
11619 try
11620 Result := ITraceServiceConnectionImpl(this).getProcessID();
11621 except
11622 on e: Exception do FbException.catchException(nil, e);
11623 end
11624 end;
11625
11626 function ITraceServiceConnectionImpl_getUserNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11627 begin
11628 try
11629 Result := ITraceServiceConnectionImpl(this).getUserName();
11630 except
11631 on e: Exception do FbException.catchException(nil, e);
11632 end
11633 end;
11634
11635 function ITraceServiceConnectionImpl_getRoleNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11636 begin
11637 try
11638 Result := ITraceServiceConnectionImpl(this).getRoleName();
11639 except
11640 on e: Exception do FbException.catchException(nil, e);
11641 end
11642 end;
11643
11644 function ITraceServiceConnectionImpl_getCharSetDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11645 begin
11646 try
11647 Result := ITraceServiceConnectionImpl(this).getCharSet();
11648 except
11649 on e: Exception do FbException.catchException(nil, e);
11650 end
11651 end;
11652
11653 function ITraceServiceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11654 begin
11655 try
11656 Result := ITraceServiceConnectionImpl(this).getRemoteProtocol();
11657 except
11658 on e: Exception do FbException.catchException(nil, e);
11659 end
11660 end;
11661
11662 function ITraceServiceConnectionImpl_getRemoteAddressDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11663 begin
11664 try
11665 Result := ITraceServiceConnectionImpl(this).getRemoteAddress();
11666 except
11667 on e: Exception do FbException.catchException(nil, e);
11668 end
11669 end;
11670
11671 function ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl;
11672 begin
11673 try
11674 Result := ITraceServiceConnectionImpl(this).getRemoteProcessID();
11675 except
11676 on e: Exception do FbException.catchException(nil, e);
11677 end
11678 end;
11679
11680 function ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11681 begin
11682 try
11683 Result := ITraceServiceConnectionImpl(this).getRemoteProcessName();
11684 except
11685 on e: Exception do FbException.catchException(nil, e);
11686 end
11687 end;
11688
11689 function ITraceServiceConnectionImpl_getServiceIDDispatcher(this: ITraceServiceConnection): Pointer; cdecl;
11690 begin
11691 try
11692 Result := ITraceServiceConnectionImpl(this).getServiceID();
11693 except
11694 on e: Exception do FbException.catchException(nil, e);
11695 end
11696 end;
11697
11698 function ITraceServiceConnectionImpl_getServiceMgrDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11699 begin
11700 try
11701 Result := ITraceServiceConnectionImpl(this).getServiceMgr();
11702 except
11703 on e: Exception do FbException.catchException(nil, e);
11704 end
11705 end;
11706
11707 function ITraceServiceConnectionImpl_getServiceNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11708 begin
11709 try
11710 Result := ITraceServiceConnectionImpl(this).getServiceName();
11711 except
11712 on e: Exception do FbException.catchException(nil, e);
11713 end
11714 end;
11715
11716 var
11717 ITraceServiceConnectionImpl_vTable: TraceServiceConnectionVTable;
11718
11719 constructor ITraceServiceConnectionImpl.create;
11720 begin
11721 vTable := ITraceServiceConnectionImpl_vTable;
11722 end;
11723
11724 function ITraceStatusVectorImpl_hasErrorDispatcher(this: ITraceStatusVector): Boolean; cdecl;
11725 begin
11726 try
11727 Result := ITraceStatusVectorImpl(this).hasError();
11728 except
11729 on e: Exception do FbException.catchException(nil, e);
11730 end
11731 end;
11732
11733 function ITraceStatusVectorImpl_hasWarningDispatcher(this: ITraceStatusVector): Boolean; cdecl;
11734 begin
11735 try
11736 Result := ITraceStatusVectorImpl(this).hasWarning();
11737 except
11738 on e: Exception do FbException.catchException(nil, e);
11739 end
11740 end;
11741
11742 function ITraceStatusVectorImpl_getStatusDispatcher(this: ITraceStatusVector): IStatus; cdecl;
11743 begin
11744 try
11745 Result := ITraceStatusVectorImpl(this).getStatus();
11746 except
11747 on e: Exception do FbException.catchException(nil, e);
11748 end
11749 end;
11750
11751 function ITraceStatusVectorImpl_getTextDispatcher(this: ITraceStatusVector): PAnsiChar; cdecl;
11752 begin
11753 try
11754 Result := ITraceStatusVectorImpl(this).getText();
11755 except
11756 on e: Exception do FbException.catchException(nil, e);
11757 end
11758 end;
11759
11760 var
11761 ITraceStatusVectorImpl_vTable: TraceStatusVectorVTable;
11762
11763 constructor ITraceStatusVectorImpl.create;
11764 begin
11765 vTable := ITraceStatusVectorImpl_vTable;
11766 end;
11767
11768 function ITraceSweepInfoImpl_getOITDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11769 begin
11770 try
11771 Result := ITraceSweepInfoImpl(this).getOIT();
11772 except
11773 on e: Exception do FbException.catchException(nil, e);
11774 end
11775 end;
11776
11777 function ITraceSweepInfoImpl_getOSTDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11778 begin
11779 try
11780 Result := ITraceSweepInfoImpl(this).getOST();
11781 except
11782 on e: Exception do FbException.catchException(nil, e);
11783 end
11784 end;
11785
11786 function ITraceSweepInfoImpl_getOATDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11787 begin
11788 try
11789 Result := ITraceSweepInfoImpl(this).getOAT();
11790 except
11791 on e: Exception do FbException.catchException(nil, e);
11792 end
11793 end;
11794
11795 function ITraceSweepInfoImpl_getNextDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11796 begin
11797 try
11798 Result := ITraceSweepInfoImpl(this).getNext();
11799 except
11800 on e: Exception do FbException.catchException(nil, e);
11801 end
11802 end;
11803
11804 function ITraceSweepInfoImpl_getPerfDispatcher(this: ITraceSweepInfo): PerformanceInfoPtr; cdecl;
11805 begin
11806 try
11807 Result := ITraceSweepInfoImpl(this).getPerf();
11808 except
11809 on e: Exception do FbException.catchException(nil, e);
11810 end
11811 end;
11812
11813 var
11814 ITraceSweepInfoImpl_vTable: TraceSweepInfoVTable;
11815
11816 constructor ITraceSweepInfoImpl.create;
11817 begin
11818 vTable := ITraceSweepInfoImpl_vTable;
11819 end;
11820
11821 procedure ITraceLogWriterImpl_addRefDispatcher(this: ITraceLogWriter); cdecl;
11822 begin
11823 try
11824 ITraceLogWriterImpl(this).addRef();
11825 except
11826 on e: Exception do FbException.catchException(nil, e);
11827 end
11828 end;
11829
11830 function ITraceLogWriterImpl_releaseDispatcher(this: ITraceLogWriter): Integer; cdecl;
11831 begin
11832 try
11833 Result := ITraceLogWriterImpl(this).release();
11834 except
11835 on e: Exception do FbException.catchException(nil, e);
11836 end
11837 end;
11838
11839 function ITraceLogWriterImpl_writeDispatcher(this: ITraceLogWriter; buf: Pointer; size: Cardinal): Cardinal; cdecl;
11840 begin
11841 try
11842 Result := ITraceLogWriterImpl(this).write(buf, size);
11843 except
11844 on e: Exception do FbException.catchException(nil, e);
11845 end
11846 end;
11847
11848 function ITraceLogWriterImpl_write_sDispatcher(this: ITraceLogWriter; status: IStatus; buf: Pointer; size: Cardinal): Cardinal; cdecl;
11849 begin
11850 try
11851 Result := ITraceLogWriterImpl(this).write_s(status, buf, size);
11852 except
11853 on e: Exception do FbException.catchException(status, e);
11854 end
11855 end;
11856
11857 var
11858 ITraceLogWriterImpl_vTable: TraceLogWriterVTable;
11859
11860 constructor ITraceLogWriterImpl.create;
11861 begin
11862 vTable := ITraceLogWriterImpl_vTable;
11863 end;
11864
11865 function ITraceInitInfoImpl_getConfigTextDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11866 begin
11867 try
11868 Result := ITraceInitInfoImpl(this).getConfigText();
11869 except
11870 on e: Exception do FbException.catchException(nil, e);
11871 end
11872 end;
11873
11874 function ITraceInitInfoImpl_getTraceSessionIDDispatcher(this: ITraceInitInfo): Integer; cdecl;
11875 begin
11876 try
11877 Result := ITraceInitInfoImpl(this).getTraceSessionID();
11878 except
11879 on e: Exception do FbException.catchException(nil, e);
11880 end
11881 end;
11882
11883 function ITraceInitInfoImpl_getTraceSessionNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11884 begin
11885 try
11886 Result := ITraceInitInfoImpl(this).getTraceSessionName();
11887 except
11888 on e: Exception do FbException.catchException(nil, e);
11889 end
11890 end;
11891
11892 function ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11893 begin
11894 try
11895 Result := ITraceInitInfoImpl(this).getFirebirdRootDirectory();
11896 except
11897 on e: Exception do FbException.catchException(nil, e);
11898 end
11899 end;
11900
11901 function ITraceInitInfoImpl_getDatabaseNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11902 begin
11903 try
11904 Result := ITraceInitInfoImpl(this).getDatabaseName();
11905 except
11906 on e: Exception do FbException.catchException(nil, e);
11907 end
11908 end;
11909
11910 function ITraceInitInfoImpl_getConnectionDispatcher(this: ITraceInitInfo): ITraceDatabaseConnection; cdecl;
11911 begin
11912 try
11913 Result := ITraceInitInfoImpl(this).getConnection();
11914 except
11915 on e: Exception do FbException.catchException(nil, e);
11916 end
11917 end;
11918
11919 function ITraceInitInfoImpl_getLogWriterDispatcher(this: ITraceInitInfo): ITraceLogWriter; cdecl;
11920 begin
11921 try
11922 Result := ITraceInitInfoImpl(this).getLogWriter();
11923 except
11924 on e: Exception do FbException.catchException(nil, e);
11925 end
11926 end;
11927
11928 var
11929 ITraceInitInfoImpl_vTable: TraceInitInfoVTable;
11930
11931 constructor ITraceInitInfoImpl.create;
11932 begin
11933 vTable := ITraceInitInfoImpl_vTable;
11934 end;
11935
11936 procedure ITracePluginImpl_addRefDispatcher(this: ITracePlugin); cdecl;
11937 begin
11938 try
11939 ITracePluginImpl(this).addRef();
11940 except
11941 on e: Exception do FbException.catchException(nil, e);
11942 end
11943 end;
11944
11945 function ITracePluginImpl_releaseDispatcher(this: ITracePlugin): Integer; cdecl;
11946 begin
11947 try
11948 Result := ITracePluginImpl(this).release();
11949 except
11950 on e: Exception do FbException.catchException(nil, e);
11951 end
11952 end;
11953
11954 function ITracePluginImpl_trace_get_errorDispatcher(this: ITracePlugin): PAnsiChar; cdecl;
11955 begin
11956 try
11957 Result := ITracePluginImpl(this).trace_get_error();
11958 except
11959 on e: Exception do FbException.catchException(nil, e);
11960 end
11961 end;
11962
11963 function ITracePluginImpl_trace_attachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; cdecl;
11964 begin
11965 try
11966 Result := ITracePluginImpl(this).trace_attach(connection, create_db, att_result);
11967 except
11968 on e: Exception do FbException.catchException(nil, e);
11969 end
11970 end;
11971
11972 function ITracePluginImpl_trace_detachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; cdecl;
11973 begin
11974 try
11975 Result := ITracePluginImpl(this).trace_detach(connection, drop_db);
11976 except
11977 on e: Exception do FbException.catchException(nil, e);
11978 end
11979 end;
11980
11981 function ITracePluginImpl_trace_transaction_startDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; cdecl;
11982 begin
11983 try
11984 Result := ITracePluginImpl(this).trace_transaction_start(connection, transaction, tpb_length, tpb, tra_result);
11985 except
11986 on e: Exception do FbException.catchException(nil, e);
11987 end
11988 end;
11989
11990 function ITracePluginImpl_trace_transaction_endDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; cdecl;
11991 begin
11992 try
11993 Result := ITracePluginImpl(this).trace_transaction_end(connection, transaction, commit, retain_context, tra_result);
11994 except
11995 on e: Exception do FbException.catchException(nil, e);
11996 end
11997 end;
11998
11999 function ITracePluginImpl_trace_proc_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; cdecl;
12000 begin
12001 try
12002 Result := ITracePluginImpl(this).trace_proc_execute(connection, transaction, procedure_, started, proc_result);
12003 except
12004 on e: Exception do FbException.catchException(nil, e);
12005 end
12006 end;
12007
12008 function ITracePluginImpl_trace_trigger_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; cdecl;
12009 begin
12010 try
12011 Result := ITracePluginImpl(this).trace_trigger_execute(connection, transaction, trigger, started, trig_result);
12012 except
12013 on e: Exception do FbException.catchException(nil, e);
12014 end
12015 end;
12016
12017 function ITracePluginImpl_trace_set_contextDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; cdecl;
12018 begin
12019 try
12020 Result := ITracePluginImpl(this).trace_set_context(connection, transaction, variable);
12021 except
12022 on e: Exception do FbException.catchException(nil, e);
12023 end
12024 end;
12025
12026 function ITracePluginImpl_trace_dsql_prepareDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
12027 begin
12028 try
12029 Result := ITracePluginImpl(this).trace_dsql_prepare(connection, transaction, statement, time_millis, req_result);
12030 except
12031 on e: Exception do FbException.catchException(nil, e);
12032 end
12033 end;
12034
12035 function ITracePluginImpl_trace_dsql_freeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; cdecl;
12036 begin
12037 try
12038 Result := ITracePluginImpl(this).trace_dsql_free(connection, statement, option);
12039 except
12040 on e: Exception do FbException.catchException(nil, e);
12041 end
12042 end;
12043
12044 function ITracePluginImpl_trace_dsql_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; cdecl;
12045 begin
12046 try
12047 Result := ITracePluginImpl(this).trace_dsql_execute(connection, transaction, statement, started, req_result);
12048 except
12049 on e: Exception do FbException.catchException(nil, e);
12050 end
12051 end;
12052
12053 function ITracePluginImpl_trace_blr_compileDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
12054 begin
12055 try
12056 Result := ITracePluginImpl(this).trace_blr_compile(connection, transaction, statement, time_millis, req_result);
12057 except
12058 on e: Exception do FbException.catchException(nil, e);
12059 end
12060 end;
12061
12062 function ITracePluginImpl_trace_blr_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; cdecl;
12063 begin
12064 try
12065 Result := ITracePluginImpl(this).trace_blr_execute(connection, transaction, statement, req_result);
12066 except
12067 on e: Exception do FbException.catchException(nil, e);
12068 end
12069 end;
12070
12071 function ITracePluginImpl_trace_dyn_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
12072 begin
12073 try
12074 Result := ITracePluginImpl(this).trace_dyn_execute(connection, transaction, request, time_millis, req_result);
12075 except
12076 on e: Exception do FbException.catchException(nil, e);
12077 end
12078 end;
12079
12080 function ITracePluginImpl_trace_service_attachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; att_result: Cardinal): Boolean; cdecl;
12081 begin
12082 try
12083 Result := ITracePluginImpl(this).trace_service_attach(service, att_result);
12084 except
12085 on e: Exception do FbException.catchException(nil, e);
12086 end
12087 end;
12088
12089 function ITracePluginImpl_trace_service_startDispatcher(this: ITracePlugin; service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; cdecl;
12090 begin
12091 try
12092 Result := ITracePluginImpl(this).trace_service_start(service, switches_length, switches, start_result);
12093 except
12094 on e: Exception do FbException.catchException(nil, e);
12095 end
12096 end;
12097
12098 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;
12099 begin
12100 try
12101 Result := ITracePluginImpl(this).trace_service_query(service, send_item_length, send_items, recv_item_length, recv_items, query_result);
12102 except
12103 on e: Exception do FbException.catchException(nil, e);
12104 end
12105 end;
12106
12107 function ITracePluginImpl_trace_service_detachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; detach_result: Cardinal): Boolean; cdecl;
12108 begin
12109 try
12110 Result := ITracePluginImpl(this).trace_service_detach(service, detach_result);
12111 except
12112 on e: Exception do FbException.catchException(nil, e);
12113 end
12114 end;
12115
12116 function ITracePluginImpl_trace_event_errorDispatcher(this: ITracePlugin; connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; cdecl;
12117 begin
12118 try
12119 Result := ITracePluginImpl(this).trace_event_error(connection, status, function_);
12120 except
12121 on e: Exception do FbException.catchException(nil, e);
12122 end
12123 end;
12124
12125 function ITracePluginImpl_trace_event_sweepDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; cdecl;
12126 begin
12127 try
12128 Result := ITracePluginImpl(this).trace_event_sweep(connection, sweep, sweep_state);
12129 except
12130 on e: Exception do FbException.catchException(nil, e);
12131 end
12132 end;
12133
12134 function ITracePluginImpl_trace_func_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; cdecl;
12135 begin
12136 try
12137 Result := ITracePluginImpl(this).trace_func_execute(connection, transaction, function_, started, func_result);
12138 except
12139 on e: Exception do FbException.catchException(nil, e);
12140 end
12141 end;
12142
12143 var
12144 ITracePluginImpl_vTable: TracePluginVTable;
12145
12146 constructor ITracePluginImpl.create;
12147 begin
12148 vTable := ITracePluginImpl_vTable;
12149 end;
12150
12151 procedure ITraceFactoryImpl_addRefDispatcher(this: ITraceFactory); cdecl;
12152 begin
12153 try
12154 ITraceFactoryImpl(this).addRef();
12155 except
12156 on e: Exception do FbException.catchException(nil, e);
12157 end
12158 end;
12159
12160 function ITraceFactoryImpl_releaseDispatcher(this: ITraceFactory): Integer; cdecl;
12161 begin
12162 try
12163 Result := ITraceFactoryImpl(this).release();
12164 except
12165 on e: Exception do FbException.catchException(nil, e);
12166 end
12167 end;
12168
12169 procedure ITraceFactoryImpl_setOwnerDispatcher(this: ITraceFactory; r: IReferenceCounted); cdecl;
12170 begin
12171 try
12172 ITraceFactoryImpl(this).setOwner(r);
12173 except
12174 on e: Exception do FbException.catchException(nil, e);
12175 end
12176 end;
12177
12178 function ITraceFactoryImpl_getOwnerDispatcher(this: ITraceFactory): IReferenceCounted; cdecl;
12179 begin
12180 try
12181 Result := ITraceFactoryImpl(this).getOwner();
12182 except
12183 on e: Exception do FbException.catchException(nil, e);
12184 end
12185 end;
12186
12187 function ITraceFactoryImpl_trace_needsDispatcher(this: ITraceFactory): QWord; cdecl;
12188 begin
12189 try
12190 Result := ITraceFactoryImpl(this).trace_needs();
12191 except
12192 on e: Exception do FbException.catchException(nil, e);
12193 end
12194 end;
12195
12196 function ITraceFactoryImpl_trace_createDispatcher(this: ITraceFactory; status: IStatus; init_info: ITraceInitInfo): ITracePlugin; cdecl;
12197 begin
12198 try
12199 Result := ITraceFactoryImpl(this).trace_create(status, init_info);
12200 except
12201 on e: Exception do FbException.catchException(status, e);
12202 end
12203 end;
12204
12205 var
12206 ITraceFactoryImpl_vTable: TraceFactoryVTable;
12207
12208 constructor ITraceFactoryImpl.create;
12209 begin
12210 vTable := ITraceFactoryImpl_vTable;
12211 end;
12212
12213 procedure IUdrFunctionFactoryImpl_disposeDispatcher(this: IUdrFunctionFactory); cdecl;
12214 begin
12215 try
12216 IUdrFunctionFactoryImpl(this).dispose();
12217 except
12218 on e: Exception do FbException.catchException(nil, e);
12219 end
12220 end;
12221
12222 procedure IUdrFunctionFactoryImpl_setupDispatcher(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
12223 begin
12224 try
12225 IUdrFunctionFactoryImpl(this).setup(status, context, metadata, inBuilder, outBuilder);
12226 except
12227 on e: Exception do FbException.catchException(status, e);
12228 end
12229 end;
12230
12231 function IUdrFunctionFactoryImpl_newItemDispatcher(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; cdecl;
12232 begin
12233 try
12234 Result := IUdrFunctionFactoryImpl(this).newItem(status, context, metadata);
12235 except
12236 on e: Exception do FbException.catchException(status, e);
12237 end
12238 end;
12239
12240 var
12241 IUdrFunctionFactoryImpl_vTable: UdrFunctionFactoryVTable;
12242
12243 constructor IUdrFunctionFactoryImpl.create;
12244 begin
12245 vTable := IUdrFunctionFactoryImpl_vTable;
12246 end;
12247
12248 procedure IUdrProcedureFactoryImpl_disposeDispatcher(this: IUdrProcedureFactory); cdecl;
12249 begin
12250 try
12251 IUdrProcedureFactoryImpl(this).dispose();
12252 except
12253 on e: Exception do FbException.catchException(nil, e);
12254 end
12255 end;
12256
12257 procedure IUdrProcedureFactoryImpl_setupDispatcher(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
12258 begin
12259 try
12260 IUdrProcedureFactoryImpl(this).setup(status, context, metadata, inBuilder, outBuilder);
12261 except
12262 on e: Exception do FbException.catchException(status, e);
12263 end
12264 end;
12265
12266 function IUdrProcedureFactoryImpl_newItemDispatcher(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; cdecl;
12267 begin
12268 try
12269 Result := IUdrProcedureFactoryImpl(this).newItem(status, context, metadata);
12270 except
12271 on e: Exception do FbException.catchException(status, e);
12272 end
12273 end;
12274
12275 var
12276 IUdrProcedureFactoryImpl_vTable: UdrProcedureFactoryVTable;
12277
12278 constructor IUdrProcedureFactoryImpl.create;
12279 begin
12280 vTable := IUdrProcedureFactoryImpl_vTable;
12281 end;
12282
12283 procedure IUdrTriggerFactoryImpl_disposeDispatcher(this: IUdrTriggerFactory); cdecl;
12284 begin
12285 try
12286 IUdrTriggerFactoryImpl(this).dispose();
12287 except
12288 on e: Exception do FbException.catchException(nil, e);
12289 end
12290 end;
12291
12292 procedure IUdrTriggerFactoryImpl_setupDispatcher(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); cdecl;
12293 begin
12294 try
12295 IUdrTriggerFactoryImpl(this).setup(status, context, metadata, fieldsBuilder);
12296 except
12297 on e: Exception do FbException.catchException(status, e);
12298 end
12299 end;
12300
12301 function IUdrTriggerFactoryImpl_newItemDispatcher(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; cdecl;
12302 begin
12303 try
12304 Result := IUdrTriggerFactoryImpl(this).newItem(status, context, metadata);
12305 except
12306 on e: Exception do FbException.catchException(status, e);
12307 end
12308 end;
12309
12310 var
12311 IUdrTriggerFactoryImpl_vTable: UdrTriggerFactoryVTable;
12312
12313 constructor IUdrTriggerFactoryImpl.create;
12314 begin
12315 vTable := IUdrTriggerFactoryImpl_vTable;
12316 end;
12317
12318 function IUdrPluginImpl_getMasterDispatcher(this: IUdrPlugin): IMaster; cdecl;
12319 begin
12320 try
12321 Result := IUdrPluginImpl(this).getMaster();
12322 except
12323 on e: Exception do FbException.catchException(nil, e);
12324 end
12325 end;
12326
12327 procedure IUdrPluginImpl_registerFunctionDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); cdecl;
12328 begin
12329 try
12330 IUdrPluginImpl(this).registerFunction(status, name, factory);
12331 except
12332 on e: Exception do FbException.catchException(status, e);
12333 end
12334 end;
12335
12336 procedure IUdrPluginImpl_registerProcedureDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); cdecl;
12337 begin
12338 try
12339 IUdrPluginImpl(this).registerProcedure(status, name, factory);
12340 except
12341 on e: Exception do FbException.catchException(status, e);
12342 end
12343 end;
12344
12345 procedure IUdrPluginImpl_registerTriggerDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); cdecl;
12346 begin
12347 try
12348 IUdrPluginImpl(this).registerTrigger(status, name, factory);
12349 except
12350 on e: Exception do FbException.catchException(status, e);
12351 end
12352 end;
12353
12354 var
12355 IUdrPluginImpl_vTable: UdrPluginVTable;
12356
12357 constructor IUdrPluginImpl.create;
12358 begin
12359 vTable := IUdrPluginImpl_vTable;
12360 end;
12361
12362 procedure IDecFloat16Impl_toBcdDispatcher(this: IDecFloat16; from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
12363 begin
12364 try
12365 IDecFloat16Impl(this).toBcd(from, sign, bcd, exp);
12366 except
12367 on e: Exception do FbException.catchException(nil, e);
12368 end
12369 end;
12370
12371 procedure IDecFloat16Impl_toStringDispatcher(this: IDecFloat16; status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
12372 begin
12373 try
12374 IDecFloat16Impl(this).toString(status, from, bufferLength, buffer);
12375 except
12376 on e: Exception do FbException.catchException(status, e);
12377 end
12378 end;
12379
12380 procedure IDecFloat16Impl_fromBcdDispatcher(this: IDecFloat16; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr); cdecl;
12381 begin
12382 try
12383 IDecFloat16Impl(this).fromBcd(sign, bcd, exp, to_);
12384 except
12385 on e: Exception do FbException.catchException(nil, e);
12386 end
12387 end;
12388
12389 procedure IDecFloat16Impl_fromStringDispatcher(this: IDecFloat16; status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr); cdecl;
12390 begin
12391 try
12392 IDecFloat16Impl(this).fromString(status, from, to_);
12393 except
12394 on e: Exception do FbException.catchException(status, e);
12395 end
12396 end;
12397
12398 var
12399 IDecFloat16Impl_vTable: DecFloat16VTable;
12400
12401 constructor IDecFloat16Impl.create;
12402 begin
12403 vTable := IDecFloat16Impl_vTable;
12404 end;
12405
12406 procedure IDecFloat34Impl_toBcdDispatcher(this: IDecFloat34; from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); cdecl;
12407 begin
12408 try
12409 IDecFloat34Impl(this).toBcd(from, sign, bcd, exp);
12410 except
12411 on e: Exception do FbException.catchException(nil, e);
12412 end
12413 end;
12414
12415 procedure IDecFloat34Impl_toStringDispatcher(this: IDecFloat34; status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
12416 begin
12417 try
12418 IDecFloat34Impl(this).toString(status, from, bufferLength, buffer);
12419 except
12420 on e: Exception do FbException.catchException(status, e);
12421 end
12422 end;
12423
12424 procedure IDecFloat34Impl_fromBcdDispatcher(this: IDecFloat34; sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr); cdecl;
12425 begin
12426 try
12427 IDecFloat34Impl(this).fromBcd(sign, bcd, exp, to_);
12428 except
12429 on e: Exception do FbException.catchException(nil, e);
12430 end
12431 end;
12432
12433 procedure IDecFloat34Impl_fromStringDispatcher(this: IDecFloat34; status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr); cdecl;
12434 begin
12435 try
12436 IDecFloat34Impl(this).fromString(status, from, to_);
12437 except
12438 on e: Exception do FbException.catchException(status, e);
12439 end
12440 end;
12441
12442 var
12443 IDecFloat34Impl_vTable: DecFloat34VTable;
12444
12445 constructor IDecFloat34Impl.create;
12446 begin
12447 vTable := IDecFloat34Impl_vTable;
12448 end;
12449
12450 procedure IInt128Impl_toStringDispatcher(this: IInt128; status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); cdecl;
12451 begin
12452 try
12453 IInt128Impl(this).toString(status, from, scale, bufferLength, buffer);
12454 except
12455 on e: Exception do FbException.catchException(status, e);
12456 end
12457 end;
12458
12459 procedure IInt128Impl_fromStringDispatcher(this: IInt128; status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr); cdecl;
12460 begin
12461 try
12462 IInt128Impl(this).fromString(status, scale, from, to_);
12463 except
12464 on e: Exception do FbException.catchException(status, e);
12465 end
12466 end;
12467
12468 var
12469 IInt128Impl_vTable: Int128VTable;
12470
12471 constructor IInt128Impl.create;
12472 begin
12473 vTable := IInt128Impl_vTable;
12474 end;
12475
12476 function IReplicatedFieldImpl_getNameDispatcher(this: IReplicatedField): PAnsiChar; cdecl;
12477 begin
12478 try
12479 Result := IReplicatedFieldImpl(this).getName();
12480 except
12481 on e: Exception do FbException.catchException(nil, e);
12482 end
12483 end;
12484
12485 function IReplicatedFieldImpl_getTypeDispatcher(this: IReplicatedField): Cardinal; cdecl;
12486 begin
12487 try
12488 Result := IReplicatedFieldImpl(this).getType();
12489 except
12490 on e: Exception do FbException.catchException(nil, e);
12491 end
12492 end;
12493
12494 function IReplicatedFieldImpl_getSubTypeDispatcher(this: IReplicatedField): Integer; cdecl;
12495 begin
12496 try
12497 Result := IReplicatedFieldImpl(this).getSubType();
12498 except
12499 on e: Exception do FbException.catchException(nil, e);
12500 end
12501 end;
12502
12503 function IReplicatedFieldImpl_getScaleDispatcher(this: IReplicatedField): Integer; cdecl;
12504 begin
12505 try
12506 Result := IReplicatedFieldImpl(this).getScale();
12507 except
12508 on e: Exception do FbException.catchException(nil, e);
12509 end
12510 end;
12511
12512 function IReplicatedFieldImpl_getLengthDispatcher(this: IReplicatedField): Cardinal; cdecl;
12513 begin
12514 try
12515 Result := IReplicatedFieldImpl(this).getLength();
12516 except
12517 on e: Exception do FbException.catchException(nil, e);
12518 end
12519 end;
12520
12521 function IReplicatedFieldImpl_getCharSetDispatcher(this: IReplicatedField): Cardinal; cdecl;
12522 begin
12523 try
12524 Result := IReplicatedFieldImpl(this).getCharSet();
12525 except
12526 on e: Exception do FbException.catchException(nil, e);
12527 end
12528 end;
12529
12530 function IReplicatedFieldImpl_getDataDispatcher(this: IReplicatedField): Pointer; cdecl;
12531 begin
12532 try
12533 Result := IReplicatedFieldImpl(this).getData();
12534 except
12535 on e: Exception do FbException.catchException(nil, e);
12536 end
12537 end;
12538
12539 var
12540 IReplicatedFieldImpl_vTable: ReplicatedFieldVTable;
12541
12542 constructor IReplicatedFieldImpl.create;
12543 begin
12544 vTable := IReplicatedFieldImpl_vTable;
12545 end;
12546
12547 function IReplicatedRecordImpl_getCountDispatcher(this: IReplicatedRecord): Cardinal; cdecl;
12548 begin
12549 try
12550 Result := IReplicatedRecordImpl(this).getCount();
12551 except
12552 on e: Exception do FbException.catchException(nil, e);
12553 end
12554 end;
12555
12556 function IReplicatedRecordImpl_getFieldDispatcher(this: IReplicatedRecord; index: Cardinal): IReplicatedField; cdecl;
12557 begin
12558 try
12559 Result := IReplicatedRecordImpl(this).getField(index);
12560 except
12561 on e: Exception do FbException.catchException(nil, e);
12562 end
12563 end;
12564
12565 function IReplicatedRecordImpl_getRawLengthDispatcher(this: IReplicatedRecord): Cardinal; cdecl;
12566 begin
12567 try
12568 Result := IReplicatedRecordImpl(this).getRawLength();
12569 except
12570 on e: Exception do FbException.catchException(nil, e);
12571 end
12572 end;
12573
12574 function IReplicatedRecordImpl_getRawDataDispatcher(this: IReplicatedRecord): BytePtr; cdecl;
12575 begin
12576 try
12577 Result := IReplicatedRecordImpl(this).getRawData();
12578 except
12579 on e: Exception do FbException.catchException(nil, e);
12580 end
12581 end;
12582
12583 var
12584 IReplicatedRecordImpl_vTable: ReplicatedRecordVTable;
12585
12586 constructor IReplicatedRecordImpl.create;
12587 begin
12588 vTable := IReplicatedRecordImpl_vTable;
12589 end;
12590
12591 procedure IReplicatedTransactionImpl_disposeDispatcher(this: IReplicatedTransaction); cdecl;
12592 begin
12593 try
12594 IReplicatedTransactionImpl(this).dispose();
12595 except
12596 on e: Exception do FbException.catchException(nil, e);
12597 end
12598 end;
12599
12600 procedure IReplicatedTransactionImpl_prepareDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12601 begin
12602 try
12603 IReplicatedTransactionImpl(this).prepare(status);
12604 except
12605 on e: Exception do FbException.catchException(status, e);
12606 end
12607 end;
12608
12609 procedure IReplicatedTransactionImpl_commitDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12610 begin
12611 try
12612 IReplicatedTransactionImpl(this).commit(status);
12613 except
12614 on e: Exception do FbException.catchException(status, e);
12615 end
12616 end;
12617
12618 procedure IReplicatedTransactionImpl_rollbackDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12619 begin
12620 try
12621 IReplicatedTransactionImpl(this).rollback(status);
12622 except
12623 on e: Exception do FbException.catchException(status, e);
12624 end
12625 end;
12626
12627 procedure IReplicatedTransactionImpl_startSavepointDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12628 begin
12629 try
12630 IReplicatedTransactionImpl(this).startSavepoint(status);
12631 except
12632 on e: Exception do FbException.catchException(status, e);
12633 end
12634 end;
12635
12636 procedure IReplicatedTransactionImpl_releaseSavepointDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12637 begin
12638 try
12639 IReplicatedTransactionImpl(this).releaseSavepoint(status);
12640 except
12641 on e: Exception do FbException.catchException(status, e);
12642 end
12643 end;
12644
12645 procedure IReplicatedTransactionImpl_rollbackSavepointDispatcher(this: IReplicatedTransaction; status: IStatus); cdecl;
12646 begin
12647 try
12648 IReplicatedTransactionImpl(this).rollbackSavepoint(status);
12649 except
12650 on e: Exception do FbException.catchException(status, e);
12651 end
12652 end;
12653
12654 procedure IReplicatedTransactionImpl_insertRecordDispatcher(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
12655 begin
12656 try
12657 IReplicatedTransactionImpl(this).insertRecord(status, name, record_);
12658 except
12659 on e: Exception do FbException.catchException(status, e);
12660 end
12661 end;
12662
12663 procedure IReplicatedTransactionImpl_updateRecordDispatcher(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; orgRecord: IReplicatedRecord; newRecord: IReplicatedRecord); cdecl;
12664 begin
12665 try
12666 IReplicatedTransactionImpl(this).updateRecord(status, name, orgRecord, newRecord);
12667 except
12668 on e: Exception do FbException.catchException(status, e);
12669 end
12670 end;
12671
12672 procedure IReplicatedTransactionImpl_deleteRecordDispatcher(this: IReplicatedTransaction; status: IStatus; name: PAnsiChar; record_: IReplicatedRecord); cdecl;
12673 begin
12674 try
12675 IReplicatedTransactionImpl(this).deleteRecord(status, name, record_);
12676 except
12677 on e: Exception do FbException.catchException(status, e);
12678 end
12679 end;
12680
12681 procedure IReplicatedTransactionImpl_executeSqlDispatcher(this: IReplicatedTransaction; status: IStatus; sql: PAnsiChar); cdecl;
12682 begin
12683 try
12684 IReplicatedTransactionImpl(this).executeSql(status, sql);
12685 except
12686 on e: Exception do FbException.catchException(status, e);
12687 end
12688 end;
12689
12690 procedure IReplicatedTransactionImpl_executeSqlIntlDispatcher(this: IReplicatedTransaction; status: IStatus; charset: Cardinal; sql: PAnsiChar); cdecl;
12691 begin
12692 try
12693 IReplicatedTransactionImpl(this).executeSqlIntl(status, charset, sql);
12694 except
12695 on e: Exception do FbException.catchException(status, e);
12696 end
12697 end;
12698
12699 var
12700 IReplicatedTransactionImpl_vTable: ReplicatedTransactionVTable;
12701
12702 constructor IReplicatedTransactionImpl.create;
12703 begin
12704 vTable := IReplicatedTransactionImpl_vTable;
12705 end;
12706
12707 procedure IReplicatedSessionImpl_addRefDispatcher(this: IReplicatedSession); cdecl;
12708 begin
12709 try
12710 IReplicatedSessionImpl(this).addRef();
12711 except
12712 on e: Exception do FbException.catchException(nil, e);
12713 end
12714 end;
12715
12716 function IReplicatedSessionImpl_releaseDispatcher(this: IReplicatedSession): Integer; cdecl;
12717 begin
12718 try
12719 Result := IReplicatedSessionImpl(this).release();
12720 except
12721 on e: Exception do FbException.catchException(nil, e);
12722 end
12723 end;
12724
12725 procedure IReplicatedSessionImpl_setOwnerDispatcher(this: IReplicatedSession; r: IReferenceCounted); cdecl;
12726 begin
12727 try
12728 IReplicatedSessionImpl(this).setOwner(r);
12729 except
12730 on e: Exception do FbException.catchException(nil, e);
12731 end
12732 end;
12733
12734 function IReplicatedSessionImpl_getOwnerDispatcher(this: IReplicatedSession): IReferenceCounted; cdecl;
12735 begin
12736 try
12737 Result := IReplicatedSessionImpl(this).getOwner();
12738 except
12739 on e: Exception do FbException.catchException(nil, e);
12740 end
12741 end;
12742
12743 function IReplicatedSessionImpl_initDispatcher(this: IReplicatedSession; status: IStatus; attachment: IAttachment): Boolean; cdecl;
12744 begin
12745 try
12746 Result := IReplicatedSessionImpl(this).init(status, attachment);
12747 except
12748 on e: Exception do FbException.catchException(status, e);
12749 end
12750 end;
12751
12752 function IReplicatedSessionImpl_startTransactionDispatcher(this: IReplicatedSession; status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction; cdecl;
12753 begin
12754 try
12755 Result := IReplicatedSessionImpl(this).startTransaction(status, transaction, number);
12756 except
12757 on e: Exception do FbException.catchException(status, e);
12758 end
12759 end;
12760
12761 procedure IReplicatedSessionImpl_cleanupTransactionDispatcher(this: IReplicatedSession; status: IStatus; number: Int64); cdecl;
12762 begin
12763 try
12764 IReplicatedSessionImpl(this).cleanupTransaction(status, number);
12765 except
12766 on e: Exception do FbException.catchException(status, e);
12767 end
12768 end;
12769
12770 procedure IReplicatedSessionImpl_setSequenceDispatcher(this: IReplicatedSession; status: IStatus; name: PAnsiChar; value: Int64); cdecl;
12771 begin
12772 try
12773 IReplicatedSessionImpl(this).setSequence(status, name, value);
12774 except
12775 on e: Exception do FbException.catchException(status, e);
12776 end
12777 end;
12778
12779 var
12780 IReplicatedSessionImpl_vTable: ReplicatedSessionVTable;
12781
12782 constructor IReplicatedSessionImpl.create;
12783 begin
12784 vTable := IReplicatedSessionImpl_vTable;
12785 end;
12786
12787 constructor FbException.create(status: IStatus);
12788 begin
12789 inherited Create('FbException');
12790 self.status := status.clone;
12791 end;
12792
12793 destructor FbException.Destroy();
12794 begin
12795 status.dispose;
12796 inherited Destroy;
12797 end;
12798
12799 function FbException.getStatus: IStatus;
12800 begin
12801 Result := status;
12802 end;
12803
12804 class procedure FbException.checkException(status: IStatus);
12805 begin
12806 if ((status.getState and status.STATE_ERRORS) <> 0) then
12807 raise FbException.create(status);
12808 end;
12809
12810 class procedure FbException.catchException(status: IStatus; e: Exception);
12811 var
12812 statusVector: array[0..4] of NativeIntPtr;
12813 msg: AnsiString;
12814 begin
12815 if (e.inheritsFrom(FbException)) then
12816 status.setErrors(FbException(e).getStatus.getErrors)
12817 else
12818 begin
12819 msg := e.message;
12820
12821 statusVector[0] := NativeIntPtr(isc_arg_gds);
12822 statusVector[1] := NativeIntPtr(isc_random);
12823 statusVector[2] := NativeIntPtr(isc_arg_string);
12824 statusVector[3] := NativeIntPtr(PAnsiChar(msg));
12825 statusVector[4] := NativeIntPtr(isc_arg_end);
12826
12827 status.setErrors(@statusVector);
12828 end
12829 end;
12830 initialization
12831 IVersionedImpl_vTable := VersionedVTable.create;
12832 IVersionedImpl_vTable.version := 1;
12833
12834 IReferenceCountedImpl_vTable := ReferenceCountedVTable.create;
12835 IReferenceCountedImpl_vTable.version := 2;
12836 IReferenceCountedImpl_vTable.addRef := @IReferenceCountedImpl_addRefDispatcher;
12837 IReferenceCountedImpl_vTable.release := @IReferenceCountedImpl_releaseDispatcher;
12838
12839 IDisposableImpl_vTable := DisposableVTable.create;
12840 IDisposableImpl_vTable.version := 2;
12841 IDisposableImpl_vTable.dispose := @IDisposableImpl_disposeDispatcher;
12842
12843 IStatusImpl_vTable := StatusVTable.create;
12844 IStatusImpl_vTable.version := 3;
12845 IStatusImpl_vTable.dispose := @IStatusImpl_disposeDispatcher;
12846 IStatusImpl_vTable.init := @IStatusImpl_initDispatcher;
12847 IStatusImpl_vTable.getState := @IStatusImpl_getStateDispatcher;
12848 IStatusImpl_vTable.setErrors2 := @IStatusImpl_setErrors2Dispatcher;
12849 IStatusImpl_vTable.setWarnings2 := @IStatusImpl_setWarnings2Dispatcher;
12850 IStatusImpl_vTable.setErrors := @IStatusImpl_setErrorsDispatcher;
12851 IStatusImpl_vTable.setWarnings := @IStatusImpl_setWarningsDispatcher;
12852 IStatusImpl_vTable.getErrors := @IStatusImpl_getErrorsDispatcher;
12853 IStatusImpl_vTable.getWarnings := @IStatusImpl_getWarningsDispatcher;
12854 IStatusImpl_vTable.clone := @IStatusImpl_cloneDispatcher;
12855
12856 IMasterImpl_vTable := MasterVTable.create;
12857 IMasterImpl_vTable.version := 2;
12858 IMasterImpl_vTable.getStatus := @IMasterImpl_getStatusDispatcher;
12859 IMasterImpl_vTable.getDispatcher := @IMasterImpl_getDispatcherDispatcher;
12860 IMasterImpl_vTable.getPluginManager := @IMasterImpl_getPluginManagerDispatcher;
12861 IMasterImpl_vTable.getTimerControl := @IMasterImpl_getTimerControlDispatcher;
12862 IMasterImpl_vTable.getDtc := @IMasterImpl_getDtcDispatcher;
12863 IMasterImpl_vTable.registerAttachment := @IMasterImpl_registerAttachmentDispatcher;
12864 IMasterImpl_vTable.registerTransaction := @IMasterImpl_registerTransactionDispatcher;
12865 IMasterImpl_vTable.getMetadataBuilder := @IMasterImpl_getMetadataBuilderDispatcher;
12866 IMasterImpl_vTable.serverMode := @IMasterImpl_serverModeDispatcher;
12867 IMasterImpl_vTable.getUtilInterface := @IMasterImpl_getUtilInterfaceDispatcher;
12868 IMasterImpl_vTable.getConfigManager := @IMasterImpl_getConfigManagerDispatcher;
12869 IMasterImpl_vTable.getProcessExiting := @IMasterImpl_getProcessExitingDispatcher;
12870
12871 IPluginBaseImpl_vTable := PluginBaseVTable.create;
12872 IPluginBaseImpl_vTable.version := 3;
12873 IPluginBaseImpl_vTable.addRef := @IPluginBaseImpl_addRefDispatcher;
12874 IPluginBaseImpl_vTable.release := @IPluginBaseImpl_releaseDispatcher;
12875 IPluginBaseImpl_vTable.setOwner := @IPluginBaseImpl_setOwnerDispatcher;
12876 IPluginBaseImpl_vTable.getOwner := @IPluginBaseImpl_getOwnerDispatcher;
12877
12878 IPluginSetImpl_vTable := PluginSetVTable.create;
12879 IPluginSetImpl_vTable.version := 3;
12880 IPluginSetImpl_vTable.addRef := @IPluginSetImpl_addRefDispatcher;
12881 IPluginSetImpl_vTable.release := @IPluginSetImpl_releaseDispatcher;
12882 IPluginSetImpl_vTable.getName := @IPluginSetImpl_getNameDispatcher;
12883 IPluginSetImpl_vTable.getModuleName := @IPluginSetImpl_getModuleNameDispatcher;
12884 IPluginSetImpl_vTable.getPlugin := @IPluginSetImpl_getPluginDispatcher;
12885 IPluginSetImpl_vTable.next := @IPluginSetImpl_nextDispatcher;
12886 IPluginSetImpl_vTable.set_ := @IPluginSetImpl_set_Dispatcher;
12887
12888 IConfigEntryImpl_vTable := ConfigEntryVTable.create;
12889 IConfigEntryImpl_vTable.version := 3;
12890 IConfigEntryImpl_vTable.addRef := @IConfigEntryImpl_addRefDispatcher;
12891 IConfigEntryImpl_vTable.release := @IConfigEntryImpl_releaseDispatcher;
12892 IConfigEntryImpl_vTable.getName := @IConfigEntryImpl_getNameDispatcher;
12893 IConfigEntryImpl_vTable.getValue := @IConfigEntryImpl_getValueDispatcher;
12894 IConfigEntryImpl_vTable.getIntValue := @IConfigEntryImpl_getIntValueDispatcher;
12895 IConfigEntryImpl_vTable.getBoolValue := @IConfigEntryImpl_getBoolValueDispatcher;
12896 IConfigEntryImpl_vTable.getSubConfig := @IConfigEntryImpl_getSubConfigDispatcher;
12897
12898 IConfigImpl_vTable := ConfigVTable.create;
12899 IConfigImpl_vTable.version := 3;
12900 IConfigImpl_vTable.addRef := @IConfigImpl_addRefDispatcher;
12901 IConfigImpl_vTable.release := @IConfigImpl_releaseDispatcher;
12902 IConfigImpl_vTable.find := @IConfigImpl_findDispatcher;
12903 IConfigImpl_vTable.findValue := @IConfigImpl_findValueDispatcher;
12904 IConfigImpl_vTable.findPos := @IConfigImpl_findPosDispatcher;
12905
12906 IFirebirdConfImpl_vTable := FirebirdConfVTable.create;
12907 IFirebirdConfImpl_vTable.version := 4;
12908 IFirebirdConfImpl_vTable.addRef := @IFirebirdConfImpl_addRefDispatcher;
12909 IFirebirdConfImpl_vTable.release := @IFirebirdConfImpl_releaseDispatcher;
12910 IFirebirdConfImpl_vTable.getKey := @IFirebirdConfImpl_getKeyDispatcher;
12911 IFirebirdConfImpl_vTable.asInteger := @IFirebirdConfImpl_asIntegerDispatcher;
12912 IFirebirdConfImpl_vTable.asString := @IFirebirdConfImpl_asStringDispatcher;
12913 IFirebirdConfImpl_vTable.asBoolean := @IFirebirdConfImpl_asBooleanDispatcher;
12914 IFirebirdConfImpl_vTable.getVersion := @IFirebirdConfImpl_getVersionDispatcher;
12915
12916 IPluginConfigImpl_vTable := PluginConfigVTable.create;
12917 IPluginConfigImpl_vTable.version := 3;
12918 IPluginConfigImpl_vTable.addRef := @IPluginConfigImpl_addRefDispatcher;
12919 IPluginConfigImpl_vTable.release := @IPluginConfigImpl_releaseDispatcher;
12920 IPluginConfigImpl_vTable.getConfigFileName := @IPluginConfigImpl_getConfigFileNameDispatcher;
12921 IPluginConfigImpl_vTable.getDefaultConfig := @IPluginConfigImpl_getDefaultConfigDispatcher;
12922 IPluginConfigImpl_vTable.getFirebirdConf := @IPluginConfigImpl_getFirebirdConfDispatcher;
12923 IPluginConfigImpl_vTable.setReleaseDelay := @IPluginConfigImpl_setReleaseDelayDispatcher;
12924
12925 IPluginFactoryImpl_vTable := PluginFactoryVTable.create;
12926 IPluginFactoryImpl_vTable.version := 2;
12927 IPluginFactoryImpl_vTable.createPlugin := @IPluginFactoryImpl_createPluginDispatcher;
12928
12929 IPluginModuleImpl_vTable := PluginModuleVTable.create;
12930 IPluginModuleImpl_vTable.version := 3;
12931 IPluginModuleImpl_vTable.doClean := @IPluginModuleImpl_doCleanDispatcher;
12932 IPluginModuleImpl_vTable.threadDetach := @IPluginModuleImpl_threadDetachDispatcher;
12933
12934 IPluginManagerImpl_vTable := PluginManagerVTable.create;
12935 IPluginManagerImpl_vTable.version := 2;
12936 IPluginManagerImpl_vTable.registerPluginFactory := @IPluginManagerImpl_registerPluginFactoryDispatcher;
12937 IPluginManagerImpl_vTable.registerModule := @IPluginManagerImpl_registerModuleDispatcher;
12938 IPluginManagerImpl_vTable.unregisterModule := @IPluginManagerImpl_unregisterModuleDispatcher;
12939 IPluginManagerImpl_vTable.getPlugins := @IPluginManagerImpl_getPluginsDispatcher;
12940 IPluginManagerImpl_vTable.getConfig := @IPluginManagerImpl_getConfigDispatcher;
12941 IPluginManagerImpl_vTable.releasePlugin := @IPluginManagerImpl_releasePluginDispatcher;
12942
12943 ICryptKeyImpl_vTable := CryptKeyVTable.create;
12944 ICryptKeyImpl_vTable.version := 2;
12945 ICryptKeyImpl_vTable.setSymmetric := @ICryptKeyImpl_setSymmetricDispatcher;
12946 ICryptKeyImpl_vTable.setAsymmetric := @ICryptKeyImpl_setAsymmetricDispatcher;
12947 ICryptKeyImpl_vTable.getEncryptKey := @ICryptKeyImpl_getEncryptKeyDispatcher;
12948 ICryptKeyImpl_vTable.getDecryptKey := @ICryptKeyImpl_getDecryptKeyDispatcher;
12949
12950 IConfigManagerImpl_vTable := ConfigManagerVTable.create;
12951 IConfigManagerImpl_vTable.version := 3;
12952 IConfigManagerImpl_vTable.getDirectory := @IConfigManagerImpl_getDirectoryDispatcher;
12953 IConfigManagerImpl_vTable.getFirebirdConf := @IConfigManagerImpl_getFirebirdConfDispatcher;
12954 IConfigManagerImpl_vTable.getDatabaseConf := @IConfigManagerImpl_getDatabaseConfDispatcher;
12955 IConfigManagerImpl_vTable.getPluginConfig := @IConfigManagerImpl_getPluginConfigDispatcher;
12956 IConfigManagerImpl_vTable.getInstallDirectory := @IConfigManagerImpl_getInstallDirectoryDispatcher;
12957 IConfigManagerImpl_vTable.getRootDirectory := @IConfigManagerImpl_getRootDirectoryDispatcher;
12958 IConfigManagerImpl_vTable.getDefaultSecurityDb := @IConfigManagerImpl_getDefaultSecurityDbDispatcher;
12959
12960 IEventCallbackImpl_vTable := EventCallbackVTable.create;
12961 IEventCallbackImpl_vTable.version := 3;
12962 IEventCallbackImpl_vTable.addRef := @IEventCallbackImpl_addRefDispatcher;
12963 IEventCallbackImpl_vTable.release := @IEventCallbackImpl_releaseDispatcher;
12964 IEventCallbackImpl_vTable.eventCallbackFunction := @IEventCallbackImpl_eventCallbackFunctionDispatcher;
12965
12966 IBlobImpl_vTable := BlobVTable.create;
12967 IBlobImpl_vTable.version := 3;
12968 IBlobImpl_vTable.addRef := @IBlobImpl_addRefDispatcher;
12969 IBlobImpl_vTable.release := @IBlobImpl_releaseDispatcher;
12970 IBlobImpl_vTable.getInfo := @IBlobImpl_getInfoDispatcher;
12971 IBlobImpl_vTable.getSegment := @IBlobImpl_getSegmentDispatcher;
12972 IBlobImpl_vTable.putSegment := @IBlobImpl_putSegmentDispatcher;
12973 IBlobImpl_vTable.cancel := @IBlobImpl_cancelDispatcher;
12974 IBlobImpl_vTable.close := @IBlobImpl_closeDispatcher;
12975 IBlobImpl_vTable.seek := @IBlobImpl_seekDispatcher;
12976
12977 ITransactionImpl_vTable := TransactionVTable.create;
12978 ITransactionImpl_vTable.version := 3;
12979 ITransactionImpl_vTable.addRef := @ITransactionImpl_addRefDispatcher;
12980 ITransactionImpl_vTable.release := @ITransactionImpl_releaseDispatcher;
12981 ITransactionImpl_vTable.getInfo := @ITransactionImpl_getInfoDispatcher;
12982 ITransactionImpl_vTable.prepare := @ITransactionImpl_prepareDispatcher;
12983 ITransactionImpl_vTable.commit := @ITransactionImpl_commitDispatcher;
12984 ITransactionImpl_vTable.commitRetaining := @ITransactionImpl_commitRetainingDispatcher;
12985 ITransactionImpl_vTable.rollback := @ITransactionImpl_rollbackDispatcher;
12986 ITransactionImpl_vTable.rollbackRetaining := @ITransactionImpl_rollbackRetainingDispatcher;
12987 ITransactionImpl_vTable.disconnect := @ITransactionImpl_disconnectDispatcher;
12988 ITransactionImpl_vTable.join := @ITransactionImpl_joinDispatcher;
12989 ITransactionImpl_vTable.validate := @ITransactionImpl_validateDispatcher;
12990 ITransactionImpl_vTable.enterDtc := @ITransactionImpl_enterDtcDispatcher;
12991
12992 IMessageMetadataImpl_vTable := MessageMetadataVTable.create;
12993 IMessageMetadataImpl_vTable.version := 4;
12994 IMessageMetadataImpl_vTable.addRef := @IMessageMetadataImpl_addRefDispatcher;
12995 IMessageMetadataImpl_vTable.release := @IMessageMetadataImpl_releaseDispatcher;
12996 IMessageMetadataImpl_vTable.getCount := @IMessageMetadataImpl_getCountDispatcher;
12997 IMessageMetadataImpl_vTable.getField := @IMessageMetadataImpl_getFieldDispatcher;
12998 IMessageMetadataImpl_vTable.getRelation := @IMessageMetadataImpl_getRelationDispatcher;
12999 IMessageMetadataImpl_vTable.getOwner := @IMessageMetadataImpl_getOwnerDispatcher;
13000 IMessageMetadataImpl_vTable.getAlias := @IMessageMetadataImpl_getAliasDispatcher;
13001 IMessageMetadataImpl_vTable.getType := @IMessageMetadataImpl_getTypeDispatcher;
13002 IMessageMetadataImpl_vTable.isNullable := @IMessageMetadataImpl_isNullableDispatcher;
13003 IMessageMetadataImpl_vTable.getSubType := @IMessageMetadataImpl_getSubTypeDispatcher;
13004 IMessageMetadataImpl_vTable.getLength := @IMessageMetadataImpl_getLengthDispatcher;
13005 IMessageMetadataImpl_vTable.getScale := @IMessageMetadataImpl_getScaleDispatcher;
13006 IMessageMetadataImpl_vTable.getCharSet := @IMessageMetadataImpl_getCharSetDispatcher;
13007 IMessageMetadataImpl_vTable.getOffset := @IMessageMetadataImpl_getOffsetDispatcher;
13008 IMessageMetadataImpl_vTable.getNullOffset := @IMessageMetadataImpl_getNullOffsetDispatcher;
13009 IMessageMetadataImpl_vTable.getBuilder := @IMessageMetadataImpl_getBuilderDispatcher;
13010 IMessageMetadataImpl_vTable.getMessageLength := @IMessageMetadataImpl_getMessageLengthDispatcher;
13011 IMessageMetadataImpl_vTable.getAlignment := @IMessageMetadataImpl_getAlignmentDispatcher;
13012 IMessageMetadataImpl_vTable.getAlignedLength := @IMessageMetadataImpl_getAlignedLengthDispatcher;
13013
13014 IMetadataBuilderImpl_vTable := MetadataBuilderVTable.create;
13015 IMetadataBuilderImpl_vTable.version := 4;
13016 IMetadataBuilderImpl_vTable.addRef := @IMetadataBuilderImpl_addRefDispatcher;
13017 IMetadataBuilderImpl_vTable.release := @IMetadataBuilderImpl_releaseDispatcher;
13018 IMetadataBuilderImpl_vTable.setType := @IMetadataBuilderImpl_setTypeDispatcher;
13019 IMetadataBuilderImpl_vTable.setSubType := @IMetadataBuilderImpl_setSubTypeDispatcher;
13020 IMetadataBuilderImpl_vTable.setLength := @IMetadataBuilderImpl_setLengthDispatcher;
13021 IMetadataBuilderImpl_vTable.setCharSet := @IMetadataBuilderImpl_setCharSetDispatcher;
13022 IMetadataBuilderImpl_vTable.setScale := @IMetadataBuilderImpl_setScaleDispatcher;
13023 IMetadataBuilderImpl_vTable.truncate := @IMetadataBuilderImpl_truncateDispatcher;
13024 IMetadataBuilderImpl_vTable.moveNameToIndex := @IMetadataBuilderImpl_moveNameToIndexDispatcher;
13025 IMetadataBuilderImpl_vTable.remove := @IMetadataBuilderImpl_removeDispatcher;
13026 IMetadataBuilderImpl_vTable.addField := @IMetadataBuilderImpl_addFieldDispatcher;
13027 IMetadataBuilderImpl_vTable.getMetadata := @IMetadataBuilderImpl_getMetadataDispatcher;
13028 IMetadataBuilderImpl_vTable.setField := @IMetadataBuilderImpl_setFieldDispatcher;
13029 IMetadataBuilderImpl_vTable.setRelation := @IMetadataBuilderImpl_setRelationDispatcher;
13030 IMetadataBuilderImpl_vTable.setOwner := @IMetadataBuilderImpl_setOwnerDispatcher;
13031 IMetadataBuilderImpl_vTable.setAlias := @IMetadataBuilderImpl_setAliasDispatcher;
13032
13033 IResultSetImpl_vTable := ResultSetVTable.create;
13034 IResultSetImpl_vTable.version := 3;
13035 IResultSetImpl_vTable.addRef := @IResultSetImpl_addRefDispatcher;
13036 IResultSetImpl_vTable.release := @IResultSetImpl_releaseDispatcher;
13037 IResultSetImpl_vTable.fetchNext := @IResultSetImpl_fetchNextDispatcher;
13038 IResultSetImpl_vTable.fetchPrior := @IResultSetImpl_fetchPriorDispatcher;
13039 IResultSetImpl_vTable.fetchFirst := @IResultSetImpl_fetchFirstDispatcher;
13040 IResultSetImpl_vTable.fetchLast := @IResultSetImpl_fetchLastDispatcher;
13041 IResultSetImpl_vTable.fetchAbsolute := @IResultSetImpl_fetchAbsoluteDispatcher;
13042 IResultSetImpl_vTable.fetchRelative := @IResultSetImpl_fetchRelativeDispatcher;
13043 IResultSetImpl_vTable.isEof := @IResultSetImpl_isEofDispatcher;
13044 IResultSetImpl_vTable.isBof := @IResultSetImpl_isBofDispatcher;
13045 IResultSetImpl_vTable.getMetadata := @IResultSetImpl_getMetadataDispatcher;
13046 IResultSetImpl_vTable.close := @IResultSetImpl_closeDispatcher;
13047 IResultSetImpl_vTable.setDelayedOutputFormat := @IResultSetImpl_setDelayedOutputFormatDispatcher;
13048
13049 IStatementImpl_vTable := StatementVTable.create;
13050 IStatementImpl_vTable.version := 4;
13051 IStatementImpl_vTable.addRef := @IStatementImpl_addRefDispatcher;
13052 IStatementImpl_vTable.release := @IStatementImpl_releaseDispatcher;
13053 IStatementImpl_vTable.getInfo := @IStatementImpl_getInfoDispatcher;
13054 IStatementImpl_vTable.getType := @IStatementImpl_getTypeDispatcher;
13055 IStatementImpl_vTable.getPlan := @IStatementImpl_getPlanDispatcher;
13056 IStatementImpl_vTable.getAffectedRecords := @IStatementImpl_getAffectedRecordsDispatcher;
13057 IStatementImpl_vTable.getInputMetadata := @IStatementImpl_getInputMetadataDispatcher;
13058 IStatementImpl_vTable.getOutputMetadata := @IStatementImpl_getOutputMetadataDispatcher;
13059 IStatementImpl_vTable.execute := @IStatementImpl_executeDispatcher;
13060 IStatementImpl_vTable.openCursor := @IStatementImpl_openCursorDispatcher;
13061 IStatementImpl_vTable.setCursorName := @IStatementImpl_setCursorNameDispatcher;
13062 IStatementImpl_vTable.free := @IStatementImpl_freeDispatcher;
13063 IStatementImpl_vTable.getFlags := @IStatementImpl_getFlagsDispatcher;
13064 IStatementImpl_vTable.getTimeout := @IStatementImpl_getTimeoutDispatcher;
13065 IStatementImpl_vTable.setTimeout := @IStatementImpl_setTimeoutDispatcher;
13066 IStatementImpl_vTable.createBatch := @IStatementImpl_createBatchDispatcher;
13067
13068 IBatchImpl_vTable := BatchVTable.create;
13069 IBatchImpl_vTable.version := 3;
13070 IBatchImpl_vTable.addRef := @IBatchImpl_addRefDispatcher;
13071 IBatchImpl_vTable.release := @IBatchImpl_releaseDispatcher;
13072 IBatchImpl_vTable.add := @IBatchImpl_addDispatcher;
13073 IBatchImpl_vTable.addBlob := @IBatchImpl_addBlobDispatcher;
13074 IBatchImpl_vTable.appendBlobData := @IBatchImpl_appendBlobDataDispatcher;
13075 IBatchImpl_vTable.addBlobStream := @IBatchImpl_addBlobStreamDispatcher;
13076 IBatchImpl_vTable.registerBlob := @IBatchImpl_registerBlobDispatcher;
13077 IBatchImpl_vTable.execute := @IBatchImpl_executeDispatcher;
13078 IBatchImpl_vTable.cancel := @IBatchImpl_cancelDispatcher;
13079 IBatchImpl_vTable.getBlobAlignment := @IBatchImpl_getBlobAlignmentDispatcher;
13080 IBatchImpl_vTable.getMetadata := @IBatchImpl_getMetadataDispatcher;
13081 IBatchImpl_vTable.setDefaultBpb := @IBatchImpl_setDefaultBpbDispatcher;
13082 IBatchImpl_vTable.close := @IBatchImpl_closeDispatcher;
13083
13084 IBatchCompletionStateImpl_vTable := BatchCompletionStateVTable.create;
13085 IBatchCompletionStateImpl_vTable.version := 3;
13086 IBatchCompletionStateImpl_vTable.dispose := @IBatchCompletionStateImpl_disposeDispatcher;
13087 IBatchCompletionStateImpl_vTable.getSize := @IBatchCompletionStateImpl_getSizeDispatcher;
13088 IBatchCompletionStateImpl_vTable.getState := @IBatchCompletionStateImpl_getStateDispatcher;
13089 IBatchCompletionStateImpl_vTable.findError := @IBatchCompletionStateImpl_findErrorDispatcher;
13090 IBatchCompletionStateImpl_vTable.getStatus := @IBatchCompletionStateImpl_getStatusDispatcher;
13091
13092 IReplicatorImpl_vTable := ReplicatorVTable.create;
13093 IReplicatorImpl_vTable.version := 3;
13094 IReplicatorImpl_vTable.addRef := @IReplicatorImpl_addRefDispatcher;
13095 IReplicatorImpl_vTable.release := @IReplicatorImpl_releaseDispatcher;
13096 IReplicatorImpl_vTable.process := @IReplicatorImpl_processDispatcher;
13097 IReplicatorImpl_vTable.close := @IReplicatorImpl_closeDispatcher;
13098
13099 IRequestImpl_vTable := RequestVTable.create;
13100 IRequestImpl_vTable.version := 3;
13101 IRequestImpl_vTable.addRef := @IRequestImpl_addRefDispatcher;
13102 IRequestImpl_vTable.release := @IRequestImpl_releaseDispatcher;
13103 IRequestImpl_vTable.receive := @IRequestImpl_receiveDispatcher;
13104 IRequestImpl_vTable.send := @IRequestImpl_sendDispatcher;
13105 IRequestImpl_vTable.getInfo := @IRequestImpl_getInfoDispatcher;
13106 IRequestImpl_vTable.start := @IRequestImpl_startDispatcher;
13107 IRequestImpl_vTable.startAndSend := @IRequestImpl_startAndSendDispatcher;
13108 IRequestImpl_vTable.unwind := @IRequestImpl_unwindDispatcher;
13109 IRequestImpl_vTable.free := @IRequestImpl_freeDispatcher;
13110
13111 IEventsImpl_vTable := EventsVTable.create;
13112 IEventsImpl_vTable.version := 3;
13113 IEventsImpl_vTable.addRef := @IEventsImpl_addRefDispatcher;
13114 IEventsImpl_vTable.release := @IEventsImpl_releaseDispatcher;
13115 IEventsImpl_vTable.cancel := @IEventsImpl_cancelDispatcher;
13116
13117 IAttachmentImpl_vTable := AttachmentVTable.create;
13118 IAttachmentImpl_vTable.version := 4;
13119 IAttachmentImpl_vTable.addRef := @IAttachmentImpl_addRefDispatcher;
13120 IAttachmentImpl_vTable.release := @IAttachmentImpl_releaseDispatcher;
13121 IAttachmentImpl_vTable.getInfo := @IAttachmentImpl_getInfoDispatcher;
13122 IAttachmentImpl_vTable.startTransaction := @IAttachmentImpl_startTransactionDispatcher;
13123 IAttachmentImpl_vTable.reconnectTransaction := @IAttachmentImpl_reconnectTransactionDispatcher;
13124 IAttachmentImpl_vTable.compileRequest := @IAttachmentImpl_compileRequestDispatcher;
13125 IAttachmentImpl_vTable.transactRequest := @IAttachmentImpl_transactRequestDispatcher;
13126 IAttachmentImpl_vTable.createBlob := @IAttachmentImpl_createBlobDispatcher;
13127 IAttachmentImpl_vTable.openBlob := @IAttachmentImpl_openBlobDispatcher;
13128 IAttachmentImpl_vTable.getSlice := @IAttachmentImpl_getSliceDispatcher;
13129 IAttachmentImpl_vTable.putSlice := @IAttachmentImpl_putSliceDispatcher;
13130 IAttachmentImpl_vTable.executeDyn := @IAttachmentImpl_executeDynDispatcher;
13131 IAttachmentImpl_vTable.prepare := @IAttachmentImpl_prepareDispatcher;
13132 IAttachmentImpl_vTable.execute := @IAttachmentImpl_executeDispatcher;
13133 IAttachmentImpl_vTable.openCursor := @IAttachmentImpl_openCursorDispatcher;
13134 IAttachmentImpl_vTable.queEvents := @IAttachmentImpl_queEventsDispatcher;
13135 IAttachmentImpl_vTable.cancelOperation := @IAttachmentImpl_cancelOperationDispatcher;
13136 IAttachmentImpl_vTable.ping := @IAttachmentImpl_pingDispatcher;
13137 IAttachmentImpl_vTable.detach := @IAttachmentImpl_detachDispatcher;
13138 IAttachmentImpl_vTable.dropDatabase := @IAttachmentImpl_dropDatabaseDispatcher;
13139 IAttachmentImpl_vTable.getIdleTimeout := @IAttachmentImpl_getIdleTimeoutDispatcher;
13140 IAttachmentImpl_vTable.setIdleTimeout := @IAttachmentImpl_setIdleTimeoutDispatcher;
13141 IAttachmentImpl_vTable.getStatementTimeout := @IAttachmentImpl_getStatementTimeoutDispatcher;
13142 IAttachmentImpl_vTable.setStatementTimeout := @IAttachmentImpl_setStatementTimeoutDispatcher;
13143 IAttachmentImpl_vTable.createBatch := @IAttachmentImpl_createBatchDispatcher;
13144 IAttachmentImpl_vTable.createReplicator := @IAttachmentImpl_createReplicatorDispatcher;
13145
13146 IServiceImpl_vTable := ServiceVTable.create;
13147 IServiceImpl_vTable.version := 3;
13148 IServiceImpl_vTable.addRef := @IServiceImpl_addRefDispatcher;
13149 IServiceImpl_vTable.release := @IServiceImpl_releaseDispatcher;
13150 IServiceImpl_vTable.detach := @IServiceImpl_detachDispatcher;
13151 IServiceImpl_vTable.query := @IServiceImpl_queryDispatcher;
13152 IServiceImpl_vTable.start := @IServiceImpl_startDispatcher;
13153
13154 IProviderImpl_vTable := ProviderVTable.create;
13155 IProviderImpl_vTable.version := 4;
13156 IProviderImpl_vTable.addRef := @IProviderImpl_addRefDispatcher;
13157 IProviderImpl_vTable.release := @IProviderImpl_releaseDispatcher;
13158 IProviderImpl_vTable.setOwner := @IProviderImpl_setOwnerDispatcher;
13159 IProviderImpl_vTable.getOwner := @IProviderImpl_getOwnerDispatcher;
13160 IProviderImpl_vTable.attachDatabase := @IProviderImpl_attachDatabaseDispatcher;
13161 IProviderImpl_vTable.createDatabase := @IProviderImpl_createDatabaseDispatcher;
13162 IProviderImpl_vTable.attachServiceManager := @IProviderImpl_attachServiceManagerDispatcher;
13163 IProviderImpl_vTable.shutdown := @IProviderImpl_shutdownDispatcher;
13164 IProviderImpl_vTable.setDbCryptCallback := @IProviderImpl_setDbCryptCallbackDispatcher;
13165
13166 IDtcStartImpl_vTable := DtcStartVTable.create;
13167 IDtcStartImpl_vTable.version := 3;
13168 IDtcStartImpl_vTable.dispose := @IDtcStartImpl_disposeDispatcher;
13169 IDtcStartImpl_vTable.addAttachment := @IDtcStartImpl_addAttachmentDispatcher;
13170 IDtcStartImpl_vTable.addWithTpb := @IDtcStartImpl_addWithTpbDispatcher;
13171 IDtcStartImpl_vTable.start := @IDtcStartImpl_startDispatcher;
13172
13173 IDtcImpl_vTable := DtcVTable.create;
13174 IDtcImpl_vTable.version := 2;
13175 IDtcImpl_vTable.join := @IDtcImpl_joinDispatcher;
13176 IDtcImpl_vTable.startBuilder := @IDtcImpl_startBuilderDispatcher;
13177
13178 IAuthImpl_vTable := AuthVTable.create;
13179 IAuthImpl_vTable.version := 4;
13180 IAuthImpl_vTable.addRef := @IAuthImpl_addRefDispatcher;
13181 IAuthImpl_vTable.release := @IAuthImpl_releaseDispatcher;
13182 IAuthImpl_vTable.setOwner := @IAuthImpl_setOwnerDispatcher;
13183 IAuthImpl_vTable.getOwner := @IAuthImpl_getOwnerDispatcher;
13184
13185 IWriterImpl_vTable := WriterVTable.create;
13186 IWriterImpl_vTable.version := 2;
13187 IWriterImpl_vTable.reset := @IWriterImpl_resetDispatcher;
13188 IWriterImpl_vTable.add := @IWriterImpl_addDispatcher;
13189 IWriterImpl_vTable.setType := @IWriterImpl_setTypeDispatcher;
13190 IWriterImpl_vTable.setDb := @IWriterImpl_setDbDispatcher;
13191
13192 IServerBlockImpl_vTable := ServerBlockVTable.create;
13193 IServerBlockImpl_vTable.version := 2;
13194 IServerBlockImpl_vTable.getLogin := @IServerBlockImpl_getLoginDispatcher;
13195 IServerBlockImpl_vTable.getData := @IServerBlockImpl_getDataDispatcher;
13196 IServerBlockImpl_vTable.putData := @IServerBlockImpl_putDataDispatcher;
13197 IServerBlockImpl_vTable.newKey := @IServerBlockImpl_newKeyDispatcher;
13198
13199 IClientBlockImpl_vTable := ClientBlockVTable.create;
13200 IClientBlockImpl_vTable.version := 4;
13201 IClientBlockImpl_vTable.addRef := @IClientBlockImpl_addRefDispatcher;
13202 IClientBlockImpl_vTable.release := @IClientBlockImpl_releaseDispatcher;
13203 IClientBlockImpl_vTable.getLogin := @IClientBlockImpl_getLoginDispatcher;
13204 IClientBlockImpl_vTable.getPassword := @IClientBlockImpl_getPasswordDispatcher;
13205 IClientBlockImpl_vTable.getData := @IClientBlockImpl_getDataDispatcher;
13206 IClientBlockImpl_vTable.putData := @IClientBlockImpl_putDataDispatcher;
13207 IClientBlockImpl_vTable.newKey := @IClientBlockImpl_newKeyDispatcher;
13208 IClientBlockImpl_vTable.getAuthBlock := @IClientBlockImpl_getAuthBlockDispatcher;
13209
13210 IServerImpl_vTable := ServerVTable.create;
13211 IServerImpl_vTable.version := 6;
13212 IServerImpl_vTable.addRef := @IServerImpl_addRefDispatcher;
13213 IServerImpl_vTable.release := @IServerImpl_releaseDispatcher;
13214 IServerImpl_vTable.setOwner := @IServerImpl_setOwnerDispatcher;
13215 IServerImpl_vTable.getOwner := @IServerImpl_getOwnerDispatcher;
13216 IServerImpl_vTable.authenticate := @IServerImpl_authenticateDispatcher;
13217 IServerImpl_vTable.setDbCryptCallback := @IServerImpl_setDbCryptCallbackDispatcher;
13218
13219 IClientImpl_vTable := ClientVTable.create;
13220 IClientImpl_vTable.version := 5;
13221 IClientImpl_vTable.addRef := @IClientImpl_addRefDispatcher;
13222 IClientImpl_vTable.release := @IClientImpl_releaseDispatcher;
13223 IClientImpl_vTable.setOwner := @IClientImpl_setOwnerDispatcher;
13224 IClientImpl_vTable.getOwner := @IClientImpl_getOwnerDispatcher;
13225 IClientImpl_vTable.authenticate := @IClientImpl_authenticateDispatcher;
13226
13227 IUserFieldImpl_vTable := UserFieldVTable.create;
13228 IUserFieldImpl_vTable.version := 2;
13229 IUserFieldImpl_vTable.entered := @IUserFieldImpl_enteredDispatcher;
13230 IUserFieldImpl_vTable.specified := @IUserFieldImpl_specifiedDispatcher;
13231 IUserFieldImpl_vTable.setEntered := @IUserFieldImpl_setEnteredDispatcher;
13232
13233 ICharUserFieldImpl_vTable := CharUserFieldVTable.create;
13234 ICharUserFieldImpl_vTable.version := 3;
13235 ICharUserFieldImpl_vTable.entered := @ICharUserFieldImpl_enteredDispatcher;
13236 ICharUserFieldImpl_vTable.specified := @ICharUserFieldImpl_specifiedDispatcher;
13237 ICharUserFieldImpl_vTable.setEntered := @ICharUserFieldImpl_setEnteredDispatcher;
13238 ICharUserFieldImpl_vTable.get := @ICharUserFieldImpl_getDispatcher;
13239 ICharUserFieldImpl_vTable.set_ := @ICharUserFieldImpl_set_Dispatcher;
13240
13241 IIntUserFieldImpl_vTable := IntUserFieldVTable.create;
13242 IIntUserFieldImpl_vTable.version := 3;
13243 IIntUserFieldImpl_vTable.entered := @IIntUserFieldImpl_enteredDispatcher;
13244 IIntUserFieldImpl_vTable.specified := @IIntUserFieldImpl_specifiedDispatcher;
13245 IIntUserFieldImpl_vTable.setEntered := @IIntUserFieldImpl_setEnteredDispatcher;
13246 IIntUserFieldImpl_vTable.get := @IIntUserFieldImpl_getDispatcher;
13247 IIntUserFieldImpl_vTable.set_ := @IIntUserFieldImpl_set_Dispatcher;
13248
13249 IUserImpl_vTable := UserVTable.create;
13250 IUserImpl_vTable.version := 2;
13251 IUserImpl_vTable.operation := @IUserImpl_operationDispatcher;
13252 IUserImpl_vTable.userName := @IUserImpl_userNameDispatcher;
13253 IUserImpl_vTable.password := @IUserImpl_passwordDispatcher;
13254 IUserImpl_vTable.firstName := @IUserImpl_firstNameDispatcher;
13255 IUserImpl_vTable.lastName := @IUserImpl_lastNameDispatcher;
13256 IUserImpl_vTable.middleName := @IUserImpl_middleNameDispatcher;
13257 IUserImpl_vTable.comment := @IUserImpl_commentDispatcher;
13258 IUserImpl_vTable.attributes := @IUserImpl_attributesDispatcher;
13259 IUserImpl_vTable.active := @IUserImpl_activeDispatcher;
13260 IUserImpl_vTable.admin := @IUserImpl_adminDispatcher;
13261 IUserImpl_vTable.clear := @IUserImpl_clearDispatcher;
13262
13263 IListUsersImpl_vTable := ListUsersVTable.create;
13264 IListUsersImpl_vTable.version := 2;
13265 IListUsersImpl_vTable.list := @IListUsersImpl_listDispatcher;
13266
13267 ILogonInfoImpl_vTable := LogonInfoVTable.create;
13268 ILogonInfoImpl_vTable.version := 3;
13269 ILogonInfoImpl_vTable.name := @ILogonInfoImpl_nameDispatcher;
13270 ILogonInfoImpl_vTable.role := @ILogonInfoImpl_roleDispatcher;
13271 ILogonInfoImpl_vTable.networkProtocol := @ILogonInfoImpl_networkProtocolDispatcher;
13272 ILogonInfoImpl_vTable.remoteAddress := @ILogonInfoImpl_remoteAddressDispatcher;
13273 ILogonInfoImpl_vTable.authBlock := @ILogonInfoImpl_authBlockDispatcher;
13274 ILogonInfoImpl_vTable.attachment := @ILogonInfoImpl_attachmentDispatcher;
13275 ILogonInfoImpl_vTable.transaction := @ILogonInfoImpl_transactionDispatcher;
13276
13277 IManagementImpl_vTable := ManagementVTable.create;
13278 IManagementImpl_vTable.version := 4;
13279 IManagementImpl_vTable.addRef := @IManagementImpl_addRefDispatcher;
13280 IManagementImpl_vTable.release := @IManagementImpl_releaseDispatcher;
13281 IManagementImpl_vTable.setOwner := @IManagementImpl_setOwnerDispatcher;
13282 IManagementImpl_vTable.getOwner := @IManagementImpl_getOwnerDispatcher;
13283 IManagementImpl_vTable.start := @IManagementImpl_startDispatcher;
13284 IManagementImpl_vTable.execute := @IManagementImpl_executeDispatcher;
13285 IManagementImpl_vTable.commit := @IManagementImpl_commitDispatcher;
13286 IManagementImpl_vTable.rollback := @IManagementImpl_rollbackDispatcher;
13287
13288 IAuthBlockImpl_vTable := AuthBlockVTable.create;
13289 IAuthBlockImpl_vTable.version := 2;
13290 IAuthBlockImpl_vTable.getType := @IAuthBlockImpl_getTypeDispatcher;
13291 IAuthBlockImpl_vTable.getName := @IAuthBlockImpl_getNameDispatcher;
13292 IAuthBlockImpl_vTable.getPlugin := @IAuthBlockImpl_getPluginDispatcher;
13293 IAuthBlockImpl_vTable.getSecurityDb := @IAuthBlockImpl_getSecurityDbDispatcher;
13294 IAuthBlockImpl_vTable.getOriginalPlugin := @IAuthBlockImpl_getOriginalPluginDispatcher;
13295 IAuthBlockImpl_vTable.next := @IAuthBlockImpl_nextDispatcher;
13296 IAuthBlockImpl_vTable.first := @IAuthBlockImpl_firstDispatcher;
13297
13298 IWireCryptPluginImpl_vTable := WireCryptPluginVTable.create;
13299 IWireCryptPluginImpl_vTable.version := 5;
13300 IWireCryptPluginImpl_vTable.addRef := @IWireCryptPluginImpl_addRefDispatcher;
13301 IWireCryptPluginImpl_vTable.release := @IWireCryptPluginImpl_releaseDispatcher;
13302 IWireCryptPluginImpl_vTable.setOwner := @IWireCryptPluginImpl_setOwnerDispatcher;
13303 IWireCryptPluginImpl_vTable.getOwner := @IWireCryptPluginImpl_getOwnerDispatcher;
13304 IWireCryptPluginImpl_vTable.getKnownTypes := @IWireCryptPluginImpl_getKnownTypesDispatcher;
13305 IWireCryptPluginImpl_vTable.setKey := @IWireCryptPluginImpl_setKeyDispatcher;
13306 IWireCryptPluginImpl_vTable.encrypt := @IWireCryptPluginImpl_encryptDispatcher;
13307 IWireCryptPluginImpl_vTable.decrypt := @IWireCryptPluginImpl_decryptDispatcher;
13308 IWireCryptPluginImpl_vTable.getSpecificData := @IWireCryptPluginImpl_getSpecificDataDispatcher;
13309 IWireCryptPluginImpl_vTable.setSpecificData := @IWireCryptPluginImpl_setSpecificDataDispatcher;
13310
13311 ICryptKeyCallbackImpl_vTable := CryptKeyCallbackVTable.create;
13312 ICryptKeyCallbackImpl_vTable.version := 2;
13313 ICryptKeyCallbackImpl_vTable.callback := @ICryptKeyCallbackImpl_callbackDispatcher;
13314
13315 IKeyHolderPluginImpl_vTable := KeyHolderPluginVTable.create;
13316 IKeyHolderPluginImpl_vTable.version := 5;
13317 IKeyHolderPluginImpl_vTable.addRef := @IKeyHolderPluginImpl_addRefDispatcher;
13318 IKeyHolderPluginImpl_vTable.release := @IKeyHolderPluginImpl_releaseDispatcher;
13319 IKeyHolderPluginImpl_vTable.setOwner := @IKeyHolderPluginImpl_setOwnerDispatcher;
13320 IKeyHolderPluginImpl_vTable.getOwner := @IKeyHolderPluginImpl_getOwnerDispatcher;
13321 IKeyHolderPluginImpl_vTable.keyCallback := @IKeyHolderPluginImpl_keyCallbackDispatcher;
13322 IKeyHolderPluginImpl_vTable.keyHandle := @IKeyHolderPluginImpl_keyHandleDispatcher;
13323 IKeyHolderPluginImpl_vTable.useOnlyOwnKeys := @IKeyHolderPluginImpl_useOnlyOwnKeysDispatcher;
13324 IKeyHolderPluginImpl_vTable.chainHandle := @IKeyHolderPluginImpl_chainHandleDispatcher;
13325
13326 IDbCryptInfoImpl_vTable := DbCryptInfoVTable.create;
13327 IDbCryptInfoImpl_vTable.version := 3;
13328 IDbCryptInfoImpl_vTable.addRef := @IDbCryptInfoImpl_addRefDispatcher;
13329 IDbCryptInfoImpl_vTable.release := @IDbCryptInfoImpl_releaseDispatcher;
13330 IDbCryptInfoImpl_vTable.getDatabaseFullPath := @IDbCryptInfoImpl_getDatabaseFullPathDispatcher;
13331
13332 IDbCryptPluginImpl_vTable := DbCryptPluginVTable.create;
13333 IDbCryptPluginImpl_vTable.version := 5;
13334 IDbCryptPluginImpl_vTable.addRef := @IDbCryptPluginImpl_addRefDispatcher;
13335 IDbCryptPluginImpl_vTable.release := @IDbCryptPluginImpl_releaseDispatcher;
13336 IDbCryptPluginImpl_vTable.setOwner := @IDbCryptPluginImpl_setOwnerDispatcher;
13337 IDbCryptPluginImpl_vTable.getOwner := @IDbCryptPluginImpl_getOwnerDispatcher;
13338 IDbCryptPluginImpl_vTable.setKey := @IDbCryptPluginImpl_setKeyDispatcher;
13339 IDbCryptPluginImpl_vTable.encrypt := @IDbCryptPluginImpl_encryptDispatcher;
13340 IDbCryptPluginImpl_vTable.decrypt := @IDbCryptPluginImpl_decryptDispatcher;
13341 IDbCryptPluginImpl_vTable.setInfo := @IDbCryptPluginImpl_setInfoDispatcher;
13342
13343 IExternalContextImpl_vTable := ExternalContextVTable.create;
13344 IExternalContextImpl_vTable.version := 2;
13345 IExternalContextImpl_vTable.getMaster := @IExternalContextImpl_getMasterDispatcher;
13346 IExternalContextImpl_vTable.getEngine := @IExternalContextImpl_getEngineDispatcher;
13347 IExternalContextImpl_vTable.getAttachment := @IExternalContextImpl_getAttachmentDispatcher;
13348 IExternalContextImpl_vTable.getTransaction := @IExternalContextImpl_getTransactionDispatcher;
13349 IExternalContextImpl_vTable.getUserName := @IExternalContextImpl_getUserNameDispatcher;
13350 IExternalContextImpl_vTable.getDatabaseName := @IExternalContextImpl_getDatabaseNameDispatcher;
13351 IExternalContextImpl_vTable.getClientCharSet := @IExternalContextImpl_getClientCharSetDispatcher;
13352 IExternalContextImpl_vTable.obtainInfoCode := @IExternalContextImpl_obtainInfoCodeDispatcher;
13353 IExternalContextImpl_vTable.getInfo := @IExternalContextImpl_getInfoDispatcher;
13354 IExternalContextImpl_vTable.setInfo := @IExternalContextImpl_setInfoDispatcher;
13355
13356 IExternalResultSetImpl_vTable := ExternalResultSetVTable.create;
13357 IExternalResultSetImpl_vTable.version := 3;
13358 IExternalResultSetImpl_vTable.dispose := @IExternalResultSetImpl_disposeDispatcher;
13359 IExternalResultSetImpl_vTable.fetch := @IExternalResultSetImpl_fetchDispatcher;
13360
13361 IExternalFunctionImpl_vTable := ExternalFunctionVTable.create;
13362 IExternalFunctionImpl_vTable.version := 3;
13363 IExternalFunctionImpl_vTable.dispose := @IExternalFunctionImpl_disposeDispatcher;
13364 IExternalFunctionImpl_vTable.getCharSet := @IExternalFunctionImpl_getCharSetDispatcher;
13365 IExternalFunctionImpl_vTable.execute := @IExternalFunctionImpl_executeDispatcher;
13366
13367 IExternalProcedureImpl_vTable := ExternalProcedureVTable.create;
13368 IExternalProcedureImpl_vTable.version := 3;
13369 IExternalProcedureImpl_vTable.dispose := @IExternalProcedureImpl_disposeDispatcher;
13370 IExternalProcedureImpl_vTable.getCharSet := @IExternalProcedureImpl_getCharSetDispatcher;
13371 IExternalProcedureImpl_vTable.open := @IExternalProcedureImpl_openDispatcher;
13372
13373 IExternalTriggerImpl_vTable := ExternalTriggerVTable.create;
13374 IExternalTriggerImpl_vTable.version := 3;
13375 IExternalTriggerImpl_vTable.dispose := @IExternalTriggerImpl_disposeDispatcher;
13376 IExternalTriggerImpl_vTable.getCharSet := @IExternalTriggerImpl_getCharSetDispatcher;
13377 IExternalTriggerImpl_vTable.execute := @IExternalTriggerImpl_executeDispatcher;
13378
13379 IRoutineMetadataImpl_vTable := RoutineMetadataVTable.create;
13380 IRoutineMetadataImpl_vTable.version := 2;
13381 IRoutineMetadataImpl_vTable.getPackage := @IRoutineMetadataImpl_getPackageDispatcher;
13382 IRoutineMetadataImpl_vTable.getName := @IRoutineMetadataImpl_getNameDispatcher;
13383 IRoutineMetadataImpl_vTable.getEntryPoint := @IRoutineMetadataImpl_getEntryPointDispatcher;
13384 IRoutineMetadataImpl_vTable.getBody := @IRoutineMetadataImpl_getBodyDispatcher;
13385 IRoutineMetadataImpl_vTable.getInputMetadata := @IRoutineMetadataImpl_getInputMetadataDispatcher;
13386 IRoutineMetadataImpl_vTable.getOutputMetadata := @IRoutineMetadataImpl_getOutputMetadataDispatcher;
13387 IRoutineMetadataImpl_vTable.getTriggerMetadata := @IRoutineMetadataImpl_getTriggerMetadataDispatcher;
13388 IRoutineMetadataImpl_vTable.getTriggerTable := @IRoutineMetadataImpl_getTriggerTableDispatcher;
13389 IRoutineMetadataImpl_vTable.getTriggerType := @IRoutineMetadataImpl_getTriggerTypeDispatcher;
13390
13391 IExternalEngineImpl_vTable := ExternalEngineVTable.create;
13392 IExternalEngineImpl_vTable.version := 4;
13393 IExternalEngineImpl_vTable.addRef := @IExternalEngineImpl_addRefDispatcher;
13394 IExternalEngineImpl_vTable.release := @IExternalEngineImpl_releaseDispatcher;
13395 IExternalEngineImpl_vTable.setOwner := @IExternalEngineImpl_setOwnerDispatcher;
13396 IExternalEngineImpl_vTable.getOwner := @IExternalEngineImpl_getOwnerDispatcher;
13397 IExternalEngineImpl_vTable.open := @IExternalEngineImpl_openDispatcher;
13398 IExternalEngineImpl_vTable.openAttachment := @IExternalEngineImpl_openAttachmentDispatcher;
13399 IExternalEngineImpl_vTable.closeAttachment := @IExternalEngineImpl_closeAttachmentDispatcher;
13400 IExternalEngineImpl_vTable.makeFunction := @IExternalEngineImpl_makeFunctionDispatcher;
13401 IExternalEngineImpl_vTable.makeProcedure := @IExternalEngineImpl_makeProcedureDispatcher;
13402 IExternalEngineImpl_vTable.makeTrigger := @IExternalEngineImpl_makeTriggerDispatcher;
13403
13404 ITimerImpl_vTable := TimerVTable.create;
13405 ITimerImpl_vTable.version := 3;
13406 ITimerImpl_vTable.addRef := @ITimerImpl_addRefDispatcher;
13407 ITimerImpl_vTable.release := @ITimerImpl_releaseDispatcher;
13408 ITimerImpl_vTable.handler := @ITimerImpl_handlerDispatcher;
13409
13410 ITimerControlImpl_vTable := TimerControlVTable.create;
13411 ITimerControlImpl_vTable.version := 2;
13412 ITimerControlImpl_vTable.start := @ITimerControlImpl_startDispatcher;
13413 ITimerControlImpl_vTable.stop := @ITimerControlImpl_stopDispatcher;
13414
13415 IVersionCallbackImpl_vTable := VersionCallbackVTable.create;
13416 IVersionCallbackImpl_vTable.version := 2;
13417 IVersionCallbackImpl_vTable.callback := @IVersionCallbackImpl_callbackDispatcher;
13418
13419 IUtilImpl_vTable := UtilVTable.create;
13420 IUtilImpl_vTable.version := 4;
13421 IUtilImpl_vTable.getFbVersion := @IUtilImpl_getFbVersionDispatcher;
13422 IUtilImpl_vTable.loadBlob := @IUtilImpl_loadBlobDispatcher;
13423 IUtilImpl_vTable.dumpBlob := @IUtilImpl_dumpBlobDispatcher;
13424 IUtilImpl_vTable.getPerfCounters := @IUtilImpl_getPerfCountersDispatcher;
13425 IUtilImpl_vTable.executeCreateDatabase := @IUtilImpl_executeCreateDatabaseDispatcher;
13426 IUtilImpl_vTable.decodeDate := @IUtilImpl_decodeDateDispatcher;
13427 IUtilImpl_vTable.decodeTime := @IUtilImpl_decodeTimeDispatcher;
13428 IUtilImpl_vTable.encodeDate := @IUtilImpl_encodeDateDispatcher;
13429 IUtilImpl_vTable.encodeTime := @IUtilImpl_encodeTimeDispatcher;
13430 IUtilImpl_vTable.formatStatus := @IUtilImpl_formatStatusDispatcher;
13431 IUtilImpl_vTable.getClientVersion := @IUtilImpl_getClientVersionDispatcher;
13432 IUtilImpl_vTable.getXpbBuilder := @IUtilImpl_getXpbBuilderDispatcher;
13433 IUtilImpl_vTable.setOffsets := @IUtilImpl_setOffsetsDispatcher;
13434 IUtilImpl_vTable.getDecFloat16 := @IUtilImpl_getDecFloat16Dispatcher;
13435 IUtilImpl_vTable.getDecFloat34 := @IUtilImpl_getDecFloat34Dispatcher;
13436 IUtilImpl_vTable.decodeTimeTz := @IUtilImpl_decodeTimeTzDispatcher;
13437 IUtilImpl_vTable.decodeTimeStampTz := @IUtilImpl_decodeTimeStampTzDispatcher;
13438 IUtilImpl_vTable.encodeTimeTz := @IUtilImpl_encodeTimeTzDispatcher;
13439 IUtilImpl_vTable.encodeTimeStampTz := @IUtilImpl_encodeTimeStampTzDispatcher;
13440 IUtilImpl_vTable.getInt128 := @IUtilImpl_getInt128Dispatcher;
13441 IUtilImpl_vTable.decodeTimeTzEx := @IUtilImpl_decodeTimeTzExDispatcher;
13442 IUtilImpl_vTable.decodeTimeStampTzEx := @IUtilImpl_decodeTimeStampTzExDispatcher;
13443
13444 IOffsetsCallbackImpl_vTable := OffsetsCallbackVTable.create;
13445 IOffsetsCallbackImpl_vTable.version := 2;
13446 IOffsetsCallbackImpl_vTable.setOffset := @IOffsetsCallbackImpl_setOffsetDispatcher;
13447
13448 IXpbBuilderImpl_vTable := XpbBuilderVTable.create;
13449 IXpbBuilderImpl_vTable.version := 3;
13450 IXpbBuilderImpl_vTable.dispose := @IXpbBuilderImpl_disposeDispatcher;
13451 IXpbBuilderImpl_vTable.clear := @IXpbBuilderImpl_clearDispatcher;
13452 IXpbBuilderImpl_vTable.removeCurrent := @IXpbBuilderImpl_removeCurrentDispatcher;
13453 IXpbBuilderImpl_vTable.insertInt := @IXpbBuilderImpl_insertIntDispatcher;
13454 IXpbBuilderImpl_vTable.insertBigInt := @IXpbBuilderImpl_insertBigIntDispatcher;
13455 IXpbBuilderImpl_vTable.insertBytes := @IXpbBuilderImpl_insertBytesDispatcher;
13456 IXpbBuilderImpl_vTable.insertString := @IXpbBuilderImpl_insertStringDispatcher;
13457 IXpbBuilderImpl_vTable.insertTag := @IXpbBuilderImpl_insertTagDispatcher;
13458 IXpbBuilderImpl_vTable.isEof := @IXpbBuilderImpl_isEofDispatcher;
13459 IXpbBuilderImpl_vTable.moveNext := @IXpbBuilderImpl_moveNextDispatcher;
13460 IXpbBuilderImpl_vTable.rewind := @IXpbBuilderImpl_rewindDispatcher;
13461 IXpbBuilderImpl_vTable.findFirst := @IXpbBuilderImpl_findFirstDispatcher;
13462 IXpbBuilderImpl_vTable.findNext := @IXpbBuilderImpl_findNextDispatcher;
13463 IXpbBuilderImpl_vTable.getTag := @IXpbBuilderImpl_getTagDispatcher;
13464 IXpbBuilderImpl_vTable.getLength := @IXpbBuilderImpl_getLengthDispatcher;
13465 IXpbBuilderImpl_vTable.getInt := @IXpbBuilderImpl_getIntDispatcher;
13466 IXpbBuilderImpl_vTable.getBigInt := @IXpbBuilderImpl_getBigIntDispatcher;
13467 IXpbBuilderImpl_vTable.getString := @IXpbBuilderImpl_getStringDispatcher;
13468 IXpbBuilderImpl_vTable.getBytes := @IXpbBuilderImpl_getBytesDispatcher;
13469 IXpbBuilderImpl_vTable.getBufferLength := @IXpbBuilderImpl_getBufferLengthDispatcher;
13470 IXpbBuilderImpl_vTable.getBuffer := @IXpbBuilderImpl_getBufferDispatcher;
13471
13472 ITraceConnectionImpl_vTable := TraceConnectionVTable.create;
13473 ITraceConnectionImpl_vTable.version := 2;
13474 ITraceConnectionImpl_vTable.getKind := @ITraceConnectionImpl_getKindDispatcher;
13475 ITraceConnectionImpl_vTable.getProcessID := @ITraceConnectionImpl_getProcessIDDispatcher;
13476 ITraceConnectionImpl_vTable.getUserName := @ITraceConnectionImpl_getUserNameDispatcher;
13477 ITraceConnectionImpl_vTable.getRoleName := @ITraceConnectionImpl_getRoleNameDispatcher;
13478 ITraceConnectionImpl_vTable.getCharSet := @ITraceConnectionImpl_getCharSetDispatcher;
13479 ITraceConnectionImpl_vTable.getRemoteProtocol := @ITraceConnectionImpl_getRemoteProtocolDispatcher;
13480 ITraceConnectionImpl_vTable.getRemoteAddress := @ITraceConnectionImpl_getRemoteAddressDispatcher;
13481 ITraceConnectionImpl_vTable.getRemoteProcessID := @ITraceConnectionImpl_getRemoteProcessIDDispatcher;
13482 ITraceConnectionImpl_vTable.getRemoteProcessName := @ITraceConnectionImpl_getRemoteProcessNameDispatcher;
13483
13484 ITraceDatabaseConnectionImpl_vTable := TraceDatabaseConnectionVTable.create;
13485 ITraceDatabaseConnectionImpl_vTable.version := 3;
13486 ITraceDatabaseConnectionImpl_vTable.getKind := @ITraceDatabaseConnectionImpl_getKindDispatcher;
13487 ITraceDatabaseConnectionImpl_vTable.getProcessID := @ITraceDatabaseConnectionImpl_getProcessIDDispatcher;
13488 ITraceDatabaseConnectionImpl_vTable.getUserName := @ITraceDatabaseConnectionImpl_getUserNameDispatcher;
13489 ITraceDatabaseConnectionImpl_vTable.getRoleName := @ITraceDatabaseConnectionImpl_getRoleNameDispatcher;
13490 ITraceDatabaseConnectionImpl_vTable.getCharSet := @ITraceDatabaseConnectionImpl_getCharSetDispatcher;
13491 ITraceDatabaseConnectionImpl_vTable.getRemoteProtocol := @ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher;
13492 ITraceDatabaseConnectionImpl_vTable.getRemoteAddress := @ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher;
13493 ITraceDatabaseConnectionImpl_vTable.getRemoteProcessID := @ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher;
13494 ITraceDatabaseConnectionImpl_vTable.getRemoteProcessName := @ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher;
13495 ITraceDatabaseConnectionImpl_vTable.getConnectionID := @ITraceDatabaseConnectionImpl_getConnectionIDDispatcher;
13496 ITraceDatabaseConnectionImpl_vTable.getDatabaseName := @ITraceDatabaseConnectionImpl_getDatabaseNameDispatcher;
13497
13498 ITraceTransactionImpl_vTable := TraceTransactionVTable.create;
13499 ITraceTransactionImpl_vTable.version := 3;
13500 ITraceTransactionImpl_vTable.getTransactionID := @ITraceTransactionImpl_getTransactionIDDispatcher;
13501 ITraceTransactionImpl_vTable.getReadOnly := @ITraceTransactionImpl_getReadOnlyDispatcher;
13502 ITraceTransactionImpl_vTable.getWait := @ITraceTransactionImpl_getWaitDispatcher;
13503 ITraceTransactionImpl_vTable.getIsolation := @ITraceTransactionImpl_getIsolationDispatcher;
13504 ITraceTransactionImpl_vTable.getPerf := @ITraceTransactionImpl_getPerfDispatcher;
13505 ITraceTransactionImpl_vTable.getInitialID := @ITraceTransactionImpl_getInitialIDDispatcher;
13506 ITraceTransactionImpl_vTable.getPreviousID := @ITraceTransactionImpl_getPreviousIDDispatcher;
13507
13508 ITraceParamsImpl_vTable := TraceParamsVTable.create;
13509 ITraceParamsImpl_vTable.version := 3;
13510 ITraceParamsImpl_vTable.getCount := @ITraceParamsImpl_getCountDispatcher;
13511 ITraceParamsImpl_vTable.getParam := @ITraceParamsImpl_getParamDispatcher;
13512 ITraceParamsImpl_vTable.getTextUTF8 := @ITraceParamsImpl_getTextUTF8Dispatcher;
13513
13514 ITraceStatementImpl_vTable := TraceStatementVTable.create;
13515 ITraceStatementImpl_vTable.version := 2;
13516 ITraceStatementImpl_vTable.getStmtID := @ITraceStatementImpl_getStmtIDDispatcher;
13517 ITraceStatementImpl_vTable.getPerf := @ITraceStatementImpl_getPerfDispatcher;
13518
13519 ITraceSQLStatementImpl_vTable := TraceSQLStatementVTable.create;
13520 ITraceSQLStatementImpl_vTable.version := 3;
13521 ITraceSQLStatementImpl_vTable.getStmtID := @ITraceSQLStatementImpl_getStmtIDDispatcher;
13522 ITraceSQLStatementImpl_vTable.getPerf := @ITraceSQLStatementImpl_getPerfDispatcher;
13523 ITraceSQLStatementImpl_vTable.getText := @ITraceSQLStatementImpl_getTextDispatcher;
13524 ITraceSQLStatementImpl_vTable.getPlan := @ITraceSQLStatementImpl_getPlanDispatcher;
13525 ITraceSQLStatementImpl_vTable.getInputs := @ITraceSQLStatementImpl_getInputsDispatcher;
13526 ITraceSQLStatementImpl_vTable.getTextUTF8 := @ITraceSQLStatementImpl_getTextUTF8Dispatcher;
13527 ITraceSQLStatementImpl_vTable.getExplainedPlan := @ITraceSQLStatementImpl_getExplainedPlanDispatcher;
13528
13529 ITraceBLRStatementImpl_vTable := TraceBLRStatementVTable.create;
13530 ITraceBLRStatementImpl_vTable.version := 3;
13531 ITraceBLRStatementImpl_vTable.getStmtID := @ITraceBLRStatementImpl_getStmtIDDispatcher;
13532 ITraceBLRStatementImpl_vTable.getPerf := @ITraceBLRStatementImpl_getPerfDispatcher;
13533 ITraceBLRStatementImpl_vTable.getData := @ITraceBLRStatementImpl_getDataDispatcher;
13534 ITraceBLRStatementImpl_vTable.getDataLength := @ITraceBLRStatementImpl_getDataLengthDispatcher;
13535 ITraceBLRStatementImpl_vTable.getText := @ITraceBLRStatementImpl_getTextDispatcher;
13536
13537 ITraceDYNRequestImpl_vTable := TraceDYNRequestVTable.create;
13538 ITraceDYNRequestImpl_vTable.version := 2;
13539 ITraceDYNRequestImpl_vTable.getData := @ITraceDYNRequestImpl_getDataDispatcher;
13540 ITraceDYNRequestImpl_vTable.getDataLength := @ITraceDYNRequestImpl_getDataLengthDispatcher;
13541 ITraceDYNRequestImpl_vTable.getText := @ITraceDYNRequestImpl_getTextDispatcher;
13542
13543 ITraceContextVariableImpl_vTable := TraceContextVariableVTable.create;
13544 ITraceContextVariableImpl_vTable.version := 2;
13545 ITraceContextVariableImpl_vTable.getNameSpace := @ITraceContextVariableImpl_getNameSpaceDispatcher;
13546 ITraceContextVariableImpl_vTable.getVarName := @ITraceContextVariableImpl_getVarNameDispatcher;
13547 ITraceContextVariableImpl_vTable.getVarValue := @ITraceContextVariableImpl_getVarValueDispatcher;
13548
13549 ITraceProcedureImpl_vTable := TraceProcedureVTable.create;
13550 ITraceProcedureImpl_vTable.version := 2;
13551 ITraceProcedureImpl_vTable.getProcName := @ITraceProcedureImpl_getProcNameDispatcher;
13552 ITraceProcedureImpl_vTable.getInputs := @ITraceProcedureImpl_getInputsDispatcher;
13553 ITraceProcedureImpl_vTable.getPerf := @ITraceProcedureImpl_getPerfDispatcher;
13554
13555 ITraceFunctionImpl_vTable := TraceFunctionVTable.create;
13556 ITraceFunctionImpl_vTable.version := 2;
13557 ITraceFunctionImpl_vTable.getFuncName := @ITraceFunctionImpl_getFuncNameDispatcher;
13558 ITraceFunctionImpl_vTable.getInputs := @ITraceFunctionImpl_getInputsDispatcher;
13559 ITraceFunctionImpl_vTable.getResult := @ITraceFunctionImpl_getResultDispatcher;
13560 ITraceFunctionImpl_vTable.getPerf := @ITraceFunctionImpl_getPerfDispatcher;
13561
13562 ITraceTriggerImpl_vTable := TraceTriggerVTable.create;
13563 ITraceTriggerImpl_vTable.version := 2;
13564 ITraceTriggerImpl_vTable.getTriggerName := @ITraceTriggerImpl_getTriggerNameDispatcher;
13565 ITraceTriggerImpl_vTable.getRelationName := @ITraceTriggerImpl_getRelationNameDispatcher;
13566 ITraceTriggerImpl_vTable.getAction := @ITraceTriggerImpl_getActionDispatcher;
13567 ITraceTriggerImpl_vTable.getWhich := @ITraceTriggerImpl_getWhichDispatcher;
13568 ITraceTriggerImpl_vTable.getPerf := @ITraceTriggerImpl_getPerfDispatcher;
13569
13570 ITraceServiceConnectionImpl_vTable := TraceServiceConnectionVTable.create;
13571 ITraceServiceConnectionImpl_vTable.version := 3;
13572 ITraceServiceConnectionImpl_vTable.getKind := @ITraceServiceConnectionImpl_getKindDispatcher;
13573 ITraceServiceConnectionImpl_vTable.getProcessID := @ITraceServiceConnectionImpl_getProcessIDDispatcher;
13574 ITraceServiceConnectionImpl_vTable.getUserName := @ITraceServiceConnectionImpl_getUserNameDispatcher;
13575 ITraceServiceConnectionImpl_vTable.getRoleName := @ITraceServiceConnectionImpl_getRoleNameDispatcher;
13576 ITraceServiceConnectionImpl_vTable.getCharSet := @ITraceServiceConnectionImpl_getCharSetDispatcher;
13577 ITraceServiceConnectionImpl_vTable.getRemoteProtocol := @ITraceServiceConnectionImpl_getRemoteProtocolDispatcher;
13578 ITraceServiceConnectionImpl_vTable.getRemoteAddress := @ITraceServiceConnectionImpl_getRemoteAddressDispatcher;
13579 ITraceServiceConnectionImpl_vTable.getRemoteProcessID := @ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher;
13580 ITraceServiceConnectionImpl_vTable.getRemoteProcessName := @ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher;
13581 ITraceServiceConnectionImpl_vTable.getServiceID := @ITraceServiceConnectionImpl_getServiceIDDispatcher;
13582 ITraceServiceConnectionImpl_vTable.getServiceMgr := @ITraceServiceConnectionImpl_getServiceMgrDispatcher;
13583 ITraceServiceConnectionImpl_vTable.getServiceName := @ITraceServiceConnectionImpl_getServiceNameDispatcher;
13584
13585 ITraceStatusVectorImpl_vTable := TraceStatusVectorVTable.create;
13586 ITraceStatusVectorImpl_vTable.version := 2;
13587 ITraceStatusVectorImpl_vTable.hasError := @ITraceStatusVectorImpl_hasErrorDispatcher;
13588 ITraceStatusVectorImpl_vTable.hasWarning := @ITraceStatusVectorImpl_hasWarningDispatcher;
13589 ITraceStatusVectorImpl_vTable.getStatus := @ITraceStatusVectorImpl_getStatusDispatcher;
13590 ITraceStatusVectorImpl_vTable.getText := @ITraceStatusVectorImpl_getTextDispatcher;
13591
13592 ITraceSweepInfoImpl_vTable := TraceSweepInfoVTable.create;
13593 ITraceSweepInfoImpl_vTable.version := 2;
13594 ITraceSweepInfoImpl_vTable.getOIT := @ITraceSweepInfoImpl_getOITDispatcher;
13595 ITraceSweepInfoImpl_vTable.getOST := @ITraceSweepInfoImpl_getOSTDispatcher;
13596 ITraceSweepInfoImpl_vTable.getOAT := @ITraceSweepInfoImpl_getOATDispatcher;
13597 ITraceSweepInfoImpl_vTable.getNext := @ITraceSweepInfoImpl_getNextDispatcher;
13598 ITraceSweepInfoImpl_vTable.getPerf := @ITraceSweepInfoImpl_getPerfDispatcher;
13599
13600 ITraceLogWriterImpl_vTable := TraceLogWriterVTable.create;
13601 ITraceLogWriterImpl_vTable.version := 4;
13602 ITraceLogWriterImpl_vTable.addRef := @ITraceLogWriterImpl_addRefDispatcher;
13603 ITraceLogWriterImpl_vTable.release := @ITraceLogWriterImpl_releaseDispatcher;
13604 ITraceLogWriterImpl_vTable.write := @ITraceLogWriterImpl_writeDispatcher;
13605 ITraceLogWriterImpl_vTable.write_s := @ITraceLogWriterImpl_write_sDispatcher;
13606
13607 ITraceInitInfoImpl_vTable := TraceInitInfoVTable.create;
13608 ITraceInitInfoImpl_vTable.version := 2;
13609 ITraceInitInfoImpl_vTable.getConfigText := @ITraceInitInfoImpl_getConfigTextDispatcher;
13610 ITraceInitInfoImpl_vTable.getTraceSessionID := @ITraceInitInfoImpl_getTraceSessionIDDispatcher;
13611 ITraceInitInfoImpl_vTable.getTraceSessionName := @ITraceInitInfoImpl_getTraceSessionNameDispatcher;
13612 ITraceInitInfoImpl_vTable.getFirebirdRootDirectory := @ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher;
13613 ITraceInitInfoImpl_vTable.getDatabaseName := @ITraceInitInfoImpl_getDatabaseNameDispatcher;
13614 ITraceInitInfoImpl_vTable.getConnection := @ITraceInitInfoImpl_getConnectionDispatcher;
13615 ITraceInitInfoImpl_vTable.getLogWriter := @ITraceInitInfoImpl_getLogWriterDispatcher;
13616
13617 ITracePluginImpl_vTable := TracePluginVTable.create;
13618 ITracePluginImpl_vTable.version := 3;
13619 ITracePluginImpl_vTable.addRef := @ITracePluginImpl_addRefDispatcher;
13620 ITracePluginImpl_vTable.release := @ITracePluginImpl_releaseDispatcher;
13621 ITracePluginImpl_vTable.trace_get_error := @ITracePluginImpl_trace_get_errorDispatcher;
13622 ITracePluginImpl_vTable.trace_attach := @ITracePluginImpl_trace_attachDispatcher;
13623 ITracePluginImpl_vTable.trace_detach := @ITracePluginImpl_trace_detachDispatcher;
13624 ITracePluginImpl_vTable.trace_transaction_start := @ITracePluginImpl_trace_transaction_startDispatcher;
13625 ITracePluginImpl_vTable.trace_transaction_end := @ITracePluginImpl_trace_transaction_endDispatcher;
13626 ITracePluginImpl_vTable.trace_proc_execute := @ITracePluginImpl_trace_proc_executeDispatcher;
13627 ITracePluginImpl_vTable.trace_trigger_execute := @ITracePluginImpl_trace_trigger_executeDispatcher;
13628 ITracePluginImpl_vTable.trace_set_context := @ITracePluginImpl_trace_set_contextDispatcher;
13629 ITracePluginImpl_vTable.trace_dsql_prepare := @ITracePluginImpl_trace_dsql_prepareDispatcher;
13630 ITracePluginImpl_vTable.trace_dsql_free := @ITracePluginImpl_trace_dsql_freeDispatcher;
13631 ITracePluginImpl_vTable.trace_dsql_execute := @ITracePluginImpl_trace_dsql_executeDispatcher;
13632 ITracePluginImpl_vTable.trace_blr_compile := @ITracePluginImpl_trace_blr_compileDispatcher;
13633 ITracePluginImpl_vTable.trace_blr_execute := @ITracePluginImpl_trace_blr_executeDispatcher;
13634 ITracePluginImpl_vTable.trace_dyn_execute := @ITracePluginImpl_trace_dyn_executeDispatcher;
13635 ITracePluginImpl_vTable.trace_service_attach := @ITracePluginImpl_trace_service_attachDispatcher;
13636 ITracePluginImpl_vTable.trace_service_start := @ITracePluginImpl_trace_service_startDispatcher;
13637 ITracePluginImpl_vTable.trace_service_query := @ITracePluginImpl_trace_service_queryDispatcher;
13638 ITracePluginImpl_vTable.trace_service_detach := @ITracePluginImpl_trace_service_detachDispatcher;
13639 ITracePluginImpl_vTable.trace_event_error := @ITracePluginImpl_trace_event_errorDispatcher;
13640 ITracePluginImpl_vTable.trace_event_sweep := @ITracePluginImpl_trace_event_sweepDispatcher;
13641 ITracePluginImpl_vTable.trace_func_execute := @ITracePluginImpl_trace_func_executeDispatcher;
13642
13643 ITraceFactoryImpl_vTable := TraceFactoryVTable.create;
13644 ITraceFactoryImpl_vTable.version := 4;
13645 ITraceFactoryImpl_vTable.addRef := @ITraceFactoryImpl_addRefDispatcher;
13646 ITraceFactoryImpl_vTable.release := @ITraceFactoryImpl_releaseDispatcher;
13647 ITraceFactoryImpl_vTable.setOwner := @ITraceFactoryImpl_setOwnerDispatcher;
13648 ITraceFactoryImpl_vTable.getOwner := @ITraceFactoryImpl_getOwnerDispatcher;
13649 ITraceFactoryImpl_vTable.trace_needs := @ITraceFactoryImpl_trace_needsDispatcher;
13650 ITraceFactoryImpl_vTable.trace_create := @ITraceFactoryImpl_trace_createDispatcher;
13651
13652 IUdrFunctionFactoryImpl_vTable := UdrFunctionFactoryVTable.create;
13653 IUdrFunctionFactoryImpl_vTable.version := 3;
13654 IUdrFunctionFactoryImpl_vTable.dispose := @IUdrFunctionFactoryImpl_disposeDispatcher;
13655 IUdrFunctionFactoryImpl_vTable.setup := @IUdrFunctionFactoryImpl_setupDispatcher;
13656 IUdrFunctionFactoryImpl_vTable.newItem := @IUdrFunctionFactoryImpl_newItemDispatcher;
13657
13658 IUdrProcedureFactoryImpl_vTable := UdrProcedureFactoryVTable.create;
13659 IUdrProcedureFactoryImpl_vTable.version := 3;
13660 IUdrProcedureFactoryImpl_vTable.dispose := @IUdrProcedureFactoryImpl_disposeDispatcher;
13661 IUdrProcedureFactoryImpl_vTable.setup := @IUdrProcedureFactoryImpl_setupDispatcher;
13662 IUdrProcedureFactoryImpl_vTable.newItem := @IUdrProcedureFactoryImpl_newItemDispatcher;
13663
13664 IUdrTriggerFactoryImpl_vTable := UdrTriggerFactoryVTable.create;
13665 IUdrTriggerFactoryImpl_vTable.version := 3;
13666 IUdrTriggerFactoryImpl_vTable.dispose := @IUdrTriggerFactoryImpl_disposeDispatcher;
13667 IUdrTriggerFactoryImpl_vTable.setup := @IUdrTriggerFactoryImpl_setupDispatcher;
13668 IUdrTriggerFactoryImpl_vTable.newItem := @IUdrTriggerFactoryImpl_newItemDispatcher;
13669
13670 IUdrPluginImpl_vTable := UdrPluginVTable.create;
13671 IUdrPluginImpl_vTable.version := 2;
13672 IUdrPluginImpl_vTable.getMaster := @IUdrPluginImpl_getMasterDispatcher;
13673 IUdrPluginImpl_vTable.registerFunction := @IUdrPluginImpl_registerFunctionDispatcher;
13674 IUdrPluginImpl_vTable.registerProcedure := @IUdrPluginImpl_registerProcedureDispatcher;
13675 IUdrPluginImpl_vTable.registerTrigger := @IUdrPluginImpl_registerTriggerDispatcher;
13676
13677 IDecFloat16Impl_vTable := DecFloat16VTable.create;
13678 IDecFloat16Impl_vTable.version := 2;
13679 IDecFloat16Impl_vTable.toBcd := @IDecFloat16Impl_toBcdDispatcher;
13680 IDecFloat16Impl_vTable.toString := @IDecFloat16Impl_toStringDispatcher;
13681 IDecFloat16Impl_vTable.fromBcd := @IDecFloat16Impl_fromBcdDispatcher;
13682 IDecFloat16Impl_vTable.fromString := @IDecFloat16Impl_fromStringDispatcher;
13683
13684 IDecFloat34Impl_vTable := DecFloat34VTable.create;
13685 IDecFloat34Impl_vTable.version := 2;
13686 IDecFloat34Impl_vTable.toBcd := @IDecFloat34Impl_toBcdDispatcher;
13687 IDecFloat34Impl_vTable.toString := @IDecFloat34Impl_toStringDispatcher;
13688 IDecFloat34Impl_vTable.fromBcd := @IDecFloat34Impl_fromBcdDispatcher;
13689 IDecFloat34Impl_vTable.fromString := @IDecFloat34Impl_fromStringDispatcher;
13690
13691 IInt128Impl_vTable := Int128VTable.create;
13692 IInt128Impl_vTable.version := 2;
13693 IInt128Impl_vTable.toString := @IInt128Impl_toStringDispatcher;
13694 IInt128Impl_vTable.fromString := @IInt128Impl_fromStringDispatcher;
13695
13696 IReplicatedFieldImpl_vTable := ReplicatedFieldVTable.create;
13697 IReplicatedFieldImpl_vTable.version := 2;
13698 IReplicatedFieldImpl_vTable.getName := @IReplicatedFieldImpl_getNameDispatcher;
13699 IReplicatedFieldImpl_vTable.getType := @IReplicatedFieldImpl_getTypeDispatcher;
13700 IReplicatedFieldImpl_vTable.getSubType := @IReplicatedFieldImpl_getSubTypeDispatcher;
13701 IReplicatedFieldImpl_vTable.getScale := @IReplicatedFieldImpl_getScaleDispatcher;
13702 IReplicatedFieldImpl_vTable.getLength := @IReplicatedFieldImpl_getLengthDispatcher;
13703 IReplicatedFieldImpl_vTable.getCharSet := @IReplicatedFieldImpl_getCharSetDispatcher;
13704 IReplicatedFieldImpl_vTable.getData := @IReplicatedFieldImpl_getDataDispatcher;
13705
13706 IReplicatedRecordImpl_vTable := ReplicatedRecordVTable.create;
13707 IReplicatedRecordImpl_vTable.version := 2;
13708 IReplicatedRecordImpl_vTable.getCount := @IReplicatedRecordImpl_getCountDispatcher;
13709 IReplicatedRecordImpl_vTable.getField := @IReplicatedRecordImpl_getFieldDispatcher;
13710 IReplicatedRecordImpl_vTable.getRawLength := @IReplicatedRecordImpl_getRawLengthDispatcher;
13711 IReplicatedRecordImpl_vTable.getRawData := @IReplicatedRecordImpl_getRawDataDispatcher;
13712
13713 IReplicatedTransactionImpl_vTable := ReplicatedTransactionVTable.create;
13714 IReplicatedTransactionImpl_vTable.version := 3;
13715 IReplicatedTransactionImpl_vTable.dispose := @IReplicatedTransactionImpl_disposeDispatcher;
13716 IReplicatedTransactionImpl_vTable.prepare := @IReplicatedTransactionImpl_prepareDispatcher;
13717 IReplicatedTransactionImpl_vTable.commit := @IReplicatedTransactionImpl_commitDispatcher;
13718 IReplicatedTransactionImpl_vTable.rollback := @IReplicatedTransactionImpl_rollbackDispatcher;
13719 IReplicatedTransactionImpl_vTable.startSavepoint := @IReplicatedTransactionImpl_startSavepointDispatcher;
13720 IReplicatedTransactionImpl_vTable.releaseSavepoint := @IReplicatedTransactionImpl_releaseSavepointDispatcher;
13721 IReplicatedTransactionImpl_vTable.rollbackSavepoint := @IReplicatedTransactionImpl_rollbackSavepointDispatcher;
13722 IReplicatedTransactionImpl_vTable.insertRecord := @IReplicatedTransactionImpl_insertRecordDispatcher;
13723 IReplicatedTransactionImpl_vTable.updateRecord := @IReplicatedTransactionImpl_updateRecordDispatcher;
13724 IReplicatedTransactionImpl_vTable.deleteRecord := @IReplicatedTransactionImpl_deleteRecordDispatcher;
13725 IReplicatedTransactionImpl_vTable.executeSql := @IReplicatedTransactionImpl_executeSqlDispatcher;
13726 IReplicatedTransactionImpl_vTable.executeSqlIntl := @IReplicatedTransactionImpl_executeSqlIntlDispatcher;
13727
13728 IReplicatedSessionImpl_vTable := ReplicatedSessionVTable.create;
13729 IReplicatedSessionImpl_vTable.version := 4;
13730 IReplicatedSessionImpl_vTable.addRef := @IReplicatedSessionImpl_addRefDispatcher;
13731 IReplicatedSessionImpl_vTable.release := @IReplicatedSessionImpl_releaseDispatcher;
13732 IReplicatedSessionImpl_vTable.setOwner := @IReplicatedSessionImpl_setOwnerDispatcher;
13733 IReplicatedSessionImpl_vTable.getOwner := @IReplicatedSessionImpl_getOwnerDispatcher;
13734 IReplicatedSessionImpl_vTable.init := @IReplicatedSessionImpl_initDispatcher;
13735 IReplicatedSessionImpl_vTable.startTransaction := @IReplicatedSessionImpl_startTransactionDispatcher;
13736 IReplicatedSessionImpl_vTable.cleanupTransaction := @IReplicatedSessionImpl_cleanupTransactionDispatcher;
13737 IReplicatedSessionImpl_vTable.setSequence := @IReplicatedSessionImpl_setSequenceDispatcher;
13738
13739 finalization
13740 IVersionedImpl_vTable.destroy;
13741 IReferenceCountedImpl_vTable.destroy;
13742 IDisposableImpl_vTable.destroy;
13743 IStatusImpl_vTable.destroy;
13744 IMasterImpl_vTable.destroy;
13745 IPluginBaseImpl_vTable.destroy;
13746 IPluginSetImpl_vTable.destroy;
13747 IConfigEntryImpl_vTable.destroy;
13748 IConfigImpl_vTable.destroy;
13749 IFirebirdConfImpl_vTable.destroy;
13750 IPluginConfigImpl_vTable.destroy;
13751 IPluginFactoryImpl_vTable.destroy;
13752 IPluginModuleImpl_vTable.destroy;
13753 IPluginManagerImpl_vTable.destroy;
13754 ICryptKeyImpl_vTable.destroy;
13755 IConfigManagerImpl_vTable.destroy;
13756 IEventCallbackImpl_vTable.destroy;
13757 IBlobImpl_vTable.destroy;
13758 ITransactionImpl_vTable.destroy;
13759 IMessageMetadataImpl_vTable.destroy;
13760 IMetadataBuilderImpl_vTable.destroy;
13761 IResultSetImpl_vTable.destroy;
13762 IStatementImpl_vTable.destroy;
13763 IBatchImpl_vTable.destroy;
13764 IBatchCompletionStateImpl_vTable.destroy;
13765 IReplicatorImpl_vTable.destroy;
13766 IRequestImpl_vTable.destroy;
13767 IEventsImpl_vTable.destroy;
13768 IAttachmentImpl_vTable.destroy;
13769 IServiceImpl_vTable.destroy;
13770 IProviderImpl_vTable.destroy;
13771 IDtcStartImpl_vTable.destroy;
13772 IDtcImpl_vTable.destroy;
13773 IAuthImpl_vTable.destroy;
13774 IWriterImpl_vTable.destroy;
13775 IServerBlockImpl_vTable.destroy;
13776 IClientBlockImpl_vTable.destroy;
13777 IServerImpl_vTable.destroy;
13778 IClientImpl_vTable.destroy;
13779 IUserFieldImpl_vTable.destroy;
13780 ICharUserFieldImpl_vTable.destroy;
13781 IIntUserFieldImpl_vTable.destroy;
13782 IUserImpl_vTable.destroy;
13783 IListUsersImpl_vTable.destroy;
13784 ILogonInfoImpl_vTable.destroy;
13785 IManagementImpl_vTable.destroy;
13786 IAuthBlockImpl_vTable.destroy;
13787 IWireCryptPluginImpl_vTable.destroy;
13788 ICryptKeyCallbackImpl_vTable.destroy;
13789 IKeyHolderPluginImpl_vTable.destroy;
13790 IDbCryptInfoImpl_vTable.destroy;
13791 IDbCryptPluginImpl_vTable.destroy;
13792 IExternalContextImpl_vTable.destroy;
13793 IExternalResultSetImpl_vTable.destroy;
13794 IExternalFunctionImpl_vTable.destroy;
13795 IExternalProcedureImpl_vTable.destroy;
13796 IExternalTriggerImpl_vTable.destroy;
13797 IRoutineMetadataImpl_vTable.destroy;
13798 IExternalEngineImpl_vTable.destroy;
13799 ITimerImpl_vTable.destroy;
13800 ITimerControlImpl_vTable.destroy;
13801 IVersionCallbackImpl_vTable.destroy;
13802 IUtilImpl_vTable.destroy;
13803 IOffsetsCallbackImpl_vTable.destroy;
13804 IXpbBuilderImpl_vTable.destroy;
13805 ITraceConnectionImpl_vTable.destroy;
13806 ITraceDatabaseConnectionImpl_vTable.destroy;
13807 ITraceTransactionImpl_vTable.destroy;
13808 ITraceParamsImpl_vTable.destroy;
13809 ITraceStatementImpl_vTable.destroy;
13810 ITraceSQLStatementImpl_vTable.destroy;
13811 ITraceBLRStatementImpl_vTable.destroy;
13812 ITraceDYNRequestImpl_vTable.destroy;
13813 ITraceContextVariableImpl_vTable.destroy;
13814 ITraceProcedureImpl_vTable.destroy;
13815 ITraceFunctionImpl_vTable.destroy;
13816 ITraceTriggerImpl_vTable.destroy;
13817 ITraceServiceConnectionImpl_vTable.destroy;
13818 ITraceStatusVectorImpl_vTable.destroy;
13819 ITraceSweepInfoImpl_vTable.destroy;
13820 ITraceLogWriterImpl_vTable.destroy;
13821 ITraceInitInfoImpl_vTable.destroy;
13822 ITracePluginImpl_vTable.destroy;
13823 ITraceFactoryImpl_vTable.destroy;
13824 IUdrFunctionFactoryImpl_vTable.destroy;
13825 IUdrProcedureFactoryImpl_vTable.destroy;
13826 IUdrTriggerFactoryImpl_vTable.destroy;
13827 IUdrPluginImpl_vTable.destroy;
13828 IDecFloat16Impl_vTable.destroy;
13829 IDecFloat34Impl_vTable.destroy;
13830 IInt128Impl_vTable.destroy;
13831 IReplicatedFieldImpl_vTable.destroy;
13832 IReplicatedRecordImpl_vTable.destroy;
13833 IReplicatedTransactionImpl_vTable.destroy;
13834 IReplicatedSessionImpl_vTable.destroy;
13835
13836 end.