From c8ad953c7cf074e4437ceff955a2b3365ff287b3 Mon Sep 17 00:00:00 2001 From: inoussa Date: Tue, 30 Jun 2009 20:26:15 +0000 Subject: [PATCH] TDurationRemotable and TTimeRemotable are not implemented, so do not register them in the type register. Instead these types ( duration and time ) are typed string alias. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@887 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- wst/trunk/base_service_intf.pas | 14 ++++++++++++++ wst/trunk/ws_helper/pascal_parser_intf.pas | 9 ++++++++- wst/trunk/wst_global.inc | 2 ++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/wst/trunk/base_service_intf.pas b/wst/trunk/base_service_intf.pas index f131123e0..9118e935b 100644 --- a/wst/trunk/base_service_intf.pas +++ b/wst/trunk/base_service_intf.pas @@ -44,6 +44,12 @@ type nonNegativeInteger = type LongWord; positiveInteger = type nonNegativeInteger; float = Single; +{$IFNDEF WST_HAS_TDURATIONREMOTABLE} + duration = type string; +{$ENDIF WST_HAS_TDURATIONREMOTABLE} +{$IFNDEF WST_HAS_TTIMEREMOTABLE} + time = type string; +{$ENDIF WST_HAS_TTIMEREMOTABLE} TScopeType = Integer; TArrayStyle = ( asScoped, asEmbeded, asNone ); @@ -1684,8 +1690,16 @@ begin r.Register(sXSD_NS,TypeInfo(Extended),'decimal').AddPascalSynonym('Extended'); r.Register(sXSD_NS,TypeInfo(TDateRemotable),'dateTime').AddPascalSynonym('TDateRemotable'); +{$IFDEF WST_HAS_TDURATIONREMOTABLE} r.Register(sXSD_NS,TypeInfo(TDurationRemotable),'duration').AddPascalSynonym('TDurationRemotable'); +{$ELSE WST_HAS_TDURATIONREMOTABLE} + r.Register(sXSD_NS,TypeInfo(duration),'duration').AddPascalSynonym('duration'); +{$ENDIF WST_HAS_TDURATIONREMOTABLE} +{$IFDEF WST_HAS_TTIMEREMOTABLE} r.Register(sXSD_NS,TypeInfo(TTimeRemotable),'time').AddPascalSynonym('TTimeRemotable'); +{$ELSE WST_HAS_TTIMEREMOTABLE} + r.Register(sXSD_NS,TypeInfo(time),'time').AddPascalSynonym('time'); +{$ENDIF WST_HAS_TTIMEREMOTABLE} ri := r.Register(sWST_BASE_NS,TypeInfo(TBaseArrayRemotable),'TBaseArrayRemotable'); ri.Options := ri.Options + [trioNonVisibleToMetadataService]; diff --git a/wst/trunk/ws_helper/pascal_parser_intf.pas b/wst/trunk/ws_helper/pascal_parser_intf.pas index f156461a0..39c842abd 100644 --- a/wst/trunk/ws_helper/pascal_parser_intf.pas +++ b/wst/trunk/ws_helper/pascal_parser_intf.pas @@ -409,7 +409,9 @@ begin AddClassDef(Result,'TBaseRemotable','',TPasNativeClassType); AddClassDef(Result,'TAbstractSimpleRemotable','TBaseRemotable',TPasNativeClassType); AContainer.RegisterExternalAlias(AddClassDef(Result,'TDateRemotable','TAbstractSimpleRemotable'),'dateTime'); +{$IFDEF WST_HAS_TDURATIONREMOTABLE} AContainer.RegisterExternalAlias(AddClassDef(Result,'TDurationRemotable','TAbstractSimpleRemotable'),'duration'); +{$ENDIF WST_HAS_TDURATIONREMOTABLE} AContainer.RegisterExternalAlias(AddClassDef(Result,'TTimeRemotable','TAbstractSimpleRemotable'),'time'); AddClassDef(Result,'TAbstractComplexRemotable','TBaseRemotable',TPasNativeClassType); @@ -446,7 +448,12 @@ begin AddAlias('float','Single',Result); AddAlias('nonNegativeInteger','LongWord',Result); AddAlias('positiveInteger','nonNegativeInteger',Result); - //AddAlias('base64Binary','string',Result); +{$IFNDEF WST_HAS_TDURATIONREMOTABLE} + AddAlias('duration','string',Result); +{$ENDIF WST_HAS_TDURATIONREMOTABLE} +{$IFNDEF WST_HAS_TTIMEREMOTABLE} + AddAlias('time','string',Result); +{$ENDIF WST_HAS_TTIMEREMOTABLE} except FreeAndNil(Result); raise; diff --git a/wst/trunk/wst_global.inc b/wst/trunk/wst_global.inc index 5748eb396..38b5f5bb1 100644 --- a/wst/trunk/wst_global.inc +++ b/wst/trunk/wst_global.inc @@ -3,6 +3,8 @@ {$UNDEF WST_TKPROCVAR} {$UNDEF WST_UNICODESTRING} {$UNDEF WST_SEMAPHORE_TIMEOUT} +{$UNDEF WST_HAS_TDURATIONREMOTABLE} +{$UNDEF WST_HAS_TTIMEREMOTABLE} {$WARNINGS OFF}