Componentes.Terceros.RemObj.../internal/5.0.23.613/1/Data Abstract for Delphi/Source/DataAbstract3_Intf.pas
david 2824855ea7 - Modificación del paquete RemObjects_Core_D10 para que sea un paquete de runtime/designtime (antes era designtime sólo)
- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10
- Recompilación en Delphi10 de todos los paquetes de DA para generar las DCU's en Lib\D10

git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@9 b6239004-a887-0f4b-9937-50029ccdca16
2007-09-10 14:06:19 +00:00

1045 lines
31 KiB
ObjectPascal

unit DataAbstract3_Intf;
{----------------------------------------------------------------------------}
{ 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, TypInfo,
{RemObjects:} uROClasses, uROClient, uROTypes, uROClientIntf;
const
{ Library ID }
LibraryUID = '{2966A4BF-569C-45AA-8F34-CF1E155FD77A}';
{ Service Interface ID's }
IDARemoteService_IID : TGUID = '{C532E842-0AA9-4253-A9BF-AFCF22885B97}';
IDALoginService_IID : TGUID = '{58550AA0-B64F-495A-B2F8-C981D4C39180}';
{ Event ID's }
type
{ Forward declarations }
IDARemoteService = interface;
IDALoginService = interface;
TDADatasetParamArray = class;
TDADatasetRequestInfoArray = class;
TDAStringArray = class;
TDADatasetParam = class;
TDADatasetRequestInfo = class;
TDALoginInfo = class;
{ TDADatasetParam }
TDADatasetParam = class(TROComplexType)
private
fName: String;
fValue: Variant;
public
procedure Assign(iSource: TPersistent); override;
published
property Name:String read fName write fName;
property Value:Variant read fValue write fValue;
end;
{ TDADatasetParamCollection }
TDADatasetParamCollection = class(TROCollection)
protected
constructor Create(aItemClass: TCollectionItemClass); overload;
function GetItems(Index: integer): TDADatasetParam;
procedure SetItems(Index: integer; const Value: TDADatasetParam);
public
constructor Create; overload;
function Add: TDADatasetParam; reintroduce;
procedure SaveToArray(anArray: TDADatasetParamArray);
procedure LoadFromArray(anArray: TDADatasetParamArray);
property Items[Index: integer]:TDADatasetParam read GetItems write SetItems; default;
end;
{ TDADatasetRequestInfo }
TDADatasetRequestInfo = class(TROComplexType)
private
fDatasetName: String;
fIncludeSchema: Boolean;
fMaxRecords: Integer;
fParams: TDADatasetParamArray;
function GetParams: TDADatasetParamArray;
public
procedure Assign(iSource: TPersistent); override;
published
property DatasetName:String read fDatasetName write fDatasetName;
property IncludeSchema:Boolean read fIncludeSchema write fIncludeSchema;
property MaxRecords:Integer read fMaxRecords write fMaxRecords;
property Params:TDADatasetParamArray read GetParams write fParams;
end;
{ TDADatasetRequestInfoCollection }
TDADatasetRequestInfoCollection = class(TROCollection)
protected
constructor Create(aItemClass: TCollectionItemClass); overload;
function GetItems(Index: integer): TDADatasetRequestInfo;
procedure SetItems(Index: integer; const Value: TDADatasetRequestInfo);
public
constructor Create; overload;
function Add: TDADatasetRequestInfo; reintroduce;
procedure SaveToArray(anArray: TDADatasetRequestInfoArray);
procedure LoadFromArray(anArray: TDADatasetRequestInfoArray);
property Items[Index: integer]:TDADatasetRequestInfo read GetItems write SetItems; default;
end;
{ TDALoginInfo }
TDALoginInfo = class(TROComplexType)
private
fSessionID: String;
fUserID: String;
fPrivileges: TDAStringArray;
fAttributes: TDAStringArray;
fData: Binary;
function GetPrivileges: TDAStringArray;
function GetAttributes: TDAStringArray;
function GetData: Binary;
public
procedure Assign(iSource: TPersistent); override;
published
property SessionID:String read fSessionID write fSessionID;
property UserID:String read fUserID write fUserID;
property Privileges:TDAStringArray read GetPrivileges write fPrivileges;
property Attributes:TDAStringArray read GetAttributes write fAttributes;
property Data:Binary read GetData write fData;
end;
{ TDALoginInfoCollection }
TDALoginInfoCollection = class(TROCollection)
protected
constructor Create(aItemClass: TCollectionItemClass); overload;
function GetItems(Index: integer): TDALoginInfo;
procedure SetItems(Index: integer; const Value: TDALoginInfo);
public
constructor Create; overload;
function Add: TDALoginInfo; reintroduce;
property Items[Index: integer]:TDALoginInfo read GetItems write SetItems; default;
end;
{ TDADatasetParamArray }
TDADatasetParamArray = class(TROArray)
private
fCount: Integer;
fItems : array of TDADatasetParam;
protected
procedure Grow; virtual;
function GetItems(aIndex: integer): TDADatasetParam;
procedure SetItems(aIndex: integer; const Value: TDADatasetParam);
function GetCount: integer; override;
public
class function GetItemType: PTypeInfo; override;
class function GetItemClass: TClass; override;
class function GetItemSize: integer; override;
function GetItemRef(aIndex: integer): pointer; override;
procedure SetItemRef(aIndex: integer; Ref: pointer); override;
procedure Clear; override;
procedure Delete(aIndex: integer); override;
procedure Resize(ElementCount: integer); override;
procedure Assign(iSource:TPersistent); override;
function Add: TDADatasetParam; overload;
function Add(const Value: TDADatasetParam):integer; overload;
property Count : integer read GetCount;
property Items[Index: integer]:TDADatasetParam read GetItems write SetItems; default;
end;
{ TDADatasetRequestInfoArray }
TDADatasetRequestInfoArray = class(TROArray)
private
fCount: Integer;
fItems : array of TDADatasetRequestInfo;
protected
procedure Grow; virtual;
function GetItems(aIndex: integer): TDADatasetRequestInfo;
procedure SetItems(aIndex: integer; const Value: TDADatasetRequestInfo);
function GetCount: integer; override;
public
class function GetItemType: PTypeInfo; override;
class function GetItemClass: TClass; override;
class function GetItemSize: integer; override;
function GetItemRef(aIndex: integer): pointer; override;
procedure SetItemRef(aIndex: integer; Ref: pointer); override;
procedure Clear; override;
procedure Delete(aIndex: integer); override;
procedure Resize(ElementCount: integer); override;
procedure Assign(iSource:TPersistent); override;
function Add: TDADatasetRequestInfo; overload;
function Add(const Value: TDADatasetRequestInfo):integer; overload;
property Count : integer read GetCount;
property Items[Index: integer]:TDADatasetRequestInfo read GetItems write SetItems; default;
end;
{ TDAStringArray }
TDAStringArray = class(TROArray)
private
fCount: Integer;
fItems : array of String;
protected
procedure Grow; virtual;
function GetItems(AIndex: integer): String;
procedure SetItems(AIndex: integer; const Value: String);
function GetCount: integer; override;
public
class function GetItemType: PTypeInfo; override;
class function GetItemSize: integer; override;
function GetItemRef(AIndex: integer): pointer; override;
procedure Clear; override;
procedure Delete(AIndex: integer); override;
procedure Resize(ElementCount: integer); override;
procedure Assign(iSource:TPersistent); override;
function Add(const Value:String): integer;
property Count : integer read GetCount;
property Items[Index: integer]:String read GetItems write SetItems; default;
end;
{ IDARemoteService }
IDARemoteService = interface
['{C532E842-0AA9-4253-A9BF-AFCF22885B97}']
function GetDatasetSchema(const aDatasetName: String): Binary;
function GetDatasetScripts(const DatasetNames: String): String;
function GetDatasetData(const DatasetName: String; const Params: String; const IncludeSchema: Boolean; const MaxRecords: Integer): Binary;
function GetDatasetDataEx(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean;
const MaxRecords: Integer): Binary;
function UpdateData(const Delta: Binary): Binary;
function ExecuteSQLCommand(const SQL: String): Integer;
function GetSchemaAsXML: String;
function GetMultipleDatasets(const DatasetRequestInfoArray: TDADatasetRequestInfoArray): Binary;
function ExecuteSQLCommandEx(const CommandName: String; const Params: TDADatasetParamArray): Integer;
end;
{ CoDARemoteService }
CoDARemoteService = class
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IDARemoteService;
end;
{ TDARemoteService_Proxy }
TDARemoteService_Proxy = class(TROProxy, IDARemoteService)
protected
function __GetInterfaceName:string;{.$IFNDEF FPC} override;{.$ENDIF}
function GetDatasetSchema(const aDatasetName: String): Binary;
function GetDatasetScripts(const DatasetNames: String): String;
function GetDatasetData(const DatasetName: String; const Params: String; const IncludeSchema: Boolean; const MaxRecords: Integer): Binary;
function GetDatasetDataEx(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean;
const MaxRecords: Integer): Binary;
function UpdateData(const Delta: Binary): Binary;
function ExecuteSQLCommand(const SQL: String): Integer;
function GetSchemaAsXML: String;
function GetMultipleDatasets(const DatasetRequestInfoArray: TDADatasetRequestInfoArray): Binary;
function ExecuteSQLCommandEx(const CommandName: String; const Params: TDADatasetParamArray): Integer;
end;
{ IDALoginService }
IDALoginService = interface(IDARemoteService)
['{58550AA0-B64F-495A-B2F8-C981D4C39180}']
function Login(const UserID: String; const Password: String; out LoginInfo: TDALoginInfo): Boolean;
procedure Logout;
end;
{ CoDALoginService }
CoDALoginService = class
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IDALoginService;
end;
{ TDALoginService_Proxy }
TDALoginService_Proxy = class(TDARemoteService_Proxy, IDALoginService)
protected
function __GetInterfaceName:string; override;
function Login(const UserID: String; const Password: String; out LoginInfo: TDALoginInfo): Boolean;
procedure Logout;
end;
implementation
uses
{vcl:} SysUtils,
{RemObjects:} uROEventRepository, uRORes;
{ TDADatasetParamArray }
procedure TDADatasetParamArray.Assign(iSource: TPersistent);
var lSource:TDADatasetParamArray;
i:integer;
begin
if (iSource is TDADatasetParamArray) then begin
lSource := TDADatasetParamArray(iSource);
Clear();
Resize(lSource.Count);
for i := 0 to Count-1 do begin
if Assigned(lSource.Items[i]) then begin
Items[i] := lSource.Items[i].Clone() as TDADatasetParam;
end;
end;
end
else begin
inherited Assign(iSource);
end;
end;
class function TDADatasetParamArray.GetItemType: PTypeInfo;
begin
result := TypeInfo(TDADatasetParam);
end;
class function TDADatasetParamArray.GetItemClass: TClass;
begin
result := TDADatasetParam;
end;
class function TDADatasetParamArray.GetItemSize: integer;
begin
result := SizeOf(TDADatasetParam);
end;
function TDADatasetParamArray.GetItems(aIndex: integer): TDADatasetParam;
begin
if (aIndex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[aIndex]);
result := fItems[aIndex];
end;
function TDADatasetParamArray.GetItemRef(aIndex: integer): pointer;
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
result := fItems[AIndex];
end;
procedure TDADatasetParamArray.SetItemRef(AIndex: integer; Ref: pointer);
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
if Ref <> fItems[AIndex] then
fItems[AIndex] := Ref;
end;
procedure TDADatasetParamArray.Clear;
var i: integer;
begin
for i := 0 to (Count-1) do fItems[i].Free();
SetLength(fItems, 0);
FCount := 0;
end;
procedure TDADatasetParamArray.Delete(aIndex: integer);
var i: integer;
begin
if (AIndex>=Count) then RaiseError(err_InvalidIndex, [AIndex]);
fItems[AIndex].Free();
if (AIndex<Count-1) then
for i := AIndex to Count-2 do fItems[i] := fItems[i+1];
SetLength(fItems, Count-1);
Dec(FCount);
end;
procedure TDADatasetParamArray.SetItems(aIndex: integer; const Value: TDADatasetParam);
begin
if (aIndex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[aIndex]);
fItems[aIndex] := Value;
end;
procedure TDADatasetParamArray.Resize(ElementCount: integer);
begin
SetLength(fItems, ElementCount);
FCount := ElementCount;
end;
function TDADatasetParamArray.GetCount: integer;
begin
result := FCount;
end;
procedure TDADatasetParamArray.Grow;
var
Delta, Capacity: Integer;
begin
Capacity := Length(fItems);
if Capacity > 64 then
Delta := Capacity div 4
else
if Capacity > 8 then
Delta := 16
else
Delta := 4;
SetLength(fItems, Capacity + Delta);
end;
function TDADatasetParamArray.Add: TDADatasetParam;
begin
result := TDADatasetParam.Create;
Add(Result);
end;
function TDADatasetParamArray.Add(const Value:TDADatasetParam): integer;
begin
Result := Count;
if Length(fItems) = Result then
Grow;
fItems[result] := Value;
Inc(fCount);
end;
{ TDADatasetRequestInfoArray }
procedure TDADatasetRequestInfoArray.Assign(iSource: TPersistent);
var lSource:TDADatasetRequestInfoArray;
i:integer;
begin
if (iSource is TDADatasetRequestInfoArray) then begin
lSource := TDADatasetRequestInfoArray(iSource);
Clear();
Resize(lSource.Count);
for i := 0 to Count-1 do begin
if Assigned(lSource.Items[i]) then begin
Items[i] := lSource.Items[i].Clone() as TDADatasetRequestInfo;
end;
end;
end
else begin
inherited Assign(iSource);
end;
end;
class function TDADatasetRequestInfoArray.GetItemType: PTypeInfo;
begin
result := TypeInfo(TDADatasetRequestInfo);
end;
class function TDADatasetRequestInfoArray.GetItemClass: TClass;
begin
result := TDADatasetRequestInfo;
end;
class function TDADatasetRequestInfoArray.GetItemSize: integer;
begin
result := SizeOf(TDADatasetRequestInfo);
end;
function TDADatasetRequestInfoArray.GetItems(AIndex: integer): TDADatasetRequestInfo;
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
result := fItems[AIndex];
end;
function TDADatasetRequestInfoArray.GetItemRef(AIndex: integer): pointer;
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
result := fItems[AIndex];
end;
procedure TDADatasetRequestInfoArray.SetItemRef(AIndex: integer; Ref: pointer);
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
if Ref <> fItems[AIndex] then
fItems[AIndex] := Ref;
end;
procedure TDADatasetRequestInfoArray.Clear;
var i: integer;
begin
for i := 0 to (Count-1) do fItems[i].Free();
SetLength(fItems, 0);
FCount := 0;
end;
procedure TDADatasetRequestInfoArray.Delete(AIndex: integer);
var i: integer;
begin
if (AIndex>=Count) then RaiseError(err_InvalidIndex, [AIndex]);
fItems[AIndex].Free();
if (AIndex<Count-1) then
for i := AIndex to Count-2 do fItems[i] := fItems[i+1];
SetLength(fItems, Count-1);
Dec(FCount);
end;
procedure TDADatasetRequestInfoArray.SetItems(AIndex: integer; const Value: TDADatasetRequestInfo);
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
fItems[AIndex] := Value;
end;
procedure TDADatasetRequestInfoArray.Resize(ElementCount: integer);
begin
SetLength(fItems, ElementCount);
FCount := ElementCount;
end;
function TDADatasetRequestInfoArray.GetCount: integer;
begin
result := FCount;
end;
procedure TDADatasetRequestInfoArray.Grow;
var
Delta, Capacity: Integer;
begin
Capacity := Length(fItems);
if Capacity > 64 then
Delta := Capacity div 4
else
if Capacity > 8 then
Delta := 16
else
Delta := 4;
SetLength(fItems, Capacity + Delta);
end;
function TDADatasetRequestInfoArray.Add: TDADatasetRequestInfo;
begin
result := TDADatasetRequestInfo.Create;
Add(Result);
end;
function TDADatasetRequestInfoArray.Add(const Value:TDADatasetRequestInfo): integer;
begin
Result := Count;
if Length(fItems) = Result then
Grow;
fItems[result] := Value;
Inc(fCount);
end;
{ TDAStringArray }
procedure TDAStringArray.Assign(iSource: TPersistent);
var lSource:TDAStringArray;
i:integer;
begin
if (iSource is TDAStringArray) then begin
lSource := TDAStringArray(iSource);
Clear();
Resize(lSource.Count);
for i := 0 to Count-1 do begin
Items[i] := lSource.Items[i];
end;
end
else begin
inherited Assign(iSource);
end;
end;
class function TDAStringArray.GetItemType: PTypeInfo;
begin
result := TypeInfo(String);
end;
class function TDAStringArray.GetItemSize: integer;
begin
result := SizeOf(String);
end;
function TDAStringArray.GetItems(AIndex: integer): String;
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
result := fItems[AIndex];
end;
function TDAStringArray.GetItemRef(AIndex: integer): pointer;
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
result := @fItems[AIndex];
end;
procedure TDAStringArray.Clear;
begin
SetLength(fItems, 0);
FCount := 0;
end;
procedure TDAStringArray.Delete(AIndex: integer);
var i: integer;
begin
if (AIndex>=Count) then RaiseError(err_InvalidIndex, [AIndex]);
if (AIndex<Count-1) then
for i := AIndex to Count-2 do fItems[i] := fItems[i+1];
SetLength(fItems, Count-1);
Dec(FCount);
end;
procedure TDAStringArray.SetItems(AIndex: integer; const Value: String);
begin
if (AIndex < 0) or (AIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[AIndex]);
fItems[AIndex] := Value;
end;
procedure TDAStringArray.Resize(ElementCount: integer);
begin
SetLength(fItems, ElementCount);
FCount := ElementCount;
end;
function TDAStringArray.GetCount: integer;
begin
result := FCount;
end;
procedure TDAStringArray.Grow;
var
Delta, Capacity: Integer;
begin
Capacity := Length(fItems);
if Capacity > 64 then
Delta := Capacity div 4
else
if Capacity > 8 then
Delta := 16
else
Delta := 4;
SetLength(fItems, Capacity + Delta);
end;
function TDAStringArray.Add(const Value: String): integer;
begin
Result := Count;
if Length(fItems) = Result then
Grow;
fItems[result] := Value;
Inc(fCount);
end;
{ TDADatasetParam }
procedure TDADatasetParam.Assign(iSource: TPersistent);
var lSource:TDADatasetParam;
begin
inherited Assign(iSource);
if (iSource is TDADatasetParam) then begin
lSource := TDADatasetParam(iSource);
Name := lSource.Name;
Value := lSource.Value;
end;
end;
{ TDADatasetParamCollection }
constructor TDADatasetParamCollection.Create;
begin
inherited Create(TDADatasetParam);
end;
constructor TDADatasetParamCollection.Create(aItemClass: TCollectionItemClass);
begin
inherited Create(aItemClass);
end;
function TDADatasetParamCollection.Add: TDADatasetParam;
begin
result := TDADatasetParam(inherited Add);
end;
function TDADatasetParamCollection.GetItems(Index: integer): TDADatasetParam;
begin
result := TDADatasetParam(inherited Items[Index]);
end;
procedure TDADatasetParamCollection.LoadFromArray(anArray: TDADatasetParamArray);
var i : integer;
begin
Clear;
for i := 0 to (anArray.Count-1) do
Add.Assign(anArray[i]);
end;
procedure TDADatasetParamCollection.SaveToArray(anArray: TDADatasetParamArray);
var i : integer;
begin
anArray.Clear;
anArray.Resize(Count);
for i := 0 to (Count-1) do begin
anArray[i] := TDADatasetParam.Create;
anArray[i].Assign(Items[i]);
end;
end;
procedure TDADatasetParamCollection.SetItems(Index: integer; const Value: TDADatasetParam);
begin
TDADatasetParam(inherited Items[Index]).Assign(Value);
end;
{ TDADatasetRequestInfo }
procedure TDADatasetRequestInfo.Assign(iSource: TPersistent);
var lSource:TDADatasetRequestInfo;
begin
inherited Assign(iSource);
if (iSource is TDADatasetRequestInfo) then begin
lSource := TDADatasetRequestInfo(iSource);
DatasetName := lSource.DatasetName;
IncludeSchema := lSource.IncludeSchema;
MaxRecords := lSource.MaxRecords;
Params.Assign(lSource.Params);
end;
end;
function TDADatasetRequestInfo.GetParams: TDADatasetParamArray;
begin
if (fParams = nil) then fParams := TDADatasetParamArray.Create();
result := fParams;
end;
{ TDADatasetRequestInfoCollection }
constructor TDADatasetRequestInfoCollection.Create;
begin
inherited Create(TDADatasetRequestInfo);
end;
constructor TDADatasetRequestInfoCollection.Create(aItemClass: TCollectionItemClass);
begin
inherited Create(aItemClass);
end;
function TDADatasetRequestInfoCollection.Add: TDADatasetRequestInfo;
begin
result := TDADatasetRequestInfo(inherited Add);
end;
function TDADatasetRequestInfoCollection.GetItems(Index: integer): TDADatasetRequestInfo;
begin
result := TDADatasetRequestInfo(inherited Items[Index]);
end;
procedure TDADatasetRequestInfoCollection.LoadFromArray(anArray: TDADatasetRequestInfoArray);
var i : integer;
begin
Clear;
for i := 0 to (anArray.Count-1) do
Add.Assign(anArray[i]);
end;
procedure TDADatasetRequestInfoCollection.SaveToArray(anArray: TDADatasetRequestInfoArray);
var i : integer;
begin
anArray.Clear;
anArray.Resize(Count);
for i := 0 to (Count-1) do begin
anArray[i] := TDADatasetRequestInfo.Create;
anArray[i].Assign(Items[i]);
end;
end;
procedure TDADatasetRequestInfoCollection.SetItems(Index: integer; const Value: TDADatasetRequestInfo);
begin
TDADatasetRequestInfo(inherited Items[Index]).Assign(Value);
end;
{ TDALoginInfo }
procedure TDALoginInfo.Assign(iSource: TPersistent);
var lSource:TDALoginInfo;
begin
inherited Assign(iSource);
if (iSource is TDALoginInfo) then begin
lSource := TDALoginInfo(iSource);
SessionID := lSource.SessionID;
UserID := lSource.UserID;
Privileges.Assign(lSource.Privileges);
Attributes.Assign(lSource.Attributes);
Data.Assign(lSource.Data);
end;
end;
function TDALoginInfo.GetPrivileges: TDAStringArray;
begin
if (fPrivileges = nil) then fPrivileges := TDAStringArray.Create();
result := fPrivileges;
end;
function TDALoginInfo.GetAttributes: TDAStringArray;
begin
if (fAttributes = nil) then fAttributes := TDAStringArray.Create();
result := fAttributes;
end;
function TDALoginInfo.GetData: Binary;
begin
if (fData = nil) then fData := Binary.Create();
result := fData;
end;
{ TDALoginInfoCollection }
constructor TDALoginInfoCollection.Create;
begin
inherited Create(TDALoginInfo);
end;
constructor TDALoginInfoCollection.Create(aItemClass: TCollectionItemClass);
begin
inherited Create(aItemClass);
end;
function TDALoginInfoCollection.Add: TDALoginInfo;
begin
result := TDALoginInfo(inherited Add);
end;
function TDALoginInfoCollection.GetItems(Index: integer): TDALoginInfo;
begin
result := TDALoginInfo(inherited Items[Index]);
end;
procedure TDALoginInfoCollection.SetItems(Index: integer; const Value: TDALoginInfo);
begin
TDALoginInfo(inherited Items[Index]).Assign(Value);
end;
{ CoDARemoteService }
class function CoDARemoteService.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IDARemoteService;
begin
result := TDARemoteService_Proxy.Create(aMessage, aTransportChannel);
end;
{ TDARemoteService_Proxy }
function TDARemoteService_Proxy.__GetInterfaceName:string;
begin
result := 'DARemoteService';
end;
function TDARemoteService_Proxy.GetDatasetSchema(const aDatasetName: String): Binary;
begin
result := nil;
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'GetDatasetSchema');
__Message.Write('aDatasetName', TypeInfo(String), aDatasetName, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.GetDatasetScripts(const DatasetNames: String): String;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'GetDatasetScripts');
__Message.Write('DatasetNames', TypeInfo(String), DatasetNames, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(String), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.GetDatasetData(const DatasetName: String; const Params: String; const IncludeSchema: Boolean; const MaxRecords: Integer): Binary;
begin
result := nil;
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'GetDatasetData');
__Message.Write('DatasetName', TypeInfo(String), DatasetName, []);
__Message.Write('Params', TypeInfo(String), Params, []);
__Message.Write('IncludeSchema', TypeInfo(Boolean), IncludeSchema, []);
__Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.GetDatasetDataEx(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean;
const MaxRecords: Integer): Binary;
begin
result := nil;
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'GetDatasetDataEx');
__Message.Write('DatasetName', TypeInfo(String), DatasetName, []);
__Message.Write('Params', TypeInfo(DataAbstract3_Intf.TDADatasetParamArray), Params, []);
__Message.Write('UserFilter', TypeInfo(String), UserFilter, []);
__Message.Write('IncludeSchema', TypeInfo(Boolean), IncludeSchema, []);
__Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.UpdateData(const Delta: Binary): Binary;
begin
result := nil;
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'UpdateData');
__Message.Write('Delta', TypeInfo(Binary), Delta, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.ExecuteSQLCommand(const SQL: String): Integer;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'ExecuteSQLCommand');
__Message.Write('SQL', TypeInfo(String), SQL, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Integer), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.GetSchemaAsXML: String;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'GetSchemaAsXML');
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(String), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.GetMultipleDatasets(const DatasetRequestInfoArray: TDADatasetRequestInfoArray): Binary;
begin
result := nil;
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'GetMultipleDatasets');
__Message.Write('DatasetRequestInfoArray', TypeInfo(DataAbstract3_Intf.TDADatasetRequestInfoArray), DatasetRequestInfoArray, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.FreeStream;
end
end;
function TDARemoteService_Proxy.ExecuteSQLCommandEx(const CommandName: String; const Params: TDADatasetParamArray): Integer;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'ExecuteSQLCommandEx');
__Message.Write('CommandName', TypeInfo(String), CommandName, []);
__Message.Write('Params', TypeInfo(DataAbstract3_Intf.TDADatasetParamArray), Params, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Integer), result, []);
finally
__Message.FreeStream;
end
end;
{ CoDALoginService }
class function CoDALoginService.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IDALoginService;
begin
result := TDALoginService_Proxy.Create(aMessage, aTransportChannel);
end;
{ TDALoginService_Proxy }
function TDALoginService_Proxy.__GetInterfaceName:string;
begin
result := 'DALoginService';
end;
function TDALoginService_Proxy.Login(const UserID: String; const Password: String; out LoginInfo: TDALoginInfo): Boolean;
begin
LoginInfo := nil;
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'Login');
__Message.Write('UserID', TypeInfo(String), UserID, []);
__Message.Write('Password', TypeInfo(String), Password, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Boolean), result, []);
__Message.Read('LoginInfo', TypeInfo(DataAbstract3_Intf.TDALoginInfo), LoginInfo, []);
finally
__Message.FreeStream;
end
end;
procedure TDALoginService_Proxy.Logout;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'DataAbstract', __InterfaceName, 'Logout');
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
initialization
RegisterROClass(TDADatasetParam);
RegisterROClass(TDADatasetRequestInfo);
RegisterROClass(TDALoginInfo);
RegisterROClass(TDADatasetParamArray);
RegisterROClass(TDADatasetRequestInfoArray);
RegisterROClass(TDAStringArray);
RegisterProxyClass(IDARemoteService_IID, TDARemoteService_Proxy);
RegisterProxyClass(IDALoginService_IID, TDALoginService_Proxy);
finalization
UnregisterROClass(TDADatasetParam);
UnregisterROClass(TDADatasetRequestInfo);
UnregisterROClass(TDALoginInfo);
UnregisterROClass(TDADatasetParamArray);
UnregisterROClass(TDADatasetRequestInfoArray);
UnregisterROClass(TDAStringArray);
UnregisterProxyClass(IDARemoteService_IID);
UnregisterProxyClass(IDALoginService_IID);
end.