git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@68 b6239004-a887-0f4b-9937-50029ccdca16
3690 lines
292 KiB
Plaintext
3690 lines
292 KiB
Plaintext
LazarusResources.Add('TEMPLATE_INTF_PAS','RCDATA',[
|
|
'unit %UNIT_NAME%;'#13#10#13#10'{--------------------------------------------'
|
|
+'--------------------------------}'#13#10'{ This unit was automatically gene'
|
|
+'rated by the RemObjects SDK after reading }'#13#10'{ the RODL file associa'
|
|
+'ted with this project . }'#13#10'{ '
|
|
+' }'#13#10'{'
|
|
+' Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{-----------------------------------------------------'
|
|
+'-----------------------}'#13#10#13#10'{$I RemObjects.inc}'#13#10#13#10'inte'
|
|
+'rface'#13#10#13#10'uses'#13#10' {vcl:} Classes, TypInfo,'#13#10' // <%%% '
|
|
+'START REQUIRED_UNITS %%%>'#13#10' {Required:} %REQUIRED_UNIT_NAME%,'#13#10
|
|
+' // <%%% END REQUIRED_UNITS %%%>'#13#10' {RemObjects:} uROXMLIntf, uROCla'
|
|
+'sses, uROClient, uROTypes, uROClientIntf;'#13#10#13#10'const'#13#10' { Lib'
|
|
+'rary ID }'#13#10' LibraryUID = ''%LIBRARY_UID%'';'#13#10' TargetNamespace'
|
|
+' = ''%NAMESPACE_NAME%'';'#13#10#13#10' { Service Interface ID''s }'#13#10
|
|
+' // <%%% START SERVICES %%%>'#13#10' I%SERVICE_NAME%_IID : TGUID = ''%SER'
|
|
+'VICE_UID%'';'#13#10' // <%%% END SERVICES %%%>'#13#10' '#13#10' { Event '
|
|
+'ID''s }'#13#10' // <%%% START EVENT_SINKS %%%>'#13#10' EID_%EVENT_SINK_NA'
|
|
+'ME% = ''%EVENT_SINK_NAME%'';'#13#10' // <%%% END EVENT_SINKS %%%>'#13#10' '
|
|
+' '#13#10'type'#13#10' { Forward declarations }'#13#10' // <%%% START SERV'
|
|
+'ICES %%%>'#13#10' I%SERVICE_NAME% = interface;'#13#10' // <%%% END SERVIC'
|
|
+'ES %%%>'#13#10' // <%%% START ARRAYS %%%>'#13#10' %ARRAY_NAME% = class;'
|
|
+#13#10' // <%%% END ARRAYS %%%>'#13#10' // <%%% START STRUCTS %%%>'#13#10
|
|
+' %STRUCT_NAME% = class;'#13#10' // <%%% END STRUCTS %%%>'#13#10' // <%%%'
|
|
+' START EXCEPTIONS %%%>'#13#10' %EXCEPTION_NAME% = class;'#13#10' // <%%% '
|
|
+'END EXCEPTIONS %%%>'#13#10' // <%%% START EVENT_SINKS %%%>'#13#10' I%EVEN'
|
|
+'T_SINK_NAME% = interface;'#13#10' // <%%% END EVENT_SINKS %%%>'#13#10#13#10
|
|
+' { Enumerateds }'#13#10' // <%%% START ENUMS %%%>'#13#10' // <%%% START '
|
|
+'DOCUMENTATION %%%>'#13#10#13#10' { Description:'#13#10' %CONTENT% }'
|
|
+#13#10' // <%%% END DOCUMENTATION %%%>'#13#10' %ENUM_NAME% = ('#13#10' '
|
|
+' // <%%% START VALUES %%%>'#13#10' %VALUE_NAME%,'
|
|
+#13#10' // <%%% END VALUES %%%>'#13#10' );'#13
|
|
+#10#13#10' // <%%% END ENUMS %%%>'#13#10' // <%%% START STRUCTS %%%>'#13#10
|
|
+' { %STRUCT_NAME% }'#13#10' // <%%% START DOCUMENTATION %%%>'#13#10#13#10
|
|
+' { Description:'#13#10' %CONTENT% }'#13#10' // <%%% END DOCUMENTATIO'
|
|
+'N %%%>'#13#10' %STRUCT_NAME% = class(%STRUCT_ANCESTOR_NAME%)'#13#10' priv'
|
|
+'ate'#13#10' FDestroying: Boolean;'#13#10#13#10' // <%%% START FIELDS_'
|
|
+'NO_STRIP %%%>'#13#10' f%FIELD_NAME%: %FIELD_TYPE%;'#13#10' // <%%% EN'
|
|
+'D FIELDS_NO_STRIP %%%>'#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' function Get%FIELD_'
|
|
+'NAME%: %FIELD_TYPE%;'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13
|
|
+#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' public'#13#10' // <%%% '
|
|
+'START STRUCT_GENERATE_DEFAULT_VALUES %%%>'#13#10' constructor Create(aCo'
|
|
+'llection : TCollection); override;'#13#10' // <%%% END STRUCT_GENERATE_D'
|
|
+'EFAULT_VALUES %%%>'#13#10' // <%%% START IF_STRUCT_HAS_ATTRIBUTES %%%>'
|
|
+#13#10' class function GetAttributeCount: Integer; override;'#13#10' c'
|
|
+'lass function GetAttributeName(aIndex: Integer): string; override;'#10' '
|
|
+'class function GetAttributeValue(aIndex: Integer): string; override;'#10' '
|
|
+' // <%%% END IF_STRUCT_HAS_ATTRIBUTES %%%>'#13#10' procedure Assign(iSo'
|
|
+'urce: TPersistent); override;'#13#10' destructor Destroy; override;'#13
|
|
+#10' // <%%% START IF_HAS_FIELDS %%%>'#13#10' procedure ReadComplex(AS'
|
|
+'erializer: TObject); override;'#13#10' procedure WriteComplex(ASerialize'
|
|
+'r: TObject); override;'#13#10' // <%%% END IF_HAS_FIELDS %%%>'#13#10' p'
|
|
+'ublished'#13#10' // Fields must be published for the ancestor destructor'
|
|
+' to find and destroy them.'#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' property %FIELD_N'
|
|
+'AME%:%FIELD_TYPE% read f%FIELD_NAME% write f%FIELD_NAME%;'#13#10' // <%%'
|
|
+'% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_TYPE_COMP'
|
|
+'LEX %%%>'#13#10' property %FIELD_NAME%:%FIELD_TYPE% read Get%FIELD_NAME%'
|
|
+' write f%FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13
|
|
+#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' end;'#13#10#13#10' { %STR'
|
|
+'UCT_COLLECTION_NAME% }'#13#10' %STRUCT_COLLECTION_NAME% = class(%STRUCT_AN'
|
|
+'CESTOR_COLLECTION_NAME%)'#13#10' protected'#13#10' constructor Create(a'
|
|
+'ItemClass: TCollectionItemClass); overload;'#13#10' function GetItems(aI'
|
|
,'ndex: integer): %STRUCT_NAME%;'#13#10' procedure SetItems(aIndex: intege'
|
|
+'r; const Value: %STRUCT_NAME%);'#13#10' public'#13#10' constructor Crea'
|
|
+'te; overload;'#13#10' function Add: %STRUCT_NAME%; reintroduce;'#13#10' '
|
|
+' // <%%% START ARRAYS_IS_FOUND %%%>'#13#10' procedure SaveToArray(anAr'
|
|
+'ray: %ARRAY_NAME%); overload;'#13#10' procedure LoadFromArray(anArray: %'
|
|
+'ARRAY_NAME%); overload;'#13#10' // <%%% END ARRAYS_IS_FOUND %%%>'#13#10
|
|
+' property Items[Index: integer]:%STRUCT_NAME% read GetItems write SetIte'
|
|
+'ms; default;'#13#10' end;'#13#10#13#10' // <%%% END STRUCTS %%%>'#13#10' '
|
|
+' // <%%% START ARRAYS %%%>'#13#10' { %ARRAY_NAME% }'#13#10' // <%%% START'
|
|
+' DOCUMENTATION %%%>'#13#10#13#10' { Description:'#13#10' %CONTENT% }'
|
|
+#13#10' // <%%% END DOCUMENTATION %%%>'#13#10' %ARRAY_NAME%_%ARRAY_TYPE% ='
|
|
+' array of %ARRAY_TYPE%;'#13#10' %ARRAY_NAME% = class(TROArray)'#13#10' pr'
|
|
+'ivate'#13#10' fCount: Integer;'#13#10' fItems : %ARRAY_NAME%_%ARRAY_T'
|
|
+'YPE%;'#13#10' protected'#13#10' procedure Grow; virtual;'#13#10' fun'
|
|
+'ction GetItems(aIndex: integer): %ARRAY_TYPE%;'#13#10' procedure SetItem'
|
|
+'s(aIndex: integer; const Value: %ARRAY_TYPE%);'#13#10' function GetCount'
|
|
+': integer; override;'#13#10' public'#13#10' // <%%% START IF_ARRAY_HAS_'
|
|
+'ATTRIBUTES %%%>'#13#10' class function GetAttributeCount: Integer; overr'
|
|
+'ide;'#13#10' class function GetAttributeName(aIndex: Integer): string; o'
|
|
+'verride;'#10' class function GetAttributeValue(aIndex: Integer): string;'
|
|
+' override;'#10' // <%%% END IF_ARRAY_HAS_ATTRIBUTES %%%>'#13#10' clas'
|
|
+'s function GetItemType: PTypeInfo; override;'#13#10' // <%%% START IF_AR'
|
|
+'RAY_TYPE_COMPLEX %%%>'#13#10' class function GetItemClass: TClass; overr'
|
|
+'ide;'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' class fun'
|
|
+'ction GetItemSize: integer; override;'#13#10#13#10' function GetItemRef('
|
|
+'aIndex: integer): pointer; override;'#13#10' // <%%% START IF_ARRAY_TYPE'
|
|
+'_COMPLEX %%%>'#13#10' procedure SetItemRef(aIndex: integer; Ref: pointer'
|
|
+'); override;'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' p'
|
|
+'rocedure Clear; override;'#13#10' procedure Delete(aIndex: integer); ove'
|
|
+'rride;'#13#10' procedure Resize(ElementCount: integer); override;'#13#10
|
|
+#13#10' procedure Assign(iSource:TPersistent); override;'#13#10' proce'
|
|
+'dure ReadComplex(ASerializer: TObject); override;'#13#10' procedure Writ'
|
|
+'eComplex(ASerializer: TObject); override;'#13#10' // <%%% START IF_ARRAY'
|
|
+'_TYPE_COMPLEX %%%>'#13#10' function Add: %ARRAY_TYPE%; overload;'#13#10
|
|
+' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' function Add(const Va'
|
|
+'lue: %ARRAY_TYPE%):integer; overload;'#13#10' // <%%% START IF_ARRAY_TYP'
|
|
+'E_SIMPLE %%%>'#13#10' function GetIndex(const aPropertyName : string;'#13
|
|
+#10' const aPropertyValue : Variant;'#13#10' '
|
|
+' StartFrom : integer = 0;'#13#10' Options : '
|
|
+'TROSearchOptions = [soIgnoreCase]) : integer; override;'#13#10' // <%%% '
|
|
+'END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10#13#10' property Count : integer rea'
|
|
+'d GetCount;'#13#10' property Items[Index: integer]:%ARRAY_TYPE% read Get'
|
|
+'Items write SetItems; default;'#13#10' property InnerArray: %ARRAY_NAME%'
|
|
+'_%ARRAY_TYPE% read fItems;'#13#10' end;'#13#10#13#10' // <%%% END ARRAYS '
|
|
+'%%%>'#13#10' { Exceptions }'#13#10' // <%%% START EXCEPTIONS %%%>'#13#10
|
|
+' // <%%% START DOCUMENTATION %%%>'#13#10#13#10' { Description:'#13#10' '
|
|
+' %CONTENT% }'#13#10' // <%%% END DOCUMENTATION %%%>'#13#10' %EXCEPTION_'
|
|
+'NAME% = class(%EXCEPTION_ANCESTOR_NAME%)'#13#10' private'#13#10' // <%%'
|
|
+'% START FIELDS_NO_STRIP %%%>'#13#10' f%FIELD_NAME%: %FIELD_TYPE%;'#13#10
|
|
+' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' public'#13#10' constructor'
|
|
+' Create(anExceptionMessage : string'#13#10' // <%%% S'
|
|
+'TART ANCESTOR_FIELDS %%%>'#13#10' ; a%FIELD_NAME%: %F'
|
|
+'IELD_TYPE%'#13#10' // <%%% END ANCESTOR_FIELDS %%%>'
|
|
+#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' '
|
|
+' ; a%FIELD_NAME%: %FIELD_TYPE%'#13#10' '
|
|
+' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' );'#13#10
|
|
+' // <%%% START IF_HAS_FIELDS %%%>'#13#10' procedure ReadException(ASe'
|
|
+'rializer: TObject); override;'#13#10' procedure WriteException(ASerializ'
|
|
+'er: TObject); override;'#13#10' // <%%% END IF_HAS_FIELDS %%%>'#13#10' '
|
|
+'published'#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' property'
|
|
+' %FIELD_NAME%: %FIELD_TYPE% read f%FIELD_NAME% write f%FIELD_NAME%;'#13#10
|
|
+' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' end;'#13#10#13#10' // <%%% E'
|
|
+'ND EXCEPTIONS %%%>'#13#10' // <%%% START SERVICES %%%>'#13#10' { I%SERVIC'
|
|
+'E_NAME% }'#13#10' // <%%% START DOCUMENTATION %%%>'#13#10#13#10' { Descri'
|
|
,'ption:'#13#10' %CONTENT% }'#13#10' // <%%% END DOCUMENTATION %%%>'#13
|
|
+#10' I%SERVICE_NAME% = interface%SERVICE_ANCESTOR_NAME%'#13#10' [''%SERV'
|
|
+'ICE_UID%'']'#13#10' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10' fu'
|
|
+'nction %OPERATION_NAME%('#13#10' // <%%% START PARAMS %%%>'#13
|
|
+#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10
|
|
+' // <%%% END PARAMS %%%>'#13#10' ): %OPERATION_'
|
|
+'RESULT%;'#13#10' // <%%% END FUNCTION_OPERATIONS %%%>'#13#10' // <%%%'
|
|
+' START PROCEDURE_OPERATIONS %%%>'#13#10' procedure %OPERATION_NAME%('#13
|
|
+#10' // <%%% START PARAMS %%%>'#13#10' %PARAM_'
|
|
+'FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% '
|
|
+'END PARAMS %%%>'#13#10' );'#13#10' // <%%% END PROCEDURE_'
|
|
+'OPERATIONS %%%>'#13#10' end;'#13#10#13#10' { Co%SERVICE_NAME% }'#13#10' '
|
|
+'Co%SERVICE_NAME% = class'#13#10' class function Create(const aMessage: I'
|
|
+'ROMessage; aTransportChannel: IROTransportChannel): I%SERVICE_NAME%;'#13#10
|
|
+' end;'#13#10#13#10' { T%SERVICE_NAME%_Proxy }'#13#10' T%SERVICE_NAME%_Pr'
|
|
+'oxy = class(%SERVICE_PROXY_ANCESTOR_NAME%, I%SERVICE_NAME%)'#13#10' protec'
|
|
+'ted'#13#10' function __GetInterfaceName:string; override;'#13#10#13#10' '
|
|
+' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10' function %OPERATION_NA'
|
|
+'ME%('#13#10' // <%%% START PARAMS %%%>'#13#10' '
|
|
+'%PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' //'
|
|
+' <%%% END PARAMS %%%>'#13#10' ): %OPERATION_RESULT%;'#13#10' '
|
|
+' // <%%% END FUNCTION_OPERATIONS %%%>'#13#10' // <%%% START PROCEDURE_'
|
|
+'OPERATIONS %%%>'#13#10' procedure %OPERATION_NAME%('#13#10' '
|
|
+' // <%%% START PARAMS %%%>'#13#10' %PARAM_FRONT_MODIFIER% '
|
|
+'%PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% END PARAMS %%%>'
|
|
+#13#10' );'#13#10' // <%%% END PROCEDURE_OPERATIONS %%%>'
|
|
+#13#10' end;'#13#10#13#10' // <%%% END SERVICES %%%>'#13#10' // <%%% STAR'
|
|
+'T EVENT_SINKS %%%>'#13#10' { I%EVENT_SINK_NAME% }'#13#10' // <%%% START D'
|
|
+'OCUMENTATION %%%>'#13#10#13#10' { Description:'#13#10' %CONTENT% }'#13
|
|
+#10' // <%%% END DOCUMENTATION %%%>'#13#10' I%EVENT_SINK_NAME% = interface'
|
|
+'%EVENT_SINK_ANCESTOR_NAME%'#13#10' [''%EVENT_SINK_UID%'']'#13#10' // '
|
|
+'<%%% START OPERATIONS %%%>'#13#10' procedure %OPERATION_NAME%('#13#10' '
|
|
+' // <%%% START PARAMS %%%>'#13#10' %PARAM_FRONT'
|
|
+'_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% END P'
|
|
+'ARAMS %%%>'#13#10' );'#13#10' // <%%% END OPERATIONS %%%>'
|
|
+#13#10' end;'#13#10#13#10' { I%EVENT_SINK_NAME%_Writer }'#13#10' // <%%% '
|
|
+'START DOCUMENTATION %%%>'#13#10#13#10' { Description:'#13#10' %CONTEN'
|
|
+'T% }'#13#10' // <%%% END DOCUMENTATION %%%>'#13#10' I%EVENT_SINK_NAME%_Wr'
|
|
+'iter = interface(I%EVENT_SINK_WRITER_ANCESTOR_NAME%)'#13#10' [''%EVENT_S'
|
|
+'INK_UID%'']'#13#10' // <%%% START OPERATIONS %%%>'#13#10' procedure %'
|
|
+'OPERATION_NAME%(const __Sender : TGUID'#13#10' // <%%% START'
|
|
+' PARAMS %%%>'#13#10' ; %PARAM_FRONT_MODIFIER% %PARAM_NAME%: '
|
|
+'%PARAM_TYPE%'#13#10' // <%%% END PARAMS %%%>'#13#10' '
|
|
+' );'#13#10' // <%%% END OPERATIONS %%%>'#13#10' end;'#13#10#13#10
|
|
+' // <%%% END EVENT_SINKS %%%>'#13#10'implementation'#13#10#13#10'uses'#13
|
|
+#10' {vcl:} SysUtils,'#13#10' {RemObjects:} uROEventRepository, uROSeriali'
|
|
+'zer, uRORes;'#13#10#13#10'// <%%% START EXCEPTIONS %%%>'#13#10'{ %EXCEPTION'
|
|
+'_NAME% }'#13#10'constructor %EXCEPTION_NAME%.Create(anExceptionMessage : st'
|
|
+'ring'#13#10' // <%%% START ANCESTOR_FIELDS %%%>'#13#10' ; a%FIELD_NAME%: '
|
|
+'%FIELD_TYPE%'#13#10' // <%%% END ANCESTOR_FIELDS %%%>'#13#10' // <%%% STA'
|
|
+'RT FIELDS_NO_STRIP %%%>'#13#10' ; a%FIELD_NAME%: %FIELD_TYPE%'#13#10' // '
|
|
+'<%%% END FIELDS_NO_STRIP %%%>'#13#10' );'#13#10'begin'#13#10' inherited C'
|
|
+'reate(anExceptionMessage'#13#10' // <%%% START ANCESTOR_F'
|
|
+'IELDS %%%>'#13#10' , a%FIELD_NAME%'#13#10' '
|
|
+' // <%%% END ANCESTOR_FIELDS %%%>'#13#10' );'#13#10#13
|
|
+#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' f%FIELD_NAME% := a%FIELD_N'
|
|
+'AME%;'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10'end;'#13#10#13#10'//'
|
|
+' <%%% START IF_HAS_FIELDS %%%>'#13#10'procedure %EXCEPTION_NAME%.ReadExcept'
|
|
+'ion(ASerializer: TObject);'#13#10'var'#13#10' // <%%% START ENTIRE_HIERARC'
|
|
+'HY_FIELDS %%%>'#13#10' l_%FIELD_NAME%: %FIELD_TYPE%;'#13#10' // <%%% END '
|
|
+'ENTIRE_HIERARCHY_FIELDS %%%>'#13#10'begin'#13#10' if TROSerializer(ASerial'
|
|
+'izer).RecordStrictOrder then begin'#13#10' // <%%% START IF_STRUCT_HAS_A'
|
|
+'NCESTOR %%%>'#13#10' inherited;'#13#10' // <%%% END IF_STRUCT_HAS_ANC'
|
|
+'ESTOR %%%>'#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' l_%FIEL'
|
|
,'D_NAME% := %FIELD_NAME%;'#13#10' // <%%% START IF_FIELD_BINARY_TYPE %%%>'
|
|
+#13#10' TROSerializer(ASerializer).ReadBinary(''%FIELD_ORIGINALNAME%'', l'
|
|
+'_%FIELD_NAME%);'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% then %FIELD_NA'
|
|
+'ME%.Free;'#13#10' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10' // <%'
|
|
+'%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' TROSerializer(ASerializer).R'
|
|
+'eadEnumerated(''%FIELD_ORIGINALNAME%'', TypeInfo(boolean), l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_CURRENCY_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadDouble'
|
|
+'(''%FIELD_ORIGINALNAME%'', ftCurr, l_%FIELD_NAME%);'#13#10' // <%%% END '
|
|
+'IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DATETIME_TYPE'
|
|
+' %%%>'#13#10' TROSerializer(ASerializer).ReadDateTime(''%FIELD_ORIGINALN'
|
|
+'AME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13#10' TROSerializer'
|
|
+'(ASerializer).ReadDecimal(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_DOUBLE_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadDouble(''%FIEL'
|
|
+'D_ORIGINALNAME%'', ftDouble, l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIE'
|
|
+'LD_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadGuid(''%FIELD_ORIGINALNAME%'', l_%FIELD_'
|
|
+'NAME%);'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% S'
|
|
+'TART IF_FIELD_INT64_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadInt'
|
|
+'64(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIE'
|
|
+'LD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).ReadInteger(''%FIELD_ORIGINALNAME%'', otS'
|
|
+'Long, l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' TROSerializer'
|
|
+'(ASerializer).ReadAnsiString(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_UTF8STRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadUTF8'
|
|
+'String(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF'
|
|
+'_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_VARIANT_TYPE '
|
|
+'%%%>'#13#10' TROSerializer(ASerializer).ReadVariant(''%FIELD_ORIGINALNAM'
|
|
+'E%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' TROSerializer'
|
|
+'(ASerializer).ReadWideString(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_XML_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadXml(''%FIEL'
|
|
+'D_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_XML_TYP'
|
|
+'E %%%>'#13#10' // <%%% START IF_FIELD_ARRAY_TYPE %%%>'#13#10' TROSeri'
|
|
+'alizer(ASerializer).ReadArray(''%FIELD_ORIGINALNAME%'', %FIELD_TYPE%, l_%FI'
|
|
+'ELD_NAME%);'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% then %FIELD_NAME%.'
|
|
+'Free;'#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% ST'
|
|
+'ART IF_FIELD_ENUM_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadEnume'
|
|
+'rated(''%FIELD_ORIGINALNAME%'', TypeInfo(%FIELD_TYPE%), l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_STRUCT_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadStruct(''%FIEL'
|
|
+'D_ORIGINALNAME%'', %FIELD_TYPE%, l_%FIELD_NAME%);'#13#10' if %FIELD_NAME'
|
|
+'% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' // <%%% END IF_FIELD'
|
|
+'_STRUCT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XSDATETIME_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).ReadStruct(''%FIELD_ORIGINALNAME%'', %FIE'
|
|
+'LD_TYPE%, l_%FIELD_NAME%);'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% the'
|
|
+'n %FIELD_NAME%.Free;'#13#10' // <%%% END IF_FIELD_XSDATETIME_TYPE %%%>'
|
|
+#13#10' %FIELD_NAME% := l_%FIELD_NAME%;'#13#10' // <%%% END FIELDS_NO_'
|
|
+'STRIP %%%>'#13#10' end'#13#10' else begin'#13#10' // <%%% START ENTIRE'
|
|
+'_HIERARCHY_FIELDS %%%>'#13#10' l_%FIELD_NAME% := %FIELD_NAME%;'#13#10' '
|
|
+' // <%%% START IF_FIELD_BINARY_TYPE %%%>'#13#10' TROSerializer(ASeriali'
|
|
+'zer).ReadBinary(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' if %F'
|
|
+'IELD_NAME% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' // <%%% END'
|
|
+' IF_FIELD_BINARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %'
|
|
+'%%>'#13#10' TROSerializer(ASerializer).ReadEnumerated(''%FIELD_ORIGINALN'
|
|
+'AME%'', TypeInfo(boolean), l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD'
|
|
+'_BOOLEAN_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).ReadDouble(''%FIELD_ORIGINALNAME%'', ftCu'
|
|
+'rr, l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13
|
|
,#10' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' TROSerializer(A'
|
|
+'Serializer).ReadDateTime(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIE'
|
|
+'LD_DECIMAL_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadDecimal(''%F'
|
|
+'IELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DECI'
|
|
+'MAL_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' '
|
|
+' TROSerializer(ASerializer).ReadDouble(''%FIELD_ORIGINALNAME%'', ftDouble, '
|
|
+'l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' TROSerializer(ASerialize'
|
|
+'r).ReadGuid(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% E'
|
|
+'ND IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INT64_TYPE %%%'
|
|
+'>'#13#10' TROSerializer(ASerializer).ReadInt64(''%FIELD_ORIGINALNAME%'','
|
|
+' l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13#10' TROSerializer(ASerial'
|
|
+'izer).ReadInteger(''%FIELD_ORIGINALNAME%'', otSLong, l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_ANSISTRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadAnsiString'
|
|
+'(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD'
|
|
+'_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%'
|
|
+'>'#13#10' TROSerializer(ASerializer).ReadUTF8String(''%FIELD_ORIGINALNAM'
|
|
+'E%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_VARIANT_TYPE %%%>'#13#10' TROSerializer'
|
|
+'(ASerializer).ReadVariant(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_WIDESTRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadWideString'
|
|
+'(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD'
|
|
+'_WIDESTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadXml(''%FIELD_ORIGINALNAME%'', l_%FIELD_N'
|
|
+'AME%);'#13#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% STA'
|
|
+'RT IF_FIELD_ARRAY_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadArray'
|
|
+'(''%FIELD_ORIGINALNAME%'', %FIELD_TYPE%, l_%FIELD_NAME%);'#13#10' if %FI'
|
|
+'ELD_NAME% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' // <%%% END '
|
|
+'IF_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'
|
|
+#13#10' TROSerializer(ASerializer).ReadEnumerated(''%FIELD_ORIGINALNAME%'
|
|
+''', TypeInfo(%FIELD_TYPE%), l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIEL'
|
|
+'D_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadStruct(''%FIELD_ORIGINALNAME%'', %FIELD_'
|
|
+'TYPE%, l_%FIELD_NAME%);'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% then %'
|
|
+'FIELD_NAME%.Free;'#13#10' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' TROSerializer(ASe'
|
|
+'rializer).ReadStruct(''%FIELD_ORIGINALNAME%'', %FIELD_TYPE%, l_%FIELD_NAME%'
|
|
+');'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13
|
|
+#10' // <%%% END IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' %FIELD_NAME% :='
|
|
+' l_%FIELD_NAME%;'#13#10' // <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#13#10
|
|
+' end;'#13#10'end;'#13#10#13#10'procedure %EXCEPTION_NAME%.WriteException(A'
|
|
+'Serializer: TObject);'#13#10'var'#13#10' // <%%% START ENTIRE_HIERARCHY_FI'
|
|
+'ELDS %%%>'#13#10' l_%FIELD_NAME%: %FIELD_TYPE%;'#13#10' // <%%% END ENTIR'
|
|
+'E_HIERARCHY_FIELDS %%%>'#13#10'begin'#13#10' if TROSerializer(ASerializer)'
|
|
+'.RecordStrictOrder then begin'#13#10' // <%%% START IF_STRUCT_HAS_ANCEST'
|
|
+'OR %%%>'#13#10' inherited;'#13#10' // <%%% END IF_STRUCT_HAS_ANCESTOR'
|
|
+' %%%>'#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' l_%FIELD_NAM'
|
|
+'E% := %FIELD_NAME%;'#13#10' // <%%% START IF_FIELD_BINARY_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).WriteBinary(''%FIELD_ORIGINALNAME%'', l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10' /'
|
|
+'/ <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' TROSerializer(ASerialize'
|
|
+'r).WriteEnumerated(''%FIELD_ORIGINALNAME%'', TypeInfo(boolean), l_%FIELD_NA'
|
|
+'ME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' // <%%% '
|
|
+'START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' TROSerializer(ASerializer).Wri'
|
|
+'teDouble(''%FIELD_ORIGINALNAME%'', ftCurr, l_%FIELD_NAME%);'#13#10' // <'
|
|
+'%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DATET'
|
|
+'IME_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteDateTime(''%FIELD_'
|
|
+'ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DATETIME_'
|
|
+'TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13#10' TR'
|
|
+'OSerializer(ASerializer).WriteDecimal(''%FIELD_ORIGINALNAME%'', l_%FIELD_NA'
|
|
,'ME%);'#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <%%% '
|
|
+'START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' TROSerializer(ASerializer).Write'
|
|
+'Double(''%FIELD_ORIGINALNAME%'', ftDouble, l_%FIELD_NAME%);'#13#10' // <'
|
|
+'%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_FIELD_GUID_TY'
|
|
+'PE %%%>'#13#10' TROSerializer(ASerializer).WriteGuid(''%FIELD_ORIGINALNA'
|
|
+'ME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_INT64_TYPE %%%>'#13#10' TROSerializer(ASer'
|
|
+'ializer).WriteInt64(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' /'
|
|
+'/ <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INTEG'
|
|
+'ER_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteInteger(''%FIELD_OR'
|
|
+'IGINALNAME%'', otSLong, l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_IN'
|
|
+'TEGER_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).WriteAnsiString(''%FIELD_ORIGINALNAME%'','
|
|
+' l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' TROSerializer'
|
|
+'(ASerializer).WriteUTF8String(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_VARIANT_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteVarian'
|
|
+'t(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIEL'
|
|
+'D_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTRING_TYPE %%%>'
|
|
+#13#10' TROSerializer(ASerializer).WriteWideString(''%FIELD_ORIGINALNAME%'
|
|
+''', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10' TROSerializer(ASe'
|
|
+'rializer).WriteXml(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' //'
|
|
+' <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ARRAY_TY'
|
|
+'PE %%%>'#13#10' TROSerializer(ASerializer).WriteArray(''%FIELD_ORIGINALN'
|
|
+'AME%'', l_%FIELD_NAME%, %FIELD_TYPE%);'#13#10' // <%%% END IF_FIELD_ARRA'
|
|
+'Y_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10' TRO'
|
|
+'Serializer(ASerializer).WriteEnumerated(''%FIELD_ORIGINALNAME%'', TypeInfo('
|
|
+'%FIELD_TYPE%), l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ENUM_TYPE %'
|
|
+'%%>'#13#10' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10' TROSerial'
|
|
+'izer(ASerializer).WriteStruct(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%, %FI'
|
|
+'ELD_TYPE%);'#13#10' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' TROSerializer(ASerializ'
|
|
+'er).WriteStruct(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%, %FIELD_TYPE%);'#13
|
|
+#10' // <%%% END IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' // <%%% END FIE'
|
|
+'LDS_NO_STRIP %%%>'#13#10' end'#13#10' else begin'#13#10' // <%%% START'
|
|
+' ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' l_%FIELD_NAME% := %FIELD_NAME%;'#13
|
|
+#10' // <%%% START IF_FIELD_BINARY_TYPE %%%>'#13#10' TROSerializer(ASe'
|
|
+'rializer).WriteBinary(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_BO'
|
|
+'OLEAN_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteEnumerated(''%FI'
|
|
+'ELD_ORIGINALNAME%'', TypeInfo(boolean), l_%FIELD_NAME%);'#13#10' // <%%%'
|
|
+' END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRENCY_'
|
|
+'TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteDouble(''%FIELD_ORIGIN'
|
|
+'ALNAME%'', ftCurr, l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_CURRENC'
|
|
+'Y_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' '
|
|
+' TROSerializer(ASerializer).WriteDateTime(''%FIELD_ORIGINALNAME%'', l_%FIEL'
|
|
+'D_NAME%);'#13#10' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13#10' TROSerializer(ASerializer)'
|
|
+'.WriteDecimal(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%%'
|
|
+' END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TY'
|
|
+'PE %%%>'#13#10' TROSerializer(ASerializer).WriteDouble(''%FIELD_ORIGINAL'
|
|
+'NAME%'', ftDouble, l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE_'
|
|
+'TYPE %%%>'#13#10' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' TROSe'
|
|
+'rializer(ASerializer).WriteGuid(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% START IF_F'
|
|
+'IELD_INT64_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteInt64(''%FI'
|
|
+'ELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INT64'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13#10' T'
|
|
+'ROSerializer(ASerializer).WriteInteger(''%FIELD_ORIGINALNAME%'', otSLong, l'
|
|
+'_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' TROSerializer(ASer'
|
|
+'ializer).WriteAnsiString(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10
|
|
,' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_F'
|
|
+'IELD_UTF8STRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteUTF8St'
|
|
+'ring(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_F'
|
|
+'IELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_VARIANT_TYPE %%'
|
|
+'%>'#13#10' TROSerializer(ASerializer).WriteVariant(''%FIELD_ORIGINALNAME'
|
|
+'%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' TROSerializer'
|
|
+'(ASerializer).WriteWideString(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_XML_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteXml(''%FIE'
|
|
+'LD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_XML_TY'
|
|
+'PE %%%>'#13#10' // <%%% START IF_FIELD_ARRAY_TYPE %%%>'#13#10' TROSer'
|
|
+'ializer(ASerializer).WriteArray(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%, %'
|
|
+'FIELD_TYPE%);'#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10' //'
|
|
+' <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10' TROSerializer(ASerializer).W'
|
|
+'riteEnumerated(''%FIELD_ORIGINALNAME%'', TypeInfo(%FIELD_TYPE%), l_%FIELD_N'
|
|
+'AME%);'#13#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' // <%%% ST'
|
|
+'ART IF_FIELD_STRUCT_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteSt'
|
|
+'ruct(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%, %FIELD_TYPE%);'#13#10' //'
|
|
+' <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XSDAT'
|
|
+'ETIME_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteStruct(''%FIELD_'
|
|
+'ORIGINALNAME%'', l_%FIELD_NAME%, %FIELD_TYPE%);'#13#10' // <%%% END IF_F'
|
|
+'IELD_XSDATETIME_TYPE %%%>'#13#10' // <%%% END ENTIRE_HIERARCHY_FIELDS %%'
|
|
+'%>'#13#10' end;'#13#10'end;'#13#10#13#10'// <%%% END IF_HAS_FIELDS %%%>'#13
|
|
+#10'// <%%% END EXCEPTIONS %%%>'#13#10'// <%%% START ARRAYS %%%>'#13#10'{ %A'
|
|
+'RRAY_NAME% }'#13#10#13#10'// <%%% START IF_ARRAY_HAS_ATTRIBUTES %%%>'#13#10
|
|
+'class function %ARRAY_NAME%.GetAttributeCount: Integer;'#13#10'begin'#13#10
|
|
+' Result := %ATTRIBUTES_COUNT%;'#13#10'end;'#13#10#13#10'class function %AR'
|
|
+'RAY_NAME%.GetAttributeName(aIndex: Integer): string;'#10'begin'#10' case a'
|
|
+'Index of'#10'// <%%% START ATTRIBUTES_NO_STRIP %%%>'#10' %ATTRIBUTE_INDE'
|
|
+'X%: Result := %ATTRIBUTE_NAME%;'#10'// <%%% END ATTRIBUTES_NO_STRIP %%%>'#10
|
|
+' end;'#10'end;'#10#10'class function %ARRAY_NAME%.GetAttributeValue(aIndex'
|
|
+': Integer): string;'#10'begin'#10' case aIndex of'#10'// <%%% START ATTRIB'
|
|
+'UTES_NO_STRIP %%%>'#10' %ATTRIBUTE_INDEX%: Result := %ATTRIBUTE_VALUE%;'
|
|
+#10'// <%%% END ATTRIBUTES_NO_STRIP %%%>'#10' end;'#10'end;'#10'// <%%% END'
|
|
+' IF_ARRAY_HAS_ATTRIBUTES %%%>'#13#10#13#10'procedure %ARRAY_NAME%.Assign(iS'
|
|
+'ource: TPersistent);'#13#10'var lSource:%ARRAY_NAME%;'#13#10' i:integer;'
|
|
+#13#10'begin'#13#10' if (iSource is %ARRAY_NAME%) then begin'#13#10' lSo'
|
|
+'urce := %ARRAY_NAME%(iSource);'#13#10' Clear();'#13#10' Resize(lSourc'
|
|
+'e.Count);'#13#10' '#13#10' for i := 0 to Count-1 do begin'#13#10' '
|
|
+' // <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' if Assigned(lSource'
|
|
+'.Items[i]) then begin'#13#10' Items[i].Assign(lSource.Items[i]);'#13
|
|
+#10' end;'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' '
|
|
+' // <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' Items[i] := lSourc'
|
|
+'e.Items[i];'#13#10' // <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' e'
|
|
+'nd;'#13#10' end'#13#10' else begin'#13#10' inherited Assign(iSource);'
|
|
+#13#10' end;'#13#10'end;'#13#10#13#10'class function %ARRAY_NAME%.GetItemTy'
|
|
+'pe: PTypeInfo;'#13#10'begin'#13#10' result := TypeInfo(%ARRAY_TYPE%);'#13
|
|
+#10'end;'#13#10#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'class '
|
|
+'function %ARRAY_NAME%.GetItemClass: TClass;'#13#10'begin'#13#10' result :='
|
|
+' %ARRAY_TYPE%;'#13#10'end;'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13
|
|
+#10#13#10'class function %ARRAY_NAME%.GetItemSize: integer;'#13#10'begin'#13
|
|
+#10' result := SizeOf(%ARRAY_TYPE%);'#13#10'end;'#13#10#13#10'function %ARR'
|
|
+'AY_NAME%.GetItems(aIndex: integer): %ARRAY_TYPE%;'#13#10'begin'#13#10' if '
|
|
+'(aIndex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds'
|
|
+',[aIndex]);'#13#10' result := fItems[aIndex];'#13#10'end;'#13#10#13#10'fun'
|
|
+'ction %ARRAY_NAME%.GetItemRef(aIndex: integer): pointer;'#13#10'begin'#13#10
|
|
+' if (aIndex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfB'
|
|
+'ounds,[aIndex]);'#13#10' // <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' '
|
|
+' result := fItems[aIndex];'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#13#10' // <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' result := @fItems['
|
|
+'aIndex];'#13#10' // <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10'end;'#13#10
|
|
+#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'procedure %ARRAY_NAME'
|
|
+'%.SetItemRef(aIndex: integer; Ref: pointer);'#13#10'begin'#13#10' if (aInd'
|
|
,'ex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[aIn'
|
|
+'dex]);'#13#10' if Ref <> fItems[aIndex] then begin'#13#10' if fItems[aI'
|
|
+'ndex] <> nil then fItems[aIndex].Free;'#13#10' fItems[aIndex] := Ref;'#13
|
|
+#10' end;'#13#10'end;'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10
|
|
+#13#10'procedure %ARRAY_NAME%.Clear;'#13#10'// <%%% START IF_ARRAY_TYPE_COMP'
|
|
+'LEX %%%>'#13#10'var i: integer;'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%'
|
|
+'%>'#13#10'begin'#13#10' // <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'for i := 0 to (Count-1) do fItems[i].Free();'#13#10' // <%%% END IF_ARRAY_'
|
|
+'TYPE_COMPLEX %%%>'#13#10' SetLength(fItems, 0);'#13#10' FCount := 0;'#13
|
|
+#10'end;'#13#10#13#10'procedure %ARRAY_NAME%.Delete(aIndex: integer);'#13#10
|
|
+'var i: integer;'#13#10'begin'#13#10' if (aIndex>=Count) then RaiseError(er'
|
|
+'r_InvalidIndex, [aIndex]);'#13#10#13#10' // <%%% START IF_ARRAY_TYPE_COMPL'
|
|
+'EX %%%>'#13#10' fItems[aIndex].Free();'#13#10' // <%%% END IF_ARRAY_TYPE_'
|
|
+'COMPLEX %%%>'#13#10' '#13#10' if (aIndex<Count-1) then'#13#10' for i :'
|
|
+'= aIndex to Count-2 do fItems[i] := fItems[i+1];'#13#10#13#10' SetLength(f'
|
|
+'Items, Count-1);'#13#10' Dec(FCount);'#13#10'end;'#13#10#13#10'procedure %'
|
|
+'ARRAY_NAME%.SetItems(aIndex: integer; const Value: %ARRAY_TYPE%);'#13#10'be'
|
|
+'gin'#13#10' if (aIndex < 0) or (aIndex >= Count) then RaiseError(err_Array'
|
|
+'IndexOutOfBounds,[aIndex]);'#13#10' // <%%% START IF_ARRAY_TYPE_COMPLEX %%'
|
|
+'%> '#13#10' if fItems[aIndex] <> Value then begin'#13#10' fItems[aInde'
|
|
+'x].Free; '#13#10' fItems[aIndex] := Value;'#13#10' end;'#13#10' // '
|
|
+'<%%% END IF_ARRAY_TYPE_COMPLEX %%%> '#13#10' // <%%% START IF_ARRAY_TYPE_'
|
|
+'SIMPLE %%%>'#13#10' fItems[aIndex] := Value; '#13#10' // <%%% END IF_ARR'
|
|
+'AY_TYPE_SIMPLE %%%> '#13#10'end;'#13#10#13#10'procedure %ARRAY_NAME%.Resiz'
|
|
+'e(ElementCount: integer);'#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#13#10'var i: Integer;'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10
|
|
+'begin'#13#10' if fCount = ElementCount then Exit;'#13#10'// <%%% START IF_'
|
|
+'ARRAY_TYPE_COMPLEX %%%>'#13#10' for i := FCount -1 downto ElementCount do'
|
|
+#13#10' FItems[i].Free;'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13
|
|
+#10' SetLength(fItems, ElementCount);'#13#10'// <%%% START IF_ARRAY_TYPE_CO'
|
|
+'MPLEX %%%>'#13#10' for i := FCount to ElementCount -1 do'#13#10' FItems'
|
|
+'[i] := %ARRAY_TYPE%.Create;'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#13#10' FCount := ElementCount;'#13#10'end;'#13#10#13#10'function %ARRAY_NA'
|
|
+'ME%.GetCount: integer;'#13#10'begin'#13#10' result := FCount;'#13#10'end;'
|
|
+#13#10#13#10'procedure %ARRAY_NAME%.Grow;'#13#10'var'#13#10' Delta, Capacit'
|
|
+'y: Integer;'#13#10'begin'#13#10' Capacity := Length(fItems);'#13#10' if C'
|
|
+'apacity > 64 then'#13#10' Delta := Capacity div 4'#13#10' else'#13#10' '
|
|
+' if Capacity > 8 then'#13#10' Delta := 16'#13#10' else'#13#10' '
|
|
+' Delta := 4;'#13#10' SetLength(fItems, Capacity + Delta);'#13#10'end;'#13
|
|
+#10#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'function %ARRAY_NA'
|
|
+'ME%.Add: %ARRAY_TYPE%;'#13#10'begin'#13#10' result := %ARRAY_TYPE%.Create;'
|
|
+#13#10' Add(Result);'#13#10'end;'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %'
|
|
+'%%>'#13#10#13#10'function %ARRAY_NAME%.Add(const Value:%ARRAY_TYPE%): integ'
|
|
+'er;'#13#10'begin'#13#10' Result := Count;'#13#10' if Length(fItems) = Res'
|
|
+'ult then'#13#10' Grow;'#13#10' fItems[result] := Value;'#13#10' Inc(fC'
|
|
+'ount);'#13#10'end;'#13#10#13#10'// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13
|
|
+#10'function %ARRAY_NAME%.GetIndex(const aPropertyName : string;'#13#10' co'
|
|
+'nst aPropertyValue : Variant; StartFrom : integer;'#13#10' Options : TROSe'
|
|
+'archOptions) : integer;'#13#10'begin'#13#10' result := -1;'#13#10'end;'#13
|
|
+#10'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10#13#10'procedure %ARRAY_NAME'
|
|
+'%.ReadComplex(ASerializer: TObject);'#13#10'var'#13#10' lval: %ARRAY_TYPE%'
|
|
+';'#13#10' i: integer;'#13#10'begin'#13#10' for i := 0 to Count-1 do begin'
|
|
+#13#10' with TROSerializer(ASerializer) do'#13#10' // <%%% START IF_'
|
|
+'ARRAY_BINARY_TYPE %%%>'#13#10' ReadBinary(GetArrayElementName(GetItemT'
|
|
+'ype, GetItemRef(i)), lval, i);'#13#10' // <%%% END IF_ARRAY_BINARY_TYP'
|
|
+'E %%%>'#13#10' // <%%% START IF_ARRAY_BOOLEAN_TYPE %%%>'#13#10' R'
|
|
+'eadEnumerated(GetArrayElementName(GetItemType, GetItemRef(i)), TypeInfo(boo'
|
|
+'lean), lval, i);'#13#10' // <%%% END IF_ARRAY_BOOLEAN_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_ARRAY_CURRENCY_TYPE %%%>'#13#10' ReadDouble(Get'
|
|
+'ArrayElementName(GetItemType, GetItemRef(i)), ftCurr, lval, i);'#13#10' '
|
|
+' // <%%% END IF_ARRAY_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_ARR'
|
|
+'AY_DATETIME_TYPE %%%>'#13#10' ReadDateTime(GetArrayElementName(GetItem'
|
|
+'Type, GetItemRef(i)), lval, i);'#13#10' // <%%% END IF_ARRAY_DATETIME_'
|
|
+'TYPE %%%>'#13#10' // <%%% START IF_ARRAY_DECIMAL_TYPE %%%>'#13#10' '
|
|
,' ReadDecimal(GetArrayElementName(GetItemType, GetItemRef(i)), lval, i);'#13
|
|
+#10' // <%%% END IF_ARRAY_DECIMAL_TYPE %%%>'#13#10' // <%%% START '
|
|
+'IF_ARRAY_DOUBLE_TYPE %%%>'#13#10' ReadDouble(GetArrayElementName(GetIt'
|
|
+'emType, GetItemRef(i)), ftDouble, lval, i);'#13#10' // <%%% END IF_ARR'
|
|
+'AY_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_GUID_TYPE %%%>'#13
|
|
+#10' ReadGuid(GetArrayElementName(GetItemType, GetItemRef(i)), lval, i)'
|
|
+';'#13#10' // <%%% END IF_ARRAY_GUID_TYPE %%%>'#13#10' // <%%% STA'
|
|
+'RT IF_ARRAY_INT64_TYPE %%%>'#13#10' ReadInt64(GetArrayElementName(GetI'
|
|
+'temType, GetItemRef(i)), lval, i);'#13#10' // <%%% END IF_ARRAY_INT64_'
|
|
+'TYPE %%%>'#13#10' // <%%% START IF_ARRAY_INTEGER_TYPE %%%>'#13#10' '
|
|
+' ReadInteger(GetArrayElementName(GetItemType, GetItemRef(i)), otSLong, lva'
|
|
+'l, i);'#13#10' // <%%% END IF_ARRAY_INTEGER_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_ARRAY_ANSISTRING_TYPE %%%>'#13#10' ReadUTF8String(GetArr'
|
|
+'ayElementName(GetItemType, GetItemRef(i)), lval, i);'#13#10' // <%%% E'
|
|
+'ND IF_ARRAY_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_UTF8ST'
|
|
+'RING_TYPE %%%>'#13#10' ReadUTF8String(GetArrayElementName(GetItemType,'
|
|
+' GetItemRef(i)), lval, i);'#13#10' // <%%% END IF_ARRAY_UTF8STRING_TYP'
|
|
+'E %%%>'#13#10' // <%%% START IF_ARRAY_VARIANT_TYPE %%%>'#13#10' R'
|
|
+'eadVariant(GetArrayElementName(GetItemType, GetItemRef(i)), lval, i);'#13#10
|
|
+' // <%%% END IF_ARRAY_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_'
|
|
+'ARRAY_WIDESTRING_TYPE %%%>'#13#10' ReadWideString(GetArrayElementName('
|
|
+'GetItemType, GetItemRef(i)), lval, i);'#13#10' // <%%% END IF_ARRAY_WI'
|
|
+'DESTRING_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_XML_TYPE %%%>'#13#10
|
|
+' ReadXml(GetArrayElementName(GetItemType, GetItemRef(i)), lval, i);'#13
|
|
+#10' // <%%% END IF_ARRAY_XML_TYPE %%%>'#13#10' // <%%% START IF_A'
|
|
+'RRAY_ARRAY_TYPE %%%>'#13#10' ReadArray(GetArrayElementName(GetItemType'
|
|
+', GetItemRef(i)), %ARRAY_TYPE%, lval, i);'#13#10' // <%%% END IF_ARRAY'
|
|
+'_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_ENUM_TYPE %%%>'#13#10
|
|
+' ReadEnumerated(GetArrayElementName(GetItemType, GetItemRef(i)), TypeI'
|
|
+'nfo(%ARRAY_TYPE%), lval, i);'#13#10' // <%%% END IF_ARRAY_ENUM_TYPE %%'
|
|
+'%>'#13#10' // <%%% START IF_ARRAY_STRUCT_TYPE %%%>'#13#10' ReadSt'
|
|
+'ruct(GetArrayElementName(GetItemType, GetItemRef(i)), %ARRAY_TYPE%, lval, i'
|
|
+');'#13#10' // <%%% END IF_ARRAY_STRUCT_TYPE %%%>'#13#10' Items[i] :'
|
|
+'= lval;'#13#10' end;'#13#10'end;'#13#10#13#10'procedure %ARRAY_NAME%.Write'
|
|
+'Complex(ASerializer: TObject);'#13#10'var'#13#10' i: integer;'#13#10'begin'
|
|
+#13#10' for i := 0 to Count-1 do'#13#10' with TROSerializer(ASerializer)'
|
|
+' do'#13#10' // <%%% START IF_ARRAY_BINARY_TYPE %%%>'#13#10' Write'
|
|
+'Binary(GetArrayElementName(GetItemType, GetItemRef(i)), fItems[i], i);'#13
|
|
+#10' // <%%% END IF_ARRAY_BINARY_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_ARRAY_BOOLEAN_TYPE %%%>'#13#10' WriteEnumerated(GetArrayElementName('
|
|
+'GetItemType, GetItemRef(i)), TypeInfo(boolean), fItems[i], i);'#13#10' '
|
|
+' // <%%% END IF_ARRAY_BOOLEAN_TYPE %%%>'#13#10' // <%%% START IF_ARRAY'
|
|
+'_CURRENCY_TYPE %%%>'#13#10' WriteDouble(GetArrayElementName(GetItemTyp'
|
|
+'e, GetItemRef(i)), ftCurr, fItems[i], i);'#13#10' // <%%% END IF_ARRAY'
|
|
+'_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_DATETIME_TYPE %%%>'
|
|
+#13#10' WriteDateTime(GetArrayElementName(GetItemType, GetItemRef(i)), '
|
|
+'fItems[i], i);'#13#10' // <%%% END IF_ARRAY_DATETIME_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_ARRAY_DECIMAL_TYPE %%%>'#13#10' WriteDecimal(Ge'
|
|
+'tArrayElementName(GetItemType, GetItemRef(i)), fItems[i], i);'#13#10' '
|
|
+'// <%%% END IF_ARRAY_DECIMAL_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_'
|
|
+'DOUBLE_TYPE %%%>'#13#10' WriteDouble(GetArrayElementName(GetItemType, '
|
|
+'GetItemRef(i)), ftDouble, fItems[i], i);'#13#10' // <%%% END IF_ARRAY_'
|
|
+'DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_GUID_TYPE %%%>'#13#10
|
|
+' WriteGuid(GetArrayElementName(GetItemType, GetItemRef(i)), fItems[i],'
|
|
+' i);'#13#10' // <%%% END IF_ARRAY_GUID_TYPE %%%>'#13#10' // <%%% '
|
|
+'START IF_ARRAY_INT64_TYPE %%%>'#13#10' WriteInt64(GetArrayElementName('
|
|
+'GetItemType, GetItemRef(i)), fItems[i], i);'#13#10' // <%%% END IF_ARR'
|
|
+'AY_INT64_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_INTEGER_TYPE %%%>'#13
|
|
+#10' WriteInteger(GetArrayElementName(GetItemType, GetItemRef(i)), otSL'
|
|
+'ong, fItems[i], i);'#13#10' // <%%% END IF_ARRAY_INTEGER_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_ARRAY_ANSISTRING_TYPE %%%>'#13#10' WriteUTF8'
|
|
+'String(GetArrayElementName(GetItemType, GetItemRef(i)), fItems[i], i);'#13
|
|
+#10' // <%%% END IF_ARRAY_ANSISTRING_TYPE %%%>'#13#10' // <%%% STA'
|
|
+'RT IF_ARRAY_UTF8STRING_TYPE %%%>'#13#10' WriteUTF8String(GetArrayEleme'
|
|
,'ntName(GetItemType, GetItemRef(i)), fItems[i], i);'#13#10' // <%%% END'
|
|
+' IF_ARRAY_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_VARIANT_'
|
|
+'TYPE %%%>'#13#10' WriteVariant(GetArrayElementName(GetItemType, GetIte'
|
|
+'mRef(i)), fItems[i], i);'#13#10' // <%%% END IF_ARRAY_VARIANT_TYPE %%%'
|
|
+'>'#13#10' // <%%% START IF_ARRAY_WIDESTRING_TYPE %%%>'#13#10' Wri'
|
|
+'teWideString(GetArrayElementName(GetItemType, GetItemRef(i)), fItems[i], i)'
|
|
+';'#13#10' // <%%% END IF_ARRAY_WIDESTRING_TYPE %%%>'#13#10' // <%'
|
|
+'%% START IF_ARRAY_XML_TYPE %%%>'#13#10' WriteXml(GetArrayElementName(G'
|
|
+'etItemType, GetItemRef(i)), fItems[i], i);'#13#10' // <%%% END IF_ARRA'
|
|
+'Y_XML_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_ARRAY_TYPE %%%>'#13#10
|
|
+' WriteArray(GetArrayElementName(GetItemType, GetItemRef(i)), fItems[i]'
|
|
+', , %ARRAY_TYPE%, i);'#13#10' // <%%% END IF_ARRAY_ARRAY_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_ARRAY_ENUM_TYPE %%%>'#13#10' WriteEnumerated'
|
|
+'(GetArrayElementName(GetItemType, GetItemRef(i)), TypeInfo(%ARRAY_TYPE%), f'
|
|
+'Items[i], i);'#13#10' // <%%% END IF_ARRAY_ENUM_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_ARRAY_STRUCT_TYPE %%%>'#13#10' WriteStruct(GetArrayE'
|
|
+'lementName(GetItemType, GetItemRef(i)), fItems[i], %ARRAY_TYPE%, i);'#13#10
|
|
+' // <%%% END IF_ARRAY_STRUCT_TYPE %%%>'#13#10'end;'#13#10#13#10'// <%%'
|
|
+'% END ARRAYS %%%>'#13#10'// <%%% START STRUCTS %%%>'#13#10'{ %STRUCT_NAME% '
|
|
+'}'#13#10'// <%%% START IF_STRUCT_HAS_ATTRIBUTES %%%>'#13#10'class function '
|
|
+'%STRUCT_NAME%.GetAttributeCount: Integer;'#13#10'begin'#13#10' Result := %'
|
|
+'ATTRIBUTES_COUNT%;'#13#10'end;'#13#10#13#10'class function %STRUCT_NAME%.Ge'
|
|
+'tAttributeName(aIndex: Integer): string;'#10'begin'#10' case aIndex of'#10
|
|
+'// <%%% START ATTRIBUTES_NO_STRIP %%%>'#10' %ATTRIBUTE_INDEX%: Result :='
|
|
+' %ATTRIBUTE_NAME%;'#10'// <%%% END ATTRIBUTES_NO_STRIP %%%>'#10' end;'#10
|
|
+'end;'#10#10'class function %STRUCT_NAME%.GetAttributeValue(aIndex: Integer)'
|
|
+': string;'#10'begin'#10' case aIndex of'#10'// <%%% START ATTRIBUTES_NO_ST'
|
|
+'RIP %%%>'#10' %ATTRIBUTE_INDEX%: Result := %ATTRIBUTE_VALUE%;'#10'// <%%'
|
|
+'% END ATTRIBUTES_NO_STRIP %%%>'#10' end;'#10'end;'#10'// <%%% END IF_STRUC'
|
|
+'T_HAS_ATTRIBUTES %%%>'#13#10#13#10'procedure %STRUCT_NAME%.Assign(iSource: '
|
|
+'TPersistent);'#13#10'// <%%% START IF_HAS_FIELDS %%%>'#13#10'var'#13#10' l'
|
|
+'Source: %STRUCT_NAME%;'#13#10'// <%%% END IF_HAS_FIELDS %%%>'#13#10'begin'
|
|
+#13#10' inherited Assign(iSource);'#13#10' // <%%% START IF_HAS_FIELDS %%%'
|
|
+'>'#13#10' if (iSource is %STRUCT_NAME%) then begin'#13#10' lSource := %'
|
|
+'STRUCT_NAME%(iSource);'#13#10#13#10' // <%%% END IF_HAS_FIELDS %%%>'#13#10
|
|
+' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TY'
|
|
+'PE_SIMPLE %%%>'#13#10' %FIELD_NAME% := lSource.%FIELD_NAME%;'#13#10' '
|
|
+'// <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_TYP'
|
|
+'E_COMPLEX %%%>'#13#10' // <%%% START IF_NOT_AUTO_CREATE_FIELDS %%%>'#13
|
|
+#10' if Assigned(f%FIELD_NAME%) then begin'#13#10' if Assigned(lSour'
|
|
+'ce.%FIELD_NAME%) then'#13#10' %FIELD_NAME%.Assign(lSource.%FIELD_NAM'
|
|
+'E%)'#13#10' else'#13#10' FreeAndNil(f%FIELD_NAME%);'#13#10' '
|
|
+'end;'#13#10' // <%%% END IF_NOT_AUTO_CREATE_FIELDS %%%>'#13#10' // <%'
|
|
+'%% START IF_AUTO_CREATE_FIELDS %%%>'#13#10' %FIELD_NAME%.Assign(lSource.'
|
|
+'%FIELD_NAME%);'#13#10' // <%%% END IF_AUTO_CREATE_FIELDS %%%>'#13#10' '
|
|
+' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% END FIELDS_NO_ST'
|
|
+'RIP %%%>'#13#10' // <%%% START IF_HAS_FIELDS %%%>'#13#10' end;'#13#10' /'
|
|
+'/ <%%% END IF_HAS_FIELDS %%%>'#13#10'end;'#13#10#13#10'// <%%% START STRUCT'
|
|
+'_GENERATE_DEFAULT_VALUES %%%>'#13#10'constructor %STRUCT_NAME%.Create(aColl'
|
|
+'ection : TCollection);'#13#10'begin'#13#10' inherited Create(aCollection);'
|
|
+#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_'
|
|
+'HAS_DEFAULT_VALUE %%%>'#13#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13
|
|
+#10' f%FIELD_NAME% := %DEFAULT_VALUE%;'#13#10' // <%%% END IF_FIELD_BOOLEA'
|
|
+'N_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' f%F'
|
|
+'IELD_NAME% := %DEFAULT_VALUE%;'#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE '
|
|
+'%%%>'#13#10' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' f%FIELD_NA'
|
|
+'ME% := StrToDateTimeDef(''%DEFAULT_VALUE%'',0);'#13#10' // <%%% END IF_FIE'
|
|
+'LD_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13
|
|
+#10' f%FIELD_NAME% := %DEFAULT_VALUE%;'#13#10' // <%%% END IF_FIELD_DECIMA'
|
|
+'L_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' f%FIE'
|
|
+'LD_NAME% := %DEFAULT_VALUE%;'#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' f%FIELD_NAME% := ''%'
|
|
+'DEFAULT_VALUE%'';'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_FIELD_INT64_TYPE %%%>'#13#10' f%FIELD_NAME% := %DEFAULT_VALU'
|
|
,'E%;'#13#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% START IF'
|
|
+'_FIELD_INTEGER_TYPE %%%>'#13#10' f%FIELD_NAME% := %DEFAULT_VALUE%;'#13#10
|
|
+' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START IF_FIELD_AN'
|
|
+'SISTRING_TYPE %%%>'#13#10' f%FIELD_NAME% := ''%DEFAULT_VALUE%'';'#13#10' '
|
|
+'// <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_U'
|
|
+'TF8STRING_TYPE %%%>'#13#10' f%FIELD_NAME% := ''%DEFAULT_VALUE%'';'#13#10' '
|
|
+' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_'
|
|
+'VARIANT_TYPE %%%>'#13#10' f%FIELD_NAME% := ''%DEFAULT_VALUE%'';'#13#10' /'
|
|
+'/ <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDES'
|
|
+'TRING_TYPE %%%>'#13#10' f%FIELD_NAME% := ''%DEFAULT_VALUE%'';'#13#10' // '
|
|
+'<%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' // <%%% END IF_FIELD_HAS_DE'
|
|
+'FAULT_VALUE %%%>'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10'end;'#13
|
|
+#10'// <%%% END STRUCT_GENERATE_DEFAULT_VALUES %%%>'#13#10#13#10'destructor '
|
|
+'%STRUCT_NAME%.Destroy;'#13#10'begin'#13#10' FDestroying := True;'#13#10' '
|
|
+'try'#13#10' inherited Destroy;'#13#10' finally'#13#10' FDestroying :'
|
|
+'= False;'#13#10' end;'#13#10'end;'#13#10#13#10'// <%%% START FIELDS_NO_STR'
|
|
+'IP %%%>'#13#10'// <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10'function %ST'
|
|
+'RUCT_NAME%.Get%FIELD_NAME%: %FIELD_TYPE%;'#13#10'begin'#13#10' // <%%% STA'
|
|
+'RT IF_AUTO_CREATE_FIELDS %%%>'#13#10' if not Assigned(f%FIELD_NAME%) and n'
|
|
+'ot FDestroying then'#13#10' f%FIELD_NAME% := %FIELD_TYPE%.Create();'#13
|
|
+#10' // <%%% END IF_AUTO_CREATE_FIELDS %%%>'#13#10' Result := f%FIELD_NAME'
|
|
+'%;'#13#10'end;'#13#10'// <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10'// <%%%'
|
|
+' END FIELDS_NO_STRIP %%%>'#13#10#13#10'// <%%% START IF_HAS_FIELDS %%%>'#13
|
|
+#10'procedure %STRUCT_NAME%.ReadComplex(ASerializer: TObject);'#13#10'var'#13
|
|
+#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' l_%FIELD_NAME%: %F'
|
|
+'IELD_TYPE%;'#13#10' // <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#13#10'begin'
|
|
+#13#10' if TROSerializer(ASerializer).RecordStrictOrder then begin'#13#10' '
|
|
+' // <%%% START IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' inherited;'#13#10' '
|
|
+' // <%%% END IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' // <%%% START FIELDS_'
|
|
+'NO_STRIP %%%>'#13#10' l_%FIELD_NAME% := %FIELD_NAME%;'#13#10' // <%%%'
|
|
+' START IF_FIELD_BINARY_TYPE %%%>'#13#10' TROSerializer(ASerializer).Read'
|
|
+'Binary(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' if %FIELD_NAME'
|
|
+'% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' // <%%% END IF_FIELD'
|
|
+'_BINARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadEnumerated(''%FIELD_ORIGINALNAME%'', Typ'
|
|
+'eInfo(boolean), l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN_TY'
|
|
+'PE %%%>'#13#10' // <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' TRO'
|
|
+'Serializer(ASerializer).ReadDouble(''%FIELD_ORIGINALNAME%'', ftCurr, l_%FIE'
|
|
+'LD_NAME%);'#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' //'
|
|
+' <%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' TROSerializer(ASerialize'
|
|
+'r).ReadDateTime(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%'
|
|
+'%% END IF_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMA'
|
|
+'L_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadDecimal(''%FIELD_ORIG'
|
|
+'INALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE '
|
|
+'%%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' TROSeria'
|
|
+'lizer(ASerializer).ReadDouble(''%FIELD_ORIGINALNAME%'', ftDouble, l_%FIELD_'
|
|
+'NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' // <%%%'
|
|
+' START IF_FIELD_GUID_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadGu'
|
|
+'id(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIE'
|
|
+'LD_GUID_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INT64_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadInt64(''%FIELD_ORIGINALNAME%'', l_%FIELD'
|
|
+'_NAME%);'#13#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%%'
|
|
+' START IF_FIELD_INTEGER_TYPE %%%>'#13#10' TROSerializer(ASerializer).Rea'
|
|
+'dInteger(''%FIELD_ORIGINALNAME%'', otSLong, l_%FIELD_NAME%);'#13#10' // '
|
|
+'<%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ANSIS'
|
|
+'TRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadAnsiString(''%FIE'
|
|
+'LD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSIST'
|
|
+'RING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadUTF8String(''%FIELD_ORIGINALNAME%'', l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_VARIANT_TYPE %%%>'#13#10' TROSerializer(ASeria'
|
|
+'lizer).ReadVariant(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' //'
|
|
+' <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDE'
|
|
+'STRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadWideString(''%FI'
|
|
,'ELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_WIDES'
|
|
+'TRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10' '
|
|
+'TROSerializer(ASerializer).ReadXml(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%'
|
|
+');'#13#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_ARRAY_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadArray(''%'
|
|
+'FIELD_ORIGINALNAME%'', %FIELD_TYPE%, l_%FIELD_NAME%);'#13#10' if %FIELD_'
|
|
+'NAME% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' // <%%% END IF_F'
|
|
+'IELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadEnumerated(''%FIELD_ORIGINALNAME%'', Typ'
|
|
+'eInfo(%FIELD_TYPE%), l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ENUM_'
|
|
+'TYPE %%%>'#13#10' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10' TRO'
|
|
+'Serializer(ASerializer).ReadStruct(''%FIELD_ORIGINALNAME%'', %FIELD_TYPE%, '
|
|
+'l_%FIELD_NAME%);'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% then %FIELD_N'
|
|
+'AME%.Free;'#13#10' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' // <'
|
|
+'%%% START IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' TROSerializer(ASerialize'
|
|
+'r).ReadStruct(''%FIELD_ORIGINALNAME%'', %FIELD_TYPE%, l_%FIELD_NAME%);'#13
|
|
+#10' if %FIELD_NAME% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' '
|
|
+' // <%%% END IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' %FIELD_NAME% := l_%FI'
|
|
+'ELD_NAME%;'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' end'#13#10
|
|
+' else begin'#13#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' '
|
|
+' l_%FIELD_NAME% := %FIELD_NAME%;'#13#10' // <%%% START IF_FIELD_BINARY'
|
|
+'_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadBinary(''%FIELD_ORIGIN'
|
|
+'ALNAME%'', l_%FIELD_NAME%);'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% th'
|
|
+'en %FIELD_NAME%.Free;'#13#10' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' TROSerializer(AS'
|
|
+'erializer).ReadEnumerated(''%FIELD_ORIGINALNAME%'', TypeInfo(boolean), l_%F'
|
|
+'IELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' /'
|
|
+'/ <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' TROSerializer(ASerializ'
|
|
+'er).ReadDouble(''%FIELD_ORIGINALNAME%'', ftCurr, l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_FIELD'
|
|
+'_DATETIME_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadDateTime(''%F'
|
|
+'IELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DATE'
|
|
+'TIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13#10' '
|
|
+' TROSerializer(ASerializer).ReadDecimal(''%FIELD_ORIGINALNAME%'', l_%FIEL'
|
|
+'D_NAME%);'#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <'
|
|
+'%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' TROSerializer(ASerializer).R'
|
|
+'eadDouble(''%FIELD_ORIGINALNAME%'', ftDouble, l_%FIELD_NAME%);'#13#10' /'
|
|
+'/ <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_FIELD_GUID'
|
|
+'_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadGuid(''%FIELD_ORIGINAL'
|
|
+'NAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_INT64_TYPE %%%>'#13#10' TROSerializer(ASer'
|
|
+'ializer).ReadInt64(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' //'
|
|
+' <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INTEGE'
|
|
+'R_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadInteger(''%FIELD_ORIG'
|
|
+'INALNAME%'', otSLong, l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTE'
|
|
+'GER_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).ReadAnsiString(''%FIELD_ORIGINALNAME%'', l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' TROSerializer(ASe'
|
|
+'rializer).ReadUTF8String(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_F'
|
|
+'IELD_VARIANT_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadVariant('''
|
|
+'%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_VA'
|
|
+'RIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTRING_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).ReadWideString(''%FIELD_ORIGINALNAME%'', '
|
|
+'l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10' TROSerializer(ASerializ'
|
|
+'er).ReadXml(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% E'
|
|
+'ND IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ARRAY_TYPE %%%>'
|
|
+#13#10' TROSerializer(ASerializer).ReadArray(''%FIELD_ORIGINALNAME%'', %F'
|
|
+'IELD_TYPE%, l_%FIELD_NAME%);'#13#10' if %FIELD_NAME% <> l_%FIELD_NAME% t'
|
|
+'hen %FIELD_NAME%.Free;'#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10' TROSerializer(ASeri'
|
|
+'alizer).ReadEnumerated(''%FIELD_ORIGINALNAME%'', TypeInfo(%FIELD_TYPE%), l_'
|
|
,'%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' //'
|
|
+' <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10' TROSerializer(ASerializer)'
|
|
+'.ReadStruct(''%FIELD_ORIGINALNAME%'', %FIELD_TYPE%, l_%FIELD_NAME%);'#13#10
|
|
+' if %FIELD_NAME% <> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' //'
|
|
+' <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XSDAT'
|
|
+'ETIME_TYPE %%%>'#13#10' TROSerializer(ASerializer).ReadStruct(''%FIELD_O'
|
|
+'RIGINALNAME%'', %FIELD_TYPE%, l_%FIELD_NAME%);'#13#10' if %FIELD_NAME% <'
|
|
+'> l_%FIELD_NAME% then %FIELD_NAME%.Free;'#13#10' // <%%% END IF_FIELD_XS'
|
|
+'DATETIME_TYPE %%%>'#13#10' %FIELD_NAME% := l_%FIELD_NAME%;'#13#10' //'
|
|
+' <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' end;'#13#10'end;'#13#10#13
|
|
+#10'procedure %STRUCT_NAME%.WriteComplex(ASerializer: TObject);'#13#10'var'
|
|
+#13#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' l_%FIELD_NAME%:'
|
|
+' %FIELD_TYPE%;'#13#10' // <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#13#10'beg'
|
|
+'in'#13#10' if TROSerializer(ASerializer).RecordStrictOrder then begin'#13
|
|
+#10' // <%%% START IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' inherited;'#13
|
|
+#10' // <%%% END IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' TROSerializer(ASe'
|
|
+'rializer).ChangeClass(%STRUCT_NAME%);'#13#10' // <%%% START FIELDS_NO_ST'
|
|
+'RIP %%%>'#13#10' l_%FIELD_NAME% := %FIELD_NAME%;'#13#10' // <%%% STAR'
|
|
+'T IF_FIELD_BINARY_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteBina'
|
|
+'ry(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIE'
|
|
+'LD_BINARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).WriteEnumerated(''%FIELD_ORIGINALNAME%'','
|
|
+' TypeInfo(boolean), l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEA'
|
|
+'N_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' '
|
|
+' TROSerializer(ASerializer).WriteDouble(''%FIELD_ORIGINALNAME%'', ftCurr, l'
|
|
+'_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' TROSerializer(ASeri'
|
|
+'alizer).WriteDateTime(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD_'
|
|
+'DECIMAL_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteDecimal(''%FIE'
|
|
+'LD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DECIMA'
|
|
+'L_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' T'
|
|
+'ROSerializer(ASerializer).WriteDouble(''%FIELD_ORIGINALNAME%'', ftDouble, l'
|
|
+'_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' TROSerializer(ASerializer'
|
|
+').WriteGuid(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% E'
|
|
+'ND IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INT64_TYPE %%%'
|
|
+'>'#13#10' TROSerializer(ASerializer).WriteInt64(''%FIELD_ORIGINALNAME%'''
|
|
+', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13#10' TROSerializer(ASeria'
|
|
+'lizer).WriteInteger(''%FIELD_ORIGINALNAME%'', otSLong, l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START IF_F'
|
|
+'IELD_ANSISTRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteAnsiSt'
|
|
+'ring(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_F'
|
|
+'IELD_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_UTF8STRING_TYPE'
|
|
+' %%%>'#13#10' TROSerializer(ASerializer).WriteUTF8String(''%FIELD_ORIGIN'
|
|
+'ALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE'
|
|
+' %%%>'#13#10' // <%%% START IF_FIELD_VARIANT_TYPE %%%>'#13#10' TROSer'
|
|
+'ializer(ASerializer).WriteVariant(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%)'
|
|
+';'#13#10' // <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% STAR'
|
|
+'T IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' TROSerializer(ASerializer).Write'
|
|
+'WideString(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% EN'
|
|
+'D IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE '
|
|
+'%%%>'#13#10' TROSerializer(ASerializer).WriteXml(''%FIELD_ORIGINALNAME%'
|
|
+''', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_ARRAY_TYPE %%%>'#13#10' TROSerializer(ASeriali'
|
|
+'zer).WriteArray(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%, %FIELD_TYPE%);'#13
|
|
+#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_FIE'
|
|
+'LD_ENUM_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteEnumerated(''%'
|
|
+'FIELD_ORIGINALNAME%'', TypeInfo(%FIELD_TYPE%), l_%FIELD_NAME%);'#13#10' '
|
|
+'// <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIELD_STRUC'
|
|
+'T_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteStruct(''%FIELD_ORIG'
|
|
+'INALNAME%'', l_%FIELD_NAME%, %FIELD_TYPE%);'#13#10' // <%%% END IF_FIELD'
|
|
+'_STRUCT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XSDATETIME_TYPE %%%>'#13
|
|
,#10' TROSerializer(ASerializer).WriteStruct(''%FIELD_ORIGINALNAME%'', l_%'
|
|
+'FIELD_NAME%, %FIELD_TYPE%);'#13#10' // <%%% END IF_FIELD_XSDATETIME_TYPE'
|
|
+' %%%>'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' end'#13#10' els'
|
|
+'e begin'#13#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' l_'
|
|
+'%FIELD_NAME% := %FIELD_NAME%;'#13#10' // <%%% START IF_FIELD_BINARY_TYPE'
|
|
+' %%%>'#13#10' TROSerializer(ASerializer).WriteBinary(''%FIELD_ORIGINALNA'
|
|
+'ME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' TROSerializer(AS'
|
|
+'erializer).WriteEnumerated(''%FIELD_ORIGINALNAME%'', TypeInfo(boolean), l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' '
|
|
+'// <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' TROSerializer(ASeriali'
|
|
+'zer).WriteDouble(''%FIELD_ORIGINALNAME%'', ftCurr, l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_FIE'
|
|
+'LD_DATETIME_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteDateTime('
|
|
+'''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_'
|
|
+'DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13
|
|
+#10' TROSerializer(ASerializer).WriteDecimal(''%FIELD_ORIGINALNAME%'', l_'
|
|
+'%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' TROSerializer(ASerializ'
|
|
+'er).WriteDouble(''%FIELD_ORIGINALNAME%'', ftDouble, l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_FIELD'
|
|
+'_GUID_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteGuid(''%FIELD_OR'
|
|
+'IGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_GUID_TYPE %'
|
|
+'%%>'#13#10' // <%%% START IF_FIELD_INT64_TYPE %%%>'#13#10' TROSeriali'
|
|
+'zer(ASerializer).WriteInt64(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIE'
|
|
+'LD_INTEGER_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteInteger(''%'
|
|
+'FIELD_ORIGINALNAME%'', otSLong, l_%FIELD_NAME%);'#13#10' // <%%% END IF_'
|
|
+'FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %'
|
|
+'%%>'#13#10' TROSerializer(ASerializer).WriteAnsiString(''%FIELD_ORIGINAL'
|
|
+'NAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %'
|
|
+'%%>'#13#10' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' TROSe'
|
|
+'rializer(ASerializer).WriteUTF8String(''%FIELD_ORIGINALNAME%'', l_%FIELD_NA'
|
|
+'ME%);'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%'
|
|
+'%% START IF_FIELD_VARIANT_TYPE %%%>'#13#10' TROSerializer(ASerializer).W'
|
|
+'riteVariant(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% E'
|
|
+'ND IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTRING_'
|
|
+'TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteWideString(''%FIELD_OR'
|
|
+'IGINALNAME%'', l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_WIDESTRING_'
|
|
+'TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10' TROSer'
|
|
+'ializer(ASerializer).WriteXml(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% START IF_FIELD'
|
|
+'_ARRAY_TYPE %%%>'#13#10' TROSerializer(ASerializer).WriteArray(''%FIELD_'
|
|
+'ORIGINALNAME%'', l_%FIELD_NAME%, %FIELD_TYPE%);'#13#10' // <%%% END IF_F'
|
|
+'IELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10
|
|
+' TROSerializer(ASerializer).WriteEnumerated(''%FIELD_ORIGINALNAME%'', Ty'
|
|
+'peInfo(%FIELD_TYPE%), l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ENUM'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10' TR'
|
|
+'OSerializer(ASerializer).WriteStruct(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAM'
|
|
+'E%, %FIELD_TYPE%);'#13#10' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' TROSerializer(AS'
|
|
+'erializer).WriteStruct(''%FIELD_ORIGINALNAME%'', l_%FIELD_NAME%, %FIELD_TYP'
|
|
+'E%);'#13#10' // <%%% END IF_FIELD_XSDATETIME_TYPE %%%>'#13#10' // <%%'
|
|
+'% END ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' end;'#13#10'end;'#13#10#13#10'/'
|
|
+'/ <%%% END IF_HAS_FIELDS %%%>'#13#10'{ %STRUCT_COLLECTION_NAME% }'#13#10'co'
|
|
+'nstructor %STRUCT_COLLECTION_NAME%.Create;'#13#10'begin'#13#10' inherited '
|
|
+'Create(%STRUCT_NAME%);'#13#10'end;'#13#10#13#10'constructor %STRUCT_COLLECT'
|
|
+'ION_NAME%.Create(aItemClass: TCollectionItemClass);'#13#10'begin'#13#10' i'
|
|
+'nherited Create(aItemClass);'#13#10'end;'#13#10#13#10'function %STRUCT_COLL'
|
|
+'ECTION_NAME%.Add: %STRUCT_NAME%;'#13#10'begin'#13#10' result := %STRUCT_NA'
|
|
+'ME%(inherited Add);'#13#10'end;'#13#10#13#10'function %STRUCT_COLLECTION_NA'
|
|
+'ME%.GetItems(aIndex: integer): %STRUCT_NAME%;'#13#10'begin'#13#10' result '
|
|
+':= %STRUCT_NAME%(inherited Items[aIndex]);'#13#10'end;'#13#10#13#10'// <%%%'
|
|
+' START ARRAYS_IS_FOUND %%%>'#13#10'procedure %STRUCT_COLLECTION_NAME%.LoadF'
|
|
,'romArray(anArray: %ARRAY_NAME%);'#13#10'var'#13#10' i : integer;'#13#10'be'
|
|
+'gin'#13#10' Clear;'#13#10' for i := 0 to (anArray.Count-1) do'#13#10' '
|
|
+'Add.Assign(anArray[i]);'#13#10'end;'#13#10#13#10'procedure %STRUCT_COLLECTI'
|
|
+'ON_NAME%.SaveToArray(anArray: %ARRAY_NAME%);'#13#10'var'#13#10' i : intege'
|
|
+'r;'#13#10'begin'#13#10' anArray.Clear;'#13#10' anArray.Resize(Count);'#13
|
|
+#10' for i := 0 to (Count-1) do begin'#13#10' anArray[i] := %STRUCT_NAME'
|
|
+'%.Create;'#13#10' anArray[i].Assign(Items[i]);'#13#10' end;'#13#10'end;'
|
|
+#13#10#13#10'// <%%% END ARRAYS_IS_FOUND %%%>'#13#10#13#10'procedure %STRUCT'
|
|
+'_COLLECTION_NAME%.SetItems(aIndex: integer; const Value: %STRUCT_NAME%);'#13
|
|
+#10'begin'#13#10' %STRUCT_NAME%(inherited Items[aIndex]).Assign(Value);'#13
|
|
+#10'end;'#13#10#13#10'// <%%% END STRUCTS %%%>'#13#10'// <%%% START SERVICES'
|
|
+' %%%>'#13#10'{ Co%SERVICE_NAME% }'#13#10#13#10'class function Co%SERVICE_NA'
|
|
+'ME%.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChann'
|
|
+'el): I%SERVICE_NAME%;'#13#10'begin'#13#10' result := T%SERVICE_NAME%_Proxy'
|
|
+'.Create(aMessage, aTransportChannel);'#13#10'end;'#13#10#13#10'{ T%SERVICE_'
|
|
+'NAME%_Proxy }'#13#10#13#10'function T%SERVICE_NAME%_Proxy.__GetInterfaceNam'
|
|
+'e:string;'#13#10'begin'#13#10' result := ''%SERVICE_NAME%'';'#13#10'end;'
|
|
+#13#10#13#10'// <%%% START FUNCTION_OPERATIONS %%%>'#13#10'function T%SERVIC'
|
|
+'E_NAME%_Proxy.%OPERATION_NAME%('#13#10' // <%%% START PARAMS %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10
|
|
+' // <%%% END PARAMS %%%>'#13#10' ): %OPERATION_RESULT%;'
|
|
+#13#10'begin'#13#10' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%'
|
|
+'% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_NAME% := nil;'#13#10' /'
|
|
+'/ <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END OUT_PARAMS_NO_ST'
|
|
+'RIP %%%>'#13#10' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' Result := n'
|
|
+'il;'#13#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10' try'#13#10' __M'
|
|
+'essage.InitializeRequestMessage(__TransportChannel, ''%LIBRARY_NAME%'', __I'
|
|
+'nterfaceName, ''%OPERATION_NAME%'');'#13#10' // <%%% START IN_PARAMS_NO_'
|
|
+'STRIP %%%>'#13#10' __Message.Write(''%PARAM_NAME%'', TypeInfo(%PARAM_TYP'
|
|
+'E%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END IN_PARAMS_N'
|
|
+'O_STRIP %%%>'#13#10' __Message.Finalize;'#13#10#13#10' __TransportCha'
|
|
+'nnel.Dispatch(__Message);'#13#10#13#10' __Message.Read(''Result'', TypeI'
|
|
+'nfo(%OPERATION_RESULT%), result, [%OPERATION_RESULT_ATTRIBUTE%]);'#13#10' '
|
|
+' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' __Message.Read(''%PARAM'
|
|
+'_NAME%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10
|
|
+' // <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10' finally'#13#10' __Mess'
|
|
+'age.FreeStream;'#13#10' end'#13#10'end;'#13#10#13#10'// <%%% END FUNCTION_'
|
|
+'OPERATIONS %%%>'#13#10'// <%%% START PROCEDURE_OPERATIONS %%%>'#13#10'proce'
|
|
+'dure T%SERVICE_NAME%_Proxy.%OPERATION_NAME%('#13#10' // <%%% STAR'
|
|
+'T PARAMS %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM'
|
|
+'_TYPE%;'#13#10' // <%%% END PARAMS %%%>'#13#10' );'#13
|
|
+#10'begin'#13#10' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%% S'
|
|
+'TART IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_NAME% := nil;'#13#10' // <'
|
|
+'%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END OUT_PARAMS_NO_STRIP'
|
|
+' %%%>'#13#10' try'#13#10' __Message.InitializeRequestMessage(__Transpor'
|
|
+'tChannel, ''%LIBRARY_NAME%'', __InterfaceName, ''%OPERATION_NAME%'');'#13#10
|
|
+' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10' __Message.Write(''%PAR'
|
|
+'AM_NAME%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13
|
|
+#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10' __Message.Finalize;'
|
|
+#13#10#13#10' __TransportChannel.Dispatch(__Message);'#13#10#13#10' //'
|
|
+' <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' __Message.Read(''%PARAM_NAM'
|
|
+'E%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10' '
|
|
+' // <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10' finally'#13#10' __Messag'
|
|
+'e.FreeStream;'#13#10' end'#13#10'end;'#13#10#13#10'// <%%% END PROCEDURE_O'
|
|
+'PERATIONS %%%>'#13#10'// <%%% END SERVICES %%%>'#13#10'// <%%% START EVENT_'
|
|
+'SINKS %%%>'#13#10'type'#13#10' { T%EVENT_SINK_NAME%_Writer }'#13#10' T%EV'
|
|
+'ENT_SINK_NAME%_Writer = class(T%EVENT_SINK_WRITER_ANCESTOR_NAME%, I%EVENT_S'
|
|
+'INK_NAME%_Writer)'#13#10' protected'#13#10' // <%%% START OPERATIONS %%'
|
|
+'%>'#13#10' procedure %OPERATION_NAME%(const __Sender : TGUID'#13#10' '
|
|
+' // <%%% START PARAMS %%%>'#13#10' ; %PARAM_FRONT'
|
|
+'_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%'#13#10' // <%%% END PA'
|
|
+'RAMS %%%>'#13#10' );'#13#10' // <%%% END OPERATIONS %%%>'
|
|
+#13#10' end;'#13#10#13#10'// <%%% START OPERATIONS %%%>'#13#10'procedure T%'
|
|
+'EVENT_SINK_NAME%_Writer.%OPERATION_NAME%(const __Sender : TGUID'#13#10' //'
|
|
,' <%%% START PARAMS %%%>'#13#10' ; %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PA'
|
|
+'RAM_TYPE%'#13#10' // <%%% END PARAMS %%%>'#13#10' );'#13#10'var __eventda'
|
|
+'ta : Binary;'#13#10'begin'#13#10' __eventdata := Binary.Create;'#13#10' t'
|
|
+'ry'#13#10' __Message.InitializeEventMessage(NIL, ''%LIBRARY_NAME%'', EID'
|
|
+'_%EVENT_SINK_NAME%, ''%OPERATION_NAME%'');'#13#10' // <%%% START PARAMS_'
|
|
+'NO_STRIP %%%>'#13#10' __Message.Write(''%PARAM_NAME%'', TypeInfo(%PARAM_'
|
|
+'TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END PARAMS_N'
|
|
+'O_STRIP %%%>'#13#10' __Message.Finalize;'#13#10#13#10' __Message.Writ'
|
|
+'eToStream(__eventdata);'#13#10#13#10' Repository.StoreEventData(__Sender'
|
|
+', __eventdata, ExcludeSender, ExcludeSessionList, SessionList.CommaText);'
|
|
+#13#10' finally'#13#10' __eventdata.Free;'#13#10' end;'#13#10'end;'#13
|
|
+#10#13#10'// <%%% END OPERATIONS %%%>'#13#10'type'#13#10' { T%EVENT_SINK_NA'
|
|
+'ME%_Invoker }'#13#10' T%EVENT_SINK_NAME%_Invoker = class(T%EVENT_SINK_INVO'
|
|
+'KER_ANCESTOR_NAME%)'#13#10' published'#13#10' // <%%% START OPERATIONS '
|
|
+'%%%>'#13#10' procedure Invoke_%OPERATION_NAME%(__EventReceiver : TROEven'
|
|
+'tReceiver; const __Message : IROMessage; const __Target : IUnknown);'#13#10
|
|
+' // <%%% END OPERATIONS %%%>'#13#10' end;'#13#10#13#10'// <%%% START OP'
|
|
+'ERATIONS %%%>'#13#10'procedure T%EVENT_SINK_NAME%_Invoker.Invoke_%OPERATION'
|
|
+'_NAME%(__EventReceiver : TROEventReceiver; const __Message : IROMessage; co'
|
|
+'nst __Target : IUnknown);'#13#10'var'#13#10' // <%%% START PARAMS_NO_STRIP'
|
|
+' %%%>'#13#10' %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% END PARAMS_NO_S'
|
|
+'TRIP %%%>'#13#10' // <%%% START IF_HAS_COMPLEX_TYPE %%%>'#13#10' __lObjec'
|
|
+'tDisposer: TROObjectDisposer;'#13#10' // <%%% END IF_HAS_COMPLEX_TYPE %%%>'
|
|
+#13#10' __%EVENT_SINK_NAME%Instance: I%EVENT_SINK_NAME%;'#13#10'begin'#13#10
|
|
+' // <%%% START PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_C'
|
|
+'OMPLEX %%%>'#13#10' %PARAM_NAME% := nil;'#13#10' // <%%% END IF_PARAM_TYP'
|
|
+'E_COMPLEX %%%>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' try'#13#10
|
|
+' // <%%% START PARAMS_NO_STRIP %%%>'#13#10' __Message.Read(''%PARAM_N'
|
|
+'AME%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10
|
|
+' // <%%% END PARAMS_NO_STRIP %%%>'#13#10#13#10' __%EVENT_SINK_NAME%In'
|
|
+'stance := (__Target as I%EVENT_SINK_NAME%);'#13#10' __%EVENT_SINK_NAME%I'
|
|
+'nstance.%OPERATION_NAME%('#13#10' // <%%% '
|
|
+'START PARAMS %%%>'#13#10' %PARAM_NAME%,'#13
|
|
+#10' // <%%% END PARAMS %%%>'#13#10' '
|
|
+' );'#13#10#13#10' finally'#13#10' // <%%% STA'
|
|
+'RT IF_HAS_COMPLEX_TYPE %%%>'#13#10' __lObjectDisposer := TROObjectDispos'
|
|
+'er.Create(__EventReceiver);'#13#10' try'#13#10' // <%%% START PARAM'
|
|
+'S_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10
|
|
+' __lObjectDisposer.Add(%PARAM_NAME%);'#13#10' // <%%% END IF_PARA'
|
|
+'M_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' '
|
|
+' finally'#13#10' __lObjectDisposer.Free();'#13#10' end;'#13#10' '
|
|
+' // <%%% END IF_HAS_COMPLEX_TYPE %%%>'#13#10' end'#13#10'end;'#13#10#13#10
|
|
+'// <%%% END OPERATIONS %%%>'#13#10'// <%%% END EVENT_SINKS %%%>'#13#10'init'
|
|
+'ialization'#13#10' // <%%% START STRUCTS %%%>'#13#10' RegisterROClass(%ST'
|
|
+'RUCT_NAME%);'#13#10' // <%%% END STRUCTS %%%>'#13#10' // <%%% START ARRAY'
|
|
+'S %%%>'#13#10' RegisterROClass(%ARRAY_NAME%);'#13#10' // <%%% END ARRAYS '
|
|
+'%%%>'#13#10' // <%%% START EXCEPTIONS %%%>'#13#10' RegisterExceptionClass'
|
|
+'(%EXCEPTION_NAME%);'#13#10' // <%%% END EXCEPTIONS %%%>'#13#10' // <%%% S'
|
|
+'TART SERVICES %%%>'#13#10' RegisterProxyClass(I%SERVICE_NAME%_IID, T%SERVI'
|
|
+'CE_NAME%_Proxy);'#13#10' // <%%% END SERVICES %%%> '#13#10' // <%%% S'
|
|
+'TART EVENT_SINKS %%%>'#13#10' RegisterEventWriterClass(I%EVENT_SINK_NAME%_'
|
|
+'Writer, T%EVENT_SINK_NAME%_Writer);'#13#10' RegisterEventInvokerClass(EID_'
|
|
+'%EVENT_SINK_NAME%, T%EVENT_SINK_NAME%_Invoker);'#13#10' // <%%% END EVENT_'
|
|
+'SINKS %%%> '#13#10#13#10'finalization'#13#10' // <%%% START STRUCTS %%'
|
|
+'%>'#13#10' UnregisterROClass(%STRUCT_NAME%);'#13#10' // <%%% END STRUCTS '
|
|
+'%%%>'#13#10' // <%%% START ARRAYS %%%>'#13#10' UnregisterROClass(%ARRAY_N'
|
|
+'AME%);'#13#10' // <%%% END ARRAYS %%%>'#13#10' // <%%% START EXCEPTIONS %'
|
|
+'%%>'#13#10' UnregisterExceptionClass(%EXCEPTION_NAME%);'#13#10' // <%%% E'
|
|
+'ND EXCEPTIONS %%%>'#13#10' // <%%% START SERVICES %%%>'#13#10' Unregister'
|
|
+'ProxyClass(I%SERVICE_NAME%_IID);'#13#10' // <%%% END SERVICES %%%>'#13#10
|
|
+' // <%%% START EVENT_SINKS %%%>'#13#10' UnregisterEventWriterClass(I%EVEN'
|
|
+'T_SINK_NAME%_Writer);'#13#10' UnregisterEventInvokerClass(EID_%EVENT_SINK_'
|
|
+'NAME%);'#13#10' // <%%% END EVENT_SINKS %%%> '#13#10#13#10'end.'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_INVK_PAS','RCDATA',[
|
|
'unit %UNIT_NAME%;'#13#10#13#10'{--------------------------------------------'
|
|
+'--------------------------------}'#13#10'{ This unit was automatically gene'
|
|
+'rated by the RemObjects SDK after reading }'#13#10'{ the RODL file associa'
|
|
+'ted with this project . }'#13#10'{ '
|
|
+' }'#13#10'{'
|
|
+' Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{-----------------------------------------------------'
|
|
+'-----------------------}'#13#10#13#10'{$I RemObjects.inc}'#13#10#13#10'inte'
|
|
+'rface'#13#10#13#10'uses'#13#10' {vcl:} Classes,'#13#10' {RemObjects:} uRO'
|
|
+'XMLIntf, uROServer, uROServerIntf, uROTypes, uROClientIntf,'#13#10' // <%%'
|
|
+'% START REQUIRED_UNITS %%%>'#13#10' {Required:} %REQUIRED_UNIT_NAME%,'#13
|
|
+#10' // <%%% END REQUIRED_UNITS %%%>'#13#10' {Generated:} %LIBRARY_NAME%_I'
|
|
+'ntf;'#13#10#13#10'type'#13#10' TSeekOrigin = Classes.TSeekOrigin; // fake '
|
|
+'declaration'#13#10#13#10' // <%%% START SERVICES %%%>'#13#10' T%SERVICE_N'
|
|
+'AME%_Invoker = class(T%SERVICE_INVOKER_ANCESTOR_NAME%)'#13#10' private'#13
|
|
+#10' protected'#13#10' constructor Create; override;'#13#10' published'
|
|
+#13#10' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10' procedure Invok'
|
|
+'e_%OPERATION_NAME%(const __Instance:IInterface; const __Message:IROMessage;'
|
|
+' const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions)'
|
|
+';'#13#10' // <%%% END FUNCTION_OPERATIONS %%%>'#13#10' // <%%% START '
|
|
+'PROCEDURE_OPERATIONS %%%>'#13#10' procedure Invoke_%OPERATION_NAME%(cons'
|
|
+'t __Instance:IInterface; const __Message:IROMessage; const __Transport:IROT'
|
|
+'ransport; out __oResponseOptions:TROResponseOptions);'#13#10' // <%%% EN'
|
|
+'D PROCEDURE_OPERATIONS %%%>'#13#10' end;'#13#10#13#10' // <%%% END SERVIC'
|
|
+'ES %%%>'#13#10'implementation'#13#10#13#10'uses'#13#10' {RemObjects:} uROR'
|
|
+'es, uROClient;'#13#10#13#10'// <%%% START SERVICES %%%>'#13#10'{ T%SERVICE_'
|
|
+'NAME%_Invoker }'#13#10#13#10'constructor T%SERVICE_NAME%_Invoker.Create;'#13
|
|
+#10'begin'#13#10' inherited Create;'#13#10' FAbstract := %IS_ABSTRACT%;'#13
|
|
+#10'end;'#13#10#13#10'// <%%% START FUNCTION_OPERATIONS %%%>'#13#10'procedur'
|
|
+'e T%SERVICE_NAME%_Invoker.Invoke_%OPERATION_NAME%(const __Instance:IInterfa'
|
|
+'ce; const __Message:IROMessage; const __Transport:IROTransport; out __oResp'
|
|
+'onseOptions:TROResponseOptions);'#13#10'{ function %OPERATION_NAME%('#13#10
|
|
+' // <%%% START PARAMS %%%>'#13#10' %PARAM_FRONT_M'
|
|
+'ODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% END PARAM'
|
|
+'S %%%>'#13#10' ): %OPERATION_RESULT%; }'#13#10'var'#13#10' //'
|
|
+' <%%% START PARAMS_NO_STRIP %%%>'#13#10' %PARAM_NAME%: %PARAM_TYPE%;'#13#10
|
|
+' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' lResult: %OPERATION_RESULT%;'#13
|
|
+#10' // <%%% START IF_HAS_COMPLEX_TYPE %%%>'#13#10' __lObjectDisposer: TRO'
|
|
+'ObjectDisposer;'#13#10' // <%%% END IF_HAS_COMPLEX_TYPE %%%>'#13#10' __%S'
|
|
+'ERVICE_NAME%Instance: I%SERVICE_NAME%;'#13#10'begin'#13#10' // <%%% START '
|
|
+'PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10' %PARAM_NAME% := nil;'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'
|
|
+#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_RESULT_C'
|
|
+'OMPLEX %%%>'#13#10' lResult := nil;'#13#10' // <%%% END IF_RESULT_COMPLEX'
|
|
+' %%%>'#13#10' try'#13#10' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10
|
|
+' __Message.Read(''%PARAM_NAME%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, '
|
|
+'[%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10
|
|
+#13#10' __%SERVICE_NAME%Instance := __Instance as I%SERVICE_NAME%; '#13#10
|
|
+' lResult := __%SERVICE_NAME%Instance.%OPERATION_NAME%('#13#10' '
|
|
+' // <%%% START PARAMS %%%>'#13#10' '
|
|
+' %PARAM_NAME%,'#13#10' '
|
|
+' // <%%% END PARAMS %%%>'#13#10' '
|
|
+' );'#13#10#13#10' __Message.InitializeResponseMessage(_'
|
|
+'_Transport, ''%LIBRARY_NAME%'', ''%SERVICE_NAME%'', ''%OPERATION_NAME%Respo'
|
|
+'nse'');'#13#10' __Message.Write(''Result'', TypeInfo(%OPERATION_RESULT%)'
|
|
+', lResult, [%OPERATION_RESULT_ATTRIBUTE%]);'#13#10' // <%%% START OUT_PA'
|
|
+'RAMS_NO_STRIP %%%>'#13#10' __Message.Write(''%PARAM_NAME%'', TypeInfo(%P'
|
|
+'ARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END OUT'
|
|
+'_PARAMS_NO_STRIP %%%>'#13#10' __Message.Finalize;'#13#10' __Message.U'
|
|
+'nsetAttributes(__Transport);'#13#10' '#13#10' finally'#13#10' // <%%'
|
|
+'% START IF_HAS_COMPLEX_TYPE %%%>'#13#10' __lObjectDisposer := TROObjectD'
|
|
+'isposer.Create(__Instance);'#13#10' try'#13#10' // <%%% START PARAM'
|
|
+'S_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10
|
|
,' __lObjectDisposer.Add(%PARAM_NAME%);'#13#10' // <%%% END IF_PARA'
|
|
+'M_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' '
|
|
+' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' __lObjectDisposer.Add'
|
|
+'(lResult);'#13#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10' final'
|
|
+'ly'#13#10' __lObjectDisposer.Free();'#13#10' end;'#13#10' // <%%'
|
|
+'% END IF_HAS_COMPLEX_TYPE %%%>'#13#10' end;'#13#10'end;'#13#10#13#10'// <%'
|
|
+'%% END FUNCTION_OPERATIONS %%%>'#13#10'// <%%% START PROCEDURE_OPERATIONS %'
|
|
+'%%>'#13#10'procedure T%SERVICE_NAME%_Invoker.Invoke_%OPERATION_NAME%(const '
|
|
+'__Instance:IInterface; const __Message:IROMessage; const __Transport:IROTra'
|
|
+'nsport; out __oResponseOptions:TROResponseOptions);'#13#10'{ procedure %OPE'
|
|
+'RATION_NAME%('#13#10' // <%%% START PARAMS %%%>'#13#10' '
|
|
+' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' '
|
|
+' // <%%% END PARAMS %%%>'#13#10' ); }'#13#10'var'#13#10' /'
|
|
+'/ <%%% START PARAMS_NO_STRIP %%%>'#13#10' %PARAM_NAME%: %PARAM_TYPE%;'#13
|
|
+#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_HAS_COMPLEX'
|
|
+'_TYPE %%%>'#13#10' __lObjectDisposer: TROObjectDisposer;'#13#10' // <%%% '
|
|
+'END IF_HAS_COMPLEX_TYPE %%%>'#13#10' __%SERVICE_NAME%Instance: I%SERVICE_N'
|
|
+'AME%;'#13#10'begin'#13#10' // <%%% START PARAMS_NO_STRIP %%%>'#13#10' // '
|
|
+'<%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_NAME% := nil;'#13#10
|
|
+' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS_NO_STR'
|
|
+'IP %%%>'#13#10' try'#13#10' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10
|
|
+' __Message.Read(''%PARAM_NAME%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, '
|
|
+'[%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10
|
|
+#13#10' __%SERVICE_NAME%Instance := __Instance as I%SERVICE_NAME%; '#13#10
|
|
+' __%SERVICE_NAME%Instance.%OPERATION_NAME%('#13#10' '
|
|
+' // <%%% START PARAMS %%%>'#13#10' %'
|
|
+'PARAM_NAME%,'#13#10' // <%%% END PARAMS %%%>'
|
|
+#13#10' );'#13#10#13#10' __Message.Initiali'
|
|
+'zeResponseMessage(__Transport, ''%LIBRARY_NAME%'', ''%SERVICE_NAME%'', ''%O'
|
|
+'PERATION_NAME%Response'');'#13#10' // <%%% START OUT_PARAMS_NO_STRIP %%%'
|
|
+'>'#13#10' __Message.Write(''%PARAM_NAME%'', TypeInfo(%PARAM_TYPE%), %PAR'
|
|
+'AM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END OUT_PARAMS_NO_STRIP '
|
|
+'%%%>'#13#10' __Message.Finalize;'#13#10' __Message.UnsetAttributes(__'
|
|
+'Transport);'#13#10' '#13#10' // <%%% START IF_NO_OUT_PARAMS %%%>'#13
|
|
+#10' __oResponseOptions := [roNoResponse];'#13#10#13#10' // <%%% END I'
|
|
+'F_NO_OUT_PARAMS %%%>'#13#10' finally'#13#10' // <%%% START IF_HAS_COMPL'
|
|
+'EX_TYPE %%%>'#13#10' __lObjectDisposer := TROObjectDisposer.Create(__Ins'
|
|
+'tance);'#13#10' try'#13#10' // <%%% START PARAMS_NO_STRIP %%%>'#13
|
|
+#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' __lObjectDis'
|
|
+'poser.Add(%PARAM_NAME%);'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%'
|
|
+'>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' finally'#13#10' '
|
|
+' __lObjectDisposer.Free();'#13#10' end;'#13#10' // <%%% END IF_HA'
|
|
+'S_COMPLEX_TYPE %%%>'#13#10' end;'#13#10'end;'#13#10#13#10'// <%%% END PROC'
|
|
+'EDURE_OPERATIONS %%%>'#13#10'// <%%% END SERVICES %%%>'#13#10'end.'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_IMPL_PAS','RCDATA',[
|
|
'unit %UNIT_NAME%;'#13#10#13#10'{--------------------------------------------'
|
|
+'--------------------------------}'#13#10'{ This unit was automatically gene'
|
|
+'rated by the RemObjects SDK after reading }'#13#10'{ the RODL file associa'
|
|
+'ted with this project . }'#13#10'{ '
|
|
+' }'#13#10'{'
|
|
+' This is where you are supposed to code the implementation of your objects.'
|
|
+' }'#13#10'{----------------------------------------------------------------'
|
|
+'------------}'#13#10#13#10'{$I RemObjects.inc}'#13#10#13#10'interface'#13#10
|
|
+#13#10'uses'#13#10' {vcl:} Classes, SysUtils,'#13#10' {RemObjects:} uROXML'
|
|
+'Intf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,'#13#10
|
|
+' // <%%% START REQUIRED_UNITS %%%>'#13#10' {Required:} %REQUIRED_UNIT_NAM'
|
|
+'E%,'#13#10' // <%%% END REQUIRED_UNITS %%%>'#13#10' {Generated:} %LIBRARY'
|
|
+'_NAME%_Intf;'#13#10#13#10'// <%%% START SERVICES %%%>'#13#10'type'#13#10' '
|
|
+'{ T%SERVICE_NAME% }'#13#10' T%SERVICE_NAME% = class(%SERVICE_ANCESTOR_NAME'
|
|
+'%, I%SERVICE_NAME%)'#13#10' private'#13#10' protected'#13#10' { I%SERV'
|
|
+'ICE_NAME% methods }'#13#10' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10
|
|
+' function %OPERATION_NAME%('#13#10' // <%%% START PARAMS %'
|
|
+'%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%'
|
|
+';'#13#10' // <%%% END PARAMS %%%>'#13#10' ): %O'
|
|
+'PERATION_RESULT%;'#13#10' // <%%% END FUNCTION_OPERATIONS %%%>'#13#10' '
|
|
+' // <%%% START PROCEDURE_OPERATIONS %%%>'#13#10' procedure %OPERATION_N'
|
|
+'AME%('#13#10' // <%%% START PARAMS %%%>'#13#10' '
|
|
+' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' /'
|
|
+'/ <%%% END PARAMS %%%>'#13#10' );'#13#10' // <%%% END PROC'
|
|
+'EDURE_OPERATIONS %%%>'#13#10' end;'#13#10'// <%%% END SERVICES %%%>'#13#10
|
|
+#13#10'implementation'#13#10#13#10'// <%%% START IF_DATA_MODULE %%%>'#13#10
|
|
+'{$R *.dfm}'#13#10#13#10'// <%%% END IF_DATA_MODULE %%%>'#13#10'uses'#13#10
|
|
+' {Generated:} %LIBRARY_NAME%_Invk;'#13#10#13#10'// <%%% START SERVICES %%%'
|
|
+'>'#13#10'procedure Create_%SERVICE_NAME%(out anInstance : IUnknown);'#13#10
|
|
+'begin'#13#10' anInstance := T%SERVICE_NAME%.Create('#13#10' // <%%% STA'
|
|
+'RT IF_DATA_MODULE %%%>'#13#10' nil'#13#10' // <%%% END IF_DATA_MODULE'
|
|
+' %%%>'#13#10' );'#13#10'end;'#13#10#13#10'{ %SERVICE_NAME% }'#13#10'// <'
|
|
+'%%% START FUNCTION_OPERATIONS %%%>'#13#10'function T%SERVICE_NAME%.%OPERATI'
|
|
+'ON_NAME%('#13#10' // <%%% START PARAMS %%%>'#13#10' %PA'
|
|
+'RAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% E'
|
|
+'ND PARAMS %%%>'#13#10' ): %OPERATION_RESULT%;'#13#10'begin'#13#10
|
|
+'end;'#13#10#13#10'// <%%% END FUNCTION_OPERATIONS %%%>'#13#10'// <%%% START'
|
|
+' PROCEDURE_OPERATIONS %%%>'#13#10'procedure T%SERVICE_NAME%.%OPERATION_NAME'
|
|
+'%('#13#10' // <%%% START PARAMS %%%>'#13#10' %PARAM_FRO'
|
|
+'NT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% END PARA'
|
|
+'MS %%%>'#13#10' );'#13#10'begin'#13#10'end;'#13#10#13#10'// <%%% '
|
|
+'END PROCEDURE_OPERATIONS %%%>'#13#10'initialization'#13#10' TROClassFactor'
|
|
+'y.Create(''%SERVICE_NAME%'', Create_%SERVICE_NAME%, T%SERVICE_NAME%_Invoker'
|
|
+');'#13#10#13#10'finalization'#13#10#13#10'// <%%% END SERVICES %%%>'#13#10
|
|
+'end.'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_ASYNC_PAS','RCDATA',[
|
|
'unit %UNIT_NAME%;'#13#10#13#10'{--------------------------------------------'
|
|
+'--------------------------------}'#13#10'{ This unit was automatically gene'
|
|
+'rated by the RemObjects SDK after reading }'#13#10'{ the RODL file associa'
|
|
+'ted with this project . }'#13#10'{ '
|
|
+' }'#13#10'{'
|
|
+' Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{-----------------------------------------------------'
|
|
+'-----------------------}'#13#10#13#10'{$I RemObjects.inc}'#13#10#13#10'inte'
|
|
+'rface'#13#10#13#10'uses'#13#10' {vcl:} Classes, TypInfo,'#13#10' {RemObje'
|
|
+'cts:} uROXMLIntf, uROClasses, uROClient, uROTypes, uROClientIntf, uROAsync'
|
|
+#13#10' // <%%% START REQUIRED_UNITS %%%>'#13#10' {Required:} %REQUIRED_UN'
|
|
+'IT_NAME%,'#13#10' // <%%% END REQUIRED_UNITS %%%>'#13#10' {Generated:} %L'
|
|
+'IBRARY_NAME%_Intf;'#13#10#13#10'type'#13#10' { Forward declarations }'#13
|
|
+#10' // <%%% START SERVICES %%%>'#13#10' I%SERVICE_NAME%_Async = interface'
|
|
+';'#13#10' Co%SERVICE_NAME%_Async = class;'#13#10' T%SERVICE_NAME%_AsyncPr'
|
|
+'oxy = class;'#13#10' // <%%% END SERVICES %%%>'#13#10#13#10' // <%%% STAR'
|
|
+'T SERVICES %%%>'#13#10' { I%SERVICE_NAME%_Async }'#13#10' // <%%% START D'
|
|
+'OCUMENTATION %%%>'#13#10#13#10' { Description:'#13#10' %CONTENT% }'#13
|
|
+#10' // <%%% END DOCUMENTATION %%%>'#13#10' I%SERVICE_NAME%_Async = interf'
|
|
+'ace%SERVICE_ANCESTOR_NAME%'#13#10' [''%ASYNC_SERVICE_UID%'']'#13#10' '
|
|
+'// <%%% START FUNCTION_OPERATIONS %%%>'#13#10' procedure Invoke_%OPERATI'
|
|
+'ON_NAME%('#13#10' // <%%% START IN_PARAMS %%%>'#13#10' '
|
|
+' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' '
|
|
+' // <%%% END IN_PARAMS %%%>'#13#10' );'#13#10' functi'
|
|
+'on Retrieve_%OPERATION_NAME%('#13#10' // <%%% START OUT_PARAM'
|
|
+'S %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TY'
|
|
+'PE%;'#13#10' // <%%% END OUT_PARAMS %%%>'#13#10' '
|
|
+' ): %OPERATION_RESULT%;'#13#10' // <%%% END FUNCTION_OPERATIONS %%%>'#13
|
|
+#10' // <%%% START PROCEDURE_OPERATIONS %%%>'#13#10' procedure Invoke_'
|
|
+'%OPERATION_NAME%('#13#10' // <%%% START IN_PARAMS %%%>'#13#10
|
|
+' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' '
|
|
+' // <%%% END IN_PARAMS %%%>'#13#10' );'#13#10
|
|
+' // <%%% START IF_OUT_PARAMS %%%>'#13#10' procedure Retrieve_%OPERATI'
|
|
+'ON_NAME%('#13#10' // <%%% START OUT_PARAMS %%%>'#13#10' '
|
|
+' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' '
|
|
+' // <%%% END OUT_PARAMS %%%>'#13#10' );'#13#10' // <'
|
|
+'%%% END IF_OUT_PARAMS %%%>'#13#10' // <%%% END PROCEDURE_OPERATIONS %%%>'
|
|
+#13#10' end;'#13#10#13#10' { Co%SERVICE_NAME%_Async }'#13#10' Co%SERVICE_'
|
|
+'NAME%_Async = class'#13#10' class function Create(const aMessage: IROMes'
|
|
+'sage; aTransportChannel: IROTransportChannel): I%SERVICE_NAME%_Async;'#13#10
|
|
+' end;'#13#10#13#10' { T%SERVICE_NAME%_Proxy }'#13#10' T%SERVICE_NAME%_As'
|
|
+'yncProxy = class(%SERVICE_PROXY_ANCESTOR_NAME%, I%SERVICE_NAME%_Async)'#13
|
|
+#10' protected'#13#10' function __GetInterfaceName:string; override;'#13
|
|
+#10#13#10' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10' procedure In'
|
|
+'voke_%OPERATION_NAME%('#13#10' // <%%% START IN_PARAMS %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13
|
|
+#10' // <%%% END IN_PARAMS %%%>'#13#10' );'#13#10
|
|
+' function Retrieve_%OPERATION_NAME%('#13#10' // <%%% START'
|
|
+' OUT_PARAMS %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%:'
|
|
+' %PARAM_TYPE%;'#13#10' // <%%% END OUT_PARAMS %%%>'#13#10' '
|
|
+' ): %OPERATION_RESULT%;'#13#10' // <%%% END FUNCTION_OPERATIO'
|
|
+'NS %%%>'#13#10' // <%%% START PROCEDURE_OPERATIONS %%%>'#13#10' proce'
|
|
+'dure Invoke_%OPERATION_NAME%('#13#10' // <%%% START IN_PARAM'
|
|
+'S %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_T'
|
|
+'YPE%;'#13#10' // <%%% END IN_PARAMS %%%>'#13#10' '
|
|
+' );'#13#10' // <%%% START IF_OUT_PARAMS %%%>'#13#10' procedure Ret'
|
|
+'rieve_%OPERATION_NAME%('#13#10' // <%%% START OUT_PARAMS %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13
|
|
+#10' // <%%% END OUT_PARAMS %%%>'#13#10' );'#13
|
|
+#10' // <%%% END IF_OUT_PARAMS %%%>'#13#10' // <%%% END PROCEDURE_OPER'
|
|
+'ATIONS %%%>'#13#10' end;'#13#10#13#10' // <%%% END SERVICES %%%>'#13#10'i'
|
|
+'mplementation'#13#10#13#10'uses'#13#10' {vcl:} SysUtils,'#13#10' {RemObje'
|
|
+'cts:} uROEventRepository, uRORes;'#13#10#13#10'// <%%% START SERVICES %%%>'
|
|
,#13#10'{ Co%SERVICE_NAME%_Async }'#13#10#13#10'class function Co%SERVICE_NAM'
|
|
+'E%_Async.Create(const aMessage: IROMessage; aTransportChannel: IROTransport'
|
|
+'Channel): I%SERVICE_NAME%_Async;'#13#10'begin'#13#10' result := T%SERVICE_'
|
|
+'NAME%_AsyncProxy.Create(aMessage, aTransportChannel);'#13#10'end;'#13#10#13
|
|
+#10'{ T%SERVICE_NAME%_AsyncProxy }'#13#10#13#10'function T%SERVICE_NAME%_Asy'
|
|
+'ncProxy.__GetInterfaceName:string;'#13#10'begin'#13#10' result := ''%SERVI'
|
|
+'CE_NAME%'';'#13#10'end;'#13#10#13#10'// <%%% START FUNCTION_OPERATIONS %%%>'
|
|
+#13#10'procedure T%SERVICE_NAME%_AsyncProxy.Invoke_%OPERATION_NAME%('#13#10
|
|
+' // <%%% START IN_PARAMS %%%>'#13#10' %PARAM_FRONT_MODI'
|
|
+'FIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%% END IN_PARAMS %'
|
|
+'%%>'#13#10' );'#13#10'begin'#13#10' __AssertProxyNotBusy(''%OPER'
|
|
+'ATION_NAME%'');'#13#10#13#10' __Message.InitializeRequestMessage(__Transpo'
|
|
+'rtChannel, ''%LIBRARY_NAME%'', __InterfaceName, ''%OPERATION_NAME%'');'#13
|
|
+#10' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10' __Message.Write(''%PARA'
|
|
+'M_NAME%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13
|
|
+#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10#13#10' __DispatchAsyncRequ'
|
|
+'est(''%OPERATION_NAME%'',__Message);'#13#10'end;'#13#10#13#10'function T%SE'
|
|
+'RVICE_NAME%_AsyncProxy.Retrieve_%OPERATION_NAME%('#13#10' // <%%%'
|
|
+' START OUT_PARAMS %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME'
|
|
+'%: %PARAM_TYPE%;'#13#10' // <%%% END OUT_PARAMS %%%>'#13#10' '
|
|
+' ): %OPERATION_RESULT%;'#13#10'var'#13#10' __response:TStream;'#13#10
|
|
+'begin'#13#10' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%% STAR'
|
|
+'T IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_NAME% := nil;'#13#10' // <%%%'
|
|
+' END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END OUT_PARAMS_NO_STRIP %%'
|
|
+'%>'#13#10' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' Result := nil;'#13
|
|
+#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10#13#10' __response := __Retr'
|
|
+'ieveAsyncResponse(''%OPERATION_NAME%'');'#13#10' __Message.ReadFromStream('
|
|
+'__response);'#13#10#13#10' __Message.Read(''Result'', TypeInfo(%OPERATION_'
|
|
+'RESULT%), Result, [%OPERATION_RESULT_ATTRIBUTE%]);'#13#10' // <%%% START O'
|
|
+'UT_PARAMS_NO_STRIP %%%>'#13#10' __Message.Read(''%PARAM_NAME%'', TypeInfo('
|
|
+'%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END OUT'
|
|
+'_PARAMS_NO_STRIP %%%>'#13#10#13#10' __response.Free();'#13#10'end;'#13#10
|
|
+#13#10'// <%%% END FUNCTION_OPERATIONS %%%>'#13#10'// <%%% START PROCEDURE_O'
|
|
+'PERATIONS %%%>'#13#10'procedure T%SERVICE_NAME%_AsyncProxy.Invoke_%OPERATIO'
|
|
+'N_NAME%('#13#10' // <%%% START IN_PARAMS %%%>'#13#10' %'
|
|
+'PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%;'#13#10' // <%%%'
|
|
+' END IN_PARAMS %%%>'#13#10' );'#13#10'var'#13#10' __request:TStr'
|
|
+'eam;'#13#10'begin'#13#10' __AssertProxyNotBusy(''%OPERATION_NAME%'');'#13
|
|
+#10' __request := TMemoryStream.Create;'#13#10#13#10' __Message.Initialize'
|
|
+'RequestMessage(__TransportChannel, ''%LIBRARY_NAME%'', __InterfaceName, ''%'
|
|
+'OPERATION_NAME%'');'#13#10' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10' '
|
|
+' __Message.Write(''%PARAM_NAME%'', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%'
|
|
+'PARAM_ATTRIBUTE%]);'#13#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10' _'
|
|
+'_Message.Finalize;'#13#10#13#10' __Message.WriteToStream(__request);'#13#10
|
|
+' __DispatchAsyncRequest(''%OPERATION_NAME%'', __request, False);'#13#10'en'
|
|
+'d;'#13#10#13#10'// <%%% START IF_OUT_PARAMS %%%>'#13#10'procedure T%SERVICE'
|
|
+'_NAME%_AsyncProxy.Retrieve_%OPERATION_NAME%('#13#10' // <%%% STAR'
|
|
+'T OUT_PARAMS %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %P'
|
|
+'ARAM_TYPE%;'#13#10' // <%%% END OUT_PARAMS %%%>'#13#10' '
|
|
+' );'#13#10'var'#13#10' __response:TStream;'#13#10'begin'#13#10' // <%%% S'
|
|
+'TART OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX '
|
|
+'%%%>'#13#10' %PARAM_NAME% := nil;'#13#10' // <%%% END IF_PARAM_TYPE_COMPL'
|
|
+'EX %%%>'#13#10' // <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10#13#10' __resp'
|
|
+'onse := __RetrieveAsyncResponse(''%OPERATION_NAME%'');'#13#10' __Message.R'
|
|
+'eadFromStream(__response);'#13#10#13#10' // <%%% START OUT_PARAMS_NO_STRIP'
|
|
+' %%%>'#13#10' __Message.Read(''%PARAM_NAME%'', TypeInfo(%PARAM_TYPE%), %PA'
|
|
+'RAM_NAME%, [%PARAM_ATTRIBUTE%]);'#13#10' // <%%% END OUT_PARAMS_NO_STRIP %'
|
|
+'%%>'#13#10#13#10' __response.Free();'#13#10'end;'#13#10#13#10'// <%%% END '
|
|
+'IF_OUT_PARAMS %%%>'#13#10'// <%%% END PROCEDURE_OPERATIONS %%%>'#13#10'// <'
|
|
+'%%% END SERVICES %%%>'#13#10'initialization'#13#10#13#10'finalization'#13#10
|
|
+#13#10'end.'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_WRAPPER_INTF_PAS','RCDATA',[
|
|
'unit %UNIT_NAME%;'#13#10#13#10'{--------------------------------------------'
|
|
+'--------------------------------}'#13#10'{ This unit was automatically gene'
|
|
+'rated by the RemObjects SDK after reading }'#13#10'{ the RODL file associa'
|
|
+'ted with this project . }'#13#10'{ '
|
|
+' }'#13#10'{'
|
|
+' Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{-----------------------------------------------------'
|
|
+'-----------------------}'#13#10#13#10'interface'#13#10#13#10'uses'#13#10' '
|
|
+'// <%%% START USES %%%>'#13#10' %USED_UNIT_NAME%,'#13#10' // <%%% END USE'
|
|
+'S %%%>'#13#10' ;'#13#10#13#10'type'#13#10' // <%%% START TYPES %%%>'#13#10
|
|
+' %TYPE_NAME% = %TYPE_UNIT_NAME%.%TYPE_NAME%;'#13#10' // <%%% END TYPES %%'
|
|
+'%>'#13#10' '#13#10'implementation'#13#10#13#10'end.'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_WRAPPER_INVK_PAS','RCDATA',[
|
|
'unit %UNIT_NAME%;'#13#10#13#10'{--------------------------------------------'
|
|
+'--------------------------------}'#13#10'{ This unit was automatically gene'
|
|
+'rated by the RemObjects SDK after reading }'#13#10'{ the RODL file associa'
|
|
+'ted with this project . }'#13#10'{ '
|
|
+' }'#13#10'{'
|
|
+' Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{-----------------------------------------------------'
|
|
+'-----------------------}'#13#10#13#10'interface'#13#10#13#10'uses'#13#10' '
|
|
+'// <%%% START USES %%%>'#13#10' %USED_UNIT_NAME%,'#13#10' // <%%% END USE'
|
|
+'S %%%>'#13#10' ;'#13#10#13#10'type'#13#10' // <%%% START TYPES %%%>'#13#10
|
|
+' %TYPE_NAME%_Invoker = %TYPE_UNIT_NAME%.%TYPE_NAME%_Invoker;'#13#10' // <'
|
|
+'%%% END TYPES %%%>'#13#10' '#13#10'implementation'#13#10#13#10'end.'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_WRAPPER_ASYNC_PAS','RCDATA',[
|
|
'unit %UNIT_NAME%;'#13#10#13#10'{--------------------------------------------'
|
|
+'--------------------------------}'#13#10'{ This unit was automatically gene'
|
|
+'rated by the RemObjects SDK after reading }'#13#10'{ the RODL file associa'
|
|
+'ted with this project . }'#13#10'{ '
|
|
+' }'#13#10'{'
|
|
+' Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{-----------------------------------------------------'
|
|
+'-----------------------}'#13#10#13#10'interface'#13#10#13#10'uses'#13#10' '
|
|
+'// <%%% START USES %%%>'#13#10' %USED_UNIT_NAME%,'#13#10' // <%%% END USE'
|
|
+'S %%%>'#13#10' ;'#13#10#13#10'type'#13#10' // <%%% START TYPES %%%>'#13#10
|
|
+' %TYPE_NAME% = %TYPE_UNIT_NAME%.%TYPE_NAME%;'#13#10' // <%%% END TYPES %%'
|
|
+'%>'#13#10' '#13#10'implementation'#13#10#13#10'end.'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_IMPL_DFM','RCDATA',[
|
|
'// <%%% START SERVICES %%%>'#13#10'object %SERVICE_NAME%: T%SERVICE_NAME%'#13
|
|
+#10' OldCreateOrder = False'#13#10' Height = 150'#13#10' Width = 150'#13
|
|
+#10'end'#13#10'// <%%% END SERVICES %%%>'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_INTF_CPP','RCDATA',[
|
|
'// %UNIT_NAME%'#13#10'//'#13#10'/*------------------------------------------'
|
|
+'---------------------------------}'#13#10'{ This unit was automatically gen'
|
|
+'erated by the RemObjects SDK after reading }'#13#10'{ the RODL file associ'
|
|
+'ated with this project. }'#13#10'{ '
|
|
+' }'#13#10
|
|
+'{ Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{----------------------------------------------------'
|
|
+'-----------------------*/'#13#10#13#10'void __initialization_%UNIT_NAME%();'
|
|
+#13#10'void __finalization_%UNIT_NAME%();'#13#10#13#10'#pragma startup __ini'
|
|
+'tialization_%UNIT_NAME%'#13#10'#pragma exit __finalization_%UNIT_NAME%'
|
|
+#13#10#13#10'#include "%LIBRARY_NAME%_Intf.h"'#13#10'#include <uROEventRepos'
|
|
+'itory.hpp>'#13#10'#include <uRORes.hpp>'#13#10#13#10'// Implementation of %'
|
|
+'UNIT_NAME%'#13#10#13#10'// <%%% START ARRAYS %%%>'#13#10'// %ARRAY_NAME%'#13
|
|
+#10'void __fastcall %ARRAY_NAME%::Assign(Classes::TPersistent* iSource)'#13
|
|
+#10'{'#13#10' %ARRAY_NAME%* lSource = dynamic_cast<%ARRAY_NAME%*>(iSource);'
|
|
+#13#10' if (lSource)'#13#10' {'#13#10' Clear();'#13#10' Resize(lSour'
|
|
+'ce->Count);'#13#10' for (int i = 0 ; i < Count ; i++)'#13#10' {'#13#10
|
|
+' // <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' if (lSource->It'
|
|
+'ems[i] != NULL)'#13#10' {'#13#10' Items[i]->Assign(lSource->Ite'
|
|
+'ms[i]);'#13#10' }'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#13#10' // <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' Items[i] ='
|
|
+' lSource->Items[i];'#13#10' // <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13
|
|
+#10' }'#13#10' }'#13#10' else'#13#10' {'#13#10' inherited::Assign(i'
|
|
+'Source);'#13#10' }'#13#10'}'#13#10#13#10'void __fastcall %ARRAY_NAME%::Rea'
|
|
+'dComplex(TObject* ASerializer)'#13#10'{'#13#10' // <%%% START IF_ARRAY_TYP'
|
|
+'E_SIMPLE %%%>'#13#10' %ARRAY_TYPE% lval;'#13#10' // <%%% END IF_ARRAY_TYP'
|
|
+'E_SIMPLE %%%>'#13#10' // <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' %A'
|
|
+'RRAY_TYPE%* lval;'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'TROSerializer* Serializer = dynamic_cast<TROSerializer*>(ASerializer);'#13
|
|
+#10' for (int i = 0; i < Count; i++)'#13#10' {'#13#10' // <%%% START IF'
|
|
+'_ARRAY_BINARY_TYPE %%%>'#13#10' Serializer->ReadBinary(Serializer->GetAr'
|
|
+'rayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval,'
|
|
+' i);'#13#10' // <%%% END IF_ARRAY_BINARY_TYPE %%%>'#13#10' // <%%% ST'
|
|
+'ART IF_ARRAY_BOOLEAN_TYPE %%%>'#13#10' Serializer->ReadEnumerated(Serial'
|
|
+'izer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef('
|
|
+'i)), __GetboolInfo, &lval, i);'#13#10' // <%%% END IF_ARRAY_BOOLEAN_TYPE'
|
|
+' %%%>'#13#10' // <%%% START IF_ARRAY_CURRENCY_TYPE %%%>'#13#10' Seria'
|
|
+'lizer->ReadDouble(Serializer->GetArrayElementName(GetItemType(__classid(%AR'
|
|
+'RAY_NAME%)), GetItemRef(i)), ftCurr, &lval, i);'#13#10' // <%%% END IF_A'
|
|
+'RRAY_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_DATETIME_TYPE %%%'
|
|
+'>'#13#10' Serializer->ReadDateTime(Serializer->GetArrayElementName(GetIt'
|
|
+'emType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);'#13#10' // <'
|
|
+'%%% END IF_ARRAY_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_DECIM'
|
|
+'AL_TYPE %%%>'#13#10' Serializer->ReadDecimal(Serializer->GetArrayElement'
|
|
+'Name(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);'#13#10
|
|
+' // <%%% END IF_ARRAY_DECIMAL_TYPE %%%>'#13#10' // <%%% START IF_ARRA'
|
|
+'Y_DOUBLE_TYPE %%%>'#13#10' Serializer->ReadDouble(Serializer->GetArrayEl'
|
|
+'ementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), ftDouble, &'
|
|
+'lval, i);'#13#10' // <%%% END IF_ARRAY_DOUBLE_TYPE %%%>'#13#10' // <%'
|
|
+'%% START IF_ARRAY_GUID_TYPE %%%>'#13#10' Serializer->ReadGuid(Serializer'
|
|
+'->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)),'
|
|
+' &lval, i);'#13#10' // <%%% END IF_ARRAY_GUID_TYPE %%%>'#13#10' // <%'
|
|
+'%% START IF_ARRAY_INT64_TYPE %%%>'#13#10' Serializer->ReadInt64(Serializ'
|
|
+'er->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)'
|
|
+'), &lval, i);'#13#10' // <%%% END IF_ARRAY_INT64_TYPE %%%>'#13#10' //'
|
|
+' <%%% START IF_ARRAY_INTEGER_TYPE %%%>'#13#10' Serializer->ReadInteger(S'
|
|
+'erializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetIte'
|
|
+'mRef(i)), otSLong, &lval, i);'#13#10' // <%%% END IF_ARRAY_INTEGER_TYPE '
|
|
+'%%%>'#13#10' // <%%% START IF_ARRAY_ANSISTRING_TYPE %%%>'#13#10' Seri'
|
|
+'alizer->ReadUTF8String(Serializer->GetArrayElementName(GetItemType(__classi'
|
|
+'d(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);'#13#10' // <%%% END IF_ARRA'
|
|
+'Y_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_UTF8STRING_TYPE %%'
|
|
+'%>'#13#10' Serializer->ReadUTF8String(Serializer->GetArrayElementName(Ge'
|
|
,'tItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);'#13#10' /'
|
|
+'/ <%%% END IF_ARRAY_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_'
|
|
+'VARIANT_TYPE %%%>'#13#10' Serializer->ReadVariant(Serializer->GetArrayEl'
|
|
+'ementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);'
|
|
+#13#10' // <%%% END IF_ARRAY_VARIANT_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_ARRAY_WIDESTRING_TYPE %%%>'#13#10' Serializer->ReadWideString(Serializ'
|
|
+'er->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)'
|
|
+'), &lval, i);'#13#10' // <%%% END IF_ARRAY_WIDESTRING_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_ARRAY_XML_TYPE %%%>'#13#10' Serializer->ReadXml(Seri'
|
|
+'alizer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRe'
|
|
+'f(i)), &lval, i);'#13#10' // <%%% END IF_ARRAY_XML_TYPE %%%>'#13#10' '
|
|
+'// <%%% START IF_ARRAY_ARRAY_TYPE %%%>'#13#10' Serializer->ReadArray(Ser'
|
|
+'ializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemR'
|
|
+'ef(i)), __classid(%ARRAY_TYPE%), &lval, i);'#13#10' // <%%% END IF_ARRAY'
|
|
+'_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_ENUM_TYPE %%%>'#13#10' '
|
|
+' Serializer->ReadEnumerated(Serializer->GetArrayElementName(GetItemType(__'
|
|
+'classid(%ARRAY_NAME%)), GetItemRef(i)), __Get%ARRAY_TYPE%Info, &lval, i);'
|
|
+#13#10' // <%%% END IF_ARRAY_ENUM_TYPE %%%>'#13#10' // <%%% START IF_A'
|
|
+'RRAY_STRUCT_TYPE %%%>'#13#10' Serializer->ReadStruct(Serializer->GetArra'
|
|
+'yElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), __classi'
|
|
+'d(%ARRAY_TYPE%), &lval, i);'#13#10' // <%%% END IF_ARRAY_STRUCT_TYPE %%%'
|
|
+'>'#13#10' Items[i] = lval;'#13#10' }'#13#10'}'#13#10#13#10'void __fastc'
|
|
+'all %ARRAY_NAME%::WriteComplex(TObject* ASerializer)'#13#10'{'#13#10' TRO'
|
|
+'Serializer* Serializer = dynamic_cast<TROSerializer*>(ASerializer);'#13#10
|
|
+' for(int i = 0; i < Count; i++)'#13#10' // <%%% START IF_ARRAY_BINARY_T'
|
|
+'YPE %%%>'#13#10' Serializer->WriteBinary(Serializer->GetArrayElementName'
|
|
+'(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);'#13
|
|
+#10' // <%%% END IF_ARRAY_BINARY_TYPE %%%>'#13#10' // <%%% START IF_AR'
|
|
+'RAY_BOOLEAN_TYPE %%%>'#13#10' Serializer->WriteEnumerated(Serializer->Ge'
|
|
+'tArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), __G'
|
|
+'etboolInfo, &(fItems[i]), i);'#13#10' // <%%% END IF_ARRAY_BOOLEAN_TYPE '
|
|
+'%%%>'#13#10' // <%%% START IF_ARRAY_CURRENCY_TYPE %%%>'#13#10' Serial'
|
|
+'izer->WriteDouble(Serializer->GetArrayElementName(GetItemType(__classid(%AR'
|
|
+'RAY_NAME%)), GetItemRef(i)), ftCurr, &(fItems[i]), i);'#13#10' // <%%% E'
|
|
+'ND IF_ARRAY_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_DATETIME_T'
|
|
+'YPE %%%>'#13#10' Serializer->WriteDateTime(Serializer->GetArrayElementNa'
|
|
+'me(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);'
|
|
+#13#10' // <%%% END IF_ARRAY_DATETIME_TYPE %%%>'#13#10' // <%%% START '
|
|
+'IF_ARRAY_DECIMAL_TYPE %%%>'#13#10' Serializer->WriteDecimal(Serializer->'
|
|
+'GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &'
|
|
+'(fItems[i]), i);'#13#10' // <%%% END IF_ARRAY_DECIMAL_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_ARRAY_DOUBLE_TYPE %%%>'#13#10' Serializer->WriteDoub'
|
|
+'le(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), Ge'
|
|
+'tItemRef(i)), ftDouble, &(fItems[i]), i);'#13#10' // <%%% END IF_ARRAY_D'
|
|
+'OUBLE_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_GUID_TYPE %%%>'#13#10' '
|
|
+' Serializer->WriteGuid(Serializer->GetArrayElementName(GetItemType(__classi'
|
|
+'d(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);'#13#10' // <%%% END '
|
|
+'IF_ARRAY_GUID_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_INT64_TYPE %%%>'
|
|
+#13#10' Serializer->WriteInt64(Serializer->GetArrayElementName(GetItemTyp'
|
|
+'e(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);'#13#10' //'
|
|
+' <%%% END IF_ARRAY_INT64_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_INTEGE'
|
|
+'R_TYPE %%%>'#13#10' Serializer->WriteInteger(Serializer->GetArrayElement'
|
|
+'Name(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), otSLong, &(fItem'
|
|
+'s[i]), i);'#13#10' // <%%% END IF_ARRAY_INTEGER_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_ARRAY_ANSISTRING_TYPE %%%>'#13#10' Serializer->WriteUTF8St'
|
|
+'ring(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), '
|
|
+'GetItemRef(i)), &(fItems[i]), i);'#13#10' // <%%% END IF_ARRAY_ANSISTRIN'
|
|
+'G_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_UTF8STRING_TYPE %%%>'#13#10' '
|
|
+' Serializer->WriteUTF8String(Serializer->GetArrayElementName(GetItemType('
|
|
+'__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);'#13#10' // <'
|
|
+'%%% END IF_ARRAY_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_VAR'
|
|
+'IANT_TYPE %%%>'#13#10' Serializer->WriteVariant(Serializer->GetArrayElem'
|
|
+'entName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]),'
|
|
+' i);'#13#10' // <%%% END IF_ARRAY_VARIANT_TYPE %%%>'#13#10' // <%%% S'
|
|
,'TART IF_ARRAY_WIDESTRING_TYPE %%%>'#13#10' Serializer->WriteWideString(S'
|
|
+'erializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetIte'
|
|
+'mRef(i)), &(fItems[i]), i);'#13#10' // <%%% END IF_ARRAY_WIDESTRING_TYPE'
|
|
+' %%%>'#13#10' // <%%% START IF_ARRAY_XML_TYPE %%%>'#13#10' Serializer'
|
|
+'->WriteXml(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAM'
|
|
+'E%)), GetItemRef(i)), &(fItems[i]), i);'#13#10' // <%%% END IF_ARRAY_XML'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_ARRAY_TYPE %%%>'#13#10' Ser'
|
|
+'ializer->WriteArray(Serializer->GetArrayElementName(GetItemType(__classid(%'
|
|
+'ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);'#13#10' // <%%% END IF_'
|
|
+'ARRAY_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_ARRAY_ENUM_TYPE %%%>'#13
|
|
+#10' Serializer->WriteEnumerated(Serializer->GetArrayElementName(GetItemT'
|
|
+'ype(__classid(%ARRAY_NAME%)), GetItemRef(i)), __Get%ARRAY_TYPE%Info, &(fIte'
|
|
+'ms[i]), i);'#13#10' // <%%% END IF_ARRAY_ENUM_TYPE %%%>'#13#10' // <%'
|
|
+'%% START IF_ARRAY_STRUCT_TYPE %%%>'#13#10' Serializer->WriteStruct(Seria'
|
|
+'lizer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef'
|
|
+'(i)), &(fItems[i]), __classid(%ARRAY_TYPE%), i);'#13#10' // <%%% END IF_'
|
|
+'ARRAY_STRUCT_TYPE %%%>'#13#10'}'#13#10#13#10'void __fastcall %ARRAY_NAME%::'
|
|
+'Grow()'#13#10'{'#13#10' int Delta;'#13#10' int Capacity = fItems.Length;'
|
|
+#13#10' if (Capacity > 64) '#13#10' {'#13#10' Delta = Capacity / 4;'#13
|
|
+#10' }'#13#10' else'#13#10' {'#13#10' if (Capacity > 8) '#13#10' '
|
|
+'Delta = 16;'#13#10' else'#13#10' Delta = 4;'#13#10' }'#13#10' fIt'
|
|
+'ems.set_length(Capacity + Delta);'#13#10'}'#13#10#13#10'// <%%% START IF_AR'
|
|
+'RAY_TYPE_COMPLEX %%%>'#13#10'%ARRAY_TYPE%* __fastcall %ARRAY_NAME%::GetItem'
|
|
+'s(const int Index)'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'// '
|
|
+'<%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10'%ARRAY_TYPE% __fastcall %ARRAY_'
|
|
+'NAME%::GetItems(const int Index)'#13#10'// <%%% END IF_ARRAY_TYPE_SIMPLE %%'
|
|
+'%>'#13#10'{'#13#10' if ((Index < 0) || (Index >= Count))'#13#10' {'#13#10
|
|
+' RaiseError(LoadResourceString(&_err_ArrayIndexOutOfBounds), ARRAYOFCONS'
|
|
+'T((Index)));'#13#10' }'#13#10' return fItems[Index];'#13#10'}'#13#10#13#10
|
|
+'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'void __fastcall %ARRAY_NAME'
|
|
+'%::SetItems(const int Index, %ARRAY_TYPE%* Value)'#13#10'// <%%% END IF_ARR'
|
|
+'AY_TYPE_COMPLEX %%%>'#13#10'// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10
|
|
+'void __fastcall %ARRAY_NAME%::SetItems(const int Index, %ARRAY_TYPE% Value)'
|
|
+#13#10'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10'{'#13#10' if ((Index < '
|
|
+'0) || (Index >= Count))'#13#10' {'#13#10' RaiseError(LoadResourceString'
|
|
+'(&_err_ArrayIndexOutOfBounds), ARRAYOFCONST((Index)));'#13#10' }'#13#10' '
|
|
+'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' delete fItems[Index];'#13
|
|
+#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' fItems[Index] = Value;'
|
|
+#13#10'}'#13#10#13#10'int __fastcall %ARRAY_NAME%::GetCount()'#13#10'{'#13#10
|
|
+' return fCount;'#13#10'}'#13#10#13#10'void* __fastcall %ARRAY_NAME%::GetIt'
|
|
+'emRef(const int Index)'#13#10'{'#13#10' if ((Index < 0) || (Index >= Count'
|
|
+'))'#13#10' {'#13#10' RaiseError(LoadResourceString(&_err_ArrayIndexOutO'
|
|
+'fBounds), ARRAYOFCONST((Index)));'#13#10' }'#13#10'// <%%% START IF_ARRAY_'
|
|
+'TYPE_COMPLEX %%%>'#13#10' return fItems[Index];'#13#10'// <%%% END IF_ARRA'
|
|
+'Y_TYPE_COMPLEX %%%>'#13#10'// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' '
|
|
+' return &fItems[Index];'#13#10'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10
|
|
+'}'#13#10#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'void __fastc'
|
|
+'all %ARRAY_NAME%::SetItemRef(const int Index, void* Ref)'#13#10'{'#13#10' '
|
|
+'if ((Index < 0) || (Index >= Count))'#13#10' {'#13#10' RaiseError(LoadR'
|
|
+'esourceString(&_err_ArrayIndexOutOfBounds), ARRAYOFCONST((Index)));'#13#10
|
|
+' }'#13#10#13#10' if (Ref != fItems[Index])'#13#10' {'#13#10' delete f'
|
|
+'Items[Index];'#13#10' fItems[Index] = reinterpret_cast<%ARRAY_TYPE%*>(Re'
|
|
+'f);'#13#10' }'#13#10'}'#13#10#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#13#10'void __fastcall %ARRAY_NAME%::Clear()'#13#10'{'#13#10' // <%%% START'
|
|
+' IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' for (int i = 0; i < Count; i++)'#13#10
|
|
+' delete fItems[i];'#13#10#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#13#10' fItems.set_length(0);'#13#10' fCount = 0;'#13#10'}'#13#10#13#10'vo'
|
|
+'id __fastcall %ARRAY_NAME%::Delete(const int Index)'#13#10'{'#13#10' if (I'
|
|
+'ndex >= Count)'#13#10' {'#13#10' RaiseError(LoadResourceString(&_err_In'
|
|
+'validIndex), ARRAYOFCONST((Index)));'#13#10' }'#13#10#13#10' // <%%% STAR'
|
|
+'T IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' delete fItems[Index];'#13#10#13#10' '
|
|
+'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' if (Index < Count - 1)'#13
|
|
+#10' for (int i = Index; i < Count - 1 ; i++)'#13#10' fItems[i] = fI'
|
|
+'tems[i + 1];'#13#10#13#10' fItems.set_length(Count - 1);'#13#10' fCount--'
|
|
,';'#13#10'}'#13#10#13#10'void __fastcall %ARRAY_NAME%::Resize(const int Elem'
|
|
+'entCount)'#13#10'{'#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' '
|
|
+' int i;'#13#10' for(i = fCount -1; i >= ElementCount; --i)'#13#10' dele'
|
|
+'te fItems[i];'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' fItems'
|
|
+'.set_length(ElementCount);'#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#13#10' for(i = fCount; i <= ElementCount -1; ++i)'#13#10' fItems[i] = n'
|
|
+'ew %ARRAY_TYPE%();'#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' f'
|
|
+'Count = ElementCount;'#13#10'}'#13#10#13#10'// <%%% START IF_ARRAY_TYPE_COM'
|
|
+'PLEX %%%>'#13#10'%ARRAY_TYPE%* __fastcall %ARRAY_NAME%::Add()'#13#10'{'#13
|
|
+#10' %ARRAY_TYPE%* result = new %ARRAY_TYPE%();'#13#10' Add(result);'#13#10
|
|
+' return result;'#13#10'}'#13#10#13#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%'
|
|
+'%>'#13#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'int __fastcall %A'
|
|
+'RRAY_NAME%::Add(%ARRAY_TYPE%* Value)'#13#10'// <%%% END IF_ARRAY_TYPE_COMPL'
|
|
+'EX %%%>'#13#10'// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10'int __fastcal'
|
|
+'l %ARRAY_NAME%::Add(%ARRAY_TYPE% Value)'#13#10'// <%%% END IF_ARRAY_TYPE_SI'
|
|
+'MPLE %%%>'#13#10'{'#13#10' int result = Count;'#13#10' if (fItems.Length '
|
|
+'== result)'#13#10' Grow();'#13#10#13#10' fItems[result] = Value;'#13#10
|
|
+' fCount++;'#13#10' return result;'#13#10'}'#13#10'// <%%% END ARRAYS %%%>'
|
|
+#13#10'// <%%% START EXCEPTIONS %%%>'#13#10'// %EXCEPTION_NAME%'#13#10#13#10
|
|
+'%EXCEPTION_NAME%::%EXCEPTION_NAME%(AnsiString anExceptionMessage'#13#10' '
|
|
+' // <%%% START ANCESTOR_FIELDS %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' , %FIEL'
|
|
+'D_TYPE% a%FIELD_NAME% '#13#10' // <%%% END IF_FIELD_TYPE_'
|
|
+'SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_TYPE_COMPLEX %'
|
|
+'%%>'#13#10' , %FIELD_TYPE%* a%FIELD_NAME% '#13#10' '
|
|
+' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' '
|
|
+' // <%%% END ANCESTOR_FIELDS %%%>'#13#10' // <%%% START '
|
|
+'FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TYPE_'
|
|
+'SIMPLE %%%>'#13#10' , %FIELD_TYPE% a%FIELD_NAME% '#13#10
|
|
+' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' '
|
|
+', %FIELD_TYPE%* a%FIELD_NAME% '#13#10' // <%%% END IF_FIE'
|
|
+'LD_TYPE_COMPLEX %%%>'#13#10' // <%%% END FIELDS_NO_STRIP '
|
|
+'%%%>'#13#10' ): %EXCEPTION_ANCESTOR_NAME%(anExceptionMess'
|
|
+'age'#13#10' // <%%% START ANCESTOR_FIELDS %%%>'#13#10' '
|
|
+' , a%FIELD_NAME% '#13#10' // <%%% EN'
|
|
+'D ANCESTOR_FIELDS %%%>'#13#10' )'#13#10'{'#13#10' // <'
|
|
+'%%% START FIELDS_NO_STRIP %%%>'#13#10' f%FIELD_NAME% = a%FIELD_NAME%;'#13
|
|
+#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10'}'#13#10#13#10'// <%%% START I'
|
|
+'F_HAS_FIELDS %%%>'#13#10'void __fastcall %EXCEPTION_NAME%::ReadException(TO'
|
|
+'bject* ASerializer)'#13#10'{'#13#10' if (dynamic_cast<TROSerializer*>(ASer'
|
|
+'ializer)->RecordStrictOrder)'#13#10' {'#13#10' // <%%% START IF_STRUCT_'
|
|
+'HAS_ANCESTOR %%%>'#13#10' inherited::ReadException(ASerializer);'#13#10
|
|
+' // <%%% END IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' // <%%% START FIELDS'
|
|
+'_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' '
|
|
+' %FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;'#13#10' // <%%% END IF_FIE'
|
|
+'LD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13
|
|
+#10' %FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;'#13#10' // <%%% END '
|
|
+'IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% START IF_FIELD_BINARY_TYPE %%'
|
|
+'%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadBinary("%FIELD'
|
|
+'_NAME%", &l_%FIELD_NAME%);'#13#10' if (%FIELD_NAME% != l_%FIELD_NAME%) d'
|
|
+'elete %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' dynamic_cast<TROSer'
|
|
+'ializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%F'
|
|
+'IELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' /'
|
|
+'/ <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' dynamic_cast<TROSeriali'
|
|
+'zer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_'
|
|
+'FIELD_DATETIME_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerialize'
|
|
+'r)->ReadDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END I'
|
|
+'F_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %'
|
|
+'%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadDecimal("%FIE'
|
|
+'LD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE %'
|
|
+'%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' dynamic_c'
|
|
,'ast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftDouble, &l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' /'
|
|
+'/ <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*'
|
|
+'>(ASerializer)->ReadGuid("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%'
|
|
+'%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INT64_TYPE'
|
|
+' %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadInt64("%FIE'
|
|
+'LD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INT64_TYPE %%%'
|
|
+'>'#13#10' // <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13#10' dynamic_ca'
|
|
+'st<TROSerializer*>(ASerializer)->ReadInteger("%FIELD_NAME%", otSLong, &l_%F'
|
|
+'IELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' /'
|
|
+'/ <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' dynamic_cast<TROSeria'
|
|
+'lizer*>(ASerializer)->ReadAnsiString("%FIELD_NAME%", &l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_UTF8STRING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASeria'
|
|
+'lizer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%%'
|
|
+' END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_VARIAN'
|
|
+'T_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadVaria'
|
|
+'nt("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_VARIAN'
|
|
+'T_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' '
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->ReadWideString("%FIELD_NAME%"'
|
|
+', &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10' dynamic_cast<TROSeri'
|
|
+'alizer*>(ASerializer)->ReadXml("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ARRAY'
|
|
+'_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadArray('
|
|
+'"%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);'#13#10' if (%'
|
|
+'FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;'#13#10' // <%%% END '
|
|
+'IF_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'
|
|
+#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD'
|
|
+'_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);'#13#10' // <%%% END IF'
|
|
+'_FIELD_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13
|
|
+#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadStruct("%FIELD_NAME%"'
|
|
+', __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);'#13#10' if (%FIELD_NAME% !='
|
|
+' l_%FIELD_NAME%) delete %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_STRUC'
|
|
+'T_TYPE %%%>'#13#10' %FIELD_NAME% = l_%FIELD_NAME%;'#13#10' // <%%% EN'
|
|
+'D FIELDS_NO_STRIP %%%>'#13#10' }'#13#10' else'#13#10' {'#13#10' // <%'
|
|
+'%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' // <%%% START IF_FIELD_TYP'
|
|
+'E_SIMPLE %%%>'#13#10' %FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;'#13#10
|
|
+' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD'
|
|
+'_TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;'
|
|
+#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_BINARY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerialize'
|
|
+'r)->ReadBinary("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' if (%FIELD_NAME'
|
|
+'% != l_%FIELD_NAME%) delete %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_B'
|
|
+'INARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%'
|
|
+'", __GetboolInfo, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' '
|
|
+'dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftCur'
|
|
+'r, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' dynamic_cast<TR'
|
|
+'OSerializer*>(ASerializer)->ReadDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START '
|
|
+'IF_FIELD_DECIMAL_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASeriali'
|
|
+'zer)->ReadDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END '
|
|
+'IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%'
|
|
+'%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD'
|
|
+'_NAME%", ftDouble, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' dyna'
|
|
+'mic_cast<TROSerializer*>(ASerializer)->ReadGuid("%FIELD_NAME%", &l_%FIELD_N'
|
|
+'AME%);'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% ST'
|
|
+'ART IF_FIELD_INT64_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASeria'
|
|
+'lizer)->ReadInt64("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END '
|
|
+'IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INTEGER_TYPE %%%'
|
|
,'>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadInteger("%FIELD'
|
|
+'_NAME%", otSLong, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTEGER'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' '
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->ReadAnsiString("%FIELD_NAME%",'
|
|
+' &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' dynamic_cast<'
|
|
+'TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME'
|
|
+'%);'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%%'
|
|
+' START IF_FIELD_VARIANT_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(A'
|
|
+'Serializer)->ReadVariant("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%'
|
|
+'%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTR'
|
|
+'ING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadWid'
|
|
+'eString("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_W'
|
|
+'IDESTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->ReadXml("%FIELD_NAME%", &l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <'
|
|
+'%%% START IF_FIELD_ARRAY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>('
|
|
+'ASerializer)->ReadArray("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_'
|
|
+'NAME%);'#13#10' if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;'
|
|
+#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_'
|
|
+'FIELD_ENUM_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->'
|
|
+'ReadEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_STRUCT_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->Re'
|
|
+'adStruct("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);'#13#10
|
|
+' if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;'#13#10' // '
|
|
+'<%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' %FIELD_NAME% = l_%FIELD_NAME%'
|
|
+';'#13#10' // <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' }'#13#10'}'
|
|
+#13#10#13#10'void __fastcall %EXCEPTION_NAME%::WriteException(TObject* ASeri'
|
|
+'alizer)'#13#10'{'#13#10' if (dynamic_cast<TROSerializer*>(ASerializer)->Re'
|
|
+'cordStrictOrder)'#13#10' {'#13#10' // <%%% START IF_STRUCT_HAS_ANCESTOR'
|
|
+' %%%>'#13#10' inherited::WriteException(ASerializer);'#13#10' // <%%%'
|
|
+' END IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' // <%%% START FIELDS_NO_STRIP %'
|
|
+'%%>'#13#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' %FIELD_TY'
|
|
+'PE% l_%FIELD_NAME% = %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_SIM'
|
|
+'PLE %%%>'#13#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' %FI'
|
|
+'ELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_T'
|
|
+'YPE_COMPLEX %%%>'#13#10' // <%%% START IF_FIELD_BINARY_TYPE %%%>'#13#10
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->WriteBinary("%FIELD_NAME%", '
|
|
+'&l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' dynamic_cast<TROSeri'
|
|
+'alizer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%F'
|
|
+'IELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' /'
|
|
+'/ <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' dynamic_cast<TROSeriali'
|
|
+'zer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // <%%% START '
|
|
+'IF_FIELD_DATETIME_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerial'
|
|
+'izer)->WriteDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% E'
|
|
+'ND IF_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMAL_TY'
|
|
+'PE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteDecimal('
|
|
+'"%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DECIMAL_T'
|
|
+'YPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' dyna'
|
|
+'mic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftDouble'
|
|
+', &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' dynamic_cast<TROSerial'
|
|
+'izer*>(ASerializer)->WriteGuid("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INT6'
|
|
+'4_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteInt6'
|
|
+'4("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INT64_T'
|
|
+'YPE %%%>'#13#10' // <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13#10' dyn'
|
|
+'amic_cast<TROSerializer*>(ASerializer)->WriteInteger("%FIELD_NAME%", otSLon'
|
|
+'g, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' dynamic_cast<'
|
|
+'TROSerializer*>(ASerializer)->WriteAnsiString("%FIELD_NAME%", &l_%FIELD_NAM'
|
|
,'E%);'#13#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' // <%%'
|
|
+'% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer'
|
|
+'*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_FI'
|
|
+'ELD_VARIANT_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)-'
|
|
+'>WriteVariant("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_F'
|
|
+'IELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTRING_TYPE %%'
|
|
+'%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteWideString("%'
|
|
+'FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_WIDESTRING_'
|
|
+'TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10' dynami'
|
|
+'c_cast<TROSerializer*>(ASerializer)->WriteXml("%FIELD_NAME%", &l_%FIELD_NAM'
|
|
+'E%);'#13#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% START'
|
|
+' IF_FIELD_ARRAY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializ'
|
|
+'er)->WriteArray("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF'
|
|
+'_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13
|
|
+#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_N'
|
|
+'AME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_F'
|
|
+'IELD_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13
|
|
+#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteStruct("%FIELD_NAME%'
|
|
+'", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10
|
|
+' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' }'#13#10' else'#13#10' {'#13
|
|
+#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' // <%%% START '
|
|
+'IF_FIELD_TYPE_SIMPLE %%%>'#13#10' %FIELD_TYPE% l_%FIELD_NAME% = %FIELD_N'
|
|
+'AME%;'#13#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% S'
|
|
+'TART IF_FIELD_TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* l_%FIELD_NAME% = %'
|
|
+'FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' /'
|
|
+'/ <%%% START IF_FIELD_BINARY_TYPE %%%>'#13#10' dynamic_cast<TROSerialize'
|
|
+'r*>(ASerializer)->WriteBinary("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' '
|
|
+'// <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_BOO'
|
|
+'LEAN_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteE'
|
|
+'numerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);'#13#10' // <%'
|
|
+'%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRENC'
|
|
+'Y_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteDoub'
|
|
+'le("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIEL'
|
|
+'D_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'
|
|
+#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteDateTime("%FIELD_'
|
|
+'NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DATETIME_TYPE %%%'
|
|
+'>'#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13#10' dynamic_ca'
|
|
+'st<TROSerializer*>(ASerializer)->WriteDecimal("%FIELD_NAME%", &l_%FIELD_NAM'
|
|
+'E%);'#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <%%% S'
|
|
+'TART IF_FIELD_DOUBLE_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASer'
|
|
+'ializer)->WriteDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_FIELD_G'
|
|
+'UID_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteGu'
|
|
+'id("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_GUID_T'
|
|
+'YPE %%%>'#13#10' // <%%% START IF_FIELD_INT64_TYPE %%%>'#13#10' dynam'
|
|
+'ic_cast<TROSerializer*>(ASerializer)->WriteInt64("%FIELD_NAME%", &l_%FIELD_'
|
|
+'NAME%);'#13#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% '
|
|
+'START IF_FIELD_INTEGER_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(AS'
|
|
+'erializer)->WriteInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_ANSISTRING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)'
|
|
+'->WriteAnsiString("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END '
|
|
+'IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_UTF8STRING_'
|
|
+'TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8St'
|
|
+'ring("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_UTF8'
|
|
+'STRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_VARIANT_TYPE %%%>'#13#10
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->WriteVariant("%FIELD_NAME%",'
|
|
+' &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' dynamic_cast<TRO'
|
|
+'Serializer*>(ASerializer)->WriteWideString("%FIELD_NAME%", &l_%FIELD_NAME%)'
|
|
+';'#13#10' // <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' // <%%% S'
|
|
+'TART IF_FIELD_XML_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerial'
|
|
+'izer)->WriteXml("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF'
|
|
,'_FIELD_XML_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ARRAY_TYPE %%%>'#13
|
|
+#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteArray("%FIELD_NAME%"'
|
|
+', &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10' dynamic_cast<TROSerial'
|
|
+'izer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info,'
|
|
+' &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10' dynamic_cast<TROSerial'
|
|
+'izer*>(ASerializer)->WriteStruct("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' // <%%% END ENTIRE_HIER'
|
|
+'ARCHY_FIELDS %%%>'#13#10' }'#13#10'}'#13#10#13#10'// <%%% END IF_HAS_FIELD'
|
|
+'S %%%>'#13#10'// <%%% END EXCEPTIONS %%%>'#13#10'// <%%% START STRUCTS %%%>'
|
|
+#13#10'// %STRUCT_NAME%'#13#10#13#10'void __fastcall %STRUCT_NAME%::Assign(C'
|
|
+'lasses::TPersistent* iSource)'#13#10'{'#13#10' inherited::Assign(iSource);'
|
|
+' // inherited typedef'#13#10' // <%%% START IF_HAS_FIELDS %%%>'#13#10#13
|
|
+#10' %STRUCT_NAME%* lSource = dynamic_cast<%STRUCT_NAME%*>(iSource);'#13#10
|
|
+' if (lSource)'#13#10' {'#13#10' // <%%% END IF_HAS_FIELDS %%%>'#13#10' '
|
|
+' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TYPE'
|
|
+'_SIMPLE %%%>'#13#10' %FIELD_NAME% = lSource->%FIELD_NAME%;'#13#10' //'
|
|
+' <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_TYPE_'
|
|
+'COMPLEX %%%>'#13#10' // <%%% START IF_NOT_AUTO_CREATE_FIELDS %%%>'#13#10
|
|
+' if (f%FIELD_NAME% != NULL)'#13#10' {'#13#10' if (lSource->%FIEL'
|
|
+'D_NAME% != NULL) '#13#10' {'#13#10' %FIELD_NAME%->Assign(lSourc'
|
|
+'e->%FIELD_NAME%);'#13#10' }'#13#10' else'#13#10' {'#13#10' '
|
|
+' delete f%FIELD_NAME%;'#13#10' f%FIELD_NAME% = NULL;'#13#10' '
|
|
+' }'#13#10' }'#13#10' // <%%% END IF_NOT_AUTO_CREATE_FIELDS %%%>'#13
|
|
+#10' // <%%% START IF_AUTO_CREATE_FIELDS %%%>'#13#10' %FIELD_NAME%->As'
|
|
+'sign(lSource->%FIELD_NAME%);'#13#10' // <%%% END IF_AUTO_CREATE_FIELDS %'
|
|
+'%%>'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% EN'
|
|
+'D FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_HAS_FIELDS %%%>'#13#10' }'
|
|
+#13#10' // <%%% END IF_HAS_FIELDS %%%>'#13#10'}'#13#10#13#10'// <%%% START '
|
|
+'FIELDS_NO_STRIP %%%>'#13#10'// <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10
|
|
+'%FIELD_TYPE%* __fastcall %STRUCT_NAME%::Get%FIELD_NAME%()'#13#10'{'#13#10' '
|
|
+' // <%%% START IF_AUTO_CREATE_FIELDS %%%>'#13#10' if (f%FIELD_NAME% == NUL'
|
|
+'L) '#13#10' f%FIELD_NAME% = new %FIELD_TYPE%();'#13#10' // <%%% END IF_'
|
|
+'AUTO_CREATE_FIELDS %%%>'#13#10' return f%FIELD_NAME%;'#13#10'}'#13#10#13#10
|
|
+'// <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10'// <%%% END FIELDS_NO_STRIP %'
|
|
+'%%>'#13#10'// <%%% START IF_HAS_FIELDS %%%>'#13#10'void __fastcall %STRUCT_'
|
|
+'NAME%::ReadComplex(TObject* ASerializer)'#13#10'{'#13#10' if (dynamic_cast'
|
|
+'<TROSerializer*>(ASerializer)->RecordStrictOrder)'#13#10' {'#13#10' // '
|
|
+'<%%% START IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' inherited::ReadException('
|
|
+'ASerializer);'#13#10' // <%%% END IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' '
|
|
+' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TYPE_'
|
|
+'SIMPLE %%%>'#13#10' %FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;'#13#10' '
|
|
+' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_'
|
|
+'TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;'
|
|
+#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_BINARY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerialize'
|
|
+'r)->ReadBinary("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' if (%FIELD_NAME'
|
|
+'% != l_%FIELD_NAME%) delete %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_B'
|
|
+'INARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%'
|
|
+'", __GetboolInfo, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' '
|
|
+'dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftCur'
|
|
+'r, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' dynamic_cast<TR'
|
|
+'OSerializer*>(ASerializer)->ReadDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START '
|
|
+'IF_FIELD_DECIMAL_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASeriali'
|
|
+'zer)->ReadDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END '
|
|
+'IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%'
|
|
+'%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD'
|
|
+'_NAME%", ftDouble, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' dyna'
|
|
,'mic_cast<TROSerializer*>(ASerializer)->ReadGuid("%FIELD_NAME%", &l_%FIELD_N'
|
|
+'AME%);'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% ST'
|
|
+'ART IF_FIELD_INT64_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASeria'
|
|
+'lizer)->ReadInt64("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END '
|
|
+'IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INTEGER_TYPE %%%'
|
|
+'>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadInteger("%FIELD'
|
|
+'_NAME%", otSLong, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTEGER'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' '
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->ReadAnsiString("%FIELD_NAME%",'
|
|
+' &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' dynamic_cast<'
|
|
+'TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME'
|
|
+'%);'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%%'
|
|
+' START IF_FIELD_VARIANT_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(A'
|
|
+'Serializer)->ReadVariant("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%'
|
|
+'%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTR'
|
|
+'ING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadWid'
|
|
+'eString("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_W'
|
|
+'IDESTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->ReadXml("%FIELD_NAME%", &l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // <'
|
|
+'%%% START IF_FIELD_ARRAY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>('
|
|
+'ASerializer)->ReadArray("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_'
|
|
+'NAME%);'#13#10' if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;'
|
|
+#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_'
|
|
+'FIELD_ENUM_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->'
|
|
+'ReadEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_STRUCT_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->Re'
|
|
+'adStruct("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);'#13#10
|
|
+' if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;'#13#10' // '
|
|
+'<%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' %FIELD_NAME% = l_%FIELD_NAME%'
|
|
+';'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' }'#13#10' else'#13
|
|
+#10' {'#13#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' // '
|
|
+'<%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' %FIELD_TYPE% l_%FIELD_NAME%'
|
|
+' = %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* l_%FIEL'
|
|
+'D_NAME% = %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_BINARY_TYPE %%%>'#13#10' dynamic_cast<T'
|
|
+'ROSerializer*>(ASerializer)->ReadBinary("%FIELD_NAME%", &l_%FIELD_NAME%);'
|
|
+#13#10' if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;'#13#10' '
|
|
+' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_'
|
|
+'BOOLEAN_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->Rea'
|
|
+'dEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);'#13#10' // '
|
|
+'<%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' // <%%% START IF_FIELD_CURRE'
|
|
+'NCY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadDou'
|
|
+'ble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIE'
|
|
+'LD_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DATETIME_TYPE %%%>'
|
|
+#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadDateTime("%FIELD_N'
|
|
+'AME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13#10' dynamic_cast<'
|
|
+'TROSerializer*>(ASerializer)->ReadDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_DOUBLE_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerialize'
|
|
+'r)->ReadDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);'#13#10' // <%'
|
|
+'%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF_FIELD_GUID_TYP'
|
|
+'E %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadGuid("%FIE'
|
|
+'LD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_INT64_TYPE %%%>'#13#10' dynamic_cast<TR'
|
|
+'OSerializer*>(ASerializer)->ReadInt64("%FIELD_NAME%", &l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIE'
|
|
+'LD_INTEGER_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->'
|
|
+'ReadInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);'#13#10' // <%%% E'
|
|
+'ND IF_FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ANSISTRING_'
|
|
,'TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadAnsiStr'
|
|
+'ing("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSIS'
|
|
+'TRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13
|
|
+#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NA'
|
|
+'ME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%'
|
|
+'>'#13#10' // <%%% START IF_FIELD_VARIANT_TYPE %%%>'#13#10' dynamic_ca'
|
|
+'st<TROSerializer*>(ASerializer)->ReadVariant("%FIELD_NAME%", &l_%FIELD_NAME'
|
|
+'%);'#13#10' // <%%% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% ST'
|
|
+'ART IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(A'
|
|
+'Serializer)->ReadWideString("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' //'
|
|
+' <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_X'
|
|
+'ML_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->ReadXml('
|
|
+'"%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_XML_TYPE '
|
|
+'%%%>'#13#10' // <%%% START IF_FIELD_ARRAY_TYPE %%%>'#13#10' dynamic_c'
|
|
+'ast<TROSerializer*>(ASerializer)->ReadArray("%FIELD_NAME%", __classid(%FIEL'
|
|
+'D_TYPE%), &l_%FIELD_NAME%);'#13#10' if (%FIELD_NAME% != l_%FIELD_NAME%) '
|
|
+'delete %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10' dynamic_cast<TROSerial'
|
|
+'izer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, '
|
|
+'&l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10' dynamic_cast<TROSeriali'
|
|
+'zer*>(ASerializer)->ReadStruct("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_'
|
|
+'%FIELD_NAME%);'#13#10' if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD'
|
|
+'_NAME%;'#13#10' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' %FIELD_'
|
|
+'NAME% = l_%FIELD_NAME%;'#13#10' // <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'
|
|
+#13#10' }'#13#10'}'#13#10#13#10'void __fastcall %STRUCT_NAME%::WriteComplex'
|
|
+'(TObject* ASerializer)'#13#10'{'#13#10' if (dynamic_cast<TROSerializer*>(A'
|
|
+'Serializer)->RecordStrictOrder)'#13#10' {'#13#10' // <%%% START IF_STRU'
|
|
+'CT_HAS_ANCESTOR %%%>'#13#10' inherited::WriteException(ASerializer);'#13
|
|
+#10' // <%%% END IF_STRUCT_HAS_ANCESTOR %%%>'#13#10' // <%%% START FIE'
|
|
+'LDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10
|
|
+' %FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;'#13#10' // <%%% END IF_F'
|
|
+'IELD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'
|
|
+#13#10' %FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;'#13#10' // <%%% E'
|
|
+'ND IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% START IF_FIELD_BINARY_TYPE'
|
|
+' %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteBinary("%F'
|
|
+'IELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BINARY_TYPE '
|
|
+'%%%>'#13#10' // <%%% START IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' dynamic'
|
|
+'_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __Getbo'
|
|
+'olInfo, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_CURRENCY_TYPE %%%>'#13#10' dynamic_cast'
|
|
+'<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftCurr, &l_%FIEL'
|
|
+'D_NAME%);'#13#10' // <%%% END IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_FIELD_DATETIME_TYPE %%%>'#13#10' dynamic_cast<TROSerialize'
|
|
+'r*>(ASerializer)->WriteDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' '
|
|
+' // <%%% END IF_FIELD_DATETIME_TYPE %%%>'#13#10' // <%%% START IF_FIELD'
|
|
+'_DECIMAL_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->Wr'
|
|
+'iteDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIEL'
|
|
+'D_DECIMAL_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13
|
|
+#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%'
|
|
+'", ftDouble, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE '
|
|
+'%%%>'#13#10' // <%%% START IF_FIELD_GUID_TYPE %%%>'#13#10' dynamic_ca'
|
|
+'st<TROSerializer*>(ASerializer)->WriteGuid("%FIELD_NAME%", &l_%FIELD_NAME%)'
|
|
+';'#13#10' // <%%% END IF_FIELD_GUID_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_INT64_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer'
|
|
+')->WriteInt64("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_F'
|
|
+'IELD_INT64_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13
|
|
+#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteInteger("%FIELD_NAME'
|
|
+'%", otSLong, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INTEGER_TYPE'
|
|
+' %%%>'#13#10' // <%%% START IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' dyn'
|
|
+'amic_cast<TROSerializer*>(ASerializer)->WriteAnsiString("%FIELD_NAME%", &l_'
|
|
+'%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' dynamic_cast<TRO'
|
|
+'Serializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%)'
|
|
,';'#13#10' // <%%% END IF_FIELD_UTF8STRING_TYPE %%%>'#13#10' // <%%% S'
|
|
+'TART IF_FIELD_VARIANT_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASe'
|
|
+'rializer)->WriteVariant("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%'
|
|
+'% END IF_FIELD_VARIANT_TYPE %%%>'#13#10' // <%%% START IF_FIELD_WIDESTRI'
|
|
+'NG_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteWid'
|
|
+'eString("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_W'
|
|
+'IDESTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_XML_TYPE %%%>'#13#10
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->WriteXml("%FIELD_NAME%", &l_'
|
|
+'%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_XML_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_FIELD_ARRAY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>'
|
|
+'(ASerializer)->WriteArray("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <'
|
|
+'%%% END IF_FIELD_ARRAY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ENUM_TYP'
|
|
+'E %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerate'
|
|
+'d("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);'#13#10' // <%'
|
|
+'%% END IF_FIELD_ENUM_TYPE %%%>'#13#10' // <%%% START IF_FIELD_STRUCT_TYP'
|
|
+'E %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteStruct("%'
|
|
+'FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_STRUCT_TYPE'
|
|
+' %%%>'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10' }'#13#10' else'
|
|
+#13#10' {'#13#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#13#10' '
|
|
+'// <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' %FIELD_TYPE% l_%FIELD_NA'
|
|
+'ME% = %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* l_%FI'
|
|
+'ELD_NAME% = %FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_BINARY_TYPE %%%>'#13#10' dynamic_cast<T'
|
|
+'ROSerializer*>(ASerializer)->WriteBinary("%FIELD_NAME%", &l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_BINARY_TYPE %%%>'#13#10' // <%%% START IF'
|
|
+'_FIELD_BOOLEAN_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerialize'
|
|
+'r)->WriteEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);'#13#10
|
|
+' // <%%% END IF_FIELD_BOOLEAN_TYPE %%%>'#13#10' // <%%% START IF_FIEL'
|
|
+'D_CURRENCY_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->'
|
|
+'WriteDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);'#13#10' // <%%% EN'
|
|
+'D IF_FIELD_CURRENCY_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DATETIME_TY'
|
|
+'PE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteDateTime'
|
|
+'("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DATETIME'
|
|
+'_TYPE %%%>'#13#10' // <%%% START IF_FIELD_DECIMAL_TYPE %%%>'#13#10' d'
|
|
+'ynamic_cast<TROSerializer*>(ASerializer)->WriteDecimal("%FIELD_NAME%", &l_%'
|
|
+'FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_DECIMAL_TYPE %%%>'#13#10' '
|
|
+'// <%%% START IF_FIELD_DOUBLE_TYPE %%%>'#13#10' dynamic_cast<TROSerializ'
|
|
+'er*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_DOUBLE_TYPE %%%>'#13#10' // <%%% START IF'
|
|
+'_FIELD_GUID_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)-'
|
|
+'>WriteGuid("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIEL'
|
|
+'D_GUID_TYPE %%%>'#13#10' // <%%% START IF_FIELD_INT64_TYPE %%%>'#13#10' '
|
|
+' dynamic_cast<TROSerializer*>(ASerializer)->WriteInt64("%FIELD_NAME%", &l'
|
|
+'_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_INT64_TYPE %%%>'#13#10' '
|
|
+'// <%%% START IF_FIELD_INTEGER_TYPE %%%>'#13#10' dynamic_cast<TROSeriali'
|
|
+'zer*>(ASerializer)->WriteInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);'
|
|
+#13#10' // <%%% END IF_FIELD_INTEGER_TYPE %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_ANSISTRING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASeria'
|
|
+'lizer)->WriteAnsiString("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%'
|
|
+'% END IF_FIELD_ANSISTRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_UTF8S'
|
|
+'TRING_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->Write'
|
|
+'UTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIEL'
|
|
+'D_UTF8STRING_TYPE %%%>'#13#10' // <%%% START IF_FIELD_VARIANT_TYPE %%%>'
|
|
+#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteVariant("%FIELD_N'
|
|
+'AME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_VARIANT_TYPE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' dynamic_ca'
|
|
+'st<TROSerializer*>(ASerializer)->WriteWideString("%FIELD_NAME%", &l_%FIELD_'
|
|
+'NAME%);'#13#10' // <%%% END IF_FIELD_WIDESTRING_TYPE %%%>'#13#10' // '
|
|
+'<%%% START IF_FIELD_XML_TYPE %%%>'#13#10' dynamic_cast<TROSerializer*>(A'
|
|
+'Serializer)->WriteXml("%FIELD_NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% '
|
|
+'END IF_FIELD_XML_TYPE %%%>'#13#10' // <%%% START IF_FIELD_ARRAY_TYPE %%%'
|
|
+'>'#13#10' dynamic_cast<TROSerializer*>(ASerializer)->WriteArray("%FIELD_'
|
|
+'NAME%", &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ARRAY_TYPE %%%>'
|
|
,#13#10' // <%%% START IF_FIELD_ENUM_TYPE %%%>'#13#10' dynamic_cast<TRO'
|
|
+'Serializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE'
|
|
+'%Info, &l_%FIELD_NAME%);'#13#10' // <%%% END IF_FIELD_ENUM_TYPE %%%>'#13
|
|
+#10' // <%%% START IF_FIELD_STRUCT_TYPE %%%>'#13#10' dynamic_cast<TROS'
|
|
+'erializer*>(ASerializer)->WriteStruct("%FIELD_NAME%", &l_%FIELD_NAME%);'#13
|
|
+#10' // <%%% END IF_FIELD_STRUCT_TYPE %%%>'#13#10' // <%%% END ENTIRE_'
|
|
+'HIERARCHY_FIELDS %%%>'#13#10' }'#13#10'}'#13#10#13#10'// <%%% END IF_HAS_F'
|
|
+'IELDS %%%>'#13#10'//%STRUCT_COLLECTION_NAME%'#13#10'%STRUCT_NAME%* __fastca'
|
|
+'ll %STRUCT_COLLECTION_NAME%::Add()'#13#10'{'#13#10' return dynamic_cast<%S'
|
|
+'TRUCT_NAME%*>(inherited::Add());'#13#10'}'#13#10#13#10'%STRUCT_NAME%* __fas'
|
|
+'tcall %STRUCT_COLLECTION_NAME%::GetItems(const int Index)'#13#10'{'#13#10' '
|
|
+' return dynamic_cast<%STRUCT_NAME%*>(inherited::Items[Index]);'#13#10'}'#13
|
|
+#10#13#10'void __fastcall %STRUCT_COLLECTION_NAME%::SetItems(const int Index'
|
|
+', %STRUCT_NAME%* Value)'#13#10'{'#13#10' dynamic_cast<%STRUCT_NAME%*>(inhe'
|
|
+'rited::Items[Index])->Assign(Value);'#13#10'}'#13#10#13#10'// <%%% START AR'
|
|
+'RAYS_IS_FOUND %%%>'#13#10'void %STRUCT_COLLECTION_NAME%::LoadFromArray(%ARR'
|
|
+'AY_NAME%* anArray)'#13#10'{'#13#10' Clear();'#13#10' '#13#10' for(int i '
|
|
+'= 0; i <= anArray->Count-1; ++i)'#13#10' Add()->Assign((*anArray)[i]);'
|
|
+#13#10'}'#13#10#13#10'void %STRUCT_COLLECTION_NAME%::SaveToArray(%ARRAY_NAME'
|
|
+'%* anArray)'#13#10'{'#13#10' anArray->Clear();'#13#10' anArray->Resize(Co'
|
|
+'unt);'#13#10' for(int i = 0; i <= Count-1; ++i)'#13#10' {'#13#10' anAr'
|
|
+'ray->Items[i] = new %STRUCT_NAME%;'#13#10' anArray->Items[i]->Assign(Ite'
|
|
+'ms[i]);'#13#10' }'#13#10'}'#13#10#13#10'// <%%% END ARRAYS_IS_FOUND %%%>'
|
|
+#13#10'// <%%% END STRUCTS %%%>'#13#10'// <%%% START SERVICES %%%>'#13#10'//'
|
|
+' <%%% START FUNCTION_OPERATIONS %%%>'#13#10'// <%%% START IF_RESULT_SIMPLE '
|
|
+'%%%>'#13#10'%OPERATION_RESULT% __fastcall T%SERVICE_NAME%_Proxy::%OPERATION'
|
|
+'_NAME%('#13#10'// <%%% END IF_RESULT_SIMPLE %%%>'#13#10'// <%%% START IF_RE'
|
|
+'SULT_COMPLEX %%%>'#13#10'%OPERATION_RESULT%* __fastcall T%SERVICE_NAME%_Pro'
|
|
+'xy::%OPERATION_NAME%('#13#10'// <%%% END IF_RESULT_COMPLEX %%%>'#13#10' //'
|
|
+' <%%% START PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13
|
|
+#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%'
|
|
+','#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_'
|
|
+'PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARA'
|
|
+'M_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %'
|
|
+'%%>'#13#10' // <%%% END PARAMS %%%>'#13#10' )'#13#10'{'#13#10' // <%%% S'
|
|
+'TART IF_RESULT_SIMPLE %%%>'#13#10' %OPERATION_RESULT% result;'#13#10' // '
|
|
+'<%%% END IF_RESULT_SIMPLE %%%>'#13#10' // <%%% START IF_RESULT_COMPLEX %%%'
|
|
+'>'#13#10' %OPERATION_RESULT%* result;'#13#10' // <%%% END IF_RESULT_COMPL'
|
|
+'EX %%%>'#13#10#13#10' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' // <'
|
|
+'%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_NAME% = NULL;'#13#10' '
|
|
+' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END OUT_PARAMS_NO_'
|
|
+'STRIP %%%>'#13#10' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' result = '
|
|
+'NULL;'#13#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10' try'#13#10' {'
|
|
+#13#10' __Message->InitializeRequestMessage(__TransportChannel, "%LIBRARY'
|
|
+'_NAME%", __InterfaceName, "%OPERATION_NAME%");'#13#10' // <%%% START IN_'
|
|
+'PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13
|
|
+#10' __Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME'
|
|
+'%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TY'
|
|
+'PE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' '
|
|
+' __Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), &%PARAM_NAME%'
|
|
+', TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYP'
|
|
+'E_COMPLEX %%%>'#13#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10' __'
|
|
+'Message->Finalize();'#13#10#13#10' __TransportChannel->Dispatch(__Messag'
|
|
+'e);'#13#10#13#10' // <%%% START IF_RESULT_SIMPLE %%%>'#13#10' __Messa'
|
|
+'ge->Read("Result", __Get%OPERATION_RESULT%Info, &result, TParamAttributes(%'
|
|
+'OPERATION_RESULT_ATTRIBUTE%));'#13#10' // <%%% END IF_RESULT_SIMPLE %%%>'
|
|
+#13#10' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' __Message->Read("'
|
|
+'Result", __typeinfo(%OPERATION_RESULT%), &result, TParamAttributes(%OPERATI'
|
|
+'ON_RESULT_ATTRIBUTE%));'#13#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10
|
|
+' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARA'
|
|
+'M_TYPE_SIMPLE %%%>'#13#10' __Message->Read("%PARAM_NAME%", __Get%PARAM_T'
|
|
+'YPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' /'
|
|
+'/ <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE'
|
|
+'_COMPLEX %%%>'#13#10' __Message->Read("%PARAM_NAME%", __typeinfo(%PARAM_'
|
|
,'TYPE%), &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // '
|
|
+'<%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END OUT_PARAMS_NO_ST'
|
|
+'RIP %%%>'#13#10' }'#13#10' __finally'#13#10' {'#13#10' __Message->Fre'
|
|
+'eStream();'#13#10' }'#13#10' return result;'#13#10'}'#13#10#13#10'// <%%%'
|
|
+' END FUNCTION_OPERATIONS %%%>'#13#10'// <%%% START PROCEDURE_OPERATIONS %%%'
|
|
+'>'#13#10'void __fastcall T%SERVICE_NAME%_Proxy::%OPERATION_NAME%('#13#10' '
|
|
+'// <%%% START PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NA'
|
|
+'ME%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START '
|
|
+'IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %P'
|
|
+'ARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLE'
|
|
+'X %%%>'#13#10' // <%%% END PARAMS %%%>'#13#10' )'#13#10'{'#13#10' // <%%'
|
|
+'% START OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPL'
|
|
+'EX %%%>'#13#10' %PARAM_NAME% = NULL;'#13#10' // <%%% END IF_PARAM_TYPE_CO'
|
|
+'MPLEX %%%>'#13#10' // <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10' try'#13#10
|
|
+' {'#13#10' __Message->InitializeRequestMessage(__TransportChannel, "%LI'
|
|
+'BRARY_NAME%", __InterfaceName, "%OPERATION_NAME%");'#13#10' // <%%% STAR'
|
|
+'T IN_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%'
|
|
+'>'#13#10' __Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARA'
|
|
+'M_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PA'
|
|
+'RAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10' __Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), &%PARAM_N'
|
|
+'AME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM'
|
|
+'_TYPE_COMPLEX %%%>'#13#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10' '
|
|
+' __Message->Finalize();'#13#10#13#10' __TransportChannel->Dispatch(__Me'
|
|
+'ssage);'#13#10#13#10' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10' '
|
|
+'// <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' __Message->Read("%PARAM_'
|
|
+'NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRI'
|
|
+'BUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%'
|
|
+'% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' __Message->Read("%PARAM_NAME%'
|
|
+'", __typeinfo(%PARAM_TYPE%), &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBU'
|
|
+'TE%));'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%%'
|
|
+' END OUT_PARAMS_NO_STRIP %%%>'#13#10' }'#13#10' __finally'#13#10' {'#13
|
|
+#10' __Message->FreeStream();'#13#10' }'#13#10'}'#13#10#13#10'// <%%% EN'
|
|
+'D PROCEDURE_OPERATIONS %%%>'#13#10'// <%%% END SERVICES %%%>'#13#10'// <%%%'
|
|
+' START EVENT_SINKS %%%>'#13#10#13#10'namespace %NAMESPACE_NAME%'#13#10'{'#13
|
|
+#10'// T%EVENT_SINK_NAME%_Writer'#13#10'class DELPHICLASS T%EVENT_SINK_NAME%'
|
|
+'_Writer;'#13#10'class T%EVENT_SINK_NAME%_Writer : public T%EVENT_SINK_WRITE'
|
|
+'R_ANCESTOR_NAME%, I%EVENT_SINK_NAME%_Writer'#13#10'{'#13#10' typedef T%EVE'
|
|
+'NT_SINK_WRITER_ANCESTOR_NAME% inherited;'#13#10'protected:'#13#10' // <%%%'
|
|
+' START OPERATIONS %%%>'#13#10' void __fastcall %OPERATION_NAME%(const GUID'
|
|
+' __Sender'#13#10#9#9#9#9#9'// <%%% START PARAMS %%%>'#13#10#9#9#9#9#9'// <%'
|
|
+'%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9#9#9#9#9', %PARAM_FRONT_MODIFIER'
|
|
+'% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%'#13#10#9#9#9#9#9'// <%%% '
|
|
+'END IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9#9#9#9#9'// <%%% START IF_PARAM_TYPE_'
|
|
+'COMPLEX %%%>'#13#10#9#9#9#9#9', %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM'
|
|
+'_BACK_MODIFIER% %PARAM_NAME%'#13#10#9#9#9#9#9'// <%%% END IF_PARAM_TYPE_COM'
|
|
+'PLEX %%%>'#13#10#9#9#9#9#9'// <%%% END PARAMS %%%>'#13#10#9#9#9#9#9');'#13
|
|
+#10' // <%%% END OPERATIONS %%%>'#13#10'public:'#13#10' virtual HRESULT __'
|
|
+'stdcall QueryInterface(const GUID& IID, void **Obj) {'#13#10#9'return inher'
|
|
+'ited::QueryInterface(IID, (void *)Obj); }'#13#10#13#10' virtual ULONG __st'
|
|
+'dcall AddRef() {'#13#10#9'return inherited::_AddRef(); }'#13#10#13#10' vi'
|
|
+'rtual ULONG __stdcall Release() {'#13#10#9'return inherited::_Release(); }'
|
|
+#13#10'};'#13#10#13#10'} // namespace %NAMESPACE_NAME%'#13#10#13#10'// <%%%'
|
|
+' START OPERATIONS %%%>'#13#10'void __fastcall T%EVENT_SINK_NAME%_Writer::%O'
|
|
+'PERATION_NAME%(const GUID __Sender'#13#10' // <%%% START PARAMS %%%>'#13#10
|
|
+' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' , %PARAM_FRONT_MODIFIER%'
|
|
+' %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%'#13#10' // <%%% END IF_PA'
|
|
+'RAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10' , %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NA'
|
|
+'ME%'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END PA'
|
|
+'RAMS %%%>'#13#10' )'#13#10'{'#13#10' Binary* __eventdata = new Binary("")'
|
|
+';'#13#10' try'#13#10' {'#13#10' __Message->InitializeEventMessage(NULL'
|
|
+', "%LIBRARY_NAME%", EID_%EVENT_SINK_NAME%, "%OPERATION_NAME%");'#13#10' '
|
|
,'// <%%% START PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_S'
|
|
+'IMPLE %%%>'#13#10' __Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Inf'
|
|
+'o, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% '
|
|
+'END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLE'
|
|
+'X %%%>'#13#10' __Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%)'
|
|
+', %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% EN'
|
|
+'D IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13
|
|
+#10' __Message->Finalize();'#13#10#13#10' __Message->WriteToStream(__e'
|
|
+'ventdata);'#13#10#13#10' Repository->StoreEventData(__Sender, __eventdat'
|
|
+'a, TROEventWriter::ExcludeSender, TROEventWriter::ExcludeSessionList, TROEv'
|
|
+'entWriter::SessionList->CommaText);'#13#10' }'#13#10' __finally'#13#10' '
|
|
+'{'#13#10' delete __eventdata;'#13#10' }'#13#10'}'#13#10#13#10'// <%%% E'
|
|
+'ND OPERATIONS %%%>'#13#10'/* T%EVENT_SINK_NAME%_Invoker */'#13#10'namespace'
|
|
+' %NAMESPACE_NAME%'#13#10'{'#13#10'class DELPHICLASS T%EVENT_SINK_NAME%_Invo'
|
|
+'ker;'#13#10'class T%EVENT_SINK_NAME%_Invoker : public T%EVENT_SINK_INVOKER_'
|
|
+'ANCESTOR_NAME%'#13#10'{'#13#10'__published:'#13#10' // <%%% START OPERATIO'
|
|
+'NS %%%>'#13#10' void __fastcall Invoke_%OPERATION_NAME%(TROEventReceiver* '
|
|
+'__EventReceiver, IROMessage* __Message, IUnknown* __Target);'#13#10' // <%'
|
|
+'%% END OPERATIONS %%%>'#13#10'};'#13#10'} // namespace %NAMESPACE_NAME%'#13
|
|
+#10#13#10'// <%%% START OPERATIONS %%%>'#13#10'void __fastcall T%EVENT_SINK_'
|
|
+'NAME%_Invoker::Invoke_%OPERATION_NAME%(TROEventReceiver* __EventReceiver, I'
|
|
+'ROMessage* __Message, IUnknown* __Target)'#13#10'{'#13#10' // <%%% START P'
|
|
+'ARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10
|
|
+' %PARAM_TYPE% %PARAM_NAME%;'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_TYPE%* %PA'
|
|
+'RAM_NAME%;'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%%'
|
|
+' END PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_HAS_COMPLEX_TYPE %%%>'
|
|
+#13#10' TROObjectDisposer* __lObjectDisposer;'#13#10' // <%%% END IF_HAS_C'
|
|
+'OMPLEX_TYPE %%%>'#13#10' _di_I%EVENT_SINK_NAME% __%EVENT_SINK_NAME%Instanc'
|
|
+'e;'#13#10#13#10' // <%%% START PARAMS_NO_STRIP %%%>'#13#10' // <%%% START'
|
|
+' IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_NAME% = NULL;'#13#10' // <%%% '
|
|
+'END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13
|
|
+#10' try'#13#10' {'#13#10' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10
|
|
+' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' __Message->Read("%PA'
|
|
+'RAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_A'
|
|
+'TTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' //'
|
|
+' <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' __Message->Read("%PARAM_N'
|
|
+'AME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTR'
|
|
+'IBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <'
|
|
+'%%% END IN_PARAMS_NO_STRIP %%%>'#13#10#13#10' if (__Target->QueryInterfa'
|
|
+'ce(I%EVENT_SINK_NAME%_IID, reinterpret_cast<void**>(&__%EVENT_SINK_NAME%Ins'
|
|
+'tance)) == S_OK)'#13#10' {'#13#10' __%EVENT_SINK_NAME%Instance->%OP'
|
|
+'ERATION_NAME%('#13#10' // <%%% START P'
|
|
+'ARAMS %%%>'#13#10' %PARAM_NAME%,'#13#10
|
|
+' // <%%% END PARAMS %%%>'#13#10' '
|
|
+' );'#13#10' }'#13#10' else'#13#10' {'
|
|
+#13#10' throw EIntfCastError::EIntfCastError("I%EVENT_SINK_NAME% not su'
|
|
+'pported");'#13#10' }'#13#10#13#10' // <%%% START OUT_PARAMS_NO_STRIP '
|
|
+'%%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' __Messag'
|
|
+'e->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttrib'
|
|
+'utes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' __Message->Wr'
|
|
+'ite("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttribute'
|
|
+'s(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10' // <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10' }'#13#10' __finally'
|
|
+#13#10' {'#13#10' // <%%% START IF_HAS_COMPLEX_TYPE %%%>'#13#10' __lO'
|
|
+'bjectDisposer = new TROObjectDisposer(__EventReceiver->operator IInterface '
|
|
+'*());'#13#10' try'#13#10' {'#13#10' // <%%% START PARAMS_NO_STRI'
|
|
+'P %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' _'
|
|
+'_lObjectDisposer->Add(%PARAM_NAME%);'#13#10' // <%%% END IF_PARAM_TYPE'
|
|
+'_COMPLEX %%%>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' }'#13
|
|
+#10' __finally'#13#10' {'#13#10' delete __lObjectDisposer;'#13#10
|
|
+' }'#13#10' // <%%% END IF_HAS_COMPLEX_TYPE %%%>'#13#10' }'#13#10'}'
|
|
+#13#10#13#10'// <%%% END OPERATIONS %%%>'#13#10'// <%%% END EVENT_SINKS %%%>'
|
|
,#13#10'void __initialization_%UNIT_NAME%()'#13#10'{'#13#10' // <%%% START S'
|
|
+'TRUCTS %%%>'#13#10' RegisterROClass(__classid(%STRUCT_NAME%));'#13#10' //'
|
|
+' <%%% END STRUCTS %%%>'#13#10' // <%%% START ARRAYS %%%>'#13#10' Register'
|
|
+'ROClass(__classid(%ARRAY_NAME%));'#13#10' // <%%% END ARRAYS %%%>'#13#10' '
|
|
+' // <%%% START EXCEPTIONS %%%>'#13#10' RegisterExceptionClass(__classid(%E'
|
|
+'XCEPTION_NAME%));'#13#10' // <%%% END EXCEPTIONS %%%>'#13#10' // <%%% STA'
|
|
+'RT SERVICES %%%>'#13#10' RegisterProxyClass(I%SERVICE_NAME%_IID, __classid'
|
|
+'(T%SERVICE_NAME%_Proxy));'#13#10' // <%%% END SERVICES %%%>'#13#10' // <%'
|
|
+'%% START EVENT_SINKS %%%>'#13#10' RegisterEventWriterClass(I%EVENT_SINK_NA'
|
|
+'ME%_IID, __classid(T%EVENT_SINK_NAME%_Writer));'#13#10' RegisterEventInvok'
|
|
+'erClass(EID_%EVENT_SINK_NAME%, __classid(T%EVENT_SINK_NAME%_Invoker));'#13
|
|
+#10' // <%%% END EVENT_SINKS %%%> '#13#10'}'#13#10#13#10'void __finaliz'
|
|
+'ation_%UNIT_NAME%()'#13#10'{'#13#10' // <%%% START STRUCTS %%%>'#13#10' U'
|
|
+'nregisterROClass(__classid(%STRUCT_NAME%));'#13#10' // <%%% END STRUCTS %%'
|
|
+'%>'#13#10' // <%%% START ARRAYS %%%>'#13#10' UnregisterROClass(__classid('
|
|
+'%ARRAY_NAME%));'#13#10' // <%%% END ARRAYS %%%>'#13#10' // <%%% START EXC'
|
|
+'EPTIONS %%%>'#13#10' UnregisterExceptionClass(__classid(%EXCEPTION_NAME%))'
|
|
+';'#13#10' // <%%% END EXCEPTIONS %%%>'#13#10' // <%%% START SERVICES %%%>'
|
|
+#13#10' UnregisterProxyClass(I%SERVICE_NAME%_IID);'#13#10' // <%%% END SER'
|
|
+'VICES %%%>'#13#10' // <%%% START EVENT_SINKS %%%>'#13#10' UnregisterEvent'
|
|
+'WriterClass(I%EVENT_SINK_NAME%_IID);'#13#10' UnregisterEventInvokerClass(E'
|
|
+'ID_%EVENT_SINK_NAME%);'#13#10' // <%%% END EVENT_SINKS %%%> '#13#10'}'
|
|
+#13#10#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_INTF_H','RCDATA',[
|
|
'// %UNIT_NAME%'#13#10'//'#13#10'/*------------------------------------------'
|
|
+'---------------------------------}'#13#10'{ This unit was automatically gen'
|
|
+'erated by the RemObjects SDK after reading }'#13#10'{ the RODL file associ'
|
|
+'ated with this project. }'#13#10'{ '
|
|
+' }'#13#10
|
|
+'{ Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{----------------------------------------------------'
|
|
+'-----------------------*/'#13#10#13#10'#ifndef %UNIT_NAME%H'#13#10'#define '
|
|
+'%UNIT_NAME%H'#13#10#13#10'#pragma delphiheader begin'#13#10'#pragma option '
|
|
+'push'#13#10'#pragma option -w- // All warnings off'#13#10'#pragm'
|
|
+'a option -Vx // Zero-length empty class member functions'#13#10
|
|
+'#pragma pack(push,8)'#13#10#13#10'#include <System.hpp> // Pascal u'
|
|
+'nit'#13#10'#include <Classes.hpp> // Pascal unit'#13#10'#include <Ur'
|
|
+'otypes.hpp> // Pascal unit'#13#10'#include <Uroclient.hpp> // Pa'
|
|
+'scal unit'#13#10'#include <Uroclientintf.hpp> // Pascal unit'#13#10'#inclu'
|
|
+'de <Uroxmlintf.hpp> // Pascal unit'#13#10'// <%%% START REQUIRED_UNITS '
|
|
+'%%%>'#13#10'#include <%REQUIRED_UNIT_NAME%.hpp>'#13#10'// <%%% END REQUIRED'
|
|
+'_UNITS %%%>'#13#10#13#10'namespace %NAMESPACE_NAME%'#13#10'{'#13#10'// Libr'
|
|
+'ary ID'#13#10'#define LibraryUID "%LIBRARY_UID%"'#13#10'#define TargetNames'
|
|
+'pace "%NAMESPACE_NAME%"'#13#10#13#10'// Service Interface ID''s'#13#10'// <'
|
|
+'%%% START SERVICES %%%>'#13#10'const GUID I%SERVICE_NAME%_IID = Sysutils::S'
|
|
+'tringToGUID("%SERVICE_UID%");'#13#10'// <%%% END SERVICES %%%>'#13#10#13#10
|
|
+'// Event ID''s'#13#10'// <%%% START EVENT_SINKS %%%>'#13#10'#define EID_%EV'
|
|
+'ENT_SINK_NAME% "%EVENT_SINK_NAME%"'#13#10'const GUID I%EVENT_SINK_NAME%_IID'
|
|
+' = Sysutils::StringToGUID("%EVENT_SINK_UID%");'#13#10'// <%%% END EVENT_SIN'
|
|
+'KS %%%>'#13#10#13#10'// Forward declarations'#13#10'// <%%% START SERVICES '
|
|
+'%%%>'#13#10'__interface I%SERVICE_NAME%; // = interface;'#13#10'// <%%% END'
|
|
+' SERVICES %%%>'#13#10'// <%%% START ARRAYS %%%>'#13#10'class DELPHICLASS %A'
|
|
+'RRAY_NAME%;'#13#10'// <%%% END ARRAYS %%%>'#13#10'// <%%% START STRUCTS %%%'
|
|
+'>'#13#10'class DELPHICLASS %STRUCT_NAME%;'#13#10'// <%%% END STRUCTS %%%>'
|
|
+#13#10'// <%%% START EXCEPTIONS %%%>'#13#10'class DELPHICLASS %EXCEPTION_NAM'
|
|
+'E%;'#13#10'// <%%% END EXCEPTIONS %%%>'#13#10'// <%%% START EVENT_SINKS %%%'
|
|
+'>'#13#10'__interface I%EVENT_SINK_NAME%; // = interface;'#13#10'// <%%% END'
|
|
+' EVENT_SINKS %%%>'#13#10#13#10'/* Enumerateds */'#13#10'// <%%% START ENUMS'
|
|
+' %%%>'#13#10'// <%%% START DOCUMENTATION %%%>'#13#10#13#10'/* Description:'
|
|
+#13#10' %CONTENT% */'#13#10'// <%%% END DOCUMENTATION %%%>'#13#10'#pragma'
|
|
+' option push -b-'#13#10'enum %ENUM_NAME% {'#13#10' // <%%% '
|
|
+'START VALUES %%%>'#13#10' %VALUE_NAME%, '#13
|
|
+#10' // <%%% END VALUES %%%> '#13#10' '
|
|
+' };'#13#10'#pragma option pop'#13#10' '#13#10'// <%%% '
|
|
+'END ENUMS %%%>'#13#10'/* Simple type holders */'#13#10'// Note: In order to'
|
|
+' get type info for a simple type, we MUST have it from the'#13#10'// publis'
|
|
+'hed property of a Delphi class. There is no other way as __typeinfo'#13#10
|
|
+'// requires the type to actually derive from TObject. Hence the reason why'
|
|
+#13#10'// we create these dummy classes with a simple property of the correc'
|
|
+'t type.'#13#10'// <%%% START SIMPLE_TYPES %%%>'#13#10'#ifndef __Get%TYPE_NA'
|
|
+'ME%Info'#13#10'class DELPHICLASS %TYPE_NAME%TypeHolder;'#13#10'class %TYPE_'
|
|
+'NAME%TypeHolder : public TPersistent'#13#10'{'#13#10'private:'#13#10' %TYP'
|
|
+'E_NAME% FHolderField;'#13#10'__published:'#13#10' __property %TYPE_NAME% H'
|
|
+'olderField = {read=FHolderField, write=FHolderField};'#13#10'};'#13#10'#def'
|
|
+'ine __Get%TYPE_NAME%Info *::GetPropInfo(__typeinfo(%TYPE_NAME%TypeHolder), '
|
|
+'"HolderField")->PropType'#13#10'#endif // __Get%TYPE_NAME%Info'#13#10#13#10
|
|
+'// <%%% END SIMPLE_TYPES %%%>'#13#10'// <%%% START STRUCTS %%%>'#13#10'// %'
|
|
+'STRUCT_NAME%'#13#10'class DELPHICLASS %STRUCT_NAME%;'#13#10'class %STRUCT_N'
|
|
+'AME% : public Urotypes::TROComplexType'#13#10'{'#13#10' // Allow the use o'
|
|
+'f "inherited" in our class as Delphi allows'#13#10' typedef Urotypes::TROC'
|
|
+'omplexType inherited;'#13#10' '#13#10'private:'#13#10' // <%%% START FIEL'
|
|
+'DS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' '
|
|
+'%FIELD_TYPE% f%FIELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* f%F'
|
|
+'IELD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%'
|
|
+'% END FIELDS_NO_STRIP %%%>'#13#10#13#10' // <%%% START FIELDS_NO_STRIP %%%'
|
|
+'>'#13#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* '
|
|
,'__fastcall Get%FIELD_NAME%();'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%'
|
|
+'%>'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'#13#10'public:'#13#10' virtua'
|
|
+'l void __fastcall Assign(Classes::TPersistent* iSource);'#13#10' // <%%% S'
|
|
+'TART IF_HAS_FIELDS %%%>'#13#10' virtual void __fastcall ReadComplex(TObjec'
|
|
+'t* ASerializer);'#13#10' virtual void __fastcall WriteComplex(TObject* ASe'
|
|
+'rializer);'#13#10' // <%%% END IF_HAS_FIELDS %%%>'#13#10#13#10'__published'
|
|
+':'#13#10' // <%%% START FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIE'
|
|
+'LD_TYPE_SIMPLE %%%>'#13#10' __property %FIELD_TYPE% %FIELD_NAME% = {read=f'
|
|
+'%FIELD_NAME%, write=f%FIELD_NAME%}; '#13#10' // <%%% END IF_FIELD_TYPE_SIM'
|
|
+'PLE %%%>'#13#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' __prope'
|
|
+'rty %FIELD_TYPE%* %FIELD_NAME% = {read=Get%FIELD_NAME%, write=f%FIELD_NAME%'
|
|
+'};'#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% END FIE'
|
|
+'LDS_NO_STRIP %%%>'#13#10'public:'#13#10' // Pascal constructor/destructor'
|
|
+#13#10' #pragma option push -w-inl'#13#10' /* TROComplexType.Create */ inl'
|
|
+'ine __fastcall virtual %STRUCT_NAME%()/* overload */ : Urotypes::TROComplex'
|
|
+'Type() {}'#13#10' #pragma option pop'#13#10' #pragma option push -w-inl'
|
|
+#13#10' /* TROComplexType.Destroy */ inline __fastcall virtual ~%STRUCT_NAM'
|
|
+'E%() {}'#13#10' #pragma option pop'#13#10'};'#13#10#13#10'// %STRUCT_COLLE'
|
|
+'CTION_NAME%'#13#10'class DELPHICLASS %STRUCT_COLLECTION_NAME%;'#13#10'class'
|
|
+' %STRUCT_COLLECTION_NAME% : public Uroclasses::TROCollection'#13#10'{'#13#10
|
|
+' typedef Uroclasses::TROCollection inherited;'#13#10#13#10'public:'#13#10
|
|
+' %STRUCT_NAME%* operator[](int Index) { return Items[Index]; }'#13#10#13#10
|
|
+'protected:'#13#10' __fastcall %STRUCT_COLLECTION_NAME%(TMetaClass* aItemCl'
|
|
+'ass) : Uroclasses::TROCollection(aItemClass) {} /*overload*/'#13#10' %STRU'
|
|
+'CT_NAME%* __fastcall GetItems(const int Index);'#13#10' void __fastcall Se'
|
|
+'tItems(const int Index, %STRUCT_NAME%* Value);'#13#10#13#10'public:'#13#10
|
|
+' __fastcall %STRUCT_COLLECTION_NAME%() : Uroclasses::TROCollection(__class'
|
|
+'id(%STRUCT_NAME%)) {} /*overload*/'#13#10' HIDESBASE %STRUCT_NAME%* __fast'
|
|
+'call Add(); /*reintroduce*/'#13#10' // <%%% START ARRAYS_IS_FOUND %%%>'#13
|
|
+#10' void SaveToArray(%ARRAY_NAME%* anArray);'#13#10' void LoadFromArray(%'
|
|
+'ARRAY_NAME%* anArray);'#13#10' // <%%% END ARRAYS_IS_FOUND %%%>'#13#10' _'
|
|
+'_property %STRUCT_NAME%* Items[int Index] = {read=GetItems, write=SetItems '
|
|
+'/*default*/};'#13#10' #pragma option push -w-inl'#13#10' /* TCollection.D'
|
|
+'estroy */ inline __fastcall virtual ~%STRUCT_COLLECTION_NAME%() {}'#13#10' '
|
|
+' #pragma option pop'#13#10'};'#13#10#13#10'typedef DynamicArray<%STRUCT_NAM'
|
|
+'E%* > %UNIT_NAME%_%STRUCT_NAME%__4;'#13#10#13#10'// <%%% END STRUCTS %%%>'
|
|
+#13#10'// <%%% START ARRAYS %%%>'#13#10'// %ARRAY_NAME%'#13#10#13#10'// <%%%'
|
|
+' START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10'typedef DynamicArray<%ARRAY_TYPE%> '
|
|
+'%ARRAY_NAME%_%ARRAY_TYPE%;'#13#10'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13
|
|
+#10'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10'typedef DynamicArray<%AR'
|
|
+'RAY_TYPE%* > %ARRAY_NAME%_%ARRAY_TYPE%;'#13#10'// <%%% END IF_ARRAY_TYPE_CO'
|
|
+'MPLEX %%%>'#13#10#13#10'class DELPHICLASS %ARRAY_NAME%;'#13#10'class %ARRAY'
|
|
+'_NAME% : public Urotypes::TROArray'#13#10'{'#13#10' typedef Urotypes::TROA'
|
|
+'rray inherited;'#13#10#13#10'public:'#13#10' // <%%% START IF_ARRAY_TYPE_C'
|
|
+'OMPLEX %%%>'#13#10' %ARRAY_TYPE%* operator[](const int Index) { return Ite'
|
|
+'ms[Index]; }'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' // <%'
|
|
+'%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' %ARRAY_TYPE% operator[](const i'
|
|
+'nt Index) { return Items[Index]; }'#13#10' // <%%% END IF_ARRAY_TYPE_SIMPL'
|
|
+'E %%%>'#13#10#13#10'private:'#13#10' int fCount;'#13#10' %ARRAY_NAME%_%AR'
|
|
+'RAY_TYPE% fItems;'#13#10#13#10'protected:'#13#10' virtual void __fastcall '
|
|
+'Grow();'#13#10' // <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' %ARRAY_T'
|
|
+'YPE%* __fastcall GetItems(const int Index);'#13#10' void __fastcall SetIte'
|
|
+'ms(const int Index, %ARRAY_TYPE%* Value);'#13#10' // <%%% END IF_ARRAY_TYP'
|
|
+'E_COMPLEX %%%>'#13#10' // <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' %A'
|
|
+'RRAY_TYPE% __fastcall GetItems(const int Index);'#13#10' void __fastcall S'
|
|
+'etItems(const int Index, %ARRAY_TYPE% Value);'#13#10' // <%%% END IF_ARRAY'
|
|
+'_TYPE_SIMPLE %%%>'#13#10' virtual int __fastcall GetCount();'#13#10#13#10
|
|
+'public:'#13#10' /* virtual class method */ '#13#10' // <%%% START IF_ARRA'
|
|
+'Y_TYPE_SIMPLE %%%>'#13#10' virtual Typinfo::PTypeInfo __fastcall GetItemTy'
|
|
+'pe(const TMetaClass* vmt) { return __Get%ARRAY_TYPE%Info; }'#13#10' // <%%'
|
|
+'% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_ARRAY_TYPE_COMPLE'
|
|
+'X %%%>'#13#10' virtual Typinfo::PTypeInfo __fastcall GetItemType(const TMe'
|
|
+'taClass* vmt) { return __typeinfo(%ARRAY_TYPE%); }'#13#10' // <%%% END IF_'
|
|
+'ARRAY_TYPE_COMPLEX %%%>'#13#10#13#10' // <%%% START IF_ARRAY_TYPE_COMPLEX '
|
|
,'%%%>'#13#10' /* virtual class method */ '#13#10' virtual TMetaClass* __fa'
|
|
+'stcall GetItemClass(const TMetaClass* vmt) { return __classid(%ARRAY_TYPE%)'
|
|
+'; }'#13#10' '#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' /* v'
|
|
+'irtual class method */ '#13#10' virtual int __fastcall GetItemSize(const '
|
|
+'TMetaClass* vmt) { return sizeof(%ARRAY_TYPE%); }'#13#10' '#13#10' virt'
|
|
+'ual void * __fastcall GetItemRef(const int Index);'#13#10' // <%%% START I'
|
|
+'F_ARRAY_TYPE_COMPLEX %%%>'#13#10' virtual void __fastcall SetItemRef(const'
|
|
+' int Index, void* Ref);'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13
|
|
+#10' virtual void __fastcall Clear();'#13#10' virtual void __fastcall Dele'
|
|
+'te(const int Index);'#13#10' virtual void __fastcall Resize(const int Elem'
|
|
+'entCount);'#13#10' virtual void __fastcall Assign(Classes::TPersistent* iS'
|
|
+'ource);'#13#10' virtual void __fastcall ReadComplex(TObject* ASerializer);'
|
|
+#13#10' virtual void __fastcall WriteComplex(TObject* ASerializer);'#13#10
|
|
+' // <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' %ARRAY_TYPE%* __fastcal'
|
|
+'l Add()/* overload */;'#13#10' int __fastcall Add(%ARRAY_TYPE%* Value)/* o'
|
|
+'verload */;'#13#10' // <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' // <%%'
|
|
+'% START IF_ARRAY_TYPE_SIMPLE %%%>'#13#10' int __fastcall Add(%ARRAY_TYPE% '
|
|
+'Value)/* overload */;'#13#10' // <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10
|
|
+' __property int Count = {read=GetCount, nodefault};'#13#10' // <%%% START'
|
|
+' IF_ARRAY_TYPE_COMPLEX %%%>'#13#10' __property %ARRAY_TYPE%* Items[int Ind'
|
|
+'ex] = {read=GetItems, write=SetItems/*, default*/};'#13#10' // <%%% END IF'
|
|
+'_ARRAY_TYPE_COMPLEX %%%>'#13#10' // <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'
|
|
+#13#10' __property %ARRAY_TYPE% Items[int Index] = {read=GetItems, write=Se'
|
|
+'tItems/*, default*/};'#13#10' // <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#13#10
|
|
+' __property %ARRAY_NAME%_%ARRAY_TYPE% InnerArray = {read=fItems, nodefault'
|
|
+'};'#13#10'public:'#13#10' #pragma option push -w-inl'#13#10' /* TROArray.'
|
|
+'Destroy */ inline __fastcall virtual ~%ARRAY_NAME%() {Clear();}'#13#10' #p'
|
|
+'ragma option pop'#13#10#13#10'public:'#13#10' #pragma option push -w-inl'
|
|
+#13#10' /* TROComplexType.Create */ inline __fastcall virtual %ARRAY_NAME%('
|
|
+')/* overload */ : Urotypes::TROArray() {}'#13#10' #pragma option pop'#13#10
|
|
+'};'#13#10#13#10'// <%%% END ARRAYS %%%>'#13#10'// <%%% START EXCEPTIONS %%%'
|
|
+'>'#13#10'// <%%% START DOCUMENTATION %%%>'#13#10#13#10'/* Description:'#13
|
|
+#10' %CONTENT% */'#13#10'// <%%% END DOCUMENTATION %%%>'#13#10'class DELP'
|
|
+'HICLASS %EXCEPTION_NAME%;'#13#10'class %EXCEPTION_NAME% : public %EXCEPTION'
|
|
+'_ANCESTOR_NAME%'#13#10'{'#13#10' typedef %EXCEPTION_ANCESTOR_NAME% inherit'
|
|
+'ed;'#13#10' '#13#10'private:'#13#10' // <%%% START FIELDS_NO_STRIP %%%>'
|
|
+#13#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' %FIELD_TYPE% f%FIE'
|
|
+'LD_NAME%;'#13#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% S'
|
|
+'TART IF_FIELD_TYPE_COMPLEX %%%>'#13#10' %FIELD_TYPE%* f%FIELD_NAME%;'#13#10
|
|
+' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% END FIELDS_NO_STR'
|
|
+'IP %%%>'#13#10'public:'#13#10' %EXCEPTION_NAME%(AnsiString anExceptionMess'
|
|
+'age'#13#10' // <%%% START ANCESTOR_FIELDS %%%>'#13#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#13#10' '
|
|
+' , %FIELD_TYPE% a%FIELD_NAME% '#13#10' // <%%% END '
|
|
+'IF_FIELD_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_FIELD_'
|
|
+'TYPE_COMPLEX %%%>'#13#10' , %FIELD_TYPE%* a%FIELD_NAME% '
|
|
+#13#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' '
|
|
+' // <%%% END ANCESTOR_FIELDS %%%>'#13#10' /'
|
|
+'/ <%%% START FIELDS_NO_STRIP %%%>'#13#10' // <%%% START I'
|
|
+'F_FIELD_TYPE_SIMPLE %%%>'#13#10' , %FIELD_TYPE% a%FIELD_N'
|
|
+'AME% '#13#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' '
|
|
+' , %FIELD_TYPE%* a%FIELD_NAME% '#13#10' // <%%%'
|
|
+' END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% END FIELD'
|
|
+'S_NO_STRIP %%%>'#13#10' );'#13#10' // <%%% START IF_HAS_'
|
|
+'FIELDS %%%>'#13#10' virtual void __fastcall ReadException(TObject* ASerial'
|
|
+'izer);'#13#10' virtual void __fastcall WriteException(TObject* ASerializer'
|
|
+');'#13#10' // <%%% END IF_HAS_FIELDS %%%>'#13#10'__published:'#13#10' // '
|
|
+'<%%% START FIELDS_NO_STRIP %%%>'#13#10' // <%%% START IF_FIELD_TYPE_SIMPLE'
|
|
+' %%%>'#13#10' __property %FIELD_TYPE% %FIELD_NAME% = {read=f%FIELD_NAME%, '
|
|
+'write=f%FIELD_NAME%}; '#13#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#13#10
|
|
+' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#13#10' __property %FIELD_TYPE%'
|
|
+'* %FIELD_NAME% = {read=f%FIELD_NAME%, write=f%FIELD_NAME%}; '#13#10' // <%'
|
|
+'%% END IF_FIELD_TYPE_COMPLEX %%%>'#13#10' // <%%% END FIELDS_NO_STRIP %%%>'
|
|
,#13#10'};'#13#10#13#10'// <%%% END EXCEPTIONS %%%>'#13#10'// <%%% START SERV'
|
|
+'ICES %%%>'#13#10'__interface I%SERVICE_NAME%;'#13#10'typedef System::Delphi'
|
|
+'Interface<I%SERVICE_NAME%> _di_I%SERVICE_NAME%;'#13#10'__interface INTERFAC'
|
|
+'E_UUID("%SERVICE_UID%") I%SERVICE_NAME% : public %SERVICE_ANCESTOR_NAME%'#13
|
|
+#10'{'#13#10'public:'#13#10' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10
|
|
+' // <%%% START IF_RESULT_SIMPLE %%%>'#13#10' virtual %OPERATION_RESULT% _'
|
|
+'_fastcall %OPERATION_NAME%('#13#10' // <%%% END IF_RESULT_SIMPLE %%%>'#13
|
|
+#10' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' virtual %OPERATION_RESUL'
|
|
+'T%* __fastcall %OPERATION_NAME%('#13#10' // <%%% END IF_RESULT_COMPLEX %%%'
|
|
+'>'#13#10' // <%%% START PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TY'
|
|
+'PE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_M'
|
|
+'ODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13
|
|
+#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MOD'
|
|
+'IFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%%'
|
|
+' END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS %%%>'#13#10' '
|
|
+' ) = 0; // pure virtual function - interface only'#13#10' // <%%% END FU'
|
|
+'NCTION_OPERATIONS %%%>'#13#10' // <%%% START PROCEDURE_OPERATIONS %%%>'#13
|
|
+#10' virtual void __fastcall %OPERATION_NAME%('#13#10' // <%%% START PAR'
|
|
+'AMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PAR'
|
|
+'AM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10
|
|
+' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM'
|
|
+'_TYPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_B'
|
|
+'ACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%'
|
|
+'%>'#13#10' // <%%% END PARAMS %%%>'#13#10' ) = 0; // pure virtual fun'
|
|
+'ction - interface only'#13#10' // <%%% END PROCEDURE_OPERATIONS %%%>'#13#10
|
|
+'};'#13#10#13#10'class DELPHICLASS T%SERVICE_NAME%_Proxy;'#13#10'class T%SER'
|
|
+'VICE_NAME%_Proxy : public %SERVICE_PROXY_ANCESTOR_NAME%, I%SERVICE_NAME%'#13
|
|
+#10'{'#13#10' typedef %SERVICE_PROXY_ANCESTOR_NAME% inherited;'#13#10' '#13
|
|
+#10'protected:'#13#10' virtual AnsiString __fastcall __GetInterfaceName()'
|
|
+#13#10' { return "%SERVICE_NAME%"; }'#13#10#13#10' // <%%% START FUNCTIO'
|
|
+'N_OPERATIONS %%%>'#13#10' // <%%% START IF_RESULT_SIMPLE %%%>'#13#10' vir'
|
|
+'tual %OPERATION_RESULT% __fastcall %OPERATION_NAME%('#13#10' // <%%% END I'
|
|
+'F_RESULT_SIMPLE %%%>'#13#10' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' '
|
|
+' virtual %OPERATION_RESULT%* __fastcall %OPERATION_NAME%('#13#10' // <%%% '
|
|
+'END IF_RESULT_COMPLEX %%%>'#13#10' // <%%% START PARAMS %%%>'#13#10' '
|
|
+'// <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %'
|
|
+'PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_P'
|
|
+'ARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM'
|
|
+'_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%'
|
|
+'% END PARAMS %%%>'#13#10' );'#13#10' // <%%% END FUNCTION_OPERATIONS %%'
|
|
+'%>'#13#10' // <%%% START PROCEDURE_OPERATIONS %%%>'#13#10' virtual void _'
|
|
+'_fastcall %OPERATION_NAME%('#13#10' // <%%% START PARAMS %%%>'#13#10' '
|
|
+' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% '
|
|
+'%PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_'
|
|
+'PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM'
|
|
+'_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%'
|
|
+'% END PARAMS %%%>'#13#10' );'#13#10' // <%%% END PROCEDURE_OPERATIONS %'
|
|
+'%%>'#13#10' '#13#10'public:'#13#10' #pragma option push -w-inl'#13#10' /'
|
|
+'* TROProxy.Create */ inline __fastcall virtual T%SERVICE_NAME%_Proxy(const '
|
|
+'Uroclientintf::_di_IROMessage aMessage, const Uroclientintf::_di_IROTranspo'
|
|
+'rtChannel aTransportChannel)/* overload */ :'#13#10' %SERVICE_PROXY_ANCE'
|
|
+'STOR_NAME%(aMessage, aTransportChannel) {}'#13#10' #pragma option pop'#13
|
|
+#10' '#13#10' virtual HRESULT __stdcall QueryInterface(const GUID& IID, vo'
|
|
+'id **Obj) {'#13#10' return inherited::QueryInterface(IID, (void *)Obj); '
|
|
+'}'#13#10#13#10' virtual ULONG __stdcall AddRef() {'#13#10' return inher'
|
|
+'ited::_AddRef(); }'#13#10#13#10' virtual ULONG __stdcall Release() {'#13
|
|
+#10' return inherited::_Release(); }'#13#10'};'#13#10#13#10'// Co%SERVICE'
|
|
+'_NAME%'#13#10'class DELPHICLASS Co%SERVICE_NAME%;'#13#10'class Co%SERVICE_N'
|
|
+'AME% : public System::TObject'#13#10'{'#13#10' typedef System::TObject inh'
|
|
+'erited;'#13#10#13#10'public:'#13#10' static _di_I%SERVICE_NAME% __fastcall'
|
|
+' Create(const Uroclientintf::_di_IROMessage aMessage,'#13#10' '
|
|
+' Uroclientintf::_di_IROTransportChannel aTransportChannel)'#13#10
|
|
,' {'#13#10' _di_I%SERVICE_NAME% result;'#13#10' T%SERVICE_NAME%_Proxy'
|
|
+'* proxy = new T%SERVICE_NAME%_Proxy(aMessage, aTransportChannel);'#13#10' '
|
|
+' if (proxy->QueryInterface(I%SERVICE_NAME%_IID, reinterpret_cast<void**>(&'
|
|
+'result)) != S_OK)'#13#10' {'#13#10' delete proxy;'#13#10' thro'
|
|
+'w EIntfCastError::EIntfCastError("I%SERVICE_NAME% not supported");'#13#10' '
|
|
+' }'#13#10' return result;'#13#10' };'#13#10#13#10' static _di_I%SERV'
|
|
+'ICE_NAME% __fastcall Create( Uroclient::TROMessage* aMessage,'#13#10' '
|
|
+' Uroclient::TROTransportChannel *aTransportChannel)'#13#10
|
|
+' {'#13#10' _di_IROMessage __Message;'#13#10' _di_IROTransportChannel'
|
|
+' __TransportChannel;'#13#10#13#10' if (aMessage->GetInterface(__Message)'
|
|
+')'#13#10' {'#13#10' if (aTransportChannel->GetInterface(__Transport'
|
|
+'Channel))'#13#10' return Create(__Message, __TransportChannel);'#13
|
|
+#10' else'#13#10' throw EIntfCastError::EIntfCastError("IROTrans'
|
|
+'portChannel not supported");'#13#10' }'#13#10' else'#13#10' {'#13
|
|
+#10' throw EIntfCastError::EIntfCastError("IROMessage not supported");'
|
|
+#13#10' }'#13#10' };'#13#10'};'#13#10#13#10'// <%%% END SERVICES %%%>'#13
|
|
+#10'// <%%% START EVENT_SINKS %%%>'#13#10'/* I%EVENT_SINK_NAME% */'#13#10'//'
|
|
+' <%%% START DOCUMENTATION %%%>'#13#10#13#10'/* Description:'#13#10' %CON'
|
|
+'TENT% */'#13#10'// <%%% END DOCUMENTATION %%%>'#13#10'__interface I%EVENT_S'
|
|
+'INK_NAME%;'#13#10'typedef System::DelphiInterface<I%EVENT_SINK_NAME%> _di_I'
|
|
+'%EVENT_SINK_NAME%;'#13#10'__interface INTERFACE_UUID("%EVENT_SINK_UID%") I%'
|
|
+'EVENT_SINK_NAME% : public %EVENT_SINK_ANCESTOR_NAME%'#13#10'{'#13#10'public'
|
|
+':'#13#10' // <%%% START OPERATIONS %%%>'#13#10' virtual void __fastcall %'
|
|
+'OPERATION_NAME%('#13#10' // <%%% START PARAMS %%%>'#13#10' // <%%% ST'
|
|
+'ART IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE'
|
|
+'% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_'
|
|
+'SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'%PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13
|
|
+#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS'
|
|
+' %%%>'#13#10' ) = 0; // pure virtual function - interface only'#13#10' '
|
|
+'// <%%% END OPERATIONS %%%>'#13#10'};'#13#10#13#10'/* I%EVENT_SINK_NAME%_Wr'
|
|
+'iter */'#13#10'// <%%% START DOCUMENTATION %%%>'#13#10#13#10'/* Description'
|
|
+':'#13#10' %CONTENT% */'#13#10'// <%%% END DOCUMENTATION %%%>'#13#10'__in'
|
|
+'terface I%EVENT_SINK_NAME%_Writer;'#13#10'typedef System::DelphiInterface<I'
|
|
+'%EVENT_SINK_NAME%_Writer> _di_I%EVENT_SINK_NAME%_Writer;'#13#10'__interface'
|
|
+' INTERFACE_UUID("%EVENT_SINK_UID%") I%EVENT_SINK_NAME%_Writer : public I%EV'
|
|
+'ENT_SINK_WRITER_ANCESTOR_NAME%'#13#10'{'#13#10'public:'#13#10' // <%%% STA'
|
|
+'RT OPERATIONS %%%>'#13#10' virtual void __fastcall %OPERATION_NAME%(GUID _'
|
|
+'_Sender '#13#10' // <%%% START PARAMS %%%>'#13#10' // <%%% START IF_P'
|
|
+'ARAM_TYPE_SIMPLE %%%>'#13#10' , %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PAR'
|
|
+'AM_BACK_MODIFIER% %PARAM_NAME%'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE '
|
|
+'%%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' , %PARA'
|
|
+'M_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%'#13#10' '
|
|
+' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END PARAMS %%%'
|
|
+'>'#13#10' ) = 0; // pure virtual function - interface only'#13#10' // <'
|
|
+'%%% END OPERATIONS %%%>'#13#10'};'#13#10#13#10'// <%%% END EVENT_SINKS %%%>'
|
|
+#13#10'} // namespace %NAMESPACE_NAME%'#13#10#13#10'using namespace %NAMESP'
|
|
+'ACE_NAME%;'#13#10'#pragma pack(pop)'#13#10'#pragma option pop'#13#10#13#10
|
|
+'#pragma delphiheader end.'#13#10'#endif // %UNIT_NAME%H'#13#10#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_INVK_CPP','RCDATA',[
|
|
'// %UNIT_NAME%'#13#10'//'#13#10'/*------------------------------------------'
|
|
+'---------------------------------}'#13#10'{ This unit was automatically gen'
|
|
+'erated by the RemObjects SDK after reading }'#13#10'{ the RODL file associ'
|
|
+'ated with this project. }'#13#10'{ '
|
|
+' }'#13#10
|
|
+'{ Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{----------------------------------------------------'
|
|
+'-----------------------*/'#13#10#13#10'// RemObjects:'#13#10'#include <uROR'
|
|
+'es.HPP>'#13#10'#include <uROClient.HPP>'#13#10#13#10'// Interface of %LIBRA'
|
|
+'RY_NAME%'#13#10'#include "%LIBRARY_NAME%_Intf.h"'#13#10#13#10'// Implementa'
|
|
+'tion of %LIBRARY_NAME%'#13#10'#include "%LIBRARY_NAME%_Invk.h"'#13#10#13#10
|
|
+'// <%%% START SERVICES %%%>'#13#10'// T%SERVICE_NAME%_Invoker'#13#10#13#10
|
|
+'// <%%% START FUNCTION_OPERATIONS %%%>'#13#10'void __fastcall T%SERVICE_NAM'
|
|
+'E%_Invoker::Invoke_%OPERATION_NAME%('#13#10#9#9'const System::_di_IInterfac'
|
|
+'e __Instance,'#13#10#9#9'const Uroclientintf::_di_IROMessage __Message,'#13
|
|
+#10#9#9'const Uroclientintf::_di_IROTransport __Transport,'#13#10#9#9'/* out'
|
|
+' */ Uroserverintf::TROResponseOptions& __oResponseOptions)'#13#10'{'#13#10
|
|
+'// <%%% START IF_RESULT_SIMPLE %%%>'#13#10'// virtual %OPERATION_RESULT% __'
|
|
+'fastcall %OPERATION_NAME%('#13#10'// <%%% END IF_RESULT_SIMPLE %%%>'#13#10
|
|
+'// <%%% START IF_RESULT_COMPLEX %%%>'#13#10'// virtual %OPERATION_RESULT%* '
|
|
+'__fastcall %OPERATION_NAME%('#13#10'// <%%% END IF_RESULT_COMPLEX %%%>'#13
|
|
+#10'// <%%% START PARAMS %%%>'#13#10'// <%%% START IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10'// %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM'
|
|
+'_NAME%,'#13#10'// <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10'// <%%% START I'
|
|
+'F_PARAM_TYPE_COMPLEX %%%>'#13#10'// %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* '
|
|
+'%PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10'// <%%% END IF_PARAM_TYPE_COMPLE'
|
|
+'X %%%>'#13#10'// <%%% END PARAMS %%%>'#13#10'// );'#13#10#13#10' // <%%%'
|
|
+' START PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%'
|
|
+'>'#13#10' %PARAM_TYPE% %PARAM_NAME%;'#13#10' // <%%% END IF_PARAM_TYPE_SI'
|
|
+'MPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM'
|
|
+'_TYPE%* %PARAM_NAME% = NULL;'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%'
|
|
+'>'#13#10' // <%%% END PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_RESUL'
|
|
+'T_SIMPLE %%%>'#13#10' %OPERATION_RESULT% lResult;'#13#10' // <%%% END IF_'
|
|
+'RESULT_SIMPLE %%%>'#13#10' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10' %'
|
|
+'OPERATION_RESULT%* lResult = NULL;'#13#10' // <%%% END IF_RESULT_COMPLEX %'
|
|
+'%%>'#13#10' try'#13#10' {'#13#10#9'_di_I%SERVICE_NAME% __%SERVICE_NAME%In'
|
|
+'stance;'#13#10#9'if (__Instance->Supports(__%SERVICE_NAME%Instance))'#13#10
|
|
+#9'{'#13#10#9' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10#9' // <%%% STA'
|
|
+'RT IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9' __Message->Read("%PARAM_NAME%", __G'
|
|
+'et%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13
|
|
+#10#9' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9' // <%%% START IF_PA'
|
|
+'RAM_TYPE_COMPLEX %%%>'#13#10#9' __Message->Read("%PARAM_NAME%", __typeinfo'
|
|
+'(%PARAM_TYPE%), &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10
|
|
+#9' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9' // <%%% END IN_PARAMS'
|
|
+'_NO_STRIP %%%>'#13#10#13#10#9' lResult = __%SERVICE_NAME%Instance->%OPERAT'
|
|
+'ION_NAME%('#13#10#9#9#9#9#9#9#9#9#9#9#9'// <%%% START PARAMS %%%>'#13#10#9#9
|
|
+#9#9#9#9#9#9#9#9#9'%PARAM_NAME%,'#13#10#9#9#9#9#9#9#9#9#9#9#9'// <%%% END PA'
|
|
+'RAMS %%%>'#13#10#9#9#9#9#9#9#9#9#9#9#9');'#13#10#13#10#9' __Message->Initi'
|
|
+'alizeResponseMessage(__Transport, "%LIBRARY_NAME%", "%SERVICE_NAME%", "%OPE'
|
|
+'RATION_NAME%Response");'#13#10#9' // <%%% START IF_RESULT_SIMPLE %%%>'#13
|
|
+#10#9' __Message->Write("Result", __Get%OPERATION_RESULT%Info, &lResult, TP'
|
|
+'aramAttributes(%OPERATION_RESULT_ATTRIBUTE%));'#13#10#9' // <%%% END IF_RE'
|
|
+'SULT_SIMPLE %%%>'#13#10#9' // <%%% START IF_RESULT_COMPLEX %%%>'#13#10#9' '
|
|
+' __Message->Write("Result", __typeinfo(%OPERATION_RESULT%), &lResult, TPara'
|
|
+'mAttributes(%OPERATION_RESULT_ATTRIBUTE%));'#13#10#9' // <%%% END IF_RESUL'
|
|
+'T_COMPLEX %%%>'#13#10#9' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13#10#9' '
|
|
+' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9' __Message->Write("%PARA'
|
|
+'M_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATT'
|
|
+'RIBUTE%));'#13#10#9' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9' // <'
|
|
+'%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9' __Message->Write("%PARAM_NA'
|
|
+'ME%", __typeinfo(%PARAM_TYPE%), &%PARAM_NAME%, TParamAttributes(%PARAM_ATTR'
|
|
+'IBUTE%));'#13#10#9' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9' // <'
|
|
+'%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10#9' __Message->Finalize();'#13#10#9
|
|
,' __Message->UnsetAttributes(__Transport);'#13#10#9'}'#13#10#9'else'#13#10#9
|
|
+'{'#13#10#9' throw new EIntfCastError("Critical error in Invoker: Instance '
|
|
+'does not support I%SERVICE_NAME% interface");'#13#10#9'}'#13#10' }'#13#10
|
|
+' __finally'#13#10' {'#13#10#9'// <%%% START IF_HAS_COMPLEX_TYPE %%%>'#13
|
|
+#10#9'TROObjectDisposer* __lObjectDisposer = new TROObjectDisposer(__Instanc'
|
|
+'e);'#13#10#9'try'#13#10#9'{'#13#10#9' // <%%% START PARAMS_NO_STRIP %%%>'
|
|
+#13#10#9' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9' __lObjectDisp'
|
|
+'oser->Add(%PARAM_NAME%);'#13#10#9' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'
|
|
+#13#10#9' // <%%% END PARAMS_NO_STRIP %%%>'#13#10#9' // <%%% START IF_RESU'
|
|
+'LT_COMPLEX %%%>'#13#10#9' __lObjectDisposer->Add(lResult);'#13#10#9' // <'
|
|
+'%%% END IF_RESULT_COMPLEX %%%>'#13#10#9'}'#13#10#9'__finally'#13#10#9'{'#13
|
|
+#10#9' delete __lObjectDisposer;'#13#10#9'}'#13#10#9'// <%%% END IF_HAS_COM'
|
|
+'PLEX_TYPE %%%>'#13#10' }'#13#10'}'#13#10#13#10'// <%%% END FUNCTION_OPERAT'
|
|
+'IONS %%%>'#13#10'// <%%% START PROCEDURE_OPERATIONS %%%>'#13#10'void __fast'
|
|
+'call T%SERVICE_NAME%_Invoker::Invoke_%OPERATION_NAME%('#13#10#9#9'const Sys'
|
|
+'tem::_di_IInterface __Instance,'#13#10#9#9'const Uroclientintf::_di_IROMess'
|
|
+'age __Message,'#13#10#9#9'const Uroclientintf::_di_IROTransport __Transport'
|
|
+','#13#10#9#9'/* out */ Uroserverintf::TROResponseOptions& __oResponseOption'
|
|
+'s)'#13#10'{'#13#10'// virtual void __fastcall %OPERATION_NAME%('#13#10'// <'
|
|
+'%%% START PARAMS %%%>'#13#10'// <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10
|
|
+'// %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%'
|
|
+','#13#10'// <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10'// <%%% START IF_PARA'
|
|
+'M_TYPE_COMPLEX %%%>'#13#10'// %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM'
|
|
+'_BACK_MODIFIER% %PARAM_NAME%,'#13#10'// <%%% END IF_PARAM_TYPE_COMPLEX %%%>'
|
|
+#13#10'// <%%% END PARAMS %%%>'#13#10'// );'#13#10#13#10' // <%%% START P'
|
|
+'ARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10
|
|
+' %PARAM_TYPE% %PARAM_NAME%;'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_TYPE%* %PA'
|
|
+'RAM_NAME%;'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%%'
|
|
+' END PARAMS_NO_STRIP %%%>'#13#10' try'#13#10' {'#13#10#9'_di_I%SERVICE_NA'
|
|
+'ME% __%SERVICE_NAME%Instance;'#13#10#9'if (__Instance->Supports(__%SERVICE_'
|
|
+'NAME%Instance))'#13#10#9'{'#13#10#9' // <%%% START IN_PARAMS_NO_STRIP %%%>'
|
|
+#13#10#9' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9' __Message->Rea'
|
|
+'d("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%P'
|
|
+'ARAM_ATTRIBUTE%));'#13#10#9' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9
|
|
+' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9' __Message->Read("%PAR'
|
|
+'AM_NAME%", __typeinfo(%PARAM_TYPE%), &%PARAM_NAME%, TParamAttributes(%PARAM'
|
|
+'_ATTRIBUTE%));'#13#10#9' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9' '
|
|
+' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10#13#10#9' __%SERVICE_NAME%Insta'
|
|
+'nce->%OPERATION_NAME%('#13#10#9#9#9#9#9#9#9#9' // <%%% START PARAMS %%%>'
|
|
+#13#10#9#9#9#9#9#9#9#9' %PARAM_NAME%,'#13#10#9#9#9#9#9#9#9#9' // <%%% END '
|
|
+'PARAMS %%%>'#13#10#9#9#9#9#9#9#9#9' );'#13#10#13#10#9' __Message->Initial'
|
|
+'izeResponseMessage(__Transport, "%LIBRARY_NAME%", "%SERVICE_NAME%", "%OPERA'
|
|
+'TION_NAME%Response");'#13#10#9' // <%%% START OUT_PARAMS_NO_STRIP %%%>'#13
|
|
+#10#9' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9' __Message->Write('
|
|
+'"%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PAR'
|
|
+'AM_ATTRIBUTE%));'#13#10#9' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10#9
|
|
+' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9' __Message->Write("%PA'
|
|
+'RAM_NAME%", __typeinfo(%PARAM_TYPE%), &%PARAM_NAME%, TParamAttributes(%PARA'
|
|
+'M_ATTRIBUTE%));'#13#10#9' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10#9
|
|
+' // <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10#9' __Message->Finalize();'#13
|
|
+#10#9' __Message->UnsetAttributes(__Transport);'#13#10#9' // <%%% START IF'
|
|
+'_NO_OUT_PARAMS %%%>'#13#10#13#10#9' __oResponseOptions = TROResponseOption'
|
|
+'s() << roNoResponse;'#13#10#9' // <%%% END IF_NO_OUT_PARAMS %%%>'#13#10#9
|
|
+'}'#13#10#9'else'#13#10#9'{'#13#10#9' throw new EIntfCastError("Critical er'
|
|
+'ror in Invoker: Instance does not support %SERVICE_NAME% interface");'#13#10
|
|
+#9'}'#13#10' }'#13#10' __finally'#13#10' {'#13#10#9'// <%%% START IF_HAS_'
|
|
+'COMPLEX_TYPE %%%>'#13#10#9'TROObjectDisposer* __lObjectDisposer = new TROOb'
|
|
+'jectDisposer(__Instance);'#13#10#9'try'#13#10#9'{'#13#10#9' // <%%% START '
|
|
+'PARAMS_NO_STRIP %%%>'#13#10#9' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10#9' __lObjectDisposer->Add(%PARAM_NAME%);'#13#10#9' // <%%% END IF_PARA'
|
|
+'M_TYPE_COMPLEX %%%>'#13#10#9' // <%%% END PARAMS_NO_STRIP %%%>'#13#10#9'}'
|
|
+#13#10#9'__finally'#13#10#9'{'#13#10#9' delete __lObjectDisposer;'#13#10#9
|
|
+'}'#13#10#9'// <%%% END IF_HAS_COMPLEX_TYPE %%%>'#13#10' }'#13#10'}'#13#10
|
|
,'// <%%% END PROCEDURE_OPERATIONS %%%>'#13#10'// <%%% END SERVICES %%%>'#13
|
|
+#10#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_INVK_H','RCDATA',[
|
|
'// %UNIT_NAME%'#13#10'//'#13#10'/*------------------------------------------'
|
|
+'---------------------------------}'#13#10'{ This unit was automatically gen'
|
|
+'erated by the RemObjects SDK after reading }'#13#10'{ the RODL file associ'
|
|
+'ated with this project. }'#13#10'{ '
|
|
+' }'#13#10
|
|
+'{ Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{----------------------------------------------------'
|
|
+'-----------------------*/'#13#10#13#10'#ifndef %UNIT_NAME%H'#13#10'#define '
|
|
+'%UNIT_NAME%H'#13#10#13#10'#pragma delphiheader begin'#13#10'#pragma option '
|
|
+'push'#13#10'#pragma option -w- // All warnings off'#13#10'#pragma opti'
|
|
+'on -Vx // Zero-length empty class member functions'#13#10'#pragma pack'
|
|
+'(push,8)'#13#10#13#10'#include <System.hpp>'#9#9#9' // Pascal unit'#13#10
|
|
+'#include <Uroserver.hpp>'#9' // Pascal unit'#13#10'// <%%% START REQUIRE'
|
|
+'D_UNITS %%%>'#13#10'#include <%REQUIRED_UNIT_NAME%.hpp>'#13#10'// <%%% END '
|
|
+'REQUIRED_UNITS %%%>'#13#10#13#10'#include "%LIBRARY_NAME%_Intf.h"'#13#10#13
|
|
+#10'namespace %NAMESPACE_NAME%'#13#10'{'#13#10'//-- type declarations ------'
|
|
+'-------------------------------------------------'#13#10'typedef Classes::T'
|
|
+'SeekOrigin TSeekOrigin; // Fake declaration '#13#10#13#10'// <%%% START S'
|
|
+'ERVICES %%%>'#13#10'class DELPHICLASS T%SERVICE_NAME%_Invoker : public TROI'
|
|
+'nvoker'#13#10'{'#13#10' typedef Uroserver::TROInvoker inherited;'#13#10#13
|
|
+#10' __published:'#13#10' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10
|
|
+' void __fastcall Invoke_%OPERATION_NAME%('#13#10' const System::_'
|
|
+'di_IInterface __Instance,'#13#10' const Uroclientintf::_di_IROMessag'
|
|
+'e __Message,'#13#10' const Uroclientintf::_di_IROTransport __Transpo'
|
|
+'rt,'#13#10' /* out */ Uroserverintf::TROResponseOptions& __oResponse'
|
|
+'Options);'#13#10' // <%%% END FUNCTION_OPERATIONS %%%>'#13#10' // <%%'
|
|
+'% START PROCEDURE_OPERATIONS %%%>'#13#10' void __fastcall Invoke_%OPERAT'
|
|
+'ION_NAME%('#13#10' const System::_di_IInterface __Instance,'#13#10' '
|
|
+' const Uroclientintf::_di_IROMessage __Message,'#13#10' const '
|
|
+'Uroclientintf::_di_IROTransport __Transport,'#13#10' /* out */ Urose'
|
|
+'rverintf::TROResponseOptions& __oResponseOptions);'#13#10' // <%%% END P'
|
|
+'ROCEDURE_OPERATIONS %%%>'#13#10' public:'#13#10#9'#pragma option push -w-i'
|
|
+'nl'#13#10#9'/* TROInvoker.Create */ inline __fastcall virtual T%SERVICE_NAM'
|
|
+'E%_Invoker(): Uroserver::TROInvoker() {}'#13#10#9'#pragma option pop'#13#10
|
|
+#9'#pragma option push -w-inl'#13#10#9'/* TROInvoker.Destroy */ inline __fas'
|
|
+'tcall virtual ~T%SERVICE_NAME%_Invoker() {}'#13#10#9'#pragma option pop'#13
|
|
+#10#13#10' protected:'#13#10' private:'#13#10'};'#13#10'// <%%% END SERVIC'
|
|
+'ES %%%>'#13#10#13#10'}'#9'// namespace %NAMESPACE_NAME%'#13#10'using namesp'
|
|
+'ace %NAMESPACE_NAME%;'#13#10'#pragma pack(pop)'#13#10'#pragma option pop'#13
|
|
+#10'#pragma delphiheader end.'#13#10'//-- end H ----------------------------'
|
|
+'------------------------------------'#13#10'#endif'#9'// %UNIT_NAME%H'#13#10
|
|
+#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_IMPL_CPP','RCDATA',[
|
|
'// <%%% START SERVICES %%%>'#13#10'// unit %UNIT_NAME%'#13#10'//'#13#10'/*--'
|
|
+'-------------------------------------------------------------------------}'
|
|
+#13#10'{ This unit was automatically generated by the RemObjects SDK after r'
|
|
+'eading }'#13#10'{ the RODL file associated with this project . '
|
|
+' }'#13#10'{ '
|
|
+' }'#13#10'{ Modify this unit to provide implem'
|
|
+'entation for your service. */'#13#10#13#10'// Interface of %LI'
|
|
+'BRARY_NAME%'#13#10'#include "%LIBRARY_NAME%_Intf.h"'#13#10#13#10'// Our hea'
|
|
+'der file'#13#10'#include "%UNIT_NAME%.h"'#13#10#13#10'// Invoker interface'
|
|
+#13#10'#include "%LIBRARY_NAME%_Invk.h"'#13#10#13#10'// <%%% START IF_DATA_M'
|
|
+'ODULE %%%>'#13#10'#pragma link "Uroremotedatamodule"'#13#10'// <%%% END IF_'
|
|
+'DATA_MODULE %%%>'#13#10'#pragma link "Uroserver"'#13#10#13#10'// <%%% START'
|
|
+' IF_DATA_MODULE %%%>'#13#10'//---------------------------------------------'
|
|
+'------------------------------'#13#10'#pragma package(smart_init)'#13#10'#p'
|
|
+'ragma resource "*.dfm" '#13#10'T%SERVICE_NAME% *%SERVICE_NAME%;'#13#10'/'
|
|
+'/--------------------------------------------------------------------------'
|
|
+'-'#13#10'// <%%% END IF_DATA_MODULE %%%>'#13#10'void __fastcall Create_%SER'
|
|
+'VICE_NAME%(/*out*/ _di_IInterface& anInstance)'#13#10'{'#13#10' anInstance'
|
|
+' = new T%SERVICE_NAME%('#13#10' // <%%% START IF_DATA_MODULE %%%>'#13#10
|
|
+' NULL'#13#10' // <%%% END IF_DATA_MODULE %%%>'#13#10' )->operator '
|
|
+'IROObjectRetainer *();'#13#10'}'#13#10#13#10'// %SERVICE_NAME%'#13#10'// <%'
|
|
+'%% START IF_DATA_MODULE %%%>'#13#10#13#10'__fastcall T%SERVICE_NAME%::T%SER'
|
|
+'VICE_NAME%(Classes::TComponent* aOwner)'#13#10' : TRORemoteDataModule(aO'
|
|
+'wner)'#13#10'{'#13#10'}'#13#10'// <%%% END IF_DATA_MODULE %%%>'#13#10'// <%'
|
|
+'%% START FUNCTION_OPERATIONS %%%>'#13#10'// <%%% START IF_RESULT_SIMPLE %%%'
|
|
+'>'#13#10'%OPERATION_RESULT% __fastcall T%SERVICE_NAME%::%OPERATION_NAME%('
|
|
+#13#10'// <%%% END IF_RESULT_SIMPLE %%%>'#13#10'// <%%% START IF_RESULT_COMP'
|
|
+'LEX %%%>'#13#10'%OPERATION_RESULT%* __fastcall T%SERVICE_NAME%::%OPERATION_'
|
|
+'NAME%('#13#10'// <%%% END IF_RESULT_COMPLEX %%%>'#13#10' // <%%% START PAR'
|
|
+'AMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_F'
|
|
+'RONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' //'
|
|
+' <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_CO'
|
|
+'MPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFI'
|
|
+'ER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'// <%%% END PARAMS %%%>'#13#10' )'#13#10'{'#13#10' // Insert your impleme'
|
|
+'ntation code for %SERVICE_NAME%::%OPERATION_NAME% here'#13#10'}'#13#10'// <'
|
|
+'%%% END FUNCTION_OPERATIONS %%%>'#13#10#13#10'// <%%% START PROCEDURE_OPERA'
|
|
+'TIONS %%%>'#13#10'void __fastcall T%SERVICE_NAME%::%OPERATION_NAME%('#13#10
|
|
+' // <%%% START PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%'
|
|
+'>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM'
|
|
+'_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% STA'
|
|
+'RT IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%*'
|
|
+' %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COM'
|
|
+'PLEX %%%>'#13#10' // <%%% END PARAMS %%%>'#13#10' )'#13#10'{'#13#10' // '
|
|
+'Insert your implementation code for %SERVICE_NAME%::%OPERATION_NAME% here'
|
|
+#13#10'}'#13#10'// <%%% END PROCEDURE_OPERATIONS %%%>'#13#10#13#10'void __in'
|
|
+'itialization_%UNIT_NAME%();'#13#10#13#10'#pragma startup __initialization_%'
|
|
+'UNIT_NAME%'#13#10#13#10'void __initialization_%UNIT_NAME%()'#13#10'{'#13#10
|
|
+' new TROClassFactory("%SERVICE_NAME%", Create_%SERVICE_NAME%, __classid(T%'
|
|
+'SERVICE_NAME%_Invoker));'#13#10'}'#13#10#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_IMPL_H','RCDATA',[
|
|
'// <%%% START SERVICES %%%>'#13#10'// unit %UNIT_NAME%'#13#10'//'#13#10'/*--'
|
|
+'-------------------------------------------------------------------------}'
|
|
+#13#10'{ This unit was automatically generated by the RemObjects SDK after r'
|
|
+'eading }'#13#10'{ the RODL file associated with this project . '
|
|
+' }'#13#10'{ '
|
|
+' }'#13#10'{ Do not modify this unit manually, '
|
|
+'or your changes will be lost when this }'#13#10'{ unit is regenerated the'
|
|
+' next time you compile your project. }'#13#10'{ '
|
|
+' }'#13#10'{ M'
|
|
+'odify the %UNIT_NAME%.cpp file to change the implementation details of }'
|
|
+#13#10'{ this service. '
|
|
+' }'#13#10'{---------------------------------------------------------'
|
|
+'------------------*/'#13#10#13#10'#ifndef %UNIT_NAME%H'#13#10'#define %UNIT'
|
|
+'_NAME%H'#13#10#13#10'#include <System.hpp>'#9' // Pascal unit'#13
|
|
+#10'// <%%% START IF_DATA_MODULE %%%>'#13#10'#include <Classes.hpp>'#13#10'#'
|
|
+'include <Controls.hpp>'#13#10'#include <StdCtrls.hpp>'#13#10'#include <Form'
|
|
+'s.hpp>'#13#10'#include <uRORemoteDataModule.hpp> // Pascal unit'#13#10'// '
|
|
+'<%%% END IF_DATA_MODULE %%%>'#13#10'#include <Uroserver.hpp> // Pasc'
|
|
+'al unit'#13#10'#include "%LIBRARY_NAME%_intf.h"'#13#10#13#10'// T%SERVICE_N'
|
|
+'AME%'#13#10'class T%SERVICE_NAME% : public %SERVICE_ANCESTOR_NAME%, I%SERVI'
|
|
+'CE_NAME% // implements I%SERVICE_NAME%'#13#10'{'#13#10' typedef %SERVICE_'
|
|
+'ANCESTOR_NAME% inherited;'#13#10#13#10'// <%%% START IF_DATA_MODULE %%%>'#13
|
|
+#10'__published: // this line is required or the IDE will consider the dec'
|
|
+'laration of the datamodule is incorrect.'#9#13#10'// <%%% END IF_DATA_MODUL'
|
|
+'E %%%>'#13#10'protected:'#13#10' // I%SERVICE_NAME% methods'#13#10' // <%'
|
|
+'%% START FUNCTION_OPERATIONS %%%>'#13#10' // <%%% START IF_RESULT_SIMPLE %'
|
|
+'%%>'#13#10' virtual %OPERATION_RESULT% __fastcall %OPERATION_NAME%('#13#10
|
|
+' // <%%% END IF_RESULT_SIMPLE %%%>'#13#10' // <%%% START IF_RESULT_COMPLE'
|
|
+'X %%%>'#13#10' virtual %OPERATION_RESULT%* __fastcall %OPERATION_NAME%('#13
|
|
+#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10' // <%%% START PARAMS %%%'
|
|
+'>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRON'
|
|
+'T_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // '
|
|
+'<%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_C'
|
|
+'OMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MOD'
|
|
+'IFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10' // <%%% END PARAMS %%%>'#13#10' );'#13#10' // <%%% END FUNCTION_'
|
|
+'OPERATIONS %%%>'#13#10' // <%%% START PROCEDURE_OPERATIONS %%%>'#13#10' v'
|
|
+'irtual void __fastcall %OPERATION_NAME%('#13#10' // <%%% START PARAMS %%'
|
|
+'%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRO'
|
|
+'NT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' //'
|
|
+' <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_'
|
|
+'COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MO'
|
|
+'DIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10' // <%%% END PARAMS %%%>'#13#10' );'#13#10' // <%%% END PROCEDURE'
|
|
+'_OPERATIONS %%%>'#13#10#13#10'public:'#13#10' // <%%% START IF_DATA_MODULE'
|
|
+' %%%>'#13#10' __fastcall T%SERVICE_NAME%(Classes::TComponent* aOwner);'#13
|
|
+#10#13#10' // <%%% END IF_DATA_MODULE %%%>'#13#10' virtual HRESULT __stdca'
|
|
+'ll QueryInterface(const GUID& IID, void **Obj) {'#13#10' return inherite'
|
|
+'d::QueryInterface(IID, (void *)Obj); }'#13#10#13#10' virtual ULONG __stdca'
|
|
+'ll AddRef() {'#13#10' return inherited::_AddRef(); }'#13#10#13#10' vir'
|
|
+'tual ULONG __stdcall Release() {'#13#10' return inherited::_Release(); }'
|
|
+#13#10'};'#13#10'// <%%% START IF_DATA_MODULE %%%>'#13#10'//----------------'
|
|
+'-----------------------------------------------------------'#13#10'extern P'
|
|
+'ACKAGE T%SERVICE_NAME% *%SERVICE_NAME%;'#13#10'//--------------------------'
|
|
+'-------------------------------------------------'#13#10'// <%%% END IF_DAT'
|
|
+'A_MODULE %%%>'#13#10#13#10'#endif'#9'// %UNIT_NAME%H'#13#10#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_ASYNC_CPP','RCDATA',[
|
|
'// %UNIT_NAME%'#13#10'//'#13#10'/*------------------------------------------'
|
|
+'---------------------------------}'#13#10'{ This unit was automatically gen'
|
|
+'erated by the RemObjects SDK after reading }'#13#10'{ the RODL file associ'
|
|
+'ated with this project. }'#13#10'{ '
|
|
+' }'#13#10
|
|
+'{ Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{----------------------------------------------------'
|
|
+'-----------------------*/'#13#10#13#10'// Implementation of %UNIT_NAME%'#13
|
|
+#10'#include "%UNIT_NAME%.h"'#13#10#13#10'// <%%% START SERVICES %%%>'#13#10
|
|
+'// <%%% START FUNCTION_OPERATIONS %%%>'#13#10'void __fastcall T%SERVICE_NAM'
|
|
+'E%_AsyncProxy::Invoke_%OPERATION_NAME%('#13#10' // <%%% START IN'
|
|
+'_PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13
|
|
+#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %P'
|
|
+'ARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10
|
|
+' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PA'
|
|
+'RAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10
|
|
+' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%'
|
|
+'%% END IN_PARAMS %%%>'#13#10' )'#13#10'{'#13#10' __AssertProxyN'
|
|
+'otBusy("%OPERATION_NAME%");'#13#10#13#10' __Message->InitializeRequestMess'
|
|
+'age(__TransportChannel, "%LIBRARY_NAME%", __InterfaceName, "%OPERATION_NAME'
|
|
+'%");'#13#10' // <%%% START IN_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START '
|
|
+'IF_PARAM_TYPE_SIMPLE %%%>'#13#10' __Message->Write("%PARAM_NAME%", __Get%P'
|
|
+'ARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10
|
|
+' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYP'
|
|
+'E_COMPLEX %%%>'#13#10' __Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_'
|
|
+'TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%'
|
|
+'% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END IN_PARAMS_NO_STRIP %%'
|
|
+'%>'#13#10#13#10' __DispatchAsyncRequest("%OPERATION_NAME%", __Message);'#13
|
|
+#10'}'#13#10#13#10'// <%%% START IF_RESULT_SIMPLE %%%>'#13#10'%OPERATION_RES'
|
|
+'ULT% __fastcall T%SERVICE_NAME%_AsyncProxy::Retrieve_%OPERATION_NAME%('#13
|
|
+#10'// <%%% END IF_RESULT_SIMPLE %%%>'#13#10'// <%%% START IF_RESULT_COMPLEX'
|
|
+' %%%>'#13#10'%OPERATION_RESULT%* __fastcall T%SERVICE_NAME%_AsyncProxy::Ret'
|
|
+'rieve_%OPERATION_NAME%('#13#10'// <%%% END IF_RESULT_COMPLEX %%%>'#13#10' '
|
|
+' // <%%% START OUT_PARAMS %%%>'#13#10' // <%%% START IF'
|
|
+'_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TY'
|
|
+'PE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_P'
|
|
+'ARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLE'
|
|
+'X %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_'
|
|
+'MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLE'
|
|
+'X %%%>'#13#10' // <%%% END OUT_PARAMS %%%>'#13#10' )'
|
|
+#13#10'{'#13#10' // <%%% START IF_RESULT_SIMPLE %%%>'#13#10' %OPERATION_RE'
|
|
+'SULT% result;'#13#10' // <%%% END IF_RESULT_SIMPLE %%%>'#13#10' // <%%% S'
|
|
+'TART IF_RESULT_COMPLEX %%%>'#13#10' %OPERATION_RESULT%* result;'#13#10' /'
|
|
+'/ <%%% END IF_RESULT_COMPLEX %%%>'#13#10#13#10' // <%%% START OUT_PARAMS_N'
|
|
+'O_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PA'
|
|
+'RAM_NAME% = NULL;'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'// <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_RESULT_COMPL'
|
|
+'EX %%%>'#13#10' result = NULL;'#13#10' // <%%% END IF_RESULT_COMPLEX %%%>'
|
|
+#13#10#13#10' TStream* __response = __RetrieveAsyncResponse("%OPERATION_NAM'
|
|
+'E%");'#13#10' __Message->ReadFromStream(__response);'#13#10#13#10' // <%%'
|
|
+'% START IF_RESULT_SIMPLE %%%>'#13#10' __Message->Read("Result", __Get%OPER'
|
|
+'ATION_RESULT%Info, &result, TParamAttributes(%OPERATION_RESULT_ATTRIBUTE%))'
|
|
+';'#13#10' // <%%% END IF_RESULT_SIMPLE %%%>'#13#10' // <%%% START IF_RESU'
|
|
+'LT_COMPLEX %%%>'#13#10' __Message->Read("Result", __typeinfo(%OPERATION_RE'
|
|
+'SULT%), result, TParamAttributes(%OPERATION_RESULT_ATTRIBUTE%));'#13#10' /'
|
|
+'/ <%%% END IF_RESULT_COMPLEX %%%>'#13#10' // <%%% START OUT_PARAMS_NO_STRI'
|
|
+'P %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' __Message-'
|
|
+'>Read("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttribute'
|
|
+'s(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10
|
|
+' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' __Message->Read("%PARAM'
|
|
+'_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_AT'
|
|
+'TRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%'
|
|
+'% END OUT_PARAMS_NO_STRIP %%%>'#13#10#13#10' delete __response;'#13#10' r'
|
|
,'eturn result;'#13#10'}'#13#10#13#10'// <%%% END FUNCTION_OPERATIONS %%%>'#13
|
|
+#10'// <%%% START PROCEDURE_OPERATIONS %%%>'#13#10'void _fastcall T%SERVICE_'
|
|
+'NAME%_AsyncProxy::Invoke_%OPERATION_NAME%('#13#10' // <%%% START'
|
|
+' IN_PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER%'
|
|
+' %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13
|
|
+#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'%PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13
|
|
+#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' //'
|
|
+' <%%% END IN_PARAMS %%%>'#13#10' )'#13#10'{'#13#10' __AssertPro'
|
|
+'xyNotBusy("%OPERATION_NAME%");'#13#10' TStream* __request = new TMemoryStr'
|
|
+'eam();'#13#10#13#10' __Message->InitializeRequestMessage(__TransportChanne'
|
|
+'l, "%LIBRARY_NAME%", __InterfaceName, "%OPERATION_NAME%");'#13#10' // <%%%'
|
|
+' START IN_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE '
|
|
+'%%%>'#13#10' __Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PAR'
|
|
+'AM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PAR'
|
|
+'AM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10
|
|
+' __Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, '
|
|
+'TParamAttributes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_CO'
|
|
+'MPLEX %%%>'#13#10' // <%%% END IN_PARAMS_NO_STRIP %%%>'#13#10' __Message-'
|
|
+'>Finalize();'#13#10#13#10' __Message->WriteToStream(__request);'#13#10' _'
|
|
+'_DispatchAsyncRequest("%OPERATION_NAME%", __request, False);'#13#10'}'#13#10
|
|
+#13#10'// <%%% START IF_OUT_PARAMS %%%>'#13#10'void _fastcall T%SERVICE_NAME'
|
|
+'%_AsyncProxy::Retrieve_%OPERATION_NAME%('#13#10' // <%%% START O'
|
|
+'UT_PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER%'
|
|
+' %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13
|
|
+#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'%PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13
|
|
+#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' //'
|
|
+' <%%% END OUT_PARAMS %%%>'#13#10' )'#13#10'{'#13#10' // <%%% ST'
|
|
+'ART OUT_PARAMS_NO_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %'
|
|
+'%%>'#13#10' %PARAM_NAME% = NULL;'#13#10' // <%%% END IF_PARAM_TYPE_COMPLE'
|
|
+'X %%%>'#13#10' // <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10#13#10' TStream'
|
|
+'* __response = __RetrieveAsyncResponse("%OPERATION_NAME%");'#13#10' __Mess'
|
|
+'age->ReadFromStream(__response);'#13#10#13#10' // <%%% START OUT_PARAMS_NO'
|
|
+'_STRIP %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' __Mes'
|
|
+'sage->Read("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttr'
|
|
+'ibutes(%PARAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' __Message->Read("'
|
|
+'%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PA'
|
|
+'RAM_ATTRIBUTE%));'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' '
|
|
+'// <%%% END OUT_PARAMS_NO_STRIP %%%>'#13#10#13#10' delete __response;'#13
|
|
+#10'}'#13#10#13#10'// <%%% END IF_OUT_PARAMS %%%>'#13#10'// <%%% END PROCEDU'
|
|
+'RE_OPERATIONS %%%>'#13#10'// <%%% END SERVICES %%%>'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_ASYNC_H','RCDATA',[
|
|
'// %UNIT_NAME%'#13#10'//'#13#10'/*------------------------------------------'
|
|
+'---------------------------------}'#13#10'{ This unit was automatically gen'
|
|
+'erated by the RemObjects SDK after reading }'#13#10'{ the RODL file associ'
|
|
+'ated with this project. }'#13#10'{ '
|
|
+' }'#13#10
|
|
+'{ Do not modify this unit manually, or your changes will be lost when this '
|
|
+' }'#13#10'{ unit is regenerated the next time you compile the project. '
|
|
+' }'#13#10'{----------------------------------------------------'
|
|
+'-----------------------*/'#13#10#13#10'#ifndef %UNIT_NAME%H'#13#10'#define '
|
|
+'%UNIT_NAME%H'#13#10#13#10'#pragma delphiheader begin'#13#10'#pragma option '
|
|
+'push'#13#10'#pragma option -w- '#9#9' // All warnings off'#13#10'#pra'
|
|
+'gma option -Vx '#9#9' // Zero-length empty class member functions'#13
|
|
+#10'#pragma pack(push,8)'#13#10#13#10'#include <System.hpp>'#9#9#9' // Pa'
|
|
+'scal unit'#13#10'#include <Uroasync.hpp>'#13#10'// <%%% START REQUIRED_UNIT'
|
|
+'S %%%>'#13#10'#include <%REQUIRED_UNIT_NAME%.hpp>'#13#10'// <%%% END REQUIR'
|
|
+'ED_UNITS %%%>'#13#10'#include "%LIBRARY_NAME%_Intf.h"'#13#10#13#10#13#10'na'
|
|
+'mespace %NAMESPACE_NAME%'#13#10'{'#13#10'// Forward declarations'#13#10'// '
|
|
+'<%%% START SERVICES %%%>'#13#10'__interface I%SERVICE_NAME%_Async; // = int'
|
|
+'erface;'#13#10'class DELPHICLASS Co%SERVICE_NAME%_Async;'#13#10'class DELPH'
|
|
+'ICLASS T%SERVICE_NAME%_AsyncProxy;'#13#10'// <%%% END SERVICES %%%>'#13#10
|
|
+#13#10'// <%%% START SERVICES %%%>'#13#10'__interface I%SERVICE_NAME%_Async;'
|
|
+#13#10'typedef System::DelphiInterface<I%SERVICE_NAME%_Async> _di_I%SERVICE_'
|
|
+'NAME%_Async;'#13#10'__interface INTERFACE_UUID("%SERVICE_UID%") I%SERVICE_N'
|
|
+'AME%_Async : public %SERVICE_ANCESTOR_NAME%'#13#10'{'#13#10'public:'#13#10
|
|
+' // <%%% START FUNCTION_OPERATIONS %%%>'#13#10' virtual void __fastcall I'
|
|
+'nvoke_%OPERATION_NAME%('#13#10' // <%%% START IN_PARAMS %%%>'
|
|
+#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' '
|
|
+' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME'
|
|
+'%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' '
|
|
+' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARA'
|
|
+'M_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10
|
|
+' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13#10' /'
|
|
+'/ <%%% END IN_PARAMS %%%>'#13#10' ) = 0; // pure virtual funct'
|
|
+'ion - interface only'#13#10' // <%%% START IF_RESULT_SIMPLE %%%>'#13#10' '
|
|
+'virtual %OPERATION_RESULT% __fastcall Retrieve_%OPERATION_NAME%('#13#10' /'
|
|
+'/ <%%% END IF_RESULT_SIMPLE %%%>'#13#10' // <%%% START IF_RESULT_COMPLEX %'
|
|
+'%%>'#13#10' virtual %OPERATION_RESULT%* __fastcall Retrieve_%OPERATION_NAM'
|
|
+'E%('#13#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10' // <%%'
|
|
+'% START OUT_PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SI'
|
|
+'MPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_B'
|
|
+'ACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_'
|
|
+'SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'
|
|
+#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFI'
|
|
+'ER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%'
|
|
+'%>'#13#10' // <%%% END OUT_PARAMS %%%>'#13#10' ) '
|
|
+'= 0; // pure virtual function - interface only'#13#10' // <%%% END FUNCTIO'
|
|
+'N_OPERATIONS %%%>'#13#10#13#10' // <%%% START PROCEDURE_OPERATIONS %%%>'#13
|
|
+#10' virtual void _fastcall Invoke_%OPERATION_NAME%('#13#10' /'
|
|
+'/ <%%% START IN_PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYP'
|
|
+'E_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PAR'
|
|
+'AM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_T'
|
|
+'YPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%'
|
|
+'%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MO'
|
|
+'DIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLE'
|
|
+'X %%%>'#13#10' // <%%% END IN_PARAMS %%%>'#13#10' '
|
|
+' ) = 0; // pure virtual function - interface only'#13#10' // <%%% START IF'
|
|
+'_OUT_PARAMS %%%>'#13#10' virtual void _fastcall Retrieve_%OPERATION_NAME%('
|
|
+#13#10' // <%%% START OUT_PARAMS %%%>'#13#10' // <'
|
|
+'%%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIF'
|
|
+'IER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' '
|
|
+'// <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF'
|
|
+'_PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM'
|
|
+'_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% EN'
|
|
+'D IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END OUT_PARAMS %%'
|
|
,'%>'#13#10' ) = 0; // pure virtual function - interface only'#13
|
|
+#10' // <%%% END IF_OUT_PARAMS %%%>'#13#10' // <%%% END PROCEDURE_OPERATIO'
|
|
+'NS %%%>'#13#10'};'#13#10#13#10'// Co%SERVICE_NAME%_Async'#13#10'class DELPH'
|
|
+'ICLASS Co%SERVICE_NAME%_Async;'#13#10'class Co%SERVICE_NAME%_Async : public'
|
|
+' System::TObject'#13#10'{'#13#10#9'typedef System::TObject inherited;'#13#10
|
|
+#13#10'public:'#13#10#9'static _di_I%SERVICE_NAME%_Async __fastcall Create(c'
|
|
+'onst Uroclientintf::_di_IROMessage aMessage,'#13#10' '
|
|
+' Uroclientintf::_di_IROTransportChannel aTransportChannel)'#13#10' {'#13#10
|
|
+' _di_I%SERVICE_NAME%_Async result;'#13#10' T%SERVICE_NAME%_AsyncProxy'
|
|
+'* proxy = new T%SERVICE_NAME%_AsyncProxy(aMessage, aTransportChannel);'#13
|
|
+#10' if (proxy->QueryInterface(I%SERVICE_NAME%_IID, reinterpret_cast<void'
|
|
+'**>(&result)) != S_OK)'#13#10' {'#13#10' delete proxy;'#13#10' '
|
|
+' throw EIntfCastError::EIntfCastError("I%SERVICE_NAME%_Async not supported"'
|
|
+');'#13#10' }'#13#10' return result;'#13#10' };'#13#10#13#10' static'
|
|
+' _di_I%SERVICE_NAME%_Async __fastcall Create(Uroclient::TROMessage* aMessag'
|
|
+'e,'#13#10' Uroclient::TROTransportChannel *aTranspor'
|
|
+'tChannel)'#13#10' {'#13#10' _di_IROMessage __Message;'#13#10' _di_IR'
|
|
+'OTransportChannel __TransportChannel;'#13#10#13#10' if (aMessage->GetInt'
|
|
+'erface(__Message))'#13#10' {'#13#10' if (aTransportChannel->GetInte'
|
|
+'rface(__TransportChannel))'#13#10' return Create(__Message, __Transp'
|
|
+'ortChannel);'#13#10' else'#13#10' throw EIntfCastError::EIntfCa'
|
|
+'stError("IROTransportChannel not supported");'#13#10' }'#13#10' else'
|
|
+#13#10' {'#13#10' throw EIntfCastError::EIntfCastError("IROMessage n'
|
|
+'ot supported");'#13#10' }'#13#10' };'#13#10'};'#13#10#13#10'class DELPH'
|
|
+'ICLASS T%SERVICE_NAME%_AsyncProxy;'#13#10'class T%SERVICE_NAME%_AsyncProxy '
|
|
+': public %SERVICE_PROXY_ANCESTOR_NAME%, I%SERVICE_NAME%_Async'#13#10'{'#13
|
|
+#10#9'typedef %SERVICE_PROXY_ANCESTOR_NAME% inherited;'#13#10#9#13#10'protec'
|
|
+'ted:'#13#10#9'virtual AnsiString __fastcall __GetInterfaceName()'#13#10' '
|
|
+' { return "%SERVICE_NAME%"; }'#13#10#13#10' // <%%% START FUNCTION_OPERATI'
|
|
+'ONS %%%>'#13#10' virtual void __fastcall Invoke_%OPERATION_NAME%('#13#10' '
|
|
+' // <%%% START IN_PARAMS %%%>'#13#10' // <%%% STAR'
|
|
+'T IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PA'
|
|
+'RAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% '
|
|
+'END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_T'
|
|
+'YPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* '
|
|
+'%PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PAR'
|
|
+'AM_TYPE_COMPLEX %%%>'#13#10' // <%%% END IN_PARAMS %%%>'#13#10
|
|
+' );'#13#10' // <%%% START IF_RESULT_SIMPLE %%%>'#13#10' virt'
|
|
+'ual %OPERATION_RESULT% __fastcall Retrieve_%OPERATION_NAME%('#13#10' // <%'
|
|
+'%% END IF_RESULT_SIMPLE %%%>'#13#10' // <%%% START IF_RESULT_COMPLEX %%%>'
|
|
+#13#10' virtual %OPERATION_RESULT%* __fastcall Retrieve_%OPERATION_NAME%('
|
|
+#13#10' // <%%% END IF_RESULT_COMPLEX %%%>'#13#10' // <%%% STA'
|
|
+'RT OUT_PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_SIMPLE '
|
|
+'%%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_M'
|
|
+'ODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_SIMPL'
|
|
+'E %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#13#10
|
|
+' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %P'
|
|
+'ARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#13
|
|
+#10' // <%%% END OUT_PARAMS %%%>'#13#10' );'#13#10
|
|
+' // <%%% END FUNCTION_OPERATIONS %%%>'#13#10#13#10' // <%%% START PROCEDU'
|
|
+'RE_OPERATIONS %%%>'#13#10' virtual void _fastcall Invoke_%OPERATION_NAME%('
|
|
+#13#10' // <%%% START IN_PARAMS %%%>'#13#10' // <%'
|
|
+'%% START IF_PARAM_TYPE_SIMPLE %%%>'#13#10' %PARAM_FRONT_MODIFI'
|
|
+'ER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' /'
|
|
+'/ <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#13#10' // <%%% START IF_'
|
|
+'PARAM_TYPE_COMPLEX %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_'
|
|
+'TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END'
|
|
+' IF_PARAM_TYPE_COMPLEX %%%>'#13#10' // <%%% END IN_PARAMS %%%>'
|
|
+#13#10' );'#13#10' // <%%% START IF_OUT_PARAMS %%%>'#13#10' v'
|
|
+'irtual void _fastcall Retrieve_%OPERATION_NAME%('#13#10' // <%'
|
|
+'%% START OUT_PARAMS %%%>'#13#10' // <%%% START IF_PARAM_TYPE_S'
|
|
+'IMPLE %%%>'#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_'
|
|
+'BACK_MODIFIER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE'
|
|
+'_SIMPLE %%%>'#13#10' // <%%% START IF_PARAM_TYPE_COMPLEX %%%>'
|
|
,#13#10' %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFI'
|
|
+'ER% %PARAM_NAME%,'#13#10' // <%%% END IF_PARAM_TYPE_COMPLEX %%'
|
|
+'%>'#13#10' // <%%% END OUT_PARAMS %%%>'#13#10' );'
|
|
+#13#10' // <%%% END IF_OUT_PARAMS %%%>'#13#10' // <%%% END PROCEDURE_OPERA'
|
|
+'TIONS %%%>'#13#10'public:'#13#10#9'#pragma option push -w-inl'#13#10#9'/* T'
|
|
+'ROProxy.Create */ inline __fastcall virtual T%SERVICE_NAME%_AsyncProxy(cons'
|
|
+'t Uroclientintf::_di_IROMessage aMessage, const Uroclientintf::_di_IROTrans'
|
|
+'portChannel aTransportChannel)/* overload */ :'#13#10' %SERVICE_PROXY_AN'
|
|
+'CESTOR_NAME%(aMessage, aTransportChannel) {}'#13#10#9'#pragma option pop'#13
|
|
+#10#9#13#10' virtual HRESULT __stdcall QueryInterface(const GUID& IID, void'
|
|
+' **Obj) {'#13#10' return inherited::QueryInterface(IID, (void *)Obj); }'
|
|
+#13#10#13#10' virtual ULONG __stdcall AddRef() {'#13#10' return inherite'
|
|
+'d::_AddRef(); }'#13#10#13#10' virtual ULONG __stdcall Release() {'#13#10
|
|
+' return inherited::_Release(); }'#13#10'};'#13#10'// <%%% END SERVICES %'
|
|
+'%%>'#13#10#13#10'}'#9'// namespace %NAMESPACE_NAME%'#13#10#13#10'using name'
|
|
+'space %NAMESPACE_NAME%;'#13#10'#pragma pack(pop)'#13#10'#pragma option pop'
|
|
+#13#10#13#10'#pragma delphiheader end.'#13#10'#endif'#9'// %UNIT_NAME%H'#13
|
|
+#10#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_WRAPPER_INTF_H','RCDATA',[
|
|
'{---------------------------------------------------------------------------'
|
|
+'-}'#13#10'{ This unit was automatically generated by the RemObjects SDK aft'
|
|
+'er reading }'#13#10'{ the RODL file associated with this project . '
|
|
+' }'#13#10'{ '
|
|
+' }'#13#10'{ Do not modify this unit manual'
|
|
+'ly, or your changes will be lost when this }'#13#10'{ unit is regenerated'
|
|
+' the next time you compile the project. }'#13#10'{---------'
|
|
+'-------------------------------------------------------------------}'#13#10
|
|
+'#ifndef %UNIT_NAME%_H'#13#10'#define %UNIT_NAME%_H'#13#10#13#10'// <%%% STA'
|
|
+'RT USES %%%>'#13#10'#include "%USED_UNIT_NAME%.h"'#13#10'// <%%% END USES %'
|
|
+'%%>'#13#10#13#10'#endif'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_WRAPPER_INVK_H','RCDATA',[
|
|
'{---------------------------------------------------------------------------'
|
|
+'-}'#13#10'{ This unit was automatically generated by the RemObjects SDK aft'
|
|
+'er reading }'#13#10'{ the RODL file associated with this project . '
|
|
+' }'#13#10'{ '
|
|
+' }'#13#10'{ Do not modify this unit manual'
|
|
+'ly, or your changes will be lost when this }'#13#10'{ unit is regenerated'
|
|
+' the next time you compile the project. }'#13#10'{---------'
|
|
+'-------------------------------------------------------------------}'#13#10
|
|
+'#ifndef %UNIT_NAME%_H'#13#10'#define %UNIT_NAME%_H'#13#10#13#10'// <%%% STA'
|
|
+'RT USES %%%>'#13#10'#include "%USED_UNIT_NAME%.h"'#13#10'// <%%% END USES %'
|
|
+'%%>'#13#10#13#10'#endif'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_WRAPPER_ASYNC_H','RCDATA',[
|
|
'{---------------------------------------------------------------------------'
|
|
+'-}'#13#10'{ This unit was automatically generated by the RemObjects SDK aft'
|
|
+'er reading }'#13#10'{ the RODL file associated with this project . '
|
|
+' }'#13#10'{ '
|
|
+' }'#13#10'{ Do not modify this unit manual'
|
|
+'ly, or your changes will be lost when this }'#13#10'{ unit is regenerated'
|
|
+' the next time you compile the project. }'#13#10'{---------'
|
|
+'-------------------------------------------------------------------}'#13#10
|
|
+'#ifndef %UNIT_NAME%_H'#13#10'#define %UNIT_NAME%_H'#13#10#13#10'// <%%% STA'
|
|
+'RT USES %%%>'#13#10'#include "%USED_UNIT_NAME%.h"'#13#10'// <%%% END USES %'
|
|
+'%%>'#13#10#13#10'#endif'#13#10
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_OBJC_INTF_M','RCDATA',[
|
|
'//----------------------------------------------------------------------'#10
|
|
+'// This file was automatically generated by the RemObjects SDK from a'#10'/'
|
|
+'/ RODL file associated with this project. '#10'// '
|
|
+' '
|
|
+#10'// Do not modify this file manually, or your changes will be lost when'
|
|
+#10'// it is regenerated the next time you update your RODL. '
|
|
+#10'//----------------------------------------------------------------------'
|
|
+#10#10'#include "%LIBRARY_NAME%_Intf.h"'#10#10'#pragma mark enums'#10#10'// '
|
|
+'<%%% START ENUMS %%%>'#10'@implementation %ENUM_NAME%_EnumMetaData : ROEnum'
|
|
+'MetaData'#10#10'static %ENUM_NAME%_EnumMetaData *%ENUM_NAME%_EnumMetaDataIn'
|
|
+'stance = nil;'#10#10'+ (%ENUM_NAME%_EnumMetaData *)instance'#10'{'#10#9'if '
|
|
+'(!%ENUM_NAME%_EnumMetaDataInstance)'#10#9'{'#10#9#9'%ENUM_NAME%_EnumMetaDat'
|
|
+'aInstance = [[%ENUM_NAME%_EnumMetaData alloc] init];'#10#9'}'#10#9'return %'
|
|
+'ENUM_NAME%_EnumMetaDataInstance;'#10'}'#10#10'- (void)dealloc'#10'{'#10#9'['
|
|
+'stringToValueLookup release];'#10#9'[super dealloc];'#10'}'#10#10'- (NSStri'
|
|
+'ng *)typeName'#10'{'#10#9'return @"%ENUM_NAME%";'#10'}'#10#10'- (NSString *'
|
|
+')stringFromValue:(int32) value'#10'{'#10#9'switch (value)'#10#9'{'#10#9#9' '
|
|
+'// <%%% START VALUES_NO_STRIP %%%>'#10#9#9' case %VALUE_NAME%: return @"%VA'
|
|
+'LUE_NAME%";'#10#9#9' // <%%% END VALUES_NO_STRIP %%%>'#10#9#9' default: ret'
|
|
+'urn [NSString stringWithFormat:@"Invalid value %u for enum %ENUM_NAME%", va'
|
|
+'lue];'#10#9'}'#10'}'#10#10'- (int32)valueFromString:(NSString *) string'#10
|
|
+'{'#10#9'if (!stringToValueLookup)'#10#9'{'#10#9#9'stringToValueLookup = [[N'
|
|
+'SDictionary alloc] initWithObjectsAndKeys:'#10#9#9#9'// <%%% START VALUES_F'
|
|
+'ROM_STRING %%%>'#10#9#9#9'[NSNumber numberWithInt:%VALUE_NAME%], @"%VALUE_N'
|
|
+'AME%",'#10#9#9#9'// <%%% END VALUES_FROM_STRING %%%>'#10#9#9#9'nil];'#10#9
|
|
+'}'#9#10#9'NSNumber *result = [stringToValueLookup valueForKey:string];'#10#9
|
|
+'if (result) return [result intValue];'#10#9'return -1;'#10'}'#10'@end;'#10
|
|
+#10'NSString *%ENUM_NAME%ToString(enum %ENUM_NAME% value)'#10'{'#10#9'return'
|
|
+' [[%ENUM_NAME%_EnumMetaData instance] stringFromValue:value];'#10'}'#10#10
|
|
+'// <%%% END ENUMS %%%>'#10'#pragma mark structs'#10#10'// <%%% START STRUCT'
|
|
+'S %%%>'#10'@implementation %STRUCT_NAME%'#10#10'// <%%% START FIELDS_NO_STR'
|
|
+'IP %%%>'#10'@synthesize %FIELD_NAME%;'#10'// <%%% END FIELDS_NO_STRIP %%%>'
|
|
+#10#10'// <%%% START IF_HAS_FIELDS %%%>'#10'-(id) init'#10'{'#10#9'self = [s'
|
|
+'uper init];'#10#9'return self;'#10'}'#10#10'-(void) dealloc'#10'{'#10#9'// '
|
|
+'<%%% START FIELDS_NO_STRIP %%%>'#10#9'// <%%% START IF_FIELD_TYPE_COMPLEX %'
|
|
+'%%>'#10#9'[%FIELD_NAME% release];'#10#9'// <%%% END IF_FIELD_TYPE_COMPLEX %'
|
|
+'%%>'#10#9'// <%%% END FIELDS_NO_STRIP %%%>'#10#9'[super dealloc];'#10'}'#10
|
|
+'// <%%% END IF_HAS_FIELDS %%%>'#10#10'-(void) assignFrom:(ROComplexType*) a'
|
|
+'Source'#10'{'#10'}'#10#10'// <%%% START IF_HAS_FIELDS %%%>'#10'-(void)write'
|
|
+'ToMessage:(ROMessage *) aMessage withName:(NSString *) aName'#10'{'#10' '
|
|
+' if ([aMessage useStrictFieldOrderForStructs])'#10' {'#10' '
|
|
+' // <%%% START IF_STRUCT_HAS_ANCESTOR %%%>'#10' [sup'
|
|
+'er writeToMessage:aMessage withName:aName];'#10' // <%%% END'
|
|
+' IF_STRUCT_HAS_ANCESTOR %%%>'#10' // <%%% START FIELDS_NO_ST'
|
|
+'RIP %%%>'#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10' '
|
|
+' [aMessage write%FIELD_READER_WRITER%:%FIELD_NAME% withName:@'
|
|
+'"%FIELD_NAME%"];'#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'
|
|
+#10' // <%%% START IF_FIELD_TYPE_ENUM %%%>'#10' '
|
|
+' [aMessage write%FIELD_READER_WRITER%:%FIELD_NAME% withName:@"%FIELD_NAME%'
|
|
+'" asEnum:[%FIELD_TYPE_RAW%_EnumMetaData instance]];'#10' // '
|
|
+'<%%% END IF_FIELD_TYPE_ENUM %%%>'#10' // <%%% START IF_FIELD'
|
|
+'_TYPE_SIMPLE %%%>'#10' [aMessage write%FIELD_READER_WRITER%:'
|
|
+'%FIELD_NAME% withName:@"%FIELD_NAME%"];'#10' // <%%% END IF_'
|
|
+'FIELD_TYPE_SIMPLE %%%>'#10' // <%%% END FIELDS_NO_STRIP %%%>'
|
|
+#10' }'#10' else'#10' {'#10' '#9' // <%%% STA'
|
|
+'RT ENTIRE_HIERARCHY_FIELDS %%%>'#10' // <%%% START IF_FIELD_'
|
|
+'TYPE_COMPLEX %%%>'#10' [aMessage write%FIELD_READER_WRITER%:'
|
|
+'%FIELD_NAME% withName:@"%FIELD_NAME%"];'#10' // <%%% END IF_'
|
|
+'FIELD_TYPE_COMPLEX %%%>'#10' // <%%% START IF_FIELD_TYPE_ENU'
|
|
+'M %%%>'#10' [aMessage write%FIELD_READER_WRITER%:%FIELD_NAME'
|
|
+'% withName:@"%FIELD_NAME%" asEnum:[%FIELD_TYPE_RAW%_EnumMetaData instance]]'
|
|
+';'#10' // <%%% END IF_FIELD_TYPE_ENUM %%%>'#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#10' [aMessage wr'
|
|
+'ite%FIELD_READER_WRITER%:%FIELD_NAME% withName:@"%FIELD_NAME%"];'#10' '
|
|
,' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10' '#9'// <%%% END'
|
|
+' ENTIRE_HIERARCHY_FIELDS %%%>'#10' }'#10'}'#10#10'-(void)readFromMes'
|
|
+'sage:(ROMessage *) aMessage withName:(NSString *) aName'#10'{'#10' i'
|
|
+'f ([aMessage useStrictFieldOrderForStructs])'#10' {'#10' '
|
|
+' // <%%% START IF_STRUCT_HAS_ANCESTOR %%%>'#10' [super re'
|
|
+'adFromMessage:aMessage withName:aName];'#10' // <%%% END IF_'
|
|
+'STRUCT_HAS_ANCESTOR %%%>'#10' // <%%% START FIELDS_NO_STRIP '
|
|
+'%%%>'#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10' '
|
|
+' [aMessage read%FIELD_READER_WRITER%:&%FIELD_NAME% withName:@"%FI'
|
|
+'ELD_NAME%" asClass:[%FIELD_TYPE_NAME% class]];'#10' // <%%% '
|
|
+'END IF_FIELD_TYPE_COMPLEX %%%>'#10' // <%%% START IF_FIELD_T'
|
|
+'YPE_ENUM %%%>'#10' [aMessage read%FIELD_READER_WRITER%:(int3'
|
|
+'2 *)&%FIELD_NAME% withName:@"%FIELD_NAME%" asEnum:[%FIELD_TYPE_RAW%_EnumMet'
|
|
+'aData instance]];'#10' // <%%% END IF_FIELD_TYPE_ENUM %%%>'
|
|
+#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#10' '
|
|
+' [aMessage read%FIELD_READER_WRITER%:&%FIELD_NAME% withName:@"%FIELD_NAM'
|
|
+'E%"];'#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10' '
|
|
+' // <%%% END FIELDS_NO_STRIP %%%>'#10' // <%%% START'
|
|
+' FIELDS_NO_STRIP %%%>'#10' // <%%% START IF_FIELD_TYPE_COMPL'
|
|
+'EX %%%>'#10' [%FIELD_NAME% retain];'#10' // <'
|
|
+'%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10' // <%%% END FIELDS_N'
|
|
+'O_STRIP %%%>'#10' }'#10' else'#10' {'#10' '
|
|
+' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#10' // <%%% S'
|
|
+'TART IF_FIELD_TYPE_COMPLEX %%%>'#10' [aMessage read%FIELD_RE'
|
|
+'ADER_WRITER%:&%FIELD_NAME% withName:@"%FIELD_NAME%" asClass:[%FIELD_TYPE_NA'
|
|
+'ME% class]];'#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10
|
|
+' // <%%% START IF_FIELD_TYPE_ENUM %%%>'#10' ['
|
|
+'aMessage read%FIELD_READER_WRITER%:(int32 *)&%FIELD_NAME% withName:@"%FIELD'
|
|
+'_NAME%" asEnum:[%FIELD_TYPE_RAW%_EnumMetaData instance]];'#10' '
|
|
+' // <%%% END IF_FIELD_TYPE_ENUM %%%>'#10' // <%%% START IF'
|
|
+'_FIELD_TYPE_SIMPLE %%%>'#10' [aMessage read%FIELD_READER_WRI'
|
|
+'TER%:&%FIELD_NAME% withName:@"%FIELD_NAME%"];'#10' // <%%% E'
|
|
+'ND IF_FIELD_TYPE_SIMPLE %%%>'#10' // <%%% END ENTIRE_HIERARC'
|
|
+'HY_FIELDS %%%>'#10' // <%%% START ENTIRE_HIERARCHY_FIELDS %%'
|
|
+'%>'#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10' '
|
|
+' [%FIELD_NAME% retain];'#10' // <%%% END IF_FIELD_TY'
|
|
+'PE_COMPLEX %%%>'#10' // <%%% END ENTIRE_HIERARCHY_FIELDS %%%'
|
|
+'>'#10' }'#10'}'#10#10'/* ToDo: Copy this to the Exceptions section, '
|
|
+'once working & approved */'#10#10'- (id)copyWithZone:(NSZone *)zone '#10'{'
|
|
+#10#9'%STRUCT_NAME% *__result = [super copyWithZone:zone];'#10#9'// <%%% STA'
|
|
+'RT FIELDS_NO_STRIP %%%>'#10#9'// <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10#9
|
|
+'[__result set%FIELD_NAME_PASCAL_CASED%:[%FIELD_NAME% copyWithZone:zone]];'
|
|
+#10#9'// <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_FIELD_TY'
|
|
+'PE_ENUM %%%>'#10#9'[__result set%FIELD_NAME_PASCAL_CASED%:%FIELD_NAME%];'#10
|
|
+#9'// <%%% END IF_FIELD_TYPE_ENUM %%%>'#10#9'// <%%% START IF_FIELD_TYPE_SIM'
|
|
+'PLE %%%>'#10#9'[__result set%FIELD_NAME_PASCAL_CASED%:%FIELD_NAME%];'#10#9
|
|
+'// <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10#9'// <%%% END FIELDS_NO_STRIP %%%'
|
|
+'>'#10#9'return __result;'#10'}'#10#10'- (void)encodeWithCoder:(NSCoder *) e'
|
|
+'ncoder '#10'{'#10#9'[super encodeWithCoder:encoder];'#10#9'// <%%% START FI'
|
|
+'ELDS_NO_STRIP %%%>'#10#9'// <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10#9'[en'
|
|
+'coder encodeObject:%FIELD_NAME% forKey:@"%FIELD_NAME%"];'#10#9'// <%%% END '
|
|
+'IF_FIELD_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_FIELD_TYPE_ENUM %%%>'#10#9
|
|
+'[encoder encodeInt32:(int32)%FIELD_NAME% forKey:@"%FIELD_NAME%"];'#10#9'// '
|
|
+'<%%% END IF_FIELD_TYPE_ENUM %%%>'#10#9'// <%%% START IF_FIELD_TYPE_SIMPLE %'
|
|
+'%%>'#10#9'[encoder encode%FIELD_TYPE_CODING_READER_WRITER%:(int32)%FIELD_NA'
|
|
+'ME% forKey:@"%FIELD_NAME%"];'#10#9'// <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10
|
|
+#9'// <%%% END FIELDS_NO_STRIP %%%>'#10'}'#10#10'- (id)initWithCoder:(NSCode'
|
|
+'r *) decoder '#10'{'#10#9'self = [super init];'#10#9'if (self)'#10#9'{'#10#9
|
|
+#9'// <%%% START FIELDS_NO_STRIP %%%>'#10#9#9'// <%%% START IF_FIELD_TYPE_CO'
|
|
+'MPLEX %%%>'#10#9#9'%FIELD_NAME% = [[decoder decodeObjectForKey:@"%FIELD_NAM'
|
|
+'E%"] retain];'#10#9#9'// <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10#9#9'// <%%'
|
|
+'% START IF_FIELD_TYPE_ENUM %%%>'#10#9#9'%FIELD_NAME% = (%FIELD_TYPE%)[decod'
|
|
+'er decodeInt32ForKey:@"%FIELD_NAME%"];'#10#9#9'// <%%% END IF_FIELD_TYPE_EN'
|
|
+'UM %%%>'#10#9#9'// <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#10#9#9'%FIELD_NAME'
|
|
,'% = [decoder decode%FIELD_TYPE_CODING_READER_WRITER%ForKey:@"%FIELD_NAME%"]'
|
|
+';'#10#9#9'// <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10#9#9'// <%%% END FIELDS_'
|
|
+'NO_STRIP %%%>'#10#9'}'#10#9'return self;'#10'}'#10'// <%%% END IF_HAS_FIELD'
|
|
+'S %%%>'#10#10'@end'#10#10'// <%%% END STRUCTS %%%>'#10#10'#pragma mark arra'
|
|
+'ys'#10#10'// <%%% START ARRAYS %%%>'#10'@implementation %ARRAY_NAME% '#10#10
|
|
+'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#10'- (%ARRAY_TYPE%) add'#10'{'#10
|
|
+#9'%ARRAY_TYPE% __new = [[%ARRAY_TYPE_NAME% alloc] init];'#10#9'[super addIt'
|
|
+'em:__new];'#10#9'[__new release];'#10#9'return __new;'#10'}'#10'// <%%% END'
|
|
+' IF_ARRAY_TYPE_COMPLEX %%%>'#10#10'- (void)addItem:(%ARRAY_TYPE%)object'#10
|
|
+'{'#10#9'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'[super addItem:objec'
|
|
+'t];'#10#9'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_ARR'
|
|
+'AY_TYPE_SIMPLE %%%>'#10#9'[super addItem:[NSNumber numberWith%ARRAY_TYPE_NS'
|
|
+'NUMBER%:object]];'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#10#9'// <%%%'
|
|
+' START IF_ARRAY_TYPE_ENUM %%%>'#10#9'[super addItem:[NSNumber numberWithInt'
|
|
+':object]];'#10#9'// <%%% END IF_ARRAY_TYPE_ENUM %%%>'#10'}'#10#10'- (void)i'
|
|
+'nsertItem:(%ARRAY_TYPE%)object atIndex:(NSUInteger)index'#10'{'#10#9'// <%%'
|
|
+'% START IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'[super insertItem:object atIndex:i'
|
|
+'ndex];'#10#9'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_'
|
|
+'ARRAY_TYPE_SIMPLE %%%>'#10#9'[super insertItem:[NSNumber numberWith%ARRAY_T'
|
|
+'YPE_NSNUMBER%:object] atIndex:index];'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPL'
|
|
+'E %%%>'#10#9'// <%%% START IF_ARRAY_TYPE_ENUM %%%>'#10#9'[super insertItem:'
|
|
+'[NSNumber numberWithInt:object] atIndex:index];'#10#9'// <%%% END IF_ARRAY_'
|
|
+'TYPE_ENUM %%%>'#10'}'#10#10'- (void)replaceItemAtIndex:(NSUInteger)index wi'
|
|
+'thItem:(%ARRAY_TYPE%)object'#10'{'#10#9'// <%%% START IF_ARRAY_TYPE_COMPLEX'
|
|
+' %%%>'#10#9'[super replaceItemAtIndex:index withItem:object];'#10#9'// <%%%'
|
|
+' END IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_ARRAY_TYPE_SIMPLE %%'
|
|
+'%>'#10#9'[super replaceItemAtIndex:index withItem:[NSNumber numberWith%ARRA'
|
|
+'Y_TYPE_NSNUMBER%:object]];'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#10#9
|
|
+'// <%%% START IF_ARRAY_TYPE_ENUM %%%>'#10#9'[super replaceItemAtIndex:index'
|
|
+' withItem:[NSNumber numberWithInt:object]];'#10#9'// <%%% END IF_ARRAY_TYPE'
|
|
+'_ENUM %%%>'#10'}'#10#10'- (%ARRAY_TYPE%)itemAtIndex:(NSUInteger)index;'#10
|
|
+'{'#10#9'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'return (%ARRAY_TYPE%'
|
|
+')[super itemAtIndex:index];'#10#9'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#10
|
|
+#9'// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>'#10#9'%ARRAY_TYPE% __result;'#10#9
|
|
+'[(NSNumber *)[super itemAtIndex:index] getValue:&__result];'#10#9'return __'
|
|
+'result;'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#10#9'// <%%% START IF_'
|
|
+'ARRAY_TYPE_ENUM %%%>'#10#9'return [(NSNumber *)[super itemAtIndex:index] in'
|
|
+'tValue];'#10#9'// <%%% END IF_ARRAY_TYPE_ENUM %%%>'#10'}'#10#10'// <%%% STA'
|
|
+'RT IF_ARRAY_TYPE_COMPLEX %%%>'#10'- (Class) itemClass'#10'{'#10#9'return [%'
|
|
+'ARRAY_TYPE_NAME% class];'#10'}'#10'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'
|
|
+#10#10'- (NSString *) itemTypeName'#10'{'#10#9'return @"%ARRAY_TYPE_RAW%";'
|
|
+#10'}'#10#10'- (void)writeItemToMessage:(ROMessage *)aMessage fromIndex:(int'
|
|
+')i'#10'{'#10#9'%ARRAY_TYPE% __item = [self itemAtIndex:i];'#10#9'// <%%% ST'
|
|
+'ART IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'[aMessage write%ARRAY_TYPE_READER_WRIT'
|
|
+'ER%:__item withName:nil];'#10#9'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#10#9
|
|
+'// <%%% START IF_ARRAY_TYPE_ENUM %%%>'#10#9'[aMessage write%ARRAY_TYPE_READ'
|
|
+'ER_WRITER%:__item withName:nil asEnum:[%ARRAY_TYPE_RAW%_EnumMetaData instan'
|
|
+'ce]];'#10#9'// <%%% END IF_ARRAY_TYPE_ENUM %%%>'#10#9'// <%%% START IF_ARRA'
|
|
+'Y_TYPE_SIMPLE %%%>'#10#9'[aMessage write%ARRAY_TYPE_READER_WRITER%:__item w'
|
|
+'ithName:nil];'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#10'}'#10#10'- (v'
|
|
+'oid)readItemFromMessage:(ROMessage *)aMessage toIndex:(int)i'#10'{'#10#9'%A'
|
|
+'RRAY_TYPE% __item;'#10#9'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'[aM'
|
|
+'essage read%ARRAY_TYPE_READER_WRITER%:&__item withName:nil asClass:[self it'
|
|
+'emClass]];'#10#9'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'// <%%% START'
|
|
+' IF_ARRAY_TYPE_ENUM %%%>'#10#9'[aMessage read%ARRAY_TYPE_READER_WRITER%:(in'
|
|
+'t32 *)&__item withName:nil asEnum:[%ARRAY_TYPE_RAW%_EnumMetaData instance]]'
|
|
+';'#10#9'// <%%% END IF_ARRAY_TYPE_ENUM %%%>'#10#9'// <%%% START IF_ARRAY_TY'
|
|
+'PE_SIMPLE %%%>'#10#9'[aMessage read%ARRAY_TYPE_READER_WRITER%:&__item withN'
|
|
+'ame:nil];'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#10#9'[self addItem:_'
|
|
+'_item]; // for efficiency, assumes this is called in ascending order'#10'}'
|
|
+#10#10'- (void)writeItemToCoder:(NSCoder *)encoder forKey:(NSString *)aKey f'
|
|
+'romIndex:(int)i '#10'{'#10#9'%ARRAY_TYPE% __item = [self itemAtIndex:i];'#10
|
|
+#9'// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'[encoder encodeObject:__it'
|
|
+'em forKey:aKey];'#10#9'// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'// <%%%'
|
|
,' START IF_ARRAY_TYPE_ENUM %%%>'#10#9'[encoder encodeInt32:__item forKey:aKe'
|
|
+'y];'#10#9'// <%%% END IF_ARRAY_TYPE_ENUM %%%>'#10#9'// <%%% START IF_ARRAY_'
|
|
+'TYPE_SIMPLE %%%>'#10#9'[encoder encode%ARRAY_TYPE_CODING_READER_WRITER%:__i'
|
|
+'tem forKey:aKey];'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#10'}'#10#10
|
|
+'- (void)readItemFromCoder:(NSCoder *)decoder forKey:(NSString *)aKey toInde'
|
|
+'x:(int)i '#10'{'#10#9'%ARRAY_TYPE% __item;'#10#9'// <%%% START IF_ARRAY_TYP'
|
|
+'E_COMPLEX %%%>'#10#9'__item = [decoder decodeObjectForKey:aKey];'#10#9'// <'
|
|
+'%%% END IF_ARRAY_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_ARRAY_TYPE_ENUM %'
|
|
+'%%>'#10#9'__item = (%ARRAY_TYPE%)[decoder decodeInt32ForKey:aKey];'#10#9'//'
|
|
+' <%%% END IF_ARRAY_TYPE_ENUM %%%>'#10#9'// <%%% START IF_ARRAY_TYPE_SIMPLE '
|
|
+'%%%>'#10#9'__item = [decoder decode%ARRAY_TYPE_CODING_READER_WRITER%ForKey:'
|
|
+'aKey];'#10#9'// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>'#10#9'[self addItem:__it'
|
|
+'em]; // for efficiency, assumes this is called in ascending order'#10'}'#10
|
|
+#10'@end;'#10#10'// <%%% END ARRAYS %%%>'#10#10'#pragma mark exceptions'#10
|
|
+#10'// <%%% START EXCEPTIONS %%%>'#10'// <%%% START DOCUMENTATION %%%>'#10#10
|
|
+'/* Description:'#10' %CONTENT% */'#10'// <%%% END DOCUMENTATION %%%>'#10
|
|
+'@implementation %EXCEPTION_NAME% '#10' '#10'// <%%% START FIELDS_NO_STRIP %'
|
|
+'%%>'#10'@synthesize %FIELD_NAME%;'#10'// <%%% END FIELDS_NO_STRIP %%%>'#10
|
|
+#10'-(id) initWithMessage:(NSString *) anExceptionMessage'#10' '
|
|
+' // <%%% START ANCESTOR_FIELDS %%%>'#10' : (%FIELD_TY'
|
|
+'PE%) a%FIELD_NAME% '#10' // <%%% END ANCESTOR_FIELDS %%%>'
|
|
+#10' // <%%% START FIELDS_NO_STRIP %%%>'#10' '
|
|
+' : (%FIELD_TYPE%) a%FIELD_NAME% '#10' // <%%% END FIE'
|
|
+'LDS_NO_STRIP %%%>'#10'{'#10#9'self = [super initWithMessage:anExceptionMess'
|
|
+'age'#10#9#9'// <%%% START ANCESTOR_FIELDS %%%>'#10#9#9':a%FIELD_NAME% '#10#9
|
|
+#9'// <%%% END ANCESTOR_FIELDS %%%>'#10#9'];'#10#9'// <%%% START IF_HAS_FIEL'
|
|
+'DS %%%>'#10#9'if (self)'#10#9'{'#10#9#9'// <%%% START FIELDS_NO_STRIP %%%>'
|
|
+#10#9#9'%FIELD_NAME% = a%FIELD_NAME%;'#10#9#9'// <%%% END FIELDS_NO_STRIP %%'
|
|
+'%>'#10#9#9'// <%%% START FIELDS_NO_STRIP %%%>'#10#9#9'// <%%% START IF_FIEL'
|
|
+'D_TYPE_COMPLEX %%%>'#10#9#9'[%FIELD_NAME% retain];'#10#9#9'// <%%% END IF_F'
|
|
+'IELD_TYPE_COMPLEX %%%>'#10#9#9'// <%%% END FIELDS_NO_STRIP %%%>'#10#9'}'#10
|
|
+#9'// <%%% END IF_HAS_FIELDS %%%>'#10#9'return self;'#10'}'#10#10'// <%%% ST'
|
|
+'ART IF_HAS_FIELDS %%%>'#10'-(void) dealloc'#10'{'#10#9'// <%%% START FIELDS'
|
|
+'_NO_STRIP %%%>'#10#9'// <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10#9'[%FIELD'
|
|
+'_NAME% release];'#10#9'// <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10#9'// <%%%'
|
|
+' START IF_FIELD_TYPE_COMPLEX %%%>'#10#9'%FIELD_NAME% = nil;'#10#9'// <%%% E'
|
|
+'ND IF_FIELD_TYPE_COMPLEX %%%>'#10#9'// <%%% END FIELDS_NO_STRIP %%%>'#10#9
|
|
+'[super dealloc];'#10'}'#10#10'-(void)writeToMessage:(ROMessage *) aMessage '
|
|
+'withName:(NSString *) aName'#10'{'#10' if ([aMessage useStrictFieldO'
|
|
+'rderForStructs])'#10' {'#10' // <%%% START IF_STRUCT_'
|
|
+'HAS_ANCESTOR %%%>'#10' [super writeToMessage:aMessage withNa'
|
|
+'me:aName];'#10' // <%%% END IF_STRUCT_HAS_ANCESTOR %%%>'#10
|
|
+' // <%%% START FIELDS_NO_STRIP %%%>'#10' // <'
|
|
+'%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10' [aMessage write%FI'
|
|
+'ELD_READER_WRITER%:%FIELD_NAME% withName:@"%FIELD_NAME%"];'#10' '
|
|
+' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10' // <%%% STAR'
|
|
+'T IF_FIELD_TYPE_ENUM %%%>'#10' [aMessage write%FIELD_READER_'
|
|
+'WRITER%:%FIELD_NAME% withName:@"%FIELD_NAME%" asEnum:[%FIELD_TYPE_RAW%_Enum'
|
|
+'MetaData instance]];'#10' // <%%% END IF_FIELD_TYPE_ENUM %%%'
|
|
+'>'#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#10' '
|
|
+' [aMessage write%FIELD_READER_WRITER%:%FIELD_NAME% withName:@"%FIELD_'
|
|
+'NAME%"];'#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10' '
|
|
+' // <%%% END FIELDS_NO_STRIP %%%>'#10' }'#10' else'
|
|
+#10' {'#10' '#9' // <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'
|
|
+#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10' '
|
|
+' [aMessage write%FIELD_READER_WRITER%:%FIELD_NAME% withName:@"%FIELD_NA'
|
|
+'ME%"];'#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_ENUM %%%>'#10' [aMess'
|
|
+'age write%FIELD_READER_WRITER%:%FIELD_NAME% withName:@"%FIELD_NAME%" asEnum'
|
|
+':[%FIELD_TYPE_RAW%_EnumMetaData instance]];'#10' // <%%% END'
|
|
+' IF_FIELD_TYPE_ENUM %%%>'#10' // <%%% START IF_FIELD_TYPE_SI'
|
|
+'MPLE %%%>'#10' [aMessage write%FIELD_READER_WRITER%:%FIELD_N'
|
|
+'AME% withName:@"%FIELD_NAME%"];'#10' // <%%% END IF_FIELD_TY'
|
|
+'PE_SIMPLE %%%>'#10' '#9'// <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#10
|
|
,' }'#10'}'#10#10'-(void)readFromMessage:(ROMessage *) aMessage withNa'
|
|
+'me:(NSString *) aName'#10'{'#10' if ([aMessage useStrictFieldOrderFo'
|
|
+'rStructs])'#10' {'#10' // <%%% START IF_STRUCT_HAS_AN'
|
|
+'CESTOR %%%>'#10' [super readToMessage:aMessage withName:aNam'
|
|
+'e];'#10' // <%%% END IF_STRUCT_HAS_ANCESTOR %%%>'#10' '
|
|
+' // <%%% START FIELDS_NO_STRIP %%%>'#10' // <%%% STA'
|
|
+'RT IF_FIELD_TYPE_COMPLEX %%%>'#10' [aMessage read%FIELD_READ'
|
|
+'ER_WRITER%:&%FIELD_NAME% withName:@"%FIELD_NAME%" asClass:[%FIELD_TYPE_NAME'
|
|
+'% class]];'#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_ENUM %%%>'#10' [a'
|
|
+'Message read%FIELD_READER_WRITER%:(int32 *)&%FIELD_NAME% withName:@"%FIELD_'
|
|
+'NAME%" asEnum:[%FIELD_TYPE_RAW%_EnumMetaData instance]];'#10' '
|
|
+' // <%%% END IF_FIELD_TYPE_ENUM %%%>'#10' // <%%% START IF_'
|
|
+'FIELD_TYPE_SIMPLE %%%>'#10' [aMessage read%FIELD_READER_WRIT'
|
|
+'ER%:&%FIELD_NAME% withName:@"%FIELD_NAME%"];'#10' // <%%% EN'
|
|
+'D IF_FIELD_TYPE_SIMPLE %%%>'#10' // <%%% END FIELDS_NO_STRIP'
|
|
+' %%%>'#10' // <%%% START FIELDS_NO_STRIP %%%>'#10' '
|
|
+' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10' [%FIELD_'
|
|
+'NAME% retain];'#10' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'
|
|
+#10' // <%%% END FIELDS_NO_STRIP %%%>'#10' }'#10' '
|
|
+' else'#10' {'#10' // <%%% START ENTIRE_HIERARCHY_FI'
|
|
+'ELDS %%%>'#10' // <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10
|
|
+' [aMessage read%FIELD_READER_WRITER%:&%FIELD_NAME% withName:'
|
|
+'@"%FIELD_NAME%" asClass:[%FIELD_TYPE_NAME% class]];'#10' // '
|
|
+'<%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10' // <%%% START IF_FI'
|
|
+'ELD_TYPE_ENUM %%%>'#10' [aMessage read%FIELD_READER_WRITER%:'
|
|
+'(int32 *)&%FIELD_NAME% withName:@"%FIELD_NAME%" asEnum:[%FIELD_TYPE_RAW%_En'
|
|
+'umMetaData instance]];'#10' // <%%% END IF_FIELD_TYPE_ENUM %'
|
|
+'%%>'#10' // <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#10' '
|
|
+' [aMessage read%FIELD_READER_WRITER%:&%FIELD_NAME% withName:@"%FIEL'
|
|
+'D_NAME%"];'#10' // <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10' '
|
|
+' // <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#10' '
|
|
+'// <%%% START ENTIRE_HIERARCHY_FIELDS %%%>'#10' // <%%% STAR'
|
|
+'T IF_FIELD_TYPE_COMPLEX %%%>'#10' [%FIELD_NAME% retain];'#10
|
|
+' // <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10' '
|
|
+'// <%%% END ENTIRE_HIERARCHY_FIELDS %%%>'#10' }'#10'}'#10'// <%%% EN'
|
|
+'D IF_HAS_FIELDS %%%>'#10'@end'#10#10'// <%%% END EXCEPTIONS %%%>'#10#10'#pr'
|
|
+'agma mark service proxies'#10#10'// <%%% START SERVICES %%%>'#10'@implement'
|
|
+'ation %SERVICE_NAME%_Proxy '#10#10'-(id) initWithMessage:(ROMessage*) aMess'
|
|
+'age channel:(ROClientChannel*) aChannel'#10'{'#10#9'self = [super initWithM'
|
|
+'essage: aMessage channel: aChannel];'#10#9'return self;'#10'}'#10#10'-(void'
|
|
+') dealloc'#10'{'#10#9'[super dealloc];'#10'}'#10#10'-(NSString*) __getInter'
|
|
+'faceName'#10'{'#10#9'return @"%SERVICE_NAME%";'#10'}'#10#10'// <%%% START O'
|
|
+'PERATIONS %%%>'#10'- (%OPERATION_RESULT_TYPE%) %OPERATION_NAME%'#10#9'// <%'
|
|
+'%% START PARAMS %%%>'#10#9':(%PARAM_TYPE%%PARAM_BACK_MODIFIER%) %PARAM_NAME'
|
|
+'% '#10#9'// <%%% END PARAMS %%%>'#10'{'#10#9'// <%%% START IF_OPERATION_HA'
|
|
+'S_RESULT %%%>'#10#9'%OPERATION_RESULT_TYPE% __result;'#10#9'// <%%% END IF_'
|
|
+'OPERATION_HAS_RESULT %%%>'#10#10#9'[[self __message] initializeAsRequestMes'
|
|
+'sage:[self __clientChannel] libraryName:@"%LIBRARY_NAME%" interfaceName:[se'
|
|
+'lf __getActiveInterfaceName] messageName:@"%OPERATION_NAME%"];'#10#9'@try'
|
|
+#10#9'{'#10#9#9'// <%%% START IN_PARAMS_NO_STRIP %%%> '#10#9#9'// <%%% ST'
|
|
+'ART IF_PARAM_TYPE_COMPLEX %%%>'#10#9#9'[[self __message] write%PARAM_READER'
|
|
+'_WRITER%:%PARAM_FRONT_MODIFIER%%PARAM_NAME% withName:@"%PARAM_NAME%"];'#10#9
|
|
+#9'// <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#10#9#9'// <%%% START IF_PARAM_TYP'
|
|
+'E_ENUM %%%>'#10#9#9'[[self __message] write%PARAM_READER_WRITER%:%PARAM_FRO'
|
|
+'NT_MODIFIER%%PARAM_NAME% withName:@"%PARAM_NAME%" asEnum:[%PARAM_TYPE_RAW%_'
|
|
+'EnumMetaData instance]];'#10#9#9'// <%%% END IF_PARAM_TYPE_ENUM %%%>'#10#9#9
|
|
+'// <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#10#9#9'[[self __message] write%PAR'
|
|
+'AM_READER_WRITER%:%PARAM_FRONT_MODIFIER%%PARAM_NAME% withName:@"%PARAM_NAME'
|
|
+'%"];'#10#9#9'// <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#10#9#9'// <%%% END IN_P'
|
|
+'ARAMS_NO_STRIP %%%>'#10#9#9'[[self __message] finalizeMessage];'#10#9#9#10#9
|
|
+#9'[[self __clientChannel] dispatch:[self __message]];'#10#10#9#9'// <%%% ST'
|
|
+'ART IF_RESULT_COMPLEX %%%>'#10#9#9'[[self __message] read%OPERATION_RESULT_'
|
|
+'READER_WRITER%:&__result withName:@"%OPERATION_RESULT_NAME%" asClass:[%OPER'
|
|
,'ATION_RESULT_TYPE_NAME% class]];'#10#9#9'// <%%% END IF_RESULT_COMPLEX %%%>'
|
|
+#10#9#9'// <%%% START IF_RESULT_ENUM %%%>'#10#9#9'[[self __message] read%OPE'
|
|
+'RATION_RESULT_READER_WRITER%:(int32 *)&__result withName:@"%OPERATION_RESUL'
|
|
+'T_NAME%" asEnum:[%OPERATION_RESULT_TYPE_RAW%_EnumMetaData instance]];'#10#9
|
|
+#9'// <%%% END IF_RESULT_ENUM %%%>'#10#9#9'// <%%% START IF_RESULT_SIMPLE %%'
|
|
+'%>'#10#9#9'[[self __message] read%OPERATION_RESULT_READER_WRITER%:&__result'
|
|
+' withName:@"%OPERATION_RESULT_NAME%"];'#10#9#9'// <%%% END IF_RESULT_SIMPLE'
|
|
+' %%%>'#10#9#9'// <%%% START OUT_PARAMS_NO_STRIP %%%>'#10#9#9'// <%%% START '
|
|
+'IF_PARAM_TYPE_COMPLEX %%%>'#10#9#9'[[self __message] read%PARAM_READER_WRIT'
|
|
+'ER%:%PARAM_NAME% withName:@"%PARAM_NAME%" asClass:[%PARAM_TYPE_NAME% class]'
|
|
+'];'#10#9#9'// <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#10#9#9'// <%%% START IF_'
|
|
+'PARAM_TYPE_ENUM %%%>'#10#9#9'[[self __message] read%PARAM_READER_WRITER%:(i'
|
|
+'nt32 *)%PARAM_NAME% withName:@"%PARAM_NAME%" asEnum:[%PARAM_TYPE_RAW%_EnumM'
|
|
+'etaData instance]];'#10#9#9'// <%%% END IF_PARAM_TYPE_ENUM %%%>'#10#9#9'// '
|
|
+'<%%% START IF_PARAM_TYPE_SIMPLE %%%>'#10#9#9'[[self __message] read%PARAM_R'
|
|
+'EADER_WRITER%:%PARAM_NAME% withName:@"%PARAM_NAME%"];'#10#9#9'// <%%% END I'
|
|
+'F_PARAM_TYPE_SIMPLE %%%>'#10#9#9'// <%%% END OUT_PARAMS_NO_STRIP %%%>'#10#9
|
|
+'}'#10#9'@finally'#10#9'{'#10#9#9'[[self __message] clear];'#10#9'}'#10#10#9
|
|
+'// <%%% START IF_OPERATION_HAS_RESULT %%%>'#10#9'return __result;'#10#9'// '
|
|
+'<%%% END IF_OPERATION_HAS_RESULT %%%>'#10'}'#10#10'// <%%% END OPERATIONS %'
|
|
+'%%>'#10' '#10'@end'#10#10'@implementation %SERVICE_NAME%_AsyncProxy '#10#10
|
|
+'// <%%% START OPERATIONS %%%>'#10'- (ROAsyncRequest *)begin%OPERATION_NAME%'
|
|
+#10#9'// <%%% START IN_PARAMS %%%>'#10#9':(%PARAM_TYPE%%PARAM_BACK_MODIFIER%'
|
|
+') %PARAM_NAME% '#10#9'// <%%% END IN_PARAMS %%%>'#10'{'#10#9'ROMessage *__'
|
|
+'localMessage = [[[self __message] copy] autorelease];'#10#9'[__localMessage'
|
|
+' initializeAsRequestMessage:[self __clientChannel] libraryName:@"%LIBRARY_N'
|
|
+'AME%" interfaceName:[self __getActiveInterfaceName] messageName:@"%OPERATIO'
|
|
+'N_NAME%"];'#10#9'// <%%% START IN_PARAMS_NO_STRIP %%%> '#10#9'// <%%% ST'
|
|
+'ART IF_PARAM_TYPE_COMPLEX %%%>'#10#9'[__localMessage write%PARAM_READER_WRI'
|
|
+'TER%:%PARAM_FRONT_MODIFIER%%PARAM_NAME% withName:@"%PARAM_NAME%"];'#10#9'//'
|
|
+' <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_PARAM_TYPE_ENUM'
|
|
+' %%%>'#10#9'[__localMessage write%PARAM_READER_WRITER%:%PARAM_FRONT_MODIFIE'
|
|
+'R%%PARAM_NAME% withName:@"%PARAM_NAME%" asEnum:[%PARAM_TYPE_RAW%_EnumMetaDa'
|
|
+'ta instance]];'#10#9'// <%%% END IF_PARAM_TYPE_ENUM %%%>'#10#9'// <%%% STAR'
|
|
+'T IF_PARAM_TYPE_SIMPLE %%%>'#10#9'[__localMessage write%PARAM_READER_WRITER'
|
|
+'%:%PARAM_FRONT_MODIFIER%%PARAM_NAME% withName:@"%PARAM_NAME%"];'#10#9'// <%'
|
|
+'%% END IF_PARAM_TYPE_SIMPLE %%%>'#10#9'// <%%% END IN_PARAMS_NO_STRIP %%%>'
|
|
+#10#9'[__localMessage finalizeMessage];'#10#9'return [[self __clientChannel]'
|
|
+' asyncDispatch:__localMessage start:YES];'#10'}'#10#10'// <%%% END OPERATIO'
|
|
+'NS %%%>'#10#10'/*'#10'// <%%% START OPERATIONS %%%>'#10'- (ROAsyncRequest *'
|
|
+')begin%OPERATION_NAME%'#10#9'// <%%% START IN_PARAMS %%%>'#10#9':(%PARAM_TY'
|
|
+'PE%%PARAM_BACK_MODIFIER%) %PARAM_NAME%'#10#9'// <%%% END IN_PARAMS %%%>'#10
|
|
+#9'start:(BOOL)start'#10'{'#10#9'ROMessage *__localMessage = [[[self __messa'
|
|
+'ge] copy] autorelease];'#10#9'[__localMessage initializeAsRequestMessage:[s'
|
|
+'elf __clientChannel] libraryName:@"%LIBRARY_NAME%" interfaceName:[self __ge'
|
|
+'tActiveInterfaceName] messageName:@"%OPERATION_NAME%"];'#10#9'// <%%% START'
|
|
+' IN_PARAMS_NO_STRIP %%%>'#10#9'// <%%% START IF_PARAM_TYPE_COMPLEX %%%>'#10
|
|
+#9'[__localMessage write%PARAM_READER_WRITER%:%PARAM_FRONT_MODIFIER%%PARAM_N'
|
|
+'AME% withName:@"%PARAM_NAME%"];'#10#9'// <%%% END IF_PARAM_TYPE_COMPLEX %%%'
|
|
+'>'#10#9'// <%%% START IF_PARAM_TYPE_ENUM %%%>'#10#9'[__localMessage write%P'
|
|
+'ARAM_READER_WRITER%:%PARAM_FRONT_MODIFIER%%PARAM_NAME% withName:@"%PARAM_NA'
|
|
+'ME%" asEnum:[%PARAM_TYPE_RAW%_EnumMetaData instance]];'#10#9'// <%%% END IF'
|
|
+'_PARAM_TYPE_ENUM %%%>'#10#9'// <%%% START IF_PARAM_TYPE_SIMPLE %%%>'#10#9'['
|
|
+'__localMessage write%PARAM_READER_WRITER%:%PARAM_FRONT_MODIFIER%%PARAM_NAME'
|
|
+'% withName:@"%PARAM_NAME%"];'#10#9'// <%%% END IF_PARAM_TYPE_SIMPLE %%%>'#10
|
|
+#9'// <%%% END IN_PARAMS_NO_STRIP %%%>'#10#9'[__localMessage finalizeMessage'
|
|
+'];'#10#9'return [[self __clientChannel] asyncDispatch:__localMessage start:'
|
|
+'start];'#10'}'#10#10'// <%%% END OPERATIONS %%%>'#10'*/'#10#10'// <%%% STAR'
|
|
+'T OPERATIONS %%%>'#10'- (%OPERATION_RESULT_TYPE%)end%OPERATION_NAME%'#10#9
|
|
+':(ROAsyncRequest *)__asyncRequest'#10#9'// <%%% START OUT_PARAMS %%%>'#10#9
|
|
+':(%PARAM_TYPE%%PARAM_BACK_MODIFIER%) %PARAM_NAME% '#10#9'// <%%% END OUT_P'
|
|
+'ARAMS %%%>'#10'{'#10#9'// <%%% START IF_OPERATION_HAS_RESULT %%%>'#10#9'%OP'
|
|
+'ERATION_RESULT_TYPE% __result;'#10#9'// <%%% END IF_OPERATION_HAS_RESULT %%'
|
|
+'%>'#10#9'ROMessage *__localMessage = [__asyncRequest responseMessage];'#10
|
|
,#10#9'// <%%% START IF_RESULT_COMPLEX %%%>'#10#9'[__localMessage read%OPERAT'
|
|
+'ION_RESULT_READER_WRITER%:&__result withName:@"%OPERATION_RESULT_NAME%" asC'
|
|
+'lass:[%OPERATION_RESULT_TYPE_NAME% class]];'#10#9'// <%%% END IF_RESULT_COM'
|
|
+'PLEX %%%>'#10#9'// <%%% START IF_RESULT_ENUM %%%>'#10#9'[[self __message] r'
|
|
+'ead%OPERATION_RESULT_READER_WRITER%:(int32 *)&__result withName:@"%OPERATIO'
|
|
+'N_RESULT_NAME%" asEnum:[%OPERATION_RESULT_TYPE_RAW%_EnumMetaData instance]]'
|
|
+';'#10#9'// <%%% END IF_RESULT_ENUM %%%>'#10#9'// <%%% START IF_RESULT_SIMPL'
|
|
+'E %%%>'#10#9'[__localMessage read%OPERATION_RESULT_READER_WRITER%:&__result'
|
|
+' withName:@"%OPERATION_RESULT_NAME%"];'#10#9'// <%%% END IF_RESULT_SIMPLE %'
|
|
+'%%>'#10#9'// <%%% START OUT_PARAMS_NO_STRIP %%%> '#10#9'// <%%% START IF_'
|
|
+'PARAM_TYPE_COMPLEX %%%>'#10#9'[__localMessage read%PARAM_READER_WRITER%:%PA'
|
|
+'RAM_NAME% withName:@"%PARAM_NAME%" asClass:[%PARAM_TYPE_NAME% class]];'#10#9
|
|
+'// <%%% END IF_PARAM_TYPE_COMPLEX %%%>'#10#9'// <%%% START IF_PARAM_TYPE_EN'
|
|
+'UM %%%>'#10#9'[[self __message] read%PARAM_READER_WRITER%:(int32 *)%PARAM_N'
|
|
+'AME% withName:@"%PARAM_NAME%" asEnum:[%PARAM_TYPE_RAW%_EnumMetaData instanc'
|
|
+'e]];'#10#9'// <%%% END IF_PARAM_TYPE_ENUM %%%>'#10#9'// <%%% START IF_PARAM'
|
|
+'_TYPE_SIMPLE %%%>'#10#9'[__localMessage read%PARAM_READER_WRITER%:%PARAM_NA'
|
|
+'ME% withName:@"%PARAM_NAME%"];'#10#9'// <%%% END IF_PARAM_TYPE_SIMPLE %%%>'
|
|
+#10#9'// <%%% END OUT_PARAMS_NO_STRIP %%%>'#10#9'[__localMessage clear];'#10
|
|
+#10#9'// <%%% START IF_OPERATION_HAS_RESULT %%%>'#10#9'return __result;'#10#9
|
|
+'// <%%% END IF_OPERATION_HAS_RESULT %%%>'#10'}'#10#10'// <%%% END OPERATION'
|
|
+'S %%%>'#10'@end'#10#10'// <%%% END SERVICES %%%>'#10#10'static BOOL %LIBRAR'
|
|
+'Y_NAME%_WasInitialized;'#10#10'void Initialize%LIBRARY_NAME%()'#10'{'#10#9
|
|
+'if (!%LIBRARY_NAME%_WasInitialized)'#10#9'{'#10#9#9'%LIBRARY_NAME%_WasIniti'
|
|
+'alized = YES;'#10#9#9'// <%%% START STRUCTS %%%>'#10#9#9'[[ROTypeManager ty'
|
|
+'peManager] addType:[%STRUCT_NAME% class] className:@"%STRUCT_NAME%"];'#10#9
|
|
+#9'// <%%% END STRUCTS %%%>'#10#9#9'// <%%% START EXCEPTIONS %%%>'#10#9#9'[['
|
|
+'ROTypeManager typeManager] addType:[%EXCEPTION_NAME% class] className:@"%EX'
|
|
+'CEPTION_NAME%"];'#10#9#9'// <%%% END EXCEPTIONS %%%>'#10#9'}'#10'}'
|
|
]);
|
|
LazarusResources.Add('TEMPLATE_OBJC_INTF_H','RCDATA',[
|
|
'//----------------------------------------------------------------------'#10
|
|
+'// This file was automatically generated by the RemObjects SDK from a '#10
|
|
+'// RODL file associated with this project. '#10'// '
|
|
+' '
|
|
+#10'// Do not modify this file manually, or your changes will be lost when '
|
|
+#10'// it is regenerated the next time you update your RODL. '
|
|
+#10'//----------------------------------------------------------------------'
|
|
+#10#10'#ifndef %LIBRARY_NAME%_INTF__H'#10'#define %LIBRARY_NAME%_INTF__H'#10
|
|
+#10'#import <RemObjectsSDK/RemObjectsSDK.h>'#10'// <%%% START REQUIRED_UNITS'
|
|
+' %%%>'#10'#import <%REQUIRED_UNIT_NAME%.h>'#10'// <%%% END REQUIRED_UNITS %'
|
|
+'%%>'#10#10'#pragma mark defines'#10#10'// Library ID'#10'////#define Librar'
|
|
+'yID "%LIBRARY_UID%"'#10'////#define TargetNamespace "%NAMESPACE_NAME%"'#10
|
|
+#10'// Service Interface ID''s'#10'// <%%% START SERVICES %%%>'#10'#define '
|
|
+'I%SERVICE_NAME%_IID "%SERVICE_UID%"'#10'////const GUID I%SERVICE_NAME%_IID '
|
|
+'= ROStringToGUID("%SERVICE_UID%");'#10'// <%%% END SERVICES %%%>'#10#10'///'
|
|
+'/ Event ID''s'#10'//// <%%% START EVENT_SINKS %%%>'#10'////#define EID_%EVE'
|
|
+'NT_SINK_NAME% @"%EVENT_SINK_NAME%"'#10'////#define IID_%EVENT_SINK_NAME% @"'
|
|
+'%EVENT_SINK_UID%"'#10'//// <%%% END EVENT_SINKS %%%>'#10#10'// Type Registr'
|
|
+'ation'#10'void Initialize%LIBRARY_NAME%();'#10#10'// Forward declarations'
|
|
+#10'// <%%% START SERVICES %%%>'#10'@protocol I%SERVICE_NAME%; '#10'// <%%% '
|
|
+'END SERVICES %%%>'#10'// <%%% START ARRAYS %%%>'#10'@class %ARRAY_NAME%;'#10
|
|
+'// <%%% END ARRAYS %%%>'#10'// <%%% START STRUCTS %%%>'#10'@class %STRUCT_N'
|
|
+'AME%;'#10'// <%%% END STRUCTS %%%>'#10'// <%%% START EXCEPTIONS %%%>'#10'@c'
|
|
+'lass %EXCEPTION_NAME%;'#10'// <%%% END EXCEPTIONS %%%>'#10'// <%%% START EV'
|
|
+'ENT_SINKS %%%>'#10'@protocol I%EVENT_SINK_NAME%;'#10'// <%%% END EVENT_SINK'
|
|
+'S %%%>'#10#10'#pragma mark enums'#10#10'// <%%% START ENUMS %%%>'#10'enum %'
|
|
+'ENUM_NAME% '#10'{'#10#9'// <%%% START VALUES %%%>'#10#9'%VALUE_NAME%, '
|
|
+' '#10#9'// <%%% END VALUES %%%> '#10'};'#10#10'@int'
|
|
+'erface %ENUM_NAME%_EnumMetaData : ROEnumMetaData'#10'{'#10#9'NSDictionary *'
|
|
+'stringToValueLookup;'#10'}'#10#10'@property (readonly) NSString *typeName;'
|
|
+#10#10'@end'#10#10'NSString *%ENUM_NAME%ToString(enum %ENUM_NAME% value) DEP'
|
|
+'RECATED_ATTRIBUTE;'#10#10'// <%%% END ENUMS %%%>'#10#10'#pragma mark struct'
|
|
+'s'#10#10'// <%%% START STRUCTS %%%>'#10'@interface %STRUCT_NAME% : %STRUCT_'
|
|
+'ANCESTOR_NAME% '#10'{ '#10#9'// <%%% START FIELDS_NO_STRIP %%%>'#10#9'%FIE'
|
|
+'LD_TYPE% %FIELD_NAME%;'#10#9'// <%%% END FIELDS_NO_STRIP %%%>'#10'}'#10#10
|
|
+'// <%%% START FIELDS_NO_STRIP %%%>'#10'// <%%% START IF_FIELD_TYPE_COMPLEX '
|
|
+'%%%>'#10'@property (retain) %FIELD_TYPE% %FIELD_NAME%;'#10'// <%%% END IF_F'
|
|
+'IELD_TYPE_COMPLEX %%%>'#10'// <%%% START IF_FIELD_TYPE_ENUM %%%>'#10'@prope'
|
|
+'rty (assign) %FIELD_TYPE% %FIELD_NAME%;'#10'// <%%% END IF_FIELD_TYPE_ENUM '
|
|
+'%%%>'#10'// <%%% START IF_FIELD_TYPE_SIMPLE %%%>'#10'@property (assign) %FI'
|
|
+'ELD_TYPE% %FIELD_NAME%;'#10'// <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10'// <%'
|
|
+'%% END FIELDS_NO_STRIP %%%>'#10#10'// <%%% START IF_HAS_FIELDS %%%>'#10'- ('
|
|
+'id) init;'#10'- (void)dealloc;'#10'// <%%% END IF_HAS_FIELDS %%%>'#10#10'- '
|
|
+'(void)assignFrom:(ROComplexType*) aSource;'#10'// <%%% START IF_HAS_FIELDS '
|
|
+'%%%>'#10'- (void)writeToMessage:(ROMessage *) aMessage withName:(NSString *'
|
|
+') aName;'#10'- (void)readFromMessage:(ROMessage *) aMessage withName:(NSStr'
|
|
+'ing *) aName;'#10'// <%%% END IF_HAS_FIELDS %%%>'#10#10'@end'#10#10'// <%%%'
|
|
+' END STRUCTS %%%>'#10#10'#pragma mark arrays'#10#10'// <%%% START ARRAYS %%'
|
|
+'%>'#10'@interface %ARRAY_NAME% : ROArray '#10'{'#10'}'#10'// <%%% START IF_'
|
|
+'ARRAY_TYPE_COMPLEX %%%>'#10'- (%ARRAY_TYPE%) add;'#10'// <%%% END IF_ARRAY_'
|
|
+'TYPE_COMPLEX %%%>'#10'- (NSString *) itemTypeName; '#10'- (void)addItem:(%A'
|
|
+'RRAY_TYPE%)object;'#10'- (void)insertItem:(%ARRAY_TYPE%)object atIndex:(NSU'
|
|
+'Integer)index;'#10'- (void)replaceItemAtIndex:(NSUInteger)index withItem:(%'
|
|
+'ARRAY_TYPE%)object;'#10'- (%ARRAY_TYPE%)itemAtIndex:(NSUInteger)index;'#10
|
|
+'@end;'#10#10'// <%%% END ARRAYS %%%>'#10'#pragma mark exceptions'#10#10'// '
|
|
+'<%%% START EXCEPTIONS %%%>'#10'// <%%% START DOCUMENTATION %%%>'#10#10'/* D'
|
|
+'escription:'#10' %CONTENT% */'#10'// <%%% END DOCUMENTATION %%%>'#10'@in'
|
|
+'terface %EXCEPTION_NAME% : %EXCEPTION_ANCESTOR_NAME% '#10'{ '#10#9'// <%%%'
|
|
+' START FIELDS_NO_STRIP %%%>'#10#9'%FIELD_TYPE% %FIELD_NAME%;'#10#9'// <%%% '
|
|
+'END FIELDS_NO_STRIP %%%>'#10'}'#10' '#10'// <%%% START FIELDS_NO_STRIP %%%'
|
|
+'>'#10'// <%%% START IF_FIELD_TYPE_COMPLEX %%%>'#10'@property (retain) %FIEL'
|
|
+'D_TYPE% %FIELD_NAME%;'#10'// <%%% END IF_FIELD_TYPE_COMPLEX %%%>'#10'// <%%'
|
|
+'% START IF_FIELD_TYPE_SIMPLE %%%>'#10'@property (assign) %FIELD_TYPE% %FIEL'
|
|
+'D_NAME%;'#10'// <%%% END IF_FIELD_TYPE_SIMPLE %%%>'#10'// <%%% END FIELDS_N'
|
|
,'O_STRIP %%%>'#10' '#10'- (id)initWithMessage:(NSString *) anExceptionMessa'
|
|
+'ge'#10#9'// <%%% START ANCESTOR_FIELDS %%%>'#10#9': (%FIELD_TYPE%) a%FIELD_'
|
|
+'NAME% '#10#9'// <%%% END ANCESTOR_FIELDS %%%>'#10#9'// <%%% START FIELDS_NO'
|
|
+'_STRIP %%%>'#10#9': (%FIELD_TYPE%) a%FIELD_NAME% '#10#9'// <%%% END FIELDS_'
|
|
+'NO_STRIP %%%>'#10#9';'#10'// <%%% START IF_HAS_FIELDS %%%>'#10'- (void)writ'
|
|
+'eToMessage:(ROMessage *) aMessage withName:(NSString *) aName;'#10'- (void)'
|
|
+'readFromMessage:(ROMessage *) aMessage withName:(NSString *) aName;'#10'// '
|
|
+'<%%% END IF_HAS_FIELDS %%%>'#10'- (void) dealloc;'#10'@end'#10#10'// <%%% E'
|
|
+'ND EXCEPTIONS %%%>'#10#10'#pragma mark service protocols'#10#10'// <%%% STA'
|
|
+'RT SERVICES %%%>'#10'@protocol I%SERVICE_NAME%'#10'// <%%% START OPERATIONS'
|
|
+' %%%>'#10'- (%OPERATION_RESULT_TYPE%)%OPERATION_NAME%'#10'// <%%% START PAR'
|
|
+'AMS %%%>'#10#9':(%PARAM_TYPE%%PARAM_BACK_MODIFIER%)%PARAM_NAME%'#10'// <%%%'
|
|
+' END PARAMS %%%>'#10#9';'#10'// <%%% END OPERATIONS %%%>'#10'@end'#10#10'#p'
|
|
+'ragma mark service proxies'#10#10'@interface %SERVICE_NAME%_Proxy : %SERVIC'
|
|
+'E_PROXY_ANCESTOR_NAME% <I%SERVICE_NAME%> '#10'{'#10'}'#10'- (id)initWithMes'
|
|
+'sage:(ROMessage*) aMessage channel:(ROClientChannel*) aChannel;'#10'- (void'
|
|
+')dealloc;'#10'- (NSString*)__getInterfaceName;'#10#10'// <%%% START OPERATI'
|
|
+'ONS %%%>'#10'- (%OPERATION_RESULT_TYPE%)%OPERATION_NAME%'#10'// <%%% START '
|
|
+'PARAMS %%%>'#10#9':(%PARAM_TYPE%%PARAM_BACK_MODIFIER%) %PARAM_NAME%'#10'// '
|
|
+'<%%% END PARAMS %%%>'#9#10#9';'#10'// <%%% END OPERATIONS %%%>'#10' '#10'@'
|
|
+'end'#10#10'@interface %SERVICE_NAME%_AsyncProxy : %SERVICE_NAME%_Proxy '#10
|
|
+'{'#10'}'#10'// <%%% START OPERATIONS %%%>'#10'- (ROAsyncRequest *)begin%OPE'
|
|
+'RATION_NAME%'#10'// <%%% START IN_PARAMS %%%>'#10#9':(%PARAM_TYPE%%PARAM_BA'
|
|
+'CK_MODIFIER%) %PARAM_NAME% '#10'// <%%% END IN_PARAMS %%%>'#10#9';'#10'// '
|
|
+'<%%% END OPERATIONS %%%>'#10#10'/*'#10'// <%%% START OPERATIONS %%%>'#10'- '
|
|
+'(ROAsyncRequest *)begin%OPERATION_NAME%'#10'// <%%% START IN_PARAMS %%%>'#10
|
|
+#9':(%PARAM_TYPE%%PARAM_BACK_MODIFIER%) %PARAM_NAME%'#10'// <%%% END IN_PARA'
|
|
+'MS %%%>'#10#9'start:(BOOL)start'#10#9';'#10'// <%%% END OPERATIONS %%%>'#10
|
|
+'*/'#10#10'// <%%% START OPERATIONS %%%>'#10'- (%OPERATION_RESULT_TYPE%)end%'
|
|
+'OPERATION_NAME%'#10#9':(ROAsyncRequest *)__asyncRequest'#10'// <%%% START O'
|
|
+'UT_PARAMS %%%>'#10#9':(%PARAM_TYPE%%PARAM_BACK_MODIFIER%) %PARAM_NAME% '#10
|
|
+'// <%%% END OUT_PARAMS %%%>'#10#9';'#10'// <%%% END OPERATIONS %%%> '#10'@'
|
|
+'end'#10#10'// <%%% END SERVICES %%%>'#10#10'#pragma mark event sinks'#10#10
|
|
+'//// <%%% START EVENT_SINKS %%%>'#10'//// /* I%EVENT_SINK_NAME% */'#10'////'
|
|
+' <%%% END EVENT_SINKS %%%>'#10#10'void Initialize%LIBRARY_NAME%();'#10#10'#'
|
|
+'endif // %LIBRARY_NAME%_INTF__H'#10#10
|
|
]);
|