// %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. } {---------------------------------------------------------------------------*/ #ifndef %UNIT_NAME%_H #define %UNIT_NAME%_H #pragma delphiheader begin #pragma option push #pragma option -w- // All warnings off #pragma option -Vx // Zero-length empty class member functions #pragma pack(push,8) #include // Pascal unit #include // <%%% START REQUIRED_UNITS %%%> #include <%REQUIRED_UNIT_NAME%.hpp> // <%%% END REQUIRED_UNITS %%%> #include "%LIBRARY_NAME%_intf.h" namespace %NAMESPACE_NAME% { // Forward declarations // <%%% START SERVICES %%%> __interface I%SERVICE_NAME%_Async; // = interface; class DELPHICLASS Co%SERVICE_NAME%_Async; class DELPHICLASS T%SERVICE_NAME%_AsyncProxy; // <%%% END SERVICES %%%> // <%%% START SERVICES %%%> __interface I%SERVICE_NAME%_Async; typedef System::DelphiInterface _di_I%SERVICE_NAME%_Async; __interface INTERFACE_UUID("%SERVICE_UID%") I%SERVICE_NAME%_Async : public %SERVICE_ANCESTOR_NAME% { public: // <%%% START FUNCTION_OPERATIONS %%%> virtual void __fastcall Invoke_%OPERATION_NAME%( // <%%% START IN_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 IN_PARAMS %%%> ) = 0; // pure virtual function - interface only // <%%% START IF_RESULT_SIMPLE %%%> virtual %OPERATION_RESULT% __fastcall Retrieve_%OPERATION_NAME%( // <%%% END IF_RESULT_SIMPLE %%%> // <%%% START IF_RESULT_COMPLEX %%%> virtual %OPERATION_RESULT%* __fastcall Retrieve_%OPERATION_NAME%( // <%%% END IF_RESULT_COMPLEX %%%> // <%%% START OUT_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 OUT_PARAMS %%%> ) = 0; // pure virtual function - interface only // <%%% END FUNCTION_OPERATIONS %%%> // <%%% START PROCEDURE_OPERATIONS %%%> virtual void _fastcall Invoke_%OPERATION_NAME%( // <%%% START IN_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 IN_PARAMS %%%> ) = 0; // pure virtual function - interface only // <%%% START IF_OUT_PARAMS %%%> virtual void _fastcall Retrieve_%OPERATION_NAME%( // <%%% START OUT_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 OUT_PARAMS %%%> ) = 0; // pure virtual function - interface only // <%%% END IF_OUT_PARAMS %%%> // <%%% END PROCEDURE_OPERATIONS %%%> }; // Co%SERVICE_NAME%_Async class DELPHICLASS Co%SERVICE_NAME%_Async; class Co%SERVICE_NAME%_Async : public System::TObject { typedef System::TObject inherited; public: static _di_I%SERVICE_NAME%_Async __fastcall Create(const Uroclientintf::_di_IROMessage aMessage, Uroclientintf::_di_IROTransportChannel aTransportChannel) { _di_I%SERVICE_NAME%_Async result; T%SERVICE_NAME%_AsyncProxy* proxy = new T%SERVICE_NAME%_AsyncProxy(aMessage, aTransportChannel); if (proxy->QueryInterface(I%SERVICE_NAME%_IID, reinterpret_cast(&result)) != S_OK) { delete proxy; throw EIntfCastError::EIntfCastError("I%SERVICE_NAME%_Async not supported"); } return result; }; static _di_I%SERVICE_NAME%_Async __fastcall Create(const Uroclient::TROMessage* aMessage, Uroclient::TROTransportChannel *aTransportChannel) { _di_IROMessage __Message; _di_IROTransportChannel __TransportChannel; if (aMessage->GetInterface(__Message)) { if (aTransportChannel->GetInterface(__TransportChannel)) return Create(__Message, __TransportChannel); else throw EIntfCastError::EIntfCastError("IROTransportChannel not supported"); } else { throw EIntfCastError::EIntfCastError("IROMessage not supported"); } }; }; class DELPHICLASS T%SERVICE_NAME%_AsyncProxy; class T%SERVICE_NAME%_AsyncProxy : public %SERVICE_PROXY_ANCESTOR_NAME%, I%SERVICE_NAME%_Async { typedef %SERVICE_PROXY_ANCESTOR_NAME% inherited; protected: virtual AnsiString __fastcall __GetInterfaceName() { return "%SERVICE_NAME%"; } // <%%% START FUNCTION_OPERATIONS %%%> virtual void __fastcall Invoke_%OPERATION_NAME%( // <%%% START IN_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 IN_PARAMS %%%> ); // <%%% START IF_RESULT_SIMPLE %%%> virtual %OPERATION_RESULT% __fastcall Retrieve_%OPERATION_NAME%( // <%%% END IF_RESULT_SIMPLE %%%> // <%%% START IF_RESULT_COMPLEX %%%> virtual %OPERATION_RESULT%* __fastcall Retrieve_%OPERATION_NAME%( // <%%% END IF_RESULT_COMPLEX %%%> // <%%% START OUT_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 OUT_PARAMS %%%> ); // <%%% END FUNCTION_OPERATIONS %%%> // <%%% START PROCEDURE_OPERATIONS %%%> virtual void _fastcall Invoke_%OPERATION_NAME%( // <%%% START IN_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 IN_PARAMS %%%> ); // <%%% START IF_OUT_PARAMS %%%> virtual void _fastcall Retrieve_%OPERATION_NAME%( // <%%% START OUT_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 OUT_PARAMS %%%> ); // <%%% END IF_OUT_PARAMS %%%> // <%%% END PROCEDURE_OPERATIONS %%%> public: #pragma option push -w-inl /* TROProxy.Create */ inline __fastcall virtual T%SERVICE_NAME%_AsyncProxy(const Uroclientintf::_di_IROMessage aMessage, const Uroclientintf::_di_IROTransportChannel aTransportChannel)/* overload */ : %SERVICE_PROXY_ANCESTOR_NAME%(aMessage, aTransportChannel) {} #pragma option pop virtual HRESULT __stdcall QueryInterface(const GUID& IID, void **Obj) { return inherited::QueryInterface(IID, (void *)Obj); } virtual ULONG __stdcall AddRef() { return inherited::_AddRef(); } virtual ULONG __stdcall Release() { return inherited::_Release(); } }; // <%%% END SERVICES %%%> } // namespace %NAMESPACE_NAME% using namespace %NAMESPACE_NAME%; #pragma pack(pop) #pragma option pop #pragma delphiheader end. #endif // %UNIT_NAME%_H