- Recompilación de todos los paquetes de RO para poner RemObjects_Core_D10 como paquete de runtime/designtime. git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@5 b6239004-a887-0f4b-9937-50029ccdca16
356 lines
11 KiB
ObjectPascal
356 lines
11 KiB
ObjectPascal
unit MegaDemoLibrary_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 Remobjects.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
{vcl:} Classes, TypInfo,
|
|
{RemObjects:} uROXMLIntf, uROClasses, uROClient, uROTypes, uROClientIntf,
|
|
{Used RODLs:} DataAbstract4_Intf;
|
|
|
|
const
|
|
{ Library ID }
|
|
LibraryUID = '{7C1E1A6D-C50B-482D-AE41-090E9A61BBB0}';
|
|
TargetNamespace = '';
|
|
|
|
{ Service Interface ID's }
|
|
ILoginService_IID : TGUID = '{ABD98EFC-78DA-4704-A3EB-0D89CC8BC618}';
|
|
IOrdersService_IID : TGUID = '{6EC8387D-B288-4EE0-BFB7-C4BAEF28E50B}';
|
|
|
|
{ Event ID's }
|
|
|
|
type
|
|
{ Forward declarations }
|
|
ILoginService = interface;
|
|
IOrdersService = interface;
|
|
|
|
|
|
LoginInfo = class;
|
|
|
|
|
|
|
|
{ Enumerateds }
|
|
JobType = (JobType_SalesRep,JobType_Manager,JobType_Engineer);
|
|
|
|
{ LoginInfo }
|
|
LoginInfo = class(TROComplexType)
|
|
private
|
|
fSessionID: String;
|
|
fEmployeeID: Integer;
|
|
fFirstName: String;
|
|
fLastName: String;
|
|
fJob_Type: JobType;
|
|
fJobTitle: String;
|
|
public
|
|
procedure Assign(iSource: TPersistent); override;
|
|
procedure ReadComplex(ASerializer: TObject); override;
|
|
procedure WriteComplex(ASerializer: TObject); override;
|
|
published
|
|
property SessionID:String read fSessionID write fSessionID;
|
|
property EmployeeID:Integer read fEmployeeID write fEmployeeID;
|
|
property FirstName:String read fFirstName write fFirstName;
|
|
property LastName:String read fLastName write fLastName;
|
|
property Job_Type:JobType read fJob_Type write fJob_Type;
|
|
property JobTitle:String read fJobTitle write fJobTitle;
|
|
end;
|
|
|
|
{ LoginInfoCollection }
|
|
LoginInfoCollection = class(TROCollection)
|
|
protected
|
|
constructor Create(aItemClass: TCollectionItemClass); overload;
|
|
function GetItems(aIndex: integer): LoginInfo;
|
|
procedure SetItems(aIndex: integer; const Value: LoginInfo);
|
|
public
|
|
constructor Create; overload;
|
|
function Add: LoginInfo; reintroduce;
|
|
property Items[Index: integer]:LoginInfo read GetItems write SetItems; default;
|
|
end;
|
|
|
|
{ ILoginService }
|
|
ILoginService = interface(IDataAbstractService)
|
|
['{ABD98EFC-78DA-4704-A3EB-0D89CC8BC618}']
|
|
function Login(const UserName: String; const Password: String; out aLoginInfo: LoginInfo): Boolean;
|
|
procedure Logout;
|
|
end;
|
|
|
|
{ CoLoginService }
|
|
CoLoginService = class
|
|
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): ILoginService;
|
|
end;
|
|
|
|
{ TLoginService_Proxy }
|
|
TLoginService_Proxy = class(TDataAbstractService_Proxy, ILoginService)
|
|
protected
|
|
function __GetInterfaceName:string; override;
|
|
|
|
function Login(const UserName: String; const Password: String; out aLoginInfo: LoginInfo): Boolean;
|
|
procedure Logout;
|
|
end;
|
|
|
|
{ IOrdersService }
|
|
IOrdersService = interface(IDataAbstractService)
|
|
['{6EC8387D-B288-4EE0-BFB7-C4BAEF28E50B}']
|
|
function GetCustomerOrders(const CustomerID: String): Binary;
|
|
end;
|
|
|
|
{ CoOrdersService }
|
|
CoOrdersService = class
|
|
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IOrdersService;
|
|
end;
|
|
|
|
{ TOrdersService_Proxy }
|
|
TOrdersService_Proxy = class(TDataAbstractService_Proxy, IOrdersService)
|
|
protected
|
|
function __GetInterfaceName:string; override;
|
|
|
|
function GetCustomerOrders(const CustomerID: String): Binary;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
{vcl:} SysUtils,
|
|
{RemObjects:} uROEventRepository, uROSerializer, uRORes;
|
|
|
|
{ LoginInfo }
|
|
|
|
procedure LoginInfo.Assign(iSource: TPersistent);
|
|
var lSource: MegaDemoLibrary_Intf.LoginInfo;
|
|
begin
|
|
inherited Assign(iSource);
|
|
if (iSource is MegaDemoLibrary_Intf.LoginInfo) then begin
|
|
lSource := MegaDemoLibrary_Intf.LoginInfo(iSource);
|
|
SessionID := lSource.SessionID;
|
|
EmployeeID := lSource.EmployeeID;
|
|
FirstName := lSource.FirstName;
|
|
LastName := lSource.LastName;
|
|
Job_Type := lSource.Job_Type;
|
|
JobTitle := lSource.JobTitle;
|
|
end;
|
|
end;
|
|
|
|
procedure LoginInfo.ReadComplex(ASerializer: TObject);
|
|
var
|
|
l_EmployeeID: Integer;
|
|
l_FirstName: String;
|
|
l_Job_Type: JobType;
|
|
l_JobTitle: String;
|
|
l_LastName: String;
|
|
l_SessionID: String;
|
|
begin
|
|
if TROSerializer(ASerializer).RecordStrictOrder then begin
|
|
l_SessionID := SessionID;
|
|
TROSerializer(ASerializer).ReadUTF8String('SessionID', l_SessionID);
|
|
SessionID := l_SessionID;
|
|
l_EmployeeID := EmployeeID;
|
|
TROSerializer(ASerializer).ReadInteger('EmployeeID', otSLong, l_EmployeeID);
|
|
EmployeeID := l_EmployeeID;
|
|
l_FirstName := FirstName;
|
|
TROSerializer(ASerializer).ReadUTF8String('FirstName', l_FirstName);
|
|
FirstName := l_FirstName;
|
|
l_LastName := LastName;
|
|
TROSerializer(ASerializer).ReadUTF8String('LastName', l_LastName);
|
|
LastName := l_LastName;
|
|
l_Job_Type := Job_Type;
|
|
TROSerializer(ASerializer).ReadEnumerated('Job_Type',TypeInfo(JobType), l_Job_Type);
|
|
Job_Type := l_Job_Type;
|
|
l_JobTitle := JobTitle;
|
|
TROSerializer(ASerializer).ReadUTF8String('JobTitle', l_JobTitle);
|
|
JobTitle := l_JobTitle;
|
|
end else begin
|
|
l_EmployeeID := EmployeeID;
|
|
TROSerializer(ASerializer).ReadInteger('EmployeeID', otSLong, l_EmployeeID);
|
|
EmployeeID := l_EmployeeID;
|
|
l_FirstName := FirstName;
|
|
TROSerializer(ASerializer).ReadUTF8String('FirstName', l_FirstName);
|
|
FirstName := l_FirstName;
|
|
l_Job_Type := Job_Type;
|
|
TROSerializer(ASerializer).ReadEnumerated('Job_Type',TypeInfo(JobType), l_Job_Type);
|
|
Job_Type := l_Job_Type;
|
|
l_JobTitle := JobTitle;
|
|
TROSerializer(ASerializer).ReadUTF8String('JobTitle', l_JobTitle);
|
|
JobTitle := l_JobTitle;
|
|
l_LastName := LastName;
|
|
TROSerializer(ASerializer).ReadUTF8String('LastName', l_LastName);
|
|
LastName := l_LastName;
|
|
l_SessionID := SessionID;
|
|
TROSerializer(ASerializer).ReadUTF8String('SessionID', l_SessionID);
|
|
SessionID := l_SessionID;
|
|
end;
|
|
end;
|
|
|
|
procedure LoginInfo.WriteComplex(ASerializer: TObject);
|
|
var
|
|
l_EmployeeID: Integer;
|
|
l_FirstName: String;
|
|
l_Job_Type: JobType;
|
|
l_JobTitle: String;
|
|
l_LastName: String;
|
|
l_SessionID: String;
|
|
begin
|
|
if TROSerializer(ASerializer).RecordStrictOrder then begin
|
|
l_SessionID := SessionID;
|
|
TROSerializer(ASerializer).WriteUTF8String('SessionID', l_SessionID);
|
|
SessionID := l_SessionID;
|
|
l_EmployeeID := EmployeeID;
|
|
TROSerializer(ASerializer).WriteInteger('EmployeeID', otSLong, l_EmployeeID);
|
|
EmployeeID := l_EmployeeID;
|
|
l_FirstName := FirstName;
|
|
TROSerializer(ASerializer).WriteUTF8String('FirstName', l_FirstName);
|
|
FirstName := l_FirstName;
|
|
l_LastName := LastName;
|
|
TROSerializer(ASerializer).WriteUTF8String('LastName', l_LastName);
|
|
LastName := l_LastName;
|
|
l_Job_Type := Job_Type;
|
|
TROSerializer(ASerializer).WriteEnumerated('Job_Type',TypeInfo(JobType), l_Job_Type);
|
|
Job_Type := l_Job_Type;
|
|
l_JobTitle := JobTitle;
|
|
TROSerializer(ASerializer).WriteUTF8String('JobTitle', l_JobTitle);
|
|
JobTitle := l_JobTitle;
|
|
end else begin
|
|
l_EmployeeID := EmployeeID;
|
|
TROSerializer(ASerializer).WriteInteger('EmployeeID', otSLong, l_EmployeeID);
|
|
EmployeeID := l_EmployeeID;
|
|
l_FirstName := FirstName;
|
|
TROSerializer(ASerializer).WriteUTF8String('FirstName', l_FirstName);
|
|
FirstName := l_FirstName;
|
|
l_Job_Type := Job_Type;
|
|
TROSerializer(ASerializer).WriteEnumerated('Job_Type',TypeInfo(JobType), l_Job_Type);
|
|
Job_Type := l_Job_Type;
|
|
l_JobTitle := JobTitle;
|
|
TROSerializer(ASerializer).WriteUTF8String('JobTitle', l_JobTitle);
|
|
JobTitle := l_JobTitle;
|
|
l_LastName := LastName;
|
|
TROSerializer(ASerializer).WriteUTF8String('LastName', l_LastName);
|
|
LastName := l_LastName;
|
|
l_SessionID := SessionID;
|
|
TROSerializer(ASerializer).WriteUTF8String('SessionID', l_SessionID);
|
|
SessionID := l_SessionID;
|
|
end;
|
|
end;
|
|
|
|
{ LoginInfoCollection }
|
|
constructor LoginInfoCollection.Create;
|
|
begin
|
|
inherited Create(LoginInfo);
|
|
end;
|
|
|
|
constructor LoginInfoCollection.Create(aItemClass: TCollectionItemClass);
|
|
begin
|
|
inherited Create(aItemClass);
|
|
end;
|
|
|
|
function LoginInfoCollection.Add: LoginInfo;
|
|
begin
|
|
result := LoginInfo(inherited Add);
|
|
end;
|
|
|
|
function LoginInfoCollection.GetItems(aIndex: integer): LoginInfo;
|
|
begin
|
|
result := LoginInfo(inherited Items[aIndex]);
|
|
end;
|
|
|
|
procedure LoginInfoCollection.SetItems(aIndex: integer; const Value: LoginInfo);
|
|
begin
|
|
LoginInfo(inherited Items[aIndex]).Assign(Value);
|
|
end;
|
|
|
|
{ CoLoginService }
|
|
|
|
class function CoLoginService.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): ILoginService;
|
|
begin
|
|
result := TLoginService_Proxy.Create(aMessage, aTransportChannel);
|
|
end;
|
|
|
|
{ TLoginService_Proxy }
|
|
|
|
function TLoginService_Proxy.__GetInterfaceName:string;
|
|
begin
|
|
result := 'LoginService';
|
|
end;
|
|
|
|
function TLoginService_Proxy.Login(const UserName: String; const Password: String; out aLoginInfo: LoginInfo): Boolean;
|
|
begin
|
|
try
|
|
aLoginInfo := nil;
|
|
__Message.InitializeRequestMessage(__TransportChannel, 'MegaDemoLibrary', __InterfaceName, 'Login');
|
|
__Message.Write('UserName', TypeInfo(String), UserName, []);
|
|
__Message.Write('Password', TypeInfo(String), Password, []);
|
|
__Message.Finalize;
|
|
|
|
__TransportChannel.Dispatch(__Message);
|
|
|
|
__Message.Read('Result', TypeInfo(Boolean), result, []);
|
|
__Message.Read('aLoginInfo', TypeInfo(MegaDemoLibrary_Intf.LoginInfo), aLoginInfo, []);
|
|
finally
|
|
__Message.UnsetAttributes(__TransportChannel);
|
|
__Message.FreeStream;
|
|
end
|
|
end;
|
|
|
|
procedure TLoginService_Proxy.Logout;
|
|
begin
|
|
try
|
|
__Message.InitializeRequestMessage(__TransportChannel, 'MegaDemoLibrary', __InterfaceName, 'Logout');
|
|
__Message.Finalize;
|
|
|
|
__TransportChannel.Dispatch(__Message);
|
|
|
|
finally
|
|
__Message.FreeStream;
|
|
end
|
|
end;
|
|
|
|
{ CoOrdersService }
|
|
|
|
class function CoOrdersService.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IOrdersService;
|
|
begin
|
|
result := TOrdersService_Proxy.Create(aMessage, aTransportChannel);
|
|
end;
|
|
|
|
{ TOrdersService_Proxy }
|
|
|
|
function TOrdersService_Proxy.__GetInterfaceName:string;
|
|
begin
|
|
result := 'OrdersService';
|
|
end;
|
|
|
|
function TOrdersService_Proxy.GetCustomerOrders(const CustomerID: String): Binary;
|
|
begin
|
|
try
|
|
result := nil;
|
|
__Message.InitializeRequestMessage(__TransportChannel, 'MegaDemoLibrary', __InterfaceName, 'GetCustomerOrders');
|
|
__Message.Write('CustomerID', TypeInfo(String), CustomerID, []);
|
|
__Message.Finalize;
|
|
|
|
__TransportChannel.Dispatch(__Message);
|
|
|
|
__Message.Read('Result', TypeInfo(Binary), result, []);
|
|
finally
|
|
__Message.UnsetAttributes(__TransportChannel);
|
|
__Message.FreeStream;
|
|
end
|
|
end;
|
|
|
|
initialization
|
|
RegisterROClass(LoginInfo);
|
|
RegisterProxyClass(ILoginService_IID, TLoginService_Proxy);
|
|
RegisterProxyClass(IOrdersService_IID, TOrdersService_Proxy);
|
|
|
|
|
|
finalization
|
|
UnregisterROClass(LoginInfo);
|
|
UnregisterProxyClass(ILoginService_IID);
|
|
UnregisterProxyClass(IOrdersService_IID);
|
|
|
|
end.
|