Object Pascal "record" serialization ( first commit! )

TTest_TIntfPoolItem
TTest_TSimpleItemFactory
TTest_XmlRpcFormatterExceptionBlock
TTest_SoapFormatterExceptionBlock
Record serialization test

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@243 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2007-08-19 00:29:43 +00:00
parent bbee29cb90
commit 11a897fc26
60 changed files with 4375 additions and 893 deletions

View File

@ -31,6 +31,10 @@ Type
EsourceException = class(Exception)
end;
ISourceStream = interface;
ISourceManager = interface;
ISavableSourceStream = interface;
ISourceStream = interface
['{91EA7DA6-340C-477A-A6FD-06F2BAEA9A97}']
function GetFileName():string;
@ -45,6 +49,7 @@ Type
procedure NewLine();
procedure BeginAutoIndent();
procedure EndAutoIndent();
procedure Append(ASource : ISavableSourceStream);
end;
ISourceManager = Interface
@ -98,6 +103,7 @@ type
procedure BeginAutoIndent();
procedure EndAutoIndent();
function IsInAutoInden():Boolean;
procedure Append(ASource : ISavableSourceStream);
Public
constructor Create(const AFileName:string);
destructor Destroy();override;
@ -303,6 +309,12 @@ begin
Result := ( FAutoIndentCount > 0 );
end;
procedure TSourceStream.Append(ASource : ISavableSourceStream);
begin
if ( ASource <> nil ) then
FStream.CopyFrom(ASource.GetStream(),0);
end;
constructor TSourceStream.Create(const AFileName: string);
begin
FFileName := AFileName;