diff options
Diffstat (limited to 'TAO/tao/PolicyS.cpp')
-rw-r--r-- | TAO/tao/PolicyS.cpp | 59 |
1 files changed, 23 insertions, 36 deletions
diff --git a/TAO/tao/PolicyS.cpp b/TAO/tao/PolicyS.cpp index 3e022a5d9a1..dbd2a47d92f 100644 --- a/TAO/tao/PolicyS.cpp +++ b/TAO/tao/PolicyS.cpp @@ -182,52 +182,39 @@ void POA_CORBA::Policy::_is_a_skel ( CORBA::Environment &ACE_TRY_ENV ) { - static const TAO_Param_Data_Skel CORBA_Policy_is_a_paramdata [] = - { - {CORBA::_tc_boolean, 0, 0}, - {CORBA::_tc_string, CORBA::ARG_IN, 0} - }; - static const TAO_Call_Data_Skel CORBA_Policy_is_a_calldata = - {"_is_a", 1, 2, CORBA_Policy_is_a_paramdata}; - POA_CORBA::Policy_ptr _tao_impl = (POA_CORBA::Policy_ptr) _tao_object_reference; - CORBA::Boolean _tao_retval; - CORBA::String_var _tao_value; - _tao_server_request.demarshal ( - ACE_TRY_ENV, - &CORBA_Policy_is_a_calldata, - &_tao_retval, - &_tao_value.inout () - ); + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Policy *_tao_impl = (POA_CORBA::Policy *) _tao_object_reference; + CORBA::Boolean _tao_retval = 0; + CORBA::String_var value; + if (!((_tao_in >> value.out ()))) + ACE_THROW (CORBA::MARSHAL ()); + + _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV); ACE_CHECK; - _tao_retval = _tao_impl->_is_a (_tao_value.in (), ACE_TRY_ENV); + + _tao_server_request.init_reply (ACE_TRY_ENV); ACE_CHECK; - _tao_server_request.marshal ( - ACE_TRY_ENV, - &CORBA_Policy_is_a_calldata, - &_tao_retval, - &_tao_value.inout () - ); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); } void POA_CORBA::Policy::_non_existent_skel ( CORBA::ServerRequest &_tao_server_request, - void * /* _tao_object_reference */ , + void * _tao_object_reference , void * /*context*/, CORBA::Environment &ACE_TRY_ENV ) { - static const TAO_Param_Data_Skel CORBA_Policy_non_existent_paramdata [] = - { - {CORBA::_tc_boolean, 0, 0} - }; - static const TAO_Call_Data_Skel CORBA_Policy_non_existent_calldata = - {"_non_existent", 1, 1, CORBA_Policy_non_existent_paramdata}; - CORBA::Boolean _tao_retval = 0; - _tao_server_request.marshal ( - ACE_TRY_ENV, - &CORBA_Policy_non_existent_calldata, - &_tao_retval - ); + POA_CORBA::Policy *_tao_impl = (POA_CORBA::Policy *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); } void POA_CORBA::Policy::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) |