unit %UNIT_NAME%; {----------------------------------------------------------------------------} { This unit was automatically generated by the RemObjects SDK after reading } { the RODL file associated with this project . } { } { Do not modify this unit manually, or your changes will be lost when this } { unit is regenerated the next time you compile the project. } {----------------------------------------------------------------------------} {$I Remobjects.inc} interface uses // <%%% START REQUIRED_UNITS %%%> %REQUIRED_UNIT_NAME%, // <%%% END REQUIRED_UNITS %%%> {vcl:} Classes, {RemObjects:} uROXMLIntf, uROServer, uROServerIntf, uROTypes, uROClientIntf, {Generated:} %LIBRARY_NAME%_Intf; type TSeekOrigin = Classes.TSeekOrigin; // fake declaration // <%%% START SERVICES %%%> {$M+} T%SERVICE_NAME%_Invoker = class(T%SERVICE_INVOKER_ANCESTOR_NAME%) private protected published // <%%% START FUNCTION_OPERATIONS %%%> procedure Invoke_%OPERATION_NAME%(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); // <%%% END FUNCTION_OPERATIONS %%%> // <%%% START PROCEDURE_OPERATIONS %%%> procedure Invoke_%OPERATION_NAME%(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); // <%%% END PROCEDURE_OPERATIONS %%%> end; {$M-} // <%%% END SERVICES %%%> implementation uses {RemObjects:} uRORes, uROClient; // <%%% START SERVICES %%%> { T%SERVICE_NAME%_Invoker } // <%%% START FUNCTION_OPERATIONS %%%> procedure T%SERVICE_NAME%_Invoker.Invoke_%OPERATION_NAME%(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function %OPERATION_NAME%( // <%%% START PARAMS %%%> %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%; // <%%% END PARAMS %%%> ): %OPERATION_RESULT%; } var // <%%% START PARAMS_NO_STRIP %%%> %PARAM_NAME%: %PARAM_TYPE%; // <%%% END PARAMS_NO_STRIP %%%> lResult: %OPERATION_RESULT%; // <%%% START IF_HAS_COMPLEX_TYPE %%%> __lObjectDisposer: TROObjectDisposer; // <%%% END IF_HAS_COMPLEX_TYPE %%%> __%SERVICE_NAME%Instance: I%SERVICE_NAME%; begin // <%%% START PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> %PARAM_NAME% := nil; // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS_NO_STRIP %%%> try // <%%% START IN_PARAMS_NO_STRIP %%%> __Message.Read('%PARAM_NAME%', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]); // <%%% END IN_PARAMS_NO_STRIP %%%> __%SERVICE_NAME%Instance := __Instance as I%SERVICE_NAME%; lResult := __%SERVICE_NAME%Instance.%OPERATION_NAME%( // <%%% START PARAMS %%%> %PARAM_NAME%, // <%%% END PARAMS %%%> ); __Message.InitializeResponseMessage(__Transport, '%LIBRARY_NAME%', '%SERVICE_NAME%', '%OPERATION_NAME%Response'); // <%%% START OUT_PARAMS_NO_STRIP %%%> __Message.Write('%PARAM_NAME%', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]); // <%%% END OUT_PARAMS_NO_STRIP %%%> __Message.Write('Result', TypeInfo(%OPERATION_RESULT%), lResult, [%OPERATION_RESULT_ATTRIBUTE%]); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally // <%%% START IF_HAS_COMPLEX_TYPE %%%> __lObjectDisposer := TROObjectDisposer.Create(__Instance); try // <%%% START PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> __lObjectDisposer.Add(%PARAM_NAME%); // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS_NO_STRIP %%%> // <%%% START IF_RESULT_COMPLEX %%%> __lObjectDisposer.Add(lResult); // <%%% END IF_RESULT_COMPLEX %%%> finally __lObjectDisposer.Free(); end; // <%%% END IF_HAS_COMPLEX_TYPE %%%> end; end; // <%%% END FUNCTION_OPERATIONS %%%> // <%%% START PROCEDURE_OPERATIONS %%%> procedure T%SERVICE_NAME%_Invoker.Invoke_%OPERATION_NAME%(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { procedure %OPERATION_NAME%( // <%%% START PARAMS %%%> %PARAM_FRONT_MODIFIER% %PARAM_NAME%: %PARAM_TYPE%; // <%%% END PARAMS %%%> ); } var // <%%% START PARAMS_NO_STRIP %%%> %PARAM_NAME%: %PARAM_TYPE%; // <%%% END PARAMS_NO_STRIP %%%> // <%%% START IF_HAS_COMPLEX_TYPE %%%> __lObjectDisposer: TROObjectDisposer; // <%%% END IF_HAS_COMPLEX_TYPE %%%> __%SERVICE_NAME%Instance: I%SERVICE_NAME%; begin // <%%% START PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> %PARAM_NAME% := nil; // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS_NO_STRIP %%%> try // <%%% START IN_PARAMS_NO_STRIP %%%> __Message.Read('%PARAM_NAME%', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]); // <%%% END IN_PARAMS_NO_STRIP %%%> __%SERVICE_NAME%Instance := __Instance as I%SERVICE_NAME%; __%SERVICE_NAME%Instance.%OPERATION_NAME%( // <%%% START PARAMS %%%> %PARAM_NAME%, // <%%% END PARAMS %%%> ); __Message.InitializeResponseMessage(__Transport, '%LIBRARY_NAME%', '%SERVICE_NAME%', '%OPERATION_NAME%Response'); // <%%% START OUT_PARAMS_NO_STRIP %%%> __Message.Write('%PARAM_NAME%', TypeInfo(%PARAM_TYPE%), %PARAM_NAME%, [%PARAM_ATTRIBUTE%]); // <%%% END OUT_PARAMS_NO_STRIP %%%> __Message.Finalize; __Message.UnsetAttributes(__Transport); // <%%% START IF_NO_OUT_PARAMS %%%> __oResponseOptions := [roNoResponse]; // <%%% END IF_NO_OUT_PARAMS %%%> finally // <%%% START IF_HAS_COMPLEX_TYPE %%%> __lObjectDisposer := TROObjectDisposer.Create(__Instance); try // <%%% START PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> __lObjectDisposer.Add(%PARAM_NAME%); // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS_NO_STRIP %%%> finally __lObjectDisposer.Free(); end; // <%%% END IF_HAS_COMPLEX_TYPE %%%> end; end; // <%%% END PROCEDURE_OPERATIONS %%%> // <%%% END SERVICES %%%> end.