@@ -447,6 +447,8 @@ ISC_TIMESTAMP_TZ_EX = record
447447 ILogonInfo_networkProtocolPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
448448 ILogonInfo_remoteAddressPtr = function(this: ILogonInfo): PAnsiChar; cdecl;
449449 ILogonInfo_authBlockPtr = function(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl;
450+ ILogonInfo_attachmentPtr = function(this: ILogonInfo; status: IStatus): IAttachment; cdecl;
451+ ILogonInfo_transactionPtr = function(this: ILogonInfo; status: IStatus): ITransaction; cdecl;
450452 IManagement_startPtr = procedure(this: IManagement; status: IStatus; logonInfo: ILogonInfo); cdecl;
451453 IManagement_executePtr = function(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl;
452454 IManagement_commitPtr = procedure(this: IManagement; status: IStatus); cdecl;
@@ -2127,16 +2129,20 @@ LogonInfoVTable = class(VersionedVTable)
21272129 networkProtocol: ILogonInfo_networkProtocolPtr;
21282130 remoteAddress: ILogonInfo_remoteAddressPtr;
21292131 authBlock: ILogonInfo_authBlockPtr;
2132+ attachment: ILogonInfo_attachmentPtr;
2133+ transaction: ILogonInfo_transactionPtr;
21302134 end;
21312135
21322136 ILogonInfo = class(IVersioned)
2133- const VERSION = 2 ;
2137+ const VERSION = 3 ;
21342138
21352139 function name(): PAnsiChar;
21362140 function role(): PAnsiChar;
21372141 function networkProtocol(): PAnsiChar;
21382142 function remoteAddress(): PAnsiChar;
21392143 function authBlock(length: CardinalPtr): BytePtr;
2144+ function attachment(status: IStatus): IAttachment;
2145+ function transaction(status: IStatus): ITransaction;
21402146 end;
21412147
21422148 ILogonInfoImpl = class(ILogonInfo)
@@ -2147,6 +2153,8 @@ ILogonInfoImpl = class(ILogonInfo)
21472153 function networkProtocol(): PAnsiChar; virtual; abstract;
21482154 function remoteAddress(): PAnsiChar; virtual; abstract;
21492155 function authBlock(length: CardinalPtr): BytePtr; virtual; abstract;
2156+ function attachment(status: IStatus): IAttachment; virtual; abstract;
2157+ function transaction(status: IStatus): ITransaction; virtual; abstract;
21502158 end;
21512159
21522160 ManagementVTable = class(PluginBaseVTable)
@@ -6925,6 +6933,18 @@ function ILogonInfo.authBlock(length: CardinalPtr): BytePtr;
69256933 Result := LogonInfoVTable(vTable).authBlock(Self, length);
69266934end;
69276935
6936+ function ILogonInfo.attachment(status: IStatus): IAttachment;
6937+ begin
6938+ Result := LogonInfoVTable(vTable).attachment(Self, status);
6939+ FbException.checkException(status);
6940+ end;
6941+
6942+ function ILogonInfo.transaction(status: IStatus): ITransaction;
6943+ begin
6944+ Result := LogonInfoVTable(vTable).transaction(Self, status);
6945+ FbException.checkException(status);
6946+ end;
6947+
69286948procedure IManagement.start(status: IStatus; logonInfo: ILogonInfo);
69296949begin
69306950 ManagementVTable(vTable).start(Self, status, logonInfo);
@@ -11392,6 +11412,24 @@ function ILogonInfoImpl_authBlockDispatcher(this: ILogonInfo; length: CardinalPt
1139211412 end
1139311413end;
1139411414
11415+ function ILogonInfoImpl_attachmentDispatcher(this: ILogonInfo; status: IStatus): IAttachment; cdecl;
11416+ begin
11417+ try
11418+ Result := ILogonInfoImpl(this).attachment(status);
11419+ except
11420+ on e: Exception do FbException.catchException(status, e);
11421+ end
11422+ end;
11423+
11424+ function ILogonInfoImpl_transactionDispatcher(this: ILogonInfo; status: IStatus): ITransaction; cdecl;
11425+ begin
11426+ try
11427+ Result := ILogonInfoImpl(this).transaction(status);
11428+ except
11429+ on e: Exception do FbException.catchException(status, e);
11430+ end
11431+ end;
11432+
1139511433var
1139611434 ILogonInfoImpl_vTable: LogonInfoVTable;
1139711435
@@ -15088,12 +15126,14 @@ initialization
1508815126 IListUsersImpl_vTable.list := @IListUsersImpl_listDispatcher;
1508915127
1509015128 ILogonInfoImpl_vTable := LogonInfoVTable.create;
15091- ILogonInfoImpl_vTable.version := 2 ;
15129+ ILogonInfoImpl_vTable.version := 3 ;
1509215130 ILogonInfoImpl_vTable.name := @ILogonInfoImpl_nameDispatcher;
1509315131 ILogonInfoImpl_vTable.role := @ILogonInfoImpl_roleDispatcher;
1509415132 ILogonInfoImpl_vTable.networkProtocol := @ILogonInfoImpl_networkProtocolDispatcher;
1509515133 ILogonInfoImpl_vTable.remoteAddress := @ILogonInfoImpl_remoteAddressDispatcher;
1509615134 ILogonInfoImpl_vTable.authBlock := @ILogonInfoImpl_authBlockDispatcher;
15135+ ILogonInfoImpl_vTable.attachment := @ILogonInfoImpl_attachmentDispatcher;
15136+ ILogonInfoImpl_vTable.transaction := @ILogonInfoImpl_transactionDispatcher;
1509715137
1509815138 IManagementImpl_vTable := ManagementVTable.create;
1509915139 IManagementImpl_vTable.version := 4;
0 commit comments