You've already forked lazarus-ccr
server : TCP server implementatiion ( using synapse library ) in synapse_tcp_server.pas Delphi : first binary format support bugs fix in the WSDL generation for the server side git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@158 8e941d3f-bd1b-0410-a28a-d453659cc2b4
76 lines
1.8 KiB
ObjectPascal
76 lines
1.8 KiB
ObjectPascal
unit user_service_intf;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, base_service_intf;
|
|
|
|
type
|
|
|
|
TUserCategory = ( Normal, Admin );
|
|
|
|
{ TUser }
|
|
|
|
TUser = class(TBaseComplexRemotable)
|
|
private
|
|
FCategory: TUserCategory;
|
|
FeMail: string;
|
|
FName: string;
|
|
FPreferences: string;
|
|
published
|
|
property Category : TUserCategory read FCategory write FCategory;
|
|
property Name : string read FName write FName;
|
|
property eMail : string read FeMail write FeMail;
|
|
property Preferences : string read FPreferences write FPreferences;
|
|
end;
|
|
|
|
{ TUserArray }
|
|
|
|
TUserArray = class(TBaseObjectArrayRemotable)
|
|
private
|
|
function GetUser(AIndex: Integer): TUser;
|
|
public
|
|
class function GetItemClass():TBaseRemotableClass;override;
|
|
Property Item[AIndex:Integer] : TUser Read GetUser;Default;
|
|
End;
|
|
|
|
UserService = interface(IInvokable)
|
|
['{101F2CA7-19FC-4A73-AA98-F13FCDA75EE1}']
|
|
function GetList():TUserArray;
|
|
procedure Add(AUser : TUser);
|
|
function Find(const AName : string):TUser;
|
|
function Delete(const AName : string):Boolean;
|
|
end;
|
|
|
|
procedure Register_user_service_intf_NameSpace();
|
|
|
|
implementation
|
|
uses metadata_repository;
|
|
|
|
procedure Register_user_service_intf_NameSpace();
|
|
begin
|
|
GetModuleMetadataMngr().SetRepositoryNameSpace('user_service_intf','urn:UserService');
|
|
end;
|
|
|
|
|
|
{ TUserArray }
|
|
|
|
function TUserArray.GetUser(AIndex: Integer): TUser;
|
|
begin
|
|
Result := GetItem(AIndex) as TUser;
|
|
end;
|
|
|
|
class function TUserArray.GetItemClass(): TBaseRemotableClass;
|
|
begin
|
|
Result := TUser;
|
|
end;
|
|
|
|
initialization
|
|
GetTypeRegistry().Register('urn:UserService',TypeInfo(TUserCategory),'TUserCategory');
|
|
GetTypeRegistry().Register('urn:UserService',TypeInfo(TUser),'TUser');
|
|
GetTypeRegistry().Register('urn:UserService',TypeInfo(TUserArray),'TUserArray');
|
|
|
|
end.
|