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: 56
Committed: Mon Mar 6 10:20:02 2017 UTC (7 years, 1 month ago) by tony
Content type: text/x-pascal
File size: 500959 byte(s)
Log Message:
Committing updates for Trunk

File Contents

# Content
1 { This file was autogenerated by cloop - Cross Language Object Oriented Programming }
2
3 {Note that for use with IBX, type PISC_QUAD is used instead of ISC_QUADPtr. TISC_QUAD is
4 sourced from unit IB
5
6 Use of FBException is now condition and not used for IBX.
7
8 constants removed and imported separately into IB.pas
9 }
10
11 unit Firebird;
12 {$IFDEF MSWINDOWS}
13 {$DEFINE WINDOWS}
14 {$ENDIF}
15
16 interface
17 {$IFDEF FPC}
18 {$mode delphi}
19 {$ENDIF}
20
21 uses Classes, SysUtils, IB, DB;
22
23 type
24 {$IFNDEF FPC}
25 QWord = UInt64;
26 {$ENDIF}
27
28 { $DEFINE USEFBEXCEPTION}
29
30 IVersioned = class;
31 IReferenceCounted = class;
32 IDisposable = class;
33 IStatus = class;
34 IMaster = class;
35 IPluginBase = class;
36 IPluginSet = class;
37 IConfigEntry = class;
38 IConfig = class;
39 IFirebirdConf = class;
40 IPluginConfig = class;
41 IPluginFactory = class;
42 IPluginModule = class;
43 IPluginManager = class;
44 ICryptKey = class;
45 IConfigManager = class;
46 IEventCallback = class;
47 IBlob = class;
48 ITransaction = class;
49 IMessageMetadata = class;
50 IMetadataBuilder = class;
51 IResultSet = class;
52 IStatement = class;
53 IRequest = class;
54 IEvents = class;
55 IAttachment = class;
56 IService = class;
57 IProvider = class;
58 IDtcStart = class;
59 IDtc = class;
60 IAuth = class;
61 IWriter = class;
62 IServerBlock = class;
63 IClientBlock = class;
64 IServer = class;
65 IClient = class;
66 IUserField = class;
67 ICharUserField = class;
68 IIntUserField = class;
69 IUser = class;
70 IListUsers = class;
71 ILogonInfo = class;
72 IManagement = class;
73 IWireCryptPlugin = class;
74 ICryptKeyCallback = class;
75 IKeyHolderPlugin = class;
76 IDbCryptPlugin = class;
77 IExternalContext = class;
78 IExternalResultSet = class;
79 IExternalFunction = class;
80 IExternalProcedure = class;
81 IExternalTrigger = class;
82 IRoutineMetadata = class;
83 IExternalEngine = class;
84 ITimer = class;
85 ITimerControl = class;
86 IVersionCallback = class;
87 IUtil = class;
88 IOffsetsCallback = class;
89 IXpbBuilder = class;
90 ITraceConnection = class;
91 ITraceDatabaseConnection = class;
92 ITraceTransaction = class;
93 ITraceParams = class;
94 ITraceStatement = class;
95 ITraceSQLStatement = class;
96 ITraceBLRStatement = class;
97 ITraceDYNRequest = class;
98 ITraceContextVariable = class;
99 ITraceProcedure = class;
100 ITraceFunction = class;
101 ITraceTrigger = class;
102 ITraceServiceConnection = class;
103 ITraceStatusVector = class;
104 ITraceSweepInfo = class;
105 ITraceLogWriter = class;
106 ITraceInitInfo = class;
107 ITracePlugin = class;
108 ITraceFactory = class;
109 IUdrFunctionFactory = class;
110 IUdrProcedureFactory = class;
111 IUdrTriggerFactory = class;
112 IUdrPlugin = class;
113
114 FbException = class(EDatabaseError)
115 public
116 constructor create(status: IStatus); virtual;
117 destructor Destroy(); override;
118
119 function getStatus: IStatus;
120
121 class procedure checkException(status: IStatus);
122 class procedure catchException(status: IStatus; e: Exception);
123
124 private
125 status: IStatus;
126 end;
127
128 ISC_DATE = Integer;
129 ISC_TIME = Integer;
130
131 ntrace_relation_t = Integer;
132 TraceCounts = Record
133 trc_relation_id : ntrace_relation_t;
134 trc_relation_name : PAnsiChar;
135 trc_counters : ^Int64;
136 end;
137 TraceCountsPtr = ^TraceCounts;
138 PerformanceInfo = Record
139 pin_time : Int64;
140 pin_counters : ^Int64;
141 pin_count : NativeUInt;
142 pin_tables : TraceCountsPtr;
143 pin_records_fetched : Int64;
144 end;
145
146 Dsc = Record
147 dsc_dtype, dsc_scale: Byte;
148 dsc_length, dsc_sub_type, dsc_flags: Int16;
149 dsc_address: ^Byte;
150 end;
151 BooleanPtr = ^Boolean;
152 BytePtr = ^Byte;
153 CardinalPtr = ^Cardinal;
154 IKeyHolderPluginPtr = ^IKeyHolderPlugin;
155 Int64Ptr = ^Int64;
156 NativeIntPtr = ^NativeInt;
157 PerformanceInfoPtr = ^PerformanceInfo;
158 dscPtr = ^dsc;
159
160 IReferenceCounted_addRefPtr = procedure(this: IReferenceCounted); cdecl;
161 IReferenceCounted_releasePtr = function(this: IReferenceCounted): Integer; cdecl;
162 IDisposable_disposePtr = procedure(this: IDisposable); cdecl;
163 IStatus_initPtr = procedure(this: IStatus); cdecl;
164 IStatus_getStatePtr = function(this: IStatus): Cardinal; cdecl;
165 IStatus_setErrors2Ptr = procedure(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
166 IStatus_setWarnings2Ptr = procedure(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
167 IStatus_setErrorsPtr = procedure(this: IStatus; value: NativeIntPtr); cdecl;
168 IStatus_setWarningsPtr = procedure(this: IStatus; value: NativeIntPtr); cdecl;
169 IStatus_getErrorsPtr = function(this: IStatus): NativeIntPtr; cdecl;
170 IStatus_getWarningsPtr = function(this: IStatus): NativeIntPtr; cdecl;
171 IStatus_clonePtr = function(this: IStatus): IStatus; cdecl;
172 IMaster_getStatusPtr = function(this: IMaster): IStatus; cdecl;
173 IMaster_getDispatcherPtr = function(this: IMaster): IProvider; cdecl;
174 IMaster_getPluginManagerPtr = function(this: IMaster): IPluginManager; cdecl;
175 IMaster_getTimerControlPtr = function(this: IMaster): ITimerControl; cdecl;
176 IMaster_getDtcPtr = function(this: IMaster): IDtc; cdecl;
177 IMaster_registerAttachmentPtr = function(this: IMaster; provider: IProvider; attachment: IAttachment): IAttachment; cdecl;
178 IMaster_registerTransactionPtr = function(this: IMaster; attachment: IAttachment; transaction: ITransaction): ITransaction; cdecl;
179 IMaster_getMetadataBuilderPtr = function(this: IMaster; status: IStatus; fieldCount: Cardinal): IMetadataBuilder; cdecl;
180 IMaster_serverModePtr = function(this: IMaster; mode: Integer): Integer; cdecl;
181 IMaster_getUtilInterfacePtr = function(this: IMaster): IUtil; cdecl;
182 IMaster_getConfigManagerPtr = function(this: IMaster): IConfigManager; cdecl;
183 IMaster_getProcessExitingPtr = function(this: IMaster): Boolean; cdecl;
184 IPluginBase_setOwnerPtr = procedure(this: IPluginBase; r: IReferenceCounted); cdecl;
185 IPluginBase_getOwnerPtr = function(this: IPluginBase): IReferenceCounted; cdecl;
186 IPluginSet_getNamePtr = function(this: IPluginSet): PAnsiChar; cdecl;
187 IPluginSet_getModuleNamePtr = function(this: IPluginSet): PAnsiChar; cdecl;
188 IPluginSet_getPluginPtr = function(this: IPluginSet; status: IStatus): IPluginBase; cdecl;
189 IPluginSet_nextPtr = procedure(this: IPluginSet; status: IStatus); cdecl;
190 IPluginSet_set_Ptr = procedure(this: IPluginSet; status: IStatus; s: PAnsiChar); cdecl;
191 IConfigEntry_getNamePtr = function(this: IConfigEntry): PAnsiChar; cdecl;
192 IConfigEntry_getValuePtr = function(this: IConfigEntry): PAnsiChar; cdecl;
193 IConfigEntry_getIntValuePtr = function(this: IConfigEntry): Int64; cdecl;
194 IConfigEntry_getBoolValuePtr = function(this: IConfigEntry): Boolean; cdecl;
195 IConfigEntry_getSubConfigPtr = function(this: IConfigEntry; status: IStatus): IConfig; cdecl;
196 IConfig_findPtr = function(this: IConfig; status: IStatus; name: PAnsiChar): IConfigEntry; cdecl;
197 IConfig_findValuePtr = function(this: IConfig; status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; cdecl;
198 IConfig_findPosPtr = function(this: IConfig; status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; cdecl;
199 IFirebirdConf_getKeyPtr = function(this: IFirebirdConf; name: PAnsiChar): Cardinal; cdecl;
200 IFirebirdConf_asIntegerPtr = function(this: IFirebirdConf; key: Cardinal): Int64; cdecl;
201 IFirebirdConf_asStringPtr = function(this: IFirebirdConf; key: Cardinal): PAnsiChar; cdecl;
202 IFirebirdConf_asBooleanPtr = function(this: IFirebirdConf; key: Cardinal): Boolean; cdecl;
203 IPluginConfig_getConfigFileNamePtr = function(this: IPluginConfig): PAnsiChar; cdecl;
204 IPluginConfig_getDefaultConfigPtr = function(this: IPluginConfig; status: IStatus): IConfig; cdecl;
205 IPluginConfig_getFirebirdConfPtr = function(this: IPluginConfig; status: IStatus): IFirebirdConf; cdecl;
206 IPluginConfig_setReleaseDelayPtr = procedure(this: IPluginConfig; status: IStatus; microSeconds: QWord); cdecl;
207 IPluginFactory_createPluginPtr = function(this: IPluginFactory; status: IStatus; factoryParameter: IPluginConfig): IPluginBase; cdecl;
208 IPluginModule_doCleanPtr = procedure(this: IPluginModule); cdecl;
209 IPluginManager_registerPluginFactoryPtr = procedure(this: IPluginManager; pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); cdecl;
210 IPluginManager_registerModulePtr = procedure(this: IPluginManager; cleanup: IPluginModule); cdecl;
211 IPluginManager_unregisterModulePtr = procedure(this: IPluginManager; cleanup: IPluginModule); cdecl;
212 IPluginManager_getPluginsPtr = function(this: IPluginManager; status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; cdecl;
213 IPluginManager_getConfigPtr = function(this: IPluginManager; status: IStatus; filename: PAnsiChar): IConfig; cdecl;
214 IPluginManager_releasePluginPtr = procedure(this: IPluginManager; plugin: IPluginBase); cdecl;
215 ICryptKey_setSymmetricPtr = procedure(this: ICryptKey; status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); cdecl;
216 ICryptKey_setAsymmetricPtr = procedure(this: ICryptKey; status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); cdecl;
217 ICryptKey_getEncryptKeyPtr = function(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
218 ICryptKey_getDecryptKeyPtr = function(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
219 IConfigManager_getDirectoryPtr = function(this: IConfigManager; code: Cardinal): PAnsiChar; cdecl;
220 IConfigManager_getFirebirdConfPtr = function(this: IConfigManager): IFirebirdConf; cdecl;
221 IConfigManager_getDatabaseConfPtr = function(this: IConfigManager; dbName: PAnsiChar): IFirebirdConf; cdecl;
222 IConfigManager_getPluginConfigPtr = function(this: IConfigManager; configuredPlugin: PAnsiChar): IConfig; cdecl;
223 IConfigManager_getInstallDirectoryPtr = function(this: IConfigManager): PAnsiChar; cdecl;
224 IConfigManager_getRootDirectoryPtr = function(this: IConfigManager): PAnsiChar; cdecl;
225 IEventCallback_eventCallbackFunctionPtr = procedure(this: IEventCallback; length: Cardinal; events: BytePtr); cdecl;
226 IBlob_getInfoPtr = procedure(this: IBlob; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
227 IBlob_getSegmentPtr = function(this: IBlob; status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; cdecl;
228 IBlob_putSegmentPtr = procedure(this: IBlob; status: IStatus; length: Cardinal; buffer: Pointer); cdecl;
229 IBlob_cancelPtr = procedure(this: IBlob; status: IStatus); cdecl;
230 IBlob_closePtr = procedure(this: IBlob; status: IStatus); cdecl;
231 IBlob_seekPtr = function(this: IBlob; status: IStatus; mode: Integer; offset: Integer): Integer; cdecl;
232 ITransaction_getInfoPtr = procedure(this: ITransaction; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
233 ITransaction_preparePtr = procedure(this: ITransaction; status: IStatus; msgLength: Cardinal; message: BytePtr); cdecl;
234 ITransaction_commitPtr = procedure(this: ITransaction; status: IStatus); cdecl;
235 ITransaction_commitRetainingPtr = procedure(this: ITransaction; status: IStatus); cdecl;
236 ITransaction_rollbackPtr = procedure(this: ITransaction; status: IStatus); cdecl;
237 ITransaction_rollbackRetainingPtr = procedure(this: ITransaction; status: IStatus); cdecl;
238 ITransaction_disconnectPtr = procedure(this: ITransaction; status: IStatus); cdecl;
239 ITransaction_joinPtr = function(this: ITransaction; status: IStatus; transaction: ITransaction): ITransaction; cdecl;
240 ITransaction_validatePtr = function(this: ITransaction; status: IStatus; attachment: IAttachment): ITransaction; cdecl;
241 ITransaction_enterDtcPtr = function(this: ITransaction; status: IStatus): ITransaction; cdecl;
242 IMessageMetadata_getCountPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
243 IMessageMetadata_getFieldPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
244 IMessageMetadata_getRelationPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
245 IMessageMetadata_getOwnerPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
246 IMessageMetadata_getAliasPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
247 IMessageMetadata_getTypePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
248 IMessageMetadata_isNullablePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Boolean; cdecl;
249 IMessageMetadata_getSubTypePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
250 IMessageMetadata_getLengthPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
251 IMessageMetadata_getScalePtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
252 IMessageMetadata_getCharSetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
253 IMessageMetadata_getOffsetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
254 IMessageMetadata_getNullOffsetPtr = function(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
255 IMessageMetadata_getBuilderPtr = function(this: IMessageMetadata; status: IStatus): IMetadataBuilder; cdecl;
256 IMessageMetadata_getMessageLengthPtr = function(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
257 IMetadataBuilder_setTypePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; type_: Cardinal); cdecl;
258 IMetadataBuilder_setSubTypePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; subType: Integer); cdecl;
259 IMetadataBuilder_setLengthPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; length: Cardinal); cdecl;
260 IMetadataBuilder_setCharSetPtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; charSet: Cardinal); cdecl;
261 IMetadataBuilder_setScalePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal; scale: integer); cdecl;
262 IMetadataBuilder_truncatePtr = procedure(this: IMetadataBuilder; status: IStatus; count: Cardinal); cdecl;
263 IMetadataBuilder_moveNameToIndexPtr = procedure(this: IMetadataBuilder; status: IStatus; name: PAnsiChar; index: Cardinal); cdecl;
264 IMetadataBuilder_removePtr = procedure(this: IMetadataBuilder; status: IStatus; index: Cardinal); cdecl;
265 IMetadataBuilder_addFieldPtr = function(this: IMetadataBuilder; status: IStatus): Cardinal; cdecl;
266 IMetadataBuilder_getMetadataPtr = function(this: IMetadataBuilder; status: IStatus): IMessageMetadata; cdecl;
267 IResultSet_fetchNextPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
268 IResultSet_fetchPriorPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
269 IResultSet_fetchFirstPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
270 IResultSet_fetchLastPtr = function(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
271 IResultSet_fetchAbsolutePtr = function(this: IResultSet; status: IStatus; position: Integer; message: Pointer): Integer; cdecl;
272 IResultSet_fetchRelativePtr = function(this: IResultSet; status: IStatus; offset: Integer; message: Pointer): Integer; cdecl;
273 IResultSet_isEofPtr = function(this: IResultSet; status: IStatus): Boolean; cdecl;
274 IResultSet_isBofPtr = function(this: IResultSet; status: IStatus): Boolean; cdecl;
275 IResultSet_getMetadataPtr = function(this: IResultSet; status: IStatus): IMessageMetadata; cdecl;
276 IResultSet_closePtr = procedure(this: IResultSet; status: IStatus); cdecl;
277 IResultSet_setDelayedOutputFormatPtr = procedure(this: IResultSet; status: IStatus; format: IMessageMetadata); cdecl;
278 IStatement_getInfoPtr = procedure(this: IStatement; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
279 IStatement_getTypePtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
280 IStatement_getPlanPtr = function(this: IStatement; status: IStatus; detailed: Boolean): PAnsiChar; cdecl;
281 IStatement_getAffectedRecordsPtr = function(this: IStatement; status: IStatus): QWord; cdecl;
282 IStatement_getInputMetadataPtr = function(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
283 IStatement_getOutputMetadataPtr = function(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
284 IStatement_executePtr = function(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
285 IStatement_openCursorPtr = function(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; cdecl;
286 IStatement_setCursorNamePtr = procedure(this: IStatement; status: IStatus; name: PAnsiChar); cdecl;
287 IStatement_freePtr = procedure(this: IStatement; status: IStatus); cdecl;
288 IStatement_getFlagsPtr = function(this: IStatement; status: IStatus): Cardinal; cdecl;
289 IRequest_receivePtr = procedure(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); cdecl;
290 IRequest_sendPtr = procedure(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); cdecl;
291 IRequest_getInfoPtr = procedure(this: IRequest; status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
292 IRequest_startPtr = procedure(this: IRequest; status: IStatus; tra: ITransaction; level: Integer); cdecl;
293 IRequest_startAndSendPtr = procedure(this: IRequest; status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); cdecl;
294 IRequest_unwindPtr = procedure(this: IRequest; status: IStatus; level: Integer); cdecl;
295 IRequest_freePtr = procedure(this: IRequest; status: IStatus); cdecl;
296 IEvents_cancelPtr = procedure(this: IEvents; status: IStatus); cdecl;
297 IAttachment_getInfoPtr = procedure(this: IAttachment; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
298 IAttachment_startTransactionPtr = function(this: IAttachment; status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; cdecl;
299 IAttachment_reconnectTransactionPtr = function(this: IAttachment; status: IStatus; length: Cardinal; id: BytePtr): ITransaction; cdecl;
300 IAttachment_compileRequestPtr = function(this: IAttachment; status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; cdecl;
301 IAttachment_transactRequestPtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); cdecl;
302 IAttachment_createBlobPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
303 IAttachment_openBlobPtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
304 IAttachment_getSlicePtr = function(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; cdecl;
305 IAttachment_putSlicePtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr); cdecl;
306 IAttachment_executeDynPtr = procedure(this: IAttachment; status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); cdecl;
307 IAttachment_preparePtr = function(this: IAttachment; status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; cdecl;
308 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;
309 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;
310 IAttachment_queEventsPtr = function(this: IAttachment; status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; cdecl;
311 IAttachment_cancelOperationPtr = procedure(this: IAttachment; status: IStatus; option: Integer); cdecl;
312 IAttachment_pingPtr = procedure(this: IAttachment; status: IStatus); cdecl;
313 IAttachment_detachPtr = procedure(this: IAttachment; status: IStatus); cdecl;
314 IAttachment_dropDatabasePtr = procedure(this: IAttachment; status: IStatus); cdecl;
315 IService_detachPtr = procedure(this: IService; status: IStatus); cdecl;
316 IService_queryPtr = procedure(this: IService; status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
317 IService_startPtr = procedure(this: IService; status: IStatus; spbLength: Cardinal; spb: BytePtr); cdecl;
318 IProvider_attachDatabasePtr = function(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
319 IProvider_createDatabasePtr = function(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
320 IProvider_attachServiceManagerPtr = function(this: IProvider; status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; cdecl;
321 IProvider_shutdownPtr = procedure(this: IProvider; status: IStatus; timeout: Cardinal; reason: Integer); cdecl;
322 IProvider_setDbCryptCallbackPtr = procedure(this: IProvider; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
323 IDtcStart_addAttachmentPtr = procedure(this: IDtcStart; status: IStatus; att: IAttachment); cdecl;
324 IDtcStart_addWithTpbPtr = procedure(this: IDtcStart; status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); cdecl;
325 IDtcStart_startPtr = function(this: IDtcStart; status: IStatus): ITransaction; cdecl;
326 IDtc_joinPtr = function(this: IDtc; status: IStatus; one: ITransaction; two: ITransaction): ITransaction; cdecl;
327 IDtc_startBuilderPtr = function(this: IDtc; status: IStatus): IDtcStart; cdecl;
328 IWriter_resetPtr = procedure(this: IWriter); cdecl;
329 IWriter_addPtr = procedure(this: IWriter; status: IStatus; name: PAnsiChar); cdecl;
330 IWriter_setTypePtr = procedure(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
331 IWriter_setDbPtr = procedure(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
332 IServerBlock_getLoginPtr = function(this: IServerBlock): PAnsiChar; cdecl;
333 IServerBlock_getDataPtr = function(this: IServerBlock; length: CardinalPtr): BytePtr; cdecl;
334 IServerBlock_putDataPtr = procedure(this: IServerBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
335 IServerBlock_newKeyPtr = function(this: IServerBlock; status: IStatus): ICryptKey; cdecl;
336 IClientBlock_getLoginPtr = function(this: IClientBlock): PAnsiChar; cdecl;
337 IClientBlock_getPasswordPtr = function(this: IClientBlock): PAnsiChar; cdecl;
338 IClientBlock_getDataPtr = function(this: IClientBlock; length: CardinalPtr): BytePtr; cdecl;
339 IClientBlock_putDataPtr = procedure(this: IClientBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
340 IClientBlock_newKeyPtr = function(this: IClientBlock; status: IStatus): ICryptKey; cdecl;
341 IServer_authenticatePtr = function(this: IServer; status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; cdecl;
342 IClient_authenticatePtr = function(this: IClient; status: IStatus; cBlock: IClientBlock): Integer; cdecl;
343 IUserField_enteredPtr = function(this: IUserField): Integer; cdecl;
344 IUserField_specifiedPtr = function(this: IUserField): Integer; cdecl;
345 IUserField_setEnteredPtr = procedure(this: IUserField; status: IStatus; newValue: Integer); cdecl;
346 ICharUserField_getPtr = function(this: ICharUserField): PAnsiChar; cdecl;
347 ICharUserField_set_Ptr = procedure(this: ICharUserField; status: IStatus; newValue: PAnsiChar); cdecl;
348 IIntUserField_getPtr = function(this: IIntUserField): Integer; cdecl;
349 IIntUserField_set_Ptr = procedure(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
350 IUser_operationPtr = function(this: IUser): Cardinal; cdecl;
351 IUser_userNamePtr = function(this: IUser): ICharUserField; cdecl;
352 IUser_passwordPtr = function(this: IUser): ICharUserField; cdecl;
353 IUser_firstNamePtr = function(this: IUser): ICharUserField; cdecl;
354 IUser_lastNamePtr = function(this: IUser): ICharUserField; cdecl;
355 IUser_middleNamePtr = function(this: IUser): ICharUserField; cdecl;
356 IUser_commentPtr = function(this: IUser): ICharUserField; cdecl;
357 IUser_attributesPtr = function(this: IUser): ICharUserField; cdecl;
358 IUser_activePtr = function(this: IUser): IIntUserField; cdecl;
359 IUser_adminPtr = function(this: IUser): IIntUserField; cdecl;
360 IUser_clearPtr = procedure(this: IUser; status: IStatus); cdecl;
361 IListUsers_listPtr = procedure(this: IListUsers; status: IStatus; user: IUser); cdecl;
362 ILogonInfo_namePtr = function(this: ILogonInfo): PAnsiChar; cdecl;
363 ILogonInfo_rolePtr = function(this: ILogonInfo): PAnsiChar; cdecl;
364 ILogonInfo_networkProtocolPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
365 ILogonInfo_remoteAddressPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
366 ILogonInfo_authBlockPtr = function(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl;
367 IManagement_startPtr = procedure(this: IManagement; status: IStatus; logonInfo: ILogonInfo); cdecl;
368 IManagement_executePtr = function(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl;
369 IManagement_commitPtr = procedure(this: IManagement; status: IStatus); cdecl;
370 IManagement_rollbackPtr = procedure(this: IManagement; status: IStatus); cdecl;
371 IWireCryptPlugin_getKnownTypesPtr = function(this: IWireCryptPlugin; status: IStatus): PAnsiChar; cdecl;
372 IWireCryptPlugin_setKeyPtr = procedure(this: IWireCryptPlugin; status: IStatus; key: ICryptKey); cdecl;
373 IWireCryptPlugin_encryptPtr = procedure(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
374 IWireCryptPlugin_decryptPtr = procedure(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
375 ICryptKeyCallback_callbackPtr = function(this: ICryptKeyCallback; dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; cdecl;
376 IKeyHolderPlugin_keyCallbackPtr = function(this: IKeyHolderPlugin; status: IStatus; callback: ICryptKeyCallback): Integer; cdecl;
377 IKeyHolderPlugin_keyHandlePtr = function(this: IKeyHolderPlugin; status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; cdecl;
378 IDbCryptPlugin_setKeyPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); cdecl;
379 IDbCryptPlugin_encryptPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
380 IDbCryptPlugin_decryptPtr = procedure(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
381 IExternalContext_getMasterPtr = function(this: IExternalContext): IMaster; cdecl;
382 IExternalContext_getEnginePtr = function(this: IExternalContext; status: IStatus): IExternalEngine; cdecl;
383 IExternalContext_getAttachmentPtr = function(this: IExternalContext; status: IStatus): IAttachment; cdecl;
384 IExternalContext_getTransactionPtr = function(this: IExternalContext; status: IStatus): ITransaction; cdecl;
385 IExternalContext_getUserNamePtr = function(this: IExternalContext): PAnsiChar; cdecl;
386 IExternalContext_getDatabaseNamePtr = function(this: IExternalContext): PAnsiChar; cdecl;
387 IExternalContext_getClientCharSetPtr = function(this: IExternalContext): PAnsiChar; cdecl;
388 IExternalContext_obtainInfoCodePtr = function(this: IExternalContext): Integer; cdecl;
389 IExternalContext_getInfoPtr = function(this: IExternalContext; code: Integer): Pointer; cdecl;
390 IExternalContext_setInfoPtr = function(this: IExternalContext; code: Integer; value: Pointer): Pointer; cdecl;
391 IExternalResultSet_fetchPtr = function(this: IExternalResultSet; status: IStatus): Boolean; cdecl;
392 IExternalFunction_getCharSetPtr = procedure(this: IExternalFunction; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
393 IExternalFunction_executePtr = procedure(this: IExternalFunction; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); cdecl;
394 IExternalProcedure_getCharSetPtr = procedure(this: IExternalProcedure; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
395 IExternalProcedure_openPtr = function(this: IExternalProcedure; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; cdecl;
396 IExternalTrigger_getCharSetPtr = procedure(this: IExternalTrigger; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
397 IExternalTrigger_executePtr = procedure(this: IExternalTrigger; status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); cdecl;
398 IRoutineMetadata_getPackagePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
399 IRoutineMetadata_getNamePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
400 IRoutineMetadata_getEntryPointPtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
401 IRoutineMetadata_getBodyPtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
402 IRoutineMetadata_getInputMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
403 IRoutineMetadata_getOutputMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
404 IRoutineMetadata_getTriggerMetadataPtr = function(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
405 IRoutineMetadata_getTriggerTablePtr = function(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
406 IRoutineMetadata_getTriggerTypePtr = function(this: IRoutineMetadata; status: IStatus): Cardinal; cdecl;
407 IExternalEngine_openPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); cdecl;
408 IExternalEngine_openAttachmentPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
409 IExternalEngine_closeAttachmentPtr = procedure(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
410 IExternalEngine_makeFunctionPtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; cdecl;
411 IExternalEngine_makeProcedurePtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; cdecl;
412 IExternalEngine_makeTriggerPtr = function(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; cdecl;
413 ITimer_handlerPtr = procedure(this: ITimer); cdecl;
414 ITimerControl_startPtr = procedure(this: ITimerControl; status: IStatus; timer: ITimer; microSeconds: QWord); cdecl;
415 ITimerControl_stopPtr = procedure(this: ITimerControl; status: IStatus; timer: ITimer); cdecl;
416 IVersionCallback_callbackPtr = procedure(this: IVersionCallback; status: IStatus; text: PAnsiChar); cdecl;
417 IUtil_getFbVersionPtr = procedure(this: IUtil; status: IStatus; att: IAttachment; callback: IVersionCallback); cdecl;
418 IUtil_loadBlobPtr = procedure(this: IUtil; status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
419 IUtil_dumpBlobPtr = procedure(this: IUtil; status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
420 IUtil_getPerfCountersPtr = procedure(this: IUtil; status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); cdecl;
421 IUtil_executeCreateDatabasePtr = function(this: IUtil; status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; cdecl;
422 IUtil_decodeDatePtr = procedure(this: IUtil; date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); cdecl;
423 IUtil_decodeTimePtr = procedure(this: IUtil; time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); cdecl;
424 IUtil_encodeDatePtr = function(this: IUtil; year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; cdecl;
425 IUtil_encodeTimePtr = function(this: IUtil; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; cdecl;
426 IUtil_formatStatusPtr = function(this: IUtil; buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; cdecl;
427 IUtil_getClientVersionPtr = function(this: IUtil): Cardinal; cdecl;
428 IUtil_getXpbBuilderPtr = function(this: IUtil; status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; cdecl;
429 IUtil_setOffsetsPtr = function(this: IUtil; status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; cdecl;
430 IOffsetsCallback_setOffsetPtr = procedure(this: IOffsetsCallback; status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); cdecl;
431 IXpbBuilder_clearPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
432 IXpbBuilder_removeCurrentPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
433 IXpbBuilder_insertIntPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; value: Integer); cdecl;
434 IXpbBuilder_insertBigIntPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; value: Int64); cdecl;
435 IXpbBuilder_insertBytesPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); cdecl;
436 IXpbBuilder_insertStringPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte; str: PAnsiChar); cdecl;
437 IXpbBuilder_insertTagPtr = procedure(this: IXpbBuilder; status: IStatus; tag: Byte); cdecl;
438 IXpbBuilder_isEofPtr = function(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
439 IXpbBuilder_moveNextPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
440 IXpbBuilder_rewindPtr = procedure(this: IXpbBuilder; status: IStatus); cdecl;
441 IXpbBuilder_findFirstPtr = function(this: IXpbBuilder; status: IStatus; tag: Byte): Boolean; cdecl;
442 IXpbBuilder_findNextPtr = function(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
443 IXpbBuilder_getTagPtr = function(this: IXpbBuilder; status: IStatus): Byte; cdecl;
444 IXpbBuilder_getLengthPtr = function(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
445 IXpbBuilder_getIntPtr = function(this: IXpbBuilder; status: IStatus): Integer; cdecl;
446 IXpbBuilder_getBigIntPtr = function(this: IXpbBuilder; status: IStatus): Int64; cdecl;
447 IXpbBuilder_getStringPtr = function(this: IXpbBuilder; status: IStatus): PAnsiChar; cdecl;
448 IXpbBuilder_getBytesPtr = function(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
449 IXpbBuilder_getBufferLengthPtr = function(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
450 IXpbBuilder_getBufferPtr = function(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
451 ITraceConnection_getKindPtr = function(this: ITraceConnection): Cardinal; cdecl;
452 ITraceConnection_getProcessIDPtr = function(this: ITraceConnection): Integer; cdecl;
453 ITraceConnection_getUserNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
454 ITraceConnection_getRoleNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
455 ITraceConnection_getCharSetPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
456 ITraceConnection_getRemoteProtocolPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
457 ITraceConnection_getRemoteAddressPtr = function(this: ITraceConnection): PAnsiChar; cdecl;
458 ITraceConnection_getRemoteProcessIDPtr = function(this: ITraceConnection): Integer; cdecl;
459 ITraceConnection_getRemoteProcessNamePtr = function(this: ITraceConnection): PAnsiChar; cdecl;
460 ITraceDatabaseConnection_getConnectionIDPtr = function(this: ITraceDatabaseConnection): Int64; cdecl;
461 ITraceDatabaseConnection_getDatabaseNamePtr = function(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
462 ITraceTransaction_getTransactionIDPtr = function(this: ITraceTransaction): Int64; cdecl;
463 ITraceTransaction_getReadOnlyPtr = function(this: ITraceTransaction): Boolean; cdecl;
464 ITraceTransaction_getWaitPtr = function(this: ITraceTransaction): Integer; cdecl;
465 ITraceTransaction_getIsolationPtr = function(this: ITraceTransaction): Cardinal; cdecl;
466 ITraceTransaction_getPerfPtr = function(this: ITraceTransaction): PerformanceInfoPtr; cdecl;
467 ITraceParams_getCountPtr = function(this: ITraceParams): Cardinal; cdecl;
468 ITraceParams_getParamPtr = function(this: ITraceParams; idx: Cardinal): dscPtr; cdecl;
469 ITraceStatement_getStmtIDPtr = function(this: ITraceStatement): Int64; cdecl;
470 ITraceStatement_getPerfPtr = function(this: ITraceStatement): PerformanceInfoPtr; cdecl;
471 ITraceSQLStatement_getTextPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
472 ITraceSQLStatement_getPlanPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
473 ITraceSQLStatement_getInputsPtr = function(this: ITraceSQLStatement): ITraceParams; cdecl;
474 ITraceSQLStatement_getTextUTF8Ptr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
475 ITraceSQLStatement_getExplainedPlanPtr = function(this: ITraceSQLStatement): PAnsiChar; cdecl;
476 ITraceBLRStatement_getDataPtr = function(this: ITraceBLRStatement): BytePtr; cdecl;
477 ITraceBLRStatement_getDataLengthPtr = function(this: ITraceBLRStatement): Cardinal; cdecl;
478 ITraceBLRStatement_getTextPtr = function(this: ITraceBLRStatement): PAnsiChar; cdecl;
479 ITraceDYNRequest_getDataPtr = function(this: ITraceDYNRequest): BytePtr; cdecl;
480 ITraceDYNRequest_getDataLengthPtr = function(this: ITraceDYNRequest): Cardinal; cdecl;
481 ITraceDYNRequest_getTextPtr = function(this: ITraceDYNRequest): PAnsiChar; cdecl;
482 ITraceContextVariable_getNameSpacePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
483 ITraceContextVariable_getVarNamePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
484 ITraceContextVariable_getVarValuePtr = function(this: ITraceContextVariable): PAnsiChar; cdecl;
485 ITraceProcedure_getProcNamePtr = function(this: ITraceProcedure): PAnsiChar; cdecl;
486 ITraceProcedure_getInputsPtr = function(this: ITraceProcedure): ITraceParams; cdecl;
487 ITraceProcedure_getPerfPtr = function(this: ITraceProcedure): PerformanceInfoPtr; cdecl;
488 ITraceFunction_getFuncNamePtr = function(this: ITraceFunction): PAnsiChar; cdecl;
489 ITraceFunction_getInputsPtr = function(this: ITraceFunction): ITraceParams; cdecl;
490 ITraceFunction_getResultPtr = function(this: ITraceFunction): ITraceParams; cdecl;
491 ITraceFunction_getPerfPtr = function(this: ITraceFunction): PerformanceInfoPtr; cdecl;
492 ITraceTrigger_getTriggerNamePtr = function(this: ITraceTrigger): PAnsiChar; cdecl;
493 ITraceTrigger_getRelationNamePtr = function(this: ITraceTrigger): PAnsiChar; cdecl;
494 ITraceTrigger_getActionPtr = function(this: ITraceTrigger): Integer; cdecl;
495 ITraceTrigger_getWhichPtr = function(this: ITraceTrigger): Integer; cdecl;
496 ITraceTrigger_getPerfPtr = function(this: ITraceTrigger): PerformanceInfoPtr; cdecl;
497 ITraceServiceConnection_getServiceIDPtr = function(this: ITraceServiceConnection): Pointer; cdecl;
498 ITraceServiceConnection_getServiceMgrPtr = function(this: ITraceServiceConnection): PAnsiChar; cdecl;
499 ITraceServiceConnection_getServiceNamePtr = function(this: ITraceServiceConnection): PAnsiChar; cdecl;
500 ITraceStatusVector_hasErrorPtr = function(this: ITraceStatusVector): Boolean; cdecl;
501 ITraceStatusVector_hasWarningPtr = function(this: ITraceStatusVector): Boolean; cdecl;
502 ITraceStatusVector_getStatusPtr = function(this: ITraceStatusVector): IStatus; cdecl;
503 ITraceStatusVector_getTextPtr = function(this: ITraceStatusVector): PAnsiChar; cdecl;
504 ITraceSweepInfo_getOITPtr = function(this: ITraceSweepInfo): Int64; cdecl;
505 ITraceSweepInfo_getOSTPtr = function(this: ITraceSweepInfo): Int64; cdecl;
506 ITraceSweepInfo_getOATPtr = function(this: ITraceSweepInfo): Int64; cdecl;
507 ITraceSweepInfo_getNextPtr = function(this: ITraceSweepInfo): Int64; cdecl;
508 ITraceSweepInfo_getPerfPtr = function(this: ITraceSweepInfo): PerformanceInfoPtr; cdecl;
509 ITraceLogWriter_writePtr = function(this: ITraceLogWriter; buf: Pointer; size: Cardinal): Cardinal; cdecl;
510 ITraceInitInfo_getConfigTextPtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
511 ITraceInitInfo_getTraceSessionIDPtr = function(this: ITraceInitInfo): Integer; cdecl;
512 ITraceInitInfo_getTraceSessionNamePtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
513 ITraceInitInfo_getFirebirdRootDirectoryPtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
514 ITraceInitInfo_getDatabaseNamePtr = function(this: ITraceInitInfo): PAnsiChar; cdecl;
515 ITraceInitInfo_getConnectionPtr = function(this: ITraceInitInfo): ITraceDatabaseConnection; cdecl;
516 ITraceInitInfo_getLogWriterPtr = function(this: ITraceInitInfo): ITraceLogWriter; cdecl;
517 ITracePlugin_trace_get_errorPtr = function(this: ITracePlugin): PAnsiChar; cdecl;
518 ITracePlugin_trace_attachPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; cdecl;
519 ITracePlugin_trace_detachPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; cdecl;
520 ITracePlugin_trace_transaction_startPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; cdecl;
521 ITracePlugin_trace_transaction_endPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; cdecl;
522 ITracePlugin_trace_proc_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; cdecl;
523 ITracePlugin_trace_trigger_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; cdecl;
524 ITracePlugin_trace_set_contextPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; cdecl;
525 ITracePlugin_trace_dsql_preparePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
526 ITracePlugin_trace_dsql_freePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; cdecl;
527 ITracePlugin_trace_dsql_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; cdecl;
528 ITracePlugin_trace_blr_compilePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
529 ITracePlugin_trace_blr_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; cdecl;
530 ITracePlugin_trace_dyn_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
531 ITracePlugin_trace_service_attachPtr = function(this: ITracePlugin; service: ITraceServiceConnection; att_result: Cardinal): Boolean; cdecl;
532 ITracePlugin_trace_service_startPtr = function(this: ITracePlugin; service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; cdecl;
533 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;
534 ITracePlugin_trace_service_detachPtr = function(this: ITracePlugin; service: ITraceServiceConnection; detach_result: Cardinal): Boolean; cdecl;
535 ITracePlugin_trace_event_errorPtr = function(this: ITracePlugin; connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; cdecl;
536 ITracePlugin_trace_event_sweepPtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; cdecl;
537 ITracePlugin_trace_func_executePtr = function(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; cdecl;
538 ITraceFactory_trace_needsPtr = function(this: ITraceFactory): QWord; cdecl;
539 ITraceFactory_trace_createPtr = function(this: ITraceFactory; status: IStatus; init_info: ITraceInitInfo): ITracePlugin; cdecl;
540 IUdrFunctionFactory_setupPtr = procedure(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
541 IUdrFunctionFactory_newItemPtr = function(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; cdecl;
542 IUdrProcedureFactory_setupPtr = procedure(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
543 IUdrProcedureFactory_newItemPtr = function(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; cdecl;
544 IUdrTriggerFactory_setupPtr = procedure(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); cdecl;
545 IUdrTriggerFactory_newItemPtr = function(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; cdecl;
546 IUdrPlugin_getMasterPtr = function(this: IUdrPlugin): IMaster; cdecl;
547 IUdrPlugin_registerFunctionPtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); cdecl;
548 IUdrPlugin_registerProcedurePtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); cdecl;
549 IUdrPlugin_registerTriggerPtr = procedure(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); cdecl;
550
551 VersionedVTable = class
552 version: NativeInt;
553 end;
554
555 IVersioned = class
556 vTable: VersionedVTable;
557
558 const VERSION = 0;
559
560 end;
561
562 IVersionedImpl = class(IVersioned)
563 constructor create;
564
565 end;
566
567 ReferenceCountedVTable = class(VersionedVTable)
568 addRef: IReferenceCounted_addRefPtr;
569 release: IReferenceCounted_releasePtr;
570 end;
571
572 IReferenceCounted = class(IVersioned)
573 const VERSION = 2;
574
575 procedure addRef();
576 function release(): Integer;
577 end;
578
579 IReferenceCountedImpl = class(IReferenceCounted)
580 constructor create;
581
582 procedure addRef(); virtual; abstract;
583 function release(): Integer; virtual; abstract;
584 end;
585
586 DisposableVTable = class(VersionedVTable)
587 dispose: IDisposable_disposePtr;
588 end;
589
590 IDisposable = class(IVersioned)
591 const VERSION = 1;
592
593 procedure dispose();
594 end;
595
596 IDisposableImpl = class(IDisposable)
597 constructor create;
598
599 procedure dispose(); virtual; abstract;
600 end;
601
602 StatusVTable = class(DisposableVTable)
603 init: IStatus_initPtr;
604 getState: IStatus_getStatePtr;
605 setErrors2: IStatus_setErrors2Ptr;
606 setWarnings2: IStatus_setWarnings2Ptr;
607 setErrors: IStatus_setErrorsPtr;
608 setWarnings: IStatus_setWarningsPtr;
609 getErrors: IStatus_getErrorsPtr;
610 getWarnings: IStatus_getWarningsPtr;
611 clone: IStatus_clonePtr;
612 end;
613
614 IStatus = class(IDisposable)
615 const VERSION = 10;
616 const STATE_WARNINGS = Cardinal(1);
617 const STATE_ERRORS = Cardinal(2);
618 const RESULT_ERROR = Integer(-1);
619 const RESULT_OK = Integer(0);
620 const RESULT_NO_DATA = Integer(1);
621 const RESULT_SEGMENT = Integer(2);
622
623 procedure init();
624 function getState(): Cardinal;
625 procedure setErrors2(length: Cardinal; value: NativeIntPtr);
626 procedure setWarnings2(length: Cardinal; value: NativeIntPtr);
627 procedure setErrors(value: NativeIntPtr);
628 procedure setWarnings(value: NativeIntPtr);
629 function getErrors(): NativeIntPtr;
630 function getWarnings(): NativeIntPtr;
631 function clone(): IStatus;
632 end;
633
634 IStatusImpl = class(IStatus)
635 constructor create;
636
637 procedure dispose(); virtual; abstract;
638 procedure init(); virtual; abstract;
639 function getState(): Cardinal; virtual; abstract;
640 procedure setErrors2(length: Cardinal; value: NativeIntPtr); virtual; abstract;
641 procedure setWarnings2(length: Cardinal; value: NativeIntPtr); virtual; abstract;
642 procedure setErrors(value: NativeIntPtr); virtual; abstract;
643 procedure setWarnings(value: NativeIntPtr); virtual; abstract;
644 function getErrors(): NativeIntPtr; virtual; abstract;
645 function getWarnings(): NativeIntPtr; virtual; abstract;
646 function clone(): IStatus; virtual; abstract;
647 end;
648
649 MasterVTable = class(VersionedVTable)
650 getStatus: IMaster_getStatusPtr;
651 getDispatcher: IMaster_getDispatcherPtr;
652 getPluginManager: IMaster_getPluginManagerPtr;
653 getTimerControl: IMaster_getTimerControlPtr;
654 getDtc: IMaster_getDtcPtr;
655 registerAttachment: IMaster_registerAttachmentPtr;
656 registerTransaction: IMaster_registerTransactionPtr;
657 getMetadataBuilder: IMaster_getMetadataBuilderPtr;
658 serverMode: IMaster_serverModePtr;
659 getUtilInterface: IMaster_getUtilInterfacePtr;
660 getConfigManager: IMaster_getConfigManagerPtr;
661 getProcessExiting: IMaster_getProcessExitingPtr;
662 end;
663
664 IMaster = class(IVersioned)
665 const VERSION = 12;
666
667 function getStatus(): IStatus;
668 function getDispatcher(): IProvider;
669 function getPluginManager(): IPluginManager;
670 function getTimerControl(): ITimerControl;
671 function getDtc(): IDtc;
672 function registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment;
673 function registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction;
674 function getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder;
675 function serverMode(mode: Integer): Integer;
676 function getUtilInterface(): IUtil;
677 function getConfigManager(): IConfigManager;
678 function getProcessExiting(): Boolean;
679 end;
680
681 IMasterImpl = class(IMaster)
682 constructor create;
683
684 function getStatus(): IStatus; virtual; abstract;
685 function getDispatcher(): IProvider; virtual; abstract;
686 function getPluginManager(): IPluginManager; virtual; abstract;
687 function getTimerControl(): ITimerControl; virtual; abstract;
688 function getDtc(): IDtc; virtual; abstract;
689 function registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment; virtual; abstract;
690 function registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction; virtual; abstract;
691 function getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder; virtual; abstract;
692 function serverMode(mode: Integer): Integer; virtual; abstract;
693 function getUtilInterface(): IUtil; virtual; abstract;
694 function getConfigManager(): IConfigManager; virtual; abstract;
695 function getProcessExiting(): Boolean; virtual; abstract;
696 end;
697
698 PluginBaseVTable = class(ReferenceCountedVTable)
699 setOwner: IPluginBase_setOwnerPtr;
700 getOwner: IPluginBase_getOwnerPtr;
701 end;
702
703 IPluginBase = class(IReferenceCounted)
704 const VERSION = 4;
705
706 procedure setOwner(r: IReferenceCounted);
707 function getOwner(): IReferenceCounted;
708 end;
709
710 IPluginBaseImpl = class(IPluginBase)
711 constructor create;
712
713 procedure addRef(); virtual; abstract;
714 function release(): Integer; virtual; abstract;
715 procedure setOwner(r: IReferenceCounted); virtual; abstract;
716 function getOwner(): IReferenceCounted; virtual; abstract;
717 end;
718
719 PluginSetVTable = class(ReferenceCountedVTable)
720 getName: IPluginSet_getNamePtr;
721 getModuleName: IPluginSet_getModuleNamePtr;
722 getPlugin: IPluginSet_getPluginPtr;
723 next: IPluginSet_nextPtr;
724 set_: IPluginSet_set_Ptr;
725 end;
726
727 IPluginSet = class(IReferenceCounted)
728 const VERSION = 7;
729
730 function getName(): PAnsiChar;
731 function getModuleName(): PAnsiChar;
732 function getPlugin(status: IStatus): IPluginBase;
733 procedure next(status: IStatus);
734 procedure set_(status: IStatus; s: PAnsiChar);
735 end;
736
737 IPluginSetImpl = class(IPluginSet)
738 constructor create;
739
740 procedure addRef(); virtual; abstract;
741 function release(): Integer; virtual; abstract;
742 function getName(): PAnsiChar; virtual; abstract;
743 function getModuleName(): PAnsiChar; virtual; abstract;
744 function getPlugin(status: IStatus): IPluginBase; virtual; abstract;
745 procedure next(status: IStatus); virtual; abstract;
746 procedure set_(status: IStatus; s: PAnsiChar); virtual; abstract;
747 end;
748
749 ConfigEntryVTable = class(ReferenceCountedVTable)
750 getName: IConfigEntry_getNamePtr;
751 getValue: IConfigEntry_getValuePtr;
752 getIntValue: IConfigEntry_getIntValuePtr;
753 getBoolValue: IConfigEntry_getBoolValuePtr;
754 getSubConfig: IConfigEntry_getSubConfigPtr;
755 end;
756
757 IConfigEntry = class(IReferenceCounted)
758 const VERSION = 7;
759
760 function getName(): PAnsiChar;
761 function getValue(): PAnsiChar;
762 function getIntValue(): Int64;
763 function getBoolValue(): Boolean;
764 function getSubConfig(status: IStatus): IConfig;
765 end;
766
767 IConfigEntryImpl = class(IConfigEntry)
768 constructor create;
769
770 procedure addRef(); virtual; abstract;
771 function release(): Integer; virtual; abstract;
772 function getName(): PAnsiChar; virtual; abstract;
773 function getValue(): PAnsiChar; virtual; abstract;
774 function getIntValue(): Int64; virtual; abstract;
775 function getBoolValue(): Boolean; virtual; abstract;
776 function getSubConfig(status: IStatus): IConfig; virtual; abstract;
777 end;
778
779 ConfigVTable = class(ReferenceCountedVTable)
780 find: IConfig_findPtr;
781 findValue: IConfig_findValuePtr;
782 findPos: IConfig_findPosPtr;
783 end;
784
785 IConfig = class(IReferenceCounted)
786 const VERSION = 5;
787
788 function find(status: IStatus; name: PAnsiChar): IConfigEntry;
789 function findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry;
790 function findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry;
791 end;
792
793 IConfigImpl = class(IConfig)
794 constructor create;
795
796 procedure addRef(); virtual; abstract;
797 function release(): Integer; virtual; abstract;
798 function find(status: IStatus; name: PAnsiChar): IConfigEntry; virtual; abstract;
799 function findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; virtual; abstract;
800 function findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; virtual; abstract;
801 end;
802
803 FirebirdConfVTable = class(ReferenceCountedVTable)
804 getKey: IFirebirdConf_getKeyPtr;
805 asInteger: IFirebirdConf_asIntegerPtr;
806 asString: IFirebirdConf_asStringPtr;
807 asBoolean: IFirebirdConf_asBooleanPtr;
808 end;
809
810 IFirebirdConf = class(IReferenceCounted)
811 const VERSION = 6;
812
813 function getKey(name: PAnsiChar): Cardinal;
814 function asInteger(key: Cardinal): Int64;
815 function asString(key: Cardinal): PAnsiChar;
816 function asBoolean(key: Cardinal): Boolean;
817 end;
818
819 IFirebirdConfImpl = class(IFirebirdConf)
820 constructor create;
821
822 procedure addRef(); virtual; abstract;
823 function release(): Integer; virtual; abstract;
824 function getKey(name: PAnsiChar): Cardinal; virtual; abstract;
825 function asInteger(key: Cardinal): Int64; virtual; abstract;
826 function asString(key: Cardinal): PAnsiChar; virtual; abstract;
827 function asBoolean(key: Cardinal): Boolean; virtual; abstract;
828 end;
829
830 PluginConfigVTable = class(ReferenceCountedVTable)
831 getConfigFileName: IPluginConfig_getConfigFileNamePtr;
832 getDefaultConfig: IPluginConfig_getDefaultConfigPtr;
833 getFirebirdConf: IPluginConfig_getFirebirdConfPtr;
834 setReleaseDelay: IPluginConfig_setReleaseDelayPtr;
835 end;
836
837 IPluginConfig = class(IReferenceCounted)
838 const VERSION = 6;
839
840 function getConfigFileName(): PAnsiChar;
841 function getDefaultConfig(status: IStatus): IConfig;
842 function getFirebirdConf(status: IStatus): IFirebirdConf;
843 procedure setReleaseDelay(status: IStatus; microSeconds: QWord);
844 end;
845
846 IPluginConfigImpl = class(IPluginConfig)
847 constructor create;
848
849 procedure addRef(); virtual; abstract;
850 function release(): Integer; virtual; abstract;
851 function getConfigFileName(): PAnsiChar; virtual; abstract;
852 function getDefaultConfig(status: IStatus): IConfig; virtual; abstract;
853 function getFirebirdConf(status: IStatus): IFirebirdConf; virtual; abstract;
854 procedure setReleaseDelay(status: IStatus; microSeconds: QWord); virtual; abstract;
855 end;
856
857 PluginFactoryVTable = class(VersionedVTable)
858 createPlugin: IPluginFactory_createPluginPtr;
859 end;
860
861 IPluginFactory = class(IVersioned)
862 const VERSION = 1;
863
864 function createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase;
865 end;
866
867 IPluginFactoryImpl = class(IPluginFactory)
868 constructor create;
869
870 function createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase; virtual; abstract;
871 end;
872
873 PluginModuleVTable = class(VersionedVTable)
874 doClean: IPluginModule_doCleanPtr;
875 end;
876
877 IPluginModule = class(IVersioned)
878 const VERSION = 1;
879
880 procedure doClean();
881 end;
882
883 IPluginModuleImpl = class(IPluginModule)
884 constructor create;
885
886 procedure doClean(); virtual; abstract;
887 end;
888
889 PluginManagerVTable = class(VersionedVTable)
890 registerPluginFactory: IPluginManager_registerPluginFactoryPtr;
891 registerModule: IPluginManager_registerModulePtr;
892 unregisterModule: IPluginManager_unregisterModulePtr;
893 getPlugins: IPluginManager_getPluginsPtr;
894 getConfig: IPluginManager_getConfigPtr;
895 releasePlugin: IPluginManager_releasePluginPtr;
896 end;
897
898 IPluginManager = class(IVersioned)
899 const VERSION = 6;
900 const TYPE_PROVIDER = Cardinal(1);
901 const TYPE_FIRST_NON_LIB = Cardinal(2);
902 const TYPE_AUTH_SERVER = Cardinal(3);
903 const TYPE_AUTH_CLIENT = Cardinal(4);
904 const TYPE_AUTH_USER_MANAGEMENT = Cardinal(5);
905 const TYPE_EXTERNAL_ENGINE = Cardinal(6);
906 const TYPE_TRACE = Cardinal(7);
907 const TYPE_WIRE_CRYPT = Cardinal(8);
908 const TYPE_DB_CRYPT = Cardinal(9);
909 const TYPE_KEY_HOLDER = Cardinal(10);
910 const TYPE_COUNT = Cardinal(11);
911
912 procedure registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory);
913 procedure registerModule(cleanup: IPluginModule);
914 procedure unregisterModule(cleanup: IPluginModule);
915 function getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet;
916 function getConfig(status: IStatus; filename: PAnsiChar): IConfig;
917 procedure releasePlugin(plugin: IPluginBase);
918 end;
919
920 IPluginManagerImpl = class(IPluginManager)
921 constructor create;
922
923 procedure registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); virtual; abstract;
924 procedure registerModule(cleanup: IPluginModule); virtual; abstract;
925 procedure unregisterModule(cleanup: IPluginModule); virtual; abstract;
926 function getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; virtual; abstract;
927 function getConfig(status: IStatus; filename: PAnsiChar): IConfig; virtual; abstract;
928 procedure releasePlugin(plugin: IPluginBase); virtual; abstract;
929 end;
930
931 CryptKeyVTable = class(VersionedVTable)
932 setSymmetric: ICryptKey_setSymmetricPtr;
933 setAsymmetric: ICryptKey_setAsymmetricPtr;
934 getEncryptKey: ICryptKey_getEncryptKeyPtr;
935 getDecryptKey: ICryptKey_getDecryptKeyPtr;
936 end;
937
938 ICryptKey = class(IVersioned)
939 const VERSION = 4;
940
941 procedure setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer);
942 procedure setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer);
943 function getEncryptKey(length: CardinalPtr): Pointer;
944 function getDecryptKey(length: CardinalPtr): Pointer;
945 end;
946
947 ICryptKeyImpl = class(ICryptKey)
948 constructor create;
949
950 procedure setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); virtual; abstract;
951 procedure setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); virtual; abstract;
952 function getEncryptKey(length: CardinalPtr): Pointer; virtual; abstract;
953 function getDecryptKey(length: CardinalPtr): Pointer; virtual; abstract;
954 end;
955
956 ConfigManagerVTable = class(VersionedVTable)
957 getDirectory: IConfigManager_getDirectoryPtr;
958 getFirebirdConf: IConfigManager_getFirebirdConfPtr;
959 getDatabaseConf: IConfigManager_getDatabaseConfPtr;
960 getPluginConfig: IConfigManager_getPluginConfigPtr;
961 getInstallDirectory: IConfigManager_getInstallDirectoryPtr;
962 getRootDirectory: IConfigManager_getRootDirectoryPtr;
963 end;
964
965 IConfigManager = class(IVersioned)
966 const VERSION = 6;
967 const DIR_BIN = Cardinal(0);
968 const DIR_SBIN = Cardinal(1);
969 const DIR_CONF = Cardinal(2);
970 const DIR_LIB = Cardinal(3);
971 const DIR_INC = Cardinal(4);
972 const DIR_DOC = Cardinal(5);
973 const DIR_UDF = Cardinal(6);
974 const DIR_SAMPLE = Cardinal(7);
975 const DIR_SAMPLEDB = Cardinal(8);
976 const DIR_HELP = Cardinal(9);
977 const DIR_INTL = Cardinal(10);
978 const DIR_MISC = Cardinal(11);
979 const DIR_SECDB = Cardinal(12);
980 const DIR_MSG = Cardinal(13);
981 const DIR_LOG = Cardinal(14);
982 const DIR_GUARD = Cardinal(15);
983 const DIR_PLUGINS = Cardinal(16);
984 const DIR_COUNT = Cardinal(17);
985
986 function getDirectory(code: Cardinal): PAnsiChar;
987 function getFirebirdConf(): IFirebirdConf;
988 function getDatabaseConf(dbName: PAnsiChar): IFirebirdConf;
989 function getPluginConfig(configuredPlugin: PAnsiChar): IConfig;
990 function getInstallDirectory(): PAnsiChar;
991 function getRootDirectory(): PAnsiChar;
992 end;
993
994 IConfigManagerImpl = class(IConfigManager)
995 constructor create;
996
997 function getDirectory(code: Cardinal): PAnsiChar; virtual; abstract;
998 function getFirebirdConf(): IFirebirdConf; virtual; abstract;
999 function getDatabaseConf(dbName: PAnsiChar): IFirebirdConf; virtual; abstract;
1000 function getPluginConfig(configuredPlugin: PAnsiChar): IConfig; virtual; abstract;
1001 function getInstallDirectory(): PAnsiChar; virtual; abstract;
1002 function getRootDirectory(): PAnsiChar; virtual; abstract;
1003 end;
1004
1005 EventCallbackVTable = class(ReferenceCountedVTable)
1006 eventCallbackFunction: IEventCallback_eventCallbackFunctionPtr;
1007 end;
1008
1009 IEventCallback = class(IReferenceCounted)
1010 const VERSION = 3;
1011
1012 procedure eventCallbackFunction(length: Cardinal; events: BytePtr);
1013 end;
1014
1015 IEventCallbackImpl = class(IEventCallback)
1016 constructor create;
1017
1018 procedure addRef(); virtual; abstract;
1019 function release(): Integer; virtual; abstract;
1020 procedure eventCallbackFunction(length: Cardinal; events: BytePtr); virtual; abstract;
1021 end;
1022
1023 BlobVTable = class(ReferenceCountedVTable)
1024 getInfo: IBlob_getInfoPtr;
1025 getSegment: IBlob_getSegmentPtr;
1026 putSegment: IBlob_putSegmentPtr;
1027 cancel: IBlob_cancelPtr;
1028 close: IBlob_closePtr;
1029 seek: IBlob_seekPtr;
1030 end;
1031
1032 IBlob = class(IReferenceCounted)
1033 const VERSION = 8;
1034
1035 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1036 function getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer;
1037 procedure putSegment(status: IStatus; length: Cardinal; buffer: Pointer);
1038 procedure cancel(status: IStatus);
1039 procedure close(status: IStatus);
1040 function seek(status: IStatus; mode: Integer; offset: Integer): Integer;
1041 end;
1042
1043 IBlobImpl = class(IBlob)
1044 constructor create;
1045
1046 procedure addRef(); virtual; abstract;
1047 function release(): Integer; virtual; abstract;
1048 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1049 function getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; virtual; abstract;
1050 procedure putSegment(status: IStatus; length: Cardinal; buffer: Pointer); virtual; abstract;
1051 procedure cancel(status: IStatus); virtual; abstract;
1052 procedure close(status: IStatus); virtual; abstract;
1053 function seek(status: IStatus; mode: Integer; offset: Integer): Integer; virtual; abstract;
1054 end;
1055
1056 TransactionVTable = class(ReferenceCountedVTable)
1057 getInfo: ITransaction_getInfoPtr;
1058 prepare: ITransaction_preparePtr;
1059 commit: ITransaction_commitPtr;
1060 commitRetaining: ITransaction_commitRetainingPtr;
1061 rollback: ITransaction_rollbackPtr;
1062 rollbackRetaining: ITransaction_rollbackRetainingPtr;
1063 disconnect: ITransaction_disconnectPtr;
1064 join: ITransaction_joinPtr;
1065 validate: ITransaction_validatePtr;
1066 enterDtc: ITransaction_enterDtcPtr;
1067 end;
1068
1069 ITransaction = class(IReferenceCounted)
1070 const VERSION = 12;
1071
1072 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1073 procedure prepare(status: IStatus; msgLength: Cardinal; message: BytePtr);
1074 procedure commit(status: IStatus);
1075 procedure commitRetaining(status: IStatus);
1076 procedure rollback(status: IStatus);
1077 procedure rollbackRetaining(status: IStatus);
1078 procedure disconnect(status: IStatus);
1079 function join(status: IStatus; transaction: ITransaction): ITransaction;
1080 function validate(status: IStatus; attachment: IAttachment): ITransaction;
1081 function enterDtc(status: IStatus): ITransaction;
1082 end;
1083
1084 ITransactionImpl = class(ITransaction)
1085 constructor create;
1086
1087 procedure addRef(); virtual; abstract;
1088 function release(): Integer; virtual; abstract;
1089 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1090 procedure prepare(status: IStatus; msgLength: Cardinal; message: BytePtr); virtual; abstract;
1091 procedure commit(status: IStatus); virtual; abstract;
1092 procedure commitRetaining(status: IStatus); virtual; abstract;
1093 procedure rollback(status: IStatus); virtual; abstract;
1094 procedure rollbackRetaining(status: IStatus); virtual; abstract;
1095 procedure disconnect(status: IStatus); virtual; abstract;
1096 function join(status: IStatus; transaction: ITransaction): ITransaction; virtual; abstract;
1097 function validate(status: IStatus; attachment: IAttachment): ITransaction; virtual; abstract;
1098 function enterDtc(status: IStatus): ITransaction; virtual; abstract;
1099 end;
1100
1101 MessageMetadataVTable = class(ReferenceCountedVTable)
1102 getCount: IMessageMetadata_getCountPtr;
1103 getField: IMessageMetadata_getFieldPtr;
1104 getRelation: IMessageMetadata_getRelationPtr;
1105 getOwner: IMessageMetadata_getOwnerPtr;
1106 getAlias: IMessageMetadata_getAliasPtr;
1107 getType: IMessageMetadata_getTypePtr;
1108 isNullable: IMessageMetadata_isNullablePtr;
1109 getSubType: IMessageMetadata_getSubTypePtr;
1110 getLength: IMessageMetadata_getLengthPtr;
1111 getScale: IMessageMetadata_getScalePtr;
1112 getCharSet: IMessageMetadata_getCharSetPtr;
1113 getOffset: IMessageMetadata_getOffsetPtr;
1114 getNullOffset: IMessageMetadata_getNullOffsetPtr;
1115 getBuilder: IMessageMetadata_getBuilderPtr;
1116 getMessageLength: IMessageMetadata_getMessageLengthPtr;
1117 end;
1118
1119 IMessageMetadata = class(IReferenceCounted)
1120 const VERSION = 17;
1121
1122 function getCount(status: IStatus): Cardinal;
1123 function getField(status: IStatus; index: Cardinal): PAnsiChar;
1124 function getRelation(status: IStatus; index: Cardinal): PAnsiChar;
1125 function getOwner(status: IStatus; index: Cardinal): PAnsiChar;
1126 function getAlias(status: IStatus; index: Cardinal): PAnsiChar;
1127 function getType(status: IStatus; index: Cardinal): Cardinal;
1128 function isNullable(status: IStatus; index: Cardinal): Boolean;
1129 function getSubType(status: IStatus; index: Cardinal): Integer;
1130 function getLength(status: IStatus; index: Cardinal): Cardinal;
1131 function getScale(status: IStatus; index: Cardinal): Integer;
1132 function getCharSet(status: IStatus; index: Cardinal): Cardinal;
1133 function getOffset(status: IStatus; index: Cardinal): Cardinal;
1134 function getNullOffset(status: IStatus; index: Cardinal): Cardinal;
1135 function getBuilder(status: IStatus): IMetadataBuilder;
1136 function getMessageLength(status: IStatus): Cardinal;
1137 end;
1138
1139 IMessageMetadataImpl = class(IMessageMetadata)
1140 constructor create;
1141
1142 procedure addRef(); virtual; abstract;
1143 function release(): Integer; virtual; abstract;
1144 function getCount(status: IStatus): Cardinal; virtual; abstract;
1145 function getField(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1146 function getRelation(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1147 function getOwner(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1148 function getAlias(status: IStatus; index: Cardinal): PAnsiChar; virtual; abstract;
1149 function getType(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1150 function isNullable(status: IStatus; index: Cardinal): Boolean; virtual; abstract;
1151 function getSubType(status: IStatus; index: Cardinal): Integer; virtual; abstract;
1152 function getLength(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1153 function getScale(status: IStatus; index: Cardinal): Integer; virtual; abstract;
1154 function getCharSet(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1155 function getOffset(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1156 function getNullOffset(status: IStatus; index: Cardinal): Cardinal; virtual; abstract;
1157 function getBuilder(status: IStatus): IMetadataBuilder; virtual; abstract;
1158 function getMessageLength(status: IStatus): Cardinal; virtual; abstract;
1159 end;
1160
1161 MetadataBuilderVTable = class(ReferenceCountedVTable)
1162 setType: IMetadataBuilder_setTypePtr;
1163 setSubType: IMetadataBuilder_setSubTypePtr;
1164 setLength: IMetadataBuilder_setLengthPtr;
1165 setCharSet: IMetadataBuilder_setCharSetPtr;
1166 setScale: IMetadataBuilder_setScalePtr;
1167 truncate: IMetadataBuilder_truncatePtr;
1168 moveNameToIndex: IMetadataBuilder_moveNameToIndexPtr;
1169 remove: IMetadataBuilder_removePtr;
1170 addField: IMetadataBuilder_addFieldPtr;
1171 getMetadata: IMetadataBuilder_getMetadataPtr;
1172 end;
1173
1174 IMetadataBuilder = class(IReferenceCounted)
1175 const VERSION = 12;
1176
1177 procedure setType(status: IStatus; index: Cardinal; type_: Cardinal);
1178 procedure setSubType(status: IStatus; index: Cardinal; subType: Integer);
1179 procedure setLength(status: IStatus; index: Cardinal; length: Cardinal);
1180 procedure setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal);
1181 procedure setScale(status: IStatus; index: Cardinal; scale: integer);
1182 procedure truncate(status: IStatus; count: Cardinal);
1183 procedure moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal);
1184 procedure remove(status: IStatus; index: Cardinal);
1185 function addField(status: IStatus): Cardinal;
1186 function getMetadata(status: IStatus): IMessageMetadata;
1187 end;
1188
1189 IMetadataBuilderImpl = class(IMetadataBuilder)
1190 constructor create;
1191
1192 procedure addRef(); virtual; abstract;
1193 function release(): Integer; virtual; abstract;
1194 procedure setType(status: IStatus; index: Cardinal; type_: Cardinal); virtual; abstract;
1195 procedure setSubType(status: IStatus; index: Cardinal; subType: Integer); virtual; abstract;
1196 procedure setLength(status: IStatus; index: Cardinal; length: Cardinal); virtual; abstract;
1197 procedure setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal); virtual; abstract;
1198 procedure setScale(status: IStatus; index: Cardinal; scale: integer); virtual; abstract;
1199 procedure truncate(status: IStatus; count: Cardinal); virtual; abstract;
1200 procedure moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal); virtual; abstract;
1201 procedure remove(status: IStatus; index: Cardinal); virtual; abstract;
1202 function addField(status: IStatus): Cardinal; virtual; abstract;
1203 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1204 end;
1205
1206 ResultSetVTable = class(ReferenceCountedVTable)
1207 fetchNext: IResultSet_fetchNextPtr;
1208 fetchPrior: IResultSet_fetchPriorPtr;
1209 fetchFirst: IResultSet_fetchFirstPtr;
1210 fetchLast: IResultSet_fetchLastPtr;
1211 fetchAbsolute: IResultSet_fetchAbsolutePtr;
1212 fetchRelative: IResultSet_fetchRelativePtr;
1213 isEof: IResultSet_isEofPtr;
1214 isBof: IResultSet_isBofPtr;
1215 getMetadata: IResultSet_getMetadataPtr;
1216 close: IResultSet_closePtr;
1217 setDelayedOutputFormat: IResultSet_setDelayedOutputFormatPtr;
1218 end;
1219
1220 IResultSet = class(IReferenceCounted)
1221 const VERSION = 13;
1222
1223 function fetchNext(status: IStatus; message: Pointer): Integer;
1224 function fetchPrior(status: IStatus; message: Pointer): Integer;
1225 function fetchFirst(status: IStatus; message: Pointer): Integer;
1226 function fetchLast(status: IStatus; message: Pointer): Integer;
1227 function fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer;
1228 function fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer;
1229 function isEof(status: IStatus): Boolean;
1230 function isBof(status: IStatus): Boolean;
1231 function getMetadata(status: IStatus): IMessageMetadata;
1232 procedure close(status: IStatus);
1233 procedure setDelayedOutputFormat(status: IStatus; format: IMessageMetadata);
1234 end;
1235
1236 IResultSetImpl = class(IResultSet)
1237 constructor create;
1238
1239 procedure addRef(); virtual; abstract;
1240 function release(): Integer; virtual; abstract;
1241 function fetchNext(status: IStatus; message: Pointer): Integer; virtual; abstract;
1242 function fetchPrior(status: IStatus; message: Pointer): Integer; virtual; abstract;
1243 function fetchFirst(status: IStatus; message: Pointer): Integer; virtual; abstract;
1244 function fetchLast(status: IStatus; message: Pointer): Integer; virtual; abstract;
1245 function fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer; virtual; abstract;
1246 function fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer; virtual; abstract;
1247 function isEof(status: IStatus): Boolean; virtual; abstract;
1248 function isBof(status: IStatus): Boolean; virtual; abstract;
1249 function getMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1250 procedure close(status: IStatus); virtual; abstract;
1251 procedure setDelayedOutputFormat(status: IStatus; format: IMessageMetadata); virtual; abstract;
1252 end;
1253
1254 StatementVTable = class(ReferenceCountedVTable)
1255 getInfo: IStatement_getInfoPtr;
1256 getType: IStatement_getTypePtr;
1257 getPlan: IStatement_getPlanPtr;
1258 getAffectedRecords: IStatement_getAffectedRecordsPtr;
1259 getInputMetadata: IStatement_getInputMetadataPtr;
1260 getOutputMetadata: IStatement_getOutputMetadataPtr;
1261 execute: IStatement_executePtr;
1262 openCursor: IStatement_openCursorPtr;
1263 setCursorName: IStatement_setCursorNamePtr;
1264 free: IStatement_freePtr;
1265 getFlags: IStatement_getFlagsPtr;
1266 end;
1267
1268 IStatement = class(IReferenceCounted)
1269 const VERSION = 13;
1270 const PREPARE_PREFETCH_NONE = Cardinal(0);
1271 const PREPARE_PREFETCH_TYPE = Cardinal(1);
1272 const PREPARE_PREFETCH_INPUT_PARAMETERS = Cardinal(2);
1273 const PREPARE_PREFETCH_OUTPUT_PARAMETERS = Cardinal(4);
1274 const PREPARE_PREFETCH_LEGACY_PLAN = Cardinal(8);
1275 const PREPARE_PREFETCH_DETAILED_PLAN = Cardinal(16);
1276 const PREPARE_PREFETCH_AFFECTED_RECORDS = Cardinal(32);
1277 const PREPARE_PREFETCH_FLAGS = Cardinal(64);
1278 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);
1279 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);
1280 const FLAG_HAS_CURSOR = Cardinal(1);
1281 const FLAG_REPEAT_EXECUTE = Cardinal(2);
1282 const CURSOR_TYPE_SCROLLABLE = Cardinal(1);
1283
1284 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1285 function getType(status: IStatus): Cardinal;
1286 function getPlan(status: IStatus; detailed: Boolean): PAnsiChar;
1287 function getAffectedRecords(status: IStatus): QWord;
1288 function getInputMetadata(status: IStatus): IMessageMetadata;
1289 function getOutputMetadata(status: IStatus): IMessageMetadata;
1290 function execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
1291 function openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet;
1292 procedure setCursorName(status: IStatus; name: PAnsiChar);
1293 procedure free(status: IStatus);
1294 function getFlags(status: IStatus): Cardinal;
1295 end;
1296
1297 IStatementImpl = class(IStatement)
1298 constructor create;
1299
1300 procedure addRef(); virtual; abstract;
1301 function release(): Integer; virtual; abstract;
1302 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1303 function getType(status: IStatus): Cardinal; virtual; abstract;
1304 function getPlan(status: IStatus; detailed: Boolean): PAnsiChar; virtual; abstract;
1305 function getAffectedRecords(status: IStatus): QWord; virtual; abstract;
1306 function getInputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1307 function getOutputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
1308 function execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; virtual; abstract;
1309 function openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; virtual; abstract;
1310 procedure setCursorName(status: IStatus; name: PAnsiChar); virtual; abstract;
1311 procedure free(status: IStatus); virtual; abstract;
1312 function getFlags(status: IStatus): Cardinal; virtual; abstract;
1313 end;
1314
1315 RequestVTable = class(ReferenceCountedVTable)
1316 receive: IRequest_receivePtr;
1317 send: IRequest_sendPtr;
1318 getInfo: IRequest_getInfoPtr;
1319 start: IRequest_startPtr;
1320 startAndSend: IRequest_startAndSendPtr;
1321 unwind: IRequest_unwindPtr;
1322 free: IRequest_freePtr;
1323 end;
1324
1325 IRequest = class(IReferenceCounted)
1326 const VERSION = 9;
1327
1328 procedure receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr);
1329 procedure send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr);
1330 procedure getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1331 procedure start(status: IStatus; tra: ITransaction; level: Integer);
1332 procedure startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr);
1333 procedure unwind(status: IStatus; level: Integer);
1334 procedure free(status: IStatus);
1335 end;
1336
1337 IRequestImpl = class(IRequest)
1338 constructor create;
1339
1340 procedure addRef(); virtual; abstract;
1341 function release(): Integer; virtual; abstract;
1342 procedure receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); virtual; abstract;
1343 procedure send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); virtual; abstract;
1344 procedure getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1345 procedure start(status: IStatus; tra: ITransaction; level: Integer); virtual; abstract;
1346 procedure startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); virtual; abstract;
1347 procedure unwind(status: IStatus; level: Integer); virtual; abstract;
1348 procedure free(status: IStatus); virtual; abstract;
1349 end;
1350
1351 EventsVTable = class(ReferenceCountedVTable)
1352 cancel: IEvents_cancelPtr;
1353 end;
1354
1355 IEvents = class(IReferenceCounted)
1356 const VERSION = 3;
1357
1358 procedure cancel(status: IStatus);
1359 end;
1360
1361 IEventsImpl = class(IEvents)
1362 constructor create;
1363
1364 procedure addRef(); virtual; abstract;
1365 function release(): Integer; virtual; abstract;
1366 procedure cancel(status: IStatus); virtual; abstract;
1367 end;
1368
1369 AttachmentVTable = class(ReferenceCountedVTable)
1370 getInfo: IAttachment_getInfoPtr;
1371 startTransaction: IAttachment_startTransactionPtr;
1372 reconnectTransaction: IAttachment_reconnectTransactionPtr;
1373 compileRequest: IAttachment_compileRequestPtr;
1374 transactRequest: IAttachment_transactRequestPtr;
1375 createBlob: IAttachment_createBlobPtr;
1376 openBlob: IAttachment_openBlobPtr;
1377 getSlice: IAttachment_getSlicePtr;
1378 putSlice: IAttachment_putSlicePtr;
1379 executeDyn: IAttachment_executeDynPtr;
1380 prepare: IAttachment_preparePtr;
1381 execute: IAttachment_executePtr;
1382 openCursor: IAttachment_openCursorPtr;
1383 queEvents: IAttachment_queEventsPtr;
1384 cancelOperation: IAttachment_cancelOperationPtr;
1385 ping: IAttachment_pingPtr;
1386 detach: IAttachment_detachPtr;
1387 dropDatabase: IAttachment_dropDatabasePtr;
1388 end;
1389
1390 IAttachment = class(IReferenceCounted)
1391 const VERSION = 20;
1392
1393 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1394 function startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction;
1395 function reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction;
1396 function compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest;
1397 procedure transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr);
1398 function createBlob(status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob;
1399 function openBlob(status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob;
1400 function getSlice(status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer;
1401 procedure putSlice(status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr);
1402 procedure executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr);
1403 function prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement;
1404 function execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
1405 function openCursor(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet;
1406 function queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents;
1407 procedure cancelOperation(status: IStatus; option: Integer);
1408 procedure ping(status: IStatus);
1409 procedure detach(status: IStatus);
1410 procedure dropDatabase(status: IStatus);
1411 end;
1412
1413 IAttachmentImpl = class(IAttachment)
1414 constructor create;
1415
1416 procedure addRef(); virtual; abstract;
1417 function release(): Integer; virtual; abstract;
1418 procedure getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1419 function startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; virtual; abstract;
1420 function reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction; virtual; abstract;
1421 function compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; virtual; abstract;
1422 procedure transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); virtual; abstract;
1423 function createBlob(status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob; virtual; abstract;
1424 function openBlob(status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob; virtual; abstract;
1425 function getSlice(status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; virtual; abstract;
1426 procedure putSlice(status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr); virtual; abstract;
1427 procedure executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); virtual; abstract;
1428 function prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; virtual; abstract;
1429 function execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; virtual; abstract;
1430 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;
1431 function queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; virtual; abstract;
1432 procedure cancelOperation(status: IStatus; option: Integer); virtual; abstract;
1433 procedure ping(status: IStatus); virtual; abstract;
1434 procedure detach(status: IStatus); virtual; abstract;
1435 procedure dropDatabase(status: IStatus); virtual; abstract;
1436 end;
1437
1438 ServiceVTable = class(ReferenceCountedVTable)
1439 detach: IService_detachPtr;
1440 query: IService_queryPtr;
1441 start: IService_startPtr;
1442 end;
1443
1444 IService = class(IReferenceCounted)
1445 const VERSION = 5;
1446
1447 procedure detach(status: IStatus);
1448 procedure query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
1449 procedure start(status: IStatus; spbLength: Cardinal; spb: BytePtr);
1450 end;
1451
1452 IServiceImpl = class(IService)
1453 constructor create;
1454
1455 procedure addRef(); virtual; abstract;
1456 function release(): Integer; virtual; abstract;
1457 procedure detach(status: IStatus); virtual; abstract;
1458 procedure query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); virtual; abstract;
1459 procedure start(status: IStatus; spbLength: Cardinal; spb: BytePtr); virtual; abstract;
1460 end;
1461
1462 ProviderVTable = class(PluginBaseVTable)
1463 attachDatabase: IProvider_attachDatabasePtr;
1464 createDatabase: IProvider_createDatabasePtr;
1465 attachServiceManager: IProvider_attachServiceManagerPtr;
1466 shutdown: IProvider_shutdownPtr;
1467 setDbCryptCallback: IProvider_setDbCryptCallbackPtr;
1468 end;
1469
1470 IProvider = class(IPluginBase)
1471 const VERSION = 9;
1472
1473 function attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
1474 function createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
1475 function attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService;
1476 procedure shutdown(status: IStatus; timeout: Cardinal; reason: Integer);
1477 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
1478 end;
1479
1480 IProviderImpl = class(IProvider)
1481 constructor create;
1482
1483 procedure addRef(); virtual; abstract;
1484 function release(): Integer; virtual; abstract;
1485 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1486 function getOwner(): IReferenceCounted; virtual; abstract;
1487 function attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; virtual; abstract;
1488 function createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; virtual; abstract;
1489 function attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; virtual; abstract;
1490 procedure shutdown(status: IStatus; timeout: Cardinal; reason: Integer); virtual; abstract;
1491 procedure setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback); virtual; abstract;
1492 end;
1493
1494 DtcStartVTable = class(DisposableVTable)
1495 addAttachment: IDtcStart_addAttachmentPtr;
1496 addWithTpb: IDtcStart_addWithTpbPtr;
1497 start: IDtcStart_startPtr;
1498 end;
1499
1500 IDtcStart = class(IDisposable)
1501 const VERSION = 4;
1502
1503 procedure addAttachment(status: IStatus; att: IAttachment);
1504 procedure addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr);
1505 function start(status: IStatus): ITransaction;
1506 end;
1507
1508 IDtcStartImpl = class(IDtcStart)
1509 constructor create;
1510
1511 procedure dispose(); virtual; abstract;
1512 procedure addAttachment(status: IStatus; att: IAttachment); virtual; abstract;
1513 procedure addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); virtual; abstract;
1514 function start(status: IStatus): ITransaction; virtual; abstract;
1515 end;
1516
1517 DtcVTable = class(VersionedVTable)
1518 join: IDtc_joinPtr;
1519 startBuilder: IDtc_startBuilderPtr;
1520 end;
1521
1522 IDtc = class(IVersioned)
1523 const VERSION = 2;
1524
1525 function join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction;
1526 function startBuilder(status: IStatus): IDtcStart;
1527 end;
1528
1529 IDtcImpl = class(IDtc)
1530 constructor create;
1531
1532 function join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction; virtual; abstract;
1533 function startBuilder(status: IStatus): IDtcStart; virtual; abstract;
1534 end;
1535
1536 AuthVTable = class(PluginBaseVTable)
1537 end;
1538
1539 IAuth = class(IPluginBase)
1540 const VERSION = 4;
1541 const AUTH_FAILED = Integer(-1);
1542 const AUTH_SUCCESS = Integer(0);
1543 const AUTH_MORE_DATA = Integer(1);
1544 const AUTH_CONTINUE = Integer(2);
1545
1546 end;
1547
1548 IAuthImpl = class(IAuth)
1549 constructor create;
1550
1551 procedure addRef(); virtual; abstract;
1552 function release(): Integer; virtual; abstract;
1553 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1554 function getOwner(): IReferenceCounted; virtual; abstract;
1555 end;
1556
1557 WriterVTable = class(VersionedVTable)
1558 reset: IWriter_resetPtr;
1559 add: IWriter_addPtr;
1560 setType: IWriter_setTypePtr;
1561 setDb: IWriter_setDbPtr;
1562 end;
1563
1564 IWriter = class(IVersioned)
1565 const VERSION = 4;
1566
1567 procedure reset();
1568 procedure add(status: IStatus; name: PAnsiChar);
1569 procedure setType(status: IStatus; value: PAnsiChar);
1570 procedure setDb(status: IStatus; value: PAnsiChar);
1571 end;
1572
1573 IWriterImpl = class(IWriter)
1574 constructor create;
1575
1576 procedure reset(); virtual; abstract;
1577 procedure add(status: IStatus; name: PAnsiChar); virtual; abstract;
1578 procedure setType(status: IStatus; value: PAnsiChar); virtual; abstract;
1579 procedure setDb(status: IStatus; value: PAnsiChar); virtual; abstract;
1580 end;
1581
1582 ServerBlockVTable = class(VersionedVTable)
1583 getLogin: IServerBlock_getLoginPtr;
1584 getData: IServerBlock_getDataPtr;
1585 putData: IServerBlock_putDataPtr;
1586 newKey: IServerBlock_newKeyPtr;
1587 end;
1588
1589 IServerBlock = class(IVersioned)
1590 const VERSION = 4;
1591
1592 function getLogin(): PAnsiChar;
1593 function getData(length: CardinalPtr): BytePtr;
1594 procedure putData(status: IStatus; length: Cardinal; data: Pointer);
1595 function newKey(status: IStatus): ICryptKey;
1596 end;
1597
1598 IServerBlockImpl = class(IServerBlock)
1599 constructor create;
1600
1601 function getLogin(): PAnsiChar; virtual; abstract;
1602 function getData(length: CardinalPtr): BytePtr; virtual; abstract;
1603 procedure putData(status: IStatus; length: Cardinal; data: Pointer); virtual; abstract;
1604 function newKey(status: IStatus): ICryptKey; virtual; abstract;
1605 end;
1606
1607 ClientBlockVTable = class(ReferenceCountedVTable)
1608 getLogin: IClientBlock_getLoginPtr;
1609 getPassword: IClientBlock_getPasswordPtr;
1610 getData: IClientBlock_getDataPtr;
1611 putData: IClientBlock_putDataPtr;
1612 newKey: IClientBlock_newKeyPtr;
1613 end;
1614
1615 IClientBlock = class(IReferenceCounted)
1616 const VERSION = 7;
1617
1618 function getLogin(): PAnsiChar;
1619 function getPassword(): PAnsiChar;
1620 function getData(length: CardinalPtr): BytePtr;
1621 procedure putData(status: IStatus; length: Cardinal; data: Pointer);
1622 function newKey(status: IStatus): ICryptKey;
1623 end;
1624
1625 IClientBlockImpl = class(IClientBlock)
1626 constructor create;
1627
1628 procedure addRef(); virtual; abstract;
1629 function release(): Integer; virtual; abstract;
1630 function getLogin(): PAnsiChar; virtual; abstract;
1631 function getPassword(): PAnsiChar; virtual; abstract;
1632 function getData(length: CardinalPtr): BytePtr; virtual; abstract;
1633 procedure putData(status: IStatus; length: Cardinal; data: Pointer); virtual; abstract;
1634 function newKey(status: IStatus): ICryptKey; virtual; abstract;
1635 end;
1636
1637 ServerVTable = class(AuthVTable)
1638 authenticate: IServer_authenticatePtr;
1639 end;
1640
1641 IServer = class(IAuth)
1642 const VERSION = 5;
1643
1644 function authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer;
1645 end;
1646
1647 IServerImpl = class(IServer)
1648 constructor create;
1649
1650 procedure addRef(); virtual; abstract;
1651 function release(): Integer; virtual; abstract;
1652 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1653 function getOwner(): IReferenceCounted; virtual; abstract;
1654 function authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; virtual; abstract;
1655 end;
1656
1657 ClientVTable = class(AuthVTable)
1658 authenticate: IClient_authenticatePtr;
1659 end;
1660
1661 IClient = class(IAuth)
1662 const VERSION = 5;
1663
1664 function authenticate(status: IStatus; cBlock: IClientBlock): Integer;
1665 end;
1666
1667 IClientImpl = class(IClient)
1668 constructor create;
1669
1670 procedure addRef(); virtual; abstract;
1671 function release(): Integer; virtual; abstract;
1672 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1673 function getOwner(): IReferenceCounted; virtual; abstract;
1674 function authenticate(status: IStatus; cBlock: IClientBlock): Integer; virtual; abstract;
1675 end;
1676
1677 UserFieldVTable = class(VersionedVTable)
1678 entered: IUserField_enteredPtr;
1679 specified: IUserField_specifiedPtr;
1680 setEntered: IUserField_setEnteredPtr;
1681 end;
1682
1683 IUserField = class(IVersioned)
1684 const VERSION = 3;
1685
1686 function entered(): Integer;
1687 function specified(): Integer;
1688 procedure setEntered(status: IStatus; newValue: Integer);
1689 end;
1690
1691 IUserFieldImpl = class(IUserField)
1692 constructor create;
1693
1694 function entered(): Integer; virtual; abstract;
1695 function specified(): Integer; virtual; abstract;
1696 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
1697 end;
1698
1699 CharUserFieldVTable = class(UserFieldVTable)
1700 get: ICharUserField_getPtr;
1701 set_: ICharUserField_set_Ptr;
1702 end;
1703
1704 ICharUserField = class(IUserField)
1705 const VERSION = 5;
1706
1707 function get(): PAnsiChar;
1708 procedure set_(status: IStatus; newValue: PAnsiChar);
1709 end;
1710
1711 ICharUserFieldImpl = class(ICharUserField)
1712 constructor create;
1713
1714 function entered(): Integer; virtual; abstract;
1715 function specified(): Integer; virtual; abstract;
1716 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
1717 function get(): PAnsiChar; virtual; abstract;
1718 procedure set_(status: IStatus; newValue: PAnsiChar); virtual; abstract;
1719 end;
1720
1721 IntUserFieldVTable = class(UserFieldVTable)
1722 get: IIntUserField_getPtr;
1723 set_: IIntUserField_set_Ptr;
1724 end;
1725
1726 IIntUserField = class(IUserField)
1727 const VERSION = 5;
1728
1729 function get(): Integer;
1730 procedure set_(status: IStatus; newValue: Integer);
1731 end;
1732
1733 IIntUserFieldImpl = class(IIntUserField)
1734 constructor create;
1735
1736 function entered(): Integer; virtual; abstract;
1737 function specified(): Integer; virtual; abstract;
1738 procedure setEntered(status: IStatus; newValue: Integer); virtual; abstract;
1739 function get(): Integer; virtual; abstract;
1740 procedure set_(status: IStatus; newValue: Integer); virtual; abstract;
1741 end;
1742
1743 UserVTable = class(VersionedVTable)
1744 operation: IUser_operationPtr;
1745 userName: IUser_userNamePtr;
1746 password: IUser_passwordPtr;
1747 firstName: IUser_firstNamePtr;
1748 lastName: IUser_lastNamePtr;
1749 middleName: IUser_middleNamePtr;
1750 comment: IUser_commentPtr;
1751 attributes: IUser_attributesPtr;
1752 active: IUser_activePtr;
1753 admin: IUser_adminPtr;
1754 clear: IUser_clearPtr;
1755 end;
1756
1757 IUser = class(IVersioned)
1758 const VERSION = 11;
1759 const OP_USER_ADD = Cardinal(1);
1760 const OP_USER_MODIFY = Cardinal(2);
1761 const OP_USER_DELETE = Cardinal(3);
1762 const OP_USER_DISPLAY = Cardinal(4);
1763 const OP_USER_SET_MAP = Cardinal(5);
1764 const OP_USER_DROP_MAP = Cardinal(6);
1765
1766 function operation(): Cardinal;
1767 function userName(): ICharUserField;
1768 function password(): ICharUserField;
1769 function firstName(): ICharUserField;
1770 function lastName(): ICharUserField;
1771 function middleName(): ICharUserField;
1772 function comment(): ICharUserField;
1773 function attributes(): ICharUserField;
1774 function active(): IIntUserField;
1775 function admin(): IIntUserField;
1776 procedure clear(status: IStatus);
1777 end;
1778
1779 IUserImpl = class(IUser)
1780 constructor create;
1781
1782 function operation(): Cardinal; virtual; abstract;
1783 function userName(): ICharUserField; virtual; abstract;
1784 function password(): ICharUserField; virtual; abstract;
1785 function firstName(): ICharUserField; virtual; abstract;
1786 function lastName(): ICharUserField; virtual; abstract;
1787 function middleName(): ICharUserField; virtual; abstract;
1788 function comment(): ICharUserField; virtual; abstract;
1789 function attributes(): ICharUserField; virtual; abstract;
1790 function active(): IIntUserField; virtual; abstract;
1791 function admin(): IIntUserField; virtual; abstract;
1792 procedure clear(status: IStatus); virtual; abstract;
1793 end;
1794
1795 ListUsersVTable = class(VersionedVTable)
1796 list: IListUsers_listPtr;
1797 end;
1798
1799 IListUsers = class(IVersioned)
1800 const VERSION = 1;
1801
1802 procedure list(status: IStatus; user: IUser);
1803 end;
1804
1805 IListUsersImpl = class(IListUsers)
1806 constructor create;
1807
1808 procedure list(status: IStatus; user: IUser); virtual; abstract;
1809 end;
1810
1811 LogonInfoVTable = class(VersionedVTable)
1812 name: ILogonInfo_namePtr;
1813 role: ILogonInfo_rolePtr;
1814 networkProtocol: ILogonInfo_networkProtocolPtr;
1815 remoteAddress: ILogonInfo_remoteAddressPtr;
1816 authBlock: ILogonInfo_authBlockPtr;
1817 end;
1818
1819 ILogonInfo = class(IVersioned)
1820 const VERSION = 5;
1821
1822 function name(): PAnsiChar;
1823 function role(): PAnsiChar;
1824 function networkProtocol(): PAnsiChar;
1825 function remoteAddress(): PAnsiChar;
1826 function authBlock(length: CardinalPtr): BytePtr;
1827 end;
1828
1829 ILogonInfoImpl = class(ILogonInfo)
1830 constructor create;
1831
1832 function name(): PAnsiChar; virtual; abstract;
1833 function role(): PAnsiChar; virtual; abstract;
1834 function networkProtocol(): PAnsiChar; virtual; abstract;
1835 function remoteAddress(): PAnsiChar; virtual; abstract;
1836 function authBlock(length: CardinalPtr): BytePtr; virtual; abstract;
1837 end;
1838
1839 ManagementVTable = class(PluginBaseVTable)
1840 start: IManagement_startPtr;
1841 execute: IManagement_executePtr;
1842 commit: IManagement_commitPtr;
1843 rollback: IManagement_rollbackPtr;
1844 end;
1845
1846 IManagement = class(IPluginBase)
1847 const VERSION = 8;
1848
1849 procedure start(status: IStatus; logonInfo: ILogonInfo);
1850 function execute(status: IStatus; user: IUser; callback: IListUsers): Integer;
1851 procedure commit(status: IStatus);
1852 procedure rollback(status: IStatus);
1853 end;
1854
1855 IManagementImpl = class(IManagement)
1856 constructor create;
1857
1858 procedure addRef(); virtual; abstract;
1859 function release(): Integer; virtual; abstract;
1860 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1861 function getOwner(): IReferenceCounted; virtual; abstract;
1862 procedure start(status: IStatus; logonInfo: ILogonInfo); virtual; abstract;
1863 function execute(status: IStatus; user: IUser; callback: IListUsers): Integer; virtual; abstract;
1864 procedure commit(status: IStatus); virtual; abstract;
1865 procedure rollback(status: IStatus); virtual; abstract;
1866 end;
1867
1868 WireCryptPluginVTable = class(PluginBaseVTable)
1869 getKnownTypes: IWireCryptPlugin_getKnownTypesPtr;
1870 setKey: IWireCryptPlugin_setKeyPtr;
1871 encrypt: IWireCryptPlugin_encryptPtr;
1872 decrypt: IWireCryptPlugin_decryptPtr;
1873 end;
1874
1875 IWireCryptPlugin = class(IPluginBase)
1876 const VERSION = 8;
1877
1878 function getKnownTypes(status: IStatus): PAnsiChar;
1879 procedure setKey(status: IStatus; key: ICryptKey);
1880 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
1881 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
1882 end;
1883
1884 IWireCryptPluginImpl = class(IWireCryptPlugin)
1885 constructor create;
1886
1887 procedure addRef(); virtual; abstract;
1888 function release(): Integer; virtual; abstract;
1889 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1890 function getOwner(): IReferenceCounted; virtual; abstract;
1891 function getKnownTypes(status: IStatus): PAnsiChar; virtual; abstract;
1892 procedure setKey(status: IStatus; key: ICryptKey); virtual; abstract;
1893 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
1894 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
1895 end;
1896
1897 CryptKeyCallbackVTable = class(VersionedVTable)
1898 callback: ICryptKeyCallback_callbackPtr;
1899 end;
1900
1901 ICryptKeyCallback = class(IVersioned)
1902 const VERSION = 1;
1903
1904 function callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal;
1905 end;
1906
1907 ICryptKeyCallbackImpl = class(ICryptKeyCallback)
1908 constructor create;
1909
1910 function callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; virtual; abstract;
1911 end;
1912
1913 KeyHolderPluginVTable = class(PluginBaseVTable)
1914 keyCallback: IKeyHolderPlugin_keyCallbackPtr;
1915 keyHandle: IKeyHolderPlugin_keyHandlePtr;
1916 end;
1917
1918 IKeyHolderPlugin = class(IPluginBase)
1919 const VERSION = 6;
1920
1921 function keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer;
1922 function keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback;
1923 end;
1924
1925 IKeyHolderPluginImpl = class(IKeyHolderPlugin)
1926 constructor create;
1927
1928 procedure addRef(); virtual; abstract;
1929 function release(): Integer; virtual; abstract;
1930 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1931 function getOwner(): IReferenceCounted; virtual; abstract;
1932 function keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer; virtual; abstract;
1933 function keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; virtual; abstract;
1934 end;
1935
1936 DbCryptPluginVTable = class(PluginBaseVTable)
1937 setKey: IDbCryptPlugin_setKeyPtr;
1938 encrypt: IDbCryptPlugin_encryptPtr;
1939 decrypt: IDbCryptPlugin_decryptPtr;
1940 end;
1941
1942 IDbCryptPlugin = class(IPluginBase)
1943 const VERSION = 7;
1944
1945 procedure setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar);
1946 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
1947 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
1948 end;
1949
1950 IDbCryptPluginImpl = class(IDbCryptPlugin)
1951 constructor create;
1952
1953 procedure addRef(); virtual; abstract;
1954 function release(): Integer; virtual; abstract;
1955 procedure setOwner(r: IReferenceCounted); virtual; abstract;
1956 function getOwner(): IReferenceCounted; virtual; abstract;
1957 procedure setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); virtual; abstract;
1958 procedure encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
1959 procedure decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); virtual; abstract;
1960 end;
1961
1962 ExternalContextVTable = class(VersionedVTable)
1963 getMaster: IExternalContext_getMasterPtr;
1964 getEngine: IExternalContext_getEnginePtr;
1965 getAttachment: IExternalContext_getAttachmentPtr;
1966 getTransaction: IExternalContext_getTransactionPtr;
1967 getUserName: IExternalContext_getUserNamePtr;
1968 getDatabaseName: IExternalContext_getDatabaseNamePtr;
1969 getClientCharSet: IExternalContext_getClientCharSetPtr;
1970 obtainInfoCode: IExternalContext_obtainInfoCodePtr;
1971 getInfo: IExternalContext_getInfoPtr;
1972 setInfo: IExternalContext_setInfoPtr;
1973 end;
1974
1975 IExternalContext = class(IVersioned)
1976 const VERSION = 10;
1977
1978 function getMaster(): IMaster;
1979 function getEngine(status: IStatus): IExternalEngine;
1980 function getAttachment(status: IStatus): IAttachment;
1981 function getTransaction(status: IStatus): ITransaction;
1982 function getUserName(): PAnsiChar;
1983 function getDatabaseName(): PAnsiChar;
1984 function getClientCharSet(): PAnsiChar;
1985 function obtainInfoCode(): Integer;
1986 function getInfo(code: Integer): Pointer;
1987 function setInfo(code: Integer; value: Pointer): Pointer;
1988 end;
1989
1990 IExternalContextImpl = class(IExternalContext)
1991 constructor create;
1992
1993 function getMaster(): IMaster; virtual; abstract;
1994 function getEngine(status: IStatus): IExternalEngine; virtual; abstract;
1995 function getAttachment(status: IStatus): IAttachment; virtual; abstract;
1996 function getTransaction(status: IStatus): ITransaction; virtual; abstract;
1997 function getUserName(): PAnsiChar; virtual; abstract;
1998 function getDatabaseName(): PAnsiChar; virtual; abstract;
1999 function getClientCharSet(): PAnsiChar; virtual; abstract;
2000 function obtainInfoCode(): Integer; virtual; abstract;
2001 function getInfo(code: Integer): Pointer; virtual; abstract;
2002 function setInfo(code: Integer; value: Pointer): Pointer; virtual; abstract;
2003 end;
2004
2005 ExternalResultSetVTable = class(DisposableVTable)
2006 fetch: IExternalResultSet_fetchPtr;
2007 end;
2008
2009 IExternalResultSet = class(IDisposable)
2010 const VERSION = 2;
2011
2012 function fetch(status: IStatus): Boolean;
2013 end;
2014
2015 IExternalResultSetImpl = class(IExternalResultSet)
2016 constructor create;
2017
2018 procedure dispose(); virtual; abstract;
2019 function fetch(status: IStatus): Boolean; virtual; abstract;
2020 end;
2021
2022 ExternalFunctionVTable = class(DisposableVTable)
2023 getCharSet: IExternalFunction_getCharSetPtr;
2024 execute: IExternalFunction_executePtr;
2025 end;
2026
2027 IExternalFunction = class(IDisposable)
2028 const VERSION = 3;
2029
2030 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2031 procedure execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer);
2032 end;
2033
2034 IExternalFunctionImpl = class(IExternalFunction)
2035 constructor create;
2036
2037 procedure dispose(); virtual; abstract;
2038 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2039 procedure execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); virtual; abstract;
2040 end;
2041
2042 ExternalProcedureVTable = class(DisposableVTable)
2043 getCharSet: IExternalProcedure_getCharSetPtr;
2044 open: IExternalProcedure_openPtr;
2045 end;
2046
2047 IExternalProcedure = class(IDisposable)
2048 const VERSION = 3;
2049
2050 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2051 function open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet;
2052 end;
2053
2054 IExternalProcedureImpl = class(IExternalProcedure)
2055 constructor create;
2056
2057 procedure dispose(); virtual; abstract;
2058 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2059 function open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; virtual; abstract;
2060 end;
2061
2062 ExternalTriggerVTable = class(DisposableVTable)
2063 getCharSet: IExternalTrigger_getCharSetPtr;
2064 execute: IExternalTrigger_executePtr;
2065 end;
2066
2067 IExternalTrigger = class(IDisposable)
2068 const VERSION = 3;
2069 const TYPE_BEFORE = Cardinal(1);
2070 const TYPE_AFTER = Cardinal(2);
2071 const TYPE_DATABASE = Cardinal(3);
2072 const ACTION_INSERT = Cardinal(1);
2073 const ACTION_UPDATE = Cardinal(2);
2074 const ACTION_DELETE = Cardinal(3);
2075 const ACTION_CONNECT = Cardinal(4);
2076 const ACTION_DISCONNECT = Cardinal(5);
2077 const ACTION_TRANS_START = Cardinal(6);
2078 const ACTION_TRANS_COMMIT = Cardinal(7);
2079 const ACTION_TRANS_ROLLBACK = Cardinal(8);
2080 const ACTION_DDL = Cardinal(9);
2081
2082 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
2083 procedure execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer);
2084 end;
2085
2086 IExternalTriggerImpl = class(IExternalTrigger)
2087 constructor create;
2088
2089 procedure dispose(); virtual; abstract;
2090 procedure getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); virtual; abstract;
2091 procedure execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); virtual; abstract;
2092 end;
2093
2094 RoutineMetadataVTable = class(VersionedVTable)
2095 getPackage: IRoutineMetadata_getPackagePtr;
2096 getName: IRoutineMetadata_getNamePtr;
2097 getEntryPoint: IRoutineMetadata_getEntryPointPtr;
2098 getBody: IRoutineMetadata_getBodyPtr;
2099 getInputMetadata: IRoutineMetadata_getInputMetadataPtr;
2100 getOutputMetadata: IRoutineMetadata_getOutputMetadataPtr;
2101 getTriggerMetadata: IRoutineMetadata_getTriggerMetadataPtr;
2102 getTriggerTable: IRoutineMetadata_getTriggerTablePtr;
2103 getTriggerType: IRoutineMetadata_getTriggerTypePtr;
2104 end;
2105
2106 IRoutineMetadata = class(IVersioned)
2107 const VERSION = 9;
2108
2109 function getPackage(status: IStatus): PAnsiChar;
2110 function getName(status: IStatus): PAnsiChar;
2111 function getEntryPoint(status: IStatus): PAnsiChar;
2112 function getBody(status: IStatus): PAnsiChar;
2113 function getInputMetadata(status: IStatus): IMessageMetadata;
2114 function getOutputMetadata(status: IStatus): IMessageMetadata;
2115 function getTriggerMetadata(status: IStatus): IMessageMetadata;
2116 function getTriggerTable(status: IStatus): PAnsiChar;
2117 function getTriggerType(status: IStatus): Cardinal;
2118 end;
2119
2120 IRoutineMetadataImpl = class(IRoutineMetadata)
2121 constructor create;
2122
2123 function getPackage(status: IStatus): PAnsiChar; virtual; abstract;
2124 function getName(status: IStatus): PAnsiChar; virtual; abstract;
2125 function getEntryPoint(status: IStatus): PAnsiChar; virtual; abstract;
2126 function getBody(status: IStatus): PAnsiChar; virtual; abstract;
2127 function getInputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2128 function getOutputMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2129 function getTriggerMetadata(status: IStatus): IMessageMetadata; virtual; abstract;
2130 function getTriggerTable(status: IStatus): PAnsiChar; virtual; abstract;
2131 function getTriggerType(status: IStatus): Cardinal; virtual; abstract;
2132 end;
2133
2134 ExternalEngineVTable = class(PluginBaseVTable)
2135 open: IExternalEngine_openPtr;
2136 openAttachment: IExternalEngine_openAttachmentPtr;
2137 closeAttachment: IExternalEngine_closeAttachmentPtr;
2138 makeFunction: IExternalEngine_makeFunctionPtr;
2139 makeProcedure: IExternalEngine_makeProcedurePtr;
2140 makeTrigger: IExternalEngine_makeTriggerPtr;
2141 end;
2142
2143 IExternalEngine = class(IPluginBase)
2144 const VERSION = 10;
2145
2146 procedure open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal);
2147 procedure openAttachment(status: IStatus; context: IExternalContext);
2148 procedure closeAttachment(status: IStatus; context: IExternalContext);
2149 function makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction;
2150 function makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure;
2151 function makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger;
2152 end;
2153
2154 IExternalEngineImpl = class(IExternalEngine)
2155 constructor create;
2156
2157 procedure addRef(); virtual; abstract;
2158 function release(): Integer; virtual; abstract;
2159 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2160 function getOwner(): IReferenceCounted; virtual; abstract;
2161 procedure open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); virtual; abstract;
2162 procedure openAttachment(status: IStatus; context: IExternalContext); virtual; abstract;
2163 procedure closeAttachment(status: IStatus; context: IExternalContext); virtual; abstract;
2164 function makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; virtual; abstract;
2165 function makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; virtual; abstract;
2166 function makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; virtual; abstract;
2167 end;
2168
2169 TimerVTable = class(ReferenceCountedVTable)
2170 handler: ITimer_handlerPtr;
2171 end;
2172
2173 ITimer = class(IReferenceCounted)
2174 const VERSION = 3;
2175
2176 procedure handler();
2177 end;
2178
2179 ITimerImpl = class(ITimer)
2180 constructor create;
2181
2182 procedure addRef(); virtual; abstract;
2183 function release(): Integer; virtual; abstract;
2184 procedure handler(); virtual; abstract;
2185 end;
2186
2187 TimerControlVTable = class(VersionedVTable)
2188 start: ITimerControl_startPtr;
2189 stop: ITimerControl_stopPtr;
2190 end;
2191
2192 ITimerControl = class(IVersioned)
2193 const VERSION = 2;
2194
2195 procedure start(status: IStatus; timer: ITimer; microSeconds: QWord);
2196 procedure stop(status: IStatus; timer: ITimer);
2197 end;
2198
2199 ITimerControlImpl = class(ITimerControl)
2200 constructor create;
2201
2202 procedure start(status: IStatus; timer: ITimer; microSeconds: QWord); virtual; abstract;
2203 procedure stop(status: IStatus; timer: ITimer); virtual; abstract;
2204 end;
2205
2206 VersionCallbackVTable = class(VersionedVTable)
2207 callback: IVersionCallback_callbackPtr;
2208 end;
2209
2210 IVersionCallback = class(IVersioned)
2211 const VERSION = 1;
2212
2213 procedure callback(status: IStatus; text: PAnsiChar);
2214 end;
2215
2216 IVersionCallbackImpl = class(IVersionCallback)
2217 constructor create;
2218
2219 procedure callback(status: IStatus; text: PAnsiChar); virtual; abstract;
2220 end;
2221
2222 UtilVTable = class(VersionedVTable)
2223 getFbVersion: IUtil_getFbVersionPtr;
2224 loadBlob: IUtil_loadBlobPtr;
2225 dumpBlob: IUtil_dumpBlobPtr;
2226 getPerfCounters: IUtil_getPerfCountersPtr;
2227 executeCreateDatabase: IUtil_executeCreateDatabasePtr;
2228 decodeDate: IUtil_decodeDatePtr;
2229 decodeTime: IUtil_decodeTimePtr;
2230 encodeDate: IUtil_encodeDatePtr;
2231 encodeTime: IUtil_encodeTimePtr;
2232 formatStatus: IUtil_formatStatusPtr;
2233 getClientVersion: IUtil_getClientVersionPtr;
2234 getXpbBuilder: IUtil_getXpbBuilderPtr;
2235 setOffsets: IUtil_setOffsetsPtr;
2236 end;
2237
2238 IUtil = class(IVersioned)
2239 const VERSION = 13;
2240
2241 procedure getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback);
2242 procedure loadBlob(status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
2243 procedure dumpBlob(status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
2244 procedure getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr);
2245 function executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment;
2246 procedure decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr);
2247 procedure decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr);
2248 function encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE;
2249 function encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME;
2250 function formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal;
2251 function getClientVersion(): Cardinal;
2252 function getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder;
2253 function setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal;
2254 end;
2255
2256 IUtilImpl = class(IUtil)
2257 constructor create;
2258
2259 procedure getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback); virtual; abstract;
2260 procedure loadBlob(status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); virtual; abstract;
2261 procedure dumpBlob(status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); virtual; abstract;
2262 procedure getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); virtual; abstract;
2263 function executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; virtual; abstract;
2264 procedure decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); virtual; abstract;
2265 procedure decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); virtual; abstract;
2266 function encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; virtual; abstract;
2267 function encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; virtual; abstract;
2268 function formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; virtual; abstract;
2269 function getClientVersion(): Cardinal; virtual; abstract;
2270 function getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; virtual; abstract;
2271 function setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; virtual; abstract;
2272 end;
2273
2274 OffsetsCallbackVTable = class(VersionedVTable)
2275 setOffset: IOffsetsCallback_setOffsetPtr;
2276 end;
2277
2278 IOffsetsCallback = class(IVersioned)
2279 const VERSION = 1;
2280
2281 procedure setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal);
2282 end;
2283
2284 IOffsetsCallbackImpl = class(IOffsetsCallback)
2285 constructor create;
2286
2287 procedure setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); virtual; abstract;
2288 end;
2289
2290 XpbBuilderVTable = class(DisposableVTable)
2291 clear: IXpbBuilder_clearPtr;
2292 removeCurrent: IXpbBuilder_removeCurrentPtr;
2293 insertInt: IXpbBuilder_insertIntPtr;
2294 insertBigInt: IXpbBuilder_insertBigIntPtr;
2295 insertBytes: IXpbBuilder_insertBytesPtr;
2296 insertString: IXpbBuilder_insertStringPtr;
2297 insertTag: IXpbBuilder_insertTagPtr;
2298 isEof: IXpbBuilder_isEofPtr;
2299 moveNext: IXpbBuilder_moveNextPtr;
2300 rewind: IXpbBuilder_rewindPtr;
2301 findFirst: IXpbBuilder_findFirstPtr;
2302 findNext: IXpbBuilder_findNextPtr;
2303 getTag: IXpbBuilder_getTagPtr;
2304 getLength: IXpbBuilder_getLengthPtr;
2305 getInt: IXpbBuilder_getIntPtr;
2306 getBigInt: IXpbBuilder_getBigIntPtr;
2307 getString: IXpbBuilder_getStringPtr;
2308 getBytes: IXpbBuilder_getBytesPtr;
2309 getBufferLength: IXpbBuilder_getBufferLengthPtr;
2310 getBuffer: IXpbBuilder_getBufferPtr;
2311 end;
2312
2313 IXpbBuilder = class(IDisposable)
2314 const VERSION = 21;
2315 const DPB = Cardinal(1);
2316 const SPB_ATTACH = Cardinal(2);
2317 const SPB_START = Cardinal(3);
2318 const TPB = Cardinal(4);
2319
2320 procedure clear(status: IStatus);
2321 procedure removeCurrent(status: IStatus);
2322 procedure insertInt(status: IStatus; tag: Byte; value: Integer);
2323 procedure insertBigInt(status: IStatus; tag: Byte; value: Int64);
2324 procedure insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal);
2325 procedure insertString(status: IStatus; tag: Byte; str: PAnsiChar);
2326 procedure insertTag(status: IStatus; tag: Byte);
2327 function isEof(status: IStatus): Boolean;
2328 procedure moveNext(status: IStatus);
2329 procedure rewind(status: IStatus);
2330 function findFirst(status: IStatus; tag: Byte): Boolean;
2331 function findNext(status: IStatus): Boolean;
2332 function getTag(status: IStatus): Byte;
2333 function getLength(status: IStatus): Cardinal;
2334 function getInt(status: IStatus): Integer;
2335 function getBigInt(status: IStatus): Int64;
2336 function getString(status: IStatus): PAnsiChar;
2337 function getBytes(status: IStatus): BytePtr;
2338 function getBufferLength(status: IStatus): Cardinal;
2339 function getBuffer(status: IStatus): BytePtr;
2340 end;
2341
2342 IXpbBuilderImpl = class(IXpbBuilder)
2343 constructor create;
2344
2345 procedure dispose(); virtual; abstract;
2346 procedure clear(status: IStatus); virtual; abstract;
2347 procedure removeCurrent(status: IStatus); virtual; abstract;
2348 procedure insertInt(status: IStatus; tag: Byte; value: Integer); virtual; abstract;
2349 procedure insertBigInt(status: IStatus; tag: Byte; value: Int64); virtual; abstract;
2350 procedure insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); virtual; abstract;
2351 procedure insertString(status: IStatus; tag: Byte; str: PAnsiChar); virtual; abstract;
2352 procedure insertTag(status: IStatus; tag: Byte); virtual; abstract;
2353 function isEof(status: IStatus): Boolean; virtual; abstract;
2354 procedure moveNext(status: IStatus); virtual; abstract;
2355 procedure rewind(status: IStatus); virtual; abstract;
2356 function findFirst(status: IStatus; tag: Byte): Boolean; virtual; abstract;
2357 function findNext(status: IStatus): Boolean; virtual; abstract;
2358 function getTag(status: IStatus): Byte; virtual; abstract;
2359 function getLength(status: IStatus): Cardinal; virtual; abstract;
2360 function getInt(status: IStatus): Integer; virtual; abstract;
2361 function getBigInt(status: IStatus): Int64; virtual; abstract;
2362 function getString(status: IStatus): PAnsiChar; virtual; abstract;
2363 function getBytes(status: IStatus): BytePtr; virtual; abstract;
2364 function getBufferLength(status: IStatus): Cardinal; virtual; abstract;
2365 function getBuffer(status: IStatus): BytePtr; virtual; abstract;
2366 end;
2367
2368 TraceConnectionVTable = class(VersionedVTable)
2369 getKind: ITraceConnection_getKindPtr;
2370 getProcessID: ITraceConnection_getProcessIDPtr;
2371 getUserName: ITraceConnection_getUserNamePtr;
2372 getRoleName: ITraceConnection_getRoleNamePtr;
2373 getCharSet: ITraceConnection_getCharSetPtr;
2374 getRemoteProtocol: ITraceConnection_getRemoteProtocolPtr;
2375 getRemoteAddress: ITraceConnection_getRemoteAddressPtr;
2376 getRemoteProcessID: ITraceConnection_getRemoteProcessIDPtr;
2377 getRemoteProcessName: ITraceConnection_getRemoteProcessNamePtr;
2378 end;
2379
2380 ITraceConnection = class(IVersioned)
2381 const VERSION = 9;
2382 const KIND_DATABASE = Cardinal(1);
2383 const KIND_SERVICE = Cardinal(2);
2384
2385 function getKind(): Cardinal;
2386 function getProcessID(): Integer;
2387 function getUserName(): PAnsiChar;
2388 function getRoleName(): PAnsiChar;
2389 function getCharSet(): PAnsiChar;
2390 function getRemoteProtocol(): PAnsiChar;
2391 function getRemoteAddress(): PAnsiChar;
2392 function getRemoteProcessID(): Integer;
2393 function getRemoteProcessName(): PAnsiChar;
2394 end;
2395
2396 ITraceConnectionImpl = class(ITraceConnection)
2397 constructor create;
2398
2399 function getKind(): Cardinal; virtual; abstract;
2400 function getProcessID(): Integer; virtual; abstract;
2401 function getUserName(): PAnsiChar; virtual; abstract;
2402 function getRoleName(): PAnsiChar; virtual; abstract;
2403 function getCharSet(): PAnsiChar; virtual; abstract;
2404 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
2405 function getRemoteAddress(): PAnsiChar; virtual; abstract;
2406 function getRemoteProcessID(): Integer; virtual; abstract;
2407 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
2408 end;
2409
2410 TraceDatabaseConnectionVTable = class(TraceConnectionVTable)
2411 getConnectionID: ITraceDatabaseConnection_getConnectionIDPtr;
2412 getDatabaseName: ITraceDatabaseConnection_getDatabaseNamePtr;
2413 end;
2414
2415 ITraceDatabaseConnection = class(ITraceConnection)
2416 const VERSION = 11;
2417
2418 function getConnectionID(): Int64;
2419 function getDatabaseName(): PAnsiChar;
2420 end;
2421
2422 ITraceDatabaseConnectionImpl = class(ITraceDatabaseConnection)
2423 constructor create;
2424
2425 function getKind(): Cardinal; virtual; abstract;
2426 function getProcessID(): Integer; virtual; abstract;
2427 function getUserName(): PAnsiChar; virtual; abstract;
2428 function getRoleName(): PAnsiChar; virtual; abstract;
2429 function getCharSet(): PAnsiChar; virtual; abstract;
2430 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
2431 function getRemoteAddress(): PAnsiChar; virtual; abstract;
2432 function getRemoteProcessID(): Integer; virtual; abstract;
2433 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
2434 function getConnectionID(): Int64; virtual; abstract;
2435 function getDatabaseName(): PAnsiChar; virtual; abstract;
2436 end;
2437
2438 TraceTransactionVTable = class(VersionedVTable)
2439 getTransactionID: ITraceTransaction_getTransactionIDPtr;
2440 getReadOnly: ITraceTransaction_getReadOnlyPtr;
2441 getWait: ITraceTransaction_getWaitPtr;
2442 getIsolation: ITraceTransaction_getIsolationPtr;
2443 getPerf: ITraceTransaction_getPerfPtr;
2444 end;
2445
2446 ITraceTransaction = class(IVersioned)
2447 const VERSION = 5;
2448 const ISOLATION_CONSISTENCY = Cardinal(1);
2449 const ISOLATION_CONCURRENCY = Cardinal(2);
2450 const ISOLATION_READ_COMMITTED_RECVER = Cardinal(3);
2451 const ISOLATION_READ_COMMITTED_NORECVER = Cardinal(4);
2452
2453 function getTransactionID(): Int64;
2454 function getReadOnly(): Boolean;
2455 function getWait(): Integer;
2456 function getIsolation(): Cardinal;
2457 function getPerf(): PerformanceInfoPtr;
2458 end;
2459
2460 ITraceTransactionImpl = class(ITraceTransaction)
2461 constructor create;
2462
2463 function getTransactionID(): Int64; virtual; abstract;
2464 function getReadOnly(): Boolean; virtual; abstract;
2465 function getWait(): Integer; virtual; abstract;
2466 function getIsolation(): Cardinal; virtual; abstract;
2467 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2468 end;
2469
2470 TraceParamsVTable = class(VersionedVTable)
2471 getCount: ITraceParams_getCountPtr;
2472 getParam: ITraceParams_getParamPtr;
2473 end;
2474
2475 ITraceParams = class(IVersioned)
2476 const VERSION = 2;
2477
2478 function getCount(): Cardinal;
2479 function getParam(idx: Cardinal): dscPtr;
2480 end;
2481
2482 ITraceParamsImpl = class(ITraceParams)
2483 constructor create;
2484
2485 function getCount(): Cardinal; virtual; abstract;
2486 function getParam(idx: Cardinal): dscPtr; virtual; abstract;
2487 end;
2488
2489 TraceStatementVTable = class(VersionedVTable)
2490 getStmtID: ITraceStatement_getStmtIDPtr;
2491 getPerf: ITraceStatement_getPerfPtr;
2492 end;
2493
2494 ITraceStatement = class(IVersioned)
2495 const VERSION = 2;
2496
2497 function getStmtID(): Int64;
2498 function getPerf(): PerformanceInfoPtr;
2499 end;
2500
2501 ITraceStatementImpl = class(ITraceStatement)
2502 constructor create;
2503
2504 function getStmtID(): Int64; virtual; abstract;
2505 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2506 end;
2507
2508 TraceSQLStatementVTable = class(TraceStatementVTable)
2509 getText: ITraceSQLStatement_getTextPtr;
2510 getPlan: ITraceSQLStatement_getPlanPtr;
2511 getInputs: ITraceSQLStatement_getInputsPtr;
2512 getTextUTF8: ITraceSQLStatement_getTextUTF8Ptr;
2513 getExplainedPlan: ITraceSQLStatement_getExplainedPlanPtr;
2514 end;
2515
2516 ITraceSQLStatement = class(ITraceStatement)
2517 const VERSION = 7;
2518
2519 function getText(): PAnsiChar;
2520 function getPlan(): PAnsiChar;
2521 function getInputs(): ITraceParams;
2522 function getTextUTF8(): PAnsiChar;
2523 function getExplainedPlan(): PAnsiChar;
2524 end;
2525
2526 ITraceSQLStatementImpl = class(ITraceSQLStatement)
2527 constructor create;
2528
2529 function getStmtID(): Int64; virtual; abstract;
2530 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2531 function getText(): PAnsiChar; virtual; abstract;
2532 function getPlan(): PAnsiChar; virtual; abstract;
2533 function getInputs(): ITraceParams; virtual; abstract;
2534 function getTextUTF8(): PAnsiChar; virtual; abstract;
2535 function getExplainedPlan(): PAnsiChar; virtual; abstract;
2536 end;
2537
2538 TraceBLRStatementVTable = class(TraceStatementVTable)
2539 getData: ITraceBLRStatement_getDataPtr;
2540 getDataLength: ITraceBLRStatement_getDataLengthPtr;
2541 getText: ITraceBLRStatement_getTextPtr;
2542 end;
2543
2544 ITraceBLRStatement = class(ITraceStatement)
2545 const VERSION = 5;
2546
2547 function getData(): BytePtr;
2548 function getDataLength(): Cardinal;
2549 function getText(): PAnsiChar;
2550 end;
2551
2552 ITraceBLRStatementImpl = class(ITraceBLRStatement)
2553 constructor create;
2554
2555 function getStmtID(): Int64; virtual; abstract;
2556 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2557 function getData(): BytePtr; virtual; abstract;
2558 function getDataLength(): Cardinal; virtual; abstract;
2559 function getText(): PAnsiChar; virtual; abstract;
2560 end;
2561
2562 TraceDYNRequestVTable = class(VersionedVTable)
2563 getData: ITraceDYNRequest_getDataPtr;
2564 getDataLength: ITraceDYNRequest_getDataLengthPtr;
2565 getText: ITraceDYNRequest_getTextPtr;
2566 end;
2567
2568 ITraceDYNRequest = class(IVersioned)
2569 const VERSION = 3;
2570
2571 function getData(): BytePtr;
2572 function getDataLength(): Cardinal;
2573 function getText(): PAnsiChar;
2574 end;
2575
2576 ITraceDYNRequestImpl = class(ITraceDYNRequest)
2577 constructor create;
2578
2579 function getData(): BytePtr; virtual; abstract;
2580 function getDataLength(): Cardinal; virtual; abstract;
2581 function getText(): PAnsiChar; virtual; abstract;
2582 end;
2583
2584 TraceContextVariableVTable = class(VersionedVTable)
2585 getNameSpace: ITraceContextVariable_getNameSpacePtr;
2586 getVarName: ITraceContextVariable_getVarNamePtr;
2587 getVarValue: ITraceContextVariable_getVarValuePtr;
2588 end;
2589
2590 ITraceContextVariable = class(IVersioned)
2591 const VERSION = 3;
2592
2593 function getNameSpace(): PAnsiChar;
2594 function getVarName(): PAnsiChar;
2595 function getVarValue(): PAnsiChar;
2596 end;
2597
2598 ITraceContextVariableImpl = class(ITraceContextVariable)
2599 constructor create;
2600
2601 function getNameSpace(): PAnsiChar; virtual; abstract;
2602 function getVarName(): PAnsiChar; virtual; abstract;
2603 function getVarValue(): PAnsiChar; virtual; abstract;
2604 end;
2605
2606 TraceProcedureVTable = class(VersionedVTable)
2607 getProcName: ITraceProcedure_getProcNamePtr;
2608 getInputs: ITraceProcedure_getInputsPtr;
2609 getPerf: ITraceProcedure_getPerfPtr;
2610 end;
2611
2612 ITraceProcedure = class(IVersioned)
2613 const VERSION = 3;
2614
2615 function getProcName(): PAnsiChar;
2616 function getInputs(): ITraceParams;
2617 function getPerf(): PerformanceInfoPtr;
2618 end;
2619
2620 ITraceProcedureImpl = class(ITraceProcedure)
2621 constructor create;
2622
2623 function getProcName(): PAnsiChar; virtual; abstract;
2624 function getInputs(): ITraceParams; virtual; abstract;
2625 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2626 end;
2627
2628 TraceFunctionVTable = class(VersionedVTable)
2629 getFuncName: ITraceFunction_getFuncNamePtr;
2630 getInputs: ITraceFunction_getInputsPtr;
2631 getResult: ITraceFunction_getResultPtr;
2632 getPerf: ITraceFunction_getPerfPtr;
2633 end;
2634
2635 ITraceFunction = class(IVersioned)
2636 const VERSION = 4;
2637
2638 function getFuncName(): PAnsiChar;
2639 function getInputs(): ITraceParams;
2640 function getResult(): ITraceParams;
2641 function getPerf(): PerformanceInfoPtr;
2642 end;
2643
2644 ITraceFunctionImpl = class(ITraceFunction)
2645 constructor create;
2646
2647 function getFuncName(): PAnsiChar; virtual; abstract;
2648 function getInputs(): ITraceParams; virtual; abstract;
2649 function getResult(): ITraceParams; virtual; abstract;
2650 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2651 end;
2652
2653 TraceTriggerVTable = class(VersionedVTable)
2654 getTriggerName: ITraceTrigger_getTriggerNamePtr;
2655 getRelationName: ITraceTrigger_getRelationNamePtr;
2656 getAction: ITraceTrigger_getActionPtr;
2657 getWhich: ITraceTrigger_getWhichPtr;
2658 getPerf: ITraceTrigger_getPerfPtr;
2659 end;
2660
2661 ITraceTrigger = class(IVersioned)
2662 const VERSION = 5;
2663 const TYPE_ALL = Cardinal(0);
2664 const TYPE_BEFORE = Cardinal(1);
2665 const TYPE_AFTER = Cardinal(2);
2666
2667 function getTriggerName(): PAnsiChar;
2668 function getRelationName(): PAnsiChar;
2669 function getAction(): Integer;
2670 function getWhich(): Integer;
2671 function getPerf(): PerformanceInfoPtr;
2672 end;
2673
2674 ITraceTriggerImpl = class(ITraceTrigger)
2675 constructor create;
2676
2677 function getTriggerName(): PAnsiChar; virtual; abstract;
2678 function getRelationName(): PAnsiChar; virtual; abstract;
2679 function getAction(): Integer; virtual; abstract;
2680 function getWhich(): Integer; virtual; abstract;
2681 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2682 end;
2683
2684 TraceServiceConnectionVTable = class(TraceConnectionVTable)
2685 getServiceID: ITraceServiceConnection_getServiceIDPtr;
2686 getServiceMgr: ITraceServiceConnection_getServiceMgrPtr;
2687 getServiceName: ITraceServiceConnection_getServiceNamePtr;
2688 end;
2689
2690 ITraceServiceConnection = class(ITraceConnection)
2691 const VERSION = 12;
2692
2693 function getServiceID(): Pointer;
2694 function getServiceMgr(): PAnsiChar;
2695 function getServiceName(): PAnsiChar;
2696 end;
2697
2698 ITraceServiceConnectionImpl = class(ITraceServiceConnection)
2699 constructor create;
2700
2701 function getKind(): Cardinal; virtual; abstract;
2702 function getProcessID(): Integer; virtual; abstract;
2703 function getUserName(): PAnsiChar; virtual; abstract;
2704 function getRoleName(): PAnsiChar; virtual; abstract;
2705 function getCharSet(): PAnsiChar; virtual; abstract;
2706 function getRemoteProtocol(): PAnsiChar; virtual; abstract;
2707 function getRemoteAddress(): PAnsiChar; virtual; abstract;
2708 function getRemoteProcessID(): Integer; virtual; abstract;
2709 function getRemoteProcessName(): PAnsiChar; virtual; abstract;
2710 function getServiceID(): Pointer; virtual; abstract;
2711 function getServiceMgr(): PAnsiChar; virtual; abstract;
2712 function getServiceName(): PAnsiChar; virtual; abstract;
2713 end;
2714
2715 TraceStatusVectorVTable = class(VersionedVTable)
2716 hasError: ITraceStatusVector_hasErrorPtr;
2717 hasWarning: ITraceStatusVector_hasWarningPtr;
2718 getStatus: ITraceStatusVector_getStatusPtr;
2719 getText: ITraceStatusVector_getTextPtr;
2720 end;
2721
2722 ITraceStatusVector = class(IVersioned)
2723 const VERSION = 4;
2724
2725 function hasError(): Boolean;
2726 function hasWarning(): Boolean;
2727 function getStatus(): IStatus;
2728 function getText(): PAnsiChar;
2729 end;
2730
2731 ITraceStatusVectorImpl = class(ITraceStatusVector)
2732 constructor create;
2733
2734 function hasError(): Boolean; virtual; abstract;
2735 function hasWarning(): Boolean; virtual; abstract;
2736 function getStatus(): IStatus; virtual; abstract;
2737 function getText(): PAnsiChar; virtual; abstract;
2738 end;
2739
2740 TraceSweepInfoVTable = class(VersionedVTable)
2741 getOIT: ITraceSweepInfo_getOITPtr;
2742 getOST: ITraceSweepInfo_getOSTPtr;
2743 getOAT: ITraceSweepInfo_getOATPtr;
2744 getNext: ITraceSweepInfo_getNextPtr;
2745 getPerf: ITraceSweepInfo_getPerfPtr;
2746 end;
2747
2748 ITraceSweepInfo = class(IVersioned)
2749 const VERSION = 5;
2750
2751 function getOIT(): Int64;
2752 function getOST(): Int64;
2753 function getOAT(): Int64;
2754 function getNext(): Int64;
2755 function getPerf(): PerformanceInfoPtr;
2756 end;
2757
2758 ITraceSweepInfoImpl = class(ITraceSweepInfo)
2759 constructor create;
2760
2761 function getOIT(): Int64; virtual; abstract;
2762 function getOST(): Int64; virtual; abstract;
2763 function getOAT(): Int64; virtual; abstract;
2764 function getNext(): Int64; virtual; abstract;
2765 function getPerf(): PerformanceInfoPtr; virtual; abstract;
2766 end;
2767
2768 TraceLogWriterVTable = class(ReferenceCountedVTable)
2769 write: ITraceLogWriter_writePtr;
2770 end;
2771
2772 ITraceLogWriter = class(IReferenceCounted)
2773 const VERSION = 3;
2774
2775 function write(buf: Pointer; size: Cardinal): Cardinal;
2776 end;
2777
2778 ITraceLogWriterImpl = class(ITraceLogWriter)
2779 constructor create;
2780
2781 procedure addRef(); virtual; abstract;
2782 function release(): Integer; virtual; abstract;
2783 function write(buf: Pointer; size: Cardinal): Cardinal; virtual; abstract;
2784 end;
2785
2786 TraceInitInfoVTable = class(VersionedVTable)
2787 getConfigText: ITraceInitInfo_getConfigTextPtr;
2788 getTraceSessionID: ITraceInitInfo_getTraceSessionIDPtr;
2789 getTraceSessionName: ITraceInitInfo_getTraceSessionNamePtr;
2790 getFirebirdRootDirectory: ITraceInitInfo_getFirebirdRootDirectoryPtr;
2791 getDatabaseName: ITraceInitInfo_getDatabaseNamePtr;
2792 getConnection: ITraceInitInfo_getConnectionPtr;
2793 getLogWriter: ITraceInitInfo_getLogWriterPtr;
2794 end;
2795
2796 ITraceInitInfo = class(IVersioned)
2797 const VERSION = 7;
2798
2799 function getConfigText(): PAnsiChar;
2800 function getTraceSessionID(): Integer;
2801 function getTraceSessionName(): PAnsiChar;
2802 function getFirebirdRootDirectory(): PAnsiChar;
2803 function getDatabaseName(): PAnsiChar;
2804 function getConnection(): ITraceDatabaseConnection;
2805 function getLogWriter(): ITraceLogWriter;
2806 end;
2807
2808 ITraceInitInfoImpl = class(ITraceInitInfo)
2809 constructor create;
2810
2811 function getConfigText(): PAnsiChar; virtual; abstract;
2812 function getTraceSessionID(): Integer; virtual; abstract;
2813 function getTraceSessionName(): PAnsiChar; virtual; abstract;
2814 function getFirebirdRootDirectory(): PAnsiChar; virtual; abstract;
2815 function getDatabaseName(): PAnsiChar; virtual; abstract;
2816 function getConnection(): ITraceDatabaseConnection; virtual; abstract;
2817 function getLogWriter(): ITraceLogWriter; virtual; abstract;
2818 end;
2819
2820 TracePluginVTable = class(ReferenceCountedVTable)
2821 trace_get_error: ITracePlugin_trace_get_errorPtr;
2822 trace_attach: ITracePlugin_trace_attachPtr;
2823 trace_detach: ITracePlugin_trace_detachPtr;
2824 trace_transaction_start: ITracePlugin_trace_transaction_startPtr;
2825 trace_transaction_end: ITracePlugin_trace_transaction_endPtr;
2826 trace_proc_execute: ITracePlugin_trace_proc_executePtr;
2827 trace_trigger_execute: ITracePlugin_trace_trigger_executePtr;
2828 trace_set_context: ITracePlugin_trace_set_contextPtr;
2829 trace_dsql_prepare: ITracePlugin_trace_dsql_preparePtr;
2830 trace_dsql_free: ITracePlugin_trace_dsql_freePtr;
2831 trace_dsql_execute: ITracePlugin_trace_dsql_executePtr;
2832 trace_blr_compile: ITracePlugin_trace_blr_compilePtr;
2833 trace_blr_execute: ITracePlugin_trace_blr_executePtr;
2834 trace_dyn_execute: ITracePlugin_trace_dyn_executePtr;
2835 trace_service_attach: ITracePlugin_trace_service_attachPtr;
2836 trace_service_start: ITracePlugin_trace_service_startPtr;
2837 trace_service_query: ITracePlugin_trace_service_queryPtr;
2838 trace_service_detach: ITracePlugin_trace_service_detachPtr;
2839 trace_event_error: ITracePlugin_trace_event_errorPtr;
2840 trace_event_sweep: ITracePlugin_trace_event_sweepPtr;
2841 trace_func_execute: ITracePlugin_trace_func_executePtr;
2842 end;
2843
2844 ITracePlugin = class(IReferenceCounted)
2845 const VERSION = 23;
2846 const RESULT_SUCCESS = Cardinal(0);
2847 const RESULT_FAILED = Cardinal(1);
2848 const RESULT_UNAUTHORIZED = Cardinal(2);
2849 const SWEEP_STATE_STARTED = Cardinal(1);
2850 const SWEEP_STATE_FINISHED = Cardinal(2);
2851 const SWEEP_STATE_FAILED = Cardinal(3);
2852 const SWEEP_STATE_PROGRESS = Cardinal(4);
2853
2854 function trace_get_error(): PAnsiChar;
2855 function trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean;
2856 function trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean;
2857 function trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean;
2858 function trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean;
2859 function trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean;
2860 function trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean;
2861 function trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean;
2862 function trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean;
2863 function trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean;
2864 function trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean;
2865 function trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean;
2866 function trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean;
2867 function trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean;
2868 function trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean;
2869 function trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean;
2870 function trace_service_query(service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean;
2871 function trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean;
2872 function trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean;
2873 function trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean;
2874 function trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean;
2875 end;
2876
2877 ITracePluginImpl = class(ITracePlugin)
2878 constructor create;
2879
2880 procedure addRef(); virtual; abstract;
2881 function release(): Integer; virtual; abstract;
2882 function trace_get_error(): PAnsiChar; virtual; abstract;
2883 function trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; virtual; abstract;
2884 function trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; virtual; abstract;
2885 function trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; virtual; abstract;
2886 function trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; virtual; abstract;
2887 function trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; virtual; abstract;
2888 function trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; virtual; abstract;
2889 function trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; virtual; abstract;
2890 function trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
2891 function trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; virtual; abstract;
2892 function trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; virtual; abstract;
2893 function trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
2894 function trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; virtual; abstract;
2895 function trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; virtual; abstract;
2896 function trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean; virtual; abstract;
2897 function trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; virtual; abstract;
2898 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;
2899 function trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean; virtual; abstract;
2900 function trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; virtual; abstract;
2901 function trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; virtual; abstract;
2902 function trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; virtual; abstract;
2903 end;
2904
2905 TraceFactoryVTable = class(PluginBaseVTable)
2906 trace_needs: ITraceFactory_trace_needsPtr;
2907 trace_create: ITraceFactory_trace_createPtr;
2908 end;
2909
2910 ITraceFactory = class(IPluginBase)
2911 const VERSION = 6;
2912 const TRACE_EVENT_ATTACH = Cardinal(0);
2913 const TRACE_EVENT_DETACH = Cardinal(1);
2914 const TRACE_EVENT_TRANSACTION_START = Cardinal(2);
2915 const TRACE_EVENT_TRANSACTION_END = Cardinal(3);
2916 const TRACE_EVENT_SET_CONTEXT = Cardinal(4);
2917 const TRACE_EVENT_PROC_EXECUTE = Cardinal(5);
2918 const TRACE_EVENT_TRIGGER_EXECUTE = Cardinal(6);
2919 const TRACE_EVENT_DSQL_PREPARE = Cardinal(7);
2920 const TRACE_EVENT_DSQL_FREE = Cardinal(8);
2921 const TRACE_EVENT_DSQL_EXECUTE = Cardinal(9);
2922 const TRACE_EVENT_BLR_COMPILE = Cardinal(10);
2923 const TRACE_EVENT_BLR_EXECUTE = Cardinal(11);
2924 const TRACE_EVENT_DYN_EXECUTE = Cardinal(12);
2925 const TRACE_EVENT_SERVICE_ATTACH = Cardinal(13);
2926 const TRACE_EVENT_SERVICE_START = Cardinal(14);
2927 const TRACE_EVENT_SERVICE_QUERY = Cardinal(15);
2928 const TRACE_EVENT_SERVICE_DETACH = Cardinal(16);
2929 const TRACE_EVENT_ERROR = Cardinal(17);
2930 const TRACE_EVENT_SWEEP = Cardinal(18);
2931 const TRACE_EVENT_FUNC_EXECUTE = Cardinal(19);
2932 const TRACE_EVENT_MAX = Cardinal(20);
2933
2934 function trace_needs(): QWord;
2935 function trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin;
2936 end;
2937
2938 ITraceFactoryImpl = class(ITraceFactory)
2939 constructor create;
2940
2941 procedure addRef(); virtual; abstract;
2942 function release(): Integer; virtual; abstract;
2943 procedure setOwner(r: IReferenceCounted); virtual; abstract;
2944 function getOwner(): IReferenceCounted; virtual; abstract;
2945 function trace_needs(): QWord; virtual; abstract;
2946 function trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin; virtual; abstract;
2947 end;
2948
2949 UdrFunctionFactoryVTable = class(DisposableVTable)
2950 setup: IUdrFunctionFactory_setupPtr;
2951 newItem: IUdrFunctionFactory_newItemPtr;
2952 end;
2953
2954 IUdrFunctionFactory = class(IDisposable)
2955 const VERSION = 3;
2956
2957 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
2958 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction;
2959 end;
2960
2961 IUdrFunctionFactoryImpl = class(IUdrFunctionFactory)
2962 constructor create;
2963
2964 procedure dispose(); virtual; abstract;
2965 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); virtual; abstract;
2966 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; virtual; abstract;
2967 end;
2968
2969 UdrProcedureFactoryVTable = class(DisposableVTable)
2970 setup: IUdrProcedureFactory_setupPtr;
2971 newItem: IUdrProcedureFactory_newItemPtr;
2972 end;
2973
2974 IUdrProcedureFactory = class(IDisposable)
2975 const VERSION = 3;
2976
2977 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
2978 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure;
2979 end;
2980
2981 IUdrProcedureFactoryImpl = class(IUdrProcedureFactory)
2982 constructor create;
2983
2984 procedure dispose(); virtual; abstract;
2985 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); virtual; abstract;
2986 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; virtual; abstract;
2987 end;
2988
2989 UdrTriggerFactoryVTable = class(DisposableVTable)
2990 setup: IUdrTriggerFactory_setupPtr;
2991 newItem: IUdrTriggerFactory_newItemPtr;
2992 end;
2993
2994 IUdrTriggerFactory = class(IDisposable)
2995 const VERSION = 3;
2996
2997 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder);
2998 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger;
2999 end;
3000
3001 IUdrTriggerFactoryImpl = class(IUdrTriggerFactory)
3002 constructor create;
3003
3004 procedure dispose(); virtual; abstract;
3005 procedure setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); virtual; abstract;
3006 function newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; virtual; abstract;
3007 end;
3008
3009 UdrPluginVTable = class(VersionedVTable)
3010 getMaster: IUdrPlugin_getMasterPtr;
3011 registerFunction: IUdrPlugin_registerFunctionPtr;
3012 registerProcedure: IUdrPlugin_registerProcedurePtr;
3013 registerTrigger: IUdrPlugin_registerTriggerPtr;
3014 end;
3015
3016 IUdrPlugin = class(IVersioned)
3017 const VERSION = 4;
3018
3019 function getMaster(): IMaster;
3020 procedure registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory);
3021 procedure registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory);
3022 procedure registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory);
3023 end;
3024
3025 IUdrPluginImpl = class(IUdrPlugin)
3026 constructor create;
3027
3028 function getMaster(): IMaster; virtual; abstract;
3029 procedure registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); virtual; abstract;
3030 procedure registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); virtual; abstract;
3031 procedure registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); virtual; abstract;
3032 end;
3033
3034 // function fb_get_master_interface : IMaster; cdecl; external 'fbclient';
3035
3036 const
3037 { isc_dpb_version1 = byte(1);
3038 isc_dpb_version2 = byte(2);
3039 isc_dpb_cdd_pathname = byte(1);
3040 isc_dpb_allocation = byte(2);
3041 isc_dpb_journal = byte(3);
3042 isc_dpb_page_size = byte(4);
3043 isc_dpb_num_buffers = byte(5);
3044 isc_dpb_buffer_length = byte(6);
3045 isc_dpb_debug = byte(7);
3046 isc_dpb_garbage_collect = byte(8);
3047 isc_dpb_verify = byte(9);
3048 isc_dpb_sweep = byte(10);
3049 isc_dpb_enable_journal = byte(11);
3050 isc_dpb_disable_journal = byte(12);
3051 isc_dpb_dbkey_scope = byte(13);
3052 isc_dpb_number_of_users = byte(14);
3053 isc_dpb_trace = byte(15);
3054 isc_dpb_no_garbage_collect = byte(16);
3055 isc_dpb_damaged = byte(17);
3056 isc_dpb_license = byte(18);
3057 isc_dpb_sys_user_name = byte(19);
3058 isc_dpb_encrypt_key = byte(20);
3059 isc_dpb_activate_shadow = byte(21);
3060 isc_dpb_sweep_interval = byte(22);
3061 isc_dpb_delete_shadow = byte(23);
3062 isc_dpb_force_write = byte(24);
3063 isc_dpb_begin_log = byte(25);
3064 isc_dpb_quit_log = byte(26);
3065 isc_dpb_no_reserve = byte(27);
3066 isc_dpb_user_name = byte(28);
3067 isc_dpb_password = byte(29);
3068 isc_dpb_password_enc = byte(30);
3069 isc_dpb_sys_user_name_enc = byte(31);
3070 isc_dpb_interp = byte(32);
3071 isc_dpb_online_dump = byte(33);
3072 isc_dpb_old_file_size = byte(34);
3073 isc_dpb_old_num_files = byte(35);
3074 isc_dpb_old_file = byte(36);
3075 isc_dpb_old_start_page = byte(37);
3076 isc_dpb_old_start_seqno = byte(38);
3077 isc_dpb_old_start_file = byte(39);
3078 isc_dpb_drop_walfile = byte(40);
3079 isc_dpb_old_dump_id = byte(41);
3080 isc_dpb_wal_backup_dir = byte(42);
3081 isc_dpb_wal_chkptlen = byte(43);
3082 isc_dpb_wal_numbufs = byte(44);
3083 isc_dpb_wal_bufsize = byte(45);
3084 isc_dpb_wal_grp_cmt_wait = byte(46);
3085 isc_dpb_lc_messages = byte(47);
3086 isc_dpb_lc_ctype = byte(48);
3087 isc_dpb_cache_manager = byte(49);
3088 isc_dpb_shutdown = byte(50);
3089 isc_dpb_online = byte(51);
3090 isc_dpb_shutdown_delay = byte(52);
3091 isc_dpb_reserved = byte(53);
3092 isc_dpb_overwrite = byte(54);
3093 isc_dpb_sec_attach = byte(55);
3094 isc_dpb_disable_wal = byte(56);
3095 isc_dpb_connect_timeout = byte(57);
3096 isc_dpb_dummy_packet_interval = byte(58);
3097 isc_dpb_gbak_attach = byte(59);
3098 isc_dpb_sql_role_name = byte(60);
3099 isc_dpb_set_page_buffers = byte(61);
3100 isc_dpb_working_directory = byte(62);
3101 isc_dpb_sql_dialect = byte(63);
3102 isc_dpb_set_db_readonly = byte(64);
3103 isc_dpb_set_db_sql_dialect = byte(65);
3104 isc_dpb_gfix_attach = byte(66);
3105 isc_dpb_gstat_attach = byte(67);
3106 isc_dpb_set_db_charset = byte(68);
3107 isc_dpb_gsec_attach = byte(69);
3108 isc_dpb_address_path = byte(70);
3109 isc_dpb_process_id = byte(71);
3110 isc_dpb_no_db_triggers = byte(72);
3111 isc_dpb_trusted_auth = byte(73);
3112 isc_dpb_process_name = byte(74);
3113 isc_dpb_trusted_role = byte(75);
3114 isc_dpb_org_filename = byte(76);
3115 isc_dpb_utf8_filename = byte(77);
3116 isc_dpb_ext_call_depth = byte(78);
3117 isc_dpb_auth_block = byte(79);
3118 isc_dpb_client_version = byte(80);
3119 isc_dpb_remote_protocol = byte(81);
3120 isc_dpb_host_name = byte(82);
3121 isc_dpb_os_user = byte(83);
3122 isc_dpb_specific_auth_data = byte(84);
3123 isc_dpb_auth_plugin_list = byte(85);
3124 isc_dpb_auth_plugin_name = byte(86);
3125 isc_dpb_config = byte(87);
3126 isc_dpb_nolinger = byte(88);
3127 isc_dpb_reset_icu = byte(89);
3128 isc_dpb_map_attach = byte(90);
3129 isc_dpb_address = byte(1);
3130 isc_dpb_addr_protocol = byte(1);
3131 isc_dpb_addr_endpoint = byte(2);
3132 isc_dpb_pages = byte(1);
3133 isc_dpb_records = byte(2);
3134 isc_dpb_indices = byte(4);
3135 isc_dpb_transactions = byte(8);
3136 isc_dpb_no_update = byte(16);
3137 isc_dpb_repair = byte(32);
3138 isc_dpb_ignore = byte(64);
3139 isc_dpb_shut_cache = $1;
3140 isc_dpb_shut_attachment = $2;
3141 isc_dpb_shut_transaction = $4;
3142 isc_dpb_shut_force = $8;
3143 isc_dpb_shut_mode_mask = $70;
3144 isc_dpb_shut_default = $0;
3145 isc_dpb_shut_normal = $10;
3146 isc_dpb_shut_multi = $20;
3147 isc_dpb_shut_single = $30;
3148 isc_dpb_shut_full = $40;
3149 RDB_system = byte(1);
3150 RDB_id_assigned = byte(2);
3151 isc_tpb_version1 = byte(1);
3152 isc_tpb_version3 = byte(3);
3153 isc_tpb_consistency = byte(1);
3154 isc_tpb_concurrency = byte(2);
3155 isc_tpb_shared = byte(3);
3156 isc_tpb_protected = byte(4);
3157 isc_tpb_exclusive = byte(5);
3158 isc_tpb_wait = byte(6);
3159 isc_tpb_nowait = byte(7);
3160 isc_tpb_read = byte(8);
3161 isc_tpb_write = byte(9);
3162 isc_tpb_lock_read = byte(10);
3163 isc_tpb_lock_write = byte(11);
3164 isc_tpb_verb_time = byte(12);
3165 isc_tpb_commit_time = byte(13);
3166 isc_tpb_ignore_limbo = byte(14);
3167 isc_tpb_read_committed = byte(15);
3168 isc_tpb_autocommit = byte(16);
3169 isc_tpb_rec_version = byte(17);
3170 isc_tpb_no_rec_version = byte(18);
3171 isc_tpb_restart_requests = byte(19);
3172 isc_tpb_no_auto_undo = byte(20);
3173 isc_tpb_lock_timeout = byte(21);
3174 isc_bpb_version1 = byte(1);
3175 isc_bpb_source_type = byte(1);
3176 isc_bpb_target_type = byte(2);
3177 isc_bpb_type = byte(3);
3178 isc_bpb_source_interp = byte(4);
3179 isc_bpb_target_interp = byte(5);
3180 isc_bpb_filter_parameter = byte(6);
3181 isc_bpb_storage = byte(7);
3182 isc_bpb_type_segmented = $0;
3183 isc_bpb_type_stream = $1;
3184 isc_bpb_storage_main = $0;
3185 isc_bpb_storage_temp = $2;
3186 isc_spb_version1 = byte(1);
3187 isc_spb_current_version = byte(2);
3188 isc_spb_version3 = byte(3);
3189 isc_spb_command_line = byte(105);
3190 isc_spb_dbname = byte(106);
3191 isc_spb_verbose = byte(107);
3192 isc_spb_options = byte(108);
3193 isc_spb_address_path = byte(109);
3194 isc_spb_process_id = byte(110);
3195 isc_spb_trusted_auth = byte(111);
3196 isc_spb_process_name = byte(112);
3197 isc_spb_trusted_role = byte(113);
3198 isc_spb_verbint = byte(114);
3199 isc_spb_auth_block = byte(115);
3200 isc_spb_auth_plugin_name = byte(116);
3201 isc_spb_auth_plugin_list = byte(117);
3202 isc_spb_utf8_filename = byte(118);
3203 isc_spb_client_version = byte(119);
3204 isc_spb_remote_protocol = byte(120);
3205 isc_spb_host_name = byte(121);
3206 isc_spb_os_user = byte(122);
3207 isc_spb_config = byte(123);
3208 isc_spb_expected_db = byte(124);
3209 isc_action_svc_backup = byte(1);
3210 isc_action_svc_restore = byte(2);
3211 isc_action_svc_repair = byte(3);
3212 isc_action_svc_add_user = byte(4);
3213 isc_action_svc_delete_user = byte(5);
3214 isc_action_svc_modify_user = byte(6);
3215 isc_action_svc_display_user = byte(7);
3216 isc_action_svc_properties = byte(8);
3217 isc_action_svc_add_license = byte(9);
3218 isc_action_svc_remove_license = byte(10);
3219 isc_action_svc_db_stats = byte(11);
3220 isc_action_svc_get_ib_log = byte(12);
3221 isc_action_svc_get_fb_log = byte(12);
3222 isc_action_svc_nbak = byte(20);
3223 isc_action_svc_nrest = byte(21);
3224 isc_action_svc_trace_start = byte(22);
3225 isc_action_svc_trace_stop = byte(23);
3226 isc_action_svc_trace_suspend = byte(24);
3227 isc_action_svc_trace_resume = byte(25);
3228 isc_action_svc_trace_list = byte(26);
3229 isc_action_svc_set_mapping = byte(27);
3230 isc_action_svc_drop_mapping = byte(28);
3231 isc_action_svc_display_user_adm = byte(29);
3232 isc_action_svc_validate = byte(30);
3233 isc_action_svc_last = byte(31);
3234 isc_info_svc_svr_db_info = byte(50);
3235 isc_info_svc_get_license = byte(51);
3236 isc_info_svc_get_license_mask = byte(52);
3237 isc_info_svc_get_config = byte(53);
3238 isc_info_svc_version = byte(54);
3239 isc_info_svc_server_version = byte(55);
3240 isc_info_svc_implementation = byte(56);
3241 isc_info_svc_capabilities = byte(57);
3242 isc_info_svc_user_dbpath = byte(58);
3243 isc_info_svc_get_env = byte(59);
3244 isc_info_svc_get_env_lock = byte(60);
3245 isc_info_svc_get_env_msg = byte(61);
3246 isc_info_svc_line = byte(62);
3247 isc_info_svc_to_eof = byte(63);
3248 isc_info_svc_timeout = byte(64);
3249 isc_info_svc_get_licensed_users = byte(65);
3250 isc_info_svc_limbo_trans = byte(66);
3251 isc_info_svc_running = byte(67);
3252 isc_info_svc_get_users = byte(68);
3253 isc_info_svc_auth_block = byte(69);
3254 isc_info_svc_stdin = byte(78);
3255 isc_spb_sec_userid = byte(5);
3256 isc_spb_sec_groupid = byte(6);
3257 isc_spb_sec_username = byte(7);
3258 isc_spb_sec_password = byte(8);
3259 isc_spb_sec_groupname = byte(9);
3260 isc_spb_sec_firstname = byte(10);
3261 isc_spb_sec_middlename = byte(11);
3262 isc_spb_sec_lastname = byte(12);
3263 isc_spb_sec_admin = byte(13);
3264 isc_spb_lic_key = byte(5);
3265 isc_spb_lic_id = byte(6);
3266 isc_spb_lic_desc = byte(7);
3267 isc_spb_bkp_file = byte(5);
3268 isc_spb_bkp_factor = byte(6);
3269 isc_spb_bkp_length = byte(7);
3270 isc_spb_bkp_skip_data = byte(8);
3271 isc_spb_bkp_stat = byte(15);
3272 isc_spb_bkp_ignore_checksums = $01;
3273 isc_spb_bkp_ignore_limbo = $02;
3274 isc_spb_bkp_metadata_only = $04;
3275 isc_spb_bkp_no_garbage_collect = $08;
3276 isc_spb_bkp_old_descriptions = $10;
3277 isc_spb_bkp_non_transportable = $20;
3278 isc_spb_bkp_convert = $40;
3279 isc_spb_bkp_expand = $80;
3280 isc_spb_bkp_no_triggers = $8000;
3281 isc_spb_prp_page_buffers = byte(5);
3282 isc_spb_prp_sweep_interval = byte(6);
3283 isc_spb_prp_shutdown_db = byte(7);
3284 isc_spb_prp_deny_new_attachments = byte(9);
3285 isc_spb_prp_deny_new_transactions = byte(10);
3286 isc_spb_prp_reserve_space = byte(11);
3287 isc_spb_prp_write_mode = byte(12);
3288 isc_spb_prp_access_mode = byte(13);
3289 isc_spb_prp_set_sql_dialect = byte(14);
3290 isc_spb_prp_activate = $0100;
3291 isc_spb_prp_db_online = $0200;
3292 isc_spb_prp_nolinger = $0400;
3293 isc_spb_prp_force_shutdown = byte(41);
3294 isc_spb_prp_attachments_shutdown = byte(42);
3295 isc_spb_prp_transactions_shutdown = byte(43);
3296 isc_spb_prp_shutdown_mode = byte(44);
3297 isc_spb_prp_online_mode = byte(45);
3298 isc_spb_prp_sm_normal = byte(0);
3299 isc_spb_prp_sm_multi = byte(1);
3300 isc_spb_prp_sm_single = byte(2);
3301 isc_spb_prp_sm_full = byte(3);
3302 isc_spb_prp_res_use_full = byte(35);
3303 isc_spb_prp_res = byte(36);
3304 isc_spb_prp_wm_async = byte(37);
3305 isc_spb_prp_wm_sync = byte(38);
3306 isc_spb_prp_am_readonly = byte(39);
3307 isc_spb_prp_am_readwrite = byte(40);
3308 isc_spb_rpr_commit_trans = byte(15);
3309 isc_spb_rpr_rollback_trans = byte(34);
3310 isc_spb_rpr_recover_two_phase = byte(17);
3311 isc_spb_tra_id = byte(18);
3312 isc_spb_single_tra_id = byte(19);
3313 isc_spb_multi_tra_id = byte(20);
3314 isc_spb_tra_state = byte(21);
3315 isc_spb_tra_state_limbo = byte(22);
3316 isc_spb_tra_state_commit = byte(23);
3317 isc_spb_tra_state_rollback = byte(24);
3318 isc_spb_tra_state_unknown = byte(25);
3319 isc_spb_tra_host_site = byte(26);
3320 isc_spb_tra_remote_site = byte(27);
3321 isc_spb_tra_db_path = byte(28);
3322 isc_spb_tra_advise = byte(29);
3323 isc_spb_tra_advise_commit = byte(30);
3324 isc_spb_tra_advise_rollback = byte(31);
3325 isc_spb_tra_advise_unknown = byte(33);
3326 isc_spb_tra_id_64 = byte(46);
3327 isc_spb_single_tra_id_64 = byte(47);
3328 isc_spb_multi_tra_id_64 = byte(48);
3329 isc_spb_rpr_validate_db = $01;
3330 isc_spb_rpr_sweep_db = $02;
3331 isc_spb_rpr_mend_db = $04;
3332 isc_spb_rpr_list_limbo_trans = $08;
3333 isc_spb_rpr_check_db = $10;
3334 isc_spb_rpr_ignore_checksum = $20;
3335 isc_spb_rpr_kill_shadows = $40;
3336 isc_spb_rpr_full = $80;
3337 isc_spb_rpr_icu = $0800;
3338 isc_spb_res_buffers = byte(9);
3339 isc_spb_res_page_size = byte(10);
3340 isc_spb_res_length = byte(11);
3341 isc_spb_res_access_mode = byte(12);
3342 isc_spb_res_fix_fss_data = byte(13);
3343 isc_spb_res_fix_fss_metadata = byte(14);
3344 isc_spb_res_deactivate_idx = $0100;
3345 isc_spb_res_no_shadow = $0200;
3346 isc_spb_res_no_validity = $0400;
3347 isc_spb_res_one_at_a_time = $0800;
3348 isc_spb_res_replace = $1000;
3349 isc_spb_res_create = $2000;
3350 isc_spb_res_use_all_space = $4000;
3351 isc_spb_val_tab_incl = byte(1);
3352 isc_spb_val_tab_excl = byte(2);
3353 isc_spb_val_idx_incl = byte(3);
3354 isc_spb_val_idx_excl = byte(4);
3355 isc_spb_val_lock_timeout = byte(5);
3356 isc_spb_num_att = byte(5);
3357 isc_spb_num_db = byte(6);
3358 isc_spb_sts_table = byte(64);
3359 isc_spb_sts_data_pages = $01;
3360 isc_spb_sts_db_log = $02;
3361 isc_spb_sts_hdr_pages = $04;
3362 isc_spb_sts_idx_pages = $08;
3363 isc_spb_sts_sys_relations = $10;
3364 isc_spb_sts_record_versions = $20;
3365 isc_spb_sts_nocreation = $80;
3366 isc_spb_sts_encryption = $100;
3367 isc_spb_nbk_level = byte(5);
3368 isc_spb_nbk_file = byte(6);
3369 isc_spb_nbk_direct = byte(7);
3370 isc_spb_nbk_no_triggers = $01;
3371 isc_spb_trc_id = byte(1);
3372 isc_spb_trc_name = byte(2);
3373 isc_spb_trc_cfg = byte(3);
3374 isc_sdl_version1 = byte(1);
3375 isc_sdl_eoc = byte(255);
3376 isc_sdl_relation = byte(2);
3377 isc_sdl_rid = byte(3);
3378 isc_sdl_field = byte(4);
3379 isc_sdl_fid = byte(5);
3380 isc_sdl_struct = byte(6);
3381 isc_sdl_variable = byte(7);
3382 isc_sdl_scalar = byte(8);
3383 isc_sdl_tiny_integer = byte(9);
3384 isc_sdl_short_integer = byte(10);
3385 isc_sdl_long_integer = byte(11);
3386 isc_sdl_add = byte(13);
3387 isc_sdl_subtract = byte(14);
3388 isc_sdl_multiply = byte(15);
3389 isc_sdl_divide = byte(16);
3390 isc_sdl_negate = byte(17);
3391 isc_sdl_begin = byte(31);
3392 isc_sdl_end = byte(32);
3393 isc_sdl_do3 = byte(33);
3394 isc_sdl_do2 = byte(34);
3395 isc_sdl_do1 = byte(35);
3396 isc_sdl_element = byte(36);
3397 isc_blob_untyped = byte(0);
3398 isc_blob_text = byte(1);
3399 isc_blob_blr = byte(2);
3400 isc_blob_acl = byte(3);
3401 isc_blob_ranges = byte(4);
3402 isc_blob_summary = byte(5);
3403 isc_blob_format = byte(6);
3404 isc_blob_tra = byte(7);
3405 isc_blob_extfile = byte(8);
3406 isc_blob_debug_info = byte(9);
3407 isc_blob_max_predefined_subtype = byte(10);
3408 fb_shut_confirmation = byte(1);
3409 fb_shut_preproviders = byte(2);
3410 fb_shut_postproviders = byte(4);
3411 fb_shut_finish = byte(8);
3412 fb_shut_exit = byte(16);
3413 fb_cancel_disable = byte(1);
3414 fb_cancel_enable = byte(2);
3415 fb_cancel_raise = byte(3);
3416 fb_cancel_abort = byte(4);
3417 fb_dbg_version = byte(1);
3418 fb_dbg_end = byte(255);
3419 fb_dbg_map_src2blr = byte(2);
3420 fb_dbg_map_varname = byte(3);
3421 fb_dbg_map_argument = byte(4);
3422 fb_dbg_subproc = byte(5);
3423 fb_dbg_subfunc = byte(6);
3424 fb_dbg_map_curname = byte(7);
3425 fb_dbg_arg_input = byte(0);
3426 fb_dbg_arg_output = byte(1);}
3427 isc_facility = 20;
3428 isc_err_base = 335544320;
3429 isc_err_factor = 1;
3430 isc_arg_end = 0; (* end of argument list *)
3431 isc_arg_gds = 1; (* generic DSRI status value *)
3432 isc_arg_string = 2; (* string argument *)
3433 isc_arg_cstring = 3; (* count & string argument *)
3434 isc_arg_number = 4; (* numeric argument (long) *)
3435 isc_arg_interpreted = 5; (* interpreted status code (string) *)
3436 isc_arg_vms = 6; (* VAX/VMS status code (long) *)
3437 isc_arg_unix = 7; (* UNIX error code *)
3438 isc_arg_domain = 8; (* Apollo/Domain error code *)
3439 isc_arg_dos = 9; (* MSDOS/OS2 error code *)
3440 { isc_arith_except = 335544321;
3441 isc_bad_dbkey = 335544322;
3442 isc_bad_db_format = 335544323;
3443 isc_bad_db_handle = 335544324;
3444 isc_bad_dpb_content = 335544325;
3445 isc_bad_dpb_form = 335544326;
3446 isc_bad_req_handle = 335544327;
3447 isc_bad_segstr_handle = 335544328;
3448 isc_bad_segstr_id = 335544329;
3449 isc_bad_tpb_content = 335544330;
3450 isc_bad_tpb_form = 335544331;
3451 isc_bad_trans_handle = 335544332;
3452 isc_bug_check = 335544333;
3453 isc_convert_error = 335544334;
3454 isc_db_corrupt = 335544335;
3455 isc_deadlock = 335544336;
3456 isc_excess_trans = 335544337;
3457 isc_from_no_match = 335544338;
3458 isc_infinap = 335544339;
3459 isc_infona = 335544340;
3460 isc_infunk = 335544341;
3461 isc_integ_fail = 335544342;
3462 isc_invalid_blr = 335544343;
3463 isc_io_error = 335544344;
3464 isc_lock_conflict = 335544345;
3465 isc_metadata_corrupt = 335544346;
3466 isc_not_valid = 335544347;
3467 isc_no_cur_rec = 335544348;
3468 isc_no_dup = 335544349;
3469 isc_no_finish = 335544350;
3470 isc_no_meta_update = 335544351;
3471 isc_no_priv = 335544352;
3472 isc_no_recon = 335544353;
3473 isc_no_record = 335544354;
3474 isc_no_segstr_close = 335544355;
3475 isc_obsolete_metadata = 335544356;
3476 isc_open_trans = 335544357;
3477 isc_port_len = 335544358;
3478 isc_read_only_field = 335544359;
3479 isc_read_only_rel = 335544360;
3480 isc_read_only_trans = 335544361;
3481 isc_read_only_view = 335544362;
3482 isc_req_no_trans = 335544363;
3483 isc_req_sync = 335544364;
3484 isc_req_wrong_db = 335544365;
3485 isc_segment = 335544366;
3486 isc_segstr_eof = 335544367;
3487 isc_segstr_no_op = 335544368;
3488 isc_segstr_no_read = 335544369;
3489 isc_segstr_no_trans = 335544370;
3490 isc_segstr_no_write = 335544371;
3491 isc_segstr_wrong_db = 335544372;
3492 isc_sys_request = 335544373;
3493 isc_stream_eof = 335544374;
3494 isc_unavailable = 335544375;
3495 isc_unres_rel = 335544376;
3496 isc_uns_ext = 335544377;
3497 isc_wish_list = 335544378;
3498 isc_wrong_ods = 335544379;
3499 isc_wronumarg = 335544380;
3500 isc_imp_exc = 335544381;
3501 isc_random = 335544382;
3502 isc_fatal_conflict = 335544383;
3503 isc_badblk = 335544384;
3504 isc_invpoolcl = 335544385;
3505 isc_nopoolids = 335544386;
3506 isc_relbadblk = 335544387;
3507 isc_blktoobig = 335544388;
3508 isc_bufexh = 335544389;
3509 isc_syntaxerr = 335544390;
3510 isc_bufinuse = 335544391;
3511 isc_bdbincon = 335544392;
3512 isc_reqinuse = 335544393;
3513 isc_badodsver = 335544394;
3514 isc_relnotdef = 335544395;
3515 isc_fldnotdef = 335544396;
3516 isc_dirtypage = 335544397;
3517 isc_waifortra = 335544398;
3518 isc_doubleloc = 335544399;
3519 isc_nodnotfnd = 335544400;
3520 isc_dupnodfnd = 335544401;
3521 isc_locnotmar = 335544402;
3522 isc_badpagtyp = 335544403;
3523 isc_corrupt = 335544404;
3524 isc_badpage = 335544405;
3525 isc_badindex = 335544406;
3526 isc_dbbnotzer = 335544407;
3527 isc_tranotzer = 335544408;
3528 isc_trareqmis = 335544409;
3529 isc_badhndcnt = 335544410;
3530 isc_wrotpbver = 335544411;
3531 isc_wroblrver = 335544412;
3532 isc_wrodpbver = 335544413;
3533 isc_blobnotsup = 335544414;
3534 isc_badrelation = 335544415;
3535 isc_nodetach = 335544416;
3536 isc_notremote = 335544417;
3537 isc_trainlim = 335544418;
3538 isc_notinlim = 335544419;
3539 isc_traoutsta = 335544420;
3540 isc_connect_reject = 335544421;
3541 isc_dbfile = 335544422;
3542 isc_orphan = 335544423;
3543 isc_no_lock_mgr = 335544424;
3544 isc_ctxinuse = 335544425;
3545 isc_ctxnotdef = 335544426;
3546 isc_datnotsup = 335544427;
3547 isc_badmsgnum = 335544428;
3548 isc_badparnum = 335544429;
3549 isc_virmemexh = 335544430;
3550 isc_blocking_signal = 335544431;
3551 isc_lockmanerr = 335544432;
3552 isc_journerr = 335544433;
3553 isc_keytoobig = 335544434;
3554 isc_nullsegkey = 335544435;
3555 isc_sqlerr = 335544436;
3556 isc_wrodynver = 335544437;
3557 isc_funnotdef = 335544438;
3558 isc_funmismat = 335544439;
3559 isc_bad_msg_vec = 335544440;
3560 isc_bad_detach = 335544441;
3561 isc_noargacc_read = 335544442;
3562 isc_noargacc_write = 335544443;
3563 isc_read_only = 335544444;
3564 isc_ext_err = 335544445;
3565 isc_non_updatable = 335544446;
3566 isc_no_rollback = 335544447;
3567 isc_bad_sec_info = 335544448;
3568 isc_invalid_sec_info = 335544449;
3569 isc_misc_interpreted = 335544450;
3570 isc_update_conflict = 335544451;
3571 isc_unlicensed = 335544452;
3572 isc_obj_in_use = 335544453;
3573 isc_nofilter = 335544454;
3574 isc_shadow_accessed = 335544455;
3575 isc_invalid_sdl = 335544456;
3576 isc_out_of_bounds = 335544457;
3577 isc_invalid_dimension = 335544458;
3578 isc_rec_in_limbo = 335544459;
3579 isc_shadow_missing = 335544460;
3580 isc_cant_validate = 335544461;
3581 isc_cant_start_journal = 335544462;
3582 isc_gennotdef = 335544463;
3583 isc_cant_start_logging = 335544464;
3584 isc_bad_segstr_type = 335544465;
3585 isc_foreign_key = 335544466;
3586 isc_high_minor = 335544467;
3587 isc_tra_state = 335544468;
3588 isc_trans_invalid = 335544469;
3589 isc_buf_invalid = 335544470;
3590 isc_indexnotdefined = 335544471;
3591 isc_login = 335544472;
3592 isc_invalid_bookmark = 335544473;
3593 isc_bad_lock_level = 335544474;
3594 isc_relation_lock = 335544475;
3595 isc_record_lock = 335544476;
3596 isc_max_idx = 335544477;
3597 isc_jrn_enable = 335544478;
3598 isc_old_failure = 335544479;
3599 isc_old_in_progress = 335544480;
3600 isc_old_no_space = 335544481;
3601 isc_no_wal_no_jrn = 335544482;
3602 isc_num_old_files = 335544483;
3603 isc_wal_file_open = 335544484;
3604 isc_bad_stmt_handle = 335544485;
3605 isc_wal_failure = 335544486;
3606 isc_walw_err = 335544487;
3607 isc_logh_small = 335544488;
3608 isc_logh_inv_version = 335544489;
3609 isc_logh_open_flag = 335544490;
3610 isc_logh_open_flag2 = 335544491;
3611 isc_logh_diff_dbname = 335544492;
3612 isc_logf_unexpected_eof = 335544493;
3613 isc_logr_incomplete = 335544494;
3614 isc_logr_header_small = 335544495;
3615 isc_logb_small = 335544496;
3616 isc_wal_illegal_attach = 335544497;
3617 isc_wal_invalid_wpb = 335544498;
3618 isc_wal_err_rollover = 335544499;
3619 isc_no_wal = 335544500;
3620 isc_drop_wal = 335544501;
3621 isc_stream_not_defined = 335544502;
3622 isc_wal_subsys_error = 335544503;
3623 isc_wal_subsys_corrupt = 335544504;
3624 isc_no_archive = 335544505;
3625 isc_shutinprog = 335544506;
3626 isc_range_in_use = 335544507;
3627 isc_range_not_found = 335544508;
3628 isc_charset_not_found = 335544509;
3629 isc_lock_timeout = 335544510;
3630 isc_prcnotdef = 335544511;
3631 isc_prcmismat = 335544512;
3632 isc_wal_bugcheck = 335544513;
3633 isc_wal_cant_expand = 335544514;
3634 isc_codnotdef = 335544515;
3635 isc_xcpnotdef = 335544516;
3636 isc_except = 335544517;
3637 isc_cache_restart = 335544518;
3638 isc_bad_lock_handle = 335544519;
3639 isc_jrn_present = 335544520;
3640 isc_wal_err_rollover2 = 335544521;
3641 isc_wal_err_logwrite = 335544522;
3642 isc_wal_err_jrn_comm = 335544523;
3643 isc_wal_err_expansion = 335544524;
3644 isc_wal_err_setup = 335544525;
3645 isc_wal_err_ww_sync = 335544526;
3646 isc_wal_err_ww_start = 335544527;
3647 isc_shutdown = 335544528;
3648 isc_existing_priv_mod = 335544529;
3649 isc_primary_key_ref = 335544530;
3650 isc_primary_key_notnull = 335544531;
3651 isc_ref_cnstrnt_notfound = 335544532;
3652 isc_foreign_key_notfound = 335544533;
3653 isc_ref_cnstrnt_update = 335544534;
3654 isc_check_cnstrnt_update = 335544535;
3655 isc_check_cnstrnt_del = 335544536;
3656 isc_integ_index_seg_del = 335544537;
3657 isc_integ_index_seg_mod = 335544538;
3658 isc_integ_index_del = 335544539;
3659 isc_integ_index_mod = 335544540;
3660 isc_check_trig_del = 335544541;
3661 isc_check_trig_update = 335544542;
3662 isc_cnstrnt_fld_del = 335544543;
3663 isc_cnstrnt_fld_rename = 335544544;
3664 isc_rel_cnstrnt_update = 335544545;
3665 isc_constaint_on_view = 335544546;
3666 isc_invld_cnstrnt_type = 335544547;
3667 isc_primary_key_exists = 335544548;
3668 isc_systrig_update = 335544549;
3669 isc_not_rel_owner = 335544550;
3670 isc_grant_obj_notfound = 335544551;
3671 isc_grant_fld_notfound = 335544552;
3672 isc_grant_nopriv = 335544553;
3673 isc_nonsql_security_rel = 335544554;
3674 isc_nonsql_security_fld = 335544555;
3675 isc_wal_cache_err = 335544556;
3676 isc_shutfail = 335544557;
3677 isc_check_constraint = 335544558;
3678 isc_bad_svc_handle = 335544559;
3679 isc_shutwarn = 335544560;
3680 isc_wrospbver = 335544561;
3681 isc_bad_spb_form = 335544562;
3682 isc_svcnotdef = 335544563;
3683 isc_no_jrn = 335544564;
3684 isc_transliteration_failed = 335544565;
3685 isc_start_cm_for_wal = 335544566;
3686 isc_wal_ovflow_log_required = 335544567;
3687 isc_text_subtype = 335544568;
3688 isc_dsql_error = 335544569;
3689 isc_dsql_command_err = 335544570;
3690 isc_dsql_constant_err = 335544571;
3691 isc_dsql_cursor_err = 335544572;
3692 isc_dsql_datatype_err = 335544573;
3693 isc_dsql_decl_err = 335544574;
3694 isc_dsql_cursor_update_err = 335544575;
3695 isc_dsql_cursor_open_err = 335544576;
3696 isc_dsql_cursor_close_err = 335544577;
3697 isc_dsql_field_err = 335544578;
3698 isc_dsql_internal_err = 335544579;
3699 isc_dsql_relation_err = 335544580;
3700 isc_dsql_procedure_err = 335544581;
3701 isc_dsql_request_err = 335544582;
3702 isc_dsql_sqlda_err = 335544583;
3703 isc_dsql_var_count_err = 335544584;
3704 isc_dsql_stmt_handle = 335544585;
3705 isc_dsql_function_err = 335544586;
3706 isc_dsql_blob_err = 335544587;
3707 isc_collation_not_found = 335544588;
3708 isc_collation_not_for_charset = 335544589;
3709 isc_dsql_dup_option = 335544590;
3710 isc_dsql_tran_err = 335544591;
3711 isc_dsql_invalid_array = 335544592;
3712 isc_dsql_max_arr_dim_exceeded = 335544593;
3713 isc_dsql_arr_range_error = 335544594;
3714 isc_dsql_trigger_err = 335544595;
3715 isc_dsql_subselect_err = 335544596;
3716 isc_dsql_crdb_prepare_err = 335544597;
3717 isc_specify_field_err = 335544598;
3718 isc_num_field_err = 335544599;
3719 isc_col_name_err = 335544600;
3720 isc_where_err = 335544601;
3721 isc_table_view_err = 335544602;
3722 isc_distinct_err = 335544603;
3723 isc_key_field_count_err = 335544604;
3724 isc_subquery_err = 335544605;
3725 isc_expression_eval_err = 335544606;
3726 isc_node_err = 335544607;
3727 isc_command_end_err = 335544608;
3728 isc_index_name = 335544609;
3729 isc_exception_name = 335544610;
3730 isc_field_name = 335544611;
3731 isc_token_err = 335544612;
3732 isc_union_err = 335544613;
3733 isc_dsql_construct_err = 335544614;
3734 isc_field_aggregate_err = 335544615;
3735 isc_field_ref_err = 335544616;
3736 isc_order_by_err = 335544617;
3737 isc_return_mode_err = 335544618;
3738 isc_extern_func_err = 335544619;
3739 isc_alias_conflict_err = 335544620;
3740 isc_procedure_conflict_error = 335544621;
3741 isc_relation_conflict_err = 335544622;
3742 isc_dsql_domain_err = 335544623;
3743 isc_idx_seg_err = 335544624;
3744 isc_node_name_err = 335544625;
3745 isc_table_name = 335544626;
3746 isc_proc_name = 335544627;
3747 isc_idx_create_err = 335544628;
3748 isc_wal_shadow_err = 335544629;
3749 isc_dependency = 335544630;
3750 isc_idx_key_err = 335544631;
3751 isc_dsql_file_length_err = 335544632;
3752 isc_dsql_shadow_number_err = 335544633;
3753 isc_dsql_token_unk_err = 335544634;
3754 isc_dsql_no_relation_alias = 335544635;
3755 isc_indexname = 335544636;
3756 isc_no_stream_plan = 335544637;
3757 isc_stream_twice = 335544638;
3758 isc_stream_not_found = 335544639;
3759 isc_collation_requires_text = 335544640;
3760 isc_dsql_domain_not_found = 335544641;
3761 isc_index_unused = 335544642;
3762 isc_dsql_self_join = 335544643;
3763 isc_stream_bof = 335544644;
3764 isc_stream_crack = 335544645;
3765 isc_db_or_file_exists = 335544646;
3766 isc_invalid_operator = 335544647;
3767 isc_conn_lost = 335544648;
3768 isc_bad_checksum = 335544649;
3769 isc_page_type_err = 335544650;
3770 isc_ext_readonly_err = 335544651;
3771 isc_sing_select_err = 335544652;
3772 isc_psw_attach = 335544653;
3773 isc_psw_start_trans = 335544654;
3774 isc_invalid_direction = 335544655;
3775 isc_dsql_var_conflict = 335544656;
3776 isc_dsql_no_blob_array = 335544657;
3777 isc_dsql_base_table = 335544658;
3778 isc_duplicate_base_table = 335544659;
3779 isc_view_alias = 335544660;
3780 isc_index_root_page_full = 335544661;
3781 isc_dsql_blob_type_unknown = 335544662;
3782 isc_req_max_clones_exceeded = 335544663;
3783 isc_dsql_duplicate_spec = 335544664;
3784 isc_unique_key_violation = 335544665;
3785 isc_srvr_version_too_old = 335544666;
3786 isc_drdb_completed_with_errs = 335544667;
3787 isc_dsql_procedure_use_err = 335544668;
3788 isc_dsql_count_mismatch = 335544669;
3789 isc_blob_idx_err = 335544670;
3790 isc_array_idx_err = 335544671;
3791 isc_key_field_err = 335544672;
3792 isc_no_delete = 335544673;
3793 isc_del_last_field = 335544674;
3794 isc_sort_err = 335544675;
3795 isc_sort_mem_err = 335544676;
3796 isc_version_err = 335544677;
3797 isc_inval_key_posn = 335544678;
3798 isc_no_segments_err = 335544679;
3799 isc_crrp_data_err = 335544680;
3800 isc_rec_size_err = 335544681;
3801 isc_dsql_field_ref = 335544682;
3802 isc_req_depth_exceeded = 335544683;
3803 isc_no_field_access = 335544684;
3804 isc_no_dbkey = 335544685;
3805 isc_jrn_format_err = 335544686;
3806 isc_jrn_file_full = 335544687;
3807 isc_dsql_open_cursor_request = 335544688;
3808 isc_ib_error = 335544689;
3809 isc_cache_redef = 335544690;
3810 isc_cache_too_small = 335544691;
3811 isc_log_redef = 335544692;
3812 isc_log_too_small = 335544693;
3813 isc_partition_too_small = 335544694;
3814 isc_partition_not_supp = 335544695;
3815 isc_log_length_spec = 335544696;
3816 isc_precision_err = 335544697;
3817 isc_scale_nogt = 335544698;
3818 isc_expec_short = 335544699;
3819 isc_expec_long = 335544700;
3820 isc_expec_ushort = 335544701;
3821 isc_escape_invalid = 335544702;
3822 isc_svcnoexe = 335544703;
3823 isc_net_lookup_err = 335544704;
3824 isc_service_unknown = 335544705;
3825 isc_host_unknown = 335544706;
3826 isc_grant_nopriv_on_base = 335544707;
3827 isc_dyn_fld_ambiguous = 335544708;
3828 isc_dsql_agg_ref_err = 335544709;
3829 isc_complex_view = 335544710;
3830 isc_unprepared_stmt = 335544711;
3831 isc_expec_positive = 335544712;
3832 isc_dsql_sqlda_value_err = 335544713;
3833 isc_invalid_array_id = 335544714;
3834 isc_extfile_uns_op = 335544715;
3835 isc_svc_in_use = 335544716;
3836 isc_err_stack_limit = 335544717;
3837 isc_invalid_key = 335544718;
3838 isc_net_init_error = 335544719;
3839 isc_loadlib_failure = 335544720;
3840 isc_network_error = 335544721;
3841 isc_net_connect_err = 335544722;
3842 isc_net_connect_listen_err = 335544723;
3843 isc_net_event_connect_err = 335544724;
3844 isc_net_event_listen_err = 335544725;
3845 isc_net_read_err = 335544726;
3846 isc_net_write_err = 335544727;
3847 isc_integ_index_deactivate = 335544728;
3848 isc_integ_deactivate_primary = 335544729;
3849 isc_cse_not_supported = 335544730;
3850 isc_tra_must_sweep = 335544731;
3851 isc_unsupported_network_drive = 335544732;
3852 isc_io_create_err = 335544733;
3853 isc_io_open_err = 335544734;
3854 isc_io_close_err = 335544735;
3855 isc_io_read_err = 335544736;
3856 isc_io_write_err = 335544737;
3857 isc_io_delete_err = 335544738;
3858 isc_io_access_err = 335544739;
3859 isc_udf_exception = 335544740;
3860 isc_lost_db_connection = 335544741;
3861 isc_no_write_user_priv = 335544742;
3862 isc_token_too_long = 335544743;
3863 isc_max_att_exceeded = 335544744;
3864 isc_login_same_as_role_name = 335544745;
3865 isc_reftable_requires_pk = 335544746;
3866 isc_usrname_too_long = 335544747;
3867 isc_password_too_long = 335544748;
3868 isc_usrname_required = 335544749;
3869 isc_password_required = 335544750;
3870 isc_bad_protocol = 335544751;
3871 isc_dup_usrname_found = 335544752;
3872 isc_usrname_not_found = 335544753;
3873 isc_error_adding_sec_record = 335544754;
3874 isc_error_modifying_sec_record = 335544755;
3875 isc_error_deleting_sec_record = 335544756;
3876 isc_error_updating_sec_db = 335544757;
3877 isc_sort_rec_size_err = 335544758;
3878 isc_bad_default_value = 335544759;
3879 isc_invalid_clause = 335544760;
3880 isc_too_many_handles = 335544761;
3881 isc_optimizer_blk_exc = 335544762;
3882 isc_invalid_string_constant = 335544763;
3883 isc_transitional_date = 335544764;
3884 isc_read_only_database = 335544765;
3885 isc_must_be_dialect_2_and_up = 335544766;
3886 isc_blob_filter_exception = 335544767;
3887 isc_exception_access_violation = 335544768;
3888 isc_exception_datatype_missalignment = 335544769;
3889 isc_exception_array_bounds_exceeded = 335544770;
3890 isc_exception_float_denormal_operand = 335544771;
3891 isc_exception_float_divide_by_zero = 335544772;
3892 isc_exception_float_inexact_result = 335544773;
3893 isc_exception_float_invalid_operand = 335544774;
3894 isc_exception_float_overflow = 335544775;
3895 isc_exception_float_stack_check = 335544776;
3896 isc_exception_float_underflow = 335544777;
3897 isc_exception_integer_divide_by_zero = 335544778;
3898 isc_exception_integer_overflow = 335544779;
3899 isc_exception_unknown = 335544780;
3900 isc_exception_stack_overflow = 335544781;
3901 isc_exception_sigsegv = 335544782;
3902 isc_exception_sigill = 335544783;
3903 isc_exception_sigbus = 335544784;
3904 isc_exception_sigfpe = 335544785;
3905 isc_ext_file_delete = 335544786;
3906 isc_ext_file_modify = 335544787;
3907 isc_adm_task_denied = 335544788;
3908 isc_extract_input_mismatch = 335544789;
3909 isc_insufficient_svc_privileges = 335544790;
3910 isc_file_in_use = 335544791;
3911 isc_service_att_err = 335544792;
3912 isc_ddl_not_allowed_by_db_sql_dial = 335544793;
3913 isc_cancelled = 335544794;
3914 isc_unexp_spb_form = 335544795;
3915 isc_sql_dialect_datatype_unsupport = 335544796;
3916 isc_svcnouser = 335544797;
3917 isc_depend_on_uncommitted_rel = 335544798;
3918 isc_svc_name_missing = 335544799;
3919 isc_too_many_contexts = 335544800;
3920 isc_datype_notsup = 335544801;
3921 isc_dialect_reset_warning = 335544802;
3922 isc_dialect_not_changed = 335544803;
3923 isc_database_create_failed = 335544804;
3924 isc_inv_dialect_specified = 335544805;
3925 isc_valid_db_dialects = 335544806;
3926 isc_sqlwarn = 335544807;
3927 isc_dtype_renamed = 335544808;
3928 isc_extern_func_dir_error = 335544809;
3929 isc_date_range_exceeded = 335544810;
3930 isc_inv_client_dialect_specified = 335544811;
3931 isc_valid_client_dialects = 335544812;
3932 isc_optimizer_between_err = 335544813;
3933 isc_service_not_supported = 335544814;
3934 isc_generator_name = 335544815;
3935 isc_udf_name = 335544816;
3936 isc_bad_limit_param = 335544817;
3937 isc_bad_skip_param = 335544818;
3938 isc_io_32bit_exceeded_err = 335544819;
3939 isc_invalid_savepoint = 335544820;
3940 isc_dsql_column_pos_err = 335544821;
3941 isc_dsql_agg_where_err = 335544822;
3942 isc_dsql_agg_group_err = 335544823;
3943 isc_dsql_agg_column_err = 335544824;
3944 isc_dsql_agg_having_err = 335544825;
3945 isc_dsql_agg_nested_err = 335544826;
3946 isc_exec_sql_invalid_arg = 335544827;
3947 isc_exec_sql_invalid_req = 335544828;
3948 isc_exec_sql_invalid_var = 335544829;
3949 isc_exec_sql_max_call_exceeded = 335544830;
3950 isc_conf_access_denied = 335544831;
3951 isc_wrong_backup_state = 335544832;
3952 isc_wal_backup_err = 335544833;
3953 isc_cursor_not_open = 335544834;
3954 isc_bad_shutdown_mode = 335544835;
3955 isc_concat_overflow = 335544836;
3956 isc_bad_substring_offset = 335544837;
3957 isc_foreign_key_target_doesnt_exist = 335544838;
3958 isc_foreign_key_references_present = 335544839;
3959 isc_no_update = 335544840;
3960 isc_cursor_already_open = 335544841;
3961 isc_stack_trace = 335544842;
3962 isc_ctx_var_not_found = 335544843;
3963 isc_ctx_namespace_invalid = 335544844;
3964 isc_ctx_too_big = 335544845;
3965 isc_ctx_bad_argument = 335544846;
3966 isc_identifier_too_long = 335544847;
3967 isc_except2 = 335544848;
3968 isc_malformed_string = 335544849;
3969 isc_prc_out_param_mismatch = 335544850;
3970 isc_command_end_err2 = 335544851;
3971 isc_partner_idx_incompat_type = 335544852;
3972 isc_bad_substring_length = 335544853;
3973 isc_charset_not_installed = 335544854;
3974 isc_collation_not_installed = 335544855;
3975 isc_att_shutdown = 335544856;
3976 isc_blobtoobig = 335544857;
3977 isc_must_have_phys_field = 335544858;
3978 isc_invalid_time_precision = 335544859;
3979 isc_blob_convert_error = 335544860;
3980 isc_array_convert_error = 335544861;
3981 isc_record_lock_not_supp = 335544862;
3982 isc_partner_idx_not_found = 335544863;
3983 isc_tra_num_exc = 335544864;
3984 isc_field_disappeared = 335544865;
3985 isc_met_wrong_gtt_scope = 335544866;
3986 isc_subtype_for_internal_use = 335544867;
3987 isc_illegal_prc_type = 335544868;
3988 isc_invalid_sort_datatype = 335544869;
3989 isc_collation_name = 335544870;
3990 isc_domain_name = 335544871;
3991 isc_domnotdef = 335544872;
3992 isc_array_max_dimensions = 335544873;
3993 isc_max_db_per_trans_allowed = 335544874;
3994 isc_bad_debug_format = 335544875;
3995 isc_bad_proc_BLR = 335544876;
3996 isc_key_too_big = 335544877;
3997 isc_concurrent_transaction = 335544878;
3998 isc_not_valid_for_var = 335544879;
3999 isc_not_valid_for = 335544880;
4000 isc_need_difference = 335544881;
4001 isc_long_login = 335544882;
4002 isc_fldnotdef2 = 335544883;
4003 isc_invalid_similar_pattern = 335544884;
4004 isc_bad_teb_form = 335544885;
4005 isc_tpb_multiple_txn_isolation = 335544886;
4006 isc_tpb_reserv_before_table = 335544887;
4007 isc_tpb_multiple_spec = 335544888;
4008 isc_tpb_option_without_rc = 335544889;
4009 isc_tpb_conflicting_options = 335544890;
4010 isc_tpb_reserv_missing_tlen = 335544891;
4011 isc_tpb_reserv_long_tlen = 335544892;
4012 isc_tpb_reserv_missing_tname = 335544893;
4013 isc_tpb_reserv_corrup_tlen = 335544894;
4014 isc_tpb_reserv_null_tlen = 335544895;
4015 isc_tpb_reserv_relnotfound = 335544896;
4016 isc_tpb_reserv_baserelnotfound = 335544897;
4017 isc_tpb_missing_len = 335544898;
4018 isc_tpb_missing_value = 335544899;
4019 isc_tpb_corrupt_len = 335544900;
4020 isc_tpb_null_len = 335544901;
4021 isc_tpb_overflow_len = 335544902;
4022 isc_tpb_invalid_value = 335544903;
4023 isc_tpb_reserv_stronger_wng = 335544904;
4024 isc_tpb_reserv_stronger = 335544905;
4025 isc_tpb_reserv_max_recursion = 335544906;
4026 isc_tpb_reserv_virtualtbl = 335544907;
4027 isc_tpb_reserv_systbl = 335544908;
4028 isc_tpb_reserv_temptbl = 335544909;
4029 isc_tpb_readtxn_after_writelock = 335544910;
4030 isc_tpb_writelock_after_readtxn = 335544911;
4031 isc_time_range_exceeded = 335544912;
4032 isc_datetime_range_exceeded = 335544913;
4033 isc_string_truncation = 335544914;
4034 isc_blob_truncation = 335544915;
4035 isc_numeric_out_of_range = 335544916;
4036 isc_shutdown_timeout = 335544917;
4037 isc_att_handle_busy = 335544918;
4038 isc_bad_udf_freeit = 335544919;
4039 isc_eds_provider_not_found = 335544920;
4040 isc_eds_connection = 335544921;
4041 isc_eds_preprocess = 335544922;
4042 isc_eds_stmt_expected = 335544923;
4043 isc_eds_prm_name_expected = 335544924;
4044 isc_eds_unclosed_comment = 335544925;
4045 isc_eds_statement = 335544926;
4046 isc_eds_input_prm_mismatch = 335544927;
4047 isc_eds_output_prm_mismatch = 335544928;
4048 isc_eds_input_prm_not_set = 335544929;
4049 isc_too_big_blr = 335544930;
4050 isc_montabexh = 335544931;
4051 isc_modnotfound = 335544932;
4052 isc_nothing_to_cancel = 335544933;
4053 isc_ibutil_not_loaded = 335544934;
4054 isc_circular_computed = 335544935;
4055 isc_psw_db_error = 335544936;
4056 isc_invalid_type_datetime_op = 335544937;
4057 isc_onlycan_add_timetodate = 335544938;
4058 isc_onlycan_add_datetotime = 335544939;
4059 isc_onlycansub_tstampfromtstamp = 335544940;
4060 isc_onlyoneop_mustbe_tstamp = 335544941;
4061 isc_invalid_extractpart_time = 335544942;
4062 isc_invalid_extractpart_date = 335544943;
4063 isc_invalidarg_extract = 335544944;
4064 isc_sysf_argmustbe_exact = 335544945;
4065 isc_sysf_argmustbe_exact_or_fp = 335544946;
4066 isc_sysf_argviolates_uuidtype = 335544947;
4067 isc_sysf_argviolates_uuidlen = 335544948;
4068 isc_sysf_argviolates_uuidfmt = 335544949;
4069 isc_sysf_argviolates_guidigits = 335544950;
4070 isc_sysf_invalid_addpart_time = 335544951;
4071 isc_sysf_invalid_add_datetime = 335544952;
4072 isc_sysf_invalid_addpart_dtime = 335544953;
4073 isc_sysf_invalid_add_dtime_rc = 335544954;
4074 isc_sysf_invalid_diff_dtime = 335544955;
4075 isc_sysf_invalid_timediff = 335544956;
4076 isc_sysf_invalid_tstamptimediff = 335544957;
4077 isc_sysf_invalid_datetimediff = 335544958;
4078 isc_sysf_invalid_diffpart = 335544959;
4079 isc_sysf_argmustbe_positive = 335544960;
4080 isc_sysf_basemustbe_positive = 335544961;
4081 isc_sysf_argnmustbe_nonneg = 335544962;
4082 isc_sysf_argnmustbe_positive = 335544963;
4083 isc_sysf_invalid_zeropowneg = 335544964;
4084 isc_sysf_invalid_negpowfp = 335544965;
4085 isc_sysf_invalid_scale = 335544966;
4086 isc_sysf_argmustbe_nonneg = 335544967;
4087 isc_sysf_binuuid_mustbe_str = 335544968;
4088 isc_sysf_binuuid_wrongsize = 335544969;
4089 isc_missing_required_spb = 335544970;
4090 isc_net_server_shutdown = 335544971;
4091 isc_bad_conn_str = 335544972;
4092 isc_bad_epb_form = 335544973;
4093 isc_no_threads = 335544974;
4094 isc_net_event_connect_timeout = 335544975;
4095 isc_sysf_argmustbe_nonzero = 335544976;
4096 isc_sysf_argmustbe_range_inc1_1 = 335544977;
4097 isc_sysf_argmustbe_gteq_one = 335544978;
4098 isc_sysf_argmustbe_range_exc1_1 = 335544979;
4099 isc_internal_rejected_params = 335544980;
4100 isc_sysf_fp_overflow = 335544981;
4101 isc_udf_fp_overflow = 335544982;
4102 isc_udf_fp_nan = 335544983;
4103 isc_instance_conflict = 335544984;
4104 isc_out_of_temp_space = 335544985;
4105 isc_eds_expl_tran_ctrl = 335544986;
4106 isc_no_trusted_spb = 335544987;
4107 isc_package_name = 335544988;
4108 isc_cannot_make_not_null = 335544989;
4109 isc_feature_removed = 335544990;
4110 isc_view_name = 335544991;
4111 isc_lock_dir_access = 335544992;
4112 isc_invalid_fetch_option = 335544993;
4113 isc_bad_fun_BLR = 335544994;
4114 isc_func_pack_not_implemented = 335544995;
4115 isc_proc_pack_not_implemented = 335544996;
4116 isc_eem_func_not_returned = 335544997;
4117 isc_eem_proc_not_returned = 335544998;
4118 isc_eem_trig_not_returned = 335544999;
4119 isc_eem_bad_plugin_ver = 335545000;
4120 isc_eem_engine_notfound = 335545001;
4121 isc_attachment_in_use = 335545002;
4122 isc_transaction_in_use = 335545003;
4123 isc_pman_cannot_load_plugin = 335545004;
4124 isc_pman_module_notfound = 335545005;
4125 isc_pman_entrypoint_notfound = 335545006;
4126 isc_pman_module_bad = 335545007;
4127 isc_pman_plugin_notfound = 335545008;
4128 isc_sysf_invalid_trig_namespace = 335545009;
4129 isc_unexpected_null = 335545010;
4130 isc_type_notcompat_blob = 335545011;
4131 isc_invalid_date_val = 335545012;
4132 isc_invalid_time_val = 335545013;
4133 isc_invalid_timestamp_val = 335545014;
4134 isc_invalid_index_val = 335545015;
4135 isc_formatted_exception = 335545016;
4136 isc_async_active = 335545017;
4137 isc_private_function = 335545018;
4138 isc_private_procedure = 335545019;
4139 isc_request_outdated = 335545020;
4140 isc_bad_events_handle = 335545021;
4141 isc_cannot_copy_stmt = 335545022;
4142 isc_invalid_boolean_usage = 335545023;
4143 isc_sysf_argscant_both_be_zero = 335545024;
4144 isc_spb_no_id = 335545025;
4145 isc_ee_blr_mismatch_null = 335545026;
4146 isc_ee_blr_mismatch_length = 335545027;
4147 isc_ss_out_of_bounds = 335545028;
4148 isc_missing_data_structures = 335545029;
4149 isc_protect_sys_tab = 335545030;
4150 isc_libtommath_generic = 335545031;
4151 isc_wroblrver2 = 335545032;
4152 isc_trunc_limits = 335545033;
4153 isc_info_access = 335545034;
4154 isc_svc_no_stdin = 335545035;
4155 isc_svc_start_failed = 335545036;
4156 isc_svc_no_switches = 335545037;
4157 isc_svc_bad_size = 335545038;
4158 isc_no_crypt_plugin = 335545039;
4159 isc_cp_name_too_long = 335545040;
4160 isc_cp_process_active = 335545041;
4161 isc_cp_already_crypted = 335545042;
4162 isc_decrypt_error = 335545043;
4163 isc_no_providers = 335545044;
4164 isc_null_spb = 335545045;
4165 isc_max_args_exceeded = 335545046;
4166 isc_ee_blr_mismatch_names_count = 335545047;
4167 isc_ee_blr_mismatch_name_not_found = 335545048;
4168 isc_bad_result_set = 335545049;
4169 isc_wrong_message_length = 335545050;
4170 isc_no_output_format = 335545051;
4171 isc_item_finish = 335545052;
4172 isc_miss_config = 335545053;
4173 isc_conf_line = 335545054;
4174 isc_conf_include = 335545055;
4175 isc_include_depth = 335545056;
4176 isc_include_miss = 335545057;
4177 isc_protect_ownership = 335545058;
4178 isc_badvarnum = 335545059;
4179 isc_sec_context = 335545060;
4180 isc_multi_segment = 335545061;
4181 isc_login_changed = 335545062;
4182 isc_auth_handshake_limit = 335545063;
4183 isc_wirecrypt_incompatible = 335545064;
4184 isc_miss_wirecrypt = 335545065;
4185 isc_wirecrypt_key = 335545066;
4186 isc_wirecrypt_plugin = 335545067;
4187 isc_secdb_name = 335545068;
4188 isc_auth_data = 335545069;
4189 isc_auth_datalength = 335545070;
4190 isc_info_unprepared_stmt = 335545071;
4191 isc_idx_key_value = 335545072;
4192 isc_forupdate_virtualtbl = 335545073;
4193 isc_forupdate_systbl = 335545074;
4194 isc_forupdate_temptbl = 335545075;
4195 isc_cant_modify_sysobj = 335545076;
4196 isc_server_misconfigured = 335545077;
4197 isc_alter_role = 335545078;
4198 isc_map_already_exists = 335545079;
4199 isc_map_not_exists = 335545080;
4200 isc_map_load = 335545081;
4201 isc_map_aster = 335545082;
4202 isc_map_multi = 335545083;
4203 isc_map_undefined = 335545084;
4204 isc_baddpb_damaged_mode = 335545085;
4205 isc_baddpb_buffers_range = 335545086;
4206 isc_baddpb_temp_buffers = 335545087;
4207 isc_map_nodb = 335545088;
4208 isc_map_notable = 335545089;
4209 isc_miss_trusted_role = 335545090;
4210 isc_set_invalid_role = 335545091;
4211 isc_cursor_not_positioned = 335545092;
4212 isc_dup_attribute = 335545093;
4213 isc_dyn_no_priv = 335545094;
4214 isc_dsql_cant_grant_option = 335545095;
4215 isc_read_conflict = 335545096;
4216 isc_crdb_load = 335545097;
4217 isc_crdb_nodb = 335545098;
4218 isc_crdb_notable = 335545099;
4219 isc_interface_version_too_old = 335545100;
4220 isc_fun_param_mismatch = 335545101;
4221 isc_savepoint_backout_err = 335545102;
4222 isc_domain_primary_key_notnull = 335545103;
4223 isc_invalid_attachment_charset = 335545104;
4224 isc_map_down = 335545105;
4225 isc_login_error = 335545106;
4226 isc_already_opened = 335545107;
4227 isc_bad_crypt_key = 335545108;
4228 isc_encrypt_error = 335545109;
4229 isc_gfix_db_name = 335740929;
4230 isc_gfix_invalid_sw = 335740930;
4231 isc_gfix_incmp_sw = 335740932;
4232 isc_gfix_replay_req = 335740933;
4233 isc_gfix_pgbuf_req = 335740934;
4234 isc_gfix_val_req = 335740935;
4235 isc_gfix_pval_req = 335740936;
4236 isc_gfix_trn_req = 335740937;
4237 isc_gfix_full_req = 335740940;
4238 isc_gfix_usrname_req = 335740941;
4239 isc_gfix_pass_req = 335740942;
4240 isc_gfix_subs_name = 335740943;
4241 isc_gfix_wal_req = 335740944;
4242 isc_gfix_sec_req = 335740945;
4243 isc_gfix_nval_req = 335740946;
4244 isc_gfix_type_shut = 335740947;
4245 isc_gfix_retry = 335740948;
4246 isc_gfix_retry_db = 335740951;
4247 isc_gfix_exceed_max = 335740991;
4248 isc_gfix_corrupt_pool = 335740992;
4249 isc_gfix_mem_exhausted = 335740993;
4250 isc_gfix_bad_pool = 335740994;
4251 isc_gfix_trn_not_valid = 335740995;
4252 isc_gfix_unexp_eoi = 335741012;
4253 isc_gfix_recon_fail = 335741018;
4254 isc_gfix_trn_unknown = 335741036;
4255 isc_gfix_mode_req = 335741038;
4256 isc_gfix_pzval_req = 335741042;
4257 isc_dsql_dbkey_from_non_table = 336003074;
4258 isc_dsql_transitional_numeric = 336003075;
4259 isc_dsql_dialect_warning_expr = 336003076;
4260 isc_sql_db_dialect_dtype_unsupport = 336003077;
4261 isc_sql_dialect_conflict_num = 336003079;
4262 isc_dsql_warning_number_ambiguous = 336003080;
4263 isc_dsql_warning_number_ambiguous1 = 336003081;
4264 isc_dsql_warn_precision_ambiguous = 336003082;
4265 isc_dsql_warn_precision_ambiguous1 = 336003083;
4266 isc_dsql_warn_precision_ambiguous2 = 336003084;
4267 isc_dsql_ambiguous_field_name = 336003085;
4268 isc_dsql_udf_return_pos_err = 336003086;
4269 isc_dsql_invalid_label = 336003087;
4270 isc_dsql_datatypes_not_comparable = 336003088;
4271 isc_dsql_cursor_invalid = 336003089;
4272 isc_dsql_cursor_redefined = 336003090;
4273 isc_dsql_cursor_not_found = 336003091;
4274 isc_dsql_cursor_exists = 336003092;
4275 isc_dsql_cursor_rel_ambiguous = 336003093;
4276 isc_dsql_cursor_rel_not_found = 336003094;
4277 isc_dsql_cursor_not_open = 336003095;
4278 isc_dsql_type_not_supp_ext_tab = 336003096;
4279 isc_dsql_feature_not_supported_ods = 336003097;
4280 isc_primary_key_required = 336003098;
4281 isc_upd_ins_doesnt_match_pk = 336003099;
4282 isc_upd_ins_doesnt_match_matching = 336003100;
4283 isc_upd_ins_with_complex_view = 336003101;
4284 isc_dsql_incompatible_trigger_type = 336003102;
4285 isc_dsql_db_trigger_type_cant_change = 336003103;
4286 isc_dsql_record_version_table = 336003104;
4287 isc_dsql_invalid_sqlda_version = 336003105;
4288 isc_dsql_sqlvar_index = 336003106;
4289 isc_dsql_no_sqlind = 336003107;
4290 isc_dsql_no_sqldata = 336003108;
4291 isc_dsql_no_input_sqlda = 336003109;
4292 isc_dsql_no_output_sqlda = 336003110;
4293 isc_dsql_wrong_param_num = 336003111;
4294 isc_dyn_filter_not_found = 336068645;
4295 isc_dyn_func_not_found = 336068649;
4296 isc_dyn_index_not_found = 336068656;
4297 isc_dyn_view_not_found = 336068662;
4298 isc_dyn_domain_not_found = 336068697;
4299 isc_dyn_cant_modify_auto_trig = 336068717;
4300 isc_dyn_dup_table = 336068740;
4301 isc_dyn_proc_not_found = 336068748;
4302 isc_dyn_exception_not_found = 336068752;
4303 isc_dyn_proc_param_not_found = 336068754;
4304 isc_dyn_trig_not_found = 336068755;
4305 isc_dyn_charset_not_found = 336068759;
4306 isc_dyn_collation_not_found = 336068760;
4307 isc_dyn_role_not_found = 336068763;
4308 isc_dyn_name_longer = 336068767;
4309 isc_dyn_column_does_not_exist = 336068784;
4310 isc_dyn_role_does_not_exist = 336068796;
4311 isc_dyn_no_grant_admin_opt = 336068797;
4312 isc_dyn_user_not_role_member = 336068798;
4313 isc_dyn_delete_role_failed = 336068799;
4314 isc_dyn_grant_role_to_user = 336068800;
4315 isc_dyn_inv_sql_role_name = 336068801;
4316 isc_dyn_dup_sql_role = 336068802;
4317 isc_dyn_kywd_spec_for_role = 336068803;
4318 isc_dyn_roles_not_supported = 336068804;
4319 isc_dyn_domain_name_exists = 336068812;
4320 isc_dyn_field_name_exists = 336068813;
4321 isc_dyn_dependency_exists = 336068814;
4322 isc_dyn_dtype_invalid = 336068815;
4323 isc_dyn_char_fld_too_small = 336068816;
4324 isc_dyn_invalid_dtype_conversion = 336068817;
4325 isc_dyn_dtype_conv_invalid = 336068818;
4326 isc_dyn_zero_len_id = 336068820;
4327 isc_dyn_gen_not_found = 336068822;
4328 isc_max_coll_per_charset = 336068829;
4329 isc_invalid_coll_attr = 336068830;
4330 isc_dyn_wrong_gtt_scope = 336068840;
4331 isc_dyn_coll_used_table = 336068843;
4332 isc_dyn_coll_used_domain = 336068844;
4333 isc_dyn_cannot_del_syscoll = 336068845;
4334 isc_dyn_cannot_del_def_coll = 336068846;
4335 isc_dyn_table_not_found = 336068849;
4336 isc_dyn_coll_used_procedure = 336068851;
4337 isc_dyn_scale_too_big = 336068852;
4338 isc_dyn_precision_too_small = 336068853;
4339 isc_dyn_miss_priv_warning = 336068855;
4340 isc_dyn_ods_not_supp_feature = 336068856;
4341 isc_dyn_cannot_addrem_computed = 336068857;
4342 isc_dyn_no_empty_pw = 336068858;
4343 isc_dyn_dup_index = 336068859;
4344 isc_dyn_package_not_found = 336068864;
4345 isc_dyn_schema_not_found = 336068865;
4346 isc_dyn_cannot_mod_sysproc = 336068866;
4347 isc_dyn_cannot_mod_systrig = 336068867;
4348 isc_dyn_cannot_mod_sysfunc = 336068868;
4349 isc_dyn_invalid_ddl_proc = 336068869;
4350 isc_dyn_invalid_ddl_trig = 336068870;
4351 isc_dyn_funcnotdef_package = 336068871;
4352 isc_dyn_procnotdef_package = 336068872;
4353 isc_dyn_funcsignat_package = 336068873;
4354 isc_dyn_procsignat_package = 336068874;
4355 isc_dyn_defvaldecl_package_proc = 336068875;
4356 isc_dyn_package_body_exists = 336068877;
4357 isc_dyn_invalid_ddl_func = 336068878;
4358 isc_dyn_newfc_oldsyntax = 336068879;
4359 isc_dyn_func_param_not_found = 336068886;
4360 isc_dyn_routine_param_not_found = 336068887;
4361 isc_dyn_routine_param_ambiguous = 336068888;
4362 isc_dyn_coll_used_function = 336068889;
4363 isc_dyn_domain_used_function = 336068890;
4364 isc_dyn_alter_user_no_clause = 336068891;
4365 isc_dyn_duplicate_package_item = 336068894;
4366 isc_dyn_cant_modify_sysobj = 336068895;
4367 isc_dyn_cant_use_zero_increment = 336068896;
4368 isc_dyn_cant_use_in_foreignkey = 336068897;
4369 isc_dyn_defvaldecl_package_func = 336068898;
4370 isc_gbak_unknown_switch = 336330753;
4371 isc_gbak_page_size_missing = 336330754;
4372 isc_gbak_page_size_toobig = 336330755;
4373 isc_gbak_redir_ouput_missing = 336330756;
4374 isc_gbak_switches_conflict = 336330757;
4375 isc_gbak_unknown_device = 336330758;
4376 isc_gbak_no_protection = 336330759;
4377 isc_gbak_page_size_not_allowed = 336330760;
4378 isc_gbak_multi_source_dest = 336330761;
4379 isc_gbak_filename_missing = 336330762;
4380 isc_gbak_dup_inout_names = 336330763;
4381 isc_gbak_inv_page_size = 336330764;
4382 isc_gbak_db_specified = 336330765;
4383 isc_gbak_db_exists = 336330766;
4384 isc_gbak_unk_device = 336330767;
4385 isc_gbak_blob_info_failed = 336330772;
4386 isc_gbak_unk_blob_item = 336330773;
4387 isc_gbak_get_seg_failed = 336330774;
4388 isc_gbak_close_blob_failed = 336330775;
4389 isc_gbak_open_blob_failed = 336330776;
4390 isc_gbak_put_blr_gen_id_failed = 336330777;
4391 isc_gbak_unk_type = 336330778;
4392 isc_gbak_comp_req_failed = 336330779;
4393 isc_gbak_start_req_failed = 336330780;
4394 isc_gbak_rec_failed = 336330781;
4395 isc_gbak_rel_req_failed = 336330782;
4396 isc_gbak_db_info_failed = 336330783;
4397 isc_gbak_no_db_desc = 336330784;
4398 isc_gbak_db_create_failed = 336330785;
4399 isc_gbak_decomp_len_error = 336330786;
4400 isc_gbak_tbl_missing = 336330787;
4401 isc_gbak_blob_col_missing = 336330788;
4402 isc_gbak_create_blob_failed = 336330789;
4403 isc_gbak_put_seg_failed = 336330790;
4404 isc_gbak_rec_len_exp = 336330791;
4405 isc_gbak_inv_rec_len = 336330792;
4406 isc_gbak_exp_data_type = 336330793;
4407 isc_gbak_gen_id_failed = 336330794;
4408 isc_gbak_unk_rec_type = 336330795;
4409 isc_gbak_inv_bkup_ver = 336330796;
4410 isc_gbak_missing_bkup_desc = 336330797;
4411 isc_gbak_string_trunc = 336330798;
4412 isc_gbak_cant_rest_record = 336330799;
4413 isc_gbak_send_failed = 336330800;
4414 isc_gbak_no_tbl_name = 336330801;
4415 isc_gbak_unexp_eof = 336330802;
4416 isc_gbak_db_format_too_old = 336330803;
4417 isc_gbak_inv_array_dim = 336330804;
4418 isc_gbak_xdr_len_expected = 336330807;
4419 isc_gbak_open_bkup_error = 336330817;
4420 isc_gbak_open_error = 336330818;
4421 isc_gbak_missing_block_fac = 336330934;
4422 isc_gbak_inv_block_fac = 336330935;
4423 isc_gbak_block_fac_specified = 336330936;
4424 isc_gbak_missing_username = 336330940;
4425 isc_gbak_missing_password = 336330941;
4426 isc_gbak_missing_skipped_bytes = 336330952;
4427 isc_gbak_inv_skipped_bytes = 336330953;
4428 isc_gbak_err_restore_charset = 336330965;
4429 isc_gbak_err_restore_collation = 336330967;
4430 isc_gbak_read_error = 336330972;
4431 isc_gbak_write_error = 336330973;
4432 isc_gbak_db_in_use = 336330985;
4433 isc_gbak_sysmemex = 336330990;
4434 isc_gbak_restore_role_failed = 336331002;
4435 isc_gbak_role_op_missing = 336331005;
4436 isc_gbak_page_buffers_missing = 336331010;
4437 isc_gbak_page_buffers_wrong_param = 336331011;
4438 isc_gbak_page_buffers_restore = 336331012;
4439 isc_gbak_inv_size = 336331014;
4440 isc_gbak_file_outof_sequence = 336331015;
4441 isc_gbak_join_file_missing = 336331016;
4442 isc_gbak_stdin_not_supptd = 336331017;
4443 isc_gbak_stdout_not_supptd = 336331018;
4444 isc_gbak_bkup_corrupt = 336331019;
4445 isc_gbak_unk_db_file_spec = 336331020;
4446 isc_gbak_hdr_write_failed = 336331021;
4447 isc_gbak_disk_space_ex = 336331022;
4448 isc_gbak_size_lt_min = 336331023;
4449 isc_gbak_svc_name_missing = 336331025;
4450 isc_gbak_not_ownr = 336331026;
4451 isc_gbak_mode_req = 336331031;
4452 isc_gbak_just_data = 336331033;
4453 isc_gbak_data_only = 336331034;
4454 isc_gbak_missing_interval = 336331078;
4455 isc_gbak_wrong_interval = 336331079;
4456 isc_gbak_verify_verbint = 336331081;
4457 isc_gbak_option_only_restore = 336331082;
4458 isc_gbak_option_only_backup = 336331083;
4459 isc_gbak_option_conflict = 336331084;
4460 isc_gbak_param_conflict = 336331085;
4461 isc_gbak_option_repeated = 336331086;
4462 isc_gbak_max_dbkey_recursion = 336331091;
4463 isc_gbak_max_dbkey_length = 336331092;
4464 isc_gbak_invalid_metadata = 336331093;
4465 isc_gbak_invalid_data = 336331094;
4466 isc_gbak_inv_bkup_ver2 = 336331096;
4467 isc_gbak_db_format_too_old2 = 336331100;
4468 isc_dsql_too_old_ods = 336397205;
4469 isc_dsql_table_not_found = 336397206;
4470 isc_dsql_view_not_found = 336397207;
4471 isc_dsql_line_col_error = 336397208;
4472 isc_dsql_unknown_pos = 336397209;
4473 isc_dsql_no_dup_name = 336397210;
4474 isc_dsql_too_many_values = 336397211;
4475 isc_dsql_no_array_computed = 336397212;
4476 isc_dsql_implicit_domain_name = 336397213;
4477 isc_dsql_only_can_subscript_array = 336397214;
4478 isc_dsql_max_sort_items = 336397215;
4479 isc_dsql_max_group_items = 336397216;
4480 isc_dsql_conflicting_sort_field = 336397217;
4481 isc_dsql_derived_table_more_columns = 336397218;
4482 isc_dsql_derived_table_less_columns = 336397219;
4483 isc_dsql_derived_field_unnamed = 336397220;
4484 isc_dsql_derived_field_dup_name = 336397221;
4485 isc_dsql_derived_alias_select = 336397222;
4486 isc_dsql_derived_alias_field = 336397223;
4487 isc_dsql_auto_field_bad_pos = 336397224;
4488 isc_dsql_cte_wrong_reference = 336397225;
4489 isc_dsql_cte_cycle = 336397226;
4490 isc_dsql_cte_outer_join = 336397227;
4491 isc_dsql_cte_mult_references = 336397228;
4492 isc_dsql_cte_not_a_union = 336397229;
4493 isc_dsql_cte_nonrecurs_after_recurs = 336397230;
4494 isc_dsql_cte_wrong_clause = 336397231;
4495 isc_dsql_cte_union_all = 336397232;
4496 isc_dsql_cte_miss_nonrecursive = 336397233;
4497 isc_dsql_cte_nested_with = 336397234;
4498 isc_dsql_col_more_than_once_using = 336397235;
4499 isc_dsql_unsupp_feature_dialect = 336397236;
4500 isc_dsql_cte_not_used = 336397237;
4501 isc_dsql_col_more_than_once_view = 336397238;
4502 isc_dsql_unsupported_in_auto_trans = 336397239;
4503 isc_dsql_eval_unknode = 336397240;
4504 isc_dsql_agg_wrongarg = 336397241;
4505 isc_dsql_agg2_wrongarg = 336397242;
4506 isc_dsql_nodateortime_pm_string = 336397243;
4507 isc_dsql_invalid_datetime_subtract = 336397244;
4508 isc_dsql_invalid_dateortime_add = 336397245;
4509 isc_dsql_invalid_type_minus_date = 336397246;
4510 isc_dsql_nostring_addsub_dial3 = 336397247;
4511 isc_dsql_invalid_type_addsub_dial3 = 336397248;
4512 isc_dsql_invalid_type_multip_dial1 = 336397249;
4513 isc_dsql_nostring_multip_dial3 = 336397250;
4514 isc_dsql_invalid_type_multip_dial3 = 336397251;
4515 isc_dsql_mustuse_numeric_div_dial1 = 336397252;
4516 isc_dsql_nostring_div_dial3 = 336397253;
4517 isc_dsql_invalid_type_div_dial3 = 336397254;
4518 isc_dsql_nostring_neg_dial3 = 336397255;
4519 isc_dsql_invalid_type_neg = 336397256;
4520 isc_dsql_max_distinct_items = 336397257;
4521 isc_dsql_alter_charset_failed = 336397258;
4522 isc_dsql_comment_on_failed = 336397259;
4523 isc_dsql_create_func_failed = 336397260;
4524 isc_dsql_alter_func_failed = 336397261;
4525 isc_dsql_create_alter_func_failed = 336397262;
4526 isc_dsql_drop_func_failed = 336397263;
4527 isc_dsql_recreate_func_failed = 336397264;
4528 isc_dsql_create_proc_failed = 336397265;
4529 isc_dsql_alter_proc_failed = 336397266;
4530 isc_dsql_create_alter_proc_failed = 336397267;
4531 isc_dsql_drop_proc_failed = 336397268;
4532 isc_dsql_recreate_proc_failed = 336397269;
4533 isc_dsql_create_trigger_failed = 336397270;
4534 isc_dsql_alter_trigger_failed = 336397271;
4535 isc_dsql_create_alter_trigger_failed = 336397272;
4536 isc_dsql_drop_trigger_failed = 336397273;
4537 isc_dsql_recreate_trigger_failed = 336397274;
4538 isc_dsql_create_collation_failed = 336397275;
4539 isc_dsql_drop_collation_failed = 336397276;
4540 isc_dsql_create_domain_failed = 336397277;
4541 isc_dsql_alter_domain_failed = 336397278;
4542 isc_dsql_drop_domain_failed = 336397279;
4543 isc_dsql_create_except_failed = 336397280;
4544 isc_dsql_alter_except_failed = 336397281;
4545 isc_dsql_create_alter_except_failed = 336397282;
4546 isc_dsql_recreate_except_failed = 336397283;
4547 isc_dsql_drop_except_failed = 336397284;
4548 isc_dsql_create_sequence_failed = 336397285;
4549 isc_dsql_create_table_failed = 336397286;
4550 isc_dsql_alter_table_failed = 336397287;
4551 isc_dsql_drop_table_failed = 336397288;
4552 isc_dsql_recreate_table_failed = 336397289;
4553 isc_dsql_create_pack_failed = 336397290;
4554 isc_dsql_alter_pack_failed = 336397291;
4555 isc_dsql_create_alter_pack_failed = 336397292;
4556 isc_dsql_drop_pack_failed = 336397293;
4557 isc_dsql_recreate_pack_failed = 336397294;
4558 isc_dsql_create_pack_body_failed = 336397295;
4559 isc_dsql_drop_pack_body_failed = 336397296;
4560 isc_dsql_recreate_pack_body_failed = 336397297;
4561 isc_dsql_create_view_failed = 336397298;
4562 isc_dsql_alter_view_failed = 336397299;
4563 isc_dsql_create_alter_view_failed = 336397300;
4564 isc_dsql_recreate_view_failed = 336397301;
4565 isc_dsql_drop_view_failed = 336397302;
4566 isc_dsql_drop_sequence_failed = 336397303;
4567 isc_dsql_recreate_sequence_failed = 336397304;
4568 isc_dsql_drop_index_failed = 336397305;
4569 isc_dsql_drop_filter_failed = 336397306;
4570 isc_dsql_drop_shadow_failed = 336397307;
4571 isc_dsql_drop_role_failed = 336397308;
4572 isc_dsql_drop_user_failed = 336397309;
4573 isc_dsql_create_role_failed = 336397310;
4574 isc_dsql_alter_role_failed = 336397311;
4575 isc_dsql_alter_index_failed = 336397312;
4576 isc_dsql_alter_database_failed = 336397313;
4577 isc_dsql_create_shadow_failed = 336397314;
4578 isc_dsql_create_filter_failed = 336397315;
4579 isc_dsql_create_index_failed = 336397316;
4580 isc_dsql_create_user_failed = 336397317;
4581 isc_dsql_alter_user_failed = 336397318;
4582 isc_dsql_grant_failed = 336397319;
4583 isc_dsql_revoke_failed = 336397320;
4584 isc_dsql_cte_recursive_aggregate = 336397321;
4585 isc_dsql_mapping_failed = 336397322;
4586 isc_dsql_alter_sequence_failed = 336397323;
4587 isc_dsql_create_generator_failed = 336397324;
4588 isc_dsql_set_generator_failed = 336397325;
4589 isc_dsql_wlock_simple = 336397326;
4590 isc_dsql_firstskip_rows = 336397327;
4591 isc_dsql_wlock_aggregates = 336397328;
4592 isc_dsql_wlock_conflict = 336397329;
4593 isc_dsql_max_exception_arguments = 336397330;
4594 isc_dsql_string_byte_length = 336397331;
4595 isc_dsql_string_char_length = 336397332;
4596 isc_dsql_max_nesting = 336397333;
4597 isc_gsec_cant_open_db = 336723983;
4598 isc_gsec_switches_error = 336723984;
4599 isc_gsec_no_op_spec = 336723985;
4600 isc_gsec_no_usr_name = 336723986;
4601 isc_gsec_err_add = 336723987;
4602 isc_gsec_err_modify = 336723988;
4603 isc_gsec_err_find_mod = 336723989;
4604 isc_gsec_err_rec_not_found = 336723990;
4605 isc_gsec_err_delete = 336723991;
4606 isc_gsec_err_find_del = 336723992;
4607 isc_gsec_err_find_disp = 336723996;
4608 isc_gsec_inv_param = 336723997;
4609 isc_gsec_op_specified = 336723998;
4610 isc_gsec_pw_specified = 336723999;
4611 isc_gsec_uid_specified = 336724000;
4612 isc_gsec_gid_specified = 336724001;
4613 isc_gsec_proj_specified = 336724002;
4614 isc_gsec_org_specified = 336724003;
4615 isc_gsec_fname_specified = 336724004;
4616 isc_gsec_mname_specified = 336724005;
4617 isc_gsec_lname_specified = 336724006;
4618 isc_gsec_inv_switch = 336724008;
4619 isc_gsec_amb_switch = 336724009;
4620 isc_gsec_no_op_specified = 336724010;
4621 isc_gsec_params_not_allowed = 336724011;
4622 isc_gsec_incompat_switch = 336724012;
4623 isc_gsec_inv_username = 336724044;
4624 isc_gsec_inv_pw_length = 336724045;
4625 isc_gsec_db_specified = 336724046;
4626 isc_gsec_db_admin_specified = 336724047;
4627 isc_gsec_db_admin_pw_specified = 336724048;
4628 isc_gsec_sql_role_specified = 336724049;
4629 isc_gstat_unknown_switch = 336920577;
4630 isc_gstat_retry = 336920578;
4631 isc_gstat_wrong_ods = 336920579;
4632 isc_gstat_unexpected_eof = 336920580;
4633 isc_gstat_open_err = 336920605;
4634 isc_gstat_read_err = 336920606;
4635 isc_gstat_sysmemex = 336920607;
4636 isc_fbsvcmgr_bad_am = 336986113;
4637 isc_fbsvcmgr_bad_wm = 336986114;
4638 isc_fbsvcmgr_bad_rs = 336986115;
4639 isc_fbsvcmgr_info_err = 336986116;
4640 isc_fbsvcmgr_query_err = 336986117;
4641 isc_fbsvcmgr_switch_unknown = 336986118;
4642 isc_fbsvcmgr_bad_sm = 336986159;
4643 isc_fbsvcmgr_fp_open = 336986160;
4644 isc_fbsvcmgr_fp_read = 336986161;
4645 isc_fbsvcmgr_fp_empty = 336986162;
4646 isc_fbsvcmgr_bad_arg = 336986164;
4647 isc_utl_trusted_switch = 337051649;
4648 isc_nbackup_missing_param = 337117213;
4649 isc_nbackup_allowed_switches = 337117214;
4650 isc_nbackup_unknown_param = 337117215;
4651 isc_nbackup_unknown_switch = 337117216;
4652 isc_nbackup_nofetchpw_svc = 337117217;
4653 isc_nbackup_pwfile_error = 337117218;
4654 isc_nbackup_size_with_lock = 337117219;
4655 isc_nbackup_no_switch = 337117220;
4656 isc_nbackup_err_read = 337117223;
4657 isc_nbackup_err_write = 337117224;
4658 isc_nbackup_err_seek = 337117225;
4659 isc_nbackup_err_opendb = 337117226;
4660 isc_nbackup_err_fadvice = 337117227;
4661 isc_nbackup_err_createdb = 337117228;
4662 isc_nbackup_err_openbk = 337117229;
4663 isc_nbackup_err_createbk = 337117230;
4664 isc_nbackup_err_eofdb = 337117231;
4665 isc_nbackup_fixup_wrongstate = 337117232;
4666 isc_nbackup_err_db = 337117233;
4667 isc_nbackup_userpw_toolong = 337117234;
4668 isc_nbackup_lostrec_db = 337117235;
4669 isc_nbackup_lostguid_db = 337117236;
4670 isc_nbackup_err_eofhdrdb = 337117237;
4671 isc_nbackup_db_notlock = 337117238;
4672 isc_nbackup_lostguid_bk = 337117239;
4673 isc_nbackup_page_changed = 337117240;
4674 isc_nbackup_dbsize_inconsistent = 337117241;
4675 isc_nbackup_failed_lzbk = 337117242;
4676 isc_nbackup_err_eofhdrbk = 337117243;
4677 isc_nbackup_invalid_incbk = 337117244;
4678 isc_nbackup_unsupvers_incbk = 337117245;
4679 isc_nbackup_invlevel_incbk = 337117246;
4680 isc_nbackup_wrong_orderbk = 337117247;
4681 isc_nbackup_err_eofbk = 337117248;
4682 isc_nbackup_err_copy = 337117249;
4683 isc_nbackup_err_eofhdr_restdb = 337117250;
4684 isc_nbackup_lostguid_l0bk = 337117251;
4685 isc_nbackup_switchd_parameter = 337117255;
4686 isc_nbackup_user_stop = 337117257;
4687 isc_nbackup_deco_parse = 337117259;
4688 isc_trace_conflict_acts = 337182750;
4689 isc_trace_act_notfound = 337182751;
4690 isc_trace_switch_once = 337182752;
4691 isc_trace_param_val_miss = 337182753;
4692 isc_trace_param_invalid = 337182754;
4693 isc_trace_switch_unknown = 337182755;
4694 isc_trace_switch_svc_only = 337182756;
4695 isc_trace_switch_user_only = 337182757;
4696 isc_trace_switch_param_miss = 337182758;
4697 isc_trace_param_act_notcompat = 337182759;
4698 isc_trace_mandatory_switch_miss = 337182760;
4699 }
4700 implementation
4701
4702 uses IBErrorCodes;
4703
4704 procedure IReferenceCounted.addRef();
4705 begin
4706 ReferenceCountedVTable(vTable).addRef(Self);
4707 end;
4708
4709 function IReferenceCounted.release(): Integer;
4710 begin
4711 Result := ReferenceCountedVTable(vTable).release(Self);
4712 end;
4713
4714 procedure IDisposable.dispose();
4715 begin
4716 DisposableVTable(vTable).dispose(Self);
4717 end;
4718
4719 procedure IStatus.init();
4720 begin
4721 StatusVTable(vTable).init(Self);
4722 end;
4723
4724 function IStatus.getState(): Cardinal;
4725 begin
4726 Result := StatusVTable(vTable).getState(Self);
4727 end;
4728
4729 procedure IStatus.setErrors2(length: Cardinal; value: NativeIntPtr);
4730 begin
4731 StatusVTable(vTable).setErrors2(Self, length, value);
4732 end;
4733
4734 procedure IStatus.setWarnings2(length: Cardinal; value: NativeIntPtr);
4735 begin
4736 StatusVTable(vTable).setWarnings2(Self, length, value);
4737 end;
4738
4739 procedure IStatus.setErrors(value: NativeIntPtr);
4740 begin
4741 StatusVTable(vTable).setErrors(Self, value);
4742 end;
4743
4744 procedure IStatus.setWarnings(value: NativeIntPtr);
4745 begin
4746 StatusVTable(vTable).setWarnings(Self, value);
4747 end;
4748
4749 function IStatus.getErrors(): NativeIntPtr;
4750 begin
4751 Result := StatusVTable(vTable).getErrors(Self);
4752 end;
4753
4754 function IStatus.getWarnings(): NativeIntPtr;
4755 begin
4756 Result := StatusVTable(vTable).getWarnings(Self);
4757 end;
4758
4759 function IStatus.clone(): IStatus;
4760 begin
4761 Result := StatusVTable(vTable).clone(Self);
4762 end;
4763
4764 function IMaster.getStatus(): IStatus;
4765 begin
4766 Result := MasterVTable(vTable).getStatus(Self);
4767 end;
4768
4769 function IMaster.getDispatcher(): IProvider;
4770 begin
4771 Result := MasterVTable(vTable).getDispatcher(Self);
4772 end;
4773
4774 function IMaster.getPluginManager(): IPluginManager;
4775 begin
4776 Result := MasterVTable(vTable).getPluginManager(Self);
4777 end;
4778
4779 function IMaster.getTimerControl(): ITimerControl;
4780 begin
4781 Result := MasterVTable(vTable).getTimerControl(Self);
4782 end;
4783
4784 function IMaster.getDtc(): IDtc;
4785 begin
4786 Result := MasterVTable(vTable).getDtc(Self);
4787 end;
4788
4789 function IMaster.registerAttachment(provider: IProvider; attachment: IAttachment): IAttachment;
4790 begin
4791 Result := MasterVTable(vTable).registerAttachment(Self, provider, attachment);
4792 end;
4793
4794 function IMaster.registerTransaction(attachment: IAttachment; transaction: ITransaction): ITransaction;
4795 begin
4796 Result := MasterVTable(vTable).registerTransaction(Self, attachment, transaction);
4797 end;
4798
4799 function IMaster.getMetadataBuilder(status: IStatus; fieldCount: Cardinal): IMetadataBuilder;
4800 begin
4801 Result := MasterVTable(vTable).getMetadataBuilder(Self, status, fieldCount);
4802 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4803 end;
4804
4805 function IMaster.serverMode(mode: Integer): Integer;
4806 begin
4807 Result := MasterVTable(vTable).serverMode(Self, mode);
4808 end;
4809
4810 function IMaster.getUtilInterface(): IUtil;
4811 begin
4812 Result := MasterVTable(vTable).getUtilInterface(Self);
4813 end;
4814
4815 function IMaster.getConfigManager(): IConfigManager;
4816 begin
4817 Result := MasterVTable(vTable).getConfigManager(Self);
4818 end;
4819
4820 function IMaster.getProcessExiting(): Boolean;
4821 begin
4822 Result := MasterVTable(vTable).getProcessExiting(Self);
4823 end;
4824
4825 procedure IPluginBase.setOwner(r: IReferenceCounted);
4826 begin
4827 PluginBaseVTable(vTable).setOwner(Self, r);
4828 end;
4829
4830 function IPluginBase.getOwner(): IReferenceCounted;
4831 begin
4832 Result := PluginBaseVTable(vTable).getOwner(Self);
4833 end;
4834
4835 function IPluginSet.getName(): PAnsiChar;
4836 begin
4837 Result := PluginSetVTable(vTable).getName(Self);
4838 end;
4839
4840 function IPluginSet.getModuleName(): PAnsiChar;
4841 begin
4842 Result := PluginSetVTable(vTable).getModuleName(Self);
4843 end;
4844
4845 function IPluginSet.getPlugin(status: IStatus): IPluginBase;
4846 begin
4847 Result := PluginSetVTable(vTable).getPlugin(Self, status);
4848 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4849 end;
4850
4851 procedure IPluginSet.next(status: IStatus);
4852 begin
4853 PluginSetVTable(vTable).next(Self, status);
4854 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4855 end;
4856
4857 procedure IPluginSet.set_(status: IStatus; s: PAnsiChar);
4858 begin
4859 PluginSetVTable(vTable).set_(Self, status, s);
4860 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4861 end;
4862
4863 function IConfigEntry.getName(): PAnsiChar;
4864 begin
4865 Result := ConfigEntryVTable(vTable).getName(Self);
4866 end;
4867
4868 function IConfigEntry.getValue(): PAnsiChar;
4869 begin
4870 Result := ConfigEntryVTable(vTable).getValue(Self);
4871 end;
4872
4873 function IConfigEntry.getIntValue(): Int64;
4874 begin
4875 Result := ConfigEntryVTable(vTable).getIntValue(Self);
4876 end;
4877
4878 function IConfigEntry.getBoolValue(): Boolean;
4879 begin
4880 Result := ConfigEntryVTable(vTable).getBoolValue(Self);
4881 end;
4882
4883 function IConfigEntry.getSubConfig(status: IStatus): IConfig;
4884 begin
4885 Result := ConfigEntryVTable(vTable).getSubConfig(Self, status);
4886 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4887 end;
4888
4889 function IConfig.find(status: IStatus; name: PAnsiChar): IConfigEntry;
4890 begin
4891 Result := ConfigVTable(vTable).find(Self, status, name);
4892 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4893 end;
4894
4895 function IConfig.findValue(status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry;
4896 begin
4897 Result := ConfigVTable(vTable).findValue(Self, status, name, value);
4898 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4899 end;
4900
4901 function IConfig.findPos(status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry;
4902 begin
4903 Result := ConfigVTable(vTable).findPos(Self, status, name, pos);
4904 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4905 end;
4906
4907 function IFirebirdConf.getKey(name: PAnsiChar): Cardinal;
4908 begin
4909 Result := FirebirdConfVTable(vTable).getKey(Self, name);
4910 end;
4911
4912 function IFirebirdConf.asInteger(key: Cardinal): Int64;
4913 begin
4914 Result := FirebirdConfVTable(vTable).asInteger(Self, key);
4915 end;
4916
4917 function IFirebirdConf.asString(key: Cardinal): PAnsiChar;
4918 begin
4919 Result := FirebirdConfVTable(vTable).asString(Self, key);
4920 end;
4921
4922 function IFirebirdConf.asBoolean(key: Cardinal): Boolean;
4923 begin
4924 Result := FirebirdConfVTable(vTable).asBoolean(Self, key);
4925 end;
4926
4927 function IPluginConfig.getConfigFileName(): PAnsiChar;
4928 begin
4929 Result := PluginConfigVTable(vTable).getConfigFileName(Self);
4930 end;
4931
4932 function IPluginConfig.getDefaultConfig(status: IStatus): IConfig;
4933 begin
4934 Result := PluginConfigVTable(vTable).getDefaultConfig(Self, status);
4935 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4936 end;
4937
4938 function IPluginConfig.getFirebirdConf(status: IStatus): IFirebirdConf;
4939 begin
4940 Result := PluginConfigVTable(vTable).getFirebirdConf(Self, status);
4941 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4942 end;
4943
4944 procedure IPluginConfig.setReleaseDelay(status: IStatus; microSeconds: QWord);
4945 begin
4946 PluginConfigVTable(vTable).setReleaseDelay(Self, status, microSeconds);
4947 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4948 end;
4949
4950 function IPluginFactory.createPlugin(status: IStatus; factoryParameter: IPluginConfig): IPluginBase;
4951 begin
4952 Result := PluginFactoryVTable(vTable).createPlugin(Self, status, factoryParameter);
4953 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4954 end;
4955
4956 procedure IPluginModule.doClean();
4957 begin
4958 PluginModuleVTable(vTable).doClean(Self);
4959 end;
4960
4961 procedure IPluginManager.registerPluginFactory(pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory);
4962 begin
4963 PluginManagerVTable(vTable).registerPluginFactory(Self, pluginType, defaultName, factory);
4964 end;
4965
4966 procedure IPluginManager.registerModule(cleanup: IPluginModule);
4967 begin
4968 PluginManagerVTable(vTable).registerModule(Self, cleanup);
4969 end;
4970
4971 procedure IPluginManager.unregisterModule(cleanup: IPluginModule);
4972 begin
4973 PluginManagerVTable(vTable).unregisterModule(Self, cleanup);
4974 end;
4975
4976 function IPluginManager.getPlugins(status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet;
4977 begin
4978 Result := PluginManagerVTable(vTable).getPlugins(Self, status, pluginType, namesList, firebirdConf);
4979 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4980 end;
4981
4982 function IPluginManager.getConfig(status: IStatus; filename: PAnsiChar): IConfig;
4983 begin
4984 Result := PluginManagerVTable(vTable).getConfig(Self, status, filename);
4985 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4986 end;
4987
4988 procedure IPluginManager.releasePlugin(plugin: IPluginBase);
4989 begin
4990 PluginManagerVTable(vTable).releasePlugin(Self, plugin);
4991 end;
4992
4993 procedure ICryptKey.setSymmetric(status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer);
4994 begin
4995 CryptKeyVTable(vTable).setSymmetric(Self, status, type_, keyLength, key);
4996 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
4997 end;
4998
4999 procedure ICryptKey.setAsymmetric(status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer);
5000 begin
5001 CryptKeyVTable(vTable).setAsymmetric(Self, status, type_, encryptKeyLength, encryptKey, decryptKeyLength, decryptKey);
5002 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5003 end;
5004
5005 function ICryptKey.getEncryptKey(length: CardinalPtr): Pointer;
5006 begin
5007 Result := CryptKeyVTable(vTable).getEncryptKey(Self, length);
5008 end;
5009
5010 function ICryptKey.getDecryptKey(length: CardinalPtr): Pointer;
5011 begin
5012 Result := CryptKeyVTable(vTable).getDecryptKey(Self, length);
5013 end;
5014
5015 function IConfigManager.getDirectory(code: Cardinal): PAnsiChar;
5016 begin
5017 Result := ConfigManagerVTable(vTable).getDirectory(Self, code);
5018 end;
5019
5020 function IConfigManager.getFirebirdConf(): IFirebirdConf;
5021 begin
5022 Result := ConfigManagerVTable(vTable).getFirebirdConf(Self);
5023 end;
5024
5025 function IConfigManager.getDatabaseConf(dbName: PAnsiChar): IFirebirdConf;
5026 begin
5027 Result := ConfigManagerVTable(vTable).getDatabaseConf(Self, dbName);
5028 end;
5029
5030 function IConfigManager.getPluginConfig(configuredPlugin: PAnsiChar): IConfig;
5031 begin
5032 Result := ConfigManagerVTable(vTable).getPluginConfig(Self, configuredPlugin);
5033 end;
5034
5035 function IConfigManager.getInstallDirectory(): PAnsiChar;
5036 begin
5037 Result := ConfigManagerVTable(vTable).getInstallDirectory(Self);
5038 end;
5039
5040 function IConfigManager.getRootDirectory(): PAnsiChar;
5041 begin
5042 Result := ConfigManagerVTable(vTable).getRootDirectory(Self);
5043 end;
5044
5045 procedure IEventCallback.eventCallbackFunction(length: Cardinal; events: BytePtr);
5046 begin
5047 EventCallbackVTable(vTable).eventCallbackFunction(Self, length, events);
5048 end;
5049
5050 procedure IBlob.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
5051 begin
5052 BlobVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
5053 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5054 end;
5055
5056 function IBlob.getSegment(status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer;
5057 begin
5058 Result := BlobVTable(vTable).getSegment(Self, status, bufferLength, buffer, segmentLength);
5059 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5060 end;
5061
5062 procedure IBlob.putSegment(status: IStatus; length: Cardinal; buffer: Pointer);
5063 begin
5064 BlobVTable(vTable).putSegment(Self, status, length, buffer);
5065 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5066 end;
5067
5068 procedure IBlob.cancel(status: IStatus);
5069 begin
5070 BlobVTable(vTable).cancel(Self, status);
5071 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5072 end;
5073
5074 procedure IBlob.close(status: IStatus);
5075 begin
5076 BlobVTable(vTable).close(Self, status);
5077 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5078 end;
5079
5080 function IBlob.seek(status: IStatus; mode: Integer; offset: Integer): Integer;
5081 begin
5082 Result := BlobVTable(vTable).seek(Self, status, mode, offset);
5083 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5084 end;
5085
5086 procedure ITransaction.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
5087 begin
5088 TransactionVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
5089 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5090 end;
5091
5092 procedure ITransaction.prepare(status: IStatus; msgLength: Cardinal; message: BytePtr);
5093 begin
5094 TransactionVTable(vTable).prepare(Self, status, msgLength, message);
5095 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5096 end;
5097
5098 procedure ITransaction.commit(status: IStatus);
5099 begin
5100 TransactionVTable(vTable).commit(Self, status);
5101 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5102 end;
5103
5104 procedure ITransaction.commitRetaining(status: IStatus);
5105 begin
5106 TransactionVTable(vTable).commitRetaining(Self, status);
5107 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5108 end;
5109
5110 procedure ITransaction.rollback(status: IStatus);
5111 begin
5112 TransactionVTable(vTable).rollback(Self, status);
5113 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5114 end;
5115
5116 procedure ITransaction.rollbackRetaining(status: IStatus);
5117 begin
5118 TransactionVTable(vTable).rollbackRetaining(Self, status);
5119 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5120 end;
5121
5122 procedure ITransaction.disconnect(status: IStatus);
5123 begin
5124 TransactionVTable(vTable).disconnect(Self, status);
5125 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5126 end;
5127
5128 function ITransaction.join(status: IStatus; transaction: ITransaction): ITransaction;
5129 begin
5130 Result := TransactionVTable(vTable).join(Self, status, transaction);
5131 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5132 end;
5133
5134 function ITransaction.validate(status: IStatus; attachment: IAttachment): ITransaction;
5135 begin
5136 Result := TransactionVTable(vTable).validate(Self, status, attachment);
5137 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5138 end;
5139
5140 function ITransaction.enterDtc(status: IStatus): ITransaction;
5141 begin
5142 Result := TransactionVTable(vTable).enterDtc(Self, status);
5143 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5144 end;
5145
5146 function IMessageMetadata.getCount(status: IStatus): Cardinal;
5147 begin
5148 Result := MessageMetadataVTable(vTable).getCount(Self, status);
5149 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5150 end;
5151
5152 function IMessageMetadata.getField(status: IStatus; index: Cardinal): PAnsiChar;
5153 begin
5154 Result := MessageMetadataVTable(vTable).getField(Self, status, index);
5155 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5156 end;
5157
5158 function IMessageMetadata.getRelation(status: IStatus; index: Cardinal): PAnsiChar;
5159 begin
5160 Result := MessageMetadataVTable(vTable).getRelation(Self, status, index);
5161 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5162 end;
5163
5164 function IMessageMetadata.getOwner(status: IStatus; index: Cardinal): PAnsiChar;
5165 begin
5166 Result := MessageMetadataVTable(vTable).getOwner(Self, status, index);
5167 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5168 end;
5169
5170 function IMessageMetadata.getAlias(status: IStatus; index: Cardinal): PAnsiChar;
5171 begin
5172 Result := MessageMetadataVTable(vTable).getAlias(Self, status, index);
5173 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5174 end;
5175
5176 function IMessageMetadata.getType(status: IStatus; index: Cardinal): Cardinal;
5177 begin
5178 Result := MessageMetadataVTable(vTable).getType(Self, status, index);
5179 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5180 end;
5181
5182 function IMessageMetadata.isNullable(status: IStatus; index: Cardinal): Boolean;
5183 begin
5184 Result := MessageMetadataVTable(vTable).isNullable(Self, status, index);
5185 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5186 end;
5187
5188 function IMessageMetadata.getSubType(status: IStatus; index: Cardinal): Integer;
5189 begin
5190 Result := MessageMetadataVTable(vTable).getSubType(Self, status, index);
5191 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5192 end;
5193
5194 function IMessageMetadata.getLength(status: IStatus; index: Cardinal): Cardinal;
5195 begin
5196 Result := MessageMetadataVTable(vTable).getLength(Self, status, index);
5197 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5198 end;
5199
5200 function IMessageMetadata.getScale(status: IStatus; index: Cardinal): Integer;
5201 begin
5202 Result := MessageMetadataVTable(vTable).getScale(Self, status, index);
5203 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5204 end;
5205
5206 function IMessageMetadata.getCharSet(status: IStatus; index: Cardinal): Cardinal;
5207 begin
5208 Result := MessageMetadataVTable(vTable).getCharSet(Self, status, index);
5209 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5210 end;
5211
5212 function IMessageMetadata.getOffset(status: IStatus; index: Cardinal): Cardinal;
5213 begin
5214 Result := MessageMetadataVTable(vTable).getOffset(Self, status, index);
5215 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5216 end;
5217
5218 function IMessageMetadata.getNullOffset(status: IStatus; index: Cardinal): Cardinal;
5219 begin
5220 Result := MessageMetadataVTable(vTable).getNullOffset(Self, status, index);
5221 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5222 end;
5223
5224 function IMessageMetadata.getBuilder(status: IStatus): IMetadataBuilder;
5225 begin
5226 Result := MessageMetadataVTable(vTable).getBuilder(Self, status);
5227 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5228 end;
5229
5230 function IMessageMetadata.getMessageLength(status: IStatus): Cardinal;
5231 begin
5232 Result := MessageMetadataVTable(vTable).getMessageLength(Self, status);
5233 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5234 end;
5235
5236 procedure IMetadataBuilder.setType(status: IStatus; index: Cardinal; type_: Cardinal);
5237 begin
5238 MetadataBuilderVTable(vTable).setType(Self, status, index, type_);
5239 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5240 end;
5241
5242 procedure IMetadataBuilder.setSubType(status: IStatus; index: Cardinal; subType: Integer);
5243 begin
5244 MetadataBuilderVTable(vTable).setSubType(Self, status, index, subType);
5245 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5246 end;
5247
5248 procedure IMetadataBuilder.setLength(status: IStatus; index: Cardinal; length: Cardinal);
5249 begin
5250 MetadataBuilderVTable(vTable).setLength(Self, status, index, length);
5251 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5252 end;
5253
5254 procedure IMetadataBuilder.setCharSet(status: IStatus; index: Cardinal; charSet: Cardinal);
5255 begin
5256 MetadataBuilderVTable(vTable).setCharSet(Self, status, index, charSet);
5257 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5258 end;
5259
5260 procedure IMetadataBuilder.setScale(status: IStatus; index: Cardinal; scale: integer);
5261 begin
5262 MetadataBuilderVTable(vTable).setScale(Self, status, index, scale);
5263 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5264 end;
5265
5266 procedure IMetadataBuilder.truncate(status: IStatus; count: Cardinal);
5267 begin
5268 MetadataBuilderVTable(vTable).truncate(Self, status, count);
5269 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5270 end;
5271
5272 procedure IMetadataBuilder.moveNameToIndex(status: IStatus; name: PAnsiChar; index: Cardinal);
5273 begin
5274 MetadataBuilderVTable(vTable).moveNameToIndex(Self, status, name, index);
5275 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5276 end;
5277
5278 procedure IMetadataBuilder.remove(status: IStatus; index: Cardinal);
5279 begin
5280 MetadataBuilderVTable(vTable).remove(Self, status, index);
5281 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5282 end;
5283
5284 function IMetadataBuilder.addField(status: IStatus): Cardinal;
5285 begin
5286 Result := MetadataBuilderVTable(vTable).addField(Self, status);
5287 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5288 end;
5289
5290 function IMetadataBuilder.getMetadata(status: IStatus): IMessageMetadata;
5291 begin
5292 Result := MetadataBuilderVTable(vTable).getMetadata(Self, status);
5293 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5294 end;
5295
5296 function IResultSet.fetchNext(status: IStatus; message: Pointer): Integer;
5297 begin
5298 Result := ResultSetVTable(vTable).fetchNext(Self, status, message);
5299 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5300 end;
5301
5302 function IResultSet.fetchPrior(status: IStatus; message: Pointer): Integer;
5303 begin
5304 Result := ResultSetVTable(vTable).fetchPrior(Self, status, message);
5305 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5306 end;
5307
5308 function IResultSet.fetchFirst(status: IStatus; message: Pointer): Integer;
5309 begin
5310 Result := ResultSetVTable(vTable).fetchFirst(Self, status, message);
5311 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5312 end;
5313
5314 function IResultSet.fetchLast(status: IStatus; message: Pointer): Integer;
5315 begin
5316 Result := ResultSetVTable(vTable).fetchLast(Self, status, message);
5317 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5318 end;
5319
5320 function IResultSet.fetchAbsolute(status: IStatus; position: Integer; message: Pointer): Integer;
5321 begin
5322 Result := ResultSetVTable(vTable).fetchAbsolute(Self, status, position, message);
5323 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5324 end;
5325
5326 function IResultSet.fetchRelative(status: IStatus; offset: Integer; message: Pointer): Integer;
5327 begin
5328 Result := ResultSetVTable(vTable).fetchRelative(Self, status, offset, message);
5329 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5330 end;
5331
5332 function IResultSet.isEof(status: IStatus): Boolean;
5333 begin
5334 Result := ResultSetVTable(vTable).isEof(Self, status);
5335 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5336 end;
5337
5338 function IResultSet.isBof(status: IStatus): Boolean;
5339 begin
5340 Result := ResultSetVTable(vTable).isBof(Self, status);
5341 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5342 end;
5343
5344 function IResultSet.getMetadata(status: IStatus): IMessageMetadata;
5345 begin
5346 Result := ResultSetVTable(vTable).getMetadata(Self, status);
5347 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5348 end;
5349
5350 procedure IResultSet.close(status: IStatus);
5351 begin
5352 ResultSetVTable(vTable).close(Self, status);
5353 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5354 end;
5355
5356 procedure IResultSet.setDelayedOutputFormat(status: IStatus; format: IMessageMetadata);
5357 begin
5358 ResultSetVTable(vTable).setDelayedOutputFormat(Self, status, format);
5359 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5360 end;
5361
5362 procedure IStatement.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
5363 begin
5364 StatementVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
5365 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5366 end;
5367
5368 function IStatement.getType(status: IStatus): Cardinal;
5369 begin
5370 Result := StatementVTable(vTable).getType(Self, status);
5371 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5372 end;
5373
5374 function IStatement.getPlan(status: IStatus; detailed: Boolean): PAnsiChar;
5375 begin
5376 Result := StatementVTable(vTable).getPlan(Self, status, detailed);
5377 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5378 end;
5379
5380 function IStatement.getAffectedRecords(status: IStatus): QWord;
5381 begin
5382 Result := StatementVTable(vTable).getAffectedRecords(Self, status);
5383 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5384 end;
5385
5386 function IStatement.getInputMetadata(status: IStatus): IMessageMetadata;
5387 begin
5388 Result := StatementVTable(vTable).getInputMetadata(Self, status);
5389 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5390 end;
5391
5392 function IStatement.getOutputMetadata(status: IStatus): IMessageMetadata;
5393 begin
5394 Result := StatementVTable(vTable).getOutputMetadata(Self, status);
5395 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5396 end;
5397
5398 function IStatement.execute(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
5399 begin
5400 Result := StatementVTable(vTable).execute(Self, status, transaction, inMetadata, inBuffer, outMetadata, outBuffer);
5401 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5402 end;
5403
5404 function IStatement.openCursor(status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet;
5405 begin
5406 Result := StatementVTable(vTable).openCursor(Self, status, transaction, inMetadata, inBuffer, outMetadata, flags);
5407 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5408 end;
5409
5410 procedure IStatement.setCursorName(status: IStatus; name: PAnsiChar);
5411 begin
5412 StatementVTable(vTable).setCursorName(Self, status, name);
5413 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5414 end;
5415
5416 procedure IStatement.free(status: IStatus);
5417 begin
5418 StatementVTable(vTable).free(Self, status);
5419 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5420 end;
5421
5422 function IStatement.getFlags(status: IStatus): Cardinal;
5423 begin
5424 Result := StatementVTable(vTable).getFlags(Self, status);
5425 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5426 end;
5427
5428 procedure IRequest.receive(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr);
5429 begin
5430 RequestVTable(vTable).receive(Self, status, level, msgType, length, message);
5431 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5432 end;
5433
5434 procedure IRequest.send(status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr);
5435 begin
5436 RequestVTable(vTable).send(Self, status, level, msgType, length, message);
5437 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5438 end;
5439
5440 procedure IRequest.getInfo(status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
5441 begin
5442 RequestVTable(vTable).getInfo(Self, status, level, itemsLength, items, bufferLength, buffer);
5443 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5444 end;
5445
5446 procedure IRequest.start(status: IStatus; tra: ITransaction; level: Integer);
5447 begin
5448 RequestVTable(vTable).start(Self, status, tra, level);
5449 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5450 end;
5451
5452 procedure IRequest.startAndSend(status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr);
5453 begin
5454 RequestVTable(vTable).startAndSend(Self, status, tra, level, msgType, length, message);
5455 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5456 end;
5457
5458 procedure IRequest.unwind(status: IStatus; level: Integer);
5459 begin
5460 RequestVTable(vTable).unwind(Self, status, level);
5461 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5462 end;
5463
5464 procedure IRequest.free(status: IStatus);
5465 begin
5466 RequestVTable(vTable).free(Self, status);
5467 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5468 end;
5469
5470 procedure IEvents.cancel(status: IStatus);
5471 begin
5472 EventsVTable(vTable).cancel(Self, status);
5473 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5474 end;
5475
5476 procedure IAttachment.getInfo(status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
5477 begin
5478 AttachmentVTable(vTable).getInfo(Self, status, itemsLength, items, bufferLength, buffer);
5479 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5480 end;
5481
5482 function IAttachment.startTransaction(status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction;
5483 begin
5484 Result := AttachmentVTable(vTable).startTransaction(Self, status, tpbLength, tpb);
5485 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5486 end;
5487
5488 function IAttachment.reconnectTransaction(status: IStatus; length: Cardinal; id: BytePtr): ITransaction;
5489 begin
5490 Result := AttachmentVTable(vTable).reconnectTransaction(Self, status, length, id);
5491 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5492 end;
5493
5494 function IAttachment.compileRequest(status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest;
5495 begin
5496 Result := AttachmentVTable(vTable).compileRequest(Self, status, blrLength, blr);
5497 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5498 end;
5499
5500 procedure IAttachment.transactRequest(status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr);
5501 begin
5502 AttachmentVTable(vTable).transactRequest(Self, status, transaction, blrLength, blr, inMsgLength, inMsg, outMsgLength, outMsg);
5503 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5504 end;
5505
5506 function IAttachment.createBlob(status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob;
5507 begin
5508 Result := AttachmentVTable(vTable).createBlob(Self, status, transaction, id, bpbLength, bpb);
5509 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5510 end;
5511
5512 function IAttachment.openBlob(status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob;
5513 begin
5514 Result := AttachmentVTable(vTable).openBlob(Self, status, transaction, id, bpbLength, bpb);
5515 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5516 end;
5517
5518 function IAttachment.getSlice(status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer;
5519 begin
5520 Result := AttachmentVTable(vTable).getSlice(Self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
5521 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5522 end;
5523
5524 procedure IAttachment.putSlice(status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr);
5525 begin
5526 AttachmentVTable(vTable).putSlice(Self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
5527 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5528 end;
5529
5530 procedure IAttachment.executeDyn(status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr);
5531 begin
5532 AttachmentVTable(vTable).executeDyn(Self, status, transaction, length, dyn);
5533 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5534 end;
5535
5536 function IAttachment.prepare(status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement;
5537 begin
5538 Result := AttachmentVTable(vTable).prepare(Self, status, tra, stmtLength, sqlStmt, dialect, flags);
5539 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5540 end;
5541
5542 function IAttachment.execute(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction;
5543 begin
5544 Result := AttachmentVTable(vTable).execute(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer);
5545 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5546 end;
5547
5548 function IAttachment.openCursor(status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet;
5549 begin
5550 Result := AttachmentVTable(vTable).openCursor(Self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags);
5551 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5552 end;
5553
5554 function IAttachment.queEvents(status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents;
5555 begin
5556 Result := AttachmentVTable(vTable).queEvents(Self, status, callback, length, events);
5557 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5558 end;
5559
5560 procedure IAttachment.cancelOperation(status: IStatus; option: Integer);
5561 begin
5562 AttachmentVTable(vTable).cancelOperation(Self, status, option);
5563 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5564 end;
5565
5566 procedure IAttachment.ping(status: IStatus);
5567 begin
5568 AttachmentVTable(vTable).ping(Self, status);
5569 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5570 end;
5571
5572 procedure IAttachment.detach(status: IStatus);
5573 begin
5574 AttachmentVTable(vTable).detach(Self, status);
5575 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5576 end;
5577
5578 procedure IAttachment.dropDatabase(status: IStatus);
5579 begin
5580 AttachmentVTable(vTable).dropDatabase(Self, status);
5581 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5582 end;
5583
5584 procedure IService.detach(status: IStatus);
5585 begin
5586 ServiceVTable(vTable).detach(Self, status);
5587 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5588 end;
5589
5590 procedure IService.query(status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr);
5591 begin
5592 ServiceVTable(vTable).query(Self, status, sendLength, sendItems, receiveLength, receiveItems, bufferLength, buffer);
5593 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5594 end;
5595
5596 procedure IService.start(status: IStatus; spbLength: Cardinal; spb: BytePtr);
5597 begin
5598 ServiceVTable(vTable).start(Self, status, spbLength, spb);
5599 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5600 end;
5601
5602 function IProvider.attachDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
5603 begin
5604 Result := ProviderVTable(vTable).attachDatabase(Self, status, fileName, dpbLength, dpb);
5605 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5606 end;
5607
5608 function IProvider.createDatabase(status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment;
5609 begin
5610 Result := ProviderVTable(vTable).createDatabase(Self, status, fileName, dpbLength, dpb);
5611 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5612 end;
5613
5614 function IProvider.attachServiceManager(status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService;
5615 begin
5616 Result := ProviderVTable(vTable).attachServiceManager(Self, status, service, spbLength, spb);
5617 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5618 end;
5619
5620 procedure IProvider.shutdown(status: IStatus; timeout: Cardinal; reason: Integer);
5621 begin
5622 ProviderVTable(vTable).shutdown(Self, status, timeout, reason);
5623 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5624 end;
5625
5626 procedure IProvider.setDbCryptCallback(status: IStatus; cryptCallback: ICryptKeyCallback);
5627 begin
5628 ProviderVTable(vTable).setDbCryptCallback(Self, status, cryptCallback);
5629 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5630 end;
5631
5632 procedure IDtcStart.addAttachment(status: IStatus; att: IAttachment);
5633 begin
5634 DtcStartVTable(vTable).addAttachment(Self, status, att);
5635 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5636 end;
5637
5638 procedure IDtcStart.addWithTpb(status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr);
5639 begin
5640 DtcStartVTable(vTable).addWithTpb(Self, status, att, length, tpb);
5641 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5642 end;
5643
5644 function IDtcStart.start(status: IStatus): ITransaction;
5645 begin
5646 Result := DtcStartVTable(vTable).start(Self, status);
5647 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5648 end;
5649
5650 function IDtc.join(status: IStatus; one: ITransaction; two: ITransaction): ITransaction;
5651 begin
5652 Result := DtcVTable(vTable).join(Self, status, one, two);
5653 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5654 end;
5655
5656 function IDtc.startBuilder(status: IStatus): IDtcStart;
5657 begin
5658 Result := DtcVTable(vTable).startBuilder(Self, status);
5659 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5660 end;
5661
5662 procedure IWriter.reset();
5663 begin
5664 WriterVTable(vTable).reset(Self);
5665 end;
5666
5667 procedure IWriter.add(status: IStatus; name: PAnsiChar);
5668 begin
5669 WriterVTable(vTable).add(Self, status, name);
5670 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5671 end;
5672
5673 procedure IWriter.setType(status: IStatus; value: PAnsiChar);
5674 begin
5675 WriterVTable(vTable).setType(Self, status, value);
5676 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5677 end;
5678
5679 procedure IWriter.setDb(status: IStatus; value: PAnsiChar);
5680 begin
5681 WriterVTable(vTable).setDb(Self, status, value);
5682 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5683 end;
5684
5685 function IServerBlock.getLogin(): PAnsiChar;
5686 begin
5687 Result := ServerBlockVTable(vTable).getLogin(Self);
5688 end;
5689
5690 function IServerBlock.getData(length: CardinalPtr): BytePtr;
5691 begin
5692 Result := ServerBlockVTable(vTable).getData(Self, length);
5693 end;
5694
5695 procedure IServerBlock.putData(status: IStatus; length: Cardinal; data: Pointer);
5696 begin
5697 ServerBlockVTable(vTable).putData(Self, status, length, data);
5698 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5699 end;
5700
5701 function IServerBlock.newKey(status: IStatus): ICryptKey;
5702 begin
5703 Result := ServerBlockVTable(vTable).newKey(Self, status);
5704 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5705 end;
5706
5707 function IClientBlock.getLogin(): PAnsiChar;
5708 begin
5709 Result := ClientBlockVTable(vTable).getLogin(Self);
5710 end;
5711
5712 function IClientBlock.getPassword(): PAnsiChar;
5713 begin
5714 Result := ClientBlockVTable(vTable).getPassword(Self);
5715 end;
5716
5717 function IClientBlock.getData(length: CardinalPtr): BytePtr;
5718 begin
5719 Result := ClientBlockVTable(vTable).getData(Self, length);
5720 end;
5721
5722 procedure IClientBlock.putData(status: IStatus; length: Cardinal; data: Pointer);
5723 begin
5724 ClientBlockVTable(vTable).putData(Self, status, length, data);
5725 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5726 end;
5727
5728 function IClientBlock.newKey(status: IStatus): ICryptKey;
5729 begin
5730 Result := ClientBlockVTable(vTable).newKey(Self, status);
5731 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5732 end;
5733
5734 function IServer.authenticate(status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer;
5735 begin
5736 Result := ServerVTable(vTable).authenticate(Self, status, sBlock, writerInterface);
5737 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5738 end;
5739
5740 function IClient.authenticate(status: IStatus; cBlock: IClientBlock): Integer;
5741 begin
5742 Result := ClientVTable(vTable).authenticate(Self, status, cBlock);
5743 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5744 end;
5745
5746 function IUserField.entered(): Integer;
5747 begin
5748 Result := UserFieldVTable(vTable).entered(Self);
5749 end;
5750
5751 function IUserField.specified(): Integer;
5752 begin
5753 Result := UserFieldVTable(vTable).specified(Self);
5754 end;
5755
5756 procedure IUserField.setEntered(status: IStatus; newValue: Integer);
5757 begin
5758 UserFieldVTable(vTable).setEntered(Self, status, newValue);
5759 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5760 end;
5761
5762 function ICharUserField.get(): PAnsiChar;
5763 begin
5764 Result := CharUserFieldVTable(vTable).get(Self);
5765 end;
5766
5767 procedure ICharUserField.set_(status: IStatus; newValue: PAnsiChar);
5768 begin
5769 CharUserFieldVTable(vTable).set_(Self, status, newValue);
5770 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5771 end;
5772
5773 function IIntUserField.get(): Integer;
5774 begin
5775 Result := IntUserFieldVTable(vTable).get(Self);
5776 end;
5777
5778 procedure IIntUserField.set_(status: IStatus; newValue: Integer);
5779 begin
5780 IntUserFieldVTable(vTable).set_(Self, status, newValue);
5781 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5782 end;
5783
5784 function IUser.operation(): Cardinal;
5785 begin
5786 Result := UserVTable(vTable).operation(Self);
5787 end;
5788
5789 function IUser.userName(): ICharUserField;
5790 begin
5791 Result := UserVTable(vTable).userName(Self);
5792 end;
5793
5794 function IUser.password(): ICharUserField;
5795 begin
5796 Result := UserVTable(vTable).password(Self);
5797 end;
5798
5799 function IUser.firstName(): ICharUserField;
5800 begin
5801 Result := UserVTable(vTable).firstName(Self);
5802 end;
5803
5804 function IUser.lastName(): ICharUserField;
5805 begin
5806 Result := UserVTable(vTable).lastName(Self);
5807 end;
5808
5809 function IUser.middleName(): ICharUserField;
5810 begin
5811 Result := UserVTable(vTable).middleName(Self);
5812 end;
5813
5814 function IUser.comment(): ICharUserField;
5815 begin
5816 Result := UserVTable(vTable).comment(Self);
5817 end;
5818
5819 function IUser.attributes(): ICharUserField;
5820 begin
5821 Result := UserVTable(vTable).attributes(Self);
5822 end;
5823
5824 function IUser.active(): IIntUserField;
5825 begin
5826 Result := UserVTable(vTable).active(Self);
5827 end;
5828
5829 function IUser.admin(): IIntUserField;
5830 begin
5831 Result := UserVTable(vTable).admin(Self);
5832 end;
5833
5834 procedure IUser.clear(status: IStatus);
5835 begin
5836 UserVTable(vTable).clear(Self, status);
5837 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5838 end;
5839
5840 procedure IListUsers.list(status: IStatus; user: IUser);
5841 begin
5842 ListUsersVTable(vTable).list(Self, status, user);
5843 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5844 end;
5845
5846 function ILogonInfo.name(): PAnsiChar;
5847 begin
5848 Result := LogonInfoVTable(vTable).name(Self);
5849 end;
5850
5851 function ILogonInfo.role(): PAnsiChar;
5852 begin
5853 Result := LogonInfoVTable(vTable).role(Self);
5854 end;
5855
5856 function ILogonInfo.networkProtocol(): PAnsiChar;
5857 begin
5858 Result := LogonInfoVTable(vTable).networkProtocol(Self);
5859 end;
5860
5861 function ILogonInfo.remoteAddress(): PAnsiChar;
5862 begin
5863 Result := LogonInfoVTable(vTable).remoteAddress(Self);
5864 end;
5865
5866 function ILogonInfo.authBlock(length: CardinalPtr): BytePtr;
5867 begin
5868 Result := LogonInfoVTable(vTable).authBlock(Self, length);
5869 end;
5870
5871 procedure IManagement.start(status: IStatus; logonInfo: ILogonInfo);
5872 begin
5873 ManagementVTable(vTable).start(Self, status, logonInfo);
5874 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5875 end;
5876
5877 function IManagement.execute(status: IStatus; user: IUser; callback: IListUsers): Integer;
5878 begin
5879 Result := ManagementVTable(vTable).execute(Self, status, user, callback);
5880 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5881 end;
5882
5883 procedure IManagement.commit(status: IStatus);
5884 begin
5885 ManagementVTable(vTable).commit(Self, status);
5886 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5887 end;
5888
5889 procedure IManagement.rollback(status: IStatus);
5890 begin
5891 ManagementVTable(vTable).rollback(Self, status);
5892 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5893 end;
5894
5895 function IWireCryptPlugin.getKnownTypes(status: IStatus): PAnsiChar;
5896 begin
5897 Result := WireCryptPluginVTable(vTable).getKnownTypes(Self, status);
5898 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5899 end;
5900
5901 procedure IWireCryptPlugin.setKey(status: IStatus; key: ICryptKey);
5902 begin
5903 WireCryptPluginVTable(vTable).setKey(Self, status, key);
5904 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5905 end;
5906
5907 procedure IWireCryptPlugin.encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5908 begin
5909 WireCryptPluginVTable(vTable).encrypt(Self, status, length, from, to_);
5910 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5911 end;
5912
5913 procedure IWireCryptPlugin.decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5914 begin
5915 WireCryptPluginVTable(vTable).decrypt(Self, status, length, from, to_);
5916 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5917 end;
5918
5919 function ICryptKeyCallback.callback(dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal;
5920 begin
5921 Result := CryptKeyCallbackVTable(vTable).callback(Self, dataLength, data, bufferLength, buffer);
5922 end;
5923
5924 function IKeyHolderPlugin.keyCallback(status: IStatus; callback: ICryptKeyCallback): Integer;
5925 begin
5926 Result := KeyHolderPluginVTable(vTable).keyCallback(Self, status, callback);
5927 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5928 end;
5929
5930 function IKeyHolderPlugin.keyHandle(status: IStatus; keyName: PAnsiChar): ICryptKeyCallback;
5931 begin
5932 Result := KeyHolderPluginVTable(vTable).keyHandle(Self, status, keyName);
5933 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5934 end;
5935
5936 procedure IDbCryptPlugin.setKey(status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar);
5937 begin
5938 DbCryptPluginVTable(vTable).setKey(Self, status, length, sources, keyName);
5939 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5940 end;
5941
5942 procedure IDbCryptPlugin.encrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5943 begin
5944 DbCryptPluginVTable(vTable).encrypt(Self, status, length, from, to_);
5945 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5946 end;
5947
5948 procedure IDbCryptPlugin.decrypt(status: IStatus; length: Cardinal; from: Pointer; to_: Pointer);
5949 begin
5950 DbCryptPluginVTable(vTable).decrypt(Self, status, length, from, to_);
5951 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5952 end;
5953
5954 function IExternalContext.getMaster(): IMaster;
5955 begin
5956 Result := ExternalContextVTable(vTable).getMaster(Self);
5957 end;
5958
5959 function IExternalContext.getEngine(status: IStatus): IExternalEngine;
5960 begin
5961 Result := ExternalContextVTable(vTable).getEngine(Self, status);
5962 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5963 end;
5964
5965 function IExternalContext.getAttachment(status: IStatus): IAttachment;
5966 begin
5967 Result := ExternalContextVTable(vTable).getAttachment(Self, status);
5968 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5969 end;
5970
5971 function IExternalContext.getTransaction(status: IStatus): ITransaction;
5972 begin
5973 Result := ExternalContextVTable(vTable).getTransaction(Self, status);
5974 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
5975 end;
5976
5977 function IExternalContext.getUserName(): PAnsiChar;
5978 begin
5979 Result := ExternalContextVTable(vTable).getUserName(Self);
5980 end;
5981
5982 function IExternalContext.getDatabaseName(): PAnsiChar;
5983 begin
5984 Result := ExternalContextVTable(vTable).getDatabaseName(Self);
5985 end;
5986
5987 function IExternalContext.getClientCharSet(): PAnsiChar;
5988 begin
5989 Result := ExternalContextVTable(vTable).getClientCharSet(Self);
5990 end;
5991
5992 function IExternalContext.obtainInfoCode(): Integer;
5993 begin
5994 Result := ExternalContextVTable(vTable).obtainInfoCode(Self);
5995 end;
5996
5997 function IExternalContext.getInfo(code: Integer): Pointer;
5998 begin
5999 Result := ExternalContextVTable(vTable).getInfo(Self, code);
6000 end;
6001
6002 function IExternalContext.setInfo(code: Integer; value: Pointer): Pointer;
6003 begin
6004 Result := ExternalContextVTable(vTable).setInfo(Self, code, value);
6005 end;
6006
6007 function IExternalResultSet.fetch(status: IStatus): Boolean;
6008 begin
6009 Result := ExternalResultSetVTable(vTable).fetch(Self, status);
6010 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6011 end;
6012
6013 procedure IExternalFunction.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
6014 begin
6015 ExternalFunctionVTable(vTable).getCharSet(Self, status, context, name, nameSize);
6016 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6017 end;
6018
6019 procedure IExternalFunction.execute(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer);
6020 begin
6021 ExternalFunctionVTable(vTable).execute(Self, status, context, inMsg, outMsg);
6022 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6023 end;
6024
6025 procedure IExternalProcedure.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
6026 begin
6027 ExternalProcedureVTable(vTable).getCharSet(Self, status, context, name, nameSize);
6028 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6029 end;
6030
6031 function IExternalProcedure.open(status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet;
6032 begin
6033 Result := ExternalProcedureVTable(vTable).open(Self, status, context, inMsg, outMsg);
6034 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6035 end;
6036
6037 procedure IExternalTrigger.getCharSet(status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal);
6038 begin
6039 ExternalTriggerVTable(vTable).getCharSet(Self, status, context, name, nameSize);
6040 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6041 end;
6042
6043 procedure IExternalTrigger.execute(status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer);
6044 begin
6045 ExternalTriggerVTable(vTable).execute(Self, status, context, action, oldMsg, newMsg);
6046 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6047 end;
6048
6049 function IRoutineMetadata.getPackage(status: IStatus): PAnsiChar;
6050 begin
6051 Result := RoutineMetadataVTable(vTable).getPackage(Self, status);
6052 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6053 end;
6054
6055 function IRoutineMetadata.getName(status: IStatus): PAnsiChar;
6056 begin
6057 Result := RoutineMetadataVTable(vTable).getName(Self, status);
6058 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6059 end;
6060
6061 function IRoutineMetadata.getEntryPoint(status: IStatus): PAnsiChar;
6062 begin
6063 Result := RoutineMetadataVTable(vTable).getEntryPoint(Self, status);
6064 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6065 end;
6066
6067 function IRoutineMetadata.getBody(status: IStatus): PAnsiChar;
6068 begin
6069 Result := RoutineMetadataVTable(vTable).getBody(Self, status);
6070 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6071 end;
6072
6073 function IRoutineMetadata.getInputMetadata(status: IStatus): IMessageMetadata;
6074 begin
6075 Result := RoutineMetadataVTable(vTable).getInputMetadata(Self, status);
6076 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6077 end;
6078
6079 function IRoutineMetadata.getOutputMetadata(status: IStatus): IMessageMetadata;
6080 begin
6081 Result := RoutineMetadataVTable(vTable).getOutputMetadata(Self, status);
6082 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6083 end;
6084
6085 function IRoutineMetadata.getTriggerMetadata(status: IStatus): IMessageMetadata;
6086 begin
6087 Result := RoutineMetadataVTable(vTable).getTriggerMetadata(Self, status);
6088 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6089 end;
6090
6091 function IRoutineMetadata.getTriggerTable(status: IStatus): PAnsiChar;
6092 begin
6093 Result := RoutineMetadataVTable(vTable).getTriggerTable(Self, status);
6094 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6095 end;
6096
6097 function IRoutineMetadata.getTriggerType(status: IStatus): Cardinal;
6098 begin
6099 Result := RoutineMetadataVTable(vTable).getTriggerType(Self, status);
6100 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6101 end;
6102
6103 procedure IExternalEngine.open(status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal);
6104 begin
6105 ExternalEngineVTable(vTable).open(Self, status, context, charSet, charSetSize);
6106 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6107 end;
6108
6109 procedure IExternalEngine.openAttachment(status: IStatus; context: IExternalContext);
6110 begin
6111 ExternalEngineVTable(vTable).openAttachment(Self, status, context);
6112 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6113 end;
6114
6115 procedure IExternalEngine.closeAttachment(status: IStatus; context: IExternalContext);
6116 begin
6117 ExternalEngineVTable(vTable).closeAttachment(Self, status, context);
6118 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6119 end;
6120
6121 function IExternalEngine.makeFunction(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction;
6122 begin
6123 Result := ExternalEngineVTable(vTable).makeFunction(Self, status, context, metadata, inBuilder, outBuilder);
6124 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6125 end;
6126
6127 function IExternalEngine.makeProcedure(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure;
6128 begin
6129 Result := ExternalEngineVTable(vTable).makeProcedure(Self, status, context, metadata, inBuilder, outBuilder);
6130 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6131 end;
6132
6133 function IExternalEngine.makeTrigger(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger;
6134 begin
6135 Result := ExternalEngineVTable(vTable).makeTrigger(Self, status, context, metadata, fieldsBuilder);
6136 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6137 end;
6138
6139 procedure ITimer.handler();
6140 begin
6141 TimerVTable(vTable).handler(Self);
6142 end;
6143
6144 procedure ITimerControl.start(status: IStatus; timer: ITimer; microSeconds: QWord);
6145 begin
6146 TimerControlVTable(vTable).start(Self, status, timer, microSeconds);
6147 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6148 end;
6149
6150 procedure ITimerControl.stop(status: IStatus; timer: ITimer);
6151 begin
6152 TimerControlVTable(vTable).stop(Self, status, timer);
6153 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6154 end;
6155
6156 procedure IVersionCallback.callback(status: IStatus; text: PAnsiChar);
6157 begin
6158 VersionCallbackVTable(vTable).callback(Self, status, text);
6159 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6160 end;
6161
6162 procedure IUtil.getFbVersion(status: IStatus; att: IAttachment; callback: IVersionCallback);
6163 begin
6164 UtilVTable(vTable).getFbVersion(Self, status, att, callback);
6165 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6166 end;
6167
6168 procedure IUtil.loadBlob(status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
6169 begin
6170 UtilVTable(vTable).loadBlob(Self, status, blobId, att, tra, file_, txt);
6171 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6172 end;
6173
6174 procedure IUtil.dumpBlob(status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean);
6175 begin
6176 UtilVTable(vTable).dumpBlob(Self, status, blobId, att, tra, file_, txt);
6177 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6178 end;
6179
6180 procedure IUtil.getPerfCounters(status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr);
6181 begin
6182 UtilVTable(vTable).getPerfCounters(Self, status, att, countersSet, counters);
6183 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6184 end;
6185
6186 function IUtil.executeCreateDatabase(status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment;
6187 begin
6188 Result := UtilVTable(vTable).executeCreateDatabase(Self, status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb);
6189 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6190 end;
6191
6192 procedure IUtil.decodeDate(date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr);
6193 begin
6194 UtilVTable(vTable).decodeDate(Self, date, year, month, day);
6195 end;
6196
6197 procedure IUtil.decodeTime(time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr);
6198 begin
6199 UtilVTable(vTable).decodeTime(Self, time, hours, minutes, seconds, fractions);
6200 end;
6201
6202 function IUtil.encodeDate(year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE;
6203 begin
6204 Result := UtilVTable(vTable).encodeDate(Self, year, month, day);
6205 end;
6206
6207 function IUtil.encodeTime(hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME;
6208 begin
6209 Result := UtilVTable(vTable).encodeTime(Self, hours, minutes, seconds, fractions);
6210 end;
6211
6212 function IUtil.formatStatus(buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal;
6213 begin
6214 Result := UtilVTable(vTable).formatStatus(Self, buffer, bufferSize, status);
6215 end;
6216
6217 function IUtil.getClientVersion(): Cardinal;
6218 begin
6219 Result := UtilVTable(vTable).getClientVersion(Self);
6220 end;
6221
6222 function IUtil.getXpbBuilder(status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder;
6223 begin
6224 Result := UtilVTable(vTable).getXpbBuilder(Self, status, kind, buf, len);
6225 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6226 end;
6227
6228 function IUtil.setOffsets(status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal;
6229 begin
6230 Result := UtilVTable(vTable).setOffsets(Self, status, metadata, callback);
6231 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6232 end;
6233
6234 procedure IOffsetsCallback.setOffset(status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal);
6235 begin
6236 OffsetsCallbackVTable(vTable).setOffset(Self, status, index, offset, nullOffset);
6237 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6238 end;
6239
6240 procedure IXpbBuilder.clear(status: IStatus);
6241 begin
6242 XpbBuilderVTable(vTable).clear(Self, status);
6243 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6244 end;
6245
6246 procedure IXpbBuilder.removeCurrent(status: IStatus);
6247 begin
6248 XpbBuilderVTable(vTable).removeCurrent(Self, status);
6249 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6250 end;
6251
6252 procedure IXpbBuilder.insertInt(status: IStatus; tag: Byte; value: Integer);
6253 begin
6254 XpbBuilderVTable(vTable).insertInt(Self, status, tag, value);
6255 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6256 end;
6257
6258 procedure IXpbBuilder.insertBigInt(status: IStatus; tag: Byte; value: Int64);
6259 begin
6260 XpbBuilderVTable(vTable).insertBigInt(Self, status, tag, value);
6261 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6262 end;
6263
6264 procedure IXpbBuilder.insertBytes(status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal);
6265 begin
6266 XpbBuilderVTable(vTable).insertBytes(Self, status, tag, bytes, length);
6267 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6268 end;
6269
6270 procedure IXpbBuilder.insertString(status: IStatus; tag: Byte; str: PAnsiChar);
6271 begin
6272 XpbBuilderVTable(vTable).insertString(Self, status, tag, str);
6273 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6274 end;
6275
6276 procedure IXpbBuilder.insertTag(status: IStatus; tag: Byte);
6277 begin
6278 XpbBuilderVTable(vTable).insertTag(Self, status, tag);
6279 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6280 end;
6281
6282 function IXpbBuilder.isEof(status: IStatus): Boolean;
6283 begin
6284 Result := XpbBuilderVTable(vTable).isEof(Self, status);
6285 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6286 end;
6287
6288 procedure IXpbBuilder.moveNext(status: IStatus);
6289 begin
6290 XpbBuilderVTable(vTable).moveNext(Self, status);
6291 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6292 end;
6293
6294 procedure IXpbBuilder.rewind(status: IStatus);
6295 begin
6296 XpbBuilderVTable(vTable).rewind(Self, status);
6297 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6298 end;
6299
6300 function IXpbBuilder.findFirst(status: IStatus; tag: Byte): Boolean;
6301 begin
6302 Result := XpbBuilderVTable(vTable).findFirst(Self, status, tag);
6303 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6304 end;
6305
6306 function IXpbBuilder.findNext(status: IStatus): Boolean;
6307 begin
6308 Result := XpbBuilderVTable(vTable).findNext(Self, status);
6309 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6310 end;
6311
6312 function IXpbBuilder.getTag(status: IStatus): Byte;
6313 begin
6314 Result := XpbBuilderVTable(vTable).getTag(Self, status);
6315 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6316 end;
6317
6318 function IXpbBuilder.getLength(status: IStatus): Cardinal;
6319 begin
6320 Result := XpbBuilderVTable(vTable).getLength(Self, status);
6321 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6322 end;
6323
6324 function IXpbBuilder.getInt(status: IStatus): Integer;
6325 begin
6326 Result := XpbBuilderVTable(vTable).getInt(Self, status);
6327 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6328 end;
6329
6330 function IXpbBuilder.getBigInt(status: IStatus): Int64;
6331 begin
6332 Result := XpbBuilderVTable(vTable).getBigInt(Self, status);
6333 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6334 end;
6335
6336 function IXpbBuilder.getString(status: IStatus): PAnsiChar;
6337 begin
6338 Result := XpbBuilderVTable(vTable).getString(Self, status);
6339 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6340 end;
6341
6342 function IXpbBuilder.getBytes(status: IStatus): BytePtr;
6343 begin
6344 Result := XpbBuilderVTable(vTable).getBytes(Self, status);
6345 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6346 end;
6347
6348 function IXpbBuilder.getBufferLength(status: IStatus): Cardinal;
6349 begin
6350 Result := XpbBuilderVTable(vTable).getBufferLength(Self, status);
6351 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6352 end;
6353
6354 function IXpbBuilder.getBuffer(status: IStatus): BytePtr;
6355 begin
6356 Result := XpbBuilderVTable(vTable).getBuffer(Self, status);
6357 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6358 end;
6359
6360 function ITraceConnection.getKind(): Cardinal;
6361 begin
6362 Result := TraceConnectionVTable(vTable).getKind(Self);
6363 end;
6364
6365 function ITraceConnection.getProcessID(): Integer;
6366 begin
6367 Result := TraceConnectionVTable(vTable).getProcessID(Self);
6368 end;
6369
6370 function ITraceConnection.getUserName(): PAnsiChar;
6371 begin
6372 Result := TraceConnectionVTable(vTable).getUserName(Self);
6373 end;
6374
6375 function ITraceConnection.getRoleName(): PAnsiChar;
6376 begin
6377 Result := TraceConnectionVTable(vTable).getRoleName(Self);
6378 end;
6379
6380 function ITraceConnection.getCharSet(): PAnsiChar;
6381 begin
6382 Result := TraceConnectionVTable(vTable).getCharSet(Self);
6383 end;
6384
6385 function ITraceConnection.getRemoteProtocol(): PAnsiChar;
6386 begin
6387 Result := TraceConnectionVTable(vTable).getRemoteProtocol(Self);
6388 end;
6389
6390 function ITraceConnection.getRemoteAddress(): PAnsiChar;
6391 begin
6392 Result := TraceConnectionVTable(vTable).getRemoteAddress(Self);
6393 end;
6394
6395 function ITraceConnection.getRemoteProcessID(): Integer;
6396 begin
6397 Result := TraceConnectionVTable(vTable).getRemoteProcessID(Self);
6398 end;
6399
6400 function ITraceConnection.getRemoteProcessName(): PAnsiChar;
6401 begin
6402 Result := TraceConnectionVTable(vTable).getRemoteProcessName(Self);
6403 end;
6404
6405 function ITraceDatabaseConnection.getConnectionID(): Int64;
6406 begin
6407 Result := TraceDatabaseConnectionVTable(vTable).getConnectionID(Self);
6408 end;
6409
6410 function ITraceDatabaseConnection.getDatabaseName(): PAnsiChar;
6411 begin
6412 Result := TraceDatabaseConnectionVTable(vTable).getDatabaseName(Self);
6413 end;
6414
6415 function ITraceTransaction.getTransactionID(): Int64;
6416 begin
6417 Result := TraceTransactionVTable(vTable).getTransactionID(Self);
6418 end;
6419
6420 function ITraceTransaction.getReadOnly(): Boolean;
6421 begin
6422 Result := TraceTransactionVTable(vTable).getReadOnly(Self);
6423 end;
6424
6425 function ITraceTransaction.getWait(): Integer;
6426 begin
6427 Result := TraceTransactionVTable(vTable).getWait(Self);
6428 end;
6429
6430 function ITraceTransaction.getIsolation(): Cardinal;
6431 begin
6432 Result := TraceTransactionVTable(vTable).getIsolation(Self);
6433 end;
6434
6435 function ITraceTransaction.getPerf(): PerformanceInfoPtr;
6436 begin
6437 Result := TraceTransactionVTable(vTable).getPerf(Self);
6438 end;
6439
6440 function ITraceParams.getCount(): Cardinal;
6441 begin
6442 Result := TraceParamsVTable(vTable).getCount(Self);
6443 end;
6444
6445 function ITraceParams.getParam(idx: Cardinal): dscPtr;
6446 begin
6447 Result := TraceParamsVTable(vTable).getParam(Self, idx);
6448 end;
6449
6450 function ITraceStatement.getStmtID(): Int64;
6451 begin
6452 Result := TraceStatementVTable(vTable).getStmtID(Self);
6453 end;
6454
6455 function ITraceStatement.getPerf(): PerformanceInfoPtr;
6456 begin
6457 Result := TraceStatementVTable(vTable).getPerf(Self);
6458 end;
6459
6460 function ITraceSQLStatement.getText(): PAnsiChar;
6461 begin
6462 Result := TraceSQLStatementVTable(vTable).getText(Self);
6463 end;
6464
6465 function ITraceSQLStatement.getPlan(): PAnsiChar;
6466 begin
6467 Result := TraceSQLStatementVTable(vTable).getPlan(Self);
6468 end;
6469
6470 function ITraceSQLStatement.getInputs(): ITraceParams;
6471 begin
6472 Result := TraceSQLStatementVTable(vTable).getInputs(Self);
6473 end;
6474
6475 function ITraceSQLStatement.getTextUTF8(): PAnsiChar;
6476 begin
6477 Result := TraceSQLStatementVTable(vTable).getTextUTF8(Self);
6478 end;
6479
6480 function ITraceSQLStatement.getExplainedPlan(): PAnsiChar;
6481 begin
6482 Result := TraceSQLStatementVTable(vTable).getExplainedPlan(Self);
6483 end;
6484
6485 function ITraceBLRStatement.getData(): BytePtr;
6486 begin
6487 Result := TraceBLRStatementVTable(vTable).getData(Self);
6488 end;
6489
6490 function ITraceBLRStatement.getDataLength(): Cardinal;
6491 begin
6492 Result := TraceBLRStatementVTable(vTable).getDataLength(Self);
6493 end;
6494
6495 function ITraceBLRStatement.getText(): PAnsiChar;
6496 begin
6497 Result := TraceBLRStatementVTable(vTable).getText(Self);
6498 end;
6499
6500 function ITraceDYNRequest.getData(): BytePtr;
6501 begin
6502 Result := TraceDYNRequestVTable(vTable).getData(Self);
6503 end;
6504
6505 function ITraceDYNRequest.getDataLength(): Cardinal;
6506 begin
6507 Result := TraceDYNRequestVTable(vTable).getDataLength(Self);
6508 end;
6509
6510 function ITraceDYNRequest.getText(): PAnsiChar;
6511 begin
6512 Result := TraceDYNRequestVTable(vTable).getText(Self);
6513 end;
6514
6515 function ITraceContextVariable.getNameSpace(): PAnsiChar;
6516 begin
6517 Result := TraceContextVariableVTable(vTable).getNameSpace(Self);
6518 end;
6519
6520 function ITraceContextVariable.getVarName(): PAnsiChar;
6521 begin
6522 Result := TraceContextVariableVTable(vTable).getVarName(Self);
6523 end;
6524
6525 function ITraceContextVariable.getVarValue(): PAnsiChar;
6526 begin
6527 Result := TraceContextVariableVTable(vTable).getVarValue(Self);
6528 end;
6529
6530 function ITraceProcedure.getProcName(): PAnsiChar;
6531 begin
6532 Result := TraceProcedureVTable(vTable).getProcName(Self);
6533 end;
6534
6535 function ITraceProcedure.getInputs(): ITraceParams;
6536 begin
6537 Result := TraceProcedureVTable(vTable).getInputs(Self);
6538 end;
6539
6540 function ITraceProcedure.getPerf(): PerformanceInfoPtr;
6541 begin
6542 Result := TraceProcedureVTable(vTable).getPerf(Self);
6543 end;
6544
6545 function ITraceFunction.getFuncName(): PAnsiChar;
6546 begin
6547 Result := TraceFunctionVTable(vTable).getFuncName(Self);
6548 end;
6549
6550 function ITraceFunction.getInputs(): ITraceParams;
6551 begin
6552 Result := TraceFunctionVTable(vTable).getInputs(Self);
6553 end;
6554
6555 function ITraceFunction.getResult(): ITraceParams;
6556 begin
6557 Result := TraceFunctionVTable(vTable).getResult(Self);
6558 end;
6559
6560 function ITraceFunction.getPerf(): PerformanceInfoPtr;
6561 begin
6562 Result := TraceFunctionVTable(vTable).getPerf(Self);
6563 end;
6564
6565 function ITraceTrigger.getTriggerName(): PAnsiChar;
6566 begin
6567 Result := TraceTriggerVTable(vTable).getTriggerName(Self);
6568 end;
6569
6570 function ITraceTrigger.getRelationName(): PAnsiChar;
6571 begin
6572 Result := TraceTriggerVTable(vTable).getRelationName(Self);
6573 end;
6574
6575 function ITraceTrigger.getAction(): Integer;
6576 begin
6577 Result := TraceTriggerVTable(vTable).getAction(Self);
6578 end;
6579
6580 function ITraceTrigger.getWhich(): Integer;
6581 begin
6582 Result := TraceTriggerVTable(vTable).getWhich(Self);
6583 end;
6584
6585 function ITraceTrigger.getPerf(): PerformanceInfoPtr;
6586 begin
6587 Result := TraceTriggerVTable(vTable).getPerf(Self);
6588 end;
6589
6590 function ITraceServiceConnection.getServiceID(): Pointer;
6591 begin
6592 Result := TraceServiceConnectionVTable(vTable).getServiceID(Self);
6593 end;
6594
6595 function ITraceServiceConnection.getServiceMgr(): PAnsiChar;
6596 begin
6597 Result := TraceServiceConnectionVTable(vTable).getServiceMgr(Self);
6598 end;
6599
6600 function ITraceServiceConnection.getServiceName(): PAnsiChar;
6601 begin
6602 Result := TraceServiceConnectionVTable(vTable).getServiceName(Self);
6603 end;
6604
6605 function ITraceStatusVector.hasError(): Boolean;
6606 begin
6607 Result := TraceStatusVectorVTable(vTable).hasError(Self);
6608 end;
6609
6610 function ITraceStatusVector.hasWarning(): Boolean;
6611 begin
6612 Result := TraceStatusVectorVTable(vTable).hasWarning(Self);
6613 end;
6614
6615 function ITraceStatusVector.getStatus(): IStatus;
6616 begin
6617 Result := TraceStatusVectorVTable(vTable).getStatus(Self);
6618 end;
6619
6620 function ITraceStatusVector.getText(): PAnsiChar;
6621 begin
6622 Result := TraceStatusVectorVTable(vTable).getText(Self);
6623 end;
6624
6625 function ITraceSweepInfo.getOIT(): Int64;
6626 begin
6627 Result := TraceSweepInfoVTable(vTable).getOIT(Self);
6628 end;
6629
6630 function ITraceSweepInfo.getOST(): Int64;
6631 begin
6632 Result := TraceSweepInfoVTable(vTable).getOST(Self);
6633 end;
6634
6635 function ITraceSweepInfo.getOAT(): Int64;
6636 begin
6637 Result := TraceSweepInfoVTable(vTable).getOAT(Self);
6638 end;
6639
6640 function ITraceSweepInfo.getNext(): Int64;
6641 begin
6642 Result := TraceSweepInfoVTable(vTable).getNext(Self);
6643 end;
6644
6645 function ITraceSweepInfo.getPerf(): PerformanceInfoPtr;
6646 begin
6647 Result := TraceSweepInfoVTable(vTable).getPerf(Self);
6648 end;
6649
6650 function ITraceLogWriter.write(buf: Pointer; size: Cardinal): Cardinal;
6651 begin
6652 Result := TraceLogWriterVTable(vTable).write(Self, buf, size);
6653 end;
6654
6655 function ITraceInitInfo.getConfigText(): PAnsiChar;
6656 begin
6657 Result := TraceInitInfoVTable(vTable).getConfigText(Self);
6658 end;
6659
6660 function ITraceInitInfo.getTraceSessionID(): Integer;
6661 begin
6662 Result := TraceInitInfoVTable(vTable).getTraceSessionID(Self);
6663 end;
6664
6665 function ITraceInitInfo.getTraceSessionName(): PAnsiChar;
6666 begin
6667 Result := TraceInitInfoVTable(vTable).getTraceSessionName(Self);
6668 end;
6669
6670 function ITraceInitInfo.getFirebirdRootDirectory(): PAnsiChar;
6671 begin
6672 Result := TraceInitInfoVTable(vTable).getFirebirdRootDirectory(Self);
6673 end;
6674
6675 function ITraceInitInfo.getDatabaseName(): PAnsiChar;
6676 begin
6677 Result := TraceInitInfoVTable(vTable).getDatabaseName(Self);
6678 end;
6679
6680 function ITraceInitInfo.getConnection(): ITraceDatabaseConnection;
6681 begin
6682 Result := TraceInitInfoVTable(vTable).getConnection(Self);
6683 end;
6684
6685 function ITraceInitInfo.getLogWriter(): ITraceLogWriter;
6686 begin
6687 Result := TraceInitInfoVTable(vTable).getLogWriter(Self);
6688 end;
6689
6690 function ITracePlugin.trace_get_error(): PAnsiChar;
6691 begin
6692 Result := TracePluginVTable(vTable).trace_get_error(Self);
6693 end;
6694
6695 function ITracePlugin.trace_attach(connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean;
6696 begin
6697 Result := TracePluginVTable(vTable).trace_attach(Self, connection, create_db, att_result);
6698 end;
6699
6700 function ITracePlugin.trace_detach(connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean;
6701 begin
6702 Result := TracePluginVTable(vTable).trace_detach(Self, connection, drop_db);
6703 end;
6704
6705 function ITracePlugin.trace_transaction_start(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean;
6706 begin
6707 Result := TracePluginVTable(vTable).trace_transaction_start(Self, connection, transaction, tpb_length, tpb, tra_result);
6708 end;
6709
6710 function ITracePlugin.trace_transaction_end(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean;
6711 begin
6712 Result := TracePluginVTable(vTable).trace_transaction_end(Self, connection, transaction, commit, retain_context, tra_result);
6713 end;
6714
6715 function ITracePlugin.trace_proc_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean;
6716 begin
6717 Result := TracePluginVTable(vTable).trace_proc_execute(Self, connection, transaction, procedure_, started, proc_result);
6718 end;
6719
6720 function ITracePlugin.trace_trigger_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean;
6721 begin
6722 Result := TracePluginVTable(vTable).trace_trigger_execute(Self, connection, transaction, trigger, started, trig_result);
6723 end;
6724
6725 function ITracePlugin.trace_set_context(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean;
6726 begin
6727 Result := TracePluginVTable(vTable).trace_set_context(Self, connection, transaction, variable);
6728 end;
6729
6730 function ITracePlugin.trace_dsql_prepare(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean;
6731 begin
6732 Result := TracePluginVTable(vTable).trace_dsql_prepare(Self, connection, transaction, statement, time_millis, req_result);
6733 end;
6734
6735 function ITracePlugin.trace_dsql_free(connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean;
6736 begin
6737 Result := TracePluginVTable(vTable).trace_dsql_free(Self, connection, statement, option);
6738 end;
6739
6740 function ITracePlugin.trace_dsql_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean;
6741 begin
6742 Result := TracePluginVTable(vTable).trace_dsql_execute(Self, connection, transaction, statement, started, req_result);
6743 end;
6744
6745 function ITracePlugin.trace_blr_compile(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean;
6746 begin
6747 Result := TracePluginVTable(vTable).trace_blr_compile(Self, connection, transaction, statement, time_millis, req_result);
6748 end;
6749
6750 function ITracePlugin.trace_blr_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean;
6751 begin
6752 Result := TracePluginVTable(vTable).trace_blr_execute(Self, connection, transaction, statement, req_result);
6753 end;
6754
6755 function ITracePlugin.trace_dyn_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean;
6756 begin
6757 Result := TracePluginVTable(vTable).trace_dyn_execute(Self, connection, transaction, request, time_millis, req_result);
6758 end;
6759
6760 function ITracePlugin.trace_service_attach(service: ITraceServiceConnection; att_result: Cardinal): Boolean;
6761 begin
6762 Result := TracePluginVTable(vTable).trace_service_attach(Self, service, att_result);
6763 end;
6764
6765 function ITracePlugin.trace_service_start(service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean;
6766 begin
6767 Result := TracePluginVTable(vTable).trace_service_start(Self, service, switches_length, switches, start_result);
6768 end;
6769
6770 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;
6771 begin
6772 Result := TracePluginVTable(vTable).trace_service_query(Self, service, send_item_length, send_items, recv_item_length, recv_items, query_result);
6773 end;
6774
6775 function ITracePlugin.trace_service_detach(service: ITraceServiceConnection; detach_result: Cardinal): Boolean;
6776 begin
6777 Result := TracePluginVTable(vTable).trace_service_detach(Self, service, detach_result);
6778 end;
6779
6780 function ITracePlugin.trace_event_error(connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean;
6781 begin
6782 Result := TracePluginVTable(vTable).trace_event_error(Self, connection, status, function_);
6783 end;
6784
6785 function ITracePlugin.trace_event_sweep(connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean;
6786 begin
6787 Result := TracePluginVTable(vTable).trace_event_sweep(Self, connection, sweep, sweep_state);
6788 end;
6789
6790 function ITracePlugin.trace_func_execute(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean;
6791 begin
6792 Result := TracePluginVTable(vTable).trace_func_execute(Self, connection, transaction, function_, started, func_result);
6793 end;
6794
6795 function ITraceFactory.trace_needs(): QWord;
6796 begin
6797 Result := TraceFactoryVTable(vTable).trace_needs(Self);
6798 end;
6799
6800 function ITraceFactory.trace_create(status: IStatus; init_info: ITraceInitInfo): ITracePlugin;
6801 begin
6802 Result := TraceFactoryVTable(vTable).trace_create(Self, status, init_info);
6803 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6804 end;
6805
6806 procedure IUdrFunctionFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
6807 begin
6808 UdrFunctionFactoryVTable(vTable).setup(Self, status, context, metadata, inBuilder, outBuilder);
6809 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6810 end;
6811
6812 function IUdrFunctionFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction;
6813 begin
6814 Result := UdrFunctionFactoryVTable(vTable).newItem(Self, status, context, metadata);
6815 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6816 end;
6817
6818 procedure IUdrProcedureFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder);
6819 begin
6820 UdrProcedureFactoryVTable(vTable).setup(Self, status, context, metadata, inBuilder, outBuilder);
6821 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6822 end;
6823
6824 function IUdrProcedureFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure;
6825 begin
6826 Result := UdrProcedureFactoryVTable(vTable).newItem(Self, status, context, metadata);
6827 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6828 end;
6829
6830 procedure IUdrTriggerFactory.setup(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder);
6831 begin
6832 UdrTriggerFactoryVTable(vTable).setup(Self, status, context, metadata, fieldsBuilder);
6833 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6834 end;
6835
6836 function IUdrTriggerFactory.newItem(status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger;
6837 begin
6838 Result := UdrTriggerFactoryVTable(vTable).newItem(Self, status, context, metadata);
6839 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6840 end;
6841
6842 function IUdrPlugin.getMaster(): IMaster;
6843 begin
6844 Result := UdrPluginVTable(vTable).getMaster(Self);
6845 end;
6846
6847 procedure IUdrPlugin.registerFunction(status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory);
6848 begin
6849 UdrPluginVTable(vTable).registerFunction(Self, status, name, factory);
6850 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6851 end;
6852
6853 procedure IUdrPlugin.registerProcedure(status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory);
6854 begin
6855 UdrPluginVTable(vTable).registerProcedure(Self, status, name, factory);
6856 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6857 end;
6858
6859 procedure IUdrPlugin.registerTrigger(status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory);
6860 begin
6861 UdrPluginVTable(vTable).registerTrigger(Self, status, name, factory);
6862 {$IFDEF USEFBEXCEPTION}FbException.checkException(status); {$ENDIF}
6863 end;
6864
6865 var
6866 IVersionedImpl_vTable: VersionedVTable;
6867
6868 constructor IVersionedImpl.create;
6869 begin
6870 vTable := IVersionedImpl_vTable;
6871 end;
6872
6873 procedure IReferenceCountedImpl_addRefDispatcher(this: IReferenceCounted); cdecl;
6874 begin
6875 try
6876 IReferenceCountedImpl(this).addRef();
6877 except
6878 on e: Exception do FbException.catchException(nil, e);
6879 end
6880 end;
6881
6882 function IReferenceCountedImpl_releaseDispatcher(this: IReferenceCounted): Integer; cdecl;
6883 begin
6884 try
6885 Result := IReferenceCountedImpl(this).release();
6886 except
6887 on e: Exception do FbException.catchException(nil, e);
6888 end
6889 end;
6890
6891 var
6892 IReferenceCountedImpl_vTable: ReferenceCountedVTable;
6893
6894 constructor IReferenceCountedImpl.create;
6895 begin
6896 vTable := IReferenceCountedImpl_vTable;
6897 end;
6898
6899 procedure IDisposableImpl_disposeDispatcher(this: IDisposable); cdecl;
6900 begin
6901 try
6902 IDisposableImpl(this).dispose();
6903 except
6904 on e: Exception do FbException.catchException(nil, e);
6905 end
6906 end;
6907
6908 var
6909 IDisposableImpl_vTable: DisposableVTable;
6910
6911 constructor IDisposableImpl.create;
6912 begin
6913 vTable := IDisposableImpl_vTable;
6914 end;
6915
6916 procedure IStatusImpl_disposeDispatcher(this: IStatus); cdecl;
6917 begin
6918 try
6919 IStatusImpl(this).dispose();
6920 except
6921 on e: Exception do FbException.catchException(nil, e);
6922 end
6923 end;
6924
6925 procedure IStatusImpl_initDispatcher(this: IStatus); cdecl;
6926 begin
6927 try
6928 IStatusImpl(this).init();
6929 except
6930 on e: Exception do FbException.catchException(nil, e);
6931 end
6932 end;
6933
6934 function IStatusImpl_getStateDispatcher(this: IStatus): Cardinal; cdecl;
6935 begin
6936 try
6937 Result := IStatusImpl(this).getState();
6938 except
6939 on e: Exception do FbException.catchException(nil, e);
6940 end
6941 end;
6942
6943 procedure IStatusImpl_setErrors2Dispatcher(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
6944 begin
6945 try
6946 IStatusImpl(this).setErrors2(length, value);
6947 except
6948 on e: Exception do FbException.catchException(nil, e);
6949 end
6950 end;
6951
6952 procedure IStatusImpl_setWarnings2Dispatcher(this: IStatus; length: Cardinal; value: NativeIntPtr); cdecl;
6953 begin
6954 try
6955 IStatusImpl(this).setWarnings2(length, value);
6956 except
6957 on e: Exception do FbException.catchException(nil, e);
6958 end
6959 end;
6960
6961 procedure IStatusImpl_setErrorsDispatcher(this: IStatus; value: NativeIntPtr); cdecl;
6962 begin
6963 try
6964 IStatusImpl(this).setErrors(value);
6965 except
6966 on e: Exception do FbException.catchException(nil, e);
6967 end
6968 end;
6969
6970 procedure IStatusImpl_setWarningsDispatcher(this: IStatus; value: NativeIntPtr); cdecl;
6971 begin
6972 try
6973 IStatusImpl(this).setWarnings(value);
6974 except
6975 on e: Exception do FbException.catchException(nil, e);
6976 end
6977 end;
6978
6979 function IStatusImpl_getErrorsDispatcher(this: IStatus): NativeIntPtr; cdecl;
6980 begin
6981 try
6982 Result := IStatusImpl(this).getErrors();
6983 except
6984 on e: Exception do FbException.catchException(nil, e);
6985 end
6986 end;
6987
6988 function IStatusImpl_getWarningsDispatcher(this: IStatus): NativeIntPtr; cdecl;
6989 begin
6990 try
6991 Result := IStatusImpl(this).getWarnings();
6992 except
6993 on e: Exception do FbException.catchException(nil, e);
6994 end
6995 end;
6996
6997 function IStatusImpl_cloneDispatcher(this: IStatus): IStatus; cdecl;
6998 begin
6999 try
7000 Result := IStatusImpl(this).clone();
7001 except
7002 on e: Exception do FbException.catchException(nil, e);
7003 end
7004 end;
7005
7006 var
7007 IStatusImpl_vTable: StatusVTable;
7008
7009 constructor IStatusImpl.create;
7010 begin
7011 vTable := IStatusImpl_vTable;
7012 end;
7013
7014 function IMasterImpl_getStatusDispatcher(this: IMaster): IStatus; cdecl;
7015 begin
7016 try
7017 Result := IMasterImpl(this).getStatus();
7018 except
7019 on e: Exception do FbException.catchException(nil, e);
7020 end
7021 end;
7022
7023 function IMasterImpl_getDispatcherDispatcher(this: IMaster): IProvider; cdecl;
7024 begin
7025 try
7026 Result := IMasterImpl(this).getDispatcher();
7027 except
7028 on e: Exception do FbException.catchException(nil, e);
7029 end
7030 end;
7031
7032 function IMasterImpl_getPluginManagerDispatcher(this: IMaster): IPluginManager; cdecl;
7033 begin
7034 try
7035 Result := IMasterImpl(this).getPluginManager();
7036 except
7037 on e: Exception do FbException.catchException(nil, e);
7038 end
7039 end;
7040
7041 function IMasterImpl_getTimerControlDispatcher(this: IMaster): ITimerControl; cdecl;
7042 begin
7043 try
7044 Result := IMasterImpl(this).getTimerControl();
7045 except
7046 on e: Exception do FbException.catchException(nil, e);
7047 end
7048 end;
7049
7050 function IMasterImpl_getDtcDispatcher(this: IMaster): IDtc; cdecl;
7051 begin
7052 try
7053 Result := IMasterImpl(this).getDtc();
7054 except
7055 on e: Exception do FbException.catchException(nil, e);
7056 end
7057 end;
7058
7059 function IMasterImpl_registerAttachmentDispatcher(this: IMaster; provider: IProvider; attachment: IAttachment): IAttachment; cdecl;
7060 begin
7061 try
7062 Result := IMasterImpl(this).registerAttachment(provider, attachment);
7063 except
7064 on e: Exception do FbException.catchException(nil, e);
7065 end
7066 end;
7067
7068 function IMasterImpl_registerTransactionDispatcher(this: IMaster; attachment: IAttachment; transaction: ITransaction): ITransaction; cdecl;
7069 begin
7070 try
7071 Result := IMasterImpl(this).registerTransaction(attachment, transaction);
7072 except
7073 on e: Exception do FbException.catchException(nil, e);
7074 end
7075 end;
7076
7077 function IMasterImpl_getMetadataBuilderDispatcher(this: IMaster; status: IStatus; fieldCount: Cardinal): IMetadataBuilder; cdecl;
7078 begin
7079 try
7080 Result := IMasterImpl(this).getMetadataBuilder(status, fieldCount);
7081 except
7082 on e: Exception do FbException.catchException(status, e);
7083 end
7084 end;
7085
7086 function IMasterImpl_serverModeDispatcher(this: IMaster; mode: Integer): Integer; cdecl;
7087 begin
7088 try
7089 Result := IMasterImpl(this).serverMode(mode);
7090 except
7091 on e: Exception do FbException.catchException(nil, e);
7092 end
7093 end;
7094
7095 function IMasterImpl_getUtilInterfaceDispatcher(this: IMaster): IUtil; cdecl;
7096 begin
7097 try
7098 Result := IMasterImpl(this).getUtilInterface();
7099 except
7100 on e: Exception do FbException.catchException(nil, e);
7101 end
7102 end;
7103
7104 function IMasterImpl_getConfigManagerDispatcher(this: IMaster): IConfigManager; cdecl;
7105 begin
7106 try
7107 Result := IMasterImpl(this).getConfigManager();
7108 except
7109 on e: Exception do FbException.catchException(nil, e);
7110 end
7111 end;
7112
7113 function IMasterImpl_getProcessExitingDispatcher(this: IMaster): Boolean; cdecl;
7114 begin
7115 try
7116 Result := IMasterImpl(this).getProcessExiting();
7117 except
7118 on e: Exception do FbException.catchException(nil, e);
7119 end
7120 end;
7121
7122 var
7123 IMasterImpl_vTable: MasterVTable;
7124
7125 constructor IMasterImpl.create;
7126 begin
7127 vTable := IMasterImpl_vTable;
7128 end;
7129
7130 procedure IPluginBaseImpl_addRefDispatcher(this: IPluginBase); cdecl;
7131 begin
7132 try
7133 IPluginBaseImpl(this).addRef();
7134 except
7135 on e: Exception do FbException.catchException(nil, e);
7136 end
7137 end;
7138
7139 function IPluginBaseImpl_releaseDispatcher(this: IPluginBase): Integer; cdecl;
7140 begin
7141 try
7142 Result := IPluginBaseImpl(this).release();
7143 except
7144 on e: Exception do FbException.catchException(nil, e);
7145 end
7146 end;
7147
7148 procedure IPluginBaseImpl_setOwnerDispatcher(this: IPluginBase; r: IReferenceCounted); cdecl;
7149 begin
7150 try
7151 IPluginBaseImpl(this).setOwner(r);
7152 except
7153 on e: Exception do FbException.catchException(nil, e);
7154 end
7155 end;
7156
7157 function IPluginBaseImpl_getOwnerDispatcher(this: IPluginBase): IReferenceCounted; cdecl;
7158 begin
7159 try
7160 Result := IPluginBaseImpl(this).getOwner();
7161 except
7162 on e: Exception do FbException.catchException(nil, e);
7163 end
7164 end;
7165
7166 var
7167 IPluginBaseImpl_vTable: PluginBaseVTable;
7168
7169 constructor IPluginBaseImpl.create;
7170 begin
7171 vTable := IPluginBaseImpl_vTable;
7172 end;
7173
7174 procedure IPluginSetImpl_addRefDispatcher(this: IPluginSet); cdecl;
7175 begin
7176 try
7177 IPluginSetImpl(this).addRef();
7178 except
7179 on e: Exception do FbException.catchException(nil, e);
7180 end
7181 end;
7182
7183 function IPluginSetImpl_releaseDispatcher(this: IPluginSet): Integer; cdecl;
7184 begin
7185 try
7186 Result := IPluginSetImpl(this).release();
7187 except
7188 on e: Exception do FbException.catchException(nil, e);
7189 end
7190 end;
7191
7192 function IPluginSetImpl_getNameDispatcher(this: IPluginSet): PAnsiChar; cdecl;
7193 begin
7194 try
7195 Result := IPluginSetImpl(this).getName();
7196 except
7197 on e: Exception do FbException.catchException(nil, e);
7198 end
7199 end;
7200
7201 function IPluginSetImpl_getModuleNameDispatcher(this: IPluginSet): PAnsiChar; cdecl;
7202 begin
7203 try
7204 Result := IPluginSetImpl(this).getModuleName();
7205 except
7206 on e: Exception do FbException.catchException(nil, e);
7207 end
7208 end;
7209
7210 function IPluginSetImpl_getPluginDispatcher(this: IPluginSet; status: IStatus): IPluginBase; cdecl;
7211 begin
7212 try
7213 Result := IPluginSetImpl(this).getPlugin(status);
7214 except
7215 on e: Exception do FbException.catchException(status, e);
7216 end
7217 end;
7218
7219 procedure IPluginSetImpl_nextDispatcher(this: IPluginSet; status: IStatus); cdecl;
7220 begin
7221 try
7222 IPluginSetImpl(this).next(status);
7223 except
7224 on e: Exception do FbException.catchException(status, e);
7225 end
7226 end;
7227
7228 procedure IPluginSetImpl_set_Dispatcher(this: IPluginSet; status: IStatus; s: PAnsiChar); cdecl;
7229 begin
7230 try
7231 IPluginSetImpl(this).set_(status, s);
7232 except
7233 on e: Exception do FbException.catchException(status, e);
7234 end
7235 end;
7236
7237 var
7238 IPluginSetImpl_vTable: PluginSetVTable;
7239
7240 constructor IPluginSetImpl.create;
7241 begin
7242 vTable := IPluginSetImpl_vTable;
7243 end;
7244
7245 procedure IConfigEntryImpl_addRefDispatcher(this: IConfigEntry); cdecl;
7246 begin
7247 try
7248 IConfigEntryImpl(this).addRef();
7249 except
7250 on e: Exception do FbException.catchException(nil, e);
7251 end
7252 end;
7253
7254 function IConfigEntryImpl_releaseDispatcher(this: IConfigEntry): Integer; cdecl;
7255 begin
7256 try
7257 Result := IConfigEntryImpl(this).release();
7258 except
7259 on e: Exception do FbException.catchException(nil, e);
7260 end
7261 end;
7262
7263 function IConfigEntryImpl_getNameDispatcher(this: IConfigEntry): PAnsiChar; cdecl;
7264 begin
7265 try
7266 Result := IConfigEntryImpl(this).getName();
7267 except
7268 on e: Exception do FbException.catchException(nil, e);
7269 end
7270 end;
7271
7272 function IConfigEntryImpl_getValueDispatcher(this: IConfigEntry): PAnsiChar; cdecl;
7273 begin
7274 try
7275 Result := IConfigEntryImpl(this).getValue();
7276 except
7277 on e: Exception do FbException.catchException(nil, e);
7278 end
7279 end;
7280
7281 function IConfigEntryImpl_getIntValueDispatcher(this: IConfigEntry): Int64; cdecl;
7282 begin
7283 try
7284 Result := IConfigEntryImpl(this).getIntValue();
7285 except
7286 on e: Exception do FbException.catchException(nil, e);
7287 end
7288 end;
7289
7290 function IConfigEntryImpl_getBoolValueDispatcher(this: IConfigEntry): Boolean; cdecl;
7291 begin
7292 try
7293 Result := IConfigEntryImpl(this).getBoolValue();
7294 except
7295 on e: Exception do FbException.catchException(nil, e);
7296 end
7297 end;
7298
7299 function IConfigEntryImpl_getSubConfigDispatcher(this: IConfigEntry; status: IStatus): IConfig; cdecl;
7300 begin
7301 try
7302 Result := IConfigEntryImpl(this).getSubConfig(status);
7303 except
7304 on e: Exception do FbException.catchException(status, e);
7305 end
7306 end;
7307
7308 var
7309 IConfigEntryImpl_vTable: ConfigEntryVTable;
7310
7311 constructor IConfigEntryImpl.create;
7312 begin
7313 vTable := IConfigEntryImpl_vTable;
7314 end;
7315
7316 procedure IConfigImpl_addRefDispatcher(this: IConfig); cdecl;
7317 begin
7318 try
7319 IConfigImpl(this).addRef();
7320 except
7321 on e: Exception do FbException.catchException(nil, e);
7322 end
7323 end;
7324
7325 function IConfigImpl_releaseDispatcher(this: IConfig): Integer; cdecl;
7326 begin
7327 try
7328 Result := IConfigImpl(this).release();
7329 except
7330 on e: Exception do FbException.catchException(nil, e);
7331 end
7332 end;
7333
7334 function IConfigImpl_findDispatcher(this: IConfig; status: IStatus; name: PAnsiChar): IConfigEntry; cdecl;
7335 begin
7336 try
7337 Result := IConfigImpl(this).find(status, name);
7338 except
7339 on e: Exception do FbException.catchException(status, e);
7340 end
7341 end;
7342
7343 function IConfigImpl_findValueDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; cdecl;
7344 begin
7345 try
7346 Result := IConfigImpl(this).findValue(status, name, value);
7347 except
7348 on e: Exception do FbException.catchException(status, e);
7349 end
7350 end;
7351
7352 function IConfigImpl_findPosDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; cdecl;
7353 begin
7354 try
7355 Result := IConfigImpl(this).findPos(status, name, pos);
7356 except
7357 on e: Exception do FbException.catchException(status, e);
7358 end
7359 end;
7360
7361 var
7362 IConfigImpl_vTable: ConfigVTable;
7363
7364 constructor IConfigImpl.create;
7365 begin
7366 vTable := IConfigImpl_vTable;
7367 end;
7368
7369 procedure IFirebirdConfImpl_addRefDispatcher(this: IFirebirdConf); cdecl;
7370 begin
7371 try
7372 IFirebirdConfImpl(this).addRef();
7373 except
7374 on e: Exception do FbException.catchException(nil, e);
7375 end
7376 end;
7377
7378 function IFirebirdConfImpl_releaseDispatcher(this: IFirebirdConf): Integer; cdecl;
7379 begin
7380 try
7381 Result := IFirebirdConfImpl(this).release();
7382 except
7383 on e: Exception do FbException.catchException(nil, e);
7384 end
7385 end;
7386
7387 function IFirebirdConfImpl_getKeyDispatcher(this: IFirebirdConf; name: PAnsiChar): Cardinal; cdecl;
7388 begin
7389 try
7390 Result := IFirebirdConfImpl(this).getKey(name);
7391 except
7392 on e: Exception do FbException.catchException(nil, e);
7393 end
7394 end;
7395
7396 function IFirebirdConfImpl_asIntegerDispatcher(this: IFirebirdConf; key: Cardinal): Int64; cdecl;
7397 begin
7398 try
7399 Result := IFirebirdConfImpl(this).asInteger(key);
7400 except
7401 on e: Exception do FbException.catchException(nil, e);
7402 end
7403 end;
7404
7405 function IFirebirdConfImpl_asStringDispatcher(this: IFirebirdConf; key: Cardinal): PAnsiChar; cdecl;
7406 begin
7407 try
7408 Result := IFirebirdConfImpl(this).asString(key);
7409 except
7410 on e: Exception do FbException.catchException(nil, e);
7411 end
7412 end;
7413
7414 function IFirebirdConfImpl_asBooleanDispatcher(this: IFirebirdConf; key: Cardinal): Boolean; cdecl;
7415 begin
7416 try
7417 Result := IFirebirdConfImpl(this).asBoolean(key);
7418 except
7419 on e: Exception do FbException.catchException(nil, e);
7420 end
7421 end;
7422
7423 var
7424 IFirebirdConfImpl_vTable: FirebirdConfVTable;
7425
7426 constructor IFirebirdConfImpl.create;
7427 begin
7428 vTable := IFirebirdConfImpl_vTable;
7429 end;
7430
7431 procedure IPluginConfigImpl_addRefDispatcher(this: IPluginConfig); cdecl;
7432 begin
7433 try
7434 IPluginConfigImpl(this).addRef();
7435 except
7436 on e: Exception do FbException.catchException(nil, e);
7437 end
7438 end;
7439
7440 function IPluginConfigImpl_releaseDispatcher(this: IPluginConfig): Integer; cdecl;
7441 begin
7442 try
7443 Result := IPluginConfigImpl(this).release();
7444 except
7445 on e: Exception do FbException.catchException(nil, e);
7446 end
7447 end;
7448
7449 function IPluginConfigImpl_getConfigFileNameDispatcher(this: IPluginConfig): PAnsiChar; cdecl;
7450 begin
7451 try
7452 Result := IPluginConfigImpl(this).getConfigFileName();
7453 except
7454 on e: Exception do FbException.catchException(nil, e);
7455 end
7456 end;
7457
7458 function IPluginConfigImpl_getDefaultConfigDispatcher(this: IPluginConfig; status: IStatus): IConfig; cdecl;
7459 begin
7460 try
7461 Result := IPluginConfigImpl(this).getDefaultConfig(status);
7462 except
7463 on e: Exception do FbException.catchException(status, e);
7464 end
7465 end;
7466
7467 function IPluginConfigImpl_getFirebirdConfDispatcher(this: IPluginConfig; status: IStatus): IFirebirdConf; cdecl;
7468 begin
7469 try
7470 Result := IPluginConfigImpl(this).getFirebirdConf(status);
7471 except
7472 on e: Exception do FbException.catchException(status, e);
7473 end
7474 end;
7475
7476 procedure IPluginConfigImpl_setReleaseDelayDispatcher(this: IPluginConfig; status: IStatus; microSeconds: QWord); cdecl;
7477 begin
7478 try
7479 IPluginConfigImpl(this).setReleaseDelay(status, microSeconds);
7480 except
7481 on e: Exception do FbException.catchException(status, e);
7482 end
7483 end;
7484
7485 var
7486 IPluginConfigImpl_vTable: PluginConfigVTable;
7487
7488 constructor IPluginConfigImpl.create;
7489 begin
7490 vTable := IPluginConfigImpl_vTable;
7491 end;
7492
7493 function IPluginFactoryImpl_createPluginDispatcher(this: IPluginFactory; status: IStatus; factoryParameter: IPluginConfig): IPluginBase; cdecl;
7494 begin
7495 try
7496 Result := IPluginFactoryImpl(this).createPlugin(status, factoryParameter);
7497 except
7498 on e: Exception do FbException.catchException(status, e);
7499 end
7500 end;
7501
7502 var
7503 IPluginFactoryImpl_vTable: PluginFactoryVTable;
7504
7505 constructor IPluginFactoryImpl.create;
7506 begin
7507 vTable := IPluginFactoryImpl_vTable;
7508 end;
7509
7510 procedure IPluginModuleImpl_doCleanDispatcher(this: IPluginModule); cdecl;
7511 begin
7512 try
7513 IPluginModuleImpl(this).doClean();
7514 except
7515 on e: Exception do FbException.catchException(nil, e);
7516 end
7517 end;
7518
7519 var
7520 IPluginModuleImpl_vTable: PluginModuleVTable;
7521
7522 constructor IPluginModuleImpl.create;
7523 begin
7524 vTable := IPluginModuleImpl_vTable;
7525 end;
7526
7527 procedure IPluginManagerImpl_registerPluginFactoryDispatcher(this: IPluginManager; pluginType: Cardinal; defaultName: PAnsiChar; factory: IPluginFactory); cdecl;
7528 begin
7529 try
7530 IPluginManagerImpl(this).registerPluginFactory(pluginType, defaultName, factory);
7531 except
7532 on e: Exception do FbException.catchException(nil, e);
7533 end
7534 end;
7535
7536 procedure IPluginManagerImpl_registerModuleDispatcher(this: IPluginManager; cleanup: IPluginModule); cdecl;
7537 begin
7538 try
7539 IPluginManagerImpl(this).registerModule(cleanup);
7540 except
7541 on e: Exception do FbException.catchException(nil, e);
7542 end
7543 end;
7544
7545 procedure IPluginManagerImpl_unregisterModuleDispatcher(this: IPluginManager; cleanup: IPluginModule); cdecl;
7546 begin
7547 try
7548 IPluginManagerImpl(this).unregisterModule(cleanup);
7549 except
7550 on e: Exception do FbException.catchException(nil, e);
7551 end
7552 end;
7553
7554 function IPluginManagerImpl_getPluginsDispatcher(this: IPluginManager; status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; cdecl;
7555 begin
7556 try
7557 Result := IPluginManagerImpl(this).getPlugins(status, pluginType, namesList, firebirdConf);
7558 except
7559 on e: Exception do FbException.catchException(status, e);
7560 end
7561 end;
7562
7563 function IPluginManagerImpl_getConfigDispatcher(this: IPluginManager; status: IStatus; filename: PAnsiChar): IConfig; cdecl;
7564 begin
7565 try
7566 Result := IPluginManagerImpl(this).getConfig(status, filename);
7567 except
7568 on e: Exception do FbException.catchException(status, e);
7569 end
7570 end;
7571
7572 procedure IPluginManagerImpl_releasePluginDispatcher(this: IPluginManager; plugin: IPluginBase); cdecl;
7573 begin
7574 try
7575 IPluginManagerImpl(this).releasePlugin(plugin);
7576 except
7577 on e: Exception do FbException.catchException(nil, e);
7578 end
7579 end;
7580
7581 var
7582 IPluginManagerImpl_vTable: PluginManagerVTable;
7583
7584 constructor IPluginManagerImpl.create;
7585 begin
7586 vTable := IPluginManagerImpl_vTable;
7587 end;
7588
7589 procedure ICryptKeyImpl_setSymmetricDispatcher(this: ICryptKey; status: IStatus; type_: PAnsiChar; keyLength: Cardinal; key: Pointer); cdecl;
7590 begin
7591 try
7592 ICryptKeyImpl(this).setSymmetric(status, type_, keyLength, key);
7593 except
7594 on e: Exception do FbException.catchException(status, e);
7595 end
7596 end;
7597
7598 procedure ICryptKeyImpl_setAsymmetricDispatcher(this: ICryptKey; status: IStatus; type_: PAnsiChar; encryptKeyLength: Cardinal; encryptKey: Pointer; decryptKeyLength: Cardinal; decryptKey: Pointer); cdecl;
7599 begin
7600 try
7601 ICryptKeyImpl(this).setAsymmetric(status, type_, encryptKeyLength, encryptKey, decryptKeyLength, decryptKey);
7602 except
7603 on e: Exception do FbException.catchException(status, e);
7604 end
7605 end;
7606
7607 function ICryptKeyImpl_getEncryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
7608 begin
7609 try
7610 Result := ICryptKeyImpl(this).getEncryptKey(length);
7611 except
7612 on e: Exception do FbException.catchException(nil, e);
7613 end
7614 end;
7615
7616 function ICryptKeyImpl_getDecryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl;
7617 begin
7618 try
7619 Result := ICryptKeyImpl(this).getDecryptKey(length);
7620 except
7621 on e: Exception do FbException.catchException(nil, e);
7622 end
7623 end;
7624
7625 var
7626 ICryptKeyImpl_vTable: CryptKeyVTable;
7627
7628 constructor ICryptKeyImpl.create;
7629 begin
7630 vTable := ICryptKeyImpl_vTable;
7631 end;
7632
7633 function IConfigManagerImpl_getDirectoryDispatcher(this: IConfigManager; code: Cardinal): PAnsiChar; cdecl;
7634 begin
7635 try
7636 Result := IConfigManagerImpl(this).getDirectory(code);
7637 except
7638 on e: Exception do FbException.catchException(nil, e);
7639 end
7640 end;
7641
7642 function IConfigManagerImpl_getFirebirdConfDispatcher(this: IConfigManager): IFirebirdConf; cdecl;
7643 begin
7644 try
7645 Result := IConfigManagerImpl(this).getFirebirdConf();
7646 except
7647 on e: Exception do FbException.catchException(nil, e);
7648 end
7649 end;
7650
7651 function IConfigManagerImpl_getDatabaseConfDispatcher(this: IConfigManager; dbName: PAnsiChar): IFirebirdConf; cdecl;
7652 begin
7653 try
7654 Result := IConfigManagerImpl(this).getDatabaseConf(dbName);
7655 except
7656 on e: Exception do FbException.catchException(nil, e);
7657 end
7658 end;
7659
7660 function IConfigManagerImpl_getPluginConfigDispatcher(this: IConfigManager; configuredPlugin: PAnsiChar): IConfig; cdecl;
7661 begin
7662 try
7663 Result := IConfigManagerImpl(this).getPluginConfig(configuredPlugin);
7664 except
7665 on e: Exception do FbException.catchException(nil, e);
7666 end
7667 end;
7668
7669 function IConfigManagerImpl_getInstallDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7670 begin
7671 try
7672 Result := IConfigManagerImpl(this).getInstallDirectory();
7673 except
7674 on e: Exception do FbException.catchException(nil, e);
7675 end
7676 end;
7677
7678 function IConfigManagerImpl_getRootDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl;
7679 begin
7680 try
7681 Result := IConfigManagerImpl(this).getRootDirectory();
7682 except
7683 on e: Exception do FbException.catchException(nil, e);
7684 end
7685 end;
7686
7687 var
7688 IConfigManagerImpl_vTable: ConfigManagerVTable;
7689
7690 constructor IConfigManagerImpl.create;
7691 begin
7692 vTable := IConfigManagerImpl_vTable;
7693 end;
7694
7695 procedure IEventCallbackImpl_addRefDispatcher(this: IEventCallback); cdecl;
7696 begin
7697 try
7698 IEventCallbackImpl(this).addRef();
7699 except
7700 on e: Exception do FbException.catchException(nil, e);
7701 end
7702 end;
7703
7704 function IEventCallbackImpl_releaseDispatcher(this: IEventCallback): Integer; cdecl;
7705 begin
7706 try
7707 Result := IEventCallbackImpl(this).release();
7708 except
7709 on e: Exception do FbException.catchException(nil, e);
7710 end
7711 end;
7712
7713 procedure IEventCallbackImpl_eventCallbackFunctionDispatcher(this: IEventCallback; length: Cardinal; events: BytePtr); cdecl;
7714 begin
7715 try
7716 IEventCallbackImpl(this).eventCallbackFunction(length, events);
7717 except
7718 on e: Exception do FbException.catchException(nil, e);
7719 end
7720 end;
7721
7722 var
7723 IEventCallbackImpl_vTable: EventCallbackVTable;
7724
7725 constructor IEventCallbackImpl.create;
7726 begin
7727 vTable := IEventCallbackImpl_vTable;
7728 end;
7729
7730 procedure IBlobImpl_addRefDispatcher(this: IBlob); cdecl;
7731 begin
7732 try
7733 IBlobImpl(this).addRef();
7734 except
7735 on e: Exception do FbException.catchException(nil, e);
7736 end
7737 end;
7738
7739 function IBlobImpl_releaseDispatcher(this: IBlob): Integer; cdecl;
7740 begin
7741 try
7742 Result := IBlobImpl(this).release();
7743 except
7744 on e: Exception do FbException.catchException(nil, e);
7745 end
7746 end;
7747
7748 procedure IBlobImpl_getInfoDispatcher(this: IBlob; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7749 begin
7750 try
7751 IBlobImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7752 except
7753 on e: Exception do FbException.catchException(status, e);
7754 end
7755 end;
7756
7757 function IBlobImpl_getSegmentDispatcher(this: IBlob; status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; cdecl;
7758 begin
7759 try
7760 Result := IBlobImpl(this).getSegment(status, bufferLength, buffer, segmentLength);
7761 except
7762 on e: Exception do FbException.catchException(status, e);
7763 end
7764 end;
7765
7766 procedure IBlobImpl_putSegmentDispatcher(this: IBlob; status: IStatus; length: Cardinal; buffer: Pointer); cdecl;
7767 begin
7768 try
7769 IBlobImpl(this).putSegment(status, length, buffer);
7770 except
7771 on e: Exception do FbException.catchException(status, e);
7772 end
7773 end;
7774
7775 procedure IBlobImpl_cancelDispatcher(this: IBlob; status: IStatus); cdecl;
7776 begin
7777 try
7778 IBlobImpl(this).cancel(status);
7779 except
7780 on e: Exception do FbException.catchException(status, e);
7781 end
7782 end;
7783
7784 procedure IBlobImpl_closeDispatcher(this: IBlob; status: IStatus); cdecl;
7785 begin
7786 try
7787 IBlobImpl(this).close(status);
7788 except
7789 on e: Exception do FbException.catchException(status, e);
7790 end
7791 end;
7792
7793 function IBlobImpl_seekDispatcher(this: IBlob; status: IStatus; mode: Integer; offset: Integer): Integer; cdecl;
7794 begin
7795 try
7796 Result := IBlobImpl(this).seek(status, mode, offset);
7797 except
7798 on e: Exception do FbException.catchException(status, e);
7799 end
7800 end;
7801
7802 var
7803 IBlobImpl_vTable: BlobVTable;
7804
7805 constructor IBlobImpl.create;
7806 begin
7807 vTable := IBlobImpl_vTable;
7808 end;
7809
7810 procedure ITransactionImpl_addRefDispatcher(this: ITransaction); cdecl;
7811 begin
7812 try
7813 ITransactionImpl(this).addRef();
7814 except
7815 on e: Exception do FbException.catchException(nil, e);
7816 end
7817 end;
7818
7819 function ITransactionImpl_releaseDispatcher(this: ITransaction): Integer; cdecl;
7820 begin
7821 try
7822 Result := ITransactionImpl(this).release();
7823 except
7824 on e: Exception do FbException.catchException(nil, e);
7825 end
7826 end;
7827
7828 procedure ITransactionImpl_getInfoDispatcher(this: ITransaction; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
7829 begin
7830 try
7831 ITransactionImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
7832 except
7833 on e: Exception do FbException.catchException(status, e);
7834 end
7835 end;
7836
7837 procedure ITransactionImpl_prepareDispatcher(this: ITransaction; status: IStatus; msgLength: Cardinal; message: BytePtr); cdecl;
7838 begin
7839 try
7840 ITransactionImpl(this).prepare(status, msgLength, message);
7841 except
7842 on e: Exception do FbException.catchException(status, e);
7843 end
7844 end;
7845
7846 procedure ITransactionImpl_commitDispatcher(this: ITransaction; status: IStatus); cdecl;
7847 begin
7848 try
7849 ITransactionImpl(this).commit(status);
7850 except
7851 on e: Exception do FbException.catchException(status, e);
7852 end
7853 end;
7854
7855 procedure ITransactionImpl_commitRetainingDispatcher(this: ITransaction; status: IStatus); cdecl;
7856 begin
7857 try
7858 ITransactionImpl(this).commitRetaining(status);
7859 except
7860 on e: Exception do FbException.catchException(status, e);
7861 end
7862 end;
7863
7864 procedure ITransactionImpl_rollbackDispatcher(this: ITransaction; status: IStatus); cdecl;
7865 begin
7866 try
7867 ITransactionImpl(this).rollback(status);
7868 except
7869 on e: Exception do FbException.catchException(status, e);
7870 end
7871 end;
7872
7873 procedure ITransactionImpl_rollbackRetainingDispatcher(this: ITransaction; status: IStatus); cdecl;
7874 begin
7875 try
7876 ITransactionImpl(this).rollbackRetaining(status);
7877 except
7878 on e: Exception do FbException.catchException(status, e);
7879 end
7880 end;
7881
7882 procedure ITransactionImpl_disconnectDispatcher(this: ITransaction; status: IStatus); cdecl;
7883 begin
7884 try
7885 ITransactionImpl(this).disconnect(status);
7886 except
7887 on e: Exception do FbException.catchException(status, e);
7888 end
7889 end;
7890
7891 function ITransactionImpl_joinDispatcher(this: ITransaction; status: IStatus; transaction: ITransaction): ITransaction; cdecl;
7892 begin
7893 try
7894 Result := ITransactionImpl(this).join(status, transaction);
7895 except
7896 on e: Exception do FbException.catchException(status, e);
7897 end
7898 end;
7899
7900 function ITransactionImpl_validateDispatcher(this: ITransaction; status: IStatus; attachment: IAttachment): ITransaction; cdecl;
7901 begin
7902 try
7903 Result := ITransactionImpl(this).validate(status, attachment);
7904 except
7905 on e: Exception do FbException.catchException(status, e);
7906 end
7907 end;
7908
7909 function ITransactionImpl_enterDtcDispatcher(this: ITransaction; status: IStatus): ITransaction; cdecl;
7910 begin
7911 try
7912 Result := ITransactionImpl(this).enterDtc(status);
7913 except
7914 on e: Exception do FbException.catchException(status, e);
7915 end
7916 end;
7917
7918 var
7919 ITransactionImpl_vTable: TransactionVTable;
7920
7921 constructor ITransactionImpl.create;
7922 begin
7923 vTable := ITransactionImpl_vTable;
7924 end;
7925
7926 procedure IMessageMetadataImpl_addRefDispatcher(this: IMessageMetadata); cdecl;
7927 begin
7928 try
7929 IMessageMetadataImpl(this).addRef();
7930 except
7931 on e: Exception do FbException.catchException(nil, e);
7932 end
7933 end;
7934
7935 function IMessageMetadataImpl_releaseDispatcher(this: IMessageMetadata): Integer; cdecl;
7936 begin
7937 try
7938 Result := IMessageMetadataImpl(this).release();
7939 except
7940 on e: Exception do FbException.catchException(nil, e);
7941 end
7942 end;
7943
7944 function IMessageMetadataImpl_getCountDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
7945 begin
7946 try
7947 Result := IMessageMetadataImpl(this).getCount(status);
7948 except
7949 on e: Exception do FbException.catchException(status, e);
7950 end
7951 end;
7952
7953 function IMessageMetadataImpl_getFieldDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7954 begin
7955 try
7956 Result := IMessageMetadataImpl(this).getField(status, index);
7957 except
7958 on e: Exception do FbException.catchException(status, e);
7959 end
7960 end;
7961
7962 function IMessageMetadataImpl_getRelationDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7963 begin
7964 try
7965 Result := IMessageMetadataImpl(this).getRelation(status, index);
7966 except
7967 on e: Exception do FbException.catchException(status, e);
7968 end
7969 end;
7970
7971 function IMessageMetadataImpl_getOwnerDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7972 begin
7973 try
7974 Result := IMessageMetadataImpl(this).getOwner(status, index);
7975 except
7976 on e: Exception do FbException.catchException(status, e);
7977 end
7978 end;
7979
7980 function IMessageMetadataImpl_getAliasDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl;
7981 begin
7982 try
7983 Result := IMessageMetadataImpl(this).getAlias(status, index);
7984 except
7985 on e: Exception do FbException.catchException(status, e);
7986 end
7987 end;
7988
7989 function IMessageMetadataImpl_getTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
7990 begin
7991 try
7992 Result := IMessageMetadataImpl(this).getType(status, index);
7993 except
7994 on e: Exception do FbException.catchException(status, e);
7995 end
7996 end;
7997
7998 function IMessageMetadataImpl_isNullableDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Boolean; cdecl;
7999 begin
8000 try
8001 Result := IMessageMetadataImpl(this).isNullable(status, index);
8002 except
8003 on e: Exception do FbException.catchException(status, e);
8004 end
8005 end;
8006
8007 function IMessageMetadataImpl_getSubTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
8008 begin
8009 try
8010 Result := IMessageMetadataImpl(this).getSubType(status, index);
8011 except
8012 on e: Exception do FbException.catchException(status, e);
8013 end
8014 end;
8015
8016 function IMessageMetadataImpl_getLengthDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
8017 begin
8018 try
8019 Result := IMessageMetadataImpl(this).getLength(status, index);
8020 except
8021 on e: Exception do FbException.catchException(status, e);
8022 end
8023 end;
8024
8025 function IMessageMetadataImpl_getScaleDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl;
8026 begin
8027 try
8028 Result := IMessageMetadataImpl(this).getScale(status, index);
8029 except
8030 on e: Exception do FbException.catchException(status, e);
8031 end
8032 end;
8033
8034 function IMessageMetadataImpl_getCharSetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
8035 begin
8036 try
8037 Result := IMessageMetadataImpl(this).getCharSet(status, index);
8038 except
8039 on e: Exception do FbException.catchException(status, e);
8040 end
8041 end;
8042
8043 function IMessageMetadataImpl_getOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
8044 begin
8045 try
8046 Result := IMessageMetadataImpl(this).getOffset(status, index);
8047 except
8048 on e: Exception do FbException.catchException(status, e);
8049 end
8050 end;
8051
8052 function IMessageMetadataImpl_getNullOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl;
8053 begin
8054 try
8055 Result := IMessageMetadataImpl(this).getNullOffset(status, index);
8056 except
8057 on e: Exception do FbException.catchException(status, e);
8058 end
8059 end;
8060
8061 function IMessageMetadataImpl_getBuilderDispatcher(this: IMessageMetadata; status: IStatus): IMetadataBuilder; cdecl;
8062 begin
8063 try
8064 Result := IMessageMetadataImpl(this).getBuilder(status);
8065 except
8066 on e: Exception do FbException.catchException(status, e);
8067 end
8068 end;
8069
8070 function IMessageMetadataImpl_getMessageLengthDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl;
8071 begin
8072 try
8073 Result := IMessageMetadataImpl(this).getMessageLength(status);
8074 except
8075 on e: Exception do FbException.catchException(status, e);
8076 end
8077 end;
8078
8079 var
8080 IMessageMetadataImpl_vTable: MessageMetadataVTable;
8081
8082 constructor IMessageMetadataImpl.create;
8083 begin
8084 vTable := IMessageMetadataImpl_vTable;
8085 end;
8086
8087 procedure IMetadataBuilderImpl_addRefDispatcher(this: IMetadataBuilder); cdecl;
8088 begin
8089 try
8090 IMetadataBuilderImpl(this).addRef();
8091 except
8092 on e: Exception do FbException.catchException(nil, e);
8093 end
8094 end;
8095
8096 function IMetadataBuilderImpl_releaseDispatcher(this: IMetadataBuilder): Integer; cdecl;
8097 begin
8098 try
8099 Result := IMetadataBuilderImpl(this).release();
8100 except
8101 on e: Exception do FbException.catchException(nil, e);
8102 end
8103 end;
8104
8105 procedure IMetadataBuilderImpl_setTypeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; type_: Cardinal); cdecl;
8106 begin
8107 try
8108 IMetadataBuilderImpl(this).setType(status, index, type_);
8109 except
8110 on e: Exception do FbException.catchException(status, e);
8111 end
8112 end;
8113
8114 procedure IMetadataBuilderImpl_setSubTypeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; subType: Integer); cdecl;
8115 begin
8116 try
8117 IMetadataBuilderImpl(this).setSubType(status, index, subType);
8118 except
8119 on e: Exception do FbException.catchException(status, e);
8120 end
8121 end;
8122
8123 procedure IMetadataBuilderImpl_setLengthDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; length: Cardinal); cdecl;
8124 begin
8125 try
8126 IMetadataBuilderImpl(this).setLength(status, index, length);
8127 except
8128 on e: Exception do FbException.catchException(status, e);
8129 end
8130 end;
8131
8132 procedure IMetadataBuilderImpl_setCharSetDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; charSet: Cardinal); cdecl;
8133 begin
8134 try
8135 IMetadataBuilderImpl(this).setCharSet(status, index, charSet);
8136 except
8137 on e: Exception do FbException.catchException(status, e);
8138 end
8139 end;
8140
8141 procedure IMetadataBuilderImpl_setScaleDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal; scale: integer); cdecl;
8142 begin
8143 try
8144 IMetadataBuilderImpl(this).setScale(status, index, scale);
8145 except
8146 on e: Exception do FbException.catchException(status, e);
8147 end
8148 end;
8149
8150 procedure IMetadataBuilderImpl_truncateDispatcher(this: IMetadataBuilder; status: IStatus; count: Cardinal); cdecl;
8151 begin
8152 try
8153 IMetadataBuilderImpl(this).truncate(status, count);
8154 except
8155 on e: Exception do FbException.catchException(status, e);
8156 end
8157 end;
8158
8159 procedure IMetadataBuilderImpl_moveNameToIndexDispatcher(this: IMetadataBuilder; status: IStatus; name: PAnsiChar; index: Cardinal); cdecl;
8160 begin
8161 try
8162 IMetadataBuilderImpl(this).moveNameToIndex(status, name, index);
8163 except
8164 on e: Exception do FbException.catchException(status, e);
8165 end
8166 end;
8167
8168 procedure IMetadataBuilderImpl_removeDispatcher(this: IMetadataBuilder; status: IStatus; index: Cardinal); cdecl;
8169 begin
8170 try
8171 IMetadataBuilderImpl(this).remove(status, index);
8172 except
8173 on e: Exception do FbException.catchException(status, e);
8174 end
8175 end;
8176
8177 function IMetadataBuilderImpl_addFieldDispatcher(this: IMetadataBuilder; status: IStatus): Cardinal; cdecl;
8178 begin
8179 try
8180 Result := IMetadataBuilderImpl(this).addField(status);
8181 except
8182 on e: Exception do FbException.catchException(status, e);
8183 end
8184 end;
8185
8186 function IMetadataBuilderImpl_getMetadataDispatcher(this: IMetadataBuilder; status: IStatus): IMessageMetadata; cdecl;
8187 begin
8188 try
8189 Result := IMetadataBuilderImpl(this).getMetadata(status);
8190 except
8191 on e: Exception do FbException.catchException(status, e);
8192 end
8193 end;
8194
8195 var
8196 IMetadataBuilderImpl_vTable: MetadataBuilderVTable;
8197
8198 constructor IMetadataBuilderImpl.create;
8199 begin
8200 vTable := IMetadataBuilderImpl_vTable;
8201 end;
8202
8203 procedure IResultSetImpl_addRefDispatcher(this: IResultSet); cdecl;
8204 begin
8205 try
8206 IResultSetImpl(this).addRef();
8207 except
8208 on e: Exception do FbException.catchException(nil, e);
8209 end
8210 end;
8211
8212 function IResultSetImpl_releaseDispatcher(this: IResultSet): Integer; cdecl;
8213 begin
8214 try
8215 Result := IResultSetImpl(this).release();
8216 except
8217 on e: Exception do FbException.catchException(nil, e);
8218 end
8219 end;
8220
8221 function IResultSetImpl_fetchNextDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
8222 begin
8223 try
8224 Result := IResultSetImpl(this).fetchNext(status, message);
8225 except
8226 on e: Exception do FbException.catchException(status, e);
8227 end
8228 end;
8229
8230 function IResultSetImpl_fetchPriorDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
8231 begin
8232 try
8233 Result := IResultSetImpl(this).fetchPrior(status, message);
8234 except
8235 on e: Exception do FbException.catchException(status, e);
8236 end
8237 end;
8238
8239 function IResultSetImpl_fetchFirstDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
8240 begin
8241 try
8242 Result := IResultSetImpl(this).fetchFirst(status, message);
8243 except
8244 on e: Exception do FbException.catchException(status, e);
8245 end
8246 end;
8247
8248 function IResultSetImpl_fetchLastDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl;
8249 begin
8250 try
8251 Result := IResultSetImpl(this).fetchLast(status, message);
8252 except
8253 on e: Exception do FbException.catchException(status, e);
8254 end
8255 end;
8256
8257 function IResultSetImpl_fetchAbsoluteDispatcher(this: IResultSet; status: IStatus; position: Integer; message: Pointer): Integer; cdecl;
8258 begin
8259 try
8260 Result := IResultSetImpl(this).fetchAbsolute(status, position, message);
8261 except
8262 on e: Exception do FbException.catchException(status, e);
8263 end
8264 end;
8265
8266 function IResultSetImpl_fetchRelativeDispatcher(this: IResultSet; status: IStatus; offset: Integer; message: Pointer): Integer; cdecl;
8267 begin
8268 try
8269 Result := IResultSetImpl(this).fetchRelative(status, offset, message);
8270 except
8271 on e: Exception do FbException.catchException(status, e);
8272 end
8273 end;
8274
8275 function IResultSetImpl_isEofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl;
8276 begin
8277 try
8278 Result := IResultSetImpl(this).isEof(status);
8279 except
8280 on e: Exception do FbException.catchException(status, e);
8281 end
8282 end;
8283
8284 function IResultSetImpl_isBofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl;
8285 begin
8286 try
8287 Result := IResultSetImpl(this).isBof(status);
8288 except
8289 on e: Exception do FbException.catchException(status, e);
8290 end
8291 end;
8292
8293 function IResultSetImpl_getMetadataDispatcher(this: IResultSet; status: IStatus): IMessageMetadata; cdecl;
8294 begin
8295 try
8296 Result := IResultSetImpl(this).getMetadata(status);
8297 except
8298 on e: Exception do FbException.catchException(status, e);
8299 end
8300 end;
8301
8302 procedure IResultSetImpl_closeDispatcher(this: IResultSet; status: IStatus); cdecl;
8303 begin
8304 try
8305 IResultSetImpl(this).close(status);
8306 except
8307 on e: Exception do FbException.catchException(status, e);
8308 end
8309 end;
8310
8311 procedure IResultSetImpl_setDelayedOutputFormatDispatcher(this: IResultSet; status: IStatus; format: IMessageMetadata); cdecl;
8312 begin
8313 try
8314 IResultSetImpl(this).setDelayedOutputFormat(status, format);
8315 except
8316 on e: Exception do FbException.catchException(status, e);
8317 end
8318 end;
8319
8320 var
8321 IResultSetImpl_vTable: ResultSetVTable;
8322
8323 constructor IResultSetImpl.create;
8324 begin
8325 vTable := IResultSetImpl_vTable;
8326 end;
8327
8328 procedure IStatementImpl_addRefDispatcher(this: IStatement); cdecl;
8329 begin
8330 try
8331 IStatementImpl(this).addRef();
8332 except
8333 on e: Exception do FbException.catchException(nil, e);
8334 end
8335 end;
8336
8337 function IStatementImpl_releaseDispatcher(this: IStatement): Integer; cdecl;
8338 begin
8339 try
8340 Result := IStatementImpl(this).release();
8341 except
8342 on e: Exception do FbException.catchException(nil, e);
8343 end
8344 end;
8345
8346 procedure IStatementImpl_getInfoDispatcher(this: IStatement; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8347 begin
8348 try
8349 IStatementImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
8350 except
8351 on e: Exception do FbException.catchException(status, e);
8352 end
8353 end;
8354
8355 function IStatementImpl_getTypeDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
8356 begin
8357 try
8358 Result := IStatementImpl(this).getType(status);
8359 except
8360 on e: Exception do FbException.catchException(status, e);
8361 end
8362 end;
8363
8364 function IStatementImpl_getPlanDispatcher(this: IStatement; status: IStatus; detailed: Boolean): PAnsiChar; cdecl;
8365 begin
8366 try
8367 Result := IStatementImpl(this).getPlan(status, detailed);
8368 except
8369 on e: Exception do FbException.catchException(status, e);
8370 end
8371 end;
8372
8373 function IStatementImpl_getAffectedRecordsDispatcher(this: IStatement; status: IStatus): QWord; cdecl;
8374 begin
8375 try
8376 Result := IStatementImpl(this).getAffectedRecords(status);
8377 except
8378 on e: Exception do FbException.catchException(status, e);
8379 end
8380 end;
8381
8382 function IStatementImpl_getInputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
8383 begin
8384 try
8385 Result := IStatementImpl(this).getInputMetadata(status);
8386 except
8387 on e: Exception do FbException.catchException(status, e);
8388 end
8389 end;
8390
8391 function IStatementImpl_getOutputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl;
8392 begin
8393 try
8394 Result := IStatementImpl(this).getOutputMetadata(status);
8395 except
8396 on e: Exception do FbException.catchException(status, e);
8397 end
8398 end;
8399
8400 function IStatementImpl_executeDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl;
8401 begin
8402 try
8403 Result := IStatementImpl(this).execute(status, transaction, inMetadata, inBuffer, outMetadata, outBuffer);
8404 except
8405 on e: Exception do FbException.catchException(status, e);
8406 end
8407 end;
8408
8409 function IStatementImpl_openCursorDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; cdecl;
8410 begin
8411 try
8412 Result := IStatementImpl(this).openCursor(status, transaction, inMetadata, inBuffer, outMetadata, flags);
8413 except
8414 on e: Exception do FbException.catchException(status, e);
8415 end
8416 end;
8417
8418 procedure IStatementImpl_setCursorNameDispatcher(this: IStatement; status: IStatus; name: PAnsiChar); cdecl;
8419 begin
8420 try
8421 IStatementImpl(this).setCursorName(status, name);
8422 except
8423 on e: Exception do FbException.catchException(status, e);
8424 end
8425 end;
8426
8427 procedure IStatementImpl_freeDispatcher(this: IStatement; status: IStatus); cdecl;
8428 begin
8429 try
8430 IStatementImpl(this).free(status);
8431 except
8432 on e: Exception do FbException.catchException(status, e);
8433 end
8434 end;
8435
8436 function IStatementImpl_getFlagsDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl;
8437 begin
8438 try
8439 Result := IStatementImpl(this).getFlags(status);
8440 except
8441 on e: Exception do FbException.catchException(status, e);
8442 end
8443 end;
8444
8445 var
8446 IStatementImpl_vTable: StatementVTable;
8447
8448 constructor IStatementImpl.create;
8449 begin
8450 vTable := IStatementImpl_vTable;
8451 end;
8452
8453 procedure IRequestImpl_addRefDispatcher(this: IRequest); cdecl;
8454 begin
8455 try
8456 IRequestImpl(this).addRef();
8457 except
8458 on e: Exception do FbException.catchException(nil, e);
8459 end
8460 end;
8461
8462 function IRequestImpl_releaseDispatcher(this: IRequest): Integer; cdecl;
8463 begin
8464 try
8465 Result := IRequestImpl(this).release();
8466 except
8467 on e: Exception do FbException.catchException(nil, e);
8468 end
8469 end;
8470
8471 procedure IRequestImpl_receiveDispatcher(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); cdecl;
8472 begin
8473 try
8474 IRequestImpl(this).receive(status, level, msgType, length, message);
8475 except
8476 on e: Exception do FbException.catchException(status, e);
8477 end
8478 end;
8479
8480 procedure IRequestImpl_sendDispatcher(this: IRequest; status: IStatus; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); cdecl;
8481 begin
8482 try
8483 IRequestImpl(this).send(status, level, msgType, length, message);
8484 except
8485 on e: Exception do FbException.catchException(status, e);
8486 end
8487 end;
8488
8489 procedure IRequestImpl_getInfoDispatcher(this: IRequest; status: IStatus; level: Integer; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8490 begin
8491 try
8492 IRequestImpl(this).getInfo(status, level, itemsLength, items, bufferLength, buffer);
8493 except
8494 on e: Exception do FbException.catchException(status, e);
8495 end
8496 end;
8497
8498 procedure IRequestImpl_startDispatcher(this: IRequest; status: IStatus; tra: ITransaction; level: Integer); cdecl;
8499 begin
8500 try
8501 IRequestImpl(this).start(status, tra, level);
8502 except
8503 on e: Exception do FbException.catchException(status, e);
8504 end
8505 end;
8506
8507 procedure IRequestImpl_startAndSendDispatcher(this: IRequest; status: IStatus; tra: ITransaction; level: Integer; msgType: Cardinal; length: Cardinal; message: BytePtr); cdecl;
8508 begin
8509 try
8510 IRequestImpl(this).startAndSend(status, tra, level, msgType, length, message);
8511 except
8512 on e: Exception do FbException.catchException(status, e);
8513 end
8514 end;
8515
8516 procedure IRequestImpl_unwindDispatcher(this: IRequest; status: IStatus; level: Integer); cdecl;
8517 begin
8518 try
8519 IRequestImpl(this).unwind(status, level);
8520 except
8521 on e: Exception do FbException.catchException(status, e);
8522 end
8523 end;
8524
8525 procedure IRequestImpl_freeDispatcher(this: IRequest; status: IStatus); cdecl;
8526 begin
8527 try
8528 IRequestImpl(this).free(status);
8529 except
8530 on e: Exception do FbException.catchException(status, e);
8531 end
8532 end;
8533
8534 var
8535 IRequestImpl_vTable: RequestVTable;
8536
8537 constructor IRequestImpl.create;
8538 begin
8539 vTable := IRequestImpl_vTable;
8540 end;
8541
8542 procedure IEventsImpl_addRefDispatcher(this: IEvents); cdecl;
8543 begin
8544 try
8545 IEventsImpl(this).addRef();
8546 except
8547 on e: Exception do FbException.catchException(nil, e);
8548 end
8549 end;
8550
8551 function IEventsImpl_releaseDispatcher(this: IEvents): Integer; cdecl;
8552 begin
8553 try
8554 Result := IEventsImpl(this).release();
8555 except
8556 on e: Exception do FbException.catchException(nil, e);
8557 end
8558 end;
8559
8560 procedure IEventsImpl_cancelDispatcher(this: IEvents; status: IStatus); cdecl;
8561 begin
8562 try
8563 IEventsImpl(this).cancel(status);
8564 except
8565 on e: Exception do FbException.catchException(status, e);
8566 end
8567 end;
8568
8569 var
8570 IEventsImpl_vTable: EventsVTable;
8571
8572 constructor IEventsImpl.create;
8573 begin
8574 vTable := IEventsImpl_vTable;
8575 end;
8576
8577 procedure IAttachmentImpl_addRefDispatcher(this: IAttachment); cdecl;
8578 begin
8579 try
8580 IAttachmentImpl(this).addRef();
8581 except
8582 on e: Exception do FbException.catchException(nil, e);
8583 end
8584 end;
8585
8586 function IAttachmentImpl_releaseDispatcher(this: IAttachment): Integer; cdecl;
8587 begin
8588 try
8589 Result := IAttachmentImpl(this).release();
8590 except
8591 on e: Exception do FbException.catchException(nil, e);
8592 end
8593 end;
8594
8595 procedure IAttachmentImpl_getInfoDispatcher(this: IAttachment; status: IStatus; itemsLength: Cardinal; items: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8596 begin
8597 try
8598 IAttachmentImpl(this).getInfo(status, itemsLength, items, bufferLength, buffer);
8599 except
8600 on e: Exception do FbException.catchException(status, e);
8601 end
8602 end;
8603
8604 function IAttachmentImpl_startTransactionDispatcher(this: IAttachment; status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; cdecl;
8605 begin
8606 try
8607 Result := IAttachmentImpl(this).startTransaction(status, tpbLength, tpb);
8608 except
8609 on e: Exception do FbException.catchException(status, e);
8610 end
8611 end;
8612
8613 function IAttachmentImpl_reconnectTransactionDispatcher(this: IAttachment; status: IStatus; length: Cardinal; id: BytePtr): ITransaction; cdecl;
8614 begin
8615 try
8616 Result := IAttachmentImpl(this).reconnectTransaction(status, length, id);
8617 except
8618 on e: Exception do FbException.catchException(status, e);
8619 end
8620 end;
8621
8622 function IAttachmentImpl_compileRequestDispatcher(this: IAttachment; status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; cdecl;
8623 begin
8624 try
8625 Result := IAttachmentImpl(this).compileRequest(status, blrLength, blr);
8626 except
8627 on e: Exception do FbException.catchException(status, e);
8628 end
8629 end;
8630
8631 procedure IAttachmentImpl_transactRequestDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; blrLength: Cardinal; blr: BytePtr; inMsgLength: Cardinal; inMsg: BytePtr; outMsgLength: Cardinal; outMsg: BytePtr); cdecl;
8632 begin
8633 try
8634 IAttachmentImpl(this).transactRequest(status, transaction, blrLength, blr, inMsgLength, inMsg, outMsgLength, outMsg);
8635 except
8636 on e: Exception do FbException.catchException(status, e);
8637 end
8638 end;
8639
8640 function IAttachmentImpl_createBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
8641 begin
8642 try
8643 Result := IAttachmentImpl(this).createBlob(status, transaction, id, bpbLength, bpb);
8644 except
8645 on e: Exception do FbException.catchException(status, e);
8646 end
8647 end;
8648
8649 function IAttachmentImpl_openBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl;
8650 begin
8651 try
8652 Result := IAttachmentImpl(this).openBlob(status, transaction, id, bpbLength, bpb);
8653 except
8654 on e: Exception do FbException.catchException(status, e);
8655 end
8656 end;
8657
8658 function IAttachmentImpl_getSliceDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; cdecl;
8659 begin
8660 try
8661 Result := IAttachmentImpl(this).getSlice(status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
8662 except
8663 on e: Exception do FbException.catchException(status, e);
8664 end
8665 end;
8666
8667 procedure IAttachmentImpl_putSliceDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: PISC_QUAD; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr); cdecl;
8668 begin
8669 try
8670 IAttachmentImpl(this).putSlice(status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice);
8671 except
8672 on e: Exception do FbException.catchException(status, e);
8673 end
8674 end;
8675
8676 procedure IAttachmentImpl_executeDynDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; length: Cardinal; dyn: BytePtr); cdecl;
8677 begin
8678 try
8679 IAttachmentImpl(this).executeDyn(status, transaction, length, dyn);
8680 except
8681 on e: Exception do FbException.catchException(status, e);
8682 end
8683 end;
8684
8685 function IAttachmentImpl_prepareDispatcher(this: IAttachment; status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; cdecl;
8686 begin
8687 try
8688 Result := IAttachmentImpl(this).prepare(status, tra, stmtLength, sqlStmt, dialect, flags);
8689 except
8690 on e: Exception do FbException.catchException(status, e);
8691 end
8692 end;
8693
8694 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;
8695 begin
8696 try
8697 Result := IAttachmentImpl(this).execute(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer);
8698 except
8699 on e: Exception do FbException.catchException(status, e);
8700 end
8701 end;
8702
8703 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;
8704 begin
8705 try
8706 Result := IAttachmentImpl(this).openCursor(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags);
8707 except
8708 on e: Exception do FbException.catchException(status, e);
8709 end
8710 end;
8711
8712 function IAttachmentImpl_queEventsDispatcher(this: IAttachment; status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; cdecl;
8713 begin
8714 try
8715 Result := IAttachmentImpl(this).queEvents(status, callback, length, events);
8716 except
8717 on e: Exception do FbException.catchException(status, e);
8718 end
8719 end;
8720
8721 procedure IAttachmentImpl_cancelOperationDispatcher(this: IAttachment; status: IStatus; option: Integer); cdecl;
8722 begin
8723 try
8724 IAttachmentImpl(this).cancelOperation(status, option);
8725 except
8726 on e: Exception do FbException.catchException(status, e);
8727 end
8728 end;
8729
8730 procedure IAttachmentImpl_pingDispatcher(this: IAttachment; status: IStatus); cdecl;
8731 begin
8732 try
8733 IAttachmentImpl(this).ping(status);
8734 except
8735 on e: Exception do FbException.catchException(status, e);
8736 end
8737 end;
8738
8739 procedure IAttachmentImpl_detachDispatcher(this: IAttachment; status: IStatus); cdecl;
8740 begin
8741 try
8742 IAttachmentImpl(this).detach(status);
8743 except
8744 on e: Exception do FbException.catchException(status, e);
8745 end
8746 end;
8747
8748 procedure IAttachmentImpl_dropDatabaseDispatcher(this: IAttachment; status: IStatus); cdecl;
8749 begin
8750 try
8751 IAttachmentImpl(this).dropDatabase(status);
8752 except
8753 on e: Exception do FbException.catchException(status, e);
8754 end
8755 end;
8756
8757 var
8758 IAttachmentImpl_vTable: AttachmentVTable;
8759
8760 constructor IAttachmentImpl.create;
8761 begin
8762 vTable := IAttachmentImpl_vTable;
8763 end;
8764
8765 procedure IServiceImpl_addRefDispatcher(this: IService); cdecl;
8766 begin
8767 try
8768 IServiceImpl(this).addRef();
8769 except
8770 on e: Exception do FbException.catchException(nil, e);
8771 end
8772 end;
8773
8774 function IServiceImpl_releaseDispatcher(this: IService): Integer; cdecl;
8775 begin
8776 try
8777 Result := IServiceImpl(this).release();
8778 except
8779 on e: Exception do FbException.catchException(nil, e);
8780 end
8781 end;
8782
8783 procedure IServiceImpl_detachDispatcher(this: IService; status: IStatus); cdecl;
8784 begin
8785 try
8786 IServiceImpl(this).detach(status);
8787 except
8788 on e: Exception do FbException.catchException(status, e);
8789 end
8790 end;
8791
8792 procedure IServiceImpl_queryDispatcher(this: IService; status: IStatus; sendLength: Cardinal; sendItems: BytePtr; receiveLength: Cardinal; receiveItems: BytePtr; bufferLength: Cardinal; buffer: BytePtr); cdecl;
8793 begin
8794 try
8795 IServiceImpl(this).query(status, sendLength, sendItems, receiveLength, receiveItems, bufferLength, buffer);
8796 except
8797 on e: Exception do FbException.catchException(status, e);
8798 end
8799 end;
8800
8801 procedure IServiceImpl_startDispatcher(this: IService; status: IStatus; spbLength: Cardinal; spb: BytePtr); cdecl;
8802 begin
8803 try
8804 IServiceImpl(this).start(status, spbLength, spb);
8805 except
8806 on e: Exception do FbException.catchException(status, e);
8807 end
8808 end;
8809
8810 var
8811 IServiceImpl_vTable: ServiceVTable;
8812
8813 constructor IServiceImpl.create;
8814 begin
8815 vTable := IServiceImpl_vTable;
8816 end;
8817
8818 procedure IProviderImpl_addRefDispatcher(this: IProvider); cdecl;
8819 begin
8820 try
8821 IProviderImpl(this).addRef();
8822 except
8823 on e: Exception do FbException.catchException(nil, e);
8824 end
8825 end;
8826
8827 function IProviderImpl_releaseDispatcher(this: IProvider): Integer; cdecl;
8828 begin
8829 try
8830 Result := IProviderImpl(this).release();
8831 except
8832 on e: Exception do FbException.catchException(nil, e);
8833 end
8834 end;
8835
8836 procedure IProviderImpl_setOwnerDispatcher(this: IProvider; r: IReferenceCounted); cdecl;
8837 begin
8838 try
8839 IProviderImpl(this).setOwner(r);
8840 except
8841 on e: Exception do FbException.catchException(nil, e);
8842 end
8843 end;
8844
8845 function IProviderImpl_getOwnerDispatcher(this: IProvider): IReferenceCounted; cdecl;
8846 begin
8847 try
8848 Result := IProviderImpl(this).getOwner();
8849 except
8850 on e: Exception do FbException.catchException(nil, e);
8851 end
8852 end;
8853
8854 function IProviderImpl_attachDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
8855 begin
8856 try
8857 Result := IProviderImpl(this).attachDatabase(status, fileName, dpbLength, dpb);
8858 except
8859 on e: Exception do FbException.catchException(status, e);
8860 end
8861 end;
8862
8863 function IProviderImpl_createDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl;
8864 begin
8865 try
8866 Result := IProviderImpl(this).createDatabase(status, fileName, dpbLength, dpb);
8867 except
8868 on e: Exception do FbException.catchException(status, e);
8869 end
8870 end;
8871
8872 function IProviderImpl_attachServiceManagerDispatcher(this: IProvider; status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; cdecl;
8873 begin
8874 try
8875 Result := IProviderImpl(this).attachServiceManager(status, service, spbLength, spb);
8876 except
8877 on e: Exception do FbException.catchException(status, e);
8878 end
8879 end;
8880
8881 procedure IProviderImpl_shutdownDispatcher(this: IProvider; status: IStatus; timeout: Cardinal; reason: Integer); cdecl;
8882 begin
8883 try
8884 IProviderImpl(this).shutdown(status, timeout, reason);
8885 except
8886 on e: Exception do FbException.catchException(status, e);
8887 end
8888 end;
8889
8890 procedure IProviderImpl_setDbCryptCallbackDispatcher(this: IProvider; status: IStatus; cryptCallback: ICryptKeyCallback); cdecl;
8891 begin
8892 try
8893 IProviderImpl(this).setDbCryptCallback(status, cryptCallback);
8894 except
8895 on e: Exception do FbException.catchException(status, e);
8896 end
8897 end;
8898
8899 var
8900 IProviderImpl_vTable: ProviderVTable;
8901
8902 constructor IProviderImpl.create;
8903 begin
8904 vTable := IProviderImpl_vTable;
8905 end;
8906
8907 procedure IDtcStartImpl_disposeDispatcher(this: IDtcStart); cdecl;
8908 begin
8909 try
8910 IDtcStartImpl(this).dispose();
8911 except
8912 on e: Exception do FbException.catchException(nil, e);
8913 end
8914 end;
8915
8916 procedure IDtcStartImpl_addAttachmentDispatcher(this: IDtcStart; status: IStatus; att: IAttachment); cdecl;
8917 begin
8918 try
8919 IDtcStartImpl(this).addAttachment(status, att);
8920 except
8921 on e: Exception do FbException.catchException(status, e);
8922 end
8923 end;
8924
8925 procedure IDtcStartImpl_addWithTpbDispatcher(this: IDtcStart; status: IStatus; att: IAttachment; length: Cardinal; tpb: BytePtr); cdecl;
8926 begin
8927 try
8928 IDtcStartImpl(this).addWithTpb(status, att, length, tpb);
8929 except
8930 on e: Exception do FbException.catchException(status, e);
8931 end
8932 end;
8933
8934 function IDtcStartImpl_startDispatcher(this: IDtcStart; status: IStatus): ITransaction; cdecl;
8935 begin
8936 try
8937 Result := IDtcStartImpl(this).start(status);
8938 except
8939 on e: Exception do FbException.catchException(status, e);
8940 end
8941 end;
8942
8943 var
8944 IDtcStartImpl_vTable: DtcStartVTable;
8945
8946 constructor IDtcStartImpl.create;
8947 begin
8948 vTable := IDtcStartImpl_vTable;
8949 end;
8950
8951 function IDtcImpl_joinDispatcher(this: IDtc; status: IStatus; one: ITransaction; two: ITransaction): ITransaction; cdecl;
8952 begin
8953 try
8954 Result := IDtcImpl(this).join(status, one, two);
8955 except
8956 on e: Exception do FbException.catchException(status, e);
8957 end
8958 end;
8959
8960 function IDtcImpl_startBuilderDispatcher(this: IDtc; status: IStatus): IDtcStart; cdecl;
8961 begin
8962 try
8963 Result := IDtcImpl(this).startBuilder(status);
8964 except
8965 on e: Exception do FbException.catchException(status, e);
8966 end
8967 end;
8968
8969 var
8970 IDtcImpl_vTable: DtcVTable;
8971
8972 constructor IDtcImpl.create;
8973 begin
8974 vTable := IDtcImpl_vTable;
8975 end;
8976
8977 procedure IAuthImpl_addRefDispatcher(this: IAuth); cdecl;
8978 begin
8979 try
8980 IAuthImpl(this).addRef();
8981 except
8982 on e: Exception do FbException.catchException(nil, e);
8983 end
8984 end;
8985
8986 function IAuthImpl_releaseDispatcher(this: IAuth): Integer; cdecl;
8987 begin
8988 try
8989 Result := IAuthImpl(this).release();
8990 except
8991 on e: Exception do FbException.catchException(nil, e);
8992 end
8993 end;
8994
8995 procedure IAuthImpl_setOwnerDispatcher(this: IAuth; r: IReferenceCounted); cdecl;
8996 begin
8997 try
8998 IAuthImpl(this).setOwner(r);
8999 except
9000 on e: Exception do FbException.catchException(nil, e);
9001 end
9002 end;
9003
9004 function IAuthImpl_getOwnerDispatcher(this: IAuth): IReferenceCounted; cdecl;
9005 begin
9006 try
9007 Result := IAuthImpl(this).getOwner();
9008 except
9009 on e: Exception do FbException.catchException(nil, e);
9010 end
9011 end;
9012
9013 var
9014 IAuthImpl_vTable: AuthVTable;
9015
9016 constructor IAuthImpl.create;
9017 begin
9018 vTable := IAuthImpl_vTable;
9019 end;
9020
9021 procedure IWriterImpl_resetDispatcher(this: IWriter); cdecl;
9022 begin
9023 try
9024 IWriterImpl(this).reset();
9025 except
9026 on e: Exception do FbException.catchException(nil, e);
9027 end
9028 end;
9029
9030 procedure IWriterImpl_addDispatcher(this: IWriter; status: IStatus; name: PAnsiChar); cdecl;
9031 begin
9032 try
9033 IWriterImpl(this).add(status, name);
9034 except
9035 on e: Exception do FbException.catchException(status, e);
9036 end
9037 end;
9038
9039 procedure IWriterImpl_setTypeDispatcher(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
9040 begin
9041 try
9042 IWriterImpl(this).setType(status, value);
9043 except
9044 on e: Exception do FbException.catchException(status, e);
9045 end
9046 end;
9047
9048 procedure IWriterImpl_setDbDispatcher(this: IWriter; status: IStatus; value: PAnsiChar); cdecl;
9049 begin
9050 try
9051 IWriterImpl(this).setDb(status, value);
9052 except
9053 on e: Exception do FbException.catchException(status, e);
9054 end
9055 end;
9056
9057 var
9058 IWriterImpl_vTable: WriterVTable;
9059
9060 constructor IWriterImpl.create;
9061 begin
9062 vTable := IWriterImpl_vTable;
9063 end;
9064
9065 function IServerBlockImpl_getLoginDispatcher(this: IServerBlock): PAnsiChar; cdecl;
9066 begin
9067 try
9068 Result := IServerBlockImpl(this).getLogin();
9069 except
9070 on e: Exception do FbException.catchException(nil, e);
9071 end
9072 end;
9073
9074 function IServerBlockImpl_getDataDispatcher(this: IServerBlock; length: CardinalPtr): BytePtr; cdecl;
9075 begin
9076 try
9077 Result := IServerBlockImpl(this).getData(length);
9078 except
9079 on e: Exception do FbException.catchException(nil, e);
9080 end
9081 end;
9082
9083 procedure IServerBlockImpl_putDataDispatcher(this: IServerBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
9084 begin
9085 try
9086 IServerBlockImpl(this).putData(status, length, data);
9087 except
9088 on e: Exception do FbException.catchException(status, e);
9089 end
9090 end;
9091
9092 function IServerBlockImpl_newKeyDispatcher(this: IServerBlock; status: IStatus): ICryptKey; cdecl;
9093 begin
9094 try
9095 Result := IServerBlockImpl(this).newKey(status);
9096 except
9097 on e: Exception do FbException.catchException(status, e);
9098 end
9099 end;
9100
9101 var
9102 IServerBlockImpl_vTable: ServerBlockVTable;
9103
9104 constructor IServerBlockImpl.create;
9105 begin
9106 vTable := IServerBlockImpl_vTable;
9107 end;
9108
9109 procedure IClientBlockImpl_addRefDispatcher(this: IClientBlock); cdecl;
9110 begin
9111 try
9112 IClientBlockImpl(this).addRef();
9113 except
9114 on e: Exception do FbException.catchException(nil, e);
9115 end
9116 end;
9117
9118 function IClientBlockImpl_releaseDispatcher(this: IClientBlock): Integer; cdecl;
9119 begin
9120 try
9121 Result := IClientBlockImpl(this).release();
9122 except
9123 on e: Exception do FbException.catchException(nil, e);
9124 end
9125 end;
9126
9127 function IClientBlockImpl_getLoginDispatcher(this: IClientBlock): PAnsiChar; cdecl;
9128 begin
9129 try
9130 Result := IClientBlockImpl(this).getLogin();
9131 except
9132 on e: Exception do FbException.catchException(nil, e);
9133 end
9134 end;
9135
9136 function IClientBlockImpl_getPasswordDispatcher(this: IClientBlock): PAnsiChar; cdecl;
9137 begin
9138 try
9139 Result := IClientBlockImpl(this).getPassword();
9140 except
9141 on e: Exception do FbException.catchException(nil, e);
9142 end
9143 end;
9144
9145 function IClientBlockImpl_getDataDispatcher(this: IClientBlock; length: CardinalPtr): BytePtr; cdecl;
9146 begin
9147 try
9148 Result := IClientBlockImpl(this).getData(length);
9149 except
9150 on e: Exception do FbException.catchException(nil, e);
9151 end
9152 end;
9153
9154 procedure IClientBlockImpl_putDataDispatcher(this: IClientBlock; status: IStatus; length: Cardinal; data: Pointer); cdecl;
9155 begin
9156 try
9157 IClientBlockImpl(this).putData(status, length, data);
9158 except
9159 on e: Exception do FbException.catchException(status, e);
9160 end
9161 end;
9162
9163 function IClientBlockImpl_newKeyDispatcher(this: IClientBlock; status: IStatus): ICryptKey; cdecl;
9164 begin
9165 try
9166 Result := IClientBlockImpl(this).newKey(status);
9167 except
9168 on e: Exception do FbException.catchException(status, e);
9169 end
9170 end;
9171
9172 var
9173 IClientBlockImpl_vTable: ClientBlockVTable;
9174
9175 constructor IClientBlockImpl.create;
9176 begin
9177 vTable := IClientBlockImpl_vTable;
9178 end;
9179
9180 procedure IServerImpl_addRefDispatcher(this: IServer); cdecl;
9181 begin
9182 try
9183 IServerImpl(this).addRef();
9184 except
9185 on e: Exception do FbException.catchException(nil, e);
9186 end
9187 end;
9188
9189 function IServerImpl_releaseDispatcher(this: IServer): Integer; cdecl;
9190 begin
9191 try
9192 Result := IServerImpl(this).release();
9193 except
9194 on e: Exception do FbException.catchException(nil, e);
9195 end
9196 end;
9197
9198 procedure IServerImpl_setOwnerDispatcher(this: IServer; r: IReferenceCounted); cdecl;
9199 begin
9200 try
9201 IServerImpl(this).setOwner(r);
9202 except
9203 on e: Exception do FbException.catchException(nil, e);
9204 end
9205 end;
9206
9207 function IServerImpl_getOwnerDispatcher(this: IServer): IReferenceCounted; cdecl;
9208 begin
9209 try
9210 Result := IServerImpl(this).getOwner();
9211 except
9212 on e: Exception do FbException.catchException(nil, e);
9213 end
9214 end;
9215
9216 function IServerImpl_authenticateDispatcher(this: IServer; status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; cdecl;
9217 begin
9218 try
9219 Result := IServerImpl(this).authenticate(status, sBlock, writerInterface);
9220 except
9221 on e: Exception do FbException.catchException(status, e);
9222 end
9223 end;
9224
9225 var
9226 IServerImpl_vTable: ServerVTable;
9227
9228 constructor IServerImpl.create;
9229 begin
9230 vTable := IServerImpl_vTable;
9231 end;
9232
9233 procedure IClientImpl_addRefDispatcher(this: IClient); cdecl;
9234 begin
9235 try
9236 IClientImpl(this).addRef();
9237 except
9238 on e: Exception do FbException.catchException(nil, e);
9239 end
9240 end;
9241
9242 function IClientImpl_releaseDispatcher(this: IClient): Integer; cdecl;
9243 begin
9244 try
9245 Result := IClientImpl(this).release();
9246 except
9247 on e: Exception do FbException.catchException(nil, e);
9248 end
9249 end;
9250
9251 procedure IClientImpl_setOwnerDispatcher(this: IClient; r: IReferenceCounted); cdecl;
9252 begin
9253 try
9254 IClientImpl(this).setOwner(r);
9255 except
9256 on e: Exception do FbException.catchException(nil, e);
9257 end
9258 end;
9259
9260 function IClientImpl_getOwnerDispatcher(this: IClient): IReferenceCounted; cdecl;
9261 begin
9262 try
9263 Result := IClientImpl(this).getOwner();
9264 except
9265 on e: Exception do FbException.catchException(nil, e);
9266 end
9267 end;
9268
9269 function IClientImpl_authenticateDispatcher(this: IClient; status: IStatus; cBlock: IClientBlock): Integer; cdecl;
9270 begin
9271 try
9272 Result := IClientImpl(this).authenticate(status, cBlock);
9273 except
9274 on e: Exception do FbException.catchException(status, e);
9275 end
9276 end;
9277
9278 var
9279 IClientImpl_vTable: ClientVTable;
9280
9281 constructor IClientImpl.create;
9282 begin
9283 vTable := IClientImpl_vTable;
9284 end;
9285
9286 function IUserFieldImpl_enteredDispatcher(this: IUserField): Integer; cdecl;
9287 begin
9288 try
9289 Result := IUserFieldImpl(this).entered();
9290 except
9291 on e: Exception do FbException.catchException(nil, e);
9292 end
9293 end;
9294
9295 function IUserFieldImpl_specifiedDispatcher(this: IUserField): Integer; cdecl;
9296 begin
9297 try
9298 Result := IUserFieldImpl(this).specified();
9299 except
9300 on e: Exception do FbException.catchException(nil, e);
9301 end
9302 end;
9303
9304 procedure IUserFieldImpl_setEnteredDispatcher(this: IUserField; status: IStatus; newValue: Integer); cdecl;
9305 begin
9306 try
9307 IUserFieldImpl(this).setEntered(status, newValue);
9308 except
9309 on e: Exception do FbException.catchException(status, e);
9310 end
9311 end;
9312
9313 var
9314 IUserFieldImpl_vTable: UserFieldVTable;
9315
9316 constructor IUserFieldImpl.create;
9317 begin
9318 vTable := IUserFieldImpl_vTable;
9319 end;
9320
9321 function ICharUserFieldImpl_enteredDispatcher(this: ICharUserField): Integer; cdecl;
9322 begin
9323 try
9324 Result := ICharUserFieldImpl(this).entered();
9325 except
9326 on e: Exception do FbException.catchException(nil, e);
9327 end
9328 end;
9329
9330 function ICharUserFieldImpl_specifiedDispatcher(this: ICharUserField): Integer; cdecl;
9331 begin
9332 try
9333 Result := ICharUserFieldImpl(this).specified();
9334 except
9335 on e: Exception do FbException.catchException(nil, e);
9336 end
9337 end;
9338
9339 procedure ICharUserFieldImpl_setEnteredDispatcher(this: ICharUserField; status: IStatus; newValue: Integer); cdecl;
9340 begin
9341 try
9342 ICharUserFieldImpl(this).setEntered(status, newValue);
9343 except
9344 on e: Exception do FbException.catchException(status, e);
9345 end
9346 end;
9347
9348 function ICharUserFieldImpl_getDispatcher(this: ICharUserField): PAnsiChar; cdecl;
9349 begin
9350 try
9351 Result := ICharUserFieldImpl(this).get();
9352 except
9353 on e: Exception do FbException.catchException(nil, e);
9354 end
9355 end;
9356
9357 procedure ICharUserFieldImpl_set_Dispatcher(this: ICharUserField; status: IStatus; newValue: PAnsiChar); cdecl;
9358 begin
9359 try
9360 ICharUserFieldImpl(this).set_(status, newValue);
9361 except
9362 on e: Exception do FbException.catchException(status, e);
9363 end
9364 end;
9365
9366 var
9367 ICharUserFieldImpl_vTable: CharUserFieldVTable;
9368
9369 constructor ICharUserFieldImpl.create;
9370 begin
9371 vTable := ICharUserFieldImpl_vTable;
9372 end;
9373
9374 function IIntUserFieldImpl_enteredDispatcher(this: IIntUserField): Integer; cdecl;
9375 begin
9376 try
9377 Result := IIntUserFieldImpl(this).entered();
9378 except
9379 on e: Exception do FbException.catchException(nil, e);
9380 end
9381 end;
9382
9383 function IIntUserFieldImpl_specifiedDispatcher(this: IIntUserField): Integer; cdecl;
9384 begin
9385 try
9386 Result := IIntUserFieldImpl(this).specified();
9387 except
9388 on e: Exception do FbException.catchException(nil, e);
9389 end
9390 end;
9391
9392 procedure IIntUserFieldImpl_setEnteredDispatcher(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
9393 begin
9394 try
9395 IIntUserFieldImpl(this).setEntered(status, newValue);
9396 except
9397 on e: Exception do FbException.catchException(status, e);
9398 end
9399 end;
9400
9401 function IIntUserFieldImpl_getDispatcher(this: IIntUserField): Integer; cdecl;
9402 begin
9403 try
9404 Result := IIntUserFieldImpl(this).get();
9405 except
9406 on e: Exception do FbException.catchException(nil, e);
9407 end
9408 end;
9409
9410 procedure IIntUserFieldImpl_set_Dispatcher(this: IIntUserField; status: IStatus; newValue: Integer); cdecl;
9411 begin
9412 try
9413 IIntUserFieldImpl(this).set_(status, newValue);
9414 except
9415 on e: Exception do FbException.catchException(status, e);
9416 end
9417 end;
9418
9419 var
9420 IIntUserFieldImpl_vTable: IntUserFieldVTable;
9421
9422 constructor IIntUserFieldImpl.create;
9423 begin
9424 vTable := IIntUserFieldImpl_vTable;
9425 end;
9426
9427 function IUserImpl_operationDispatcher(this: IUser): Cardinal; cdecl;
9428 begin
9429 try
9430 Result := IUserImpl(this).operation();
9431 except
9432 on e: Exception do FbException.catchException(nil, e);
9433 end
9434 end;
9435
9436 function IUserImpl_userNameDispatcher(this: IUser): ICharUserField; cdecl;
9437 begin
9438 try
9439 Result := IUserImpl(this).userName();
9440 except
9441 on e: Exception do FbException.catchException(nil, e);
9442 end
9443 end;
9444
9445 function IUserImpl_passwordDispatcher(this: IUser): ICharUserField; cdecl;
9446 begin
9447 try
9448 Result := IUserImpl(this).password();
9449 except
9450 on e: Exception do FbException.catchException(nil, e);
9451 end
9452 end;
9453
9454 function IUserImpl_firstNameDispatcher(this: IUser): ICharUserField; cdecl;
9455 begin
9456 try
9457 Result := IUserImpl(this).firstName();
9458 except
9459 on e: Exception do FbException.catchException(nil, e);
9460 end
9461 end;
9462
9463 function IUserImpl_lastNameDispatcher(this: IUser): ICharUserField; cdecl;
9464 begin
9465 try
9466 Result := IUserImpl(this).lastName();
9467 except
9468 on e: Exception do FbException.catchException(nil, e);
9469 end
9470 end;
9471
9472 function IUserImpl_middleNameDispatcher(this: IUser): ICharUserField; cdecl;
9473 begin
9474 try
9475 Result := IUserImpl(this).middleName();
9476 except
9477 on e: Exception do FbException.catchException(nil, e);
9478 end
9479 end;
9480
9481 function IUserImpl_commentDispatcher(this: IUser): ICharUserField; cdecl;
9482 begin
9483 try
9484 Result := IUserImpl(this).comment();
9485 except
9486 on e: Exception do FbException.catchException(nil, e);
9487 end
9488 end;
9489
9490 function IUserImpl_attributesDispatcher(this: IUser): ICharUserField; cdecl;
9491 begin
9492 try
9493 Result := IUserImpl(this).attributes();
9494 except
9495 on e: Exception do FbException.catchException(nil, e);
9496 end
9497 end;
9498
9499 function IUserImpl_activeDispatcher(this: IUser): IIntUserField; cdecl;
9500 begin
9501 try
9502 Result := IUserImpl(this).active();
9503 except
9504 on e: Exception do FbException.catchException(nil, e);
9505 end
9506 end;
9507
9508 function IUserImpl_adminDispatcher(this: IUser): IIntUserField; cdecl;
9509 begin
9510 try
9511 Result := IUserImpl(this).admin();
9512 except
9513 on e: Exception do FbException.catchException(nil, e);
9514 end
9515 end;
9516
9517 procedure IUserImpl_clearDispatcher(this: IUser; status: IStatus); cdecl;
9518 begin
9519 try
9520 IUserImpl(this).clear(status);
9521 except
9522 on e: Exception do FbException.catchException(status, e);
9523 end
9524 end;
9525
9526 var
9527 IUserImpl_vTable: UserVTable;
9528
9529 constructor IUserImpl.create;
9530 begin
9531 vTable := IUserImpl_vTable;
9532 end;
9533
9534 procedure IListUsersImpl_listDispatcher(this: IListUsers; status: IStatus; user: IUser); cdecl;
9535 begin
9536 try
9537 IListUsersImpl(this).list(status, user);
9538 except
9539 on e: Exception do FbException.catchException(status, e);
9540 end
9541 end;
9542
9543 var
9544 IListUsersImpl_vTable: ListUsersVTable;
9545
9546 constructor IListUsersImpl.create;
9547 begin
9548 vTable := IListUsersImpl_vTable;
9549 end;
9550
9551 function ILogonInfoImpl_nameDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9552 begin
9553 try
9554 Result := ILogonInfoImpl(this).name();
9555 except
9556 on e: Exception do FbException.catchException(nil, e);
9557 end
9558 end;
9559
9560 function ILogonInfoImpl_roleDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9561 begin
9562 try
9563 Result := ILogonInfoImpl(this).role();
9564 except
9565 on e: Exception do FbException.catchException(nil, e);
9566 end
9567 end;
9568
9569 function ILogonInfoImpl_networkProtocolDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9570 begin
9571 try
9572 Result := ILogonInfoImpl(this).networkProtocol();
9573 except
9574 on e: Exception do FbException.catchException(nil, e);
9575 end
9576 end;
9577
9578 function ILogonInfoImpl_remoteAddressDispatcher(this: ILogonInfo): PAnsiChar; cdecl;
9579 begin
9580 try
9581 Result := ILogonInfoImpl(this).remoteAddress();
9582 except
9583 on e: Exception do FbException.catchException(nil, e);
9584 end
9585 end;
9586
9587 function ILogonInfoImpl_authBlockDispatcher(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl;
9588 begin
9589 try
9590 Result := ILogonInfoImpl(this).authBlock(length);
9591 except
9592 on e: Exception do FbException.catchException(nil, e);
9593 end
9594 end;
9595
9596 var
9597 ILogonInfoImpl_vTable: LogonInfoVTable;
9598
9599 constructor ILogonInfoImpl.create;
9600 begin
9601 vTable := ILogonInfoImpl_vTable;
9602 end;
9603
9604 procedure IManagementImpl_addRefDispatcher(this: IManagement); cdecl;
9605 begin
9606 try
9607 IManagementImpl(this).addRef();
9608 except
9609 on e: Exception do FbException.catchException(nil, e);
9610 end
9611 end;
9612
9613 function IManagementImpl_releaseDispatcher(this: IManagement): Integer; cdecl;
9614 begin
9615 try
9616 Result := IManagementImpl(this).release();
9617 except
9618 on e: Exception do FbException.catchException(nil, e);
9619 end
9620 end;
9621
9622 procedure IManagementImpl_setOwnerDispatcher(this: IManagement; r: IReferenceCounted); cdecl;
9623 begin
9624 try
9625 IManagementImpl(this).setOwner(r);
9626 except
9627 on e: Exception do FbException.catchException(nil, e);
9628 end
9629 end;
9630
9631 function IManagementImpl_getOwnerDispatcher(this: IManagement): IReferenceCounted; cdecl;
9632 begin
9633 try
9634 Result := IManagementImpl(this).getOwner();
9635 except
9636 on e: Exception do FbException.catchException(nil, e);
9637 end
9638 end;
9639
9640 procedure IManagementImpl_startDispatcher(this: IManagement; status: IStatus; logonInfo: ILogonInfo); cdecl;
9641 begin
9642 try
9643 IManagementImpl(this).start(status, logonInfo);
9644 except
9645 on e: Exception do FbException.catchException(status, e);
9646 end
9647 end;
9648
9649 function IManagementImpl_executeDispatcher(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl;
9650 begin
9651 try
9652 Result := IManagementImpl(this).execute(status, user, callback);
9653 except
9654 on e: Exception do FbException.catchException(status, e);
9655 end
9656 end;
9657
9658 procedure IManagementImpl_commitDispatcher(this: IManagement; status: IStatus); cdecl;
9659 begin
9660 try
9661 IManagementImpl(this).commit(status);
9662 except
9663 on e: Exception do FbException.catchException(status, e);
9664 end
9665 end;
9666
9667 procedure IManagementImpl_rollbackDispatcher(this: IManagement; status: IStatus); cdecl;
9668 begin
9669 try
9670 IManagementImpl(this).rollback(status);
9671 except
9672 on e: Exception do FbException.catchException(status, e);
9673 end
9674 end;
9675
9676 var
9677 IManagementImpl_vTable: ManagementVTable;
9678
9679 constructor IManagementImpl.create;
9680 begin
9681 vTable := IManagementImpl_vTable;
9682 end;
9683
9684 procedure IWireCryptPluginImpl_addRefDispatcher(this: IWireCryptPlugin); cdecl;
9685 begin
9686 try
9687 IWireCryptPluginImpl(this).addRef();
9688 except
9689 on e: Exception do FbException.catchException(nil, e);
9690 end
9691 end;
9692
9693 function IWireCryptPluginImpl_releaseDispatcher(this: IWireCryptPlugin): Integer; cdecl;
9694 begin
9695 try
9696 Result := IWireCryptPluginImpl(this).release();
9697 except
9698 on e: Exception do FbException.catchException(nil, e);
9699 end
9700 end;
9701
9702 procedure IWireCryptPluginImpl_setOwnerDispatcher(this: IWireCryptPlugin; r: IReferenceCounted); cdecl;
9703 begin
9704 try
9705 IWireCryptPluginImpl(this).setOwner(r);
9706 except
9707 on e: Exception do FbException.catchException(nil, e);
9708 end
9709 end;
9710
9711 function IWireCryptPluginImpl_getOwnerDispatcher(this: IWireCryptPlugin): IReferenceCounted; cdecl;
9712 begin
9713 try
9714 Result := IWireCryptPluginImpl(this).getOwner();
9715 except
9716 on e: Exception do FbException.catchException(nil, e);
9717 end
9718 end;
9719
9720 function IWireCryptPluginImpl_getKnownTypesDispatcher(this: IWireCryptPlugin; status: IStatus): PAnsiChar; cdecl;
9721 begin
9722 try
9723 Result := IWireCryptPluginImpl(this).getKnownTypes(status);
9724 except
9725 on e: Exception do FbException.catchException(status, e);
9726 end
9727 end;
9728
9729 procedure IWireCryptPluginImpl_setKeyDispatcher(this: IWireCryptPlugin; status: IStatus; key: ICryptKey); cdecl;
9730 begin
9731 try
9732 IWireCryptPluginImpl(this).setKey(status, key);
9733 except
9734 on e: Exception do FbException.catchException(status, e);
9735 end
9736 end;
9737
9738 procedure IWireCryptPluginImpl_encryptDispatcher(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9739 begin
9740 try
9741 IWireCryptPluginImpl(this).encrypt(status, length, from, to_);
9742 except
9743 on e: Exception do FbException.catchException(status, e);
9744 end
9745 end;
9746
9747 procedure IWireCryptPluginImpl_decryptDispatcher(this: IWireCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9748 begin
9749 try
9750 IWireCryptPluginImpl(this).decrypt(status, length, from, to_);
9751 except
9752 on e: Exception do FbException.catchException(status, e);
9753 end
9754 end;
9755
9756 var
9757 IWireCryptPluginImpl_vTable: WireCryptPluginVTable;
9758
9759 constructor IWireCryptPluginImpl.create;
9760 begin
9761 vTable := IWireCryptPluginImpl_vTable;
9762 end;
9763
9764 function ICryptKeyCallbackImpl_callbackDispatcher(this: ICryptKeyCallback; dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; cdecl;
9765 begin
9766 try
9767 Result := ICryptKeyCallbackImpl(this).callback(dataLength, data, bufferLength, buffer);
9768 except
9769 on e: Exception do FbException.catchException(nil, e);
9770 end
9771 end;
9772
9773 var
9774 ICryptKeyCallbackImpl_vTable: CryptKeyCallbackVTable;
9775
9776 constructor ICryptKeyCallbackImpl.create;
9777 begin
9778 vTable := ICryptKeyCallbackImpl_vTable;
9779 end;
9780
9781 procedure IKeyHolderPluginImpl_addRefDispatcher(this: IKeyHolderPlugin); cdecl;
9782 begin
9783 try
9784 IKeyHolderPluginImpl(this).addRef();
9785 except
9786 on e: Exception do FbException.catchException(nil, e);
9787 end
9788 end;
9789
9790 function IKeyHolderPluginImpl_releaseDispatcher(this: IKeyHolderPlugin): Integer; cdecl;
9791 begin
9792 try
9793 Result := IKeyHolderPluginImpl(this).release();
9794 except
9795 on e: Exception do FbException.catchException(nil, e);
9796 end
9797 end;
9798
9799 procedure IKeyHolderPluginImpl_setOwnerDispatcher(this: IKeyHolderPlugin; r: IReferenceCounted); cdecl;
9800 begin
9801 try
9802 IKeyHolderPluginImpl(this).setOwner(r);
9803 except
9804 on e: Exception do FbException.catchException(nil, e);
9805 end
9806 end;
9807
9808 function IKeyHolderPluginImpl_getOwnerDispatcher(this: IKeyHolderPlugin): IReferenceCounted; cdecl;
9809 begin
9810 try
9811 Result := IKeyHolderPluginImpl(this).getOwner();
9812 except
9813 on e: Exception do FbException.catchException(nil, e);
9814 end
9815 end;
9816
9817 function IKeyHolderPluginImpl_keyCallbackDispatcher(this: IKeyHolderPlugin; status: IStatus; callback: ICryptKeyCallback): Integer; cdecl;
9818 begin
9819 try
9820 Result := IKeyHolderPluginImpl(this).keyCallback(status, callback);
9821 except
9822 on e: Exception do FbException.catchException(status, e);
9823 end
9824 end;
9825
9826 function IKeyHolderPluginImpl_keyHandleDispatcher(this: IKeyHolderPlugin; status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; cdecl;
9827 begin
9828 try
9829 Result := IKeyHolderPluginImpl(this).keyHandle(status, keyName);
9830 except
9831 on e: Exception do FbException.catchException(status, e);
9832 end
9833 end;
9834
9835 var
9836 IKeyHolderPluginImpl_vTable: KeyHolderPluginVTable;
9837
9838 constructor IKeyHolderPluginImpl.create;
9839 begin
9840 vTable := IKeyHolderPluginImpl_vTable;
9841 end;
9842
9843 procedure IDbCryptPluginImpl_addRefDispatcher(this: IDbCryptPlugin); cdecl;
9844 begin
9845 try
9846 IDbCryptPluginImpl(this).addRef();
9847 except
9848 on e: Exception do FbException.catchException(nil, e);
9849 end
9850 end;
9851
9852 function IDbCryptPluginImpl_releaseDispatcher(this: IDbCryptPlugin): Integer; cdecl;
9853 begin
9854 try
9855 Result := IDbCryptPluginImpl(this).release();
9856 except
9857 on e: Exception do FbException.catchException(nil, e);
9858 end
9859 end;
9860
9861 procedure IDbCryptPluginImpl_setOwnerDispatcher(this: IDbCryptPlugin; r: IReferenceCounted); cdecl;
9862 begin
9863 try
9864 IDbCryptPluginImpl(this).setOwner(r);
9865 except
9866 on e: Exception do FbException.catchException(nil, e);
9867 end
9868 end;
9869
9870 function IDbCryptPluginImpl_getOwnerDispatcher(this: IDbCryptPlugin): IReferenceCounted; cdecl;
9871 begin
9872 try
9873 Result := IDbCryptPluginImpl(this).getOwner();
9874 except
9875 on e: Exception do FbException.catchException(nil, e);
9876 end
9877 end;
9878
9879 procedure IDbCryptPluginImpl_setKeyDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; sources: IKeyHolderPluginPtr; keyName: PAnsiChar); cdecl;
9880 begin
9881 try
9882 IDbCryptPluginImpl(this).setKey(status, length, sources, keyName);
9883 except
9884 on e: Exception do FbException.catchException(status, e);
9885 end
9886 end;
9887
9888 procedure IDbCryptPluginImpl_encryptDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9889 begin
9890 try
9891 IDbCryptPluginImpl(this).encrypt(status, length, from, to_);
9892 except
9893 on e: Exception do FbException.catchException(status, e);
9894 end
9895 end;
9896
9897 procedure IDbCryptPluginImpl_decryptDispatcher(this: IDbCryptPlugin; status: IStatus; length: Cardinal; from: Pointer; to_: Pointer); cdecl;
9898 begin
9899 try
9900 IDbCryptPluginImpl(this).decrypt(status, length, from, to_);
9901 except
9902 on e: Exception do FbException.catchException(status, e);
9903 end
9904 end;
9905
9906 var
9907 IDbCryptPluginImpl_vTable: DbCryptPluginVTable;
9908
9909 constructor IDbCryptPluginImpl.create;
9910 begin
9911 vTable := IDbCryptPluginImpl_vTable;
9912 end;
9913
9914 function IExternalContextImpl_getMasterDispatcher(this: IExternalContext): IMaster; cdecl;
9915 begin
9916 try
9917 Result := IExternalContextImpl(this).getMaster();
9918 except
9919 on e: Exception do FbException.catchException(nil, e);
9920 end
9921 end;
9922
9923 function IExternalContextImpl_getEngineDispatcher(this: IExternalContext; status: IStatus): IExternalEngine; cdecl;
9924 begin
9925 try
9926 Result := IExternalContextImpl(this).getEngine(status);
9927 except
9928 on e: Exception do FbException.catchException(status, e);
9929 end
9930 end;
9931
9932 function IExternalContextImpl_getAttachmentDispatcher(this: IExternalContext; status: IStatus): IAttachment; cdecl;
9933 begin
9934 try
9935 Result := IExternalContextImpl(this).getAttachment(status);
9936 except
9937 on e: Exception do FbException.catchException(status, e);
9938 end
9939 end;
9940
9941 function IExternalContextImpl_getTransactionDispatcher(this: IExternalContext; status: IStatus): ITransaction; cdecl;
9942 begin
9943 try
9944 Result := IExternalContextImpl(this).getTransaction(status);
9945 except
9946 on e: Exception do FbException.catchException(status, e);
9947 end
9948 end;
9949
9950 function IExternalContextImpl_getUserNameDispatcher(this: IExternalContext): PAnsiChar; cdecl;
9951 begin
9952 try
9953 Result := IExternalContextImpl(this).getUserName();
9954 except
9955 on e: Exception do FbException.catchException(nil, e);
9956 end
9957 end;
9958
9959 function IExternalContextImpl_getDatabaseNameDispatcher(this: IExternalContext): PAnsiChar; cdecl;
9960 begin
9961 try
9962 Result := IExternalContextImpl(this).getDatabaseName();
9963 except
9964 on e: Exception do FbException.catchException(nil, e);
9965 end
9966 end;
9967
9968 function IExternalContextImpl_getClientCharSetDispatcher(this: IExternalContext): PAnsiChar; cdecl;
9969 begin
9970 try
9971 Result := IExternalContextImpl(this).getClientCharSet();
9972 except
9973 on e: Exception do FbException.catchException(nil, e);
9974 end
9975 end;
9976
9977 function IExternalContextImpl_obtainInfoCodeDispatcher(this: IExternalContext): Integer; cdecl;
9978 begin
9979 try
9980 Result := IExternalContextImpl(this).obtainInfoCode();
9981 except
9982 on e: Exception do FbException.catchException(nil, e);
9983 end
9984 end;
9985
9986 function IExternalContextImpl_getInfoDispatcher(this: IExternalContext; code: Integer): Pointer; cdecl;
9987 begin
9988 try
9989 Result := IExternalContextImpl(this).getInfo(code);
9990 except
9991 on e: Exception do FbException.catchException(nil, e);
9992 end
9993 end;
9994
9995 function IExternalContextImpl_setInfoDispatcher(this: IExternalContext; code: Integer; value: Pointer): Pointer; cdecl;
9996 begin
9997 try
9998 Result := IExternalContextImpl(this).setInfo(code, value);
9999 except
10000 on e: Exception do FbException.catchException(nil, e);
10001 end
10002 end;
10003
10004 var
10005 IExternalContextImpl_vTable: ExternalContextVTable;
10006
10007 constructor IExternalContextImpl.create;
10008 begin
10009 vTable := IExternalContextImpl_vTable;
10010 end;
10011
10012 procedure IExternalResultSetImpl_disposeDispatcher(this: IExternalResultSet); cdecl;
10013 begin
10014 try
10015 IExternalResultSetImpl(this).dispose();
10016 except
10017 on e: Exception do FbException.catchException(nil, e);
10018 end
10019 end;
10020
10021 function IExternalResultSetImpl_fetchDispatcher(this: IExternalResultSet; status: IStatus): Boolean; cdecl;
10022 begin
10023 try
10024 Result := IExternalResultSetImpl(this).fetch(status);
10025 except
10026 on e: Exception do FbException.catchException(status, e);
10027 end
10028 end;
10029
10030 var
10031 IExternalResultSetImpl_vTable: ExternalResultSetVTable;
10032
10033 constructor IExternalResultSetImpl.create;
10034 begin
10035 vTable := IExternalResultSetImpl_vTable;
10036 end;
10037
10038 procedure IExternalFunctionImpl_disposeDispatcher(this: IExternalFunction); cdecl;
10039 begin
10040 try
10041 IExternalFunctionImpl(this).dispose();
10042 except
10043 on e: Exception do FbException.catchException(nil, e);
10044 end
10045 end;
10046
10047 procedure IExternalFunctionImpl_getCharSetDispatcher(this: IExternalFunction; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10048 begin
10049 try
10050 IExternalFunctionImpl(this).getCharSet(status, context, name, nameSize);
10051 except
10052 on e: Exception do FbException.catchException(status, e);
10053 end
10054 end;
10055
10056 procedure IExternalFunctionImpl_executeDispatcher(this: IExternalFunction; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer); cdecl;
10057 begin
10058 try
10059 IExternalFunctionImpl(this).execute(status, context, inMsg, outMsg);
10060 except
10061 on e: Exception do FbException.catchException(status, e);
10062 end
10063 end;
10064
10065 var
10066 IExternalFunctionImpl_vTable: ExternalFunctionVTable;
10067
10068 constructor IExternalFunctionImpl.create;
10069 begin
10070 vTable := IExternalFunctionImpl_vTable;
10071 end;
10072
10073 procedure IExternalProcedureImpl_disposeDispatcher(this: IExternalProcedure); cdecl;
10074 begin
10075 try
10076 IExternalProcedureImpl(this).dispose();
10077 except
10078 on e: Exception do FbException.catchException(nil, e);
10079 end
10080 end;
10081
10082 procedure IExternalProcedureImpl_getCharSetDispatcher(this: IExternalProcedure; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10083 begin
10084 try
10085 IExternalProcedureImpl(this).getCharSet(status, context, name, nameSize);
10086 except
10087 on e: Exception do FbException.catchException(status, e);
10088 end
10089 end;
10090
10091 function IExternalProcedureImpl_openDispatcher(this: IExternalProcedure; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; cdecl;
10092 begin
10093 try
10094 Result := IExternalProcedureImpl(this).open(status, context, inMsg, outMsg);
10095 except
10096 on e: Exception do FbException.catchException(status, e);
10097 end
10098 end;
10099
10100 var
10101 IExternalProcedureImpl_vTable: ExternalProcedureVTable;
10102
10103 constructor IExternalProcedureImpl.create;
10104 begin
10105 vTable := IExternalProcedureImpl_vTable;
10106 end;
10107
10108 procedure IExternalTriggerImpl_disposeDispatcher(this: IExternalTrigger); cdecl;
10109 begin
10110 try
10111 IExternalTriggerImpl(this).dispose();
10112 except
10113 on e: Exception do FbException.catchException(nil, e);
10114 end
10115 end;
10116
10117 procedure IExternalTriggerImpl_getCharSetDispatcher(this: IExternalTrigger; status: IStatus; context: IExternalContext; name: PAnsiChar; nameSize: Cardinal); cdecl;
10118 begin
10119 try
10120 IExternalTriggerImpl(this).getCharSet(status, context, name, nameSize);
10121 except
10122 on e: Exception do FbException.catchException(status, e);
10123 end
10124 end;
10125
10126 procedure IExternalTriggerImpl_executeDispatcher(this: IExternalTrigger; status: IStatus; context: IExternalContext; action: Cardinal; oldMsg: Pointer; newMsg: Pointer); cdecl;
10127 begin
10128 try
10129 IExternalTriggerImpl(this).execute(status, context, action, oldMsg, newMsg);
10130 except
10131 on e: Exception do FbException.catchException(status, e);
10132 end
10133 end;
10134
10135 var
10136 IExternalTriggerImpl_vTable: ExternalTriggerVTable;
10137
10138 constructor IExternalTriggerImpl.create;
10139 begin
10140 vTable := IExternalTriggerImpl_vTable;
10141 end;
10142
10143 function IRoutineMetadataImpl_getPackageDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10144 begin
10145 try
10146 Result := IRoutineMetadataImpl(this).getPackage(status);
10147 except
10148 on e: Exception do FbException.catchException(status, e);
10149 end
10150 end;
10151
10152 function IRoutineMetadataImpl_getNameDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10153 begin
10154 try
10155 Result := IRoutineMetadataImpl(this).getName(status);
10156 except
10157 on e: Exception do FbException.catchException(status, e);
10158 end
10159 end;
10160
10161 function IRoutineMetadataImpl_getEntryPointDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10162 begin
10163 try
10164 Result := IRoutineMetadataImpl(this).getEntryPoint(status);
10165 except
10166 on e: Exception do FbException.catchException(status, e);
10167 end
10168 end;
10169
10170 function IRoutineMetadataImpl_getBodyDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10171 begin
10172 try
10173 Result := IRoutineMetadataImpl(this).getBody(status);
10174 except
10175 on e: Exception do FbException.catchException(status, e);
10176 end
10177 end;
10178
10179 function IRoutineMetadataImpl_getInputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10180 begin
10181 try
10182 Result := IRoutineMetadataImpl(this).getInputMetadata(status);
10183 except
10184 on e: Exception do FbException.catchException(status, e);
10185 end
10186 end;
10187
10188 function IRoutineMetadataImpl_getOutputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10189 begin
10190 try
10191 Result := IRoutineMetadataImpl(this).getOutputMetadata(status);
10192 except
10193 on e: Exception do FbException.catchException(status, e);
10194 end
10195 end;
10196
10197 function IRoutineMetadataImpl_getTriggerMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl;
10198 begin
10199 try
10200 Result := IRoutineMetadataImpl(this).getTriggerMetadata(status);
10201 except
10202 on e: Exception do FbException.catchException(status, e);
10203 end
10204 end;
10205
10206 function IRoutineMetadataImpl_getTriggerTableDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl;
10207 begin
10208 try
10209 Result := IRoutineMetadataImpl(this).getTriggerTable(status);
10210 except
10211 on e: Exception do FbException.catchException(status, e);
10212 end
10213 end;
10214
10215 function IRoutineMetadataImpl_getTriggerTypeDispatcher(this: IRoutineMetadata; status: IStatus): Cardinal; cdecl;
10216 begin
10217 try
10218 Result := IRoutineMetadataImpl(this).getTriggerType(status);
10219 except
10220 on e: Exception do FbException.catchException(status, e);
10221 end
10222 end;
10223
10224 var
10225 IRoutineMetadataImpl_vTable: RoutineMetadataVTable;
10226
10227 constructor IRoutineMetadataImpl.create;
10228 begin
10229 vTable := IRoutineMetadataImpl_vTable;
10230 end;
10231
10232 procedure IExternalEngineImpl_addRefDispatcher(this: IExternalEngine); cdecl;
10233 begin
10234 try
10235 IExternalEngineImpl(this).addRef();
10236 except
10237 on e: Exception do FbException.catchException(nil, e);
10238 end
10239 end;
10240
10241 function IExternalEngineImpl_releaseDispatcher(this: IExternalEngine): Integer; cdecl;
10242 begin
10243 try
10244 Result := IExternalEngineImpl(this).release();
10245 except
10246 on e: Exception do FbException.catchException(nil, e);
10247 end
10248 end;
10249
10250 procedure IExternalEngineImpl_setOwnerDispatcher(this: IExternalEngine; r: IReferenceCounted); cdecl;
10251 begin
10252 try
10253 IExternalEngineImpl(this).setOwner(r);
10254 except
10255 on e: Exception do FbException.catchException(nil, e);
10256 end
10257 end;
10258
10259 function IExternalEngineImpl_getOwnerDispatcher(this: IExternalEngine): IReferenceCounted; cdecl;
10260 begin
10261 try
10262 Result := IExternalEngineImpl(this).getOwner();
10263 except
10264 on e: Exception do FbException.catchException(nil, e);
10265 end
10266 end;
10267
10268 procedure IExternalEngineImpl_openDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; charSet: PAnsiChar; charSetSize: Cardinal); cdecl;
10269 begin
10270 try
10271 IExternalEngineImpl(this).open(status, context, charSet, charSetSize);
10272 except
10273 on e: Exception do FbException.catchException(status, e);
10274 end
10275 end;
10276
10277 procedure IExternalEngineImpl_openAttachmentDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
10278 begin
10279 try
10280 IExternalEngineImpl(this).openAttachment(status, context);
10281 except
10282 on e: Exception do FbException.catchException(status, e);
10283 end
10284 end;
10285
10286 procedure IExternalEngineImpl_closeAttachmentDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext); cdecl;
10287 begin
10288 try
10289 IExternalEngineImpl(this).closeAttachment(status, context);
10290 except
10291 on e: Exception do FbException.catchException(status, e);
10292 end
10293 end;
10294
10295 function IExternalEngineImpl_makeFunctionDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; cdecl;
10296 begin
10297 try
10298 Result := IExternalEngineImpl(this).makeFunction(status, context, metadata, inBuilder, outBuilder);
10299 except
10300 on e: Exception do FbException.catchException(status, e);
10301 end
10302 end;
10303
10304 function IExternalEngineImpl_makeProcedureDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; cdecl;
10305 begin
10306 try
10307 Result := IExternalEngineImpl(this).makeProcedure(status, context, metadata, inBuilder, outBuilder);
10308 except
10309 on e: Exception do FbException.catchException(status, e);
10310 end
10311 end;
10312
10313 function IExternalEngineImpl_makeTriggerDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; cdecl;
10314 begin
10315 try
10316 Result := IExternalEngineImpl(this).makeTrigger(status, context, metadata, fieldsBuilder);
10317 except
10318 on e: Exception do FbException.catchException(status, e);
10319 end
10320 end;
10321
10322 var
10323 IExternalEngineImpl_vTable: ExternalEngineVTable;
10324
10325 constructor IExternalEngineImpl.create;
10326 begin
10327 vTable := IExternalEngineImpl_vTable;
10328 end;
10329
10330 procedure ITimerImpl_addRefDispatcher(this: ITimer); cdecl;
10331 begin
10332 try
10333 ITimerImpl(this).addRef();
10334 except
10335 on e: Exception do FbException.catchException(nil, e);
10336 end
10337 end;
10338
10339 function ITimerImpl_releaseDispatcher(this: ITimer): Integer; cdecl;
10340 begin
10341 try
10342 Result := ITimerImpl(this).release();
10343 except
10344 on e: Exception do FbException.catchException(nil, e);
10345 end
10346 end;
10347
10348 procedure ITimerImpl_handlerDispatcher(this: ITimer); cdecl;
10349 begin
10350 try
10351 ITimerImpl(this).handler();
10352 except
10353 on e: Exception do FbException.catchException(nil, e);
10354 end
10355 end;
10356
10357 var
10358 ITimerImpl_vTable: TimerVTable;
10359
10360 constructor ITimerImpl.create;
10361 begin
10362 vTable := ITimerImpl_vTable;
10363 end;
10364
10365 procedure ITimerControlImpl_startDispatcher(this: ITimerControl; status: IStatus; timer: ITimer; microSeconds: QWord); cdecl;
10366 begin
10367 try
10368 ITimerControlImpl(this).start(status, timer, microSeconds);
10369 except
10370 on e: Exception do FbException.catchException(status, e);
10371 end
10372 end;
10373
10374 procedure ITimerControlImpl_stopDispatcher(this: ITimerControl; status: IStatus; timer: ITimer); cdecl;
10375 begin
10376 try
10377 ITimerControlImpl(this).stop(status, timer);
10378 except
10379 on e: Exception do FbException.catchException(status, e);
10380 end
10381 end;
10382
10383 var
10384 ITimerControlImpl_vTable: TimerControlVTable;
10385
10386 constructor ITimerControlImpl.create;
10387 begin
10388 vTable := ITimerControlImpl_vTable;
10389 end;
10390
10391 procedure IVersionCallbackImpl_callbackDispatcher(this: IVersionCallback; status: IStatus; text: PAnsiChar); cdecl;
10392 begin
10393 try
10394 IVersionCallbackImpl(this).callback(status, text);
10395 except
10396 on e: Exception do FbException.catchException(status, e);
10397 end
10398 end;
10399
10400 var
10401 IVersionCallbackImpl_vTable: VersionCallbackVTable;
10402
10403 constructor IVersionCallbackImpl.create;
10404 begin
10405 vTable := IVersionCallbackImpl_vTable;
10406 end;
10407
10408 procedure IUtilImpl_getFbVersionDispatcher(this: IUtil; status: IStatus; att: IAttachment; callback: IVersionCallback); cdecl;
10409 begin
10410 try
10411 IUtilImpl(this).getFbVersion(status, att, callback);
10412 except
10413 on e: Exception do FbException.catchException(status, e);
10414 end
10415 end;
10416
10417 procedure IUtilImpl_loadBlobDispatcher(this: IUtil; status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
10418 begin
10419 try
10420 IUtilImpl(this).loadBlob(status, blobId, att, tra, file_, txt);
10421 except
10422 on e: Exception do FbException.catchException(status, e);
10423 end
10424 end;
10425
10426 procedure IUtilImpl_dumpBlobDispatcher(this: IUtil; status: IStatus; blobId: PISC_QUAD; att: IAttachment; tra: ITransaction; file_: PAnsiChar; txt: Boolean); cdecl;
10427 begin
10428 try
10429 IUtilImpl(this).dumpBlob(status, blobId, att, tra, file_, txt);
10430 except
10431 on e: Exception do FbException.catchException(status, e);
10432 end
10433 end;
10434
10435 procedure IUtilImpl_getPerfCountersDispatcher(this: IUtil; status: IStatus; att: IAttachment; countersSet: PAnsiChar; counters: Int64Ptr); cdecl;
10436 begin
10437 try
10438 IUtilImpl(this).getPerfCounters(status, att, countersSet, counters);
10439 except
10440 on e: Exception do FbException.catchException(status, e);
10441 end
10442 end;
10443
10444 function IUtilImpl_executeCreateDatabaseDispatcher(this: IUtil; status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; cdecl;
10445 begin
10446 try
10447 Result := IUtilImpl(this).executeCreateDatabase(status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb);
10448 except
10449 on e: Exception do FbException.catchException(status, e);
10450 end
10451 end;
10452
10453 procedure IUtilImpl_decodeDateDispatcher(this: IUtil; date: ISC_DATE; year: CardinalPtr; month: CardinalPtr; day: CardinalPtr); cdecl;
10454 begin
10455 try
10456 IUtilImpl(this).decodeDate(date, year, month, day);
10457 except
10458 on e: Exception do FbException.catchException(nil, e);
10459 end
10460 end;
10461
10462 procedure IUtilImpl_decodeTimeDispatcher(this: IUtil; time: ISC_TIME; hours: CardinalPtr; minutes: CardinalPtr; seconds: CardinalPtr; fractions: CardinalPtr); cdecl;
10463 begin
10464 try
10465 IUtilImpl(this).decodeTime(time, hours, minutes, seconds, fractions);
10466 except
10467 on e: Exception do FbException.catchException(nil, e);
10468 end
10469 end;
10470
10471 function IUtilImpl_encodeDateDispatcher(this: IUtil; year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; cdecl;
10472 begin
10473 try
10474 Result := IUtilImpl(this).encodeDate(year, month, day);
10475 except
10476 on e: Exception do FbException.catchException(nil, e);
10477 end
10478 end;
10479
10480 function IUtilImpl_encodeTimeDispatcher(this: IUtil; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; cdecl;
10481 begin
10482 try
10483 Result := IUtilImpl(this).encodeTime(hours, minutes, seconds, fractions);
10484 except
10485 on e: Exception do FbException.catchException(nil, e);
10486 end
10487 end;
10488
10489 function IUtilImpl_formatStatusDispatcher(this: IUtil; buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; cdecl;
10490 begin
10491 try
10492 Result := IUtilImpl(this).formatStatus(buffer, bufferSize, status);
10493 except
10494 on e: Exception do FbException.catchException(nil, e);
10495 end
10496 end;
10497
10498 function IUtilImpl_getClientVersionDispatcher(this: IUtil): Cardinal; cdecl;
10499 begin
10500 try
10501 Result := IUtilImpl(this).getClientVersion();
10502 except
10503 on e: Exception do FbException.catchException(nil, e);
10504 end
10505 end;
10506
10507 function IUtilImpl_getXpbBuilderDispatcher(this: IUtil; status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; cdecl;
10508 begin
10509 try
10510 Result := IUtilImpl(this).getXpbBuilder(status, kind, buf, len);
10511 except
10512 on e: Exception do FbException.catchException(status, e);
10513 end
10514 end;
10515
10516 function IUtilImpl_setOffsetsDispatcher(this: IUtil; status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; cdecl;
10517 begin
10518 try
10519 Result := IUtilImpl(this).setOffsets(status, metadata, callback);
10520 except
10521 on e: Exception do FbException.catchException(status, e);
10522 end
10523 end;
10524
10525 var
10526 IUtilImpl_vTable: UtilVTable;
10527
10528 constructor IUtilImpl.create;
10529 begin
10530 vTable := IUtilImpl_vTable;
10531 end;
10532
10533 procedure IOffsetsCallbackImpl_setOffsetDispatcher(this: IOffsetsCallback; status: IStatus; index: Cardinal; offset: Cardinal; nullOffset: Cardinal); cdecl;
10534 begin
10535 try
10536 IOffsetsCallbackImpl(this).setOffset(status, index, offset, nullOffset);
10537 except
10538 on e: Exception do FbException.catchException(status, e);
10539 end
10540 end;
10541
10542 var
10543 IOffsetsCallbackImpl_vTable: OffsetsCallbackVTable;
10544
10545 constructor IOffsetsCallbackImpl.create;
10546 begin
10547 vTable := IOffsetsCallbackImpl_vTable;
10548 end;
10549
10550 procedure IXpbBuilderImpl_disposeDispatcher(this: IXpbBuilder); cdecl;
10551 begin
10552 try
10553 IXpbBuilderImpl(this).dispose();
10554 except
10555 on e: Exception do FbException.catchException(nil, e);
10556 end
10557 end;
10558
10559 procedure IXpbBuilderImpl_clearDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10560 begin
10561 try
10562 IXpbBuilderImpl(this).clear(status);
10563 except
10564 on e: Exception do FbException.catchException(status, e);
10565 end
10566 end;
10567
10568 procedure IXpbBuilderImpl_removeCurrentDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10569 begin
10570 try
10571 IXpbBuilderImpl(this).removeCurrent(status);
10572 except
10573 on e: Exception do FbException.catchException(status, e);
10574 end
10575 end;
10576
10577 procedure IXpbBuilderImpl_insertIntDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; value: Integer); cdecl;
10578 begin
10579 try
10580 IXpbBuilderImpl(this).insertInt(status, tag, value);
10581 except
10582 on e: Exception do FbException.catchException(status, e);
10583 end
10584 end;
10585
10586 procedure IXpbBuilderImpl_insertBigIntDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; value: Int64); cdecl;
10587 begin
10588 try
10589 IXpbBuilderImpl(this).insertBigInt(status, tag, value);
10590 except
10591 on e: Exception do FbException.catchException(status, e);
10592 end
10593 end;
10594
10595 procedure IXpbBuilderImpl_insertBytesDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; bytes: Pointer; length: Cardinal); cdecl;
10596 begin
10597 try
10598 IXpbBuilderImpl(this).insertBytes(status, tag, bytes, length);
10599 except
10600 on e: Exception do FbException.catchException(status, e);
10601 end
10602 end;
10603
10604 procedure IXpbBuilderImpl_insertStringDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte; str: PAnsiChar); cdecl;
10605 begin
10606 try
10607 IXpbBuilderImpl(this).insertString(status, tag, str);
10608 except
10609 on e: Exception do FbException.catchException(status, e);
10610 end
10611 end;
10612
10613 procedure IXpbBuilderImpl_insertTagDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte); cdecl;
10614 begin
10615 try
10616 IXpbBuilderImpl(this).insertTag(status, tag);
10617 except
10618 on e: Exception do FbException.catchException(status, e);
10619 end
10620 end;
10621
10622 function IXpbBuilderImpl_isEofDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
10623 begin
10624 try
10625 Result := IXpbBuilderImpl(this).isEof(status);
10626 except
10627 on e: Exception do FbException.catchException(status, e);
10628 end
10629 end;
10630
10631 procedure IXpbBuilderImpl_moveNextDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10632 begin
10633 try
10634 IXpbBuilderImpl(this).moveNext(status);
10635 except
10636 on e: Exception do FbException.catchException(status, e);
10637 end
10638 end;
10639
10640 procedure IXpbBuilderImpl_rewindDispatcher(this: IXpbBuilder; status: IStatus); cdecl;
10641 begin
10642 try
10643 IXpbBuilderImpl(this).rewind(status);
10644 except
10645 on e: Exception do FbException.catchException(status, e);
10646 end
10647 end;
10648
10649 function IXpbBuilderImpl_findFirstDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte): Boolean; cdecl;
10650 begin
10651 try
10652 Result := IXpbBuilderImpl(this).findFirst(status, tag);
10653 except
10654 on e: Exception do FbException.catchException(status, e);
10655 end
10656 end;
10657
10658 function IXpbBuilderImpl_findNextDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl;
10659 begin
10660 try
10661 Result := IXpbBuilderImpl(this).findNext(status);
10662 except
10663 on e: Exception do FbException.catchException(status, e);
10664 end
10665 end;
10666
10667 function IXpbBuilderImpl_getTagDispatcher(this: IXpbBuilder; status: IStatus): Byte; cdecl;
10668 begin
10669 try
10670 Result := IXpbBuilderImpl(this).getTag(status);
10671 except
10672 on e: Exception do FbException.catchException(status, e);
10673 end
10674 end;
10675
10676 function IXpbBuilderImpl_getLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
10677 begin
10678 try
10679 Result := IXpbBuilderImpl(this).getLength(status);
10680 except
10681 on e: Exception do FbException.catchException(status, e);
10682 end
10683 end;
10684
10685 function IXpbBuilderImpl_getIntDispatcher(this: IXpbBuilder; status: IStatus): Integer; cdecl;
10686 begin
10687 try
10688 Result := IXpbBuilderImpl(this).getInt(status);
10689 except
10690 on e: Exception do FbException.catchException(status, e);
10691 end
10692 end;
10693
10694 function IXpbBuilderImpl_getBigIntDispatcher(this: IXpbBuilder; status: IStatus): Int64; cdecl;
10695 begin
10696 try
10697 Result := IXpbBuilderImpl(this).getBigInt(status);
10698 except
10699 on e: Exception do FbException.catchException(status, e);
10700 end
10701 end;
10702
10703 function IXpbBuilderImpl_getStringDispatcher(this: IXpbBuilder; status: IStatus): PAnsiChar; cdecl;
10704 begin
10705 try
10706 Result := IXpbBuilderImpl(this).getString(status);
10707 except
10708 on e: Exception do FbException.catchException(status, e);
10709 end
10710 end;
10711
10712 function IXpbBuilderImpl_getBytesDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
10713 begin
10714 try
10715 Result := IXpbBuilderImpl(this).getBytes(status);
10716 except
10717 on e: Exception do FbException.catchException(status, e);
10718 end
10719 end;
10720
10721 function IXpbBuilderImpl_getBufferLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl;
10722 begin
10723 try
10724 Result := IXpbBuilderImpl(this).getBufferLength(status);
10725 except
10726 on e: Exception do FbException.catchException(status, e);
10727 end
10728 end;
10729
10730 function IXpbBuilderImpl_getBufferDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl;
10731 begin
10732 try
10733 Result := IXpbBuilderImpl(this).getBuffer(status);
10734 except
10735 on e: Exception do FbException.catchException(status, e);
10736 end
10737 end;
10738
10739 var
10740 IXpbBuilderImpl_vTable: XpbBuilderVTable;
10741
10742 constructor IXpbBuilderImpl.create;
10743 begin
10744 vTable := IXpbBuilderImpl_vTable;
10745 end;
10746
10747 function ITraceConnectionImpl_getKindDispatcher(this: ITraceConnection): Cardinal; cdecl;
10748 begin
10749 try
10750 Result := ITraceConnectionImpl(this).getKind();
10751 except
10752 on e: Exception do FbException.catchException(nil, e);
10753 end
10754 end;
10755
10756 function ITraceConnectionImpl_getProcessIDDispatcher(this: ITraceConnection): Integer; cdecl;
10757 begin
10758 try
10759 Result := ITraceConnectionImpl(this).getProcessID();
10760 except
10761 on e: Exception do FbException.catchException(nil, e);
10762 end
10763 end;
10764
10765 function ITraceConnectionImpl_getUserNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10766 begin
10767 try
10768 Result := ITraceConnectionImpl(this).getUserName();
10769 except
10770 on e: Exception do FbException.catchException(nil, e);
10771 end
10772 end;
10773
10774 function ITraceConnectionImpl_getRoleNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10775 begin
10776 try
10777 Result := ITraceConnectionImpl(this).getRoleName();
10778 except
10779 on e: Exception do FbException.catchException(nil, e);
10780 end
10781 end;
10782
10783 function ITraceConnectionImpl_getCharSetDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10784 begin
10785 try
10786 Result := ITraceConnectionImpl(this).getCharSet();
10787 except
10788 on e: Exception do FbException.catchException(nil, e);
10789 end
10790 end;
10791
10792 function ITraceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10793 begin
10794 try
10795 Result := ITraceConnectionImpl(this).getRemoteProtocol();
10796 except
10797 on e: Exception do FbException.catchException(nil, e);
10798 end
10799 end;
10800
10801 function ITraceConnectionImpl_getRemoteAddressDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10802 begin
10803 try
10804 Result := ITraceConnectionImpl(this).getRemoteAddress();
10805 except
10806 on e: Exception do FbException.catchException(nil, e);
10807 end
10808 end;
10809
10810 function ITraceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceConnection): Integer; cdecl;
10811 begin
10812 try
10813 Result := ITraceConnectionImpl(this).getRemoteProcessID();
10814 except
10815 on e: Exception do FbException.catchException(nil, e);
10816 end
10817 end;
10818
10819 function ITraceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl;
10820 begin
10821 try
10822 Result := ITraceConnectionImpl(this).getRemoteProcessName();
10823 except
10824 on e: Exception do FbException.catchException(nil, e);
10825 end
10826 end;
10827
10828 var
10829 ITraceConnectionImpl_vTable: TraceConnectionVTable;
10830
10831 constructor ITraceConnectionImpl.create;
10832 begin
10833 vTable := ITraceConnectionImpl_vTable;
10834 end;
10835
10836 function ITraceDatabaseConnectionImpl_getKindDispatcher(this: ITraceDatabaseConnection): Cardinal; cdecl;
10837 begin
10838 try
10839 Result := ITraceDatabaseConnectionImpl(this).getKind();
10840 except
10841 on e: Exception do FbException.catchException(nil, e);
10842 end
10843 end;
10844
10845 function ITraceDatabaseConnectionImpl_getProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl;
10846 begin
10847 try
10848 Result := ITraceDatabaseConnectionImpl(this).getProcessID();
10849 except
10850 on e: Exception do FbException.catchException(nil, e);
10851 end
10852 end;
10853
10854 function ITraceDatabaseConnectionImpl_getUserNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
10855 begin
10856 try
10857 Result := ITraceDatabaseConnectionImpl(this).getUserName();
10858 except
10859 on e: Exception do FbException.catchException(nil, e);
10860 end
10861 end;
10862
10863 function ITraceDatabaseConnectionImpl_getRoleNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
10864 begin
10865 try
10866 Result := ITraceDatabaseConnectionImpl(this).getRoleName();
10867 except
10868 on e: Exception do FbException.catchException(nil, e);
10869 end
10870 end;
10871
10872 function ITraceDatabaseConnectionImpl_getCharSetDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
10873 begin
10874 try
10875 Result := ITraceDatabaseConnectionImpl(this).getCharSet();
10876 except
10877 on e: Exception do FbException.catchException(nil, e);
10878 end
10879 end;
10880
10881 function ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
10882 begin
10883 try
10884 Result := ITraceDatabaseConnectionImpl(this).getRemoteProtocol();
10885 except
10886 on e: Exception do FbException.catchException(nil, e);
10887 end
10888 end;
10889
10890 function ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
10891 begin
10892 try
10893 Result := ITraceDatabaseConnectionImpl(this).getRemoteAddress();
10894 except
10895 on e: Exception do FbException.catchException(nil, e);
10896 end
10897 end;
10898
10899 function ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl;
10900 begin
10901 try
10902 Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessID();
10903 except
10904 on e: Exception do FbException.catchException(nil, e);
10905 end
10906 end;
10907
10908 function ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
10909 begin
10910 try
10911 Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessName();
10912 except
10913 on e: Exception do FbException.catchException(nil, e);
10914 end
10915 end;
10916
10917 function ITraceDatabaseConnectionImpl_getConnectionIDDispatcher(this: ITraceDatabaseConnection): Int64; cdecl;
10918 begin
10919 try
10920 Result := ITraceDatabaseConnectionImpl(this).getConnectionID();
10921 except
10922 on e: Exception do FbException.catchException(nil, e);
10923 end
10924 end;
10925
10926 function ITraceDatabaseConnectionImpl_getDatabaseNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl;
10927 begin
10928 try
10929 Result := ITraceDatabaseConnectionImpl(this).getDatabaseName();
10930 except
10931 on e: Exception do FbException.catchException(nil, e);
10932 end
10933 end;
10934
10935 var
10936 ITraceDatabaseConnectionImpl_vTable: TraceDatabaseConnectionVTable;
10937
10938 constructor ITraceDatabaseConnectionImpl.create;
10939 begin
10940 vTable := ITraceDatabaseConnectionImpl_vTable;
10941 end;
10942
10943 function ITraceTransactionImpl_getTransactionIDDispatcher(this: ITraceTransaction): Int64; cdecl;
10944 begin
10945 try
10946 Result := ITraceTransactionImpl(this).getTransactionID();
10947 except
10948 on e: Exception do FbException.catchException(nil, e);
10949 end
10950 end;
10951
10952 function ITraceTransactionImpl_getReadOnlyDispatcher(this: ITraceTransaction): Boolean; cdecl;
10953 begin
10954 try
10955 Result := ITraceTransactionImpl(this).getReadOnly();
10956 except
10957 on e: Exception do FbException.catchException(nil, e);
10958 end
10959 end;
10960
10961 function ITraceTransactionImpl_getWaitDispatcher(this: ITraceTransaction): Integer; cdecl;
10962 begin
10963 try
10964 Result := ITraceTransactionImpl(this).getWait();
10965 except
10966 on e: Exception do FbException.catchException(nil, e);
10967 end
10968 end;
10969
10970 function ITraceTransactionImpl_getIsolationDispatcher(this: ITraceTransaction): Cardinal; cdecl;
10971 begin
10972 try
10973 Result := ITraceTransactionImpl(this).getIsolation();
10974 except
10975 on e: Exception do FbException.catchException(nil, e);
10976 end
10977 end;
10978
10979 function ITraceTransactionImpl_getPerfDispatcher(this: ITraceTransaction): PerformanceInfoPtr; cdecl;
10980 begin
10981 try
10982 Result := ITraceTransactionImpl(this).getPerf();
10983 except
10984 on e: Exception do FbException.catchException(nil, e);
10985 end
10986 end;
10987
10988 var
10989 ITraceTransactionImpl_vTable: TraceTransactionVTable;
10990
10991 constructor ITraceTransactionImpl.create;
10992 begin
10993 vTable := ITraceTransactionImpl_vTable;
10994 end;
10995
10996 function ITraceParamsImpl_getCountDispatcher(this: ITraceParams): Cardinal; cdecl;
10997 begin
10998 try
10999 Result := ITraceParamsImpl(this).getCount();
11000 except
11001 on e: Exception do FbException.catchException(nil, e);
11002 end
11003 end;
11004
11005 function ITraceParamsImpl_getParamDispatcher(this: ITraceParams; idx: Cardinal): dscPtr; cdecl;
11006 begin
11007 try
11008 Result := ITraceParamsImpl(this).getParam(idx);
11009 except
11010 on e: Exception do FbException.catchException(nil, e);
11011 end
11012 end;
11013
11014 var
11015 ITraceParamsImpl_vTable: TraceParamsVTable;
11016
11017 constructor ITraceParamsImpl.create;
11018 begin
11019 vTable := ITraceParamsImpl_vTable;
11020 end;
11021
11022 function ITraceStatementImpl_getStmtIDDispatcher(this: ITraceStatement): Int64; cdecl;
11023 begin
11024 try
11025 Result := ITraceStatementImpl(this).getStmtID();
11026 except
11027 on e: Exception do FbException.catchException(nil, e);
11028 end
11029 end;
11030
11031 function ITraceStatementImpl_getPerfDispatcher(this: ITraceStatement): PerformanceInfoPtr; cdecl;
11032 begin
11033 try
11034 Result := ITraceStatementImpl(this).getPerf();
11035 except
11036 on e: Exception do FbException.catchException(nil, e);
11037 end
11038 end;
11039
11040 var
11041 ITraceStatementImpl_vTable: TraceStatementVTable;
11042
11043 constructor ITraceStatementImpl.create;
11044 begin
11045 vTable := ITraceStatementImpl_vTable;
11046 end;
11047
11048 function ITraceSQLStatementImpl_getStmtIDDispatcher(this: ITraceSQLStatement): Int64; cdecl;
11049 begin
11050 try
11051 Result := ITraceSQLStatementImpl(this).getStmtID();
11052 except
11053 on e: Exception do FbException.catchException(nil, e);
11054 end
11055 end;
11056
11057 function ITraceSQLStatementImpl_getPerfDispatcher(this: ITraceSQLStatement): PerformanceInfoPtr; cdecl;
11058 begin
11059 try
11060 Result := ITraceSQLStatementImpl(this).getPerf();
11061 except
11062 on e: Exception do FbException.catchException(nil, e);
11063 end
11064 end;
11065
11066 function ITraceSQLStatementImpl_getTextDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11067 begin
11068 try
11069 Result := ITraceSQLStatementImpl(this).getText();
11070 except
11071 on e: Exception do FbException.catchException(nil, e);
11072 end
11073 end;
11074
11075 function ITraceSQLStatementImpl_getPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11076 begin
11077 try
11078 Result := ITraceSQLStatementImpl(this).getPlan();
11079 except
11080 on e: Exception do FbException.catchException(nil, e);
11081 end
11082 end;
11083
11084 function ITraceSQLStatementImpl_getInputsDispatcher(this: ITraceSQLStatement): ITraceParams; cdecl;
11085 begin
11086 try
11087 Result := ITraceSQLStatementImpl(this).getInputs();
11088 except
11089 on e: Exception do FbException.catchException(nil, e);
11090 end
11091 end;
11092
11093 function ITraceSQLStatementImpl_getTextUTF8Dispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11094 begin
11095 try
11096 Result := ITraceSQLStatementImpl(this).getTextUTF8();
11097 except
11098 on e: Exception do FbException.catchException(nil, e);
11099 end
11100 end;
11101
11102 function ITraceSQLStatementImpl_getExplainedPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl;
11103 begin
11104 try
11105 Result := ITraceSQLStatementImpl(this).getExplainedPlan();
11106 except
11107 on e: Exception do FbException.catchException(nil, e);
11108 end
11109 end;
11110
11111 var
11112 ITraceSQLStatementImpl_vTable: TraceSQLStatementVTable;
11113
11114 constructor ITraceSQLStatementImpl.create;
11115 begin
11116 vTable := ITraceSQLStatementImpl_vTable;
11117 end;
11118
11119 function ITraceBLRStatementImpl_getStmtIDDispatcher(this: ITraceBLRStatement): Int64; cdecl;
11120 begin
11121 try
11122 Result := ITraceBLRStatementImpl(this).getStmtID();
11123 except
11124 on e: Exception do FbException.catchException(nil, e);
11125 end
11126 end;
11127
11128 function ITraceBLRStatementImpl_getPerfDispatcher(this: ITraceBLRStatement): PerformanceInfoPtr; cdecl;
11129 begin
11130 try
11131 Result := ITraceBLRStatementImpl(this).getPerf();
11132 except
11133 on e: Exception do FbException.catchException(nil, e);
11134 end
11135 end;
11136
11137 function ITraceBLRStatementImpl_getDataDispatcher(this: ITraceBLRStatement): BytePtr; cdecl;
11138 begin
11139 try
11140 Result := ITraceBLRStatementImpl(this).getData();
11141 except
11142 on e: Exception do FbException.catchException(nil, e);
11143 end
11144 end;
11145
11146 function ITraceBLRStatementImpl_getDataLengthDispatcher(this: ITraceBLRStatement): Cardinal; cdecl;
11147 begin
11148 try
11149 Result := ITraceBLRStatementImpl(this).getDataLength();
11150 except
11151 on e: Exception do FbException.catchException(nil, e);
11152 end
11153 end;
11154
11155 function ITraceBLRStatementImpl_getTextDispatcher(this: ITraceBLRStatement): PAnsiChar; cdecl;
11156 begin
11157 try
11158 Result := ITraceBLRStatementImpl(this).getText();
11159 except
11160 on e: Exception do FbException.catchException(nil, e);
11161 end
11162 end;
11163
11164 var
11165 ITraceBLRStatementImpl_vTable: TraceBLRStatementVTable;
11166
11167 constructor ITraceBLRStatementImpl.create;
11168 begin
11169 vTable := ITraceBLRStatementImpl_vTable;
11170 end;
11171
11172 function ITraceDYNRequestImpl_getDataDispatcher(this: ITraceDYNRequest): BytePtr; cdecl;
11173 begin
11174 try
11175 Result := ITraceDYNRequestImpl(this).getData();
11176 except
11177 on e: Exception do FbException.catchException(nil, e);
11178 end
11179 end;
11180
11181 function ITraceDYNRequestImpl_getDataLengthDispatcher(this: ITraceDYNRequest): Cardinal; cdecl;
11182 begin
11183 try
11184 Result := ITraceDYNRequestImpl(this).getDataLength();
11185 except
11186 on e: Exception do FbException.catchException(nil, e);
11187 end
11188 end;
11189
11190 function ITraceDYNRequestImpl_getTextDispatcher(this: ITraceDYNRequest): PAnsiChar; cdecl;
11191 begin
11192 try
11193 Result := ITraceDYNRequestImpl(this).getText();
11194 except
11195 on e: Exception do FbException.catchException(nil, e);
11196 end
11197 end;
11198
11199 var
11200 ITraceDYNRequestImpl_vTable: TraceDYNRequestVTable;
11201
11202 constructor ITraceDYNRequestImpl.create;
11203 begin
11204 vTable := ITraceDYNRequestImpl_vTable;
11205 end;
11206
11207 function ITraceContextVariableImpl_getNameSpaceDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11208 begin
11209 try
11210 Result := ITraceContextVariableImpl(this).getNameSpace();
11211 except
11212 on e: Exception do FbException.catchException(nil, e);
11213 end
11214 end;
11215
11216 function ITraceContextVariableImpl_getVarNameDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11217 begin
11218 try
11219 Result := ITraceContextVariableImpl(this).getVarName();
11220 except
11221 on e: Exception do FbException.catchException(nil, e);
11222 end
11223 end;
11224
11225 function ITraceContextVariableImpl_getVarValueDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl;
11226 begin
11227 try
11228 Result := ITraceContextVariableImpl(this).getVarValue();
11229 except
11230 on e: Exception do FbException.catchException(nil, e);
11231 end
11232 end;
11233
11234 var
11235 ITraceContextVariableImpl_vTable: TraceContextVariableVTable;
11236
11237 constructor ITraceContextVariableImpl.create;
11238 begin
11239 vTable := ITraceContextVariableImpl_vTable;
11240 end;
11241
11242 function ITraceProcedureImpl_getProcNameDispatcher(this: ITraceProcedure): PAnsiChar; cdecl;
11243 begin
11244 try
11245 Result := ITraceProcedureImpl(this).getProcName();
11246 except
11247 on e: Exception do FbException.catchException(nil, e);
11248 end
11249 end;
11250
11251 function ITraceProcedureImpl_getInputsDispatcher(this: ITraceProcedure): ITraceParams; cdecl;
11252 begin
11253 try
11254 Result := ITraceProcedureImpl(this).getInputs();
11255 except
11256 on e: Exception do FbException.catchException(nil, e);
11257 end
11258 end;
11259
11260 function ITraceProcedureImpl_getPerfDispatcher(this: ITraceProcedure): PerformanceInfoPtr; cdecl;
11261 begin
11262 try
11263 Result := ITraceProcedureImpl(this).getPerf();
11264 except
11265 on e: Exception do FbException.catchException(nil, e);
11266 end
11267 end;
11268
11269 var
11270 ITraceProcedureImpl_vTable: TraceProcedureVTable;
11271
11272 constructor ITraceProcedureImpl.create;
11273 begin
11274 vTable := ITraceProcedureImpl_vTable;
11275 end;
11276
11277 function ITraceFunctionImpl_getFuncNameDispatcher(this: ITraceFunction): PAnsiChar; cdecl;
11278 begin
11279 try
11280 Result := ITraceFunctionImpl(this).getFuncName();
11281 except
11282 on e: Exception do FbException.catchException(nil, e);
11283 end
11284 end;
11285
11286 function ITraceFunctionImpl_getInputsDispatcher(this: ITraceFunction): ITraceParams; cdecl;
11287 begin
11288 try
11289 Result := ITraceFunctionImpl(this).getInputs();
11290 except
11291 on e: Exception do FbException.catchException(nil, e);
11292 end
11293 end;
11294
11295 function ITraceFunctionImpl_getResultDispatcher(this: ITraceFunction): ITraceParams; cdecl;
11296 begin
11297 try
11298 Result := ITraceFunctionImpl(this).getResult();
11299 except
11300 on e: Exception do FbException.catchException(nil, e);
11301 end
11302 end;
11303
11304 function ITraceFunctionImpl_getPerfDispatcher(this: ITraceFunction): PerformanceInfoPtr; cdecl;
11305 begin
11306 try
11307 Result := ITraceFunctionImpl(this).getPerf();
11308 except
11309 on e: Exception do FbException.catchException(nil, e);
11310 end
11311 end;
11312
11313 var
11314 ITraceFunctionImpl_vTable: TraceFunctionVTable;
11315
11316 constructor ITraceFunctionImpl.create;
11317 begin
11318 vTable := ITraceFunctionImpl_vTable;
11319 end;
11320
11321 function ITraceTriggerImpl_getTriggerNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl;
11322 begin
11323 try
11324 Result := ITraceTriggerImpl(this).getTriggerName();
11325 except
11326 on e: Exception do FbException.catchException(nil, e);
11327 end
11328 end;
11329
11330 function ITraceTriggerImpl_getRelationNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl;
11331 begin
11332 try
11333 Result := ITraceTriggerImpl(this).getRelationName();
11334 except
11335 on e: Exception do FbException.catchException(nil, e);
11336 end
11337 end;
11338
11339 function ITraceTriggerImpl_getActionDispatcher(this: ITraceTrigger): Integer; cdecl;
11340 begin
11341 try
11342 Result := ITraceTriggerImpl(this).getAction();
11343 except
11344 on e: Exception do FbException.catchException(nil, e);
11345 end
11346 end;
11347
11348 function ITraceTriggerImpl_getWhichDispatcher(this: ITraceTrigger): Integer; cdecl;
11349 begin
11350 try
11351 Result := ITraceTriggerImpl(this).getWhich();
11352 except
11353 on e: Exception do FbException.catchException(nil, e);
11354 end
11355 end;
11356
11357 function ITraceTriggerImpl_getPerfDispatcher(this: ITraceTrigger): PerformanceInfoPtr; cdecl;
11358 begin
11359 try
11360 Result := ITraceTriggerImpl(this).getPerf();
11361 except
11362 on e: Exception do FbException.catchException(nil, e);
11363 end
11364 end;
11365
11366 var
11367 ITraceTriggerImpl_vTable: TraceTriggerVTable;
11368
11369 constructor ITraceTriggerImpl.create;
11370 begin
11371 vTable := ITraceTriggerImpl_vTable;
11372 end;
11373
11374 function ITraceServiceConnectionImpl_getKindDispatcher(this: ITraceServiceConnection): Cardinal; cdecl;
11375 begin
11376 try
11377 Result := ITraceServiceConnectionImpl(this).getKind();
11378 except
11379 on e: Exception do FbException.catchException(nil, e);
11380 end
11381 end;
11382
11383 function ITraceServiceConnectionImpl_getProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl;
11384 begin
11385 try
11386 Result := ITraceServiceConnectionImpl(this).getProcessID();
11387 except
11388 on e: Exception do FbException.catchException(nil, e);
11389 end
11390 end;
11391
11392 function ITraceServiceConnectionImpl_getUserNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11393 begin
11394 try
11395 Result := ITraceServiceConnectionImpl(this).getUserName();
11396 except
11397 on e: Exception do FbException.catchException(nil, e);
11398 end
11399 end;
11400
11401 function ITraceServiceConnectionImpl_getRoleNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11402 begin
11403 try
11404 Result := ITraceServiceConnectionImpl(this).getRoleName();
11405 except
11406 on e: Exception do FbException.catchException(nil, e);
11407 end
11408 end;
11409
11410 function ITraceServiceConnectionImpl_getCharSetDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11411 begin
11412 try
11413 Result := ITraceServiceConnectionImpl(this).getCharSet();
11414 except
11415 on e: Exception do FbException.catchException(nil, e);
11416 end
11417 end;
11418
11419 function ITraceServiceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11420 begin
11421 try
11422 Result := ITraceServiceConnectionImpl(this).getRemoteProtocol();
11423 except
11424 on e: Exception do FbException.catchException(nil, e);
11425 end
11426 end;
11427
11428 function ITraceServiceConnectionImpl_getRemoteAddressDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11429 begin
11430 try
11431 Result := ITraceServiceConnectionImpl(this).getRemoteAddress();
11432 except
11433 on e: Exception do FbException.catchException(nil, e);
11434 end
11435 end;
11436
11437 function ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl;
11438 begin
11439 try
11440 Result := ITraceServiceConnectionImpl(this).getRemoteProcessID();
11441 except
11442 on e: Exception do FbException.catchException(nil, e);
11443 end
11444 end;
11445
11446 function ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11447 begin
11448 try
11449 Result := ITraceServiceConnectionImpl(this).getRemoteProcessName();
11450 except
11451 on e: Exception do FbException.catchException(nil, e);
11452 end
11453 end;
11454
11455 function ITraceServiceConnectionImpl_getServiceIDDispatcher(this: ITraceServiceConnection): Pointer; cdecl;
11456 begin
11457 try
11458 Result := ITraceServiceConnectionImpl(this).getServiceID();
11459 except
11460 on e: Exception do FbException.catchException(nil, e);
11461 end
11462 end;
11463
11464 function ITraceServiceConnectionImpl_getServiceMgrDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11465 begin
11466 try
11467 Result := ITraceServiceConnectionImpl(this).getServiceMgr();
11468 except
11469 on e: Exception do FbException.catchException(nil, e);
11470 end
11471 end;
11472
11473 function ITraceServiceConnectionImpl_getServiceNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl;
11474 begin
11475 try
11476 Result := ITraceServiceConnectionImpl(this).getServiceName();
11477 except
11478 on e: Exception do FbException.catchException(nil, e);
11479 end
11480 end;
11481
11482 var
11483 ITraceServiceConnectionImpl_vTable: TraceServiceConnectionVTable;
11484
11485 constructor ITraceServiceConnectionImpl.create;
11486 begin
11487 vTable := ITraceServiceConnectionImpl_vTable;
11488 end;
11489
11490 function ITraceStatusVectorImpl_hasErrorDispatcher(this: ITraceStatusVector): Boolean; cdecl;
11491 begin
11492 try
11493 Result := ITraceStatusVectorImpl(this).hasError();
11494 except
11495 on e: Exception do FbException.catchException(nil, e);
11496 end
11497 end;
11498
11499 function ITraceStatusVectorImpl_hasWarningDispatcher(this: ITraceStatusVector): Boolean; cdecl;
11500 begin
11501 try
11502 Result := ITraceStatusVectorImpl(this).hasWarning();
11503 except
11504 on e: Exception do FbException.catchException(nil, e);
11505 end
11506 end;
11507
11508 function ITraceStatusVectorImpl_getStatusDispatcher(this: ITraceStatusVector): IStatus; cdecl;
11509 begin
11510 try
11511 Result := ITraceStatusVectorImpl(this).getStatus();
11512 except
11513 on e: Exception do FbException.catchException(nil, e);
11514 end
11515 end;
11516
11517 function ITraceStatusVectorImpl_getTextDispatcher(this: ITraceStatusVector): PAnsiChar; cdecl;
11518 begin
11519 try
11520 Result := ITraceStatusVectorImpl(this).getText();
11521 except
11522 on e: Exception do FbException.catchException(nil, e);
11523 end
11524 end;
11525
11526 var
11527 ITraceStatusVectorImpl_vTable: TraceStatusVectorVTable;
11528
11529 constructor ITraceStatusVectorImpl.create;
11530 begin
11531 vTable := ITraceStatusVectorImpl_vTable;
11532 end;
11533
11534 function ITraceSweepInfoImpl_getOITDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11535 begin
11536 try
11537 Result := ITraceSweepInfoImpl(this).getOIT();
11538 except
11539 on e: Exception do FbException.catchException(nil, e);
11540 end
11541 end;
11542
11543 function ITraceSweepInfoImpl_getOSTDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11544 begin
11545 try
11546 Result := ITraceSweepInfoImpl(this).getOST();
11547 except
11548 on e: Exception do FbException.catchException(nil, e);
11549 end
11550 end;
11551
11552 function ITraceSweepInfoImpl_getOATDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11553 begin
11554 try
11555 Result := ITraceSweepInfoImpl(this).getOAT();
11556 except
11557 on e: Exception do FbException.catchException(nil, e);
11558 end
11559 end;
11560
11561 function ITraceSweepInfoImpl_getNextDispatcher(this: ITraceSweepInfo): Int64; cdecl;
11562 begin
11563 try
11564 Result := ITraceSweepInfoImpl(this).getNext();
11565 except
11566 on e: Exception do FbException.catchException(nil, e);
11567 end
11568 end;
11569
11570 function ITraceSweepInfoImpl_getPerfDispatcher(this: ITraceSweepInfo): PerformanceInfoPtr; cdecl;
11571 begin
11572 try
11573 Result := ITraceSweepInfoImpl(this).getPerf();
11574 except
11575 on e: Exception do FbException.catchException(nil, e);
11576 end
11577 end;
11578
11579 var
11580 ITraceSweepInfoImpl_vTable: TraceSweepInfoVTable;
11581
11582 constructor ITraceSweepInfoImpl.create;
11583 begin
11584 vTable := ITraceSweepInfoImpl_vTable;
11585 end;
11586
11587 procedure ITraceLogWriterImpl_addRefDispatcher(this: ITraceLogWriter); cdecl;
11588 begin
11589 try
11590 ITraceLogWriterImpl(this).addRef();
11591 except
11592 on e: Exception do FbException.catchException(nil, e);
11593 end
11594 end;
11595
11596 function ITraceLogWriterImpl_releaseDispatcher(this: ITraceLogWriter): Integer; cdecl;
11597 begin
11598 try
11599 Result := ITraceLogWriterImpl(this).release();
11600 except
11601 on e: Exception do FbException.catchException(nil, e);
11602 end
11603 end;
11604
11605 function ITraceLogWriterImpl_writeDispatcher(this: ITraceLogWriter; buf: Pointer; size: Cardinal): Cardinal; cdecl;
11606 begin
11607 try
11608 Result := ITraceLogWriterImpl(this).write(buf, size);
11609 except
11610 on e: Exception do FbException.catchException(nil, e);
11611 end
11612 end;
11613
11614 var
11615 ITraceLogWriterImpl_vTable: TraceLogWriterVTable;
11616
11617 constructor ITraceLogWriterImpl.create;
11618 begin
11619 vTable := ITraceLogWriterImpl_vTable;
11620 end;
11621
11622 function ITraceInitInfoImpl_getConfigTextDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11623 begin
11624 try
11625 Result := ITraceInitInfoImpl(this).getConfigText();
11626 except
11627 on e: Exception do FbException.catchException(nil, e);
11628 end
11629 end;
11630
11631 function ITraceInitInfoImpl_getTraceSessionIDDispatcher(this: ITraceInitInfo): Integer; cdecl;
11632 begin
11633 try
11634 Result := ITraceInitInfoImpl(this).getTraceSessionID();
11635 except
11636 on e: Exception do FbException.catchException(nil, e);
11637 end
11638 end;
11639
11640 function ITraceInitInfoImpl_getTraceSessionNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11641 begin
11642 try
11643 Result := ITraceInitInfoImpl(this).getTraceSessionName();
11644 except
11645 on e: Exception do FbException.catchException(nil, e);
11646 end
11647 end;
11648
11649 function ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11650 begin
11651 try
11652 Result := ITraceInitInfoImpl(this).getFirebirdRootDirectory();
11653 except
11654 on e: Exception do FbException.catchException(nil, e);
11655 end
11656 end;
11657
11658 function ITraceInitInfoImpl_getDatabaseNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl;
11659 begin
11660 try
11661 Result := ITraceInitInfoImpl(this).getDatabaseName();
11662 except
11663 on e: Exception do FbException.catchException(nil, e);
11664 end
11665 end;
11666
11667 function ITraceInitInfoImpl_getConnectionDispatcher(this: ITraceInitInfo): ITraceDatabaseConnection; cdecl;
11668 begin
11669 try
11670 Result := ITraceInitInfoImpl(this).getConnection();
11671 except
11672 on e: Exception do FbException.catchException(nil, e);
11673 end
11674 end;
11675
11676 function ITraceInitInfoImpl_getLogWriterDispatcher(this: ITraceInitInfo): ITraceLogWriter; cdecl;
11677 begin
11678 try
11679 Result := ITraceInitInfoImpl(this).getLogWriter();
11680 except
11681 on e: Exception do FbException.catchException(nil, e);
11682 end
11683 end;
11684
11685 var
11686 ITraceInitInfoImpl_vTable: TraceInitInfoVTable;
11687
11688 constructor ITraceInitInfoImpl.create;
11689 begin
11690 vTable := ITraceInitInfoImpl_vTable;
11691 end;
11692
11693 procedure ITracePluginImpl_addRefDispatcher(this: ITracePlugin); cdecl;
11694 begin
11695 try
11696 ITracePluginImpl(this).addRef();
11697 except
11698 on e: Exception do FbException.catchException(nil, e);
11699 end
11700 end;
11701
11702 function ITracePluginImpl_releaseDispatcher(this: ITracePlugin): Integer; cdecl;
11703 begin
11704 try
11705 Result := ITracePluginImpl(this).release();
11706 except
11707 on e: Exception do FbException.catchException(nil, e);
11708 end
11709 end;
11710
11711 function ITracePluginImpl_trace_get_errorDispatcher(this: ITracePlugin): PAnsiChar; cdecl;
11712 begin
11713 try
11714 Result := ITracePluginImpl(this).trace_get_error();
11715 except
11716 on e: Exception do FbException.catchException(nil, e);
11717 end
11718 end;
11719
11720 function ITracePluginImpl_trace_attachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; cdecl;
11721 begin
11722 try
11723 Result := ITracePluginImpl(this).trace_attach(connection, create_db, att_result);
11724 except
11725 on e: Exception do FbException.catchException(nil, e);
11726 end
11727 end;
11728
11729 function ITracePluginImpl_trace_detachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; cdecl;
11730 begin
11731 try
11732 Result := ITracePluginImpl(this).trace_detach(connection, drop_db);
11733 except
11734 on e: Exception do FbException.catchException(nil, e);
11735 end
11736 end;
11737
11738 function ITracePluginImpl_trace_transaction_startDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; cdecl;
11739 begin
11740 try
11741 Result := ITracePluginImpl(this).trace_transaction_start(connection, transaction, tpb_length, tpb, tra_result);
11742 except
11743 on e: Exception do FbException.catchException(nil, e);
11744 end
11745 end;
11746
11747 function ITracePluginImpl_trace_transaction_endDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; cdecl;
11748 begin
11749 try
11750 Result := ITracePluginImpl(this).trace_transaction_end(connection, transaction, commit, retain_context, tra_result);
11751 except
11752 on e: Exception do FbException.catchException(nil, e);
11753 end
11754 end;
11755
11756 function ITracePluginImpl_trace_proc_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; cdecl;
11757 begin
11758 try
11759 Result := ITracePluginImpl(this).trace_proc_execute(connection, transaction, procedure_, started, proc_result);
11760 except
11761 on e: Exception do FbException.catchException(nil, e);
11762 end
11763 end;
11764
11765 function ITracePluginImpl_trace_trigger_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; cdecl;
11766 begin
11767 try
11768 Result := ITracePluginImpl(this).trace_trigger_execute(connection, transaction, trigger, started, trig_result);
11769 except
11770 on e: Exception do FbException.catchException(nil, e);
11771 end
11772 end;
11773
11774 function ITracePluginImpl_trace_set_contextDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; cdecl;
11775 begin
11776 try
11777 Result := ITracePluginImpl(this).trace_set_context(connection, transaction, variable);
11778 except
11779 on e: Exception do FbException.catchException(nil, e);
11780 end
11781 end;
11782
11783 function ITracePluginImpl_trace_dsql_prepareDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
11784 begin
11785 try
11786 Result := ITracePluginImpl(this).trace_dsql_prepare(connection, transaction, statement, time_millis, req_result);
11787 except
11788 on e: Exception do FbException.catchException(nil, e);
11789 end
11790 end;
11791
11792 function ITracePluginImpl_trace_dsql_freeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; cdecl;
11793 begin
11794 try
11795 Result := ITracePluginImpl(this).trace_dsql_free(connection, statement, option);
11796 except
11797 on e: Exception do FbException.catchException(nil, e);
11798 end
11799 end;
11800
11801 function ITracePluginImpl_trace_dsql_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; cdecl;
11802 begin
11803 try
11804 Result := ITracePluginImpl(this).trace_dsql_execute(connection, transaction, statement, started, req_result);
11805 except
11806 on e: Exception do FbException.catchException(nil, e);
11807 end
11808 end;
11809
11810 function ITracePluginImpl_trace_blr_compileDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
11811 begin
11812 try
11813 Result := ITracePluginImpl(this).trace_blr_compile(connection, transaction, statement, time_millis, req_result);
11814 except
11815 on e: Exception do FbException.catchException(nil, e);
11816 end
11817 end;
11818
11819 function ITracePluginImpl_trace_blr_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; cdecl;
11820 begin
11821 try
11822 Result := ITracePluginImpl(this).trace_blr_execute(connection, transaction, statement, req_result);
11823 except
11824 on e: Exception do FbException.catchException(nil, e);
11825 end
11826 end;
11827
11828 function ITracePluginImpl_trace_dyn_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; cdecl;
11829 begin
11830 try
11831 Result := ITracePluginImpl(this).trace_dyn_execute(connection, transaction, request, time_millis, req_result);
11832 except
11833 on e: Exception do FbException.catchException(nil, e);
11834 end
11835 end;
11836
11837 function ITracePluginImpl_trace_service_attachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; att_result: Cardinal): Boolean; cdecl;
11838 begin
11839 try
11840 Result := ITracePluginImpl(this).trace_service_attach(service, att_result);
11841 except
11842 on e: Exception do FbException.catchException(nil, e);
11843 end
11844 end;
11845
11846 function ITracePluginImpl_trace_service_startDispatcher(this: ITracePlugin; service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; cdecl;
11847 begin
11848 try
11849 Result := ITracePluginImpl(this).trace_service_start(service, switches_length, switches, start_result);
11850 except
11851 on e: Exception do FbException.catchException(nil, e);
11852 end
11853 end;
11854
11855 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;
11856 begin
11857 try
11858 Result := ITracePluginImpl(this).trace_service_query(service, send_item_length, send_items, recv_item_length, recv_items, query_result);
11859 except
11860 on e: Exception do FbException.catchException(nil, e);
11861 end
11862 end;
11863
11864 function ITracePluginImpl_trace_service_detachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; detach_result: Cardinal): Boolean; cdecl;
11865 begin
11866 try
11867 Result := ITracePluginImpl(this).trace_service_detach(service, detach_result);
11868 except
11869 on e: Exception do FbException.catchException(nil, e);
11870 end
11871 end;
11872
11873 function ITracePluginImpl_trace_event_errorDispatcher(this: ITracePlugin; connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; cdecl;
11874 begin
11875 try
11876 Result := ITracePluginImpl(this).trace_event_error(connection, status, function_);
11877 except
11878 on e: Exception do FbException.catchException(nil, e);
11879 end
11880 end;
11881
11882 function ITracePluginImpl_trace_event_sweepDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; cdecl;
11883 begin
11884 try
11885 Result := ITracePluginImpl(this).trace_event_sweep(connection, sweep, sweep_state);
11886 except
11887 on e: Exception do FbException.catchException(nil, e);
11888 end
11889 end;
11890
11891 function ITracePluginImpl_trace_func_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; cdecl;
11892 begin
11893 try
11894 Result := ITracePluginImpl(this).trace_func_execute(connection, transaction, function_, started, func_result);
11895 except
11896 on e: Exception do FbException.catchException(nil, e);
11897 end
11898 end;
11899
11900 var
11901 ITracePluginImpl_vTable: TracePluginVTable;
11902
11903 constructor ITracePluginImpl.create;
11904 begin
11905 vTable := ITracePluginImpl_vTable;
11906 end;
11907
11908 procedure ITraceFactoryImpl_addRefDispatcher(this: ITraceFactory); cdecl;
11909 begin
11910 try
11911 ITraceFactoryImpl(this).addRef();
11912 except
11913 on e: Exception do FbException.catchException(nil, e);
11914 end
11915 end;
11916
11917 function ITraceFactoryImpl_releaseDispatcher(this: ITraceFactory): Integer; cdecl;
11918 begin
11919 try
11920 Result := ITraceFactoryImpl(this).release();
11921 except
11922 on e: Exception do FbException.catchException(nil, e);
11923 end
11924 end;
11925
11926 procedure ITraceFactoryImpl_setOwnerDispatcher(this: ITraceFactory; r: IReferenceCounted); cdecl;
11927 begin
11928 try
11929 ITraceFactoryImpl(this).setOwner(r);
11930 except
11931 on e: Exception do FbException.catchException(nil, e);
11932 end
11933 end;
11934
11935 function ITraceFactoryImpl_getOwnerDispatcher(this: ITraceFactory): IReferenceCounted; cdecl;
11936 begin
11937 try
11938 Result := ITraceFactoryImpl(this).getOwner();
11939 except
11940 on e: Exception do FbException.catchException(nil, e);
11941 end
11942 end;
11943
11944 function ITraceFactoryImpl_trace_needsDispatcher(this: ITraceFactory): QWord; cdecl;
11945 begin
11946 try
11947 Result := ITraceFactoryImpl(this).trace_needs();
11948 except
11949 on e: Exception do FbException.catchException(nil, e);
11950 end
11951 end;
11952
11953 function ITraceFactoryImpl_trace_createDispatcher(this: ITraceFactory; status: IStatus; init_info: ITraceInitInfo): ITracePlugin; cdecl;
11954 begin
11955 try
11956 Result := ITraceFactoryImpl(this).trace_create(status, init_info);
11957 except
11958 on e: Exception do FbException.catchException(status, e);
11959 end
11960 end;
11961
11962 var
11963 ITraceFactoryImpl_vTable: TraceFactoryVTable;
11964
11965 constructor ITraceFactoryImpl.create;
11966 begin
11967 vTable := ITraceFactoryImpl_vTable;
11968 end;
11969
11970 procedure IUdrFunctionFactoryImpl_disposeDispatcher(this: IUdrFunctionFactory); cdecl;
11971 begin
11972 try
11973 IUdrFunctionFactoryImpl(this).dispose();
11974 except
11975 on e: Exception do FbException.catchException(nil, e);
11976 end
11977 end;
11978
11979 procedure IUdrFunctionFactoryImpl_setupDispatcher(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
11980 begin
11981 try
11982 IUdrFunctionFactoryImpl(this).setup(status, context, metadata, inBuilder, outBuilder);
11983 except
11984 on e: Exception do FbException.catchException(status, e);
11985 end
11986 end;
11987
11988 function IUdrFunctionFactoryImpl_newItemDispatcher(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; cdecl;
11989 begin
11990 try
11991 Result := IUdrFunctionFactoryImpl(this).newItem(status, context, metadata);
11992 except
11993 on e: Exception do FbException.catchException(status, e);
11994 end
11995 end;
11996
11997 var
11998 IUdrFunctionFactoryImpl_vTable: UdrFunctionFactoryVTable;
11999
12000 constructor IUdrFunctionFactoryImpl.create;
12001 begin
12002 vTable := IUdrFunctionFactoryImpl_vTable;
12003 end;
12004
12005 procedure IUdrProcedureFactoryImpl_disposeDispatcher(this: IUdrProcedureFactory); cdecl;
12006 begin
12007 try
12008 IUdrProcedureFactoryImpl(this).dispose();
12009 except
12010 on e: Exception do FbException.catchException(nil, e);
12011 end
12012 end;
12013
12014 procedure IUdrProcedureFactoryImpl_setupDispatcher(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder); cdecl;
12015 begin
12016 try
12017 IUdrProcedureFactoryImpl(this).setup(status, context, metadata, inBuilder, outBuilder);
12018 except
12019 on e: Exception do FbException.catchException(status, e);
12020 end
12021 end;
12022
12023 function IUdrProcedureFactoryImpl_newItemDispatcher(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; cdecl;
12024 begin
12025 try
12026 Result := IUdrProcedureFactoryImpl(this).newItem(status, context, metadata);
12027 except
12028 on e: Exception do FbException.catchException(status, e);
12029 end
12030 end;
12031
12032 var
12033 IUdrProcedureFactoryImpl_vTable: UdrProcedureFactoryVTable;
12034
12035 constructor IUdrProcedureFactoryImpl.create;
12036 begin
12037 vTable := IUdrProcedureFactoryImpl_vTable;
12038 end;
12039
12040 procedure IUdrTriggerFactoryImpl_disposeDispatcher(this: IUdrTriggerFactory); cdecl;
12041 begin
12042 try
12043 IUdrTriggerFactoryImpl(this).dispose();
12044 except
12045 on e: Exception do FbException.catchException(nil, e);
12046 end
12047 end;
12048
12049 procedure IUdrTriggerFactoryImpl_setupDispatcher(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder); cdecl;
12050 begin
12051 try
12052 IUdrTriggerFactoryImpl(this).setup(status, context, metadata, fieldsBuilder);
12053 except
12054 on e: Exception do FbException.catchException(status, e);
12055 end
12056 end;
12057
12058 function IUdrTriggerFactoryImpl_newItemDispatcher(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; cdecl;
12059 begin
12060 try
12061 Result := IUdrTriggerFactoryImpl(this).newItem(status, context, metadata);
12062 except
12063 on e: Exception do FbException.catchException(status, e);
12064 end
12065 end;
12066
12067 var
12068 IUdrTriggerFactoryImpl_vTable: UdrTriggerFactoryVTable;
12069
12070 constructor IUdrTriggerFactoryImpl.create;
12071 begin
12072 vTable := IUdrTriggerFactoryImpl_vTable;
12073 end;
12074
12075 function IUdrPluginImpl_getMasterDispatcher(this: IUdrPlugin): IMaster; cdecl;
12076 begin
12077 try
12078 Result := IUdrPluginImpl(this).getMaster();
12079 except
12080 on e: Exception do FbException.catchException(nil, e);
12081 end
12082 end;
12083
12084 procedure IUdrPluginImpl_registerFunctionDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrFunctionFactory); cdecl;
12085 begin
12086 try
12087 IUdrPluginImpl(this).registerFunction(status, name, factory);
12088 except
12089 on e: Exception do FbException.catchException(status, e);
12090 end
12091 end;
12092
12093 procedure IUdrPluginImpl_registerProcedureDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrProcedureFactory); cdecl;
12094 begin
12095 try
12096 IUdrPluginImpl(this).registerProcedure(status, name, factory);
12097 except
12098 on e: Exception do FbException.catchException(status, e);
12099 end
12100 end;
12101
12102 procedure IUdrPluginImpl_registerTriggerDispatcher(this: IUdrPlugin; status: IStatus; name: PAnsiChar; factory: IUdrTriggerFactory); cdecl;
12103 begin
12104 try
12105 IUdrPluginImpl(this).registerTrigger(status, name, factory);
12106 except
12107 on e: Exception do FbException.catchException(status, e);
12108 end
12109 end;
12110
12111 var
12112 IUdrPluginImpl_vTable: UdrPluginVTable;
12113
12114 constructor IUdrPluginImpl.create;
12115 begin
12116 vTable := IUdrPluginImpl_vTable;
12117 end;
12118
12119 constructor FbException.create(status: IStatus);
12120 begin
12121 inherited Create('FbException');
12122 self.status := status.clone;
12123 end;
12124
12125 destructor FbException.Destroy();
12126 begin
12127 status.dispose;
12128 inherited Destroy;
12129 end;
12130
12131 function FbException.getStatus: IStatus;
12132 begin
12133 Result := status;
12134 end;
12135
12136 class procedure FbException.checkException(status: IStatus);
12137 begin
12138 if ((status.getState and status.STATE_ERRORS) <> 0) then
12139 raise FbException.create(status);
12140 end;
12141
12142 class procedure FbException.catchException(status: IStatus; e: Exception);
12143 var
12144 statusVector: array[0..4] of NativeIntPtr;
12145 msg: AnsiString;
12146 begin
12147 if (e.inheritsFrom(FbException)) then
12148 status.setErrors(FbException(e).getStatus.getErrors)
12149 else
12150 begin
12151 msg := e.message;
12152
12153 statusVector[0] := NativeIntPtr(isc_arg_gds);
12154 statusVector[1] := NativeIntPtr(isc_random);
12155 statusVector[2] := NativeIntPtr(isc_arg_string);
12156 statusVector[3] := NativeIntPtr(PAnsiChar(msg));
12157 statusVector[4] := NativeIntPtr(isc_arg_end);
12158
12159 status.setErrors(@statusVector);
12160 end
12161 end;
12162 initialization
12163 IVersionedImpl_vTable := VersionedVTable.create;
12164 IVersionedImpl_vTable.version := 0;
12165
12166 IReferenceCountedImpl_vTable := ReferenceCountedVTable.create;
12167 IReferenceCountedImpl_vTable.version := 2;
12168 IReferenceCountedImpl_vTable.addRef := @IReferenceCountedImpl_addRefDispatcher;
12169 IReferenceCountedImpl_vTable.release := @IReferenceCountedImpl_releaseDispatcher;
12170
12171 IDisposableImpl_vTable := DisposableVTable.create;
12172 IDisposableImpl_vTable.version := 1;
12173 IDisposableImpl_vTable.dispose := @IDisposableImpl_disposeDispatcher;
12174
12175 IStatusImpl_vTable := StatusVTable.create;
12176 IStatusImpl_vTable.version := 10;
12177 IStatusImpl_vTable.dispose := @IStatusImpl_disposeDispatcher;
12178 IStatusImpl_vTable.init := @IStatusImpl_initDispatcher;
12179 IStatusImpl_vTable.getState := @IStatusImpl_getStateDispatcher;
12180 IStatusImpl_vTable.setErrors2 := @IStatusImpl_setErrors2Dispatcher;
12181 IStatusImpl_vTable.setWarnings2 := @IStatusImpl_setWarnings2Dispatcher;
12182 IStatusImpl_vTable.setErrors := @IStatusImpl_setErrorsDispatcher;
12183 IStatusImpl_vTable.setWarnings := @IStatusImpl_setWarningsDispatcher;
12184 IStatusImpl_vTable.getErrors := @IStatusImpl_getErrorsDispatcher;
12185 IStatusImpl_vTable.getWarnings := @IStatusImpl_getWarningsDispatcher;
12186 IStatusImpl_vTable.clone := @IStatusImpl_cloneDispatcher;
12187
12188 IMasterImpl_vTable := MasterVTable.create;
12189 IMasterImpl_vTable.version := 12;
12190 IMasterImpl_vTable.getStatus := @IMasterImpl_getStatusDispatcher;
12191 IMasterImpl_vTable.getDispatcher := @IMasterImpl_getDispatcherDispatcher;
12192 IMasterImpl_vTable.getPluginManager := @IMasterImpl_getPluginManagerDispatcher;
12193 IMasterImpl_vTable.getTimerControl := @IMasterImpl_getTimerControlDispatcher;
12194 IMasterImpl_vTable.getDtc := @IMasterImpl_getDtcDispatcher;
12195 IMasterImpl_vTable.registerAttachment := @IMasterImpl_registerAttachmentDispatcher;
12196 IMasterImpl_vTable.registerTransaction := @IMasterImpl_registerTransactionDispatcher;
12197 IMasterImpl_vTable.getMetadataBuilder := @IMasterImpl_getMetadataBuilderDispatcher;
12198 IMasterImpl_vTable.serverMode := @IMasterImpl_serverModeDispatcher;
12199 IMasterImpl_vTable.getUtilInterface := @IMasterImpl_getUtilInterfaceDispatcher;
12200 IMasterImpl_vTable.getConfigManager := @IMasterImpl_getConfigManagerDispatcher;
12201 IMasterImpl_vTable.getProcessExiting := @IMasterImpl_getProcessExitingDispatcher;
12202
12203 IPluginBaseImpl_vTable := PluginBaseVTable.create;
12204 IPluginBaseImpl_vTable.version := 4;
12205 IPluginBaseImpl_vTable.addRef := @IPluginBaseImpl_addRefDispatcher;
12206 IPluginBaseImpl_vTable.release := @IPluginBaseImpl_releaseDispatcher;
12207 IPluginBaseImpl_vTable.setOwner := @IPluginBaseImpl_setOwnerDispatcher;
12208 IPluginBaseImpl_vTable.getOwner := @IPluginBaseImpl_getOwnerDispatcher;
12209
12210 IPluginSetImpl_vTable := PluginSetVTable.create;
12211 IPluginSetImpl_vTable.version := 7;
12212 IPluginSetImpl_vTable.addRef := @IPluginSetImpl_addRefDispatcher;
12213 IPluginSetImpl_vTable.release := @IPluginSetImpl_releaseDispatcher;
12214 IPluginSetImpl_vTable.getName := @IPluginSetImpl_getNameDispatcher;
12215 IPluginSetImpl_vTable.getModuleName := @IPluginSetImpl_getModuleNameDispatcher;
12216 IPluginSetImpl_vTable.getPlugin := @IPluginSetImpl_getPluginDispatcher;
12217 IPluginSetImpl_vTable.next := @IPluginSetImpl_nextDispatcher;
12218 IPluginSetImpl_vTable.set_ := @IPluginSetImpl_set_Dispatcher;
12219
12220 IConfigEntryImpl_vTable := ConfigEntryVTable.create;
12221 IConfigEntryImpl_vTable.version := 7;
12222 IConfigEntryImpl_vTable.addRef := @IConfigEntryImpl_addRefDispatcher;
12223 IConfigEntryImpl_vTable.release := @IConfigEntryImpl_releaseDispatcher;
12224 IConfigEntryImpl_vTable.getName := @IConfigEntryImpl_getNameDispatcher;
12225 IConfigEntryImpl_vTable.getValue := @IConfigEntryImpl_getValueDispatcher;
12226 IConfigEntryImpl_vTable.getIntValue := @IConfigEntryImpl_getIntValueDispatcher;
12227 IConfigEntryImpl_vTable.getBoolValue := @IConfigEntryImpl_getBoolValueDispatcher;
12228 IConfigEntryImpl_vTable.getSubConfig := @IConfigEntryImpl_getSubConfigDispatcher;
12229
12230 IConfigImpl_vTable := ConfigVTable.create;
12231 IConfigImpl_vTable.version := 5;
12232 IConfigImpl_vTable.addRef := @IConfigImpl_addRefDispatcher;
12233 IConfigImpl_vTable.release := @IConfigImpl_releaseDispatcher;
12234 IConfigImpl_vTable.find := @IConfigImpl_findDispatcher;
12235 IConfigImpl_vTable.findValue := @IConfigImpl_findValueDispatcher;
12236 IConfigImpl_vTable.findPos := @IConfigImpl_findPosDispatcher;
12237
12238 IFirebirdConfImpl_vTable := FirebirdConfVTable.create;
12239 IFirebirdConfImpl_vTable.version := 6;
12240 IFirebirdConfImpl_vTable.addRef := @IFirebirdConfImpl_addRefDispatcher;
12241 IFirebirdConfImpl_vTable.release := @IFirebirdConfImpl_releaseDispatcher;
12242 IFirebirdConfImpl_vTable.getKey := @IFirebirdConfImpl_getKeyDispatcher;
12243 IFirebirdConfImpl_vTable.asInteger := @IFirebirdConfImpl_asIntegerDispatcher;
12244 IFirebirdConfImpl_vTable.asString := @IFirebirdConfImpl_asStringDispatcher;
12245 IFirebirdConfImpl_vTable.asBoolean := @IFirebirdConfImpl_asBooleanDispatcher;
12246
12247 IPluginConfigImpl_vTable := PluginConfigVTable.create;
12248 IPluginConfigImpl_vTable.version := 6;
12249 IPluginConfigImpl_vTable.addRef := @IPluginConfigImpl_addRefDispatcher;
12250 IPluginConfigImpl_vTable.release := @IPluginConfigImpl_releaseDispatcher;
12251 IPluginConfigImpl_vTable.getConfigFileName := @IPluginConfigImpl_getConfigFileNameDispatcher;
12252 IPluginConfigImpl_vTable.getDefaultConfig := @IPluginConfigImpl_getDefaultConfigDispatcher;
12253 IPluginConfigImpl_vTable.getFirebirdConf := @IPluginConfigImpl_getFirebirdConfDispatcher;
12254 IPluginConfigImpl_vTable.setReleaseDelay := @IPluginConfigImpl_setReleaseDelayDispatcher;
12255
12256 IPluginFactoryImpl_vTable := PluginFactoryVTable.create;
12257 IPluginFactoryImpl_vTable.version := 1;
12258 IPluginFactoryImpl_vTable.createPlugin := @IPluginFactoryImpl_createPluginDispatcher;
12259
12260 IPluginModuleImpl_vTable := PluginModuleVTable.create;
12261 IPluginModuleImpl_vTable.version := 1;
12262 IPluginModuleImpl_vTable.doClean := @IPluginModuleImpl_doCleanDispatcher;
12263
12264 IPluginManagerImpl_vTable := PluginManagerVTable.create;
12265 IPluginManagerImpl_vTable.version := 6;
12266 IPluginManagerImpl_vTable.registerPluginFactory := @IPluginManagerImpl_registerPluginFactoryDispatcher;
12267 IPluginManagerImpl_vTable.registerModule := @IPluginManagerImpl_registerModuleDispatcher;
12268 IPluginManagerImpl_vTable.unregisterModule := @IPluginManagerImpl_unregisterModuleDispatcher;
12269 IPluginManagerImpl_vTable.getPlugins := @IPluginManagerImpl_getPluginsDispatcher;
12270 IPluginManagerImpl_vTable.getConfig := @IPluginManagerImpl_getConfigDispatcher;
12271 IPluginManagerImpl_vTable.releasePlugin := @IPluginManagerImpl_releasePluginDispatcher;
12272
12273 ICryptKeyImpl_vTable := CryptKeyVTable.create;
12274 ICryptKeyImpl_vTable.version := 4;
12275 ICryptKeyImpl_vTable.setSymmetric := @ICryptKeyImpl_setSymmetricDispatcher;
12276 ICryptKeyImpl_vTable.setAsymmetric := @ICryptKeyImpl_setAsymmetricDispatcher;
12277 ICryptKeyImpl_vTable.getEncryptKey := @ICryptKeyImpl_getEncryptKeyDispatcher;
12278 ICryptKeyImpl_vTable.getDecryptKey := @ICryptKeyImpl_getDecryptKeyDispatcher;
12279
12280 IConfigManagerImpl_vTable := ConfigManagerVTable.create;
12281 IConfigManagerImpl_vTable.version := 6;
12282 IConfigManagerImpl_vTable.getDirectory := @IConfigManagerImpl_getDirectoryDispatcher;
12283 IConfigManagerImpl_vTable.getFirebirdConf := @IConfigManagerImpl_getFirebirdConfDispatcher;
12284 IConfigManagerImpl_vTable.getDatabaseConf := @IConfigManagerImpl_getDatabaseConfDispatcher;
12285 IConfigManagerImpl_vTable.getPluginConfig := @IConfigManagerImpl_getPluginConfigDispatcher;
12286 IConfigManagerImpl_vTable.getInstallDirectory := @IConfigManagerImpl_getInstallDirectoryDispatcher;
12287 IConfigManagerImpl_vTable.getRootDirectory := @IConfigManagerImpl_getRootDirectoryDispatcher;
12288
12289 IEventCallbackImpl_vTable := EventCallbackVTable.create;
12290 IEventCallbackImpl_vTable.version := 3;
12291 IEventCallbackImpl_vTable.addRef := @IEventCallbackImpl_addRefDispatcher;
12292 IEventCallbackImpl_vTable.release := @IEventCallbackImpl_releaseDispatcher;
12293 IEventCallbackImpl_vTable.eventCallbackFunction := @IEventCallbackImpl_eventCallbackFunctionDispatcher;
12294
12295 IBlobImpl_vTable := BlobVTable.create;
12296 IBlobImpl_vTable.version := 8;
12297 IBlobImpl_vTable.addRef := @IBlobImpl_addRefDispatcher;
12298 IBlobImpl_vTable.release := @IBlobImpl_releaseDispatcher;
12299 IBlobImpl_vTable.getInfo := @IBlobImpl_getInfoDispatcher;
12300 IBlobImpl_vTable.getSegment := @IBlobImpl_getSegmentDispatcher;
12301 IBlobImpl_vTable.putSegment := @IBlobImpl_putSegmentDispatcher;
12302 IBlobImpl_vTable.cancel := @IBlobImpl_cancelDispatcher;
12303 IBlobImpl_vTable.close := @IBlobImpl_closeDispatcher;
12304 IBlobImpl_vTable.seek := @IBlobImpl_seekDispatcher;
12305
12306 ITransactionImpl_vTable := TransactionVTable.create;
12307 ITransactionImpl_vTable.version := 12;
12308 ITransactionImpl_vTable.addRef := @ITransactionImpl_addRefDispatcher;
12309 ITransactionImpl_vTable.release := @ITransactionImpl_releaseDispatcher;
12310 ITransactionImpl_vTable.getInfo := @ITransactionImpl_getInfoDispatcher;
12311 ITransactionImpl_vTable.prepare := @ITransactionImpl_prepareDispatcher;
12312 ITransactionImpl_vTable.commit := @ITransactionImpl_commitDispatcher;
12313 ITransactionImpl_vTable.commitRetaining := @ITransactionImpl_commitRetainingDispatcher;
12314 ITransactionImpl_vTable.rollback := @ITransactionImpl_rollbackDispatcher;
12315 ITransactionImpl_vTable.rollbackRetaining := @ITransactionImpl_rollbackRetainingDispatcher;
12316 ITransactionImpl_vTable.disconnect := @ITransactionImpl_disconnectDispatcher;
12317 ITransactionImpl_vTable.join := @ITransactionImpl_joinDispatcher;
12318 ITransactionImpl_vTable.validate := @ITransactionImpl_validateDispatcher;
12319 ITransactionImpl_vTable.enterDtc := @ITransactionImpl_enterDtcDispatcher;
12320
12321 IMessageMetadataImpl_vTable := MessageMetadataVTable.create;
12322 IMessageMetadataImpl_vTable.version := 17;
12323 IMessageMetadataImpl_vTable.addRef := @IMessageMetadataImpl_addRefDispatcher;
12324 IMessageMetadataImpl_vTable.release := @IMessageMetadataImpl_releaseDispatcher;
12325 IMessageMetadataImpl_vTable.getCount := @IMessageMetadataImpl_getCountDispatcher;
12326 IMessageMetadataImpl_vTable.getField := @IMessageMetadataImpl_getFieldDispatcher;
12327 IMessageMetadataImpl_vTable.getRelation := @IMessageMetadataImpl_getRelationDispatcher;
12328 IMessageMetadataImpl_vTable.getOwner := @IMessageMetadataImpl_getOwnerDispatcher;
12329 IMessageMetadataImpl_vTable.getAlias := @IMessageMetadataImpl_getAliasDispatcher;
12330 IMessageMetadataImpl_vTable.getType := @IMessageMetadataImpl_getTypeDispatcher;
12331 IMessageMetadataImpl_vTable.isNullable := @IMessageMetadataImpl_isNullableDispatcher;
12332 IMessageMetadataImpl_vTable.getSubType := @IMessageMetadataImpl_getSubTypeDispatcher;
12333 IMessageMetadataImpl_vTable.getLength := @IMessageMetadataImpl_getLengthDispatcher;
12334 IMessageMetadataImpl_vTable.getScale := @IMessageMetadataImpl_getScaleDispatcher;
12335 IMessageMetadataImpl_vTable.getCharSet := @IMessageMetadataImpl_getCharSetDispatcher;
12336 IMessageMetadataImpl_vTable.getOffset := @IMessageMetadataImpl_getOffsetDispatcher;
12337 IMessageMetadataImpl_vTable.getNullOffset := @IMessageMetadataImpl_getNullOffsetDispatcher;
12338 IMessageMetadataImpl_vTable.getBuilder := @IMessageMetadataImpl_getBuilderDispatcher;
12339 IMessageMetadataImpl_vTable.getMessageLength := @IMessageMetadataImpl_getMessageLengthDispatcher;
12340
12341 IMetadataBuilderImpl_vTable := MetadataBuilderVTable.create;
12342 IMetadataBuilderImpl_vTable.version := 12;
12343 IMetadataBuilderImpl_vTable.addRef := @IMetadataBuilderImpl_addRefDispatcher;
12344 IMetadataBuilderImpl_vTable.release := @IMetadataBuilderImpl_releaseDispatcher;
12345 IMetadataBuilderImpl_vTable.setType := @IMetadataBuilderImpl_setTypeDispatcher;
12346 IMetadataBuilderImpl_vTable.setSubType := @IMetadataBuilderImpl_setSubTypeDispatcher;
12347 IMetadataBuilderImpl_vTable.setLength := @IMetadataBuilderImpl_setLengthDispatcher;
12348 IMetadataBuilderImpl_vTable.setCharSet := @IMetadataBuilderImpl_setCharSetDispatcher;
12349 IMetadataBuilderImpl_vTable.setScale := @IMetadataBuilderImpl_setScaleDispatcher;
12350 IMetadataBuilderImpl_vTable.truncate := @IMetadataBuilderImpl_truncateDispatcher;
12351 IMetadataBuilderImpl_vTable.moveNameToIndex := @IMetadataBuilderImpl_moveNameToIndexDispatcher;
12352 IMetadataBuilderImpl_vTable.remove := @IMetadataBuilderImpl_removeDispatcher;
12353 IMetadataBuilderImpl_vTable.addField := @IMetadataBuilderImpl_addFieldDispatcher;
12354 IMetadataBuilderImpl_vTable.getMetadata := @IMetadataBuilderImpl_getMetadataDispatcher;
12355
12356 IResultSetImpl_vTable := ResultSetVTable.create;
12357 IResultSetImpl_vTable.version := 13;
12358 IResultSetImpl_vTable.addRef := @IResultSetImpl_addRefDispatcher;
12359 IResultSetImpl_vTable.release := @IResultSetImpl_releaseDispatcher;
12360 IResultSetImpl_vTable.fetchNext := @IResultSetImpl_fetchNextDispatcher;
12361 IResultSetImpl_vTable.fetchPrior := @IResultSetImpl_fetchPriorDispatcher;
12362 IResultSetImpl_vTable.fetchFirst := @IResultSetImpl_fetchFirstDispatcher;
12363 IResultSetImpl_vTable.fetchLast := @IResultSetImpl_fetchLastDispatcher;
12364 IResultSetImpl_vTable.fetchAbsolute := @IResultSetImpl_fetchAbsoluteDispatcher;
12365 IResultSetImpl_vTable.fetchRelative := @IResultSetImpl_fetchRelativeDispatcher;
12366 IResultSetImpl_vTable.isEof := @IResultSetImpl_isEofDispatcher;
12367 IResultSetImpl_vTable.isBof := @IResultSetImpl_isBofDispatcher;
12368 IResultSetImpl_vTable.getMetadata := @IResultSetImpl_getMetadataDispatcher;
12369 IResultSetImpl_vTable.close := @IResultSetImpl_closeDispatcher;
12370 IResultSetImpl_vTable.setDelayedOutputFormat := @IResultSetImpl_setDelayedOutputFormatDispatcher;
12371
12372 IStatementImpl_vTable := StatementVTable.create;
12373 IStatementImpl_vTable.version := 13;
12374 IStatementImpl_vTable.addRef := @IStatementImpl_addRefDispatcher;
12375 IStatementImpl_vTable.release := @IStatementImpl_releaseDispatcher;
12376 IStatementImpl_vTable.getInfo := @IStatementImpl_getInfoDispatcher;
12377 IStatementImpl_vTable.getType := @IStatementImpl_getTypeDispatcher;
12378 IStatementImpl_vTable.getPlan := @IStatementImpl_getPlanDispatcher;
12379 IStatementImpl_vTable.getAffectedRecords := @IStatementImpl_getAffectedRecordsDispatcher;
12380 IStatementImpl_vTable.getInputMetadata := @IStatementImpl_getInputMetadataDispatcher;
12381 IStatementImpl_vTable.getOutputMetadata := @IStatementImpl_getOutputMetadataDispatcher;
12382 IStatementImpl_vTable.execute := @IStatementImpl_executeDispatcher;
12383 IStatementImpl_vTable.openCursor := @IStatementImpl_openCursorDispatcher;
12384 IStatementImpl_vTable.setCursorName := @IStatementImpl_setCursorNameDispatcher;
12385 IStatementImpl_vTable.free := @IStatementImpl_freeDispatcher;
12386 IStatementImpl_vTable.getFlags := @IStatementImpl_getFlagsDispatcher;
12387
12388 IRequestImpl_vTable := RequestVTable.create;
12389 IRequestImpl_vTable.version := 9;
12390 IRequestImpl_vTable.addRef := @IRequestImpl_addRefDispatcher;
12391 IRequestImpl_vTable.release := @IRequestImpl_releaseDispatcher;
12392 IRequestImpl_vTable.receive := @IRequestImpl_receiveDispatcher;
12393 IRequestImpl_vTable.send := @IRequestImpl_sendDispatcher;
12394 IRequestImpl_vTable.getInfo := @IRequestImpl_getInfoDispatcher;
12395 IRequestImpl_vTable.start := @IRequestImpl_startDispatcher;
12396 IRequestImpl_vTable.startAndSend := @IRequestImpl_startAndSendDispatcher;
12397 IRequestImpl_vTable.unwind := @IRequestImpl_unwindDispatcher;
12398 IRequestImpl_vTable.free := @IRequestImpl_freeDispatcher;
12399
12400 IEventsImpl_vTable := EventsVTable.create;
12401 IEventsImpl_vTable.version := 3;
12402 IEventsImpl_vTable.addRef := @IEventsImpl_addRefDispatcher;
12403 IEventsImpl_vTable.release := @IEventsImpl_releaseDispatcher;
12404 IEventsImpl_vTable.cancel := @IEventsImpl_cancelDispatcher;
12405
12406 IAttachmentImpl_vTable := AttachmentVTable.create;
12407 IAttachmentImpl_vTable.version := 20;
12408 IAttachmentImpl_vTable.addRef := @IAttachmentImpl_addRefDispatcher;
12409 IAttachmentImpl_vTable.release := @IAttachmentImpl_releaseDispatcher;
12410 IAttachmentImpl_vTable.getInfo := @IAttachmentImpl_getInfoDispatcher;
12411 IAttachmentImpl_vTable.startTransaction := @IAttachmentImpl_startTransactionDispatcher;
12412 IAttachmentImpl_vTable.reconnectTransaction := @IAttachmentImpl_reconnectTransactionDispatcher;
12413 IAttachmentImpl_vTable.compileRequest := @IAttachmentImpl_compileRequestDispatcher;
12414 IAttachmentImpl_vTable.transactRequest := @IAttachmentImpl_transactRequestDispatcher;
12415 IAttachmentImpl_vTable.createBlob := @IAttachmentImpl_createBlobDispatcher;
12416 IAttachmentImpl_vTable.openBlob := @IAttachmentImpl_openBlobDispatcher;
12417 IAttachmentImpl_vTable.getSlice := @IAttachmentImpl_getSliceDispatcher;
12418 IAttachmentImpl_vTable.putSlice := @IAttachmentImpl_putSliceDispatcher;
12419 IAttachmentImpl_vTable.executeDyn := @IAttachmentImpl_executeDynDispatcher;
12420 IAttachmentImpl_vTable.prepare := @IAttachmentImpl_prepareDispatcher;
12421 IAttachmentImpl_vTable.execute := @IAttachmentImpl_executeDispatcher;
12422 IAttachmentImpl_vTable.openCursor := @IAttachmentImpl_openCursorDispatcher;
12423 IAttachmentImpl_vTable.queEvents := @IAttachmentImpl_queEventsDispatcher;
12424 IAttachmentImpl_vTable.cancelOperation := @IAttachmentImpl_cancelOperationDispatcher;
12425 IAttachmentImpl_vTable.ping := @IAttachmentImpl_pingDispatcher;
12426 IAttachmentImpl_vTable.detach := @IAttachmentImpl_detachDispatcher;
12427 IAttachmentImpl_vTable.dropDatabase := @IAttachmentImpl_dropDatabaseDispatcher;
12428
12429 IServiceImpl_vTable := ServiceVTable.create;
12430 IServiceImpl_vTable.version := 5;
12431 IServiceImpl_vTable.addRef := @IServiceImpl_addRefDispatcher;
12432 IServiceImpl_vTable.release := @IServiceImpl_releaseDispatcher;
12433 IServiceImpl_vTable.detach := @IServiceImpl_detachDispatcher;
12434 IServiceImpl_vTable.query := @IServiceImpl_queryDispatcher;
12435 IServiceImpl_vTable.start := @IServiceImpl_startDispatcher;
12436
12437 IProviderImpl_vTable := ProviderVTable.create;
12438 IProviderImpl_vTable.version := 9;
12439 IProviderImpl_vTable.addRef := @IProviderImpl_addRefDispatcher;
12440 IProviderImpl_vTable.release := @IProviderImpl_releaseDispatcher;
12441 IProviderImpl_vTable.setOwner := @IProviderImpl_setOwnerDispatcher;
12442 IProviderImpl_vTable.getOwner := @IProviderImpl_getOwnerDispatcher;
12443 IProviderImpl_vTable.attachDatabase := @IProviderImpl_attachDatabaseDispatcher;
12444 IProviderImpl_vTable.createDatabase := @IProviderImpl_createDatabaseDispatcher;
12445 IProviderImpl_vTable.attachServiceManager := @IProviderImpl_attachServiceManagerDispatcher;
12446 IProviderImpl_vTable.shutdown := @IProviderImpl_shutdownDispatcher;
12447 IProviderImpl_vTable.setDbCryptCallback := @IProviderImpl_setDbCryptCallbackDispatcher;
12448
12449 IDtcStartImpl_vTable := DtcStartVTable.create;
12450 IDtcStartImpl_vTable.version := 4;
12451 IDtcStartImpl_vTable.dispose := @IDtcStartImpl_disposeDispatcher;
12452 IDtcStartImpl_vTable.addAttachment := @IDtcStartImpl_addAttachmentDispatcher;
12453 IDtcStartImpl_vTable.addWithTpb := @IDtcStartImpl_addWithTpbDispatcher;
12454 IDtcStartImpl_vTable.start := @IDtcStartImpl_startDispatcher;
12455
12456 IDtcImpl_vTable := DtcVTable.create;
12457 IDtcImpl_vTable.version := 2;
12458 IDtcImpl_vTable.join := @IDtcImpl_joinDispatcher;
12459 IDtcImpl_vTable.startBuilder := @IDtcImpl_startBuilderDispatcher;
12460
12461 IAuthImpl_vTable := AuthVTable.create;
12462 IAuthImpl_vTable.version := 4;
12463 IAuthImpl_vTable.addRef := @IAuthImpl_addRefDispatcher;
12464 IAuthImpl_vTable.release := @IAuthImpl_releaseDispatcher;
12465 IAuthImpl_vTable.setOwner := @IAuthImpl_setOwnerDispatcher;
12466 IAuthImpl_vTable.getOwner := @IAuthImpl_getOwnerDispatcher;
12467
12468 IWriterImpl_vTable := WriterVTable.create;
12469 IWriterImpl_vTable.version := 4;
12470 IWriterImpl_vTable.reset := @IWriterImpl_resetDispatcher;
12471 IWriterImpl_vTable.add := @IWriterImpl_addDispatcher;
12472 IWriterImpl_vTable.setType := @IWriterImpl_setTypeDispatcher;
12473 IWriterImpl_vTable.setDb := @IWriterImpl_setDbDispatcher;
12474
12475 IServerBlockImpl_vTable := ServerBlockVTable.create;
12476 IServerBlockImpl_vTable.version := 4;
12477 IServerBlockImpl_vTable.getLogin := @IServerBlockImpl_getLoginDispatcher;
12478 IServerBlockImpl_vTable.getData := @IServerBlockImpl_getDataDispatcher;
12479 IServerBlockImpl_vTable.putData := @IServerBlockImpl_putDataDispatcher;
12480 IServerBlockImpl_vTable.newKey := @IServerBlockImpl_newKeyDispatcher;
12481
12482 IClientBlockImpl_vTable := ClientBlockVTable.create;
12483 IClientBlockImpl_vTable.version := 7;
12484 IClientBlockImpl_vTable.addRef := @IClientBlockImpl_addRefDispatcher;
12485 IClientBlockImpl_vTable.release := @IClientBlockImpl_releaseDispatcher;
12486 IClientBlockImpl_vTable.getLogin := @IClientBlockImpl_getLoginDispatcher;
12487 IClientBlockImpl_vTable.getPassword := @IClientBlockImpl_getPasswordDispatcher;
12488 IClientBlockImpl_vTable.getData := @IClientBlockImpl_getDataDispatcher;
12489 IClientBlockImpl_vTable.putData := @IClientBlockImpl_putDataDispatcher;
12490 IClientBlockImpl_vTable.newKey := @IClientBlockImpl_newKeyDispatcher;
12491
12492 IServerImpl_vTable := ServerVTable.create;
12493 IServerImpl_vTable.version := 5;
12494 IServerImpl_vTable.addRef := @IServerImpl_addRefDispatcher;
12495 IServerImpl_vTable.release := @IServerImpl_releaseDispatcher;
12496 IServerImpl_vTable.setOwner := @IServerImpl_setOwnerDispatcher;
12497 IServerImpl_vTable.getOwner := @IServerImpl_getOwnerDispatcher;
12498 IServerImpl_vTable.authenticate := @IServerImpl_authenticateDispatcher;
12499
12500 IClientImpl_vTable := ClientVTable.create;
12501 IClientImpl_vTable.version := 5;
12502 IClientImpl_vTable.addRef := @IClientImpl_addRefDispatcher;
12503 IClientImpl_vTable.release := @IClientImpl_releaseDispatcher;
12504 IClientImpl_vTable.setOwner := @IClientImpl_setOwnerDispatcher;
12505 IClientImpl_vTable.getOwner := @IClientImpl_getOwnerDispatcher;
12506 IClientImpl_vTable.authenticate := @IClientImpl_authenticateDispatcher;
12507
12508 IUserFieldImpl_vTable := UserFieldVTable.create;
12509 IUserFieldImpl_vTable.version := 3;
12510 IUserFieldImpl_vTable.entered := @IUserFieldImpl_enteredDispatcher;
12511 IUserFieldImpl_vTable.specified := @IUserFieldImpl_specifiedDispatcher;
12512 IUserFieldImpl_vTable.setEntered := @IUserFieldImpl_setEnteredDispatcher;
12513
12514 ICharUserFieldImpl_vTable := CharUserFieldVTable.create;
12515 ICharUserFieldImpl_vTable.version := 5;
12516 ICharUserFieldImpl_vTable.entered := @ICharUserFieldImpl_enteredDispatcher;
12517 ICharUserFieldImpl_vTable.specified := @ICharUserFieldImpl_specifiedDispatcher;
12518 ICharUserFieldImpl_vTable.setEntered := @ICharUserFieldImpl_setEnteredDispatcher;
12519 ICharUserFieldImpl_vTable.get := @ICharUserFieldImpl_getDispatcher;
12520 ICharUserFieldImpl_vTable.set_ := @ICharUserFieldImpl_set_Dispatcher;
12521
12522 IIntUserFieldImpl_vTable := IntUserFieldVTable.create;
12523 IIntUserFieldImpl_vTable.version := 5;
12524 IIntUserFieldImpl_vTable.entered := @IIntUserFieldImpl_enteredDispatcher;
12525 IIntUserFieldImpl_vTable.specified := @IIntUserFieldImpl_specifiedDispatcher;
12526 IIntUserFieldImpl_vTable.setEntered := @IIntUserFieldImpl_setEnteredDispatcher;
12527 IIntUserFieldImpl_vTable.get := @IIntUserFieldImpl_getDispatcher;
12528 IIntUserFieldImpl_vTable.set_ := @IIntUserFieldImpl_set_Dispatcher;
12529
12530 IUserImpl_vTable := UserVTable.create;
12531 IUserImpl_vTable.version := 11;
12532 IUserImpl_vTable.operation := @IUserImpl_operationDispatcher;
12533 IUserImpl_vTable.userName := @IUserImpl_userNameDispatcher;
12534 IUserImpl_vTable.password := @IUserImpl_passwordDispatcher;
12535 IUserImpl_vTable.firstName := @IUserImpl_firstNameDispatcher;
12536 IUserImpl_vTable.lastName := @IUserImpl_lastNameDispatcher;
12537 IUserImpl_vTable.middleName := @IUserImpl_middleNameDispatcher;
12538 IUserImpl_vTable.comment := @IUserImpl_commentDispatcher;
12539 IUserImpl_vTable.attributes := @IUserImpl_attributesDispatcher;
12540 IUserImpl_vTable.active := @IUserImpl_activeDispatcher;
12541 IUserImpl_vTable.admin := @IUserImpl_adminDispatcher;
12542 IUserImpl_vTable.clear := @IUserImpl_clearDispatcher;
12543
12544 IListUsersImpl_vTable := ListUsersVTable.create;
12545 IListUsersImpl_vTable.version := 1;
12546 IListUsersImpl_vTable.list := @IListUsersImpl_listDispatcher;
12547
12548 ILogonInfoImpl_vTable := LogonInfoVTable.create;
12549 ILogonInfoImpl_vTable.version := 5;
12550 ILogonInfoImpl_vTable.name := @ILogonInfoImpl_nameDispatcher;
12551 ILogonInfoImpl_vTable.role := @ILogonInfoImpl_roleDispatcher;
12552 ILogonInfoImpl_vTable.networkProtocol := @ILogonInfoImpl_networkProtocolDispatcher;
12553 ILogonInfoImpl_vTable.remoteAddress := @ILogonInfoImpl_remoteAddressDispatcher;
12554 ILogonInfoImpl_vTable.authBlock := @ILogonInfoImpl_authBlockDispatcher;
12555
12556 IManagementImpl_vTable := ManagementVTable.create;
12557 IManagementImpl_vTable.version := 8;
12558 IManagementImpl_vTable.addRef := @IManagementImpl_addRefDispatcher;
12559 IManagementImpl_vTable.release := @IManagementImpl_releaseDispatcher;
12560 IManagementImpl_vTable.setOwner := @IManagementImpl_setOwnerDispatcher;
12561 IManagementImpl_vTable.getOwner := @IManagementImpl_getOwnerDispatcher;
12562 IManagementImpl_vTable.start := @IManagementImpl_startDispatcher;
12563 IManagementImpl_vTable.execute := @IManagementImpl_executeDispatcher;
12564 IManagementImpl_vTable.commit := @IManagementImpl_commitDispatcher;
12565 IManagementImpl_vTable.rollback := @IManagementImpl_rollbackDispatcher;
12566
12567 IWireCryptPluginImpl_vTable := WireCryptPluginVTable.create;
12568 IWireCryptPluginImpl_vTable.version := 8;
12569 IWireCryptPluginImpl_vTable.addRef := @IWireCryptPluginImpl_addRefDispatcher;
12570 IWireCryptPluginImpl_vTable.release := @IWireCryptPluginImpl_releaseDispatcher;
12571 IWireCryptPluginImpl_vTable.setOwner := @IWireCryptPluginImpl_setOwnerDispatcher;
12572 IWireCryptPluginImpl_vTable.getOwner := @IWireCryptPluginImpl_getOwnerDispatcher;
12573 IWireCryptPluginImpl_vTable.getKnownTypes := @IWireCryptPluginImpl_getKnownTypesDispatcher;
12574 IWireCryptPluginImpl_vTable.setKey := @IWireCryptPluginImpl_setKeyDispatcher;
12575 IWireCryptPluginImpl_vTable.encrypt := @IWireCryptPluginImpl_encryptDispatcher;
12576 IWireCryptPluginImpl_vTable.decrypt := @IWireCryptPluginImpl_decryptDispatcher;
12577
12578 ICryptKeyCallbackImpl_vTable := CryptKeyCallbackVTable.create;
12579 ICryptKeyCallbackImpl_vTable.version := 1;
12580 ICryptKeyCallbackImpl_vTable.callback := @ICryptKeyCallbackImpl_callbackDispatcher;
12581
12582 IKeyHolderPluginImpl_vTable := KeyHolderPluginVTable.create;
12583 IKeyHolderPluginImpl_vTable.version := 6;
12584 IKeyHolderPluginImpl_vTable.addRef := @IKeyHolderPluginImpl_addRefDispatcher;
12585 IKeyHolderPluginImpl_vTable.release := @IKeyHolderPluginImpl_releaseDispatcher;
12586 IKeyHolderPluginImpl_vTable.setOwner := @IKeyHolderPluginImpl_setOwnerDispatcher;
12587 IKeyHolderPluginImpl_vTable.getOwner := @IKeyHolderPluginImpl_getOwnerDispatcher;
12588 IKeyHolderPluginImpl_vTable.keyCallback := @IKeyHolderPluginImpl_keyCallbackDispatcher;
12589 IKeyHolderPluginImpl_vTable.keyHandle := @IKeyHolderPluginImpl_keyHandleDispatcher;
12590
12591 IDbCryptPluginImpl_vTable := DbCryptPluginVTable.create;
12592 IDbCryptPluginImpl_vTable.version := 7;
12593 IDbCryptPluginImpl_vTable.addRef := @IDbCryptPluginImpl_addRefDispatcher;
12594 IDbCryptPluginImpl_vTable.release := @IDbCryptPluginImpl_releaseDispatcher;
12595 IDbCryptPluginImpl_vTable.setOwner := @IDbCryptPluginImpl_setOwnerDispatcher;
12596 IDbCryptPluginImpl_vTable.getOwner := @IDbCryptPluginImpl_getOwnerDispatcher;
12597 IDbCryptPluginImpl_vTable.setKey := @IDbCryptPluginImpl_setKeyDispatcher;
12598 IDbCryptPluginImpl_vTable.encrypt := @IDbCryptPluginImpl_encryptDispatcher;
12599 IDbCryptPluginImpl_vTable.decrypt := @IDbCryptPluginImpl_decryptDispatcher;
12600
12601 IExternalContextImpl_vTable := ExternalContextVTable.create;
12602 IExternalContextImpl_vTable.version := 10;
12603 IExternalContextImpl_vTable.getMaster := @IExternalContextImpl_getMasterDispatcher;
12604 IExternalContextImpl_vTable.getEngine := @IExternalContextImpl_getEngineDispatcher;
12605 IExternalContextImpl_vTable.getAttachment := @IExternalContextImpl_getAttachmentDispatcher;
12606 IExternalContextImpl_vTable.getTransaction := @IExternalContextImpl_getTransactionDispatcher;
12607 IExternalContextImpl_vTable.getUserName := @IExternalContextImpl_getUserNameDispatcher;
12608 IExternalContextImpl_vTable.getDatabaseName := @IExternalContextImpl_getDatabaseNameDispatcher;
12609 IExternalContextImpl_vTable.getClientCharSet := @IExternalContextImpl_getClientCharSetDispatcher;
12610 IExternalContextImpl_vTable.obtainInfoCode := @IExternalContextImpl_obtainInfoCodeDispatcher;
12611 IExternalContextImpl_vTable.getInfo := @IExternalContextImpl_getInfoDispatcher;
12612 IExternalContextImpl_vTable.setInfo := @IExternalContextImpl_setInfoDispatcher;
12613
12614 IExternalResultSetImpl_vTable := ExternalResultSetVTable.create;
12615 IExternalResultSetImpl_vTable.version := 2;
12616 IExternalResultSetImpl_vTable.dispose := @IExternalResultSetImpl_disposeDispatcher;
12617 IExternalResultSetImpl_vTable.fetch := @IExternalResultSetImpl_fetchDispatcher;
12618
12619 IExternalFunctionImpl_vTable := ExternalFunctionVTable.create;
12620 IExternalFunctionImpl_vTable.version := 3;
12621 IExternalFunctionImpl_vTable.dispose := @IExternalFunctionImpl_disposeDispatcher;
12622 IExternalFunctionImpl_vTable.getCharSet := @IExternalFunctionImpl_getCharSetDispatcher;
12623 IExternalFunctionImpl_vTable.execute := @IExternalFunctionImpl_executeDispatcher;
12624
12625 IExternalProcedureImpl_vTable := ExternalProcedureVTable.create;
12626 IExternalProcedureImpl_vTable.version := 3;
12627 IExternalProcedureImpl_vTable.dispose := @IExternalProcedureImpl_disposeDispatcher;
12628 IExternalProcedureImpl_vTable.getCharSet := @IExternalProcedureImpl_getCharSetDispatcher;
12629 IExternalProcedureImpl_vTable.open := @IExternalProcedureImpl_openDispatcher;
12630
12631 IExternalTriggerImpl_vTable := ExternalTriggerVTable.create;
12632 IExternalTriggerImpl_vTable.version := 3;
12633 IExternalTriggerImpl_vTable.dispose := @IExternalTriggerImpl_disposeDispatcher;
12634 IExternalTriggerImpl_vTable.getCharSet := @IExternalTriggerImpl_getCharSetDispatcher;
12635 IExternalTriggerImpl_vTable.execute := @IExternalTriggerImpl_executeDispatcher;
12636
12637 IRoutineMetadataImpl_vTable := RoutineMetadataVTable.create;
12638 IRoutineMetadataImpl_vTable.version := 9;
12639 IRoutineMetadataImpl_vTable.getPackage := @IRoutineMetadataImpl_getPackageDispatcher;
12640 IRoutineMetadataImpl_vTable.getName := @IRoutineMetadataImpl_getNameDispatcher;
12641 IRoutineMetadataImpl_vTable.getEntryPoint := @IRoutineMetadataImpl_getEntryPointDispatcher;
12642 IRoutineMetadataImpl_vTable.getBody := @IRoutineMetadataImpl_getBodyDispatcher;
12643 IRoutineMetadataImpl_vTable.getInputMetadata := @IRoutineMetadataImpl_getInputMetadataDispatcher;
12644 IRoutineMetadataImpl_vTable.getOutputMetadata := @IRoutineMetadataImpl_getOutputMetadataDispatcher;
12645 IRoutineMetadataImpl_vTable.getTriggerMetadata := @IRoutineMetadataImpl_getTriggerMetadataDispatcher;
12646 IRoutineMetadataImpl_vTable.getTriggerTable := @IRoutineMetadataImpl_getTriggerTableDispatcher;
12647 IRoutineMetadataImpl_vTable.getTriggerType := @IRoutineMetadataImpl_getTriggerTypeDispatcher;
12648
12649 IExternalEngineImpl_vTable := ExternalEngineVTable.create;
12650 IExternalEngineImpl_vTable.version := 10;
12651 IExternalEngineImpl_vTable.addRef := @IExternalEngineImpl_addRefDispatcher;
12652 IExternalEngineImpl_vTable.release := @IExternalEngineImpl_releaseDispatcher;
12653 IExternalEngineImpl_vTable.setOwner := @IExternalEngineImpl_setOwnerDispatcher;
12654 IExternalEngineImpl_vTable.getOwner := @IExternalEngineImpl_getOwnerDispatcher;
12655 IExternalEngineImpl_vTable.open := @IExternalEngineImpl_openDispatcher;
12656 IExternalEngineImpl_vTable.openAttachment := @IExternalEngineImpl_openAttachmentDispatcher;
12657 IExternalEngineImpl_vTable.closeAttachment := @IExternalEngineImpl_closeAttachmentDispatcher;
12658 IExternalEngineImpl_vTable.makeFunction := @IExternalEngineImpl_makeFunctionDispatcher;
12659 IExternalEngineImpl_vTable.makeProcedure := @IExternalEngineImpl_makeProcedureDispatcher;
12660 IExternalEngineImpl_vTable.makeTrigger := @IExternalEngineImpl_makeTriggerDispatcher;
12661
12662 ITimerImpl_vTable := TimerVTable.create;
12663 ITimerImpl_vTable.version := 3;
12664 ITimerImpl_vTable.addRef := @ITimerImpl_addRefDispatcher;
12665 ITimerImpl_vTable.release := @ITimerImpl_releaseDispatcher;
12666 ITimerImpl_vTable.handler := @ITimerImpl_handlerDispatcher;
12667
12668 ITimerControlImpl_vTable := TimerControlVTable.create;
12669 ITimerControlImpl_vTable.version := 2;
12670 ITimerControlImpl_vTable.start := @ITimerControlImpl_startDispatcher;
12671 ITimerControlImpl_vTable.stop := @ITimerControlImpl_stopDispatcher;
12672
12673 IVersionCallbackImpl_vTable := VersionCallbackVTable.create;
12674 IVersionCallbackImpl_vTable.version := 1;
12675 IVersionCallbackImpl_vTable.callback := @IVersionCallbackImpl_callbackDispatcher;
12676
12677 IUtilImpl_vTable := UtilVTable.create;
12678 IUtilImpl_vTable.version := 13;
12679 IUtilImpl_vTable.getFbVersion := @IUtilImpl_getFbVersionDispatcher;
12680 IUtilImpl_vTable.loadBlob := @IUtilImpl_loadBlobDispatcher;
12681 IUtilImpl_vTable.dumpBlob := @IUtilImpl_dumpBlobDispatcher;
12682 IUtilImpl_vTable.getPerfCounters := @IUtilImpl_getPerfCountersDispatcher;
12683 IUtilImpl_vTable.executeCreateDatabase := @IUtilImpl_executeCreateDatabaseDispatcher;
12684 IUtilImpl_vTable.decodeDate := @IUtilImpl_decodeDateDispatcher;
12685 IUtilImpl_vTable.decodeTime := @IUtilImpl_decodeTimeDispatcher;
12686 IUtilImpl_vTable.encodeDate := @IUtilImpl_encodeDateDispatcher;
12687 IUtilImpl_vTable.encodeTime := @IUtilImpl_encodeTimeDispatcher;
12688 IUtilImpl_vTable.formatStatus := @IUtilImpl_formatStatusDispatcher;
12689 IUtilImpl_vTable.getClientVersion := @IUtilImpl_getClientVersionDispatcher;
12690 IUtilImpl_vTable.getXpbBuilder := @IUtilImpl_getXpbBuilderDispatcher;
12691 IUtilImpl_vTable.setOffsets := @IUtilImpl_setOffsetsDispatcher;
12692
12693 IOffsetsCallbackImpl_vTable := OffsetsCallbackVTable.create;
12694 IOffsetsCallbackImpl_vTable.version := 1;
12695 IOffsetsCallbackImpl_vTable.setOffset := @IOffsetsCallbackImpl_setOffsetDispatcher;
12696
12697 IXpbBuilderImpl_vTable := XpbBuilderVTable.create;
12698 IXpbBuilderImpl_vTable.version := 21;
12699 IXpbBuilderImpl_vTable.dispose := @IXpbBuilderImpl_disposeDispatcher;
12700 IXpbBuilderImpl_vTable.clear := @IXpbBuilderImpl_clearDispatcher;
12701 IXpbBuilderImpl_vTable.removeCurrent := @IXpbBuilderImpl_removeCurrentDispatcher;
12702 IXpbBuilderImpl_vTable.insertInt := @IXpbBuilderImpl_insertIntDispatcher;
12703 IXpbBuilderImpl_vTable.insertBigInt := @IXpbBuilderImpl_insertBigIntDispatcher;
12704 IXpbBuilderImpl_vTable.insertBytes := @IXpbBuilderImpl_insertBytesDispatcher;
12705 IXpbBuilderImpl_vTable.insertString := @IXpbBuilderImpl_insertStringDispatcher;
12706 IXpbBuilderImpl_vTable.insertTag := @IXpbBuilderImpl_insertTagDispatcher;
12707 IXpbBuilderImpl_vTable.isEof := @IXpbBuilderImpl_isEofDispatcher;
12708 IXpbBuilderImpl_vTable.moveNext := @IXpbBuilderImpl_moveNextDispatcher;
12709 IXpbBuilderImpl_vTable.rewind := @IXpbBuilderImpl_rewindDispatcher;
12710 IXpbBuilderImpl_vTable.findFirst := @IXpbBuilderImpl_findFirstDispatcher;
12711 IXpbBuilderImpl_vTable.findNext := @IXpbBuilderImpl_findNextDispatcher;
12712 IXpbBuilderImpl_vTable.getTag := @IXpbBuilderImpl_getTagDispatcher;
12713 IXpbBuilderImpl_vTable.getLength := @IXpbBuilderImpl_getLengthDispatcher;
12714 IXpbBuilderImpl_vTable.getInt := @IXpbBuilderImpl_getIntDispatcher;
12715 IXpbBuilderImpl_vTable.getBigInt := @IXpbBuilderImpl_getBigIntDispatcher;
12716 IXpbBuilderImpl_vTable.getString := @IXpbBuilderImpl_getStringDispatcher;
12717 IXpbBuilderImpl_vTable.getBytes := @IXpbBuilderImpl_getBytesDispatcher;
12718 IXpbBuilderImpl_vTable.getBufferLength := @IXpbBuilderImpl_getBufferLengthDispatcher;
12719 IXpbBuilderImpl_vTable.getBuffer := @IXpbBuilderImpl_getBufferDispatcher;
12720
12721 ITraceConnectionImpl_vTable := TraceConnectionVTable.create;
12722 ITraceConnectionImpl_vTable.version := 9;
12723 ITraceConnectionImpl_vTable.getKind := @ITraceConnectionImpl_getKindDispatcher;
12724 ITraceConnectionImpl_vTable.getProcessID := @ITraceConnectionImpl_getProcessIDDispatcher;
12725 ITraceConnectionImpl_vTable.getUserName := @ITraceConnectionImpl_getUserNameDispatcher;
12726 ITraceConnectionImpl_vTable.getRoleName := @ITraceConnectionImpl_getRoleNameDispatcher;
12727 ITraceConnectionImpl_vTable.getCharSet := @ITraceConnectionImpl_getCharSetDispatcher;
12728 ITraceConnectionImpl_vTable.getRemoteProtocol := @ITraceConnectionImpl_getRemoteProtocolDispatcher;
12729 ITraceConnectionImpl_vTable.getRemoteAddress := @ITraceConnectionImpl_getRemoteAddressDispatcher;
12730 ITraceConnectionImpl_vTable.getRemoteProcessID := @ITraceConnectionImpl_getRemoteProcessIDDispatcher;
12731 ITraceConnectionImpl_vTable.getRemoteProcessName := @ITraceConnectionImpl_getRemoteProcessNameDispatcher;
12732
12733 ITraceDatabaseConnectionImpl_vTable := TraceDatabaseConnectionVTable.create;
12734 ITraceDatabaseConnectionImpl_vTable.version := 11;
12735 ITraceDatabaseConnectionImpl_vTable.getKind := @ITraceDatabaseConnectionImpl_getKindDispatcher;
12736 ITraceDatabaseConnectionImpl_vTable.getProcessID := @ITraceDatabaseConnectionImpl_getProcessIDDispatcher;
12737 ITraceDatabaseConnectionImpl_vTable.getUserName := @ITraceDatabaseConnectionImpl_getUserNameDispatcher;
12738 ITraceDatabaseConnectionImpl_vTable.getRoleName := @ITraceDatabaseConnectionImpl_getRoleNameDispatcher;
12739 ITraceDatabaseConnectionImpl_vTable.getCharSet := @ITraceDatabaseConnectionImpl_getCharSetDispatcher;
12740 ITraceDatabaseConnectionImpl_vTable.getRemoteProtocol := @ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher;
12741 ITraceDatabaseConnectionImpl_vTable.getRemoteAddress := @ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher;
12742 ITraceDatabaseConnectionImpl_vTable.getRemoteProcessID := @ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher;
12743 ITraceDatabaseConnectionImpl_vTable.getRemoteProcessName := @ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher;
12744 ITraceDatabaseConnectionImpl_vTable.getConnectionID := @ITraceDatabaseConnectionImpl_getConnectionIDDispatcher;
12745 ITraceDatabaseConnectionImpl_vTable.getDatabaseName := @ITraceDatabaseConnectionImpl_getDatabaseNameDispatcher;
12746
12747 ITraceTransactionImpl_vTable := TraceTransactionVTable.create;
12748 ITraceTransactionImpl_vTable.version := 5;
12749 ITraceTransactionImpl_vTable.getTransactionID := @ITraceTransactionImpl_getTransactionIDDispatcher;
12750 ITraceTransactionImpl_vTable.getReadOnly := @ITraceTransactionImpl_getReadOnlyDispatcher;
12751 ITraceTransactionImpl_vTable.getWait := @ITraceTransactionImpl_getWaitDispatcher;
12752 ITraceTransactionImpl_vTable.getIsolation := @ITraceTransactionImpl_getIsolationDispatcher;
12753 ITraceTransactionImpl_vTable.getPerf := @ITraceTransactionImpl_getPerfDispatcher;
12754
12755 ITraceParamsImpl_vTable := TraceParamsVTable.create;
12756 ITraceParamsImpl_vTable.version := 2;
12757 ITraceParamsImpl_vTable.getCount := @ITraceParamsImpl_getCountDispatcher;
12758 ITraceParamsImpl_vTable.getParam := @ITraceParamsImpl_getParamDispatcher;
12759
12760 ITraceStatementImpl_vTable := TraceStatementVTable.create;
12761 ITraceStatementImpl_vTable.version := 2;
12762 ITraceStatementImpl_vTable.getStmtID := @ITraceStatementImpl_getStmtIDDispatcher;
12763 ITraceStatementImpl_vTable.getPerf := @ITraceStatementImpl_getPerfDispatcher;
12764
12765 ITraceSQLStatementImpl_vTable := TraceSQLStatementVTable.create;
12766 ITraceSQLStatementImpl_vTable.version := 7;
12767 ITraceSQLStatementImpl_vTable.getStmtID := @ITraceSQLStatementImpl_getStmtIDDispatcher;
12768 ITraceSQLStatementImpl_vTable.getPerf := @ITraceSQLStatementImpl_getPerfDispatcher;
12769 ITraceSQLStatementImpl_vTable.getText := @ITraceSQLStatementImpl_getTextDispatcher;
12770 ITraceSQLStatementImpl_vTable.getPlan := @ITraceSQLStatementImpl_getPlanDispatcher;
12771 ITraceSQLStatementImpl_vTable.getInputs := @ITraceSQLStatementImpl_getInputsDispatcher;
12772 ITraceSQLStatementImpl_vTable.getTextUTF8 := @ITraceSQLStatementImpl_getTextUTF8Dispatcher;
12773 ITraceSQLStatementImpl_vTable.getExplainedPlan := @ITraceSQLStatementImpl_getExplainedPlanDispatcher;
12774
12775 ITraceBLRStatementImpl_vTable := TraceBLRStatementVTable.create;
12776 ITraceBLRStatementImpl_vTable.version := 5;
12777 ITraceBLRStatementImpl_vTable.getStmtID := @ITraceBLRStatementImpl_getStmtIDDispatcher;
12778 ITraceBLRStatementImpl_vTable.getPerf := @ITraceBLRStatementImpl_getPerfDispatcher;
12779 ITraceBLRStatementImpl_vTable.getData := @ITraceBLRStatementImpl_getDataDispatcher;
12780 ITraceBLRStatementImpl_vTable.getDataLength := @ITraceBLRStatementImpl_getDataLengthDispatcher;
12781 ITraceBLRStatementImpl_vTable.getText := @ITraceBLRStatementImpl_getTextDispatcher;
12782
12783 ITraceDYNRequestImpl_vTable := TraceDYNRequestVTable.create;
12784 ITraceDYNRequestImpl_vTable.version := 3;
12785 ITraceDYNRequestImpl_vTable.getData := @ITraceDYNRequestImpl_getDataDispatcher;
12786 ITraceDYNRequestImpl_vTable.getDataLength := @ITraceDYNRequestImpl_getDataLengthDispatcher;
12787 ITraceDYNRequestImpl_vTable.getText := @ITraceDYNRequestImpl_getTextDispatcher;
12788
12789 ITraceContextVariableImpl_vTable := TraceContextVariableVTable.create;
12790 ITraceContextVariableImpl_vTable.version := 3;
12791 ITraceContextVariableImpl_vTable.getNameSpace := @ITraceContextVariableImpl_getNameSpaceDispatcher;
12792 ITraceContextVariableImpl_vTable.getVarName := @ITraceContextVariableImpl_getVarNameDispatcher;
12793 ITraceContextVariableImpl_vTable.getVarValue := @ITraceContextVariableImpl_getVarValueDispatcher;
12794
12795 ITraceProcedureImpl_vTable := TraceProcedureVTable.create;
12796 ITraceProcedureImpl_vTable.version := 3;
12797 ITraceProcedureImpl_vTable.getProcName := @ITraceProcedureImpl_getProcNameDispatcher;
12798 ITraceProcedureImpl_vTable.getInputs := @ITraceProcedureImpl_getInputsDispatcher;
12799 ITraceProcedureImpl_vTable.getPerf := @ITraceProcedureImpl_getPerfDispatcher;
12800
12801 ITraceFunctionImpl_vTable := TraceFunctionVTable.create;
12802 ITraceFunctionImpl_vTable.version := 4;
12803 ITraceFunctionImpl_vTable.getFuncName := @ITraceFunctionImpl_getFuncNameDispatcher;
12804 ITraceFunctionImpl_vTable.getInputs := @ITraceFunctionImpl_getInputsDispatcher;
12805 ITraceFunctionImpl_vTable.getResult := @ITraceFunctionImpl_getResultDispatcher;
12806 ITraceFunctionImpl_vTable.getPerf := @ITraceFunctionImpl_getPerfDispatcher;
12807
12808 ITraceTriggerImpl_vTable := TraceTriggerVTable.create;
12809 ITraceTriggerImpl_vTable.version := 5;
12810 ITraceTriggerImpl_vTable.getTriggerName := @ITraceTriggerImpl_getTriggerNameDispatcher;
12811 ITraceTriggerImpl_vTable.getRelationName := @ITraceTriggerImpl_getRelationNameDispatcher;
12812 ITraceTriggerImpl_vTable.getAction := @ITraceTriggerImpl_getActionDispatcher;
12813 ITraceTriggerImpl_vTable.getWhich := @ITraceTriggerImpl_getWhichDispatcher;
12814 ITraceTriggerImpl_vTable.getPerf := @ITraceTriggerImpl_getPerfDispatcher;
12815
12816 ITraceServiceConnectionImpl_vTable := TraceServiceConnectionVTable.create;
12817 ITraceServiceConnectionImpl_vTable.version := 12;
12818 ITraceServiceConnectionImpl_vTable.getKind := @ITraceServiceConnectionImpl_getKindDispatcher;
12819 ITraceServiceConnectionImpl_vTable.getProcessID := @ITraceServiceConnectionImpl_getProcessIDDispatcher;
12820 ITraceServiceConnectionImpl_vTable.getUserName := @ITraceServiceConnectionImpl_getUserNameDispatcher;
12821 ITraceServiceConnectionImpl_vTable.getRoleName := @ITraceServiceConnectionImpl_getRoleNameDispatcher;
12822 ITraceServiceConnectionImpl_vTable.getCharSet := @ITraceServiceConnectionImpl_getCharSetDispatcher;
12823 ITraceServiceConnectionImpl_vTable.getRemoteProtocol := @ITraceServiceConnectionImpl_getRemoteProtocolDispatcher;
12824 ITraceServiceConnectionImpl_vTable.getRemoteAddress := @ITraceServiceConnectionImpl_getRemoteAddressDispatcher;
12825 ITraceServiceConnectionImpl_vTable.getRemoteProcessID := @ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher;
12826 ITraceServiceConnectionImpl_vTable.getRemoteProcessName := @ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher;
12827 ITraceServiceConnectionImpl_vTable.getServiceID := @ITraceServiceConnectionImpl_getServiceIDDispatcher;
12828 ITraceServiceConnectionImpl_vTable.getServiceMgr := @ITraceServiceConnectionImpl_getServiceMgrDispatcher;
12829 ITraceServiceConnectionImpl_vTable.getServiceName := @ITraceServiceConnectionImpl_getServiceNameDispatcher;
12830
12831 ITraceStatusVectorImpl_vTable := TraceStatusVectorVTable.create;
12832 ITraceStatusVectorImpl_vTable.version := 4;
12833 ITraceStatusVectorImpl_vTable.hasError := @ITraceStatusVectorImpl_hasErrorDispatcher;
12834 ITraceStatusVectorImpl_vTable.hasWarning := @ITraceStatusVectorImpl_hasWarningDispatcher;
12835 ITraceStatusVectorImpl_vTable.getStatus := @ITraceStatusVectorImpl_getStatusDispatcher;
12836 ITraceStatusVectorImpl_vTable.getText := @ITraceStatusVectorImpl_getTextDispatcher;
12837
12838 ITraceSweepInfoImpl_vTable := TraceSweepInfoVTable.create;
12839 ITraceSweepInfoImpl_vTable.version := 5;
12840 ITraceSweepInfoImpl_vTable.getOIT := @ITraceSweepInfoImpl_getOITDispatcher;
12841 ITraceSweepInfoImpl_vTable.getOST := @ITraceSweepInfoImpl_getOSTDispatcher;
12842 ITraceSweepInfoImpl_vTable.getOAT := @ITraceSweepInfoImpl_getOATDispatcher;
12843 ITraceSweepInfoImpl_vTable.getNext := @ITraceSweepInfoImpl_getNextDispatcher;
12844 ITraceSweepInfoImpl_vTable.getPerf := @ITraceSweepInfoImpl_getPerfDispatcher;
12845
12846 ITraceLogWriterImpl_vTable := TraceLogWriterVTable.create;
12847 ITraceLogWriterImpl_vTable.version := 3;
12848 ITraceLogWriterImpl_vTable.addRef := @ITraceLogWriterImpl_addRefDispatcher;
12849 ITraceLogWriterImpl_vTable.release := @ITraceLogWriterImpl_releaseDispatcher;
12850 ITraceLogWriterImpl_vTable.write := @ITraceLogWriterImpl_writeDispatcher;
12851
12852 ITraceInitInfoImpl_vTable := TraceInitInfoVTable.create;
12853 ITraceInitInfoImpl_vTable.version := 7;
12854 ITraceInitInfoImpl_vTable.getConfigText := @ITraceInitInfoImpl_getConfigTextDispatcher;
12855 ITraceInitInfoImpl_vTable.getTraceSessionID := @ITraceInitInfoImpl_getTraceSessionIDDispatcher;
12856 ITraceInitInfoImpl_vTable.getTraceSessionName := @ITraceInitInfoImpl_getTraceSessionNameDispatcher;
12857 ITraceInitInfoImpl_vTable.getFirebirdRootDirectory := @ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher;
12858 ITraceInitInfoImpl_vTable.getDatabaseName := @ITraceInitInfoImpl_getDatabaseNameDispatcher;
12859 ITraceInitInfoImpl_vTable.getConnection := @ITraceInitInfoImpl_getConnectionDispatcher;
12860 ITraceInitInfoImpl_vTable.getLogWriter := @ITraceInitInfoImpl_getLogWriterDispatcher;
12861
12862 ITracePluginImpl_vTable := TracePluginVTable.create;
12863 ITracePluginImpl_vTable.version := 23;
12864 ITracePluginImpl_vTable.addRef := @ITracePluginImpl_addRefDispatcher;
12865 ITracePluginImpl_vTable.release := @ITracePluginImpl_releaseDispatcher;
12866 ITracePluginImpl_vTable.trace_get_error := @ITracePluginImpl_trace_get_errorDispatcher;
12867 ITracePluginImpl_vTable.trace_attach := @ITracePluginImpl_trace_attachDispatcher;
12868 ITracePluginImpl_vTable.trace_detach := @ITracePluginImpl_trace_detachDispatcher;
12869 ITracePluginImpl_vTable.trace_transaction_start := @ITracePluginImpl_trace_transaction_startDispatcher;
12870 ITracePluginImpl_vTable.trace_transaction_end := @ITracePluginImpl_trace_transaction_endDispatcher;
12871 ITracePluginImpl_vTable.trace_proc_execute := @ITracePluginImpl_trace_proc_executeDispatcher;
12872 ITracePluginImpl_vTable.trace_trigger_execute := @ITracePluginImpl_trace_trigger_executeDispatcher;
12873 ITracePluginImpl_vTable.trace_set_context := @ITracePluginImpl_trace_set_contextDispatcher;
12874 ITracePluginImpl_vTable.trace_dsql_prepare := @ITracePluginImpl_trace_dsql_prepareDispatcher;
12875 ITracePluginImpl_vTable.trace_dsql_free := @ITracePluginImpl_trace_dsql_freeDispatcher;
12876 ITracePluginImpl_vTable.trace_dsql_execute := @ITracePluginImpl_trace_dsql_executeDispatcher;
12877 ITracePluginImpl_vTable.trace_blr_compile := @ITracePluginImpl_trace_blr_compileDispatcher;
12878 ITracePluginImpl_vTable.trace_blr_execute := @ITracePluginImpl_trace_blr_executeDispatcher;
12879 ITracePluginImpl_vTable.trace_dyn_execute := @ITracePluginImpl_trace_dyn_executeDispatcher;
12880 ITracePluginImpl_vTable.trace_service_attach := @ITracePluginImpl_trace_service_attachDispatcher;
12881 ITracePluginImpl_vTable.trace_service_start := @ITracePluginImpl_trace_service_startDispatcher;
12882 ITracePluginImpl_vTable.trace_service_query := @ITracePluginImpl_trace_service_queryDispatcher;
12883 ITracePluginImpl_vTable.trace_service_detach := @ITracePluginImpl_trace_service_detachDispatcher;
12884 ITracePluginImpl_vTable.trace_event_error := @ITracePluginImpl_trace_event_errorDispatcher;
12885 ITracePluginImpl_vTable.trace_event_sweep := @ITracePluginImpl_trace_event_sweepDispatcher;
12886 ITracePluginImpl_vTable.trace_func_execute := @ITracePluginImpl_trace_func_executeDispatcher;
12887
12888 ITraceFactoryImpl_vTable := TraceFactoryVTable.create;
12889 ITraceFactoryImpl_vTable.version := 6;
12890 ITraceFactoryImpl_vTable.addRef := @ITraceFactoryImpl_addRefDispatcher;
12891 ITraceFactoryImpl_vTable.release := @ITraceFactoryImpl_releaseDispatcher;
12892 ITraceFactoryImpl_vTable.setOwner := @ITraceFactoryImpl_setOwnerDispatcher;
12893 ITraceFactoryImpl_vTable.getOwner := @ITraceFactoryImpl_getOwnerDispatcher;
12894 ITraceFactoryImpl_vTable.trace_needs := @ITraceFactoryImpl_trace_needsDispatcher;
12895 ITraceFactoryImpl_vTable.trace_create := @ITraceFactoryImpl_trace_createDispatcher;
12896
12897 IUdrFunctionFactoryImpl_vTable := UdrFunctionFactoryVTable.create;
12898 IUdrFunctionFactoryImpl_vTable.version := 3;
12899 IUdrFunctionFactoryImpl_vTable.dispose := @IUdrFunctionFactoryImpl_disposeDispatcher;
12900 IUdrFunctionFactoryImpl_vTable.setup := @IUdrFunctionFactoryImpl_setupDispatcher;
12901 IUdrFunctionFactoryImpl_vTable.newItem := @IUdrFunctionFactoryImpl_newItemDispatcher;
12902
12903 IUdrProcedureFactoryImpl_vTable := UdrProcedureFactoryVTable.create;
12904 IUdrProcedureFactoryImpl_vTable.version := 3;
12905 IUdrProcedureFactoryImpl_vTable.dispose := @IUdrProcedureFactoryImpl_disposeDispatcher;
12906 IUdrProcedureFactoryImpl_vTable.setup := @IUdrProcedureFactoryImpl_setupDispatcher;
12907 IUdrProcedureFactoryImpl_vTable.newItem := @IUdrProcedureFactoryImpl_newItemDispatcher;
12908
12909 IUdrTriggerFactoryImpl_vTable := UdrTriggerFactoryVTable.create;
12910 IUdrTriggerFactoryImpl_vTable.version := 3;
12911 IUdrTriggerFactoryImpl_vTable.dispose := @IUdrTriggerFactoryImpl_disposeDispatcher;
12912 IUdrTriggerFactoryImpl_vTable.setup := @IUdrTriggerFactoryImpl_setupDispatcher;
12913 IUdrTriggerFactoryImpl_vTable.newItem := @IUdrTriggerFactoryImpl_newItemDispatcher;
12914
12915 IUdrPluginImpl_vTable := UdrPluginVTable.create;
12916 IUdrPluginImpl_vTable.version := 4;
12917 IUdrPluginImpl_vTable.getMaster := @IUdrPluginImpl_getMasterDispatcher;
12918 IUdrPluginImpl_vTable.registerFunction := @IUdrPluginImpl_registerFunctionDispatcher;
12919 IUdrPluginImpl_vTable.registerProcedure := @IUdrPluginImpl_registerProcedureDispatcher;
12920 IUdrPluginImpl_vTable.registerTrigger := @IUdrPluginImpl_registerTriggerDispatcher;
12921
12922 finalization
12923 IVersionedImpl_vTable.destroy;
12924 IReferenceCountedImpl_vTable.destroy;
12925 IDisposableImpl_vTable.destroy;
12926 IStatusImpl_vTable.destroy;
12927 IMasterImpl_vTable.destroy;
12928 IPluginBaseImpl_vTable.destroy;
12929 IPluginSetImpl_vTable.destroy;
12930 IConfigEntryImpl_vTable.destroy;
12931 IConfigImpl_vTable.destroy;
12932 IFirebirdConfImpl_vTable.destroy;
12933 IPluginConfigImpl_vTable.destroy;
12934 IPluginFactoryImpl_vTable.destroy;
12935 IPluginModuleImpl_vTable.destroy;
12936 IPluginManagerImpl_vTable.destroy;
12937 ICryptKeyImpl_vTable.destroy;
12938 IConfigManagerImpl_vTable.destroy;
12939 IEventCallbackImpl_vTable.destroy;
12940 IBlobImpl_vTable.destroy;
12941 ITransactionImpl_vTable.destroy;
12942 IMessageMetadataImpl_vTable.destroy;
12943 IMetadataBuilderImpl_vTable.destroy;
12944 IResultSetImpl_vTable.destroy;
12945 IStatementImpl_vTable.destroy;
12946 IRequestImpl_vTable.destroy;
12947 IEventsImpl_vTable.destroy;
12948 IAttachmentImpl_vTable.destroy;
12949 IServiceImpl_vTable.destroy;
12950 IProviderImpl_vTable.destroy;
12951 IDtcStartImpl_vTable.destroy;
12952 IDtcImpl_vTable.destroy;
12953 IAuthImpl_vTable.destroy;
12954 IWriterImpl_vTable.destroy;
12955 IServerBlockImpl_vTable.destroy;
12956 IClientBlockImpl_vTable.destroy;
12957 IServerImpl_vTable.destroy;
12958 IClientImpl_vTable.destroy;
12959 IUserFieldImpl_vTable.destroy;
12960 ICharUserFieldImpl_vTable.destroy;
12961 IIntUserFieldImpl_vTable.destroy;
12962 IUserImpl_vTable.destroy;
12963 IListUsersImpl_vTable.destroy;
12964 ILogonInfoImpl_vTable.destroy;
12965 IManagementImpl_vTable.destroy;
12966 IWireCryptPluginImpl_vTable.destroy;
12967 ICryptKeyCallbackImpl_vTable.destroy;
12968 IKeyHolderPluginImpl_vTable.destroy;
12969 IDbCryptPluginImpl_vTable.destroy;
12970 IExternalContextImpl_vTable.destroy;
12971 IExternalResultSetImpl_vTable.destroy;
12972 IExternalFunctionImpl_vTable.destroy;
12973 IExternalProcedureImpl_vTable.destroy;
12974 IExternalTriggerImpl_vTable.destroy;
12975 IRoutineMetadataImpl_vTable.destroy;
12976 IExternalEngineImpl_vTable.destroy;
12977 ITimerImpl_vTable.destroy;
12978 ITimerControlImpl_vTable.destroy;
12979 IVersionCallbackImpl_vTable.destroy;
12980 IUtilImpl_vTable.destroy;
12981 IOffsetsCallbackImpl_vTable.destroy;
12982 IXpbBuilderImpl_vTable.destroy;
12983 ITraceConnectionImpl_vTable.destroy;
12984 ITraceDatabaseConnectionImpl_vTable.destroy;
12985 ITraceTransactionImpl_vTable.destroy;
12986 ITraceParamsImpl_vTable.destroy;
12987 ITraceStatementImpl_vTable.destroy;
12988 ITraceSQLStatementImpl_vTable.destroy;
12989 ITraceBLRStatementImpl_vTable.destroy;
12990 ITraceDYNRequestImpl_vTable.destroy;
12991 ITraceContextVariableImpl_vTable.destroy;
12992 ITraceProcedureImpl_vTable.destroy;
12993 ITraceFunctionImpl_vTable.destroy;
12994 ITraceTriggerImpl_vTable.destroy;
12995 ITraceServiceConnectionImpl_vTable.destroy;
12996 ITraceStatusVectorImpl_vTable.destroy;
12997 ITraceSweepInfoImpl_vTable.destroy;
12998 ITraceLogWriterImpl_vTable.destroy;
12999 ITraceInitInfoImpl_vTable.destroy;
13000 ITracePluginImpl_vTable.destroy;
13001 ITraceFactoryImpl_vTable.destroy;
13002 IUdrFunctionFactoryImpl_vTable.destroy;
13003 IUdrProcedureFactoryImpl_vTable.destroy;
13004 IUdrTriggerFactoryImpl_vTable.destroy;
13005 IUdrPluginImpl_vTable.destroy;
13006
13007 end.