unit uDARemoteDataAdapterRequests; {----------------------------------------------------------------------------} { Data Abstract Library - Core Library } { } { compiler: Delphi 6 and up, Kylix 3 and up } { platform: Win32, Linux } { } { (c)opyright RemObjects Software. all rights reserved. } { } { Using this code requires a valid license of the Data Abstract } { which can be obtained at http://www.remobjects.com. } {----------------------------------------------------------------------------} {$I DataAbstract.inc} interface uses Classes, uRODynamicRequest; type { TDARemoteDataAdapterRequest } TDARemoteDataAdapterRequest = class(TRODynamicRequest) private fDefault: boolean; procedure SetDefault(const Value: boolean); protected function IsNotDefault: boolean; procedure MethodNameChanged; override; public procedure Loaded; override; constructor Create(aOwner: TComponent); override; procedure SetupDefaultRequestV3; virtual; abstract; procedure SetupDefaultRequest; virtual; published property Default: boolean read fDefault write SetDefault default true; property Params stored IsNotDefault; property MethodName stored IsNotDefault; end; TDAGetSchemaRequest = class(TDARemoteDataAdapterRequest) private fIncomingSchemaParameter: string; fOutgoingFilterParameter: string; procedure SetIncomingSchemaParameter(const Value: string); procedure SetOutgoingFilterParameter(const Value: string); public procedure SetupDefaultRequestV3; override; procedure SetupDefaultRequest; override; published property IncomingSchemaParameter: string read fIncomingSchemaParameter write SetIncomingSchemaParameter stored IsNotDefault; property OutgoingFilterParameter: string read fOutgoingFilterParameter write SetOutgoingFilterParameter stored IsNotDefault; end; TDAGetDataRequest = class(TDARemoteDataAdapterRequest) private fIncomingDataParameter: string; fOutgoingTableNamesParameter: string; fOutgoingIncludeSchemaParameter: string; fOutgoingMaxRecordsParameter: string; fOutgoingParamsParameter: string; fOutgoingTableRequestInfosParameter: string; procedure SetIncomingDataParameter(const Value: string); procedure SetOutgoingIncludeSchemaParameter(const Value: string); procedure SetOutgoingMaxRecordsParameter(const Value: string); procedure SetOutgoingParamsParameter(const Value: string); procedure SetOutgoingTableNamesParameter(const Value: string); procedure SetOutgoingTableRequestInfosParameter(const Value: string); public procedure SetupDefaultRequestV3; override; procedure SetupDefaultRequest; override; published property OutgoingTableNamesParameter: string read fOutgoingTableNamesParameter write SetOutgoingTableNamesParameter stored IsNotDefault; property OutgoingTableRequestInfosParameter: string read fOutgoingTableRequestInfosParameter write SetOutgoingTableRequestInfosParameter stored IsNotDefault; property IncomingDataParameter: string read fIncomingDataParameter write SetIncomingDataParameter stored IsNotDefault; property OutgoingParamsParameter: string read fOutgoingParamsParameter write SetOutgoingParamsParameter stored IsNotDefault; property OutgoingIncludeSchemaParameter: string read fOutgoingIncludeSchemaParameter write SetOutgoingIncludeSchemaParameter stored IsNotDefault; property OutgoingMaxRecordsParameter: string read fOutgoingMaxRecordsParameter write SetOutgoingMaxRecordsParameter stored IsNotDefault; end; TDAUpdateDataRequest = class(TDARemoteDataAdapterRequest) private fOutgoingDeltaParameter: string; fIncomingDeltaParameter: string; procedure SetIncomingDeltaParameter(const Value: string); procedure SetOutgoingDeltaParameter(const Value: string); public procedure SetupDefaultRequestV3; override; procedure SetupDefaultRequest; override; published property OutgoingDeltaParameter: string read fOutgoingDeltaParameter write SetOutgoingDeltaParameter stored IsNotDefault; property IncomingDeltaParameter: string read fIncomingDeltaParameter write SetIncomingDeltaParameter stored IsNotDefault; end; TDAGetScriptsRequest = class(TDARemoteDataAdapterRequest) private fIncomingScriptParameter: string; fOutgoingTableNamesParameter: string; procedure SetIncomingScriptParameter(const Value: string); procedure SetOutgoingTableNamesParameter(const Value: string); public procedure SetupDefaultRequestV3; override; procedure SetupDefaultRequest; override; published property OutgoingTableNamesParameter: string read fOutgoingTableNamesParameter write SetOutgoingTableNamesParameter stored IsNotDefault; property IncomingScriptParameter: string read fIncomingScriptParameter write SetIncomingScriptParameter stored IsNotDefault; end; implementation uses uRODL, uROTypes; { TDARemoteDataAdapterRequest } constructor TDARemoteDataAdapterRequest.Create(aOwner: TComponent); begin inherited; SetSubComponent(true); fDefault := true; end; function TDARemoteDataAdapterRequest.IsNotDefault: boolean; begin result := not fDefault; end; procedure TDARemoteDataAdapterRequest.Loaded; begin inherited; if Default then SetupDefaultRequest(); end; procedure TDARemoteDataAdapterRequest.MethodNameChanged; begin inherited; Default := false; end; procedure TDARemoteDataAdapterRequest.SetDefault(const Value: boolean); begin if fDefault <> Value then begin fDefault := Value; if fDefault then SetupDefaultRequest; end; end; procedure TDARemoteDataAdapterRequest.SetupDefaultRequest; begin fDefault := true; end; { TDAGetSchemaRequest } procedure TDAGetSchemaRequest.SetIncomingSchemaParameter(const Value: string); begin fIncomingSchemaParameter := Value; Default := false; end; procedure TDAGetSchemaRequest.SetOutgoingFilterParameter(const Value: string); begin fOutgoingFilterParameter := Value; Default := false; end; procedure TDAGetSchemaRequest.SetupDefaultRequest; begin Params.Clear(); OutgoingFilterParameter := Params.Add('aFilter', rtString, fIn).Name; IncomingSchemaParameter := Params.Add('Result', rtString, fResult).Name; MethodName := 'GetSchema'; inherited; end; procedure TDAGetSchemaRequest.SetupDefaultRequestV3; begin Params.Clear(); OutgoingFilterParameter := ''; IncomingSchemaParameter := Params.Add('Result', rtString, fResult).Name; MethodName := 'GetSchemaAsXML'; Default := false; end; { TDAGetDataRequest } procedure TDAGetDataRequest.SetIncomingDataParameter(const Value: string); begin fIncomingDataParameter := Value; Default := false; end; procedure TDAGetDataRequest.SetOutgoingIncludeSchemaParameter(const Value: string); begin fOutgoingIncludeSchemaParameter := Value; Default := false; end; procedure TDAGetDataRequest.SetOutgoingMaxRecordsParameter(const Value: string); begin fOutgoingMaxRecordsParameter := Value; Default := false; end; procedure TDAGetDataRequest.SetOutgoingParamsParameter(const Value: string); begin fOutgoingParamsParameter := Value; Default := false; end; procedure TDAGetDataRequest.SetOutgoingTableNamesParameter(const Value: string); begin fOutgoingTableNamesParameter := Value; Default := false; end; procedure TDAGetDataRequest.SetOutgoingTableRequestInfosParameter(const Value: string); begin fOutgoingTableRequestInfosParameter := Value; Default := false; end; procedure TDAGetDataRequest.SetupDefaultRequest; begin Params.Clear(); OutgoingTableNamesParameter := Params.Add('aTableNameArray', rtUserDefined, fIn, 'StringArray').Name; OutgoingTableRequestInfosParameter := Params.Add('aTableRequestInfoArray', rtUserDefined, fIn, 'TableRequestInfoArray').Name; OutgoingParamsParameter := ''; OutgoingIncludeSchemaParameter := ''; OutgoingMaxRecordsParameter := ''; IncomingDataParameter := Params.Add('Result', rtBinary, fResult).Name; MethodName := 'GetData'; inherited; end; procedure TDAGetDataRequest.SetupDefaultRequestV3; begin Params.Clear(); OutgoingTableNamesParameter := Params.Add('DatasetName', rtString, fIn).Name; OutgoingParamsParameter := Params.Add('Params', rtString, fIn).Name; OutgoingIncludeSchemaParameter := Params.Add('IncludeSchema', rtBoolean, fIn).Name; OutgoingMaxRecordsParameter := Params.Add('MaxRecords', rtInteger, fIn).Name; IncomingDataParameter := Params.Add('Result', rtBinary, fResult).Name; MethodName := 'GetDatasetData'; Default := false; end; { TDAUpdateDataRequest } procedure TDAUpdateDataRequest.SetIncomingDeltaParameter(const Value: string); begin fIncomingDeltaParameter := Value; Default := false; end; procedure TDAUpdateDataRequest.SetOutgoingDeltaParameter(const Value: string); begin fOutgoingDeltaParameter := Value; Default := false; end; procedure TDAUpdateDataRequest.SetupDefaultRequest; begin Params.Clear(); OutgoingDeltaParameter := Params.Add('aDelta', rtBinary, fIn).Name; IncomingDeltaParameter := Params.Add('Result', rtBinary, fResult).Name; MethodName := 'UpdateData'; inherited; end; procedure TDAUpdateDataRequest.SetupDefaultRequestV3; begin Params.Clear(); OutgoingDeltaParameter := Params.Add('Delta', rtBinary, fIn).Name; IncomingDeltaParameter := Params.Add('Result', rtBinary, fResult).Name; MethodName := 'UpdateData'; Default := false; end; { TDAGetScriptsRequest } procedure TDAGetScriptsRequest.SetIncomingScriptParameter(const Value: string); begin fIncomingScriptParameter := Value; Default := false; end; procedure TDAGetScriptsRequest.SetOutgoingTableNamesParameter(const Value: string); begin fOutgoingTableNamesParameter := Value; Default := false; end; procedure TDAGetScriptsRequest.SetupDefaultRequest; begin Params.Clear(); OutgoingTableNamesParameter := Params.Add('DatasetNames', rtString, fIn).Name; IncomingScriptParameter := Params.Add('Result', rtString, fResult).Name; MethodName := 'GetDatasetScripts'; inherited; end; procedure TDAGetScriptsRequest.SetupDefaultRequestV3; begin Params.Clear(); OutgoingTableNamesParameter := Params.Add('DatasetNames', rtString, fIn).Name; IncomingScriptParameter := Params.Add('Result', rtString, fResult).Name; MethodName := 'GetDatasetScripts'; Default := false; end; end.