// %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. } {---------------------------------------------------------------------------*/ // RemObjects: #include #include // Interface of %LIBRARY_NAME% #include "%LIBRARY_NAME%_intf.h" // Implementation of %LIBRARY_NAME% #include "%LIBRARY_NAME%_invk.h" // <%%% START SERVICES %%%> // T%SERVICE_NAME%_Invoker // <%%% START FUNCTION_OPERATIONS %%%> void __fastcall T%SERVICE_NAME%_Invoker::Invoke_%OPERATION_NAME%( const System::_di_IInterface __Instance, const Uroclientintf::_di_IROMessage __Message, const Uroclientintf::_di_IROTransport __Transport, /* out */ Uroserverintf::TROResponseOptions& __oResponseOptions) { // <%%% START IF_RESULT_SIMPLE %%%> // virtual %OPERATION_RESULT% __fastcall %OPERATION_NAME%( // <%%% END IF_RESULT_SIMPLE %%%> // <%%% START IF_RESULT_COMPLEX %%%> // virtual %OPERATION_RESULT%* __fastcall %OPERATION_NAME%( // <%%% END IF_RESULT_COMPLEX %%%> // <%%% START PARAMS %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> // %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%, // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> // %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%, // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS %%%> // ); // <%%% START PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> %PARAM_TYPE% %PARAM_NAME%; // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> %PARAM_TYPE%* %PARAM_NAME%; // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS_NO_STRIP %%%> // <%%% START IF_RESULT_SIMPLE %%%> %OPERATION_RESULT% lResult; // <%%% END IF_RESULT_SIMPLE %%%> // <%%% START IF_RESULT_COMPLEX %%%> %OPERATION_RESULT%* lResult; // <%%% END IF_RESULT_COMPLEX %%%> try { _di_I%SERVICE_NAME% __%SERVICE_NAME%Instance; if (__Instance->Supports(__%SERVICE_NAME%Instance)) { // <%%% START IN_PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> __Message->Read("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> __Message->Read("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END IN_PARAMS_NO_STRIP %%%> 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 %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> __Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> __Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END OUT_PARAMS_NO_STRIP %%%> // <%%% START IF_RESULT_SIMPLE %%%> __Message->Write("Result", __Get%OPERATION_RESULT%Info, &lResult, TParamAttributes(%OPERATION_RESULT_ATTRIBUTE%)); // <%%% END IF_RESULT_SIMPLE %%%> // <%%% START IF_RESULT_COMPLEX %%%> __Message->Write("Result", __typeinfo(%OPERATION_RESULT%), lResult, TParamAttributes(%OPERATION_RESULT_ATTRIBUTE%)); // <%%% END IF_RESULT_COMPLEX %%%> __Message->Finalize(); } else { throw new EIntfCastError("Critical error in Invoker: Instance does not support I%SERVICE_NAME% interface"); } } __finally { // <%%% START IF_HAS_COMPLEX_TYPE %%%> TROObjectDisposer* __lObjectDisposer = new TROObjectDisposer(__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 { delete __lObjectDisposer; } // <%%% END IF_HAS_COMPLEX_TYPE %%%> } } // <%%% END FUNCTION_OPERATIONS %%%> // <%%% START PROCEDURE_OPERATIONS %%%> void __fastcall T%SERVICE_NAME%_Invoker::Invoke_%OPERATION_NAME%( const System::_di_IInterface __Instance, const Uroclientintf::_di_IROMessage __Message, const Uroclientintf::_di_IROTransport __Transport, /* out */ Uroserverintf::TROResponseOptions& __oResponseOptions) { // virtual void __fastcall %OPERATION_NAME%( // <%%% START PARAMS %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> // %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%, // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> // %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%, // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS %%%> // ); // <%%% START PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> %PARAM_TYPE% %PARAM_NAME%; // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> %PARAM_TYPE%* %PARAM_NAME%; // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END PARAMS_NO_STRIP %%%> try { _di_I%SERVICE_NAME% __%SERVICE_NAME%Instance; if (__Instance->Supports(__%SERVICE_NAME%Instance)) { // <%%% START IN_PARAMS_NO_STRIP %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> __Message->Read("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> __Message->Read("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END IN_PARAMS_NO_STRIP %%%> __%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 %%%> // <%%% START IF_PARAM_TYPE_SIMPLE %%%> __Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_SIMPLE %%%> // <%%% START IF_PARAM_TYPE_COMPLEX %%%> __Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%)); // <%%% END IF_PARAM_TYPE_COMPLEX %%%> // <%%% END OUT_PARAMS_NO_STRIP %%%> __Message->Finalize(); // <%%% START IF_NO_OUT_PARAMS %%%> __oResponseOptions = TROResponseOptions() << roNoResponse; // <%%% END IF_NO_OUT_PARAMS %%%> } else { throw new EIntfCastError("Critical error in Invoker: Instance does not support %SERVICE_NAME% interface"); } } __finally { // <%%% START IF_HAS_COMPLEX_TYPE %%%> TROObjectDisposer* __lObjectDisposer = new TROObjectDisposer(__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 { delete __lObjectDisposer; } // <%%% END IF_HAS_COMPLEX_TYPE %%%> } } // <%%% END PROCEDURE_OPERATIONS %%%> // <%%% END SERVICES %%%>