You've already forked lazarus-ccr
do not write serialize property if its serialization is optional and its value equals the default one.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@736 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -601,6 +601,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := Boolean(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
//if ( locData <> False ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(locName,APropInfo.PropInfo^.PropType,locData);
|
||||
end;
|
||||
{$ENDIF HAS_TKBOOL}
|
||||
@ -616,6 +617,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetObjectProp(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> nil ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
@ -635,27 +637,32 @@ begin
|
||||
ftSingle :
|
||||
begin
|
||||
floatDt.SingleData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.SingleData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,floatDt.SingleData);
|
||||
end;
|
||||
ftDouble :
|
||||
begin
|
||||
floatDt.DoubleData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.DoubleData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,floatDt.DoubleData);
|
||||
end;
|
||||
ftExtended :
|
||||
begin
|
||||
floatDt.ExtendedData := Extended(GetFloatProp(AObject,APropInfo.PropInfo));
|
||||
if ( floatDt.ExtendedData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,floatDt.ExtendedData);
|
||||
end;
|
||||
ftCurr :
|
||||
begin
|
||||
floatDt.CurrencyData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.CurrencyData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,floatDt.CurrencyData);
|
||||
end;
|
||||
{$IFDEF HAS_COMP}
|
||||
ftComp :
|
||||
begin
|
||||
floatDt.CompData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.CurrencyData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,floatDt.CompData);
|
||||
end;
|
||||
{$ENDIF}
|
||||
@ -682,6 +689,7 @@ begin
|
||||
( GetTypeData(pt)^.BaseType^ = TypeInfo(Boolean) )
|
||||
then begin
|
||||
boolData := Boolean(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,boolData);
|
||||
end else begin
|
||||
{$ENDIF WST_DELPHI}
|
||||
@ -690,31 +698,37 @@ begin
|
||||
otSByte :
|
||||
begin
|
||||
enumData.ShortIntData := ShortInt(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.ShortIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,enumData.ShortIntData);
|
||||
end;
|
||||
otUByte :
|
||||
begin
|
||||
enumData.ByteData := Byte(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.ByteData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,enumData.ByteData);
|
||||
end;
|
||||
otSWord :
|
||||
begin
|
||||
enumData.SmallIntData := SmallInt(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.SmallIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,enumData.SmallIntData);
|
||||
end;
|
||||
otUWord :
|
||||
begin
|
||||
enumData.WordData := Word(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.WordData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,enumData.WordData);
|
||||
end;
|
||||
otSLong :
|
||||
begin
|
||||
enumData.SLongIntData := LongInt(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.SLongIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,enumData.SLongIntData);
|
||||
end;
|
||||
otULong :
|
||||
begin
|
||||
enumData.ULongIntData := LongWord(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.ULongIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(prpName,pt,enumData.ULongIntData);
|
||||
end;
|
||||
end;
|
||||
@ -734,6 +748,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetInt64Prop(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
@ -748,6 +763,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetStrProp(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
@ -762,8 +778,9 @@ var
|
||||
locData : UnicodeString;
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetUnicodeStrProp(AObject,APropInfo.PropInfo);
|
||||
AStore.Put(locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
locData := GetUnicodeStrProp(AObject,APropInfo.PropInfo);A
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
Store.Put(locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
{$ENDIF WST_UNICODESTRING}
|
||||
|
||||
@ -778,6 +795,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetWideStrProp(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
@ -794,6 +812,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := Boolean(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
//if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,locName,APropInfo.PropInfo^.PropType,locData);
|
||||
end;
|
||||
{$ENDIF HAS_TKBOOL}
|
||||
@ -809,6 +828,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetObjectProp(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> nil ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
@ -828,27 +848,32 @@ begin
|
||||
ftSingle :
|
||||
begin
|
||||
floatDt.SingleData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.SingleData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,floatDt.SingleData);
|
||||
end;
|
||||
ftDouble :
|
||||
begin
|
||||
floatDt.DoubleData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.DoubleData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,floatDt.DoubleData);
|
||||
end;
|
||||
ftExtended :
|
||||
begin
|
||||
floatDt.ExtendedData := Extended(GetFloatProp(AObject,APropInfo.PropInfo));
|
||||
if ( floatDt.ExtendedData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,floatDt.ExtendedData);
|
||||
end;
|
||||
ftCurr :
|
||||
begin
|
||||
floatDt.CurrencyData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.CurrencyData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,floatDt.CurrencyData);
|
||||
end;
|
||||
{$IFDEF HAS_COMP}
|
||||
ftComp :
|
||||
begin
|
||||
floatDt.CompData := GetFloatProp(AObject,APropInfo.PropInfo);
|
||||
if ( floatDt.CompData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,floatDt.CompData);
|
||||
end;
|
||||
{$ENDIF}
|
||||
@ -875,6 +900,7 @@ begin
|
||||
( GetTypeData(pt)^.BaseType^ = TypeInfo(Boolean) )
|
||||
then begin
|
||||
boolData := Boolean(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,boolData);
|
||||
end else begin
|
||||
{$ENDIF WST_DELPHI}
|
||||
@ -883,31 +909,37 @@ begin
|
||||
otSByte :
|
||||
begin
|
||||
enumData.ShortIntData := ShortInt(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.ShortIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,enumData.ShortIntData);
|
||||
end;
|
||||
otUByte :
|
||||
begin
|
||||
enumData.ByteData := Byte(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.ByteData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,enumData.ByteData);
|
||||
end;
|
||||
otSWord :
|
||||
begin
|
||||
enumData.SmallIntData := SmallInt(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.SmallIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,enumData.SmallIntData);
|
||||
end;
|
||||
otUWord :
|
||||
begin
|
||||
enumData.WordData := Word(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.WordData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,enumData.WordData);
|
||||
end;
|
||||
otSLong :
|
||||
begin
|
||||
enumData.SLongIntData := LongInt(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.SLongIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,enumData.SLongIntData);
|
||||
end;
|
||||
otULong :
|
||||
begin
|
||||
enumData.ULongIntData := LongWord(GetOrdProp(AObject,APropInfo.PropInfo));
|
||||
if ( enumData.ULongIntData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,prpName,pt,enumData.ULongIntData);
|
||||
end;
|
||||
end;
|
||||
@ -927,6 +959,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetInt64Prop(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> 0 ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
@ -941,6 +974,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetStrProp(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
@ -956,6 +990,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetUnicodeStrProp(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
{$ENDIF WST_UNICODESTRING}
|
||||
@ -971,6 +1006,7 @@ var
|
||||
begin
|
||||
locName := APropInfo.ExternalName;
|
||||
locData := GetWideStrProp(AObject,APropInfo.PropInfo);
|
||||
if ( locData <> '' ) or ( APropInfo.PersisteType = pstAlways ) then
|
||||
AStore.Put(APropInfo.NameSpace,locName,APropInfo.PropInfo^.PropType{$IFDEF WST_DELPHI}^{$ENDIF},locData);
|
||||
end;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
|
||||
<SOAP-ENV:Header xmlns:ns1="urn:simple-content-header.sample">
|
||||
<ns1:TSampleSimpleContentHeaderBlock_A SOAP-ENV:mustUnderstand="0">sample header simple content value</ns1:TSampleSimpleContentHeaderBlock_A>
|
||||
<ns1:TSampleSimpleContentHeaderBlock_A>sample header simple content value</ns1:TSampleSimpleContentHeaderBlock_A>
|
||||
</SOAP-ENV:Header>
|
||||
<SOAP-ENV:Body>
|
||||
<ns2:test_proc xmlns:ns2="TestService"/>
|
||||
|
@ -5,8 +5,8 @@
|
||||
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
|
||||
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
|
||||
<SOAP-ENV:Header xmlns:ns1="urn:simple-content-header.sample">
|
||||
<ns1:TSampleSimpleContentHeaderBlock_A SOAP-ENV:mustUnderstand="0">sample header simple content value</ns1:TSampleSimpleContentHeaderBlock_A>
|
||||
<ns1:TSampleSimpleContentHeaderBlock_B ns1:intAtt="1210" SOAP-ENV:mustUnderstand="0">another content</ns1:TSampleSimpleContentHeaderBlock_B>
|
||||
<ns1:TSampleSimpleContentHeaderBlock_A>sample header simple content value</ns1:TSampleSimpleContentHeaderBlock_A>
|
||||
<ns1:TSampleSimpleContentHeaderBlock_B ns1:intAtt="1210">another content</ns1:TSampleSimpleContentHeaderBlock_B>
|
||||
</SOAP-ENV:Header>
|
||||
<SOAP-ENV:Body>
|
||||
<ns2:test_proc xmlns:ns2="TestService"/>
|
||||
|
Reference in New Issue
Block a user