TAbstractEncodedStringRemotable: +LoadFromBuffer/+SaveToBuffer.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4649 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2016-05-13 17:37:26 +00:00
parent ca6be693e4
commit 87f1793580

View File

@ -353,8 +353,10 @@ type
function wstHasValue() : Boolean;override;
procedure LoadFromStream(AStream : TStream);
procedure LoadFromFile(const AFileName : string);
procedure LoadFromBuffer(const ABuffer; const ABufferLen : Integer);
procedure SaveToStream(AStream : TStream);
procedure SaveToFile(const AFileName : string);
function SaveToBuffer(var ABuffer; const ABufferLen : Integer) : Integer;
property BinaryData : TByteDynArray read FBinaryData write FBinaryData;
property EncodedString : string read GetEncodedString write SetEncodedString;
end;
@ -7020,6 +7022,16 @@ begin
BinaryData := LoadBufferFromStream(AStream);
end;
procedure TAbstractEncodedStringRemotable.LoadFromBuffer(
const ABuffer;
const ABufferLen: Integer
);
begin
SetLength(FBinaryData,ABufferLen);
if (ABufferLen > 0) then
Move(ABuffer,FBinaryData[0],ABufferLen);
end;
procedure TAbstractEncodedStringRemotable.LoadFromFile(const AFileName: string);
begin
BinaryData := LoadBufferFromFile(AFileName);
@ -7031,6 +7043,21 @@ begin
AStream.Write(FBinaryData[0],Length(FBinaryData));
end;
function TAbstractEncodedStringRemotable.SaveToBuffer(
var ABuffer;
const ABufferLen: Integer
) : Integer;
var
c : Integer;
begin
c := Length(FBinaryData);
if (c > ABufferLen) then
c := ABufferLen;
if (c > 0) then
Move(FBinaryData[0],ABuffer,c);
Result := c;
end;
procedure TAbstractEncodedStringRemotable.SaveToFile(const AFileName: string);
var
locStream : TFileStream;