2007-05-02 22:55:35 +00:00
|
|
|
{
|
|
|
|
This unit has been produced by ws_helper.
|
|
|
|
Input unit name : "user_service_intf".
|
|
|
|
This unit name : "user_service_intf".
|
2007-09-02 19:05:47 +00:00
|
|
|
Date : "26/08/2007 01:03:09".
|
2007-05-02 22:55:35 +00:00
|
|
|
}
|
|
|
|
unit user_service_intf;
|
2007-09-02 19:05:47 +00:00
|
|
|
{$IFDEF FPC}
|
|
|
|
{$mode objfpc} {$H+}
|
|
|
|
{$ENDIF}
|
|
|
|
{$IFNDEF FPC}
|
|
|
|
{$DEFINE WST_RECORD_RTTI}
|
|
|
|
{$ENDIF}
|
2007-05-02 22:55:35 +00:00
|
|
|
interface
|
|
|
|
|
|
|
|
uses SysUtils, Classes, TypInfo, base_service_intf, service_intf;
|
|
|
|
|
|
|
|
const
|
|
|
|
sNAME_SPACE = 'urn:UserService';
|
|
|
|
sUNIT_NAME = 'user_service_intf';
|
|
|
|
|
|
|
|
type
|
|
|
|
|
|
|
|
TUserArray = class;
|
2007-09-02 19:05:47 +00:00
|
|
|
TUser = class;
|
|
|
|
TNote = class;
|
2007-05-02 22:55:35 +00:00
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
TUserCategory = (
|
2007-05-02 22:55:35 +00:00
|
|
|
Normal
|
|
|
|
,Admin
|
|
|
|
);
|
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
TUser = class(TBaseComplexRemotable)
|
2007-05-02 22:55:35 +00:00
|
|
|
private
|
2007-09-02 19:05:47 +00:00
|
|
|
FCategory : TUserCategory;
|
2007-05-02 22:55:35 +00:00
|
|
|
FUserName : string;
|
|
|
|
FeMail : string;
|
|
|
|
FPreferences : string;
|
2007-09-02 19:05:47 +00:00
|
|
|
FNote : TNote;
|
2007-07-12 14:46:45 +00:00
|
|
|
public
|
|
|
|
constructor Create();override;
|
|
|
|
destructor Destroy();override;
|
2007-05-02 22:55:35 +00:00
|
|
|
published
|
2007-09-02 19:05:47 +00:00
|
|
|
property Category : TUserCategory read FCategory write FCategory;
|
2007-05-02 22:55:35 +00:00
|
|
|
property UserName : string read FUserName write FUserName;
|
|
|
|
property eMail : string read FeMail write FeMail;
|
|
|
|
property Preferences : string read FPreferences write FPreferences;
|
2007-09-02 19:05:47 +00:00
|
|
|
property Note : TNote read FNote write FNote;
|
2007-07-12 14:46:45 +00:00
|
|
|
end;
|
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
TNote = class(TBaseComplexRemotable)
|
2007-07-12 14:46:45 +00:00
|
|
|
private
|
|
|
|
FHeader : string;
|
|
|
|
FAuthor : string;
|
|
|
|
FDate : string;
|
|
|
|
published
|
|
|
|
property Header : string read FHeader write FHeader;
|
|
|
|
property Author : string read FAuthor write FAuthor;
|
|
|
|
property Date : string read FDate write FDate;
|
2007-05-02 22:55:35 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
TUserArray = class(TBaseObjectArrayRemotable)
|
|
|
|
private
|
2007-09-02 19:05:47 +00:00
|
|
|
function GetItem(AIndex: Integer): TUser;
|
2007-05-02 22:55:35 +00:00
|
|
|
public
|
|
|
|
class function GetItemClass():TBaseRemotableClass;override;
|
2007-09-02 19:05:47 +00:00
|
|
|
property Item[AIndex:Integer] : TUser Read GetItem;Default;
|
2007-05-02 22:55:35 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
UserService = interface(IInvokable)
|
2007-07-12 14:46:45 +00:00
|
|
|
['{F49D8FA4-9BBC-4321-9869-5BA745070ABC}']
|
2007-05-02 22:55:35 +00:00
|
|
|
function GetList():TUserArray;
|
|
|
|
procedure Add(
|
2007-09-02 19:05:47 +00:00
|
|
|
const AUser : TUser
|
2007-05-02 22:55:35 +00:00
|
|
|
);
|
|
|
|
procedure Update(
|
2007-09-02 19:05:47 +00:00
|
|
|
const AUser : TUser
|
2007-05-02 22:55:35 +00:00
|
|
|
);
|
|
|
|
function Find(
|
2007-06-28 23:33:38 +00:00
|
|
|
const AName : string
|
2007-09-02 19:05:47 +00:00
|
|
|
):TUser;
|
2007-05-02 22:55:35 +00:00
|
|
|
function Delete(
|
2007-06-28 23:33:38 +00:00
|
|
|
const AName : string
|
2007-05-02 22:55:35 +00:00
|
|
|
):boolean;
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure Register_user_service_intf_ServiceMetadata();
|
|
|
|
|
|
|
|
Implementation
|
2007-09-02 19:05:47 +00:00
|
|
|
uses metadata_repository, record_rtti, wst_types;
|
2007-05-02 22:55:35 +00:00
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
{ TUser }
|
2007-07-12 14:46:45 +00:00
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
constructor TUser.Create();
|
2007-07-12 14:46:45 +00:00
|
|
|
begin
|
|
|
|
inherited Create();
|
2007-09-02 19:05:47 +00:00
|
|
|
FNote := TNote.Create();
|
2007-07-12 14:46:45 +00:00
|
|
|
end;
|
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
destructor TUser.Destroy();
|
2007-07-12 14:46:45 +00:00
|
|
|
begin
|
|
|
|
if Assigned(FNote) then
|
|
|
|
FreeAndNil(FNote);
|
|
|
|
inherited Destroy();
|
|
|
|
end;
|
|
|
|
|
2007-05-02 22:55:35 +00:00
|
|
|
{ TUserArray }
|
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
function TUserArray.GetItem(AIndex: Integer): TUser;
|
2007-05-02 22:55:35 +00:00
|
|
|
begin
|
2007-09-02 19:05:47 +00:00
|
|
|
Result := Inherited GetItem(AIndex) As TUser;
|
2007-05-02 22:55:35 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
class function TUserArray.GetItemClass(): TBaseRemotableClass;
|
|
|
|
begin
|
2007-09-02 19:05:47 +00:00
|
|
|
Result:= TUser;
|
2007-05-02 22:55:35 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure Register_user_service_intf_ServiceMetadata();
|
|
|
|
var
|
|
|
|
mm : IModuleMetadataMngr;
|
|
|
|
begin
|
|
|
|
mm := GetModuleMetadataMngr();
|
|
|
|
mm.SetRepositoryNameSpace(sUNIT_NAME, sNAME_SPACE);
|
|
|
|
mm.SetServiceCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'TRANSPORT_Address',
|
|
|
|
'http://127.0.0.1:8000/services/UserService'
|
|
|
|
);
|
|
|
|
mm.SetServiceCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'FORMAT_Style',
|
|
|
|
'rpc'
|
|
|
|
);
|
2007-07-13 22:33:55 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'GetList',
|
|
|
|
'_E_N_',
|
|
|
|
'GetList'
|
|
|
|
);
|
2007-05-02 22:55:35 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'GetList',
|
|
|
|
'TRANSPORT_soapAction',
|
|
|
|
'urn:UserService/UserServiceGetList'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'GetList',
|
|
|
|
'FORMAT_Input_EncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'GetList',
|
|
|
|
'FORMAT_OutputEncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
2007-07-13 22:33:55 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Add',
|
|
|
|
'_E_N_',
|
|
|
|
'Add'
|
|
|
|
);
|
2007-05-02 22:55:35 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Add',
|
|
|
|
'TRANSPORT_soapAction',
|
|
|
|
'urn:UserService/UserServiceAdd'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Add',
|
|
|
|
'FORMAT_Input_EncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Add',
|
|
|
|
'FORMAT_OutputEncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
2007-07-13 22:33:55 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Update',
|
|
|
|
'_E_N_',
|
|
|
|
'Update'
|
|
|
|
);
|
2007-05-02 22:55:35 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Update',
|
|
|
|
'TRANSPORT_soapAction',
|
|
|
|
'urn:UserService/UserServiceUpdate'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Update',
|
|
|
|
'FORMAT_Input_EncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Update',
|
|
|
|
'FORMAT_OutputEncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
2007-07-13 22:33:55 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Find',
|
|
|
|
'_E_N_',
|
|
|
|
'Find'
|
|
|
|
);
|
2007-05-02 22:55:35 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Find',
|
|
|
|
'TRANSPORT_soapAction',
|
|
|
|
'urn:UserService/UserServiceFind'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Find',
|
|
|
|
'FORMAT_Input_EncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Find',
|
|
|
|
'FORMAT_OutputEncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
2007-07-13 22:33:55 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Delete',
|
|
|
|
'_E_N_',
|
|
|
|
'Delete'
|
|
|
|
);
|
2007-05-02 22:55:35 +00:00
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Delete',
|
|
|
|
'TRANSPORT_soapAction',
|
|
|
|
'urn:UserService/UserServiceDelete'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Delete',
|
|
|
|
'FORMAT_Input_EncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
|
|
|
mm.SetOperationCustomData(
|
|
|
|
sUNIT_NAME,
|
|
|
|
'UserService',
|
|
|
|
'Delete',
|
|
|
|
'FORMAT_OutputEncodingStyle',
|
|
|
|
'literal'
|
|
|
|
);
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
initialization
|
2007-09-02 19:05:47 +00:00
|
|
|
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(TUserCategory),'TUserCategory');
|
|
|
|
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(TUser),'TUser');
|
|
|
|
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(TNote),'TNote');
|
2007-05-02 22:55:35 +00:00
|
|
|
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(TUserArray),'TUserArray');
|
|
|
|
GetTypeRegistry().ItemByTypeInfo[TypeInfo(TUserArray)].RegisterExternalPropertyName(sARRAY_ITEM,'item');
|
|
|
|
|
|
|
|
|
2007-09-02 19:05:47 +00:00
|
|
|
|
2007-05-02 22:55:35 +00:00
|
|
|
End.
|