unit DataAbstract4_Invk; {----------------------------------------------------------------------------} { This unit was automatically generated by the RemObjects SDK after reading } { the RODL file associated with this project . } { } { Do not modify this unit manually, or your changes will be lost when this } { unit is regenerated the next time you compile the project. } {----------------------------------------------------------------------------} {$I DataAbstract.inc} interface uses {vcl:} Classes, {RemObjects:} uROXMLIntf, uROServer, uROServerIntf, uROTypes, uROClientIntf, {Generated:} DataAbstract4_Intf; type {$M+} TDataAbstractService_Invoker = class(TROInvoker) private protected published procedure Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_UpdateData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_ExecuteCommand(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_ExecuteCommandEx(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetTableSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetCommandSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_SQLGetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_SQLExecuteCommand(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetDatasetScripts(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_RegisterForDataChangeNotification(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_UnregisterForDataChangeNotification(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} {$M+} TBaseLoginService_Invoker = class(TROInvoker) private protected published procedure Invoke_Logout(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} {$M+} TMultiDbLoginService_Invoker = class(TBaseLoginService_Invoker) private protected published procedure Invoke_Login(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} {$M+} TMultiDbLoginServiceV5_Invoker = class(TMultiDbLoginService_Invoker) private protected published procedure Invoke_GetConnectionNames(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetDefaultConnectionName(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} {$M+} TSimpleLoginService_Invoker = class(TBaseLoginService_Invoker) private protected published procedure Invoke_Login(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} implementation uses {RemObjects:} uRORes, uROClient; { TDataAbstractService_Invoker } procedure TDataAbstractService_Invoker.Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetSchema(const aFilter: Utf8String): Utf8String; } var aFilter: Utf8String; lResult: Utf8String; begin try __Message.Read('aFilter', TypeInfo(Utf8String), aFilter, []); lResult := (__Instance as IDataAbstractService).GetSchema(aFilter); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'GetSchemaResponse'); __Message.Write('Result', TypeInfo(Utf8String), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally end; end; procedure TDataAbstractService_Invoker.Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetData(const aTableNameArray: StringArray; const aTableRequestInfoArray: TableRequestInfoArray): Binary; } var aTableNameArray: DataAbstract4_Intf.StringArray; aTableRequestInfoArray: DataAbstract4_Intf.TableRequestInfoArray; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin aTableNameArray := nil; aTableRequestInfoArray := nil; lResult := nil; try __Message.Read('aTableNameArray', TypeInfo(DataAbstract4_Intf.StringArray), aTableNameArray, []); __Message.Read('aTableRequestInfoArray', TypeInfo(DataAbstract4_Intf.TableRequestInfoArray), aTableRequestInfoArray, []); lResult := (__Instance as IDataAbstractService).GetData(aTableNameArray, aTableRequestInfoArray); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'GetDataResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aTableNameArray); __lObjectDisposer.Add(aTableRequestInfoArray); __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); end; end; end; procedure TDataAbstractService_Invoker.Invoke_UpdateData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function UpdateData(const aDelta: Binary): Binary; } var aDelta: Binary; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin aDelta := nil; lResult := nil; try __Message.Read('aDelta', TypeInfo(Binary), aDelta, []); lResult := (__Instance as IDataAbstractService).UpdateData(aDelta); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'UpdateDataResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aDelta); __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); end; end; end; procedure TDataAbstractService_Invoker.Invoke_ExecuteCommand(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function ExecuteCommand(const aCommandName: Utf8String; const aParameterArray: DataParameterArray): Integer; } var aCommandName: Utf8String; aParameterArray: DataAbstract4_Intf.DataParameterArray; lResult: Integer; __lObjectDisposer: TROObjectDisposer; begin aParameterArray := nil; try __Message.Read('aCommandName', TypeInfo(Utf8String), aCommandName, []); __Message.Read('aParameterArray', TypeInfo(DataAbstract4_Intf.DataParameterArray), aParameterArray, []); lResult := (__Instance as IDataAbstractService).ExecuteCommand(aCommandName, aParameterArray); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'ExecuteCommandResponse'); __Message.Write('Result', TypeInfo(Integer), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aParameterArray); finally __lObjectDisposer.Free(); end; end; end; procedure TDataAbstractService_Invoker.Invoke_ExecuteCommandEx(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function ExecuteCommandEx(const aCommandName: Utf8String; const aInputParameters: DataParameterArray; out aOutputParameters: DataParameterArray): Integer; } var aCommandName: Utf8String; aInputParameters: DataAbstract4_Intf.DataParameterArray; aOutputParameters: DataAbstract4_Intf.DataParameterArray; lResult: Integer; __lObjectDisposer: TROObjectDisposer; begin aInputParameters := nil; aOutputParameters := nil; try __Message.Read('aCommandName', TypeInfo(Utf8String), aCommandName, []); __Message.Read('aInputParameters', TypeInfo(DataAbstract4_Intf.DataParameterArray), aInputParameters, []); lResult := (__Instance as IDataAbstractService).ExecuteCommandEx(aCommandName, aInputParameters, aOutputParameters); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'ExecuteCommandExResponse'); __Message.Write('Result', TypeInfo(Integer), lResult, []); __Message.Write('aOutputParameters', TypeInfo(DataAbstract4_Intf.DataParameterArray), aOutputParameters, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aInputParameters); __lObjectDisposer.Add(aOutputParameters); finally __lObjectDisposer.Free(); end; end; end; procedure TDataAbstractService_Invoker.Invoke_GetTableSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetTableSchema(const aTableNameArray: StringArray): Utf8String; } var aTableNameArray: DataAbstract4_Intf.StringArray; lResult: Utf8String; __lObjectDisposer: TROObjectDisposer; begin aTableNameArray := nil; try __Message.Read('aTableNameArray', TypeInfo(DataAbstract4_Intf.StringArray), aTableNameArray, []); lResult := (__Instance as IDataAbstractService).GetTableSchema(aTableNameArray); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'GetTableSchemaResponse'); __Message.Write('Result', TypeInfo(Utf8String), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aTableNameArray); finally __lObjectDisposer.Free(); end; end; end; procedure TDataAbstractService_Invoker.Invoke_GetCommandSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetCommandSchema(const aCommandNameArray: StringArray): Utf8String; } var aCommandNameArray: DataAbstract4_Intf.StringArray; lResult: Utf8String; __lObjectDisposer: TROObjectDisposer; begin aCommandNameArray := nil; try __Message.Read('aCommandNameArray', TypeInfo(DataAbstract4_Intf.StringArray), aCommandNameArray, []); lResult := (__Instance as IDataAbstractService).GetCommandSchema(aCommandNameArray); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'GetCommandSchemaResponse'); __Message.Write('Result', TypeInfo(Utf8String), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aCommandNameArray); finally __lObjectDisposer.Free(); end; end; end; procedure TDataAbstractService_Invoker.Invoke_SQLGetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function SQLGetData(const aSQLText: Utf8String; const aIncludeSchema: Boolean; const aMaxRecords: Integer): Binary; } var aSQLText: Utf8String; aIncludeSchema: Boolean; aMaxRecords: Integer; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin lResult := nil; try __Message.Read('aSQLText', TypeInfo(Utf8String), aSQLText, []); __Message.Read('aIncludeSchema', TypeInfo(Boolean), aIncludeSchema, []); __Message.Read('aMaxRecords', TypeInfo(Integer), aMaxRecords, []); lResult := (__Instance as IDataAbstractService).SQLGetData(aSQLText, aIncludeSchema, aMaxRecords); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'SQLGetDataResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); end; end; end; procedure TDataAbstractService_Invoker.Invoke_SQLExecuteCommand(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function SQLExecuteCommand(const aSQLText: Utf8String): Integer; } var aSQLText: Utf8String; lResult: Integer; begin try __Message.Read('aSQLText', TypeInfo(Utf8String), aSQLText, []); lResult := (__Instance as IDataAbstractService).SQLExecuteCommand(aSQLText); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'SQLExecuteCommandResponse'); __Message.Write('Result', TypeInfo(Integer), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally end; end; procedure TDataAbstractService_Invoker.Invoke_GetDatasetScripts(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetDatasetScripts(const DatasetNames: Utf8String): Utf8String; } var DatasetNames: Utf8String; lResult: Utf8String; begin try __Message.Read('DatasetNames', TypeInfo(Utf8String), DatasetNames, []); lResult := (__Instance as IDataAbstractService).GetDatasetScripts(DatasetNames); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'GetDatasetScriptsResponse'); __Message.Write('Result', TypeInfo(Utf8String), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally end; end; procedure TDataAbstractService_Invoker.Invoke_RegisterForDataChangeNotification(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { procedure RegisterForDataChangeNotification(const aTableName: Utf8String); } var aTableName: Utf8String; begin try __Message.Read('aTableName', TypeInfo(Utf8String), aTableName, []); (__Instance as IDataAbstractService).RegisterForDataChangeNotification(aTableName); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'RegisterForDataChangeNotificationResponse'); __Message.Finalize; __Message.UnsetAttributes(__Transport); __oResponseOptions := [roNoResponse]; finally end; end; procedure TDataAbstractService_Invoker.Invoke_UnregisterForDataChangeNotification(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { procedure UnregisterForDataChangeNotification(const aTableName: Utf8String); } var aTableName: Utf8String; begin try __Message.Read('aTableName', TypeInfo(Utf8String), aTableName, []); (__Instance as IDataAbstractService).UnregisterForDataChangeNotification(aTableName); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'DataAbstractService', 'UnregisterForDataChangeNotificationResponse'); __Message.Finalize; __Message.UnsetAttributes(__Transport); __oResponseOptions := [roNoResponse]; finally end; end; { TSimpleLoginService_Invoker } procedure TSimpleLoginService_Invoker.Invoke_Login(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function Login(const aUserID: Utf8String; const aPassword: Utf8String; out aUserInfo: UserInfo): Boolean; } var aUserID: Utf8String; aPassword: Utf8String; aUserInfo: DataAbstract4_Intf.UserInfo; lResult: Boolean; __lObjectDisposer: TROObjectDisposer; begin aUserInfo := nil; try __Message.Read('aUserID', TypeInfo(Utf8String), aUserID, []); __Message.Read('aPassword', TypeInfo(Utf8String), aPassword, []); lResult := (__Instance as ISimpleLoginService).Login(aUserID, aPassword, aUserInfo); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'SimpleLoginService', 'LoginResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Write('aUserInfo', TypeInfo(DataAbstract4_Intf.UserInfo), aUserInfo, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aUserInfo); finally __lObjectDisposer.Free(); end; end; end; { TBaseLoginService_Invoker } procedure TBaseLoginService_Invoker.Invoke_Logout(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { procedure Logout; } begin try (__Instance as IBaseLoginService).Logout; __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'BaseLoginService', 'LogoutResponse'); __Message.Finalize; __oResponseOptions := [roNoResponse]; finally end; end; { TMultiDbLoginService_Invoker } procedure TMultiDbLoginService_Invoker.Invoke_Login(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function Login(const aUserID: Utf8String; const aPassword: Utf8String; const aConnectionName: Utf8String; out aUserInfo: UserInfo): Boolean; } var aUserID: Utf8String; aPassword: Utf8String; aConnectionName: Utf8String; aUserInfo: DataAbstract4_Intf.UserInfo; lResult: Boolean; __lObjectDisposer: TROObjectDisposer; begin aUserInfo := nil; try __Message.Read('aUserID', TypeInfo(Utf8String), aUserID, []); __Message.Read('aPassword', TypeInfo(Utf8String), aPassword, []); __Message.Read('aConnectionName', TypeInfo(Utf8String), aConnectionName, []); lResult := (__Instance as IMultiDbLoginService).Login(aUserID, aPassword, aConnectionName, aUserInfo); __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'MultiDbLoginService', 'LoginResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Write('aUserInfo', TypeInfo(DataAbstract4_Intf.UserInfo), aUserInfo, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(aUserInfo); finally __lObjectDisposer.Free(); end; end; end; { TMultiDbLoginServiceV5_Invoker } procedure TMultiDbLoginServiceV5_Invoker.Invoke_GetConnectionNames(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetConnectionNames: StringArray; } var lResult: DataAbstract4_Intf.StringArray; __lObjectDisposer: TROObjectDisposer; begin lResult := nil; try lResult := (__Instance as IMultiDbLoginServiceV5).GetConnectionNames; __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'MultiDbLoginServiceV5', 'GetConnectionNamesResponse'); __Message.Write('Result', TypeInfo(DataAbstract4_Intf.StringArray), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); end; end; end; procedure TMultiDbLoginServiceV5_Invoker.Invoke_GetDefaultConnectionName(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetDefaultConnectionName: Utf8String; } var lResult: Utf8String; begin try lResult := (__Instance as IMultiDbLoginServiceV5).GetDefaultConnectionName; __Message.InitializeResponseMessage(__Transport, 'DataAbstract4', 'MultiDbLoginServiceV5', 'GetDefaultConnectionNameResponse'); __Message.Write('Result', TypeInfo(Utf8String), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally end; end; end.