You've already forked lazarus-ccr
- Type Library Editor : array support
- better Delphi support - server listeners refactored to ease service creation git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@214 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -24,6 +24,7 @@ uses
|
||||
const
|
||||
sROOT = 'ROOT';
|
||||
sSCOPE_INNER_NAME = 'INNER_VAL';
|
||||
sFORMAT = 'format';
|
||||
{$IFDEF wst_binary_header}
|
||||
sHEADER = 'HEADER';
|
||||
{$ENDIF}
|
||||
|
@ -37,6 +37,7 @@ const
|
||||
sARRAY_TYPE = 'arrayType';
|
||||
|
||||
sCONTENT_TYPE = 'contenttype';
|
||||
sFORMAT = 'format';
|
||||
sSOAP_CONTENT_TYPE = 'text/xml';
|
||||
|
||||
sHEADER = 'Header';
|
||||
|
@ -28,6 +28,7 @@ const
|
||||
|
||||
|
||||
sCONTENT_TYPE = 'contenttype';
|
||||
sFORMAT = 'format';
|
||||
sXMLRPC_CONTENT_TYPE = 'text/xml';
|
||||
|
||||
sDATA = 'data';
|
||||
|
@ -167,13 +167,19 @@ procedure TBinaryCallMaker.MakeCall(
|
||||
);
|
||||
Var
|
||||
rqt, rsps : TMemoryStream;
|
||||
propMngr : IPropertyManager;
|
||||
begin
|
||||
Assert(Assigned(ASerializer));
|
||||
Assert(Assigned(ATransport));
|
||||
ATransport.GetPropertyManager().SetProperty(
|
||||
propMngr := ATransport.GetPropertyManager();
|
||||
propMngr.SetProperty(
|
||||
sCONTENT_TYPE,
|
||||
sBINARY_CONTENT
|
||||
);
|
||||
propMngr.SetProperty(
|
||||
sFORMAT,
|
||||
sPROTOCOL_NAME
|
||||
);
|
||||
rsps := Nil;
|
||||
rqt := TMemoryStream.Create();
|
||||
Try
|
||||
|
@ -13,7 +13,7 @@
|
||||
{$INCLUDE wst_global.inc}
|
||||
unit ics_http_protocol;
|
||||
|
||||
{$DEFINE WST_DBG}
|
||||
//{$DEFINE WST_DBG}
|
||||
|
||||
interface
|
||||
|
||||
@ -50,6 +50,7 @@ Type
|
||||
procedure SetProxyServer(const AValue: string);
|
||||
procedure SetProxyUsername(const AValue: string);
|
||||
private
|
||||
FFormat : string;
|
||||
procedure HttpBeforeHeaderSendHandler(
|
||||
Sender : TObject;
|
||||
const Method : String;
|
||||
@ -68,6 +69,7 @@ Type
|
||||
property ProxyUsername : string read GetProxyUsername write SetProxyUsername;
|
||||
property ProxyPassword : string read GetProxyPassword write SetProxyPassword;
|
||||
property SoapAction : string read FSoapAction write FSoapAction;
|
||||
property Format : string read FFormat write FFormat;
|
||||
End;
|
||||
{$M+}
|
||||
|
||||
|
@ -48,6 +48,7 @@ Type
|
||||
FDataBuffer : string;
|
||||
FAllDataRead : Boolean;
|
||||
FBeginRead : Boolean;
|
||||
FFormat : string;
|
||||
FHasException : Boolean;
|
||||
FExceptionMessage : string;
|
||||
procedure DataAvailable(Sender: TObject; Error: Word);
|
||||
@ -62,6 +63,7 @@ Type
|
||||
property ContentType : string Read FContentType Write FContentType;
|
||||
property Address : string Read GetAddress Write SetAddress;
|
||||
property Port : string Read GetPort Write SetPort;
|
||||
property Format : string read FFormat write FFormat;
|
||||
End;
|
||||
{$M+}
|
||||
|
||||
@ -173,6 +175,7 @@ begin
|
||||
wrtr.WriteInt32S(0);
|
||||
wrtr.WriteStr(Target);
|
||||
wrtr.WriteStr(ContentType);
|
||||
wrtr.WriteStr(Self.Format);
|
||||
SetLength(strBuff,ARequest.Size);
|
||||
ARequest.Position := 0;
|
||||
ARequest.Read(strBuff[1],Length(strBuff));
|
||||
|
@ -7,7 +7,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="3"/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -29,7 +29,7 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="39">
|
||||
<Units Count="40">
|
||||
<Unit0>
|
||||
<Filename Value="test_import.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -44,8 +44,8 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="..\wstimportdlg.lrs"/>
|
||||
<UnitName Value="wstimportdlg"/>
|
||||
<CursorPos X="22" Y="256"/>
|
||||
<TopLine Value="233"/>
|
||||
<CursorPos X="1" Y="5"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="73"/>
|
||||
<Loaded Value="True"/>
|
||||
@ -76,7 +76,7 @@
|
||||
<UnitName Value="pascal_parser_intf"/>
|
||||
<CursorPos X="1" Y="390"/>
|
||||
<TopLine Value="375"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
@ -92,7 +92,7 @@
|
||||
<UnitName Value="wsdl2pas_imp"/>
|
||||
<CursorPos X="18" Y="747"/>
|
||||
<TopLine Value="736"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
@ -108,7 +108,7 @@
|
||||
<UnitName Value="source_utils"/>
|
||||
<CursorPos X="14" Y="311"/>
|
||||
<TopLine Value="291"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
@ -117,7 +117,7 @@
|
||||
<UnitName Value="generator"/>
|
||||
<CursorPos X="31" Y="1645"/>
|
||||
<TopLine Value="1633"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
@ -126,7 +126,7 @@
|
||||
<UnitName Value="metadata_generator"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
@ -149,9 +149,11 @@
|
||||
<Unit14>
|
||||
<Filename Value="..\..\..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="1" Y="99"/>
|
||||
<TopLine Value="77"/>
|
||||
<CursorPos X="2" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="16"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\..\..\wst_rtti_filter\dom_cursors.pas"/>
|
||||
@ -199,7 +201,7 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uform2.lrs"/>
|
||||
<UnitName Value="uform2"/>
|
||||
<CursorPos X="5" Y="44"/>
|
||||
<CursorPos X="45" Y="28"/>
|
||||
<TopLine Value="19"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="73"/>
|
||||
@ -271,7 +273,7 @@
|
||||
<Unit32>
|
||||
<Filename Value="..\wst_register.pas"/>
|
||||
<UnitName Value="wst_register"/>
|
||||
<CursorPos X="12" Y="8"/>
|
||||
<CursorPos X="14" Y="6"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="30"/>
|
||||
@ -315,13 +317,42 @@
|
||||
<TopLine Value="465"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<Filename Value="..\..\..\service_intf.pas"/>
|
||||
<UnitName Value="service_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit39>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
<JumpHistory Count="5" HistoryIndex="4">
|
||||
<Position1>
|
||||
<Filename Value="..\..\..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<Caret Line="99" Column="1" TopLine="77"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\..\..\ws_helper\wst_resources_utils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="..\wstimportdlg.pas"/>
|
||||
<Caret Line="256" Column="22" TopLine="233"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\wstimportdlg.pas"/>
|
||||
<Caret Line="12" Column="31" TopLine="54"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\..\ws_helper\wst_resources_utils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position5>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="..\..\..\"/>
|
||||
<OtherUnitFiles Value="..\;..\..\..\;..\..\..\ws_helper\;..\..\..\wst_rtti_filter\"/>
|
||||
<UnitOutputDirectory Value="obj"/>
|
||||
</SearchPaths>
|
||||
|
@ -46,12 +46,12 @@ object formImport: TformImport
|
||||
Left = 9
|
||||
Height = 23
|
||||
Top = 31
|
||||
Width = 408
|
||||
Width = 404
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 435
|
||||
Left = 431
|
||||
Height = 25
|
||||
Top = 31
|
||||
Width = 40
|
||||
@ -64,12 +64,12 @@ object formImport: TformImport
|
||||
Left = 9
|
||||
Height = 23
|
||||
Top = 88
|
||||
Width = 408
|
||||
Width = 404
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button3: TButton
|
||||
Left = 435
|
||||
Left = 431
|
||||
Height = 25
|
||||
Top = 88
|
||||
Width = 40
|
||||
|
@ -14,13 +14,13 @@ LazarusResources.Add('TformImport','FORMDATA',[
|
||||
+'on File ( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#9#6'H'
|
||||
+'eight'#2#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11
|
||||
+'ParentColor'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2#9#6'Height'#2#23#3'T'
|
||||
+'op'#2#31#5'Width'#3#152#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'T'
|
||||
+'abOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#179#1#6'Height'#2#25#3'Top'
|
||||
+'op'#2#31#5'Width'#3#148#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'T'
|
||||
+'abOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#175#1#6'Height'#2#25#3'Top'
|
||||
+#2#31#5'Width'#2'('#6'Action'#7#11'actOpenFile'#7'Anchors'#11#5'akTop'#7'akR'
|
||||
+'ight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#5'TEdit'#12'e'
|
||||
+'dtOutputDir'#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Width'#3#152#1#7'Anch'
|
||||
+'dtOutputDir'#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Width'#3#148#1#7'Anch'
|
||||
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TButton'#7'Bu'
|
||||
+'tton3'#4'Left'#3#179#1#6'Height'#2#25#3'Top'#2'X'#5'Width'#2'('#6'Action'#7
|
||||
+'tton3'#4'Left'#3#175#1#6'Height'#2#25#3'Top'#2'X'#5'Width'#2'('#6'Action'#7
|
||||
+#10'actOpenDir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBo'
|
||||
+'rder'#2#4#8'TabOrder'#2#3#0#0#9'TCheckBox'#15'edtAddToProject'#4'Left'#2#9#6
|
||||
+'Height'#2#13#3'Top'#3#128#0#5'Width'#3#176#0#7'Caption'#6'"Add the generate'
|
||||
|
@ -13,8 +13,6 @@
|
||||
{$INCLUDE wst_global.inc}
|
||||
unit indy_http_protocol;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
//{$DEFINE WST_DBG}
|
||||
|
||||
interface
|
||||
@ -36,6 +34,7 @@ Type
|
||||
{ THTTPTransport }
|
||||
THTTPTransport = class(TSimpleFactoryItem,ITransport)
|
||||
Private
|
||||
FFormat : string;
|
||||
FPropMngr : IPropertyManager;
|
||||
FConnection : TidHttp;
|
||||
FSoapAction: string;
|
||||
@ -63,6 +62,7 @@ Type
|
||||
property ProxyUsername : string read GetProxyUsername write SetProxyUsername;
|
||||
property ProxyPassword : string read GetProxyPassword write SetProxyPassword;
|
||||
property SoapAction : string read FSoapAction write FSoapAction;
|
||||
property Format : string read FFormat write FFormat;
|
||||
End;
|
||||
{$M+}
|
||||
|
||||
|
@ -34,16 +34,17 @@ uses
|
||||
{$IFDEF INDY_9}
|
||||
IdTCPServer,
|
||||
{$ENDIF}
|
||||
IdSocketHandle;
|
||||
IdSocketHandle,
|
||||
server_listener;
|
||||
|
||||
{$INCLUDE wst.inc}
|
||||
{$INCLUDE wst_delphi.inc}
|
||||
|
||||
type
|
||||
|
||||
{ TwstWebApplication }
|
||||
{ TwstIndyHttpListener }
|
||||
|
||||
TwstWebApplication = class(TObject)
|
||||
TwstIndyHttpListener = class(TwstListener)
|
||||
private
|
||||
FHTTPServerObject: TIdHTTPServer;
|
||||
FRootAddress : string;
|
||||
@ -85,9 +86,9 @@ type
|
||||
const AServerSoftware : string = 'Web Service Toolkit Application'
|
||||
);
|
||||
destructor Destroy(); override;
|
||||
procedure Display(const AMsg : string);
|
||||
procedure Start();
|
||||
procedure Stop();
|
||||
class function GetDescription() : string;override;
|
||||
procedure Start();override;
|
||||
procedure Stop();override;
|
||||
end;
|
||||
|
||||
|
||||
@ -190,9 +191,9 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
{ TwstWebApplication }
|
||||
{ TwstIndyHttpListener }
|
||||
|
||||
function TwstWebApplication.GenerateWSDLTable(): string;
|
||||
function TwstIndyHttpListener.GenerateWSDLTable(): string;
|
||||
var
|
||||
r : IModuleMetadataMngr;
|
||||
i : Integer;
|
||||
@ -201,29 +202,31 @@ begin
|
||||
Result := '<html>' +
|
||||
'<head>'+
|
||||
'<title>'+
|
||||
'The Web Service Toolkit generated Metadata table'+
|
||||
'The Web Services Toolkit generated Metadata table'+
|
||||
'</title>'+
|
||||
'<body>' +
|
||||
'<p BGCOLOR="#DDEEFF"><FONT FACE="Arial" COLOR="#0000A0" SIZE="+2">The following repositories has available. Click on the link to view the corresponding WSDL.</FONT></p>'+
|
||||
'<table width="100%">' +
|
||||
'<tr>';
|
||||
'<table width="100%">';
|
||||
|
||||
for i := 0 to Pred(r.GetCount()) do
|
||||
Result := Result + '<td align="center">' +
|
||||
for i := 0 to Pred(r.GetCount()) do begin
|
||||
Result := Result +
|
||||
'<tr>' +
|
||||
'<td align="left">' +
|
||||
Format('<a href="%s">',[sSEPARATOR+sSERVICES_PREFIXE+sSEPARATOR+sWSDL+sSEPARATOR+r.GetRepositoryName(i)])+
|
||||
r.GetRepositoryName(i) +
|
||||
'</a>'+
|
||||
'</td>';
|
||||
|
||||
'</td>' +
|
||||
'</tr>';
|
||||
end;
|
||||
Result := Result +
|
||||
'</tr>'+
|
||||
|
||||
'</table>'+
|
||||
'</body>'+
|
||||
'</head>'+
|
||||
'</html>';
|
||||
end;
|
||||
|
||||
procedure TwstWebApplication.ProcessWSDLRequest(
|
||||
procedure TwstIndyHttpListener.ProcessWSDLRequest(
|
||||
{$IFDEF INDY_10}
|
||||
AContext : TIdContext;
|
||||
{$ENDIF}
|
||||
@ -251,7 +254,7 @@ begin
|
||||
AResponseInfo.ContentType := 'text/html';
|
||||
end;
|
||||
|
||||
procedure TwstWebApplication.ProcessServiceRequest(
|
||||
procedure TwstIndyHttpListener.ProcessServiceRequest(
|
||||
{$IFDEF INDY_10}
|
||||
AContext : TIdContext;
|
||||
{$ENDIF}
|
||||
@ -289,13 +292,13 @@ begin
|
||||
end;
|
||||
except
|
||||
on e : Exception do begin
|
||||
Display('ProcessData()>> Exception = '+e.Message);
|
||||
NotifyMessage('ProcessData()>> Exception = '+e.Message);
|
||||
raise;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TwstWebApplication.Handler_CommandGet(
|
||||
procedure TwstIndyHttpListener.Handler_CommandGet(
|
||||
{$IFDEF INDY_10}
|
||||
AContext : TIdContext;
|
||||
{$ENDIF}
|
||||
@ -306,20 +309,26 @@ procedure TwstWebApplication.Handler_CommandGet(
|
||||
AResponseInfo : TIdHTTPResponseInfo
|
||||
);
|
||||
var
|
||||
locPath, locPathPart, s : string;
|
||||
{$IFDEF WST_DBG}
|
||||
s : string;
|
||||
{$ENDIF}
|
||||
locPath, locPathPart : string;
|
||||
j : SizeInt;
|
||||
begin
|
||||
{$IFDEF WST_DBG}
|
||||
if Assigned(ARequestInfo.PostStream) and ( ARequestInfo.PostStream.Size > 0 ) then begin
|
||||
j := ARequestInfo.PostStream.Size;
|
||||
SetLength(s,j);
|
||||
ARequestInfo.PostStream.Read(s[1],j);
|
||||
Display('----------- QUERY ----------------------');
|
||||
NotifyMessage('----------- QUERY ----------------------');
|
||||
Display(s);
|
||||
end;
|
||||
{$ENDIF}
|
||||
locPath := ARequestInfo.Document;
|
||||
locPathPart := ExtractNextPathElement(locPath);
|
||||
if AnsiSameText(sSERVICES_PREFIXE,locPathPart) then begin
|
||||
ProcessServiceRequest({$IFDEF INDY_10}AContext,{$ENDIF}ARequestInfo,AResponseInfo,locPath);
|
||||
{$IFDEF WST_DBG}
|
||||
if Assigned(AResponseInfo.ContentStream) and ( AResponseInfo.ContentStream.Size > 0 ) then begin
|
||||
j := AResponseInfo.ContentStream.Size;
|
||||
SetLength(s,j);
|
||||
@ -328,13 +337,14 @@ begin
|
||||
Display('--------- RESPONSE ------------------------');
|
||||
Display(s);
|
||||
end;
|
||||
{$ENDIF}
|
||||
Exit;
|
||||
end;
|
||||
|
||||
ProcessWSDLRequest({$IFDEF INDY_10}AContext,{$ENDIF}ARequestInfo,AResponseInfo,locPath);
|
||||
end;
|
||||
|
||||
constructor TwstWebApplication.Create(
|
||||
constructor TwstIndyHttpListener.Create(
|
||||
const AServerIpAddress : string;
|
||||
const AListningPort : Integer;
|
||||
const ADefaultClientPort : Integer;
|
||||
@ -355,34 +365,35 @@ begin
|
||||
|
||||
FHTTPServerObject.DefaultPort := ADefaultClientPort;
|
||||
FHTTPServerObject.ServerSoftware := AServerSoftware;
|
||||
FHTTPServerObject.Active := True;
|
||||
//FHTTPServerObject.Active := True;
|
||||
FHTTPServerObject.OnCommandGet := {$IFDEF FPC}@{$ENDIF}Handler_CommandGet;
|
||||
end;
|
||||
|
||||
destructor TwstWebApplication.Destroy();
|
||||
destructor TwstIndyHttpListener.Destroy();
|
||||
begin
|
||||
if ( FHTTPServerObject <> nil ) then
|
||||
Stop();
|
||||
FreeAndNil(FHTTPServerObject);
|
||||
inherited Destroy();
|
||||
end;
|
||||
|
||||
procedure TwstWebApplication.Display(const AMsg: string);
|
||||
begin
|
||||
//WriteLn(AMsg);
|
||||
end;
|
||||
|
||||
|
||||
procedure TwstWebApplication.Start();
|
||||
procedure TwstIndyHttpListener.Start();
|
||||
begin
|
||||
if not FHTTPServerObject.Active then
|
||||
FHTTPServerObject.Active := True;
|
||||
end;
|
||||
|
||||
procedure TwstWebApplication.Stop();
|
||||
procedure TwstIndyHttpListener.Stop();
|
||||
begin
|
||||
if FHTTPServerObject.Active then
|
||||
FHTTPServerObject.Active := False;
|
||||
end;
|
||||
|
||||
class function TwstIndyHttpListener.GetDescription: string;
|
||||
begin
|
||||
Result := 'Indy HTTP Listener';
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterStdTypes();
|
||||
Server_service_RegisterBinaryFormat();
|
||||
|
@ -42,6 +42,7 @@ Type
|
||||
FFileName: string;
|
||||
FTarget: string;
|
||||
private
|
||||
FFormat : string;
|
||||
procedure SetFileName(const AValue: string);
|
||||
procedure LoadModule();
|
||||
public
|
||||
@ -53,6 +54,7 @@ Type
|
||||
property ContentType : string read FContentType write FContentType;
|
||||
property Target : string read FTarget write FTarget;
|
||||
property FileName : string read FFileName write SetFileName;
|
||||
property Format : string read FFormat write FFormat;
|
||||
end;
|
||||
{$M+}
|
||||
|
||||
@ -207,6 +209,7 @@ begin
|
||||
wrtr.WriteInt32S(0);
|
||||
wrtr.WriteStr(Target);
|
||||
wrtr.WriteStr(ContentType);
|
||||
wrtr.WriteStr(Self.Format);
|
||||
SetLength(strBuff,ARequest.Size);
|
||||
ARequest.Position := 0;
|
||||
ARequest.Read(strBuff[1],Length(strBuff));
|
||||
|
@ -54,7 +54,7 @@ function wstHandleRequest(
|
||||
end;
|
||||
|
||||
Var
|
||||
buff, trgt,ctntyp : string;
|
||||
buff, trgt,ctntyp, frmt : string;
|
||||
rqst : IRequestBuffer;
|
||||
rdr : IDataStoreReader;
|
||||
inStream, bufStream : TMemoryStream;
|
||||
@ -84,6 +84,7 @@ begin
|
||||
wstCheck(RET_FALSE,'Invalid buffer.');
|
||||
trgt := rdr.ReadStr();
|
||||
ctntyp := rdr.ReadStr();
|
||||
frmt := rdr.ReadStr();
|
||||
buff := rdr.ReadStr();
|
||||
rdr := nil;
|
||||
bufStream.Size := 0;
|
||||
@ -91,7 +92,7 @@ begin
|
||||
inStream.Write(buff[1],Length(buff));
|
||||
SetLength(buff,0);
|
||||
inStream.Position := 0;
|
||||
rqst := TRequestBuffer.Create(trgt,ctntyp,inStream,bufStream,'');
|
||||
rqst := TRequestBuffer.Create(trgt,ctntyp,inStream,bufStream,frmt);
|
||||
HandleServiceRequest(rqst);
|
||||
bs := bufStream.Size;
|
||||
wstCheck(ARequestBuffer.SetSize(bs));
|
||||
|
@ -36,6 +36,7 @@ Type
|
||||
Private
|
||||
FAdress: string;
|
||||
FContentType: string;
|
||||
FFormat : string;
|
||||
FPropMngr : IPropertyManager;
|
||||
Public
|
||||
constructor Create();override;
|
||||
@ -45,6 +46,7 @@ Type
|
||||
Published
|
||||
property ContentType : string Read FContentType Write FContentType;
|
||||
property Adress : string Read FAdress Write FAdress;
|
||||
property Format : string read FFormat write FFormat;
|
||||
End;
|
||||
{$M+}
|
||||
|
||||
@ -78,7 +80,7 @@ Var
|
||||
i : Int64;
|
||||
{$ENDIF WST_DBG}
|
||||
begin
|
||||
bffr := TRequestBuffer.Create(Adress,ContentType,ARequest,AResponse);
|
||||
bffr := TRequestBuffer.Create(Adress,ContentType,ARequest,AResponse,Format);
|
||||
HandleServiceRequest(bffr);
|
||||
{$IFDEF WST_DBG}
|
||||
i := AResponse.Position;
|
||||
|
@ -5,28 +5,28 @@ program http_server;
|
||||
uses
|
||||
SysUtils,
|
||||
Classes,
|
||||
{$IFNDEF FPC}
|
||||
ActiveX,
|
||||
{$ENDIF}
|
||||
indy_http_server,
|
||||
metadata_service,
|
||||
logger_extension,
|
||||
wst_delphi_rtti_utils in '..\..\..\wst_delphi_rtti_utils.pas';
|
||||
wst_delphi_rtti_utils in '..\..\..\wst_delphi_rtti_utils.pas',
|
||||
server_listener in '..\..\..\server_listener.pas';
|
||||
|
||||
var
|
||||
AppObject : TwstWebApplication;
|
||||
AppObject : TwstIndyHttpListener;
|
||||
begin
|
||||
{$IFNDEF FPC}
|
||||
CoInitialize(nil);
|
||||
try
|
||||
{$ENDIF}
|
||||
AppObject := TwstWebApplication.Create();
|
||||
AppObject := TwstIndyHttpListener.Create();
|
||||
try
|
||||
WriteLn('"Web Service Toolkit" HTTP Server sample listening at:');
|
||||
WriteLn('');
|
||||
WriteLn('http://127.0.0.1:8000/');
|
||||
WriteLn('');
|
||||
WriteLn('Press enter to quit.');
|
||||
AppObject.Start();
|
||||
ReadLn;
|
||||
finally
|
||||
FreeAndNil(AppObject);
|
||||
|
@ -34,15 +34,15 @@
|
||||
<PackageName Value="indylaz"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="48">
|
||||
<Units Count="49">
|
||||
<Unit0>
|
||||
<Filename Value="http_server.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="http_server"/>
|
||||
<CursorPos X="19" Y="10"/>
|
||||
<CursorPos X="33" Y="16"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="73"/>
|
||||
<UsageCount Value="81"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
@ -50,15 +50,15 @@
|
||||
<UnitName Value="app_object"/>
|
||||
<CursorPos X="42" Y="214"/>
|
||||
<TopLine Value="200"/>
|
||||
<UsageCount Value="36"/>
|
||||
<UsageCount Value="35"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\..\base_service_intf.pas"/>
|
||||
<UnitName Value="base_service_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="20"/>
|
||||
<UsageCount Value="35"/>
|
||||
<EditorIndex Value="21"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
@ -66,8 +66,8 @@
|
||||
<UnitName Value="metadata_wsdl"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="22"/>
|
||||
<UsageCount Value="36"/>
|
||||
<EditorIndex Value="23"/>
|
||||
<UsageCount Value="40"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
@ -75,8 +75,8 @@
|
||||
<UnitName Value="metadata_service_imp"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="20"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
@ -84,8 +84,8 @@
|
||||
<UnitName Value="user_service_intf_imp"/>
|
||||
<CursorPos X="22" Y="161"/>
|
||||
<TopLine Value="160"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<UsageCount Value="33"/>
|
||||
<EditorIndex Value="17"/>
|
||||
<UsageCount Value="37"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
@ -93,8 +93,8 @@
|
||||
<UnitName Value="user_service_intf_binder"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="19"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="23"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
@ -102,8 +102,8 @@
|
||||
<UnitName Value="user_service_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="17"/>
|
||||
<UsageCount Value="33"/>
|
||||
<EditorIndex Value="18"/>
|
||||
<UsageCount Value="37"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
@ -111,8 +111,8 @@
|
||||
<UnitName Value="metadata_repository"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="25"/>
|
||||
<UsageCount Value="36"/>
|
||||
<EditorIndex Value="26"/>
|
||||
<UsageCount Value="40"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
@ -120,8 +120,8 @@
|
||||
<UnitName Value="semaphore"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="21"/>
|
||||
<UsageCount Value="20"/>
|
||||
<EditorIndex Value="22"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
@ -129,8 +129,8 @@
|
||||
<UnitName Value="server_service_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="35"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
@ -138,8 +138,8 @@
|
||||
<UnitName Value="server_service_soap"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="35"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
@ -147,8 +147,8 @@
|
||||
<UnitName Value="base_soap_formatter"/>
|
||||
<CursorPos X="17" Y="28"/>
|
||||
<TopLine Value="13"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="35"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
@ -156,8 +156,8 @@
|
||||
<UnitName Value="server_service_imputils"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="19"/>
|
||||
<UsageCount Value="34"/>
|
||||
<EditorIndex Value="20"/>
|
||||
<UsageCount Value="38"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
@ -165,34 +165,34 @@
|
||||
<UnitName Value="IdCustomHTTPServer"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\i386\i386.inc"/>
|
||||
<CursorPos X="49" Y="1252"/>
|
||||
<TopLine Value="1231"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\..\wst.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\xmlrpc_formatter.pas"/>
|
||||
<UnitName Value="xmlrpc_formatter"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="28"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\server_service_xmlrpc.pas"/>
|
||||
<UnitName Value="server_service_xmlrpc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="33"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="37"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
@ -200,8 +200,8 @@
|
||||
<UnitName Value="server_binary_formatter"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="31"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
@ -209,8 +209,8 @@
|
||||
<UnitName Value="base_xmlrpc_formatter"/>
|
||||
<CursorPos X="18" Y="21"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="31"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
@ -218,109 +218,109 @@
|
||||
<UnitName Value="IdSocketHandle"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\others_package\indy\indy-10.2.0.1\lazarus\IdAboutVCL.pas"/>
|
||||
<UnitName Value="IdAboutVCL"/>
|
||||
<CursorPos X="19" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\others_package\indy\indy-10.2.0.1\fpc\System\IdGlobal.pas"/>
|
||||
<UnitName Value="IdGlobal"/>
|
||||
<CursorPos X="59" Y="982"/>
|
||||
<TopLine Value="981"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\systemh.inc"/>
|
||||
<CursorPos X="21" Y="208"/>
|
||||
<TopLine Value="193"/>
|
||||
<EditorIndex Value="24"/>
|
||||
<UsageCount Value="17"/>
|
||||
<EditorIndex Value="25"/>
|
||||
<UsageCount Value="21"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\innr.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="42"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\i386\fastmove.inc"/>
|
||||
<CursorPos X="11" Y="835"/>
|
||||
<TopLine Value="821"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\system.inc"/>
|
||||
<CursorPos X="11" Y="306"/>
|
||||
<TopLine Value="285"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="25"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="29"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\generic.inc"/>
|
||||
<CursorPos X="5" Y="1289"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="15"/>
|
||||
<UsageCount Value="14"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\system.fpd"/>
|
||||
<CursorPos X="22" Y="17"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\..\wst_fpc_xml.pas"/>
|
||||
<UnitName Value="wst_fpc_xml"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="24"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="28"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
|
||||
<CursorPos X="11" Y="66"/>
|
||||
<TopLine Value="52"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="24"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="28"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstr.inc"/>
|
||||
<CursorPos X="6" Y="44"/>
|
||||
<TopLine Value="30"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\win\sysosh.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="51"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="322"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\varianth.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\rtti.inc"/>
|
||||
<CursorPos X="21" Y="77"/>
|
||||
<TopLine Value="5"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="24"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="28"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
@ -328,8 +328,8 @@
|
||||
<UnitName Value="metadata_service"/>
|
||||
<CursorPos X="26" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="20"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
@ -337,15 +337,15 @@
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="20"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<Filename Value="..\user_service_intf.wst"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="8"/>
|
||||
<SyntaxHighlighter Value="None"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
@ -353,15 +353,15 @@
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="42" Y="228"/>
|
||||
<TopLine Value="215"/>
|
||||
<UsageCount Value="17"/>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit40>
|
||||
<Unit41>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
|
||||
<UnitName Value="typinfo"/>
|
||||
<CursorPos X="46" Y="371"/>
|
||||
<TopLine Value="366"/>
|
||||
<EditorIndex Value="23"/>
|
||||
<UsageCount Value="18"/>
|
||||
<EditorIndex Value="24"/>
|
||||
<UsageCount Value="22"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit41>
|
||||
<Unit42>
|
||||
@ -369,8 +369,8 @@
|
||||
<UnitName Value="user_service_intf_proxy"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="18"/>
|
||||
<UsageCount Value="17"/>
|
||||
<EditorIndex Value="19"/>
|
||||
<UsageCount Value="21"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit42>
|
||||
<Unit43>
|
||||
@ -378,7 +378,7 @@
|
||||
<UnitName Value="IdCustomHTTPServer"/>
|
||||
<CursorPos X="14" Y="252"/>
|
||||
<TopLine Value="239"/>
|
||||
<UsageCount Value="11"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit43>
|
||||
<Unit44>
|
||||
<Filename Value="..\..\type_lib_edtr\uabout.pas"/>
|
||||
@ -388,7 +388,7 @@
|
||||
<UnitName Value="uabout"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="11"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit44>
|
||||
<Unit45>
|
||||
<Filename Value="..\..\type_lib_edtr\uwsttypelibraryedit.pas"/>
|
||||
@ -397,7 +397,7 @@
|
||||
<UnitName Value="uwsttypelibraryedit"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit45>
|
||||
<Unit46>
|
||||
<Filename Value="..\..\ide\lazarus\wstimportdlg.pas"/>
|
||||
@ -407,43 +407,76 @@
|
||||
<UnitName Value="wstimportdlg"/>
|
||||
<CursorPos X="27" Y="7"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="11"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit46>
|
||||
<Unit47>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<UnitName Value="indy_http_server"/>
|
||||
<CursorPos X="20" Y="20"/>
|
||||
<TopLine Value="8"/>
|
||||
<CursorPos X="36" Y="205"/>
|
||||
<TopLine Value="197"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit47>
|
||||
<Unit48>
|
||||
<Filename Value="..\..\server_listener.pas"/>
|
||||
<UnitName Value="server_listener"/>
|
||||
<CursorPos X="21" Y="15"/>
|
||||
<TopLine Value="12"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit48>
|
||||
</Units>
|
||||
<JumpHistory Count="6" HistoryIndex="5">
|
||||
<JumpHistory Count="12" HistoryIndex="11">
|
||||
<Position1>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
<Filename Value="http_server.pas"/>
|
||||
<Caret Line="16" Column="28" TopLine="1"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="160" Column="20" TopLine="147"/>
|
||||
<Filename Value="http_server.pas"/>
|
||||
<Caret Line="14" Column="19" TopLine="1"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="28"/>
|
||||
<Filename Value="http_server.pas"/>
|
||||
<Caret Line="23" Column="15" TopLine="1"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="102" Column="11" TopLine="84"/>
|
||||
<Caret Line="47" Column="37" TopLine="28"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="359" Column="76" TopLine="346"/>
|
||||
<Filename Value="http_server.pas"/>
|
||||
<Caret Line="10" Column="72" TopLine="1"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="20" Column="5" TopLine="1"/>
|
||||
<Filename Value="http_server.pas"/>
|
||||
<Caret Line="23" Column="23" TopLine="2"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="http_server.pas"/>
|
||||
<Caret Line="16" Column="33" TopLine="2"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="213" Column="17" TopLine="200"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="219" Column="25" TopLine="207"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="220" Column="29" TopLine="206"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="181" Column="19" TopLine="168"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="..\..\indy_http_server.pas"/>
|
||||
<Caret Line="221" Column="31" TopLine="206"/>
|
||||
</Position12>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
@ -466,8 +499,15 @@
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<UseLineInfoUnit Value="False"/>
|
||||
</Debugging>
|
||||
<LinkSmart Value="True"/>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CustomOptions Value="-dINDY_10"/>
|
||||
<CustomOptions Value="-dINDY_10
|
||||
"/>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
|
@ -7,19 +7,20 @@ uses
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Classes, SysUtils,
|
||||
indy_http_server, metadata_service, logger_extension;
|
||||
indy_http_server, metadata_service, logger_extension, server_listener;
|
||||
|
||||
|
||||
var
|
||||
AppObject : TwstWebApplication;
|
||||
AppObject : TwstListener;
|
||||
begin
|
||||
AppObject := TwstWebApplication.Create();
|
||||
AppObject := TwstIndyHttpListener.Create();
|
||||
try
|
||||
WriteLn('"Web Service Toolkit" HTTP Server sample listening at:');
|
||||
WriteLn('');
|
||||
WriteLn('http://127.0.0.1:8000/');
|
||||
WriteLn('');
|
||||
WriteLn('Press enter to quit.');
|
||||
AppObject.Start();
|
||||
ReadLn();
|
||||
finally
|
||||
FreeAndNil(AppObject);
|
||||
|
@ -7,7 +7,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value=".\"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -25,24 +25,24 @@
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<Units Count="7">
|
||||
<Units Count="8">
|
||||
<Unit0>
|
||||
<Filename Value="lib_server.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="lib_server"/>
|
||||
<CursorPos X="17" Y="32"/>
|
||||
<TopLine Value="17"/>
|
||||
<CursorPos X="49" Y="35"/>
|
||||
<TopLine Value="7"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="23"/>
|
||||
<UsageCount Value="27"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="..\..\library_server_intf.pas"/>
|
||||
<UnitName Value="library_server_intf"/>
|
||||
<CursorPos X="74" Y="92"/>
|
||||
<TopLine Value="78"/>
|
||||
<CursorPos X="32" Y="91"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="12"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
@ -50,8 +50,8 @@
|
||||
<UnitName Value="user_service_intf_imp"/>
|
||||
<CursorPos X="43" Y="179"/>
|
||||
<TopLine Value="157"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="12"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
@ -59,17 +59,17 @@
|
||||
<UnitName Value="rtti_filters"/>
|
||||
<CursorPos X="53" Y="43"/>
|
||||
<TopLine Value="184"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="12"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="..\user_service_intf_binder.pas"/>
|
||||
<UnitName Value="user_service_intf_binder"/>
|
||||
<CursorPos X="54" Y="32"/>
|
||||
<TopLine Value="22"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="64"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="12"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
@ -77,8 +77,8 @@
|
||||
<UnitName Value="base_service_intf"/>
|
||||
<CursorPos X="52" Y="4125"/>
|
||||
<TopLine Value="4118"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="12"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
@ -86,29 +86,21 @@
|
||||
<UnitName Value="semaphore"/>
|
||||
<CursorPos X="1" Y="96"/>
|
||||
<TopLine Value="72"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="12"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="..\..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="2" Y="13"/>
|
||||
<TopLine Value="34"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
</Units>
|
||||
<JumpHistory Count="4" HistoryIndex="3">
|
||||
<Position1>
|
||||
<Filename Value="lib_server.lpr"/>
|
||||
<Caret Line="32" Column="17" TopLine="17"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\..\semaphore.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="..\..\library_server_intf.pas"/>
|
||||
<Caret Line="61" Column="3" TopLine="47"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\..\library_server_intf.pas"/>
|
||||
<Caret Line="92" Column="71" TopLine="27"/>
|
||||
</Position4>
|
||||
</JumpHistory>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
@ -117,6 +109,7 @@
|
||||
<Filename Value="lib_server.dll"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="..\..\"/>
|
||||
<OtherUnitFiles Value="..\;..\..\;..\..\wst_rtti_filter\"/>
|
||||
<UnitOutputDirectory Value="obj"/>
|
||||
</SearchPaths>
|
||||
@ -124,6 +117,10 @@
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<UseLineInfoUnit Value="False"/>
|
||||
</Debugging>
|
||||
<LinkSmart Value="True"/>
|
||||
<Options>
|
||||
<ExecutableType Value="Library"/>
|
||||
</Options>
|
||||
|
@ -19,7 +19,7 @@ uses
|
||||
|
||||
base_service_intf,
|
||||
server_service_intf,
|
||||
server_service_soap, server_binary_formatter,
|
||||
server_service_soap, server_binary_formatter, server_service_xmlrpc,
|
||||
metadata_repository, metadata_wsdl,
|
||||
metadata_service, metadata_service_binder, metadata_service_imp,
|
||||
library_base_intf, library_server_intf,
|
||||
@ -35,10 +35,12 @@ begin
|
||||
RegisterStdTypes();
|
||||
Server_service_RegisterBinaryFormat();
|
||||
Server_service_RegisterSoapFormat();
|
||||
Server_service_RegisterXmlRpcFormat();
|
||||
|
||||
RegisterUserServiceImplementationFactory();
|
||||
Server_service_RegisterUserServiceService();
|
||||
|
||||
Server_service_RegisterWSTMetadataServiceService();
|
||||
RegisterWSTMetadataServiceImplementationFactory();
|
||||
Server_service_RegisterWSTMetadataServiceService();
|
||||
|
||||
end.
|
||||
|
@ -12,7 +12,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value=".\"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="10"/>
|
||||
<ActiveEditorIndexAtStart Value="12"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -30,15 +30,15 @@
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<Units Count="47">
|
||||
<Units Count="50">
|
||||
<Unit0>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="tcp_server"/>
|
||||
<CursorPos X="1" Y="56"/>
|
||||
<TopLine Value="30"/>
|
||||
<CursorPos X="1" Y="53"/>
|
||||
<TopLine Value="29"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="79"/>
|
||||
<UsageCount Value="83"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
@ -80,7 +80,7 @@
|
||||
<CursorPos X="53" Y="177"/>
|
||||
<TopLine Value="157"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="27"/>
|
||||
<UsageCount Value="29"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
@ -117,8 +117,8 @@
|
||||
<UnitName Value="user_service_intf"/>
|
||||
<CursorPos X="3" Y="27"/>
|
||||
<TopLine Value="5"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="79"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="83"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
@ -127,7 +127,7 @@
|
||||
<CursorPos X="15" Y="307"/>
|
||||
<TopLine Value="293"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="29"/>
|
||||
<UsageCount Value="31"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="19" Y="545" ID="0"/>
|
||||
</Bookmarks>
|
||||
@ -138,8 +138,8 @@
|
||||
<UnitName Value="std_cursors"/>
|
||||
<CursorPos X="14" Y="21"/>
|
||||
<TopLine Value="7"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="34"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
@ -154,8 +154,8 @@
|
||||
<UnitName Value="user_service_intf_binder"/>
|
||||
<CursorPos X="48" Y="34"/>
|
||||
<TopLine Value="11"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="37"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
@ -218,10 +218,10 @@
|
||||
<Unit25>
|
||||
<Filename Value="..\..\server_service_intf.pas"/>
|
||||
<UnitName Value="server_service_intf"/>
|
||||
<CursorPos X="1" Y="356"/>
|
||||
<TopLine Value="342"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="15"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="46"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="17"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
@ -233,10 +233,10 @@
|
||||
<Unit27>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<UnitName Value="user_service_intf_imp"/>
|
||||
<CursorPos X="1" Y="63"/>
|
||||
<TopLine Value="107"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="39"/>
|
||||
<CursorPos X="1" Y="56"/>
|
||||
<TopLine Value="40"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="41"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
@ -273,7 +273,7 @@
|
||||
<UnitName Value="imp_helper"/>
|
||||
<CursorPos X="1" Y="44"/>
|
||||
<TopLine Value="32"/>
|
||||
<UsageCount Value="48"/>
|
||||
<UsageCount Value="52"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\classes\persist.inc"/>
|
||||
@ -297,10 +297,10 @@
|
||||
<Unit36>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<UnitName Value="synapse_tcp_server"/>
|
||||
<CursorPos X="1" Y="209"/>
|
||||
<TopLine Value="26"/>
|
||||
<CursorPos X="3" Y="325"/>
|
||||
<TopLine Value="309"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="17"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
@ -315,7 +315,7 @@
|
||||
<CursorPos X="4" Y="6"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="14"/>
|
||||
<UsageCount Value="16"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
@ -335,8 +335,8 @@
|
||||
<UnitName Value="blcksock"/>
|
||||
<CursorPos X="1" Y="2407"/>
|
||||
<TopLine Value="2393"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="11"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit41>
|
||||
<Unit42>
|
||||
@ -346,7 +346,7 @@
|
||||
<CursorPos X="1" Y="83"/>
|
||||
<TopLine Value="69"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="30"/>
|
||||
<UsageCount Value="34"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit42>
|
||||
<Unit43>
|
||||
@ -355,7 +355,7 @@
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="14"/>
|
||||
<UsageCount Value="16"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit43>
|
||||
<Unit44>
|
||||
@ -377,127 +377,151 @@
|
||||
<TopLine Value="469"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit46>
|
||||
<Unit47>
|
||||
<Filename Value="..\..\server_listener.pas"/>
|
||||
<UnitName Value="server_listener"/>
|
||||
<CursorPos X="3" Y="28"/>
|
||||
<TopLine Value="14"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit47>
|
||||
<Unit48>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="23" Y="147"/>
|
||||
<TopLine Value="133"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit48>
|
||||
<Unit49>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\others_package\synapse\blcksock.pas"/>
|
||||
<UnitName Value="blcksock"/>
|
||||
<CursorPos X="1" Y="2407"/>
|
||||
<TopLine Value="2393"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit49>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="182" Column="36" TopLine="168"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="302" Column="5" TopLine="270"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="191" Column="32" TopLine="176"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="308" Column="5" TopLine="276"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="42" Column="5" TopLine="14"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="287" Column="54" TopLine="267"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="88" Column="1" TopLine="74"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="75" Column="1" TopLine="62"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
|
||||
<Caret Line="1198" Column="1" TopLine="1184"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="79" Column="1" TopLine="76"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="88" Column="1" TopLine="74"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="46" Column="17" TopLine="32"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="89" Column="1" TopLine="75"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="205" Column="104" TopLine="191"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="93" Column="62" TopLine="76"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="254" Column="35" TopLine="240"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="92" Column="26" TopLine="74"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="61" Column="24" TopLine="47"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="111" Column="1" TopLine="97"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="226" Column="19" TopLine="221"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="112" Column="1" TopLine="98"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="256" Column="56" TopLine="242"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="113" Column="1" TopLine="99"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="263" Column="1" TopLine="247"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="89" Column="1" TopLine="75"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="30" Column="17" TopLine="15"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="91" Column="1" TopLine="77"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="39" Column="1" TopLine="25"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="92" Column="1" TopLine="78"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="51" Column="11" TopLine="28"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="93" Column="1" TopLine="79"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="30" Column="26" TopLine="28"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="76" Column="19" TopLine="62"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="52" Column="31" TopLine="28"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="54" Column="1" TopLine="42"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="300" Column="1" TopLine="266"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="83" Column="47" TopLine="62"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="81" Column="41" TopLine="63"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="56" Column="1" TopLine="40"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="52" Column="40" TopLine="28"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="76" Column="1" TopLine="62"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="81" Column="50" TopLine="65"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="54" Column="1" TopLine="40"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="52" Column="40" TopLine="28"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="56" Column="1" TopLine="42"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="53" Column="16" TopLine="29"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="54" Column="1" TopLine="40"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="315" Column="5" TopLine="283"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="63" Column="1" TopLine="49"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="37" Column="19" TopLine="29"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\others_package\synapse\blcksock.pas"/>
|
||||
<Caret Line="2407" Column="1" TopLine="2393"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="52" Column="21" TopLine="29"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="64" Column="52" TopLine="40"/>
|
||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||
<Caret Line="267" Column="24" TopLine="247"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="56" Column="1" TopLine="42"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="52" Column="27" TopLine="29"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="63" Column="1" TopLine="49"/>
|
||||
<Filename Value="tcp_server.pas"/>
|
||||
<Caret Line="53" Column="1" TopLine="29"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\others_package\synapse\blcksock.pas"/>
|
||||
<Caret Line="2407" Column="1" TopLine="2393"/>
|
||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||
<Caret Line="56" Column="1" TopLine="40"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
@ -526,7 +550,7 @@
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<BreakPoints Count="8">
|
||||
<BreakPoints Count="6">
|
||||
<Item1>
|
||||
<Source Value="D:\lazarusClean\fpcsrc\rtl\inc\getopts.pp"/>
|
||||
<Line Value="230"/>
|
||||
@ -551,14 +575,6 @@
|
||||
<Source Value="..\user_service_intf_imp.pas"/>
|
||||
<Line Value="88"/>
|
||||
</Item6>
|
||||
<Item7>
|
||||
<Source Value="..\user_service_intf_imp.pas"/>
|
||||
<Line Value="54"/>
|
||||
</Item7>
|
||||
<Item8>
|
||||
<Source Value="..\user_service_intf_imp.pas"/>
|
||||
<Line Value="56"/>
|
||||
</Item8>
|
||||
</BreakPoints>
|
||||
<Watches Count="2">
|
||||
<Item1>
|
||||
|
@ -27,19 +27,17 @@ uses
|
||||
base_service_intf, server_service_soap,
|
||||
base_binary_formatter, server_binary_formatter,
|
||||
metadata_service, metadata_service_imp, metadata_service_binder,
|
||||
synapse_tcp_server,
|
||||
server_listener ,synapse_tcp_server,
|
||||
|
||||
user_service_intf, user_service_intf_binder, user_service_intf_imp , imp_helper,
|
||||
server_service_xmlrpc;
|
||||
|
||||
|
||||
var
|
||||
listnerThread : TServerListnerThread;
|
||||
listener : TwstListener;
|
||||
begin
|
||||
SetLogger(TConsoleLogger.Create());
|
||||
|
||||
Server_service_RegisterBinaryFormat();
|
||||
//Server_service_RegisterSoapFormat();
|
||||
Server_service_RegisterSoapFormat();
|
||||
Server_service_RegisterXmlRpcFormat();
|
||||
|
||||
RegisterWSTMetadataServiceImplementationFactory();
|
||||
@ -49,9 +47,10 @@ begin
|
||||
RegisterUserServiceImplementationFactory();
|
||||
Server_service_RegisterUserServiceService();
|
||||
|
||||
Logger().Log('WST sample TCP Server listning on "%s"',[sSERVER_PORT]);
|
||||
Logger().Log('Hit <enter> to stop.');
|
||||
listnerThread := TServerListnerThread.Create();
|
||||
WriteLn(Format('WST sample TCP Server listning on "%d"',[sSERVER_PORT]));
|
||||
WriteLn('Hit <enter> to stop.');
|
||||
listener := TwstSynapseTcpListener.Create();
|
||||
listener.Start();
|
||||
ReadLn;
|
||||
end.
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value=".\"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -30,120 +30,116 @@
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<Units Count="35">
|
||||
<Units Count="42">
|
||||
<Unit0>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="user_client_console"/>
|
||||
<CursorPos X="15" Y="9"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="26" Y="148"/>
|
||||
<TopLine Value="133"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="64"/>
|
||||
<UsageCount Value="75"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="..\user_service_intf_proxy.pas"/>
|
||||
<UnitName Value="user_service_intf_proxy"/>
|
||||
<CursorPos X="74" Y="12"/>
|
||||
<CursorPos X="57" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="30"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\..\synapse_tcp_protocol.pas"/>
|
||||
<UnitName Value="synapse_tcp_protocol"/>
|
||||
<CursorPos X="29" Y="132"/>
|
||||
<TopLine Value="5"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="32"/>
|
||||
<CursorPos X="32" Y="104"/>
|
||||
<TopLine Value="90"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="37"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\..\service_intf.pas"/>
|
||||
<UnitName Value="service_intf"/>
|
||||
<CursorPos X="38" Y="2"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="28"/>
|
||||
<CursorPos X="51" Y="34"/>
|
||||
<TopLine Value="21"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="33"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="..\user_service_intf.pas"/>
|
||||
<UnitName Value="user_service_intf"/>
|
||||
<CursorPos X="53" Y="11"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="29"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\others_package\synapse\blcksock.pas"/>
|
||||
<UnitName Value="blcksock"/>
|
||||
<CursorPos X="60" Y="2413"/>
|
||||
<TopLine Value="2393"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="..\..\base_service_intf.pas"/>
|
||||
<UnitName Value="base_service_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="32"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="..\..\library_protocol.pas"/>
|
||||
<UnitName Value="library_protocol"/>
|
||||
<CursorPos X="1" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="57" Y="57"/>
|
||||
<TopLine Value="2"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="20"/>
|
||||
<UsageCount Value="25"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\finah.inc"/>
|
||||
<CursorPos X="10" Y="33"/>
|
||||
<TopLine Value="17"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\fina.inc"/>
|
||||
<CursorPos X="13" Y="112"/>
|
||||
<TopLine Value="105"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\sysutilh.inc"/>
|
||||
<CursorPos X="33" Y="202"/>
|
||||
<TopLine Value="188"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\win32\system.pp"/>
|
||||
<UnitName Value="System"/>
|
||||
<CursorPos X="20" Y="35"/>
|
||||
<TopLine Value="21"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\fexpand.inc"/>
|
||||
<CursorPos X="10" Y="86"/>
|
||||
<TopLine Value="226"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\sysstrh.inc"/>
|
||||
<CursorPos X="54" Y="33"/>
|
||||
<TopLine Value="19"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\..\synapse_http_protocol.pas"/>
|
||||
<UnitName Value="synapse_http_protocol"/>
|
||||
<CursorPos X="19" Y="16"/>
|
||||
<TopLine Value="3"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="14"/>
|
||||
<CursorPos X="15" Y="59"/>
|
||||
<TopLine Value="45"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
@ -151,129 +147,121 @@
|
||||
<UnitName Value="metadata_repository"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="14"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\..\wst.inc"/>
|
||||
<CursorPos X="17" Y="15"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="14"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\library_imp_utils.pas"/>
|
||||
<UnitName Value="library_imp_utils"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\win\dynlibs.inc"/>
|
||||
<CursorPos X="17" Y="27"/>
|
||||
<TopLine Value="13"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="..\..\semaphore.pas"/>
|
||||
<UnitName Value="semaphore"/>
|
||||
<CursorPos X="1" Y="96"/>
|
||||
<TopLine Value="72"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="..\..\soap_formatter.pas"/>
|
||||
<UnitName Value="soap_formatter"/>
|
||||
<CursorPos X="8" Y="96"/>
|
||||
<TopLine Value="83"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="17"/>
|
||||
<CursorPos X="3" Y="232"/>
|
||||
<TopLine Value="221"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="22"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="..\..\xmlrpc_formatter.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="xmlrpc_formatter"/>
|
||||
<CursorPos X="25" Y="72"/>
|
||||
<TopLine Value="65"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="50"/>
|
||||
<Loaded Value="True"/>
|
||||
<CursorPos X="54" Y="21"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="61"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="..\..\binary_formatter.pas"/>
|
||||
<UnitName Value="binary_formatter"/>
|
||||
<CursorPos X="20" Y="21"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="25"/>
|
||||
<TopLine Value="12"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="30"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="..\..\wst_delphi.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
|
||||
<UnitName Value="base_xmlrpc_formatter"/>
|
||||
<CursorPos X="20" Y="1346"/>
|
||||
<TopLine Value="1326"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<CursorPos X="25" Y="31"/>
|
||||
<TopLine Value="16"/>
|
||||
<UsageCount Value="25"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="..\..\base_soap_formatter.pas"/>
|
||||
<UnitName Value="base_soap_formatter"/>
|
||||
<CursorPos X="56" Y="334"/>
|
||||
<TopLine Value="319"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<CursorPos X="3" Y="40"/>
|
||||
<TopLine Value="22"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="3" Y="592"/>
|
||||
<TopLine Value="590"/>
|
||||
<UsageCount Value="12"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\typinfo.pp"/>
|
||||
<UnitName Value="typinfo"/>
|
||||
<CursorPos X="1" Y="483"/>
|
||||
<TopLine Value="469"/>
|
||||
<UsageCount Value="12"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\others_package\synapse\blcksock.pas"/>
|
||||
<UnitName Value="blcksock"/>
|
||||
<CursorPos X="1" Y="2407"/>
|
||||
<TopLine Value="2393"/>
|
||||
<UsageCount Value="12"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-xml\src\xmlread.pp"/>
|
||||
<UnitName Value="XMLRead"/>
|
||||
<CursorPos X="1" Y="2763"/>
|
||||
<TopLine Value="2749"/>
|
||||
<UsageCount Value="12"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\..\imp_utils.pas"/>
|
||||
<UnitName Value="imp_utils"/>
|
||||
<CursorPos X="26" Y="13"/>
|
||||
<CursorPos X="41" Y="3"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="15"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="..\..\wst_fpc_xml.pas"/>
|
||||
<UnitName Value="wst_fpc_xml"/>
|
||||
<CursorPos X="34" Y="67"/>
|
||||
<TopLine Value="54"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="15"/>
|
||||
<TopLine Value="42"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
@ -281,28 +269,186 @@
|
||||
<UnitName Value="typinfo"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="34"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\..\base_binary_formatter.pas"/>
|
||||
<UnitName Value="base_binary_formatter"/>
|
||||
<CursorPos X="35" Y="1496"/>
|
||||
<TopLine Value="1483"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<CursorPos X="22" Y="27"/>
|
||||
<TopLine Value="10"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="14" Y="287"/>
|
||||
<TopLine Value="274"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\others_package\synapse\httpsend.pas"/>
|
||||
<UnitName Value="httpsend"/>
|
||||
<CursorPos X="23" Y="72"/>
|
||||
<TopLine Value="143"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\others_package\synapse\blcksock.pas"/>
|
||||
<UnitName Value="blcksock"/>
|
||||
<CursorPos X="3" Y="1325"/>
|
||||
<TopLine Value="1279"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
<Filename Value="..\..\indy_http_protocol.pas"/>
|
||||
<UnitName Value="indy_http_protocol"/>
|
||||
<CursorPos X="1" Y="16"/>
|
||||
<TopLine Value="109"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="15"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\others_package\indy\indy-10.2.0.1\fpc\Protocols\IdHTTP.pas"/>
|
||||
<UnitName Value="IdHTTP"/>
|
||||
<CursorPos X="49" Y="343"/>
|
||||
<TopLine Value="582"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<UnitName Value="ics_tcp_protocol"/>
|
||||
<CursorPos X="59" Y="66"/>
|
||||
<TopLine Value="40"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
<Filename Value="..\..\ics_http_protocol.pas"/>
|
||||
<UnitName Value="ics_http_protocol"/>
|
||||
<CursorPos X="55" Y="72"/>
|
||||
<TopLine Value="128"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit40>
|
||||
<Unit41>
|
||||
<Filename Value="..\..\same_process_protocol.pas"/>
|
||||
<UnitName Value="same_process_protocol"/>
|
||||
<CursorPos X="77" Y="83"/>
|
||||
<TopLine Value="31"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit41>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
<JumpHistory Count="26" HistoryIndex="25">
|
||||
<Position1>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="8" Column="12" TopLine="1"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\..\synapse_tcp_protocol.pas"/>
|
||||
<Caret Line="40" Column="22" TopLine="34"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="8" Column="70" TopLine="1"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="51" Column="22" TopLine="43"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="178" Column="32" TopLine="161"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\..\indy_http_protocol.pas"/>
|
||||
<Caret Line="39" Column="22" TopLine="38"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="..\..\synapse_http_protocol.pas"/>
|
||||
<Caret Line="41" Column="22" TopLine="40"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="..\..\ics_http_protocol.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="..\..\ics_http_protocol.pas"/>
|
||||
<Caret Line="196" Column="16" TopLine="177"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="13" Column="3" TopLine="52"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="..\..\indy_http_protocol.pas"/>
|
||||
<Caret Line="67" Column="55" TopLine="46"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="105" Column="34" TopLine="91"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="114" Column="31" TopLine="100"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="124" Column="33" TopLine="110"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||
<Caret Line="145" Column="47" TopLine="131"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="8" Column="19" TopLine="1"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="..\..\ics_http_protocol.pas"/>
|
||||
<Caret Line="53" Column="22" TopLine="52"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="..\..\same_process_protocol.pas"/>
|
||||
<Caret Line="39" Column="22" TopLine="28"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="..\..\same_process_protocol.pas"/>
|
||||
<Caret Line="83" Column="3" TopLine="70"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="148" Column="19" TopLine="211"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="6" Column="63" TopLine="1"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="226" Column="1" TopLine="217"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="224" Column="19" TopLine="214"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="272" Column="1" TopLine="247"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="user_client_console.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position26>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
@ -311,12 +457,18 @@
|
||||
<Filename Value="user_client_console.exe"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<OtherUnitFiles Value="..\;..\..\;$(LazarusDir)\others_package\synapse\"/>
|
||||
<OtherUnitFiles Value="..\;..\..\;$(LazarusDir)\others_package\synapse\;$(LazarusDir)\others_package\ics\latest_distr\Delphi\Vc32\"/>
|
||||
<UnitOutputDirectory Value="obj"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<UseLineInfoUnit Value="False"/>
|
||||
</Debugging>
|
||||
<LinkSmart Value="True"/>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
|
@ -3,9 +3,9 @@ program user_client_console;
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
Classes, SysUtils, TypInfo,
|
||||
Classes, SysUtils, TypInfo, {$IFDEF WINDOWS}ActiveX,{$ENDIF}
|
||||
user_service_intf_proxy,
|
||||
synapse_tcp_protocol, synapse_http_protocol, library_protocol,
|
||||
same_process_protocol, synapse_tcp_protocol, synapse_http_protocol, library_protocol, ics_tcp_protocol, ics_http_protocol,
|
||||
soap_formatter, binary_formatter,
|
||||
user_service_intf, xmlrpc_formatter;
|
||||
|
||||
@ -220,6 +220,10 @@ end;
|
||||
var
|
||||
strBuffer : string;
|
||||
begin
|
||||
{$IFDEF WINDOWS}
|
||||
CoInitialize(nil);
|
||||
try
|
||||
{$ENDIF}
|
||||
SYNAPSE_RegisterTCP_Transport();
|
||||
SYNAPSE_RegisterHTTP_Transport();
|
||||
LIB_Register_Transport();
|
||||
@ -265,5 +269,10 @@ begin
|
||||
Write('Choose a item : ');
|
||||
end;
|
||||
end;
|
||||
{$IFDEF WINDOWS}
|
||||
finally
|
||||
CoUninitialize();
|
||||
end;
|
||||
{$ENDIF}
|
||||
end.
|
||||
|
||||
|
55
wst/trunk/server_listener.pas
Normal file
55
wst/trunk/server_listener.pas
Normal file
@ -0,0 +1,55 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2006 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
|
||||
{$INCLUDE wst_global.inc}
|
||||
unit server_listener;
|
||||
|
||||
interface
|
||||
uses
|
||||
Classes, SysUtils;
|
||||
|
||||
{$INCLUDE wst.inc}
|
||||
{$INCLUDE wst_delphi.inc}
|
||||
|
||||
type
|
||||
|
||||
TListnerNotifyMessage = procedure(Sender : TObject; const AMsg : string) of object;
|
||||
|
||||
TwstListener = class(TObject)
|
||||
private
|
||||
FOnNotifyMessage: TListnerNotifyMessage;
|
||||
public
|
||||
class function GetDescription() : string;virtual;
|
||||
procedure Start();virtual;abstract;
|
||||
procedure Stop();virtual;abstract;
|
||||
procedure NotifyMessage(const AMsg : string);
|
||||
property OnNotifyMessage : TListnerNotifyMessage read FOnNotifyMessage write FOnNotifyMessage;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{ TwstListener }
|
||||
|
||||
class function TwstListener.GetDescription() : string;
|
||||
begin
|
||||
Result := ClassName;
|
||||
end;
|
||||
|
||||
procedure TwstListener.NotifyMessage(const AMsg: string);
|
||||
begin
|
||||
if Assigned(FOnNotifyMessage) then
|
||||
FOnNotifyMessage(Self,AMsg);
|
||||
end;
|
||||
|
||||
end.
|
@ -224,16 +224,22 @@ procedure TSOAPCallMaker.MakeCall(
|
||||
);
|
||||
Var
|
||||
rqt, rsps : TMemoryStream;
|
||||
propMngr : IPropertyManager;
|
||||
{$IFDEF WST_DBG}
|
||||
s : string;
|
||||
{$ENDIF WST_DBG}
|
||||
begin
|
||||
Assert(Assigned(ASerializer));
|
||||
Assert(Assigned(ATransport));
|
||||
ATransport.GetPropertyManager().SetProperty(
|
||||
propMngr := ATransport.GetPropertyManager();
|
||||
propMngr.SetProperty(
|
||||
sCONTENT_TYPE,
|
||||
ASerializer.GetPropertyManager().GetProperty(sCONTENT_TYPE)
|
||||
);
|
||||
propMngr.SetProperty(
|
||||
sFORMAT,
|
||||
sPROTOCOL_NAME
|
||||
);
|
||||
rsps := Nil;
|
||||
rqt := TMemoryStream.Create();
|
||||
Try
|
||||
|
@ -38,6 +38,7 @@ Type
|
||||
FConnection : THTTPSend;
|
||||
FAddress : string;
|
||||
private
|
||||
FFormat : string;
|
||||
FSoapAction: string;
|
||||
function GetAddress: string;
|
||||
function GetContentType: string;
|
||||
@ -64,6 +65,7 @@ Type
|
||||
property ProxyUsername : string read GetProxyUsername write SetProxyUsername;
|
||||
property ProxyPassword : string read GetProxyPassword write SetProxyPassword;
|
||||
property SoapAction : string read FSoapAction write FSoapAction;
|
||||
property Format : string read FFormat write FFormat;
|
||||
End;
|
||||
{$M+}
|
||||
|
||||
|
@ -37,6 +37,7 @@ Type
|
||||
{ TTCPTransport }
|
||||
TTCPTransport = class(TSimpleFactoryItem,ITransport)
|
||||
Private
|
||||
FFormat : string;
|
||||
FPropMngr : IPropertyManager;
|
||||
FConnection : TTCPBlockSocket;
|
||||
FContentType : string;
|
||||
@ -55,6 +56,7 @@ Type
|
||||
property Address : string Read FAddress Write FAddress;
|
||||
property Port : string Read FPort Write FPort;
|
||||
property DefaultTimeOut : Integer read FDefaultTimeOut write FDefaultTimeOut;
|
||||
property Format : string read FFormat write FFormat;
|
||||
End;
|
||||
{$M+}
|
||||
|
||||
@ -99,6 +101,7 @@ begin
|
||||
wrtr.WriteInt32S(0);
|
||||
wrtr.WriteStr(Target);
|
||||
wrtr.WriteStr(ContentType);
|
||||
wrtr.WriteStr(Self.Format);
|
||||
SetLength(strBuff,ARequest.Size);
|
||||
ARequest.Position := 0;
|
||||
ARequest.Read(strBuff[1],Length(strBuff));
|
||||
|
@ -16,21 +16,17 @@ unit synapse_tcp_server;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, blcksock, synsock;
|
||||
Classes, SysUtils, blcksock, synsock, server_listener;
|
||||
|
||||
{$INCLUDE wst.inc}
|
||||
{$INCLUDE wst_delphi.inc}
|
||||
|
||||
const
|
||||
sSERVER_PORT = '1234';
|
||||
sSERVER_PORT = 1234;
|
||||
|
||||
type
|
||||
|
||||
ILogger = interface
|
||||
['{CA357B9A-604F-4603-96FA-65D445837E80}']
|
||||
procedure Log(const AMsg : string);overload;
|
||||
procedure Log(const AMsg : string;const AArgs : array of const);overload;
|
||||
end;
|
||||
TwstSynapseTcpListener = class;
|
||||
|
||||
{ TClientHandlerThread }
|
||||
|
||||
@ -41,12 +37,13 @@ type
|
||||
FSocketHandle : TSocket;
|
||||
FInputStream : TMemoryStream;
|
||||
FOutputStream : TMemoryStream;
|
||||
FOwner : TwstSynapseTcpListener;
|
||||
private
|
||||
procedure ClearBuffers();
|
||||
function ReadInputBuffer():Integer;
|
||||
procedure SendOutputBuffer();
|
||||
public
|
||||
constructor Create (ASocketHandle : TSocket);
|
||||
constructor Create (ASocketHandle : TSocket; AOwner : TwstSynapseTcpListener);
|
||||
destructor Destroy();override;
|
||||
procedure Execute(); override;
|
||||
property DefaultTimeOut : Integer read FDefaultTimeOut write FDefaultTimeOut;
|
||||
@ -58,51 +55,42 @@ type
|
||||
private
|
||||
FDefaultTimeOut: Integer;
|
||||
FSocketObject : TTCPBlockSocket;
|
||||
FSuspendingCount : Integer;
|
||||
FOwner : TwstSynapseTcpListener;
|
||||
public
|
||||
constructor Create();
|
||||
constructor Create(AOwner : TwstSynapseTcpListener);
|
||||
destructor Destroy(); override;
|
||||
procedure Execute(); override;
|
||||
procedure SuspendAsSoonAsPossible();
|
||||
procedure ResumeListening();
|
||||
property DefaultTimeOut : Integer read FDefaultTimeOut write FDefaultTimeOut;
|
||||
end;
|
||||
|
||||
{ TConsoleLogger }
|
||||
{ TwstSynapseTcpListener }
|
||||
|
||||
TConsoleLogger = class(TInterfacedObject,IInterface,ILogger)
|
||||
protected
|
||||
procedure Log(const AMsg : string);overload;
|
||||
procedure Log(const AMsg : string;const AArgs : array of const);overload;
|
||||
TwstSynapseTcpListener = class(TwstListener)
|
||||
private
|
||||
FServerThread : TServerListnerThread;
|
||||
FServerIpAddress : string;
|
||||
FListningPort : Integer;
|
||||
FDefaultClientPort : Integer;
|
||||
FServerSoftware : string;
|
||||
public
|
||||
constructor Create(
|
||||
const AServerIpAddress : string = '127.0.0.1';
|
||||
const AListningPort : Integer = sSERVER_PORT;
|
||||
const ADefaultClientPort : Integer = 25000;
|
||||
const AServerSoftware : string = 'Web Service Toolkit Application'
|
||||
);
|
||||
destructor Destroy();override;
|
||||
procedure Start();override;
|
||||
procedure Stop();override;
|
||||
end;
|
||||
|
||||
function Logger():ILogger ;
|
||||
function SetLogger(ALogger : ILogger):ILogger ;
|
||||
|
||||
implementation
|
||||
uses binary_streamer, server_service_intf, server_service_imputils
|
||||
{$IFNDEF FPC},ActiveX{$ENDIF}, ComObj;
|
||||
|
||||
var FLoggerInst : ILogger = nil;
|
||||
function SetLogger(ALogger : ILogger):ILogger ;
|
||||
begin
|
||||
Result := FLoggerInst;
|
||||
FLoggerInst := ALogger;
|
||||
end;
|
||||
|
||||
function Logger():ILogger ;
|
||||
begin
|
||||
Result := FLoggerInst;
|
||||
end;
|
||||
|
||||
{ TConsoleLogger }
|
||||
|
||||
procedure TConsoleLogger.Log(const AMsg: string);
|
||||
begin
|
||||
WriteLn(AMsg);
|
||||
end;
|
||||
|
||||
procedure TConsoleLogger.Log(const AMsg: string; const AArgs: array of const);
|
||||
begin
|
||||
WriteLn(Format(AMsg,AArgs));
|
||||
end;
|
||||
|
||||
{ TClientHandlerThread }
|
||||
|
||||
@ -151,11 +139,15 @@ begin
|
||||
FSocketObject.SendBuffer(FOutputStream.Memory,FOutputStream.Size);
|
||||
end;
|
||||
|
||||
constructor TClientHandlerThread.Create(ASocketHandle: TSocket);
|
||||
constructor TClientHandlerThread.Create(
|
||||
ASocketHandle : TSocket;
|
||||
AOwner : TwstSynapseTcpListener
|
||||
);
|
||||
begin
|
||||
FSocketHandle := ASocketHandle;
|
||||
FreeOnTerminate := True;
|
||||
FDefaultTimeOut := 90000;
|
||||
FOwner := AOwner;
|
||||
inherited Create(False);
|
||||
end;
|
||||
|
||||
@ -179,7 +171,7 @@ procedure TClientHandlerThread.Execute();
|
||||
var
|
||||
wrtr : IDataStore;
|
||||
rdr : IDataStoreReader;
|
||||
buff, trgt,ctntyp : string;
|
||||
buff, trgt,ctntyp, frmt : string;
|
||||
rqst : IRequestBuffer;
|
||||
i : PtrUInt;
|
||||
begin
|
||||
@ -201,12 +193,13 @@ begin
|
||||
rdr := CreateBinaryReader(FInputStream);
|
||||
trgt := rdr.ReadStr();
|
||||
ctntyp := rdr.ReadStr();
|
||||
buff := rdr.ReadStr(); WriteLn;WriteLn('ContentType=',ctntyp,', ','Target = ',trgt);WriteLn;WriteLn(buff);
|
||||
frmt := rdr.ReadStr();
|
||||
buff := rdr.ReadStr();
|
||||
rdr := nil;
|
||||
FInputStream.Size := 0;
|
||||
FInputStream.Write(buff[1],Length(buff));
|
||||
FInputStream.Position := 0;
|
||||
rqst := TRequestBuffer.Create(trgt,ctntyp,FInputStream,FOutputStream,GetFormatForContentType(ctntyp));
|
||||
rqst := TRequestBuffer.Create(trgt,ctntyp,FInputStream,FOutputStream,frmt);
|
||||
HandleServiceRequest(rqst);
|
||||
i := FOutputStream.Size;
|
||||
SetLength(buff,i);
|
||||
@ -221,7 +214,7 @@ begin
|
||||
end;
|
||||
except
|
||||
on e : Exception do begin
|
||||
Logger().Log('Error : ThreadID = %d; Message = %s',[Self.ThreadID,e.Message]);
|
||||
FOwner.NotifyMessage(Format('Error : ThreadID = %d; Message = %s',[Self.ThreadID,e.Message]));
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
@ -236,11 +229,12 @@ end;
|
||||
|
||||
{ TServerListnerThread }
|
||||
|
||||
constructor TServerListnerThread.Create();
|
||||
constructor TServerListnerThread.Create(AOwner : TwstSynapseTcpListener);
|
||||
begin
|
||||
FSocketObject := TTCPBlockSocket.Create();
|
||||
FreeOnTerminate := True;
|
||||
FDefaultTimeOut := 1000;
|
||||
FOwner := AOwner;
|
||||
inherited Create(false);
|
||||
end;
|
||||
|
||||
@ -262,18 +256,21 @@ begin
|
||||
FSocketObject.RaiseExcept := True;
|
||||
FSocketObject.CreateSocket();
|
||||
FSocketObject.SetLinger(True,10);
|
||||
FSocketObject.Bind('127.0.0.1',sSERVER_PORT);
|
||||
FSocketObject.Bind(FOwner.FServerIpAddress,IntToStr(FOwner.FListningPort));
|
||||
FSocketObject.Listen();
|
||||
while not Terminated do begin
|
||||
if ( FSuspendingCount > 0 ) then begin
|
||||
Suspend();
|
||||
end;
|
||||
if FSocketObject.CanRead(DefaultTimeOut) then begin
|
||||
ClientSock := FSocketObject.Accept();
|
||||
TClientHandlerThread.Create(ClientSock);
|
||||
TClientHandlerThread.Create(ClientSock,FOwner);
|
||||
end;
|
||||
end;
|
||||
except
|
||||
on e : Exception do begin
|
||||
Logger().Log('Listner Thread Error : ThreadID = %d; Message = %s',[Self.ThreadID,e.Message]);
|
||||
Logger().Log('Listner stoped.');
|
||||
FOwner.NotifyMessage(Format('Listner Thread Error : ThreadID = %d; Message = %s',[Self.ThreadID,e.Message]));
|
||||
FOwner.NotifyMessage('Listner stoped.');
|
||||
end;
|
||||
end;
|
||||
{$IFNDEF FPC}
|
||||
@ -283,5 +280,57 @@ begin
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TServerListnerThread.SuspendAsSoonAsPossible();
|
||||
begin
|
||||
InterLockedIncrement(FSuspendingCount);
|
||||
end;
|
||||
|
||||
procedure TServerListnerThread.ResumeListening();
|
||||
begin
|
||||
InterLockedDecrement(FSuspendingCount);
|
||||
if ( FSuspendingCount <= 0 ) then begin
|
||||
if Suspended then
|
||||
Resume();
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TwstSynapseTcpListener }
|
||||
|
||||
constructor TwstSynapseTcpListener.Create(
|
||||
const AServerIpAddress : string;
|
||||
const AListningPort : Integer;
|
||||
const ADefaultClientPort : Integer;
|
||||
const AServerSoftware : string
|
||||
);
|
||||
begin
|
||||
FServerIpAddress := AServerIpAddress;
|
||||
FListningPort := AListningPort;
|
||||
FDefaultClientPort := ADefaultClientPort;
|
||||
FServerSoftware := AServerSoftware;
|
||||
end;
|
||||
|
||||
destructor TwstSynapseTcpListener.Destroy();
|
||||
begin
|
||||
if ( FServerThread <> nil ) then begin
|
||||
FServerThread.Terminate();
|
||||
Start();
|
||||
end;
|
||||
inherited Destroy();
|
||||
end;
|
||||
|
||||
procedure TwstSynapseTcpListener.Start();
|
||||
begin
|
||||
if ( FServerThread = nil ) then
|
||||
FServerThread := TServerListnerThread.Create(Self);
|
||||
if FServerThread.Suspended then
|
||||
FServerThread.ResumeListening();
|
||||
end;
|
||||
|
||||
procedure TwstSynapseTcpListener.Stop();
|
||||
begin
|
||||
if ( FServerThread <> nil ) and ( not FServerThread.Suspended ) then
|
||||
FServerThread.SuspendAsSoonAsPossible();
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -42,6 +42,7 @@ type
|
||||
|
||||
function CreateEnum(AContainer : TwstPasTreeContainer) : TPasEnumType;
|
||||
function CreateCompoundObject(ASymbolTable : TwstPasTreeContainer) : TPasClassType;
|
||||
function CreateArray(ASymbolTable : TwstPasTreeContainer) : TPasArrayType;
|
||||
function CreateInterface(ASymbolTable : TwstPasTreeContainer) : TPasClassType;
|
||||
function CreateMethod(
|
||||
AOwner : TPasClassType;
|
||||
@ -73,7 +74,7 @@ type
|
||||
|
||||
implementation
|
||||
uses Contnrs, Forms, ufEnumedit, ufclassedit, uinterfaceedit, uprocedit,
|
||||
uargedit, umoduleedit, ubindingedit;
|
||||
uargedit, umoduleedit, ubindingedit, ufarrayedit;
|
||||
|
||||
type
|
||||
|
||||
@ -162,6 +163,17 @@ type
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TArrayUpdater }
|
||||
|
||||
TArrayUpdater = class(TObjectUpdater)
|
||||
public
|
||||
class function CanHandle(AObject : TObject):Boolean;override;
|
||||
class function UpdateObject(
|
||||
AObject : TPasElement;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TInterfaceUpdater }
|
||||
|
||||
TInterfaceUpdater = class(TObjectUpdater)
|
||||
@ -217,6 +229,30 @@ type
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TArrayUpdater }
|
||||
|
||||
class function TArrayUpdater.CanHandle(AObject : TObject) : Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasArrayType);
|
||||
end;
|
||||
|
||||
class function TArrayUpdater.UpdateObject(
|
||||
AObject : TPasElement;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
): Boolean;
|
||||
var
|
||||
f : TfArrayEdit;
|
||||
e : TPasArrayType;
|
||||
begin
|
||||
e := AObject as TPasArrayType;
|
||||
f := TfArrayEdit.Create(Application);
|
||||
try
|
||||
Result := f.UpdateObject(e,etUpdate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TBindingUpdater }
|
||||
|
||||
class function TBindingUpdater.CanHandle(AObject: TObject): Boolean;
|
||||
@ -458,6 +494,19 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function CreateArray(ASymbolTable : TwstPasTreeContainer) : TPasArrayType;
|
||||
var
|
||||
f : TfArrayEdit;
|
||||
begin
|
||||
Result := nil;
|
||||
f := TfArrayEdit.Create(Application);
|
||||
try
|
||||
f.UpdateObject(Result,etCreate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
function CreateMethod(
|
||||
AOwner : TPasClassType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
@ -616,6 +665,7 @@ initialization
|
||||
UpdaterRegistryInst.RegisterHandler(TArgumentUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TModuleUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TBindingUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TArrayUpdater);
|
||||
|
||||
finalization
|
||||
FreeAndNil(UpdaterRegistryInst);
|
||||
|
@ -7,7 +7,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="1"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -32,13 +32,15 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="71">
|
||||
<Units Count="72">
|
||||
<Unit0>
|
||||
<Filename Value="typ_lib_edtr.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<CursorPos X="24" Y="11"/>
|
||||
<CursorPos X="20" Y="5"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="189"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
@ -47,10 +49,10 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uwsttypelibraryedit.lrs"/>
|
||||
<UnitName Value="uwsttypelibraryedit"/>
|
||||
<CursorPos X="38" Y="333"/>
|
||||
<TopLine Value="288"/>
|
||||
<CursorPos X="19" Y="552"/>
|
||||
<TopLine Value="535"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="189"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
@ -65,8 +67,8 @@
|
||||
<UnitName Value="wsdl2pas_imp"/>
|
||||
<CursorPos X="38" Y="805"/>
|
||||
<TopLine Value="792"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="79"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="80"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="65" Y="750" ID="2"/>
|
||||
</Bookmarks>
|
||||
@ -78,8 +80,8 @@
|
||||
<UnitName Value="wsdl_generator"/>
|
||||
<CursorPos X="45" Y="707"/>
|
||||
<TopLine Value="684"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="189"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="49" Y="446" ID="1"/>
|
||||
</Bookmarks>
|
||||
@ -94,7 +96,7 @@
|
||||
<UnitName Value="uabout"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="189"/>
|
||||
<UsageCount Value="191"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="ufenumedit.pas"/>
|
||||
@ -103,20 +105,20 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufenumedit.lrs"/>
|
||||
<UnitName Value="ufEnumedit"/>
|
||||
<CursorPos X="1" Y="77"/>
|
||||
<CursorPos X="27" Y="78"/>
|
||||
<TopLine Value="58"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="189"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="view_helper.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="view_helper"/>
|
||||
<CursorPos X="31" Y="535"/>
|
||||
<TopLine Value="16"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="189"/>
|
||||
<CursorPos X="1" Y="241"/>
|
||||
<TopLine Value="234"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
@ -125,16 +127,16 @@
|
||||
<UnitName Value="source_utils"/>
|
||||
<CursorPos X="18" Y="20"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="189"/>
|
||||
<UsageCount Value="191"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="edit_helper.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="edit_helper"/>
|
||||
<CursorPos X="44" Y="519"/>
|
||||
<TopLine Value="5"/>
|
||||
<CursorPos X="15" Y="491"/>
|
||||
<TopLine Value="484"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="189"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
@ -144,10 +146,10 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufclassedit.lrs"/>
|
||||
<UnitName Value="ufclassedit"/>
|
||||
<CursorPos X="29" Y="158"/>
|
||||
<TopLine Value="121"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="189"/>
|
||||
<CursorPos X="1" Y="307"/>
|
||||
<TopLine Value="294"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
@ -156,9 +158,11 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufpropedit.lrs"/>
|
||||
<UnitName Value="ufpropedit"/>
|
||||
<CursorPos X="3" Y="154"/>
|
||||
<TopLine Value="140"/>
|
||||
<UsageCount Value="189"/>
|
||||
<CursorPos X="33" Y="106"/>
|
||||
<TopLine Value="92"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="191"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\comctrls.pp"/>
|
||||
@ -170,10 +174,10 @@
|
||||
<Unit13>
|
||||
<Filename Value="..\ws_helper\parserutils.pas"/>
|
||||
<UnitName Value="parserutils"/>
|
||||
<CursorPos X="1" Y="93"/>
|
||||
<TopLine Value="54"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="66"/>
|
||||
<CursorPos X="17" Y="20"/>
|
||||
<TopLine Value="19"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="67"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
@ -259,7 +263,7 @@
|
||||
<UnitName Value="uinterfaceedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="153"/>
|
||||
<UsageCount Value="155"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="uinterfaceedit.lfm"/>
|
||||
@ -276,7 +280,7 @@
|
||||
<UnitName Value="udm"/>
|
||||
<CursorPos X="15" Y="2"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="148"/>
|
||||
<UsageCount Value="150"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\include\treeview.inc"/>
|
||||
@ -288,10 +292,10 @@
|
||||
<Filename Value="..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="pascal_parser_intf"/>
|
||||
<CursorPos X="37" Y="446"/>
|
||||
<TopLine Value="436"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="111"/>
|
||||
<CursorPos X="24" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="113"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
@ -300,7 +304,7 @@
|
||||
<UnitName Value="PParser"/>
|
||||
<CursorPos X="4" Y="2133"/>
|
||||
<TopLine Value="2127"/>
|
||||
<UsageCount Value="111"/>
|
||||
<UsageCount Value="113"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\ws_helper\logger_intf.pas"/>
|
||||
@ -315,7 +319,7 @@
|
||||
<UnitName Value="PasTree"/>
|
||||
<CursorPos X="33" Y="332"/>
|
||||
<TopLine Value="315"/>
|
||||
<UsageCount Value="111"/>
|
||||
<UsageCount Value="113"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\lcl\include\treeview.inc"/>
|
||||
@ -340,17 +344,15 @@
|
||||
<UnitName Value="rtti_filters"/>
|
||||
<CursorPos X="1" Y="236"/>
|
||||
<TopLine Value="219"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="26"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="27"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<Filename Value="..\ws_helper\generator.pas"/>
|
||||
<UnitName Value="generator"/>
|
||||
<CursorPos X="2" Y="16"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="29"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="30"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
@ -358,9 +360,7 @@
|
||||
<UnitName Value="dom_cursors"/>
|
||||
<CursorPos X="1" Y="239"/>
|
||||
<TopLine Value="222"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="23"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="24"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
<Filename Value="..\ws_helper\command_line_parser.pas"/>
|
||||
@ -442,7 +442,7 @@
|
||||
<UnitName Value="uprocedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="67"/>
|
||||
<UsageCount Value="69"/>
|
||||
</Unit50>
|
||||
<Unit51>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\comctrls.pp"/>
|
||||
@ -457,7 +457,7 @@
|
||||
<UnitName Value="common_gui_utils"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="65"/>
|
||||
<UsageCount Value="67"/>
|
||||
</Unit52>
|
||||
<Unit53>
|
||||
<Filename Value="..\..\..\..\..\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DestBug.pas"/>
|
||||
@ -474,7 +474,7 @@
|
||||
<UnitName Value="uargedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="58"/>
|
||||
<UsageCount Value="60"/>
|
||||
</Unit54>
|
||||
<Unit55>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\interfaces\win32\win32wscontrols.pp"/>
|
||||
@ -498,7 +498,7 @@
|
||||
<UnitName Value="umoduleedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="50"/>
|
||||
<UsageCount Value="52"/>
|
||||
</Unit57>
|
||||
<Unit58>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\stdctrls.pp"/>
|
||||
@ -515,7 +515,7 @@
|
||||
<UnitName Value="ubindingedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="40"/>
|
||||
<UsageCount Value="42"/>
|
||||
</Unit59>
|
||||
<Unit60>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
|
||||
@ -556,7 +556,7 @@
|
||||
<UnitName Value="ufrmsaveoption"/>
|
||||
<CursorPos X="42" Y="64"/>
|
||||
<TopLine Value="42"/>
|
||||
<UsageCount Value="36"/>
|
||||
<UsageCount Value="38"/>
|
||||
</Unit65>
|
||||
<Unit66>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\dialogs.pp"/>
|
||||
@ -577,8 +577,8 @@
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="2" Y="90"/>
|
||||
<TopLine Value="71"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="12"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit68>
|
||||
<Unit69>
|
||||
@ -593,11 +593,23 @@
|
||||
<TopLine Value="1398"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit70>
|
||||
<Unit71>
|
||||
<Filename Value="ufarrayedit.pas"/>
|
||||
<ComponentName Value="fArrayEdit"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufarrayedit.lrs"/>
|
||||
<UnitName Value="ufarrayedit"/>
|
||||
<CursorPos X="67" Y="117"/>
|
||||
<TopLine Value="95"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="22"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit71>
|
||||
</Units>
|
||||
<JumpHistory Count="1" HistoryIndex="0">
|
||||
<Position1>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="595" Column="20" TopLine="575"/>
|
||||
<Filename Value="typ_lib_edtr.lpr"/>
|
||||
<Caret Line="17" Column="43" TopLine="1"/>
|
||||
</Position1>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
|
@ -11,7 +11,7 @@ uses
|
||||
, uwsttypelibraryedit, view_helper, source_utils, uabout, ufEnumedit,
|
||||
edit_helper, ufclassedit, wsdl_generator, ufpropedit, uinterfaceedit, udm,
|
||||
pascal_parser_intf, PasTree, PParser, uprocedit, common_gui_utils, uargedit,
|
||||
umoduleedit, ubindingedit, ufrmsaveoption;
|
||||
umoduleedit, ubindingedit, ufrmsaveoption, ufarrayedit;
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
|
@ -1,7 +1,7 @@
|
||||
object fPropEdit: TfPropEdit
|
||||
Left = 306
|
||||
Left = 862
|
||||
Height = 326
|
||||
Top = 266
|
||||
Top = 68
|
||||
Width = 324
|
||||
HorzScrollBar.Page = 323
|
||||
VertScrollBar.Page = 325
|
||||
@ -101,7 +101,7 @@ object fPropEdit: TfPropEdit
|
||||
Left = 20
|
||||
Height = 13
|
||||
Top = 218
|
||||
Width = 100
|
||||
Width = 105
|
||||
Caption = 'Optional property'
|
||||
Font.Style = [fsItalic]
|
||||
TabOrder = 3
|
||||
|
@ -1,35 +1,35 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfPropEdit','FORMDATA',[
|
||||
'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3'2'#1#6'Height'#3'F'#1#3'Top'#3#10
|
||||
+#1#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3'E'
|
||||
+#1#13'ActiveControl'#7#7'Button1'#11'BorderIcons'#11#12'biSystemMenu'#0#11'B'
|
||||
+'orderStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3'F'#1
|
||||
+#11'ClientWidth'#3'D'#1#8'Position'#7#15'poDesktopCenter'#0#6'TPanel'#6'Pane'
|
||||
+'l1'#6'Height'#2'2'#3'Top'#3#20#1#5'Width'#3'D'#1#5'Align'#7#8'alBottom'#12
|
||||
+'ClientHeight'#2'2'#11'ClientWidth'#3'D'#1#8'TabOrder'#2#0#0#7'TButton'#7'Bu'
|
||||
+'tton1'#4'Left'#3#236#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'
|
||||
+#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Ca'
|
||||
+'ption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#7'But'
|
||||
+'ton2'#4'Left'#3#146#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5
|
||||
+'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4
|
||||
+#7'Default'#9#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageControl1'#6'Heig'
|
||||
+'ht'#3#20#1#5'Width'#3'D'#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alCli'
|
||||
+'ent'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'
|
||||
+#6#8'Property'#12'ClientHeight'#3#250#0#11'ClientWidth'#3'<'#1#0#6'TLabel'#6
|
||||
+'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#24#5'Width'#2#28#7'Caption'#6#4
|
||||
+'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20#6'Height'#2#14
|
||||
+#3'Top'#2'b'#5'Width'#2#25#7'Caption'#6#4'Type'#11'ParentColor'#8#0#0#5'TEdi'
|
||||
+'t'#7'edtName'#4'Left'#2#20#6'Height'#2#23#3'Top'#2'*'#5'Width'#3#16#1#8'Tab'
|
||||
+'Order'#2#0#0#0#9'TComboBox'#7'edtType'#4'Left'#2#20#6'Height'#2#21#3'Top'#2
|
||||
+'t'#5'Width'#3#16#1#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cb'
|
||||
+'actSearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'cs'
|
||||
+'DropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribute'#4'Left'#2#20
|
||||
+#6'Height'#2#13#3'Top'#3#170#0#5'Width'#2'e'#7'Caption'#6#18'Attribute Prope'
|
||||
+'rty'#8'TabOrder'#2#2#0#0#9'TCheckBox'#11'edtOptional'#4'Left'#2#20#6'Height'
|
||||
+#2#13#3'Top'#3#218#0#5'Width'#2'd'#7'Caption'#6#17'Optional property'#10'Fon'
|
||||
+'t.Style'#11#8'fsItalic'#0#8'TabOrder'#2#3#0#0#0#0#11'TActionList'#11'Action'
|
||||
+'List1'#4'left'#2'h'#3'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18
|
||||
+'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actO'
|
||||
+'KUpdate'#0#0#0#0
|
||||
'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3'^'#3#6'Height'#3'F'#1#3'Top'#2'D'
|
||||
+#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3'E'#1
|
||||
+#13'ActiveControl'#7#7'Button1'#11'BorderIcons'#11#12'biSystemMenu'#0#11'Bor'
|
||||
+'derStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3'F'#1#11
|
||||
+'ClientWidth'#3'D'#1#8'Position'#7#15'poDesktopCenter'#0#6'TPanel'#6'Panel1'
|
||||
+#6'Height'#2'2'#3'Top'#3#20#1#5'Width'#3'D'#1#5'Align'#7#8'alBottom'#12'Clie'
|
||||
+'ntHeight'#2'2'#11'ClientWidth'#3'D'#1#8'TabOrder'#2#0#0#7'TButton'#7'Button'
|
||||
+'1'#4'Left'#3#236#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'#11#5
|
||||
+'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'
|
||||
+#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4
|
||||
+'Left'#3#146#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5'actOK'
|
||||
+#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Def'
|
||||
+'ault'#9#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageControl1'#6'Height'#3
|
||||
+#20#1#5'Width'#3'D'#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8
|
||||
+'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#8'Pr'
|
||||
+'operty'#12'ClientHeight'#3#250#0#11'ClientWidth'#3'<'#1#0#6'TLabel'#6'Label'
|
||||
+'1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#24#5'Width'#2#28#7'Caption'#6#4'Nam'
|
||||
+'e'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20#6'Height'#2#14#3
|
||||
+'Top'#2'b'#5'Width'#2#25#7'Caption'#6#4'Type'#11'ParentColor'#8#0#0#5'TEdit'
|
||||
+#7'edtName'#4'Left'#2#20#6'Height'#2#23#3'Top'#2'*'#5'Width'#3#16#1#8'TabOrd'
|
||||
+'er'#2#0#0#0#9'TComboBox'#7'edtType'#4'Left'#2#20#6'Height'#2#21#3'Top'#2't'
|
||||
+#5'Width'#3#16#1#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbact'
|
||||
+'SearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'csDro'
|
||||
+'pDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribute'#4'Left'#2#20#6
|
||||
+'Height'#2#13#3'Top'#3#170#0#5'Width'#2'e'#7'Caption'#6#18'Attribute Propert'
|
||||
+'y'#8'TabOrder'#2#2#0#0#9'TCheckBox'#11'edtOptional'#4'Left'#2#20#6'Height'#2
|
||||
+#13#3'Top'#3#218#0#5'Width'#2'i'#7'Caption'#6#17'Optional property'#10'Font.'
|
||||
+'Style'#11#8'fsItalic'#0#8'TabOrder'#2#3#0#0#0#0#11'TActionList'#11'ActionLi'
|
||||
+'st1'#4'left'#2'h'#3'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'D'
|
||||
+'isableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOK'
|
||||
+'Update'#0#0#0#0
|
||||
]);
|
||||
|
@ -1888,6 +1888,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
Action = actIntfCreate
|
||||
OnClick = actIntfCreateExecute
|
||||
end
|
||||
object MenuItem35: TMenuItem
|
||||
Action = actArrayCreate
|
||||
OnClick = actArrayCreateExecute
|
||||
end
|
||||
object MenuItem12: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
@ -1989,6 +1993,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
OnExecute = actDeleteExecute
|
||||
OnUpdate = actUpdateObjectUpdate
|
||||
end
|
||||
object actArrayCreate: TAction
|
||||
Caption = 'Create Array'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actArrayCreateExecute
|
||||
end
|
||||
end
|
||||
object OD: TOpenDialog
|
||||
Title = 'Ouvrir un fichier existant'
|
||||
|
@ -292,41 +292,44 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
||||
+'ion'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuI'
|
||||
+'tem'#10'MenuItem23'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCo'
|
||||
+'mpoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem25'#6'Action'#7#13'actIntf'
|
||||
+'Create'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem1'
|
||||
+'2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem13'#6'Action'#7#15'actUpda'
|
||||
+'teObject'#7'Caption'#6#13'Update Object'#7'OnClick'#7#22'actUpdateObjectExe'
|
||||
+'cute'#0#0#9'TMenuItem'#10'MenuItem34'#6'Action'#7#9'actDelete'#7'OnClick'#7
|
||||
+#16'actDeleteExecute'#0#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#8'actAbout'
|
||||
+#7'Caption'#6#6'&About'#7'OnClick'#7#15'actAboutExecute'#0#0#0#11'TActionLis'
|
||||
+'t'#2'AL'#4'left'#3'X'#1#3'top'#2'8'#0#7'TAction'#11'actOpenFile'#7'Caption'
|
||||
+#6#9'Open File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18'actOpenFileExecut'
|
||||
+'e'#0#0#7'TAction'#7'actExit'#7'Caption'#6#4'Exit'#18'DisableIfNoHandler'#9#9
|
||||
+'OnExecute'#7#14'actExitExecute'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24
|
||||
+'Save generated files ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExp'
|
||||
+'ortExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7
|
||||
+'Caption'#6#5'About'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExec'
|
||||
+'ute'#0#0#7'TAction'#9'actSaveAs'#7'Caption'#6#11'Save As ...'#18'DisableIfN'
|
||||
+'oHandler'#9#9'OnExecute'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actExportU'
|
||||
+'pdate'#0#0#7'TAction'#13'actEnumCreate'#7'Caption'#6#18'Create Enumeration'
|
||||
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actEnumCreateExecute'#0#0#7'TAct'
|
||||
+'ion'#15'actUpdateObject'#7'Caption'#6#6'Update'#18'DisableIfNoHandler'#9#9
|
||||
+'OnExecute'#7#22'actUpdateObjectExecute'#8'OnUpdate'#7#21'actUpdateObjectUpd'
|
||||
+'ate'#0#0#7'TAction'#14'actRefreshView'#7'Caption'#6#14'&Refresh Views'#18'D'
|
||||
+'isableIfNoHandler'#9#9'OnExecute'#7#21'actRefreshViewExecute'#0#0#7'TAction'
|
||||
+#10'actNewFile'#7'Caption'#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExecut'
|
||||
+'e'#7#17'actNewFileExecute'#0#0#7'TAction'#17'actCompoundCreate'#7'Caption'#6
|
||||
+#20'Create Compound Type'#18'DisableIfNoHandler'#9#9'OnExecute'#7#24'actComp'
|
||||
+'oundCreateExecute'#0#0#7'TAction'#13'actIntfCreate'#7'Caption'#6#16'Create '
|
||||
+'Interface'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actIntfCreateExecute'
|
||||
+#0#0#7'TAction'#13'actFullExpand'#7'Caption'#6#11'Full expand'#18'DisableIfN'
|
||||
+'oHandler'#9#9'OnExecute'#7#20'actFullExpandExecute'#0#0#7'TAction'#15'actFu'
|
||||
+'llCollapse'#7'Caption'#6#13'Full Collapse'#18'DisableIfNoHandler'#9#9'OnExe'
|
||||
,'cute'#7#22'actFullCollapseExecute'#0#0#7'TAction'#7'actSave'#7'Caption'#6#4
|
||||
+'Save'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actSaveExecute'#0#0#7'TAct'
|
||||
+'ion'#9'actDelete'#7'Caption'#6#6'Delete'#18'DisableIfNoHandler'#9#9'OnExecu'
|
||||
+'te'#7#16'actDeleteExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#0#11
|
||||
+'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Filter'#6'3W'
|
||||
+'DSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'#11'FilterIndex'#2#0#10
|
||||
+'Create'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem3'
|
||||
+'5'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0#0
|
||||
+#9'TMenuItem'#10'MenuItem12'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem1'
|
||||
+'3'#6'Action'#7#15'actUpdateObject'#7'Caption'#6#13'Update Object'#7'OnClick'
|
||||
+#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuItem34'#6'Action'#7#9
|
||||
+'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#9'TMenuItem'#9'MenuItem6'
|
||||
+#6'Action'#7#8'actAbout'#7'Caption'#6#6'&About'#7'OnClick'#7#15'actAboutExec'
|
||||
+'ute'#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1#3'top'#2'8'#0#7'TAction'#11
|
||||
+'actOpenFile'#7'Caption'#6#9'Open File'#18'DisableIfNoHandler'#9#9'OnExecute'
|
||||
+#7#18'actOpenFileExecute'#0#0#7'TAction'#7'actExit'#7'Caption'#6#4'Exit'#18
|
||||
+'DisableIfNoHandler'#9#9'OnExecute'#7#14'actExitExecute'#0#0#7'TAction'#9'ac'
|
||||
+'tExport'#7'Caption'#6#24'Save generated files ...'#18'DisableIfNoHandler'#9
|
||||
+#9'OnExecute'#7#16'actExportExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7
|
||||
+'TAction'#8'actAbout'#7'Caption'#6#5'About'#18'DisableIfNoHandler'#9#9'OnExe'
|
||||
+'cute'#7#15'actAboutExecute'#0#0#7'TAction'#9'actSaveAs'#7'Caption'#6#11'Sav'
|
||||
+'e As ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actSaveAsExecute'#8'On'
|
||||
+'Update'#7#15'actExportUpdate'#0#0#7'TAction'#13'actEnumCreate'#7'Caption'#6
|
||||
+#18'Create Enumeration'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actEnumCr'
|
||||
+'eateExecute'#0#0#7'TAction'#15'actUpdateObject'#7'Caption'#6#6'Update'#18'D'
|
||||
+'isableIfNoHandler'#9#9'OnExecute'#7#22'actUpdateObjectExecute'#8'OnUpdate'#7
|
||||
+#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actRefreshView'#7'Caption'#6#14
|
||||
+'&Refresh Views'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'actRefreshViewEx'
|
||||
+'ecute'#0#0#7'TAction'#10'actNewFile'#7'Caption'#6#8'New File'#18'DisableIfN'
|
||||
+'oHandler'#9#9'OnExecute'#7#17'actNewFileExecute'#0#0#7'TAction'#17'actCompo'
|
||||
+'undCreate'#7'Caption'#6#20'Create Compound Type'#18'DisableIfNoHandler'#9#9
|
||||
+'OnExecute'#7#24'actCompoundCreateExecute'#0#0#7'TAction'#13'actIntfCreate'#7
|
||||
+'Caption'#6#16'Create Interface'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20
|
||||
+'actIntfCreateExecute'#0#0#7'TAction'#13'actFullExpand'#7'Caption'#6#11'Full'
|
||||
+' expand'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actFullExpandExecute'#0
|
||||
,#0#7'TAction'#15'actFullCollapse'#7'Caption'#6#13'Full Collapse'#18'DisableI'
|
||||
+'fNoHandler'#9#9'OnExecute'#7#22'actFullCollapseExecute'#0#0#7'TAction'#7'ac'
|
||||
+'tSave'#7'Caption'#6#4'Save'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actS'
|
||||
+'aveExecute'#0#0#7'TAction'#9'actDelete'#7'Caption'#6#6'Delete'#18'DisableIf'
|
||||
+'NoHandler'#9#9'OnExecute'#7#16'actDeleteExecute'#8'OnUpdate'#7#21'actUpdate'
|
||||
+'ObjectUpdate'#0#0#7'TAction'#14'actArrayCreate'#7'Caption'#6#12'Create Arra'
|
||||
+'y'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'actArrayCreateExecute'#0#0#0
|
||||
+#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Filter'#6
|
||||
+'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'#11'FilterIndex'#2#0#10
|
||||
+'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15'ofFileMustExist'#14
|
||||
+'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'top'#2'X'#0#0#10'TSynP'
|
||||
+'asSyn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlue'
|
||||
|
@ -38,6 +38,7 @@ type
|
||||
actFullExpand: TAction;
|
||||
actFullCollapse: TAction;
|
||||
actDelete : TAction;
|
||||
actArrayCreate : TAction;
|
||||
actSave : TAction;
|
||||
actNewFile: TAction;
|
||||
actRefreshView: TAction;
|
||||
@ -71,6 +72,7 @@ type
|
||||
MenuItem32: TMenuItem;
|
||||
MenuItem33 : TMenuItem;
|
||||
MenuItem34 : TMenuItem;
|
||||
MenuItem35 : TMenuItem;
|
||||
MenuItem5: TMenuItem;
|
||||
MenuItem6: TMenuItem;
|
||||
MenuItem7 : TMenuItem;
|
||||
@ -105,6 +107,7 @@ type
|
||||
tsProxy: TTabSheet;
|
||||
trvSchema: TTreeView;
|
||||
procedure actAboutExecute(Sender: TObject);
|
||||
procedure actArrayCreateExecute(Sender : TObject);
|
||||
procedure actCompoundCreateExecute(Sender: TObject);
|
||||
procedure actDeleteExecute (Sender : TObject );
|
||||
procedure actEnumCreateExecute(Sender: TObject);
|
||||
@ -532,6 +535,16 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actArrayCreateExecute(Sender : TObject);
|
||||
var
|
||||
e : TPasArrayType;
|
||||
begin
|
||||
e := CreateArray(FSymbolTable);
|
||||
if Assigned(e) then begin
|
||||
FindPainter(e).Paint(FSymbolTable,e,GetTypeNode());
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actCompoundCreateExecute(Sender: TObject);
|
||||
var
|
||||
e : TPasClassType;
|
||||
|
@ -235,6 +235,13 @@ type
|
||||
class function CanHandle(AObj : TObject):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TArrayTypeDefinitionPainter }
|
||||
|
||||
TArrayTypeDefinitionPainter = class(TTypeSymbolPainter)
|
||||
public
|
||||
class function CanHandle(AObj : TObject):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TMethodDefinitionPainter }
|
||||
|
||||
TMethodDefinitionPainter = class(TTypeSymbolPainter)
|
||||
@ -287,6 +294,13 @@ type
|
||||
class function CanHandle(AObj : TObject):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TArrayTypeDefinitionPainter }
|
||||
|
||||
class function TArrayTypeDefinitionPainter.CanHandle(AObj : TObject) : Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObj) ) and AObj.InheritsFrom(TPasArrayType);
|
||||
end;
|
||||
|
||||
{ TBindingPainter }
|
||||
|
||||
function TBindingPainter.Paint(
|
||||
@ -541,7 +555,6 @@ begin
|
||||
Result := ( inherited CanHandle(AObj) ) and
|
||||
( AObj.InheritsFrom(TPasClassType) and ( TPasClassType(AObj).ObjKind = okClass ) ) and
|
||||
( not AObj.InheritsFrom(TPasNativeClassType) );
|
||||
|
||||
end;
|
||||
|
||||
{ TEnumTypeDefinitionPainter }
|
||||
@ -708,7 +721,8 @@ initialization
|
||||
FPainterRegistryInst.RegisterHandler(TInterfaceDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TMethodDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TPasNativeSimpleTypePainter);
|
||||
FPainterRegistryInst.RegisterHandler(TBindingPainter)
|
||||
FPainterRegistryInst.RegisterHandler(TBindingPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TArrayTypeDefinitionPainter);
|
||||
|
||||
finalization
|
||||
FreeAndNil(FPainterRegistryInst);
|
||||
|
@ -109,6 +109,8 @@ type
|
||||
function GetArrayItemName(AArray : TPasArrayType) : string;
|
||||
function GetArrayItemExternalName(AArray : TPasArrayType) : string;
|
||||
function GetArrayStyle(AArray : TPasArrayType) : TArrayStyle;
|
||||
procedure SetArrayStyle(AArray : TPasArrayType; const AStyle : TArrayStyle);
|
||||
procedure SetArrayItemExternalName(AArray : TPasArrayType; const AExternalName : string);
|
||||
function FindElement(const AName: String): TPasElement; override;
|
||||
function FindElementInModule(const AName: String; AModule: TPasModule): TPasElement;
|
||||
function FindModule(const AName: String): TPasModule;override;
|
||||
@ -493,6 +495,25 @@ begin
|
||||
Result := asScoped;
|
||||
end;
|
||||
|
||||
procedure TwstPasTreeContainer.SetArrayStyle(
|
||||
AArray : TPasArrayType;
|
||||
const AStyle : TArrayStyle
|
||||
);
|
||||
begin
|
||||
if ( AStyle = asEmbeded ) then
|
||||
Properties.SetValue(AArray,sARRAY_STYLE,sARRAY_STYLE_EMBEDDED)
|
||||
else
|
||||
Properties.SetValue(AArray,sARRAY_STYLE,sARRAY_STYLE_SCOPED);
|
||||
end;
|
||||
|
||||
procedure TwstPasTreeContainer.SetArrayItemExternalName(
|
||||
AArray : TPasArrayType;
|
||||
const AExternalName : string
|
||||
);
|
||||
begin
|
||||
Properties.SetValue(AArray,sARRAY_ITEM_EXT_NAME,AExternalName);
|
||||
end;
|
||||
|
||||
function TwstPasTreeContainer.FindElementInModule(const AName: String; AModule : TPasModule): TPasElement;
|
||||
var
|
||||
decs : TList;
|
||||
|
@ -205,13 +205,19 @@ procedure TXmlRpcCallMaker.MakeCall(
|
||||
);
|
||||
var
|
||||
rqt, rsps : TMemoryStream;
|
||||
propMngr : IPropertyManager;
|
||||
begin
|
||||
Assert(Assigned(ASerializer));
|
||||
Assert(Assigned(ATransport));
|
||||
ATransport.GetPropertyManager().SetProperty(
|
||||
propMngr := ATransport.GetPropertyManager();
|
||||
propMngr.SetProperty(
|
||||
sCONTENT_TYPE,
|
||||
ASerializer.GetPropertyManager().GetProperty(sCONTENT_TYPE)
|
||||
);
|
||||
propMngr.SetProperty(
|
||||
sFORMAT,
|
||||
sPROTOCOL_NAME
|
||||
);
|
||||
rsps := nil;
|
||||
rqt := TMemoryStream.Create();
|
||||
try
|
||||
|
Reference in New Issue
Block a user