source upload
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
/// some common definitions shared by both client and server side
|
||||
unit Project20Interface;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes,
|
||||
SynCommons,
|
||||
mORMot;
|
||||
|
||||
type
|
||||
TDTOAirport = class(TCollectionItem)
|
||||
private
|
||||
FDCS: RawUTF8;
|
||||
FLocation: RawUTF8;
|
||||
FBHS: RawUTF8;
|
||||
FGate: TRawUTF8DynArray;
|
||||
FTerminal: TRawUTF8DynArray;
|
||||
published
|
||||
property Location: RawUTF8 read FLocation write FLocation;
|
||||
property Terminal: TRawUTF8DynArray read FTerminal write FTerminal;
|
||||
property Gate: TRawUTF8DynArray read FGate write FGate;
|
||||
property BHS: RawUTF8 read FBHS write FBHS;
|
||||
property DCS: RawUTF8 read FDCS write FDCS;
|
||||
end;
|
||||
|
||||
TDTOAirports = class(TInterfacedCollection)
|
||||
private
|
||||
function GetCollItem(aIndex: Integer): TDTOAirport;
|
||||
protected
|
||||
class function GetClass: TCollectionItemClass; override;
|
||||
public
|
||||
function Add: TDTOAirport;
|
||||
property Item[aIndex: Integer]: TDTOAirport read GetCollItem; default;
|
||||
end;
|
||||
|
||||
TDTOAirline = class(TCollectionItem)
|
||||
private
|
||||
FSQ: RawUTF8;
|
||||
FET: RawUTF8;
|
||||
FQR: TRawUTF8DynArray;
|
||||
FCX: TRawUTF8DynArray;
|
||||
published
|
||||
property CX: TRawUTF8DynArray read FCX write FCX;
|
||||
property QR: TRawUTF8DynArray read FQR write FQR;
|
||||
property ET: RawUTF8 read FET write FET;
|
||||
property SQ: RawUTF8 read FSQ write FSQ;
|
||||
end;
|
||||
|
||||
TDTOAirlines = class(TInterfacedCollection)
|
||||
private
|
||||
function GetCollItem(aIndex: Integer): TDTOAirline;
|
||||
protected
|
||||
class function GetClass: TCollectionItemClass; override;
|
||||
public
|
||||
function Add: TDTOAirline;
|
||||
property Item[aIndex: Integer]: TDTOAirline read GetCollItem; default;
|
||||
end;
|
||||
|
||||
TDTOAirportDefinition = class(TPersistentWithCustomCreate)
|
||||
private
|
||||
fAirline: TDTOAirlines;
|
||||
fAirport: TDTOAirports;
|
||||
fGroundHandler: TRawUTF8DynArray;
|
||||
public
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
published
|
||||
property Airport: TDTOAirports read fAirport;
|
||||
property Airline: TDTOAirlines read fAirline;
|
||||
property GroundHandler: TRawUTF8DynArray read fGroundHandler write fGroundHandler;
|
||||
end;
|
||||
|
||||
IAirportService = interface(IInvokable)
|
||||
['{4A613FCE-3B0D-4582-97C5-4244B06C2006}']
|
||||
procedure GetAirportDefinition(const AirPortID: integer; out Definition: TDTOAirportDefinition);
|
||||
end;
|
||||
|
||||
const
|
||||
ROOT_NAME = 'project20';
|
||||
PORT_NAME = '888';
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
{ TDTOAirports }
|
||||
|
||||
function TDTOAirports.Add: TDTOAirport;
|
||||
begin
|
||||
result := TDTOAirport(inherited Add);
|
||||
end;
|
||||
|
||||
class function TDTOAirports.GetClass: TCollectionItemClass;
|
||||
begin
|
||||
result := TDTOAirport;
|
||||
end;
|
||||
|
||||
function TDTOAirports.GetCollItem(aIndex: Integer): TDTOAirport;
|
||||
begin
|
||||
result := TDTOAirport(GetItem(aIndex));
|
||||
end;
|
||||
|
||||
|
||||
{ TDTOAirlines }
|
||||
|
||||
function TDTOAirlines.Add: TDTOAirline;
|
||||
begin
|
||||
result := TDTOAirline(inherited Add);
|
||||
end;
|
||||
|
||||
class function TDTOAirlines.GetClass: TCollectionItemClass;
|
||||
begin
|
||||
result := TDTOAirline;
|
||||
end;
|
||||
|
||||
function TDTOAirlines.GetCollItem(aIndex: Integer): TDTOAirline;
|
||||
begin
|
||||
result := TDTOAirline(GetItem(aIndex));
|
||||
end;
|
||||
|
||||
|
||||
{ TDTOAirportDefinition }
|
||||
|
||||
constructor TDTOAirportDefinition.Create;
|
||||
begin
|
||||
fAirport := TDTOAirports.Create;
|
||||
fAirline := TDTOAirlines.Create;
|
||||
end;
|
||||
|
||||
destructor TDTOAirportDefinition.Destroy;
|
||||
begin
|
||||
fAirline.Free;
|
||||
fAirport.Free;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
end.
|
Reference in New Issue
Block a user