diff options
-rw-r--r-- | TAO/ChangeLog | 14 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp | 75 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp | 30 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h | 5 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp | 5 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp | 2 |
6 files changed, 41 insertions, 90 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 24c62f686d5..f82811ca056 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,17 @@ +Thu Jun 12 10:46:36 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp: + * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp: + * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h: + * orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp: + * orbsvcs/orbsvcs/IFRService/tmplinst.cpp: + + Removed a method from a template utility class that was more + trouble than it was worth to support on platforms requiring + explicit template instantiation. Also removed all uses of this + method, removed a specialization of it, and moved the explicit + template instantiation back to the tmplinst.cpp file. + Wed Jun 11 16:14:40 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * tests/IDL_Test/Makefile: Fixed a minor problem which should diff --git a/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp index d055ab8e8e3..660e327d2f6 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp @@ -14,57 +14,6 @@ ACE_RCSID (IFRService, HomeDef_i, "$Id$") -// Specialization -template<> -void -TAO_IFR_Desc_Utils<CORBA::OperationDescription, - TAO_OperationDef_i>::fill_desc_begin_ex ( - CORBA::OperationDescription &desc, - TAO_Repository_i *repo, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL - ) -{ - TAO_OperationDef_i impl (repo); - impl.section_key (key); - - desc.name = impl.name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.id = impl.id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString holder; - repo->config ()->get_string_value (key, - "container_id", - holder); - desc.defined_in = holder.fast_rep (); - - desc.version = impl.version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString result_path; - repo->config ()->get_string_value (key, - "result", - result_path); - TAO_IDLType_i *result = - TAO_IFR_Service_Utils::path_to_idltype (result_path, - repo); - desc.result = result->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) - -template class TAO_IFR_Desc_Utils<CORBA::OperationDescription, TAO_OperationDef_i>; - -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) - -#pragma instantiate TAO_IFR_Desc_Utils<CORBA::OperationDescription, TAO_OperationDef_i> - -#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/ - -// ============================================================== - TAO_HomeDef_i::TAO_HomeDef_i (TAO_Repository_i *repo) : TAO_IRObject_i (repo), TAO_Container_i (repo), @@ -840,7 +789,7 @@ TAO_HomeDef_i::fill_op_desc (ACE_Configuration_Section_Key &key, 0, op_key); TAO_IFR_Desc_Utils<CORBA::OperationDescription, - TAO_OperationDef_i>::fill_desc_begin_ex ( + TAO_OperationDef_i>::fill_desc_begin ( od, this->repo_, op_key @@ -848,6 +797,16 @@ TAO_HomeDef_i::fill_op_desc (ACE_Configuration_Section_Key &key, ); ACE_CHECK; + ACE_TString result_path; + this->repo_->config ()->get_string_value (key, + "result", + result_path); + TAO_IDLType_i *result = + TAO_IFR_Service_Utils::path_to_idltype (result_path, + this->repo_); + od.result = result->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + TAO_OperationDef_i impl (this->repo_); impl.section_key (op_key); od.mode = impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); @@ -1008,12 +967,17 @@ TAO_HomeDef_i::fill_exc_desc (ACE_Configuration_Section_Key &key, except_def_key, 0); TAO_IFR_Desc_Utils<CORBA::ExceptionDescription, - TAO_ExceptionDef_i>::fill_desc_begin_ex ( + TAO_ExceptionDef_i>::fill_desc_begin ( ed, this->repo_, except_def_key ACE_ENV_ARG_PARAMETER ); + + TAO_IDLType_i *impl = + TAO_IFR_Service_Utils::path_to_idltype (path, + this->repo_); + ed.type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); } void @@ -1065,7 +1029,7 @@ TAO_HomeDef_i::fill_attr_desc (ACE_Configuration_Section_Key &key, 0, attr_key); TAO_IFR_Desc_Utils<CORBA::ExtAttributeDescription, - TAO_AttributeDef_i>::fill_desc_begin_ex ( + TAO_AttributeDef_i>::fill_desc_begin ( ead, this->repo_, attr_key @@ -1075,5 +1039,8 @@ TAO_HomeDef_i::fill_attr_desc (ACE_Configuration_Section_Key &key, TAO_AttributeDef_i impl (this->repo_); impl.section_key (attr_key); + ead.type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + ead.mode = impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); } diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp index d060ada8c22..40847a2d331 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp @@ -81,36 +81,6 @@ TAO_IFR_Desc_Utils<T_desc,T_impl>::fill_desc_begin ( ACE_CHECK; } -template<typename T_desc, typename T_impl> -void -TAO_IFR_Desc_Utils<T_desc,T_impl>::fill_desc_begin_ex ( - T_desc &desc, - TAO_Repository_i *repo, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL - ) -{ - T_impl impl (repo); - impl.section_key (key); - - desc.name = impl.name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.id = impl.id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString holder; - repo->config ()->get_string_value (key, - "container_id", - holder); - desc.defined_in = holder.fast_rep (); - - desc.version = impl.version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - template<typename T_strseq> void TAO_IFR_Strseq_Utils<T_strseq> ::fill_string_seq ( diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h index 1c65f3bdc87..50651380595 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h +++ b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h @@ -53,11 +53,6 @@ public: TAO_Repository_i *repo, ACE_Configuration_Section_Key &key ACE_ENV_ARG_DECL); - - static void fill_desc_begin_ex (T_desc &desc, - TAO_Repository_i *repo, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL); }; template<typename T_strseq> diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp index 827319772c2..75193483c16 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp @@ -47,7 +47,7 @@ TAO_ValueMemberDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) { CORBA::ValueMember vm; TAO_IFR_Desc_Utils<CORBA::ValueMember, - TAO_ValueMemberDef_i>::fill_desc_begin_ex ( + TAO_ValueMemberDef_i>::fill_desc_begin ( vm, this->repo_, this->section_key_ @@ -55,6 +55,9 @@ TAO_ValueMemberDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) ); ACE_CHECK_RETURN (0); + vm.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + ACE_TString holder; this->repo_->config ()->get_string_value (this->section_key_, "type_path", diff --git a/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp b/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp index 39cedc0d752..8886a3efa44 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp @@ -154,6 +154,7 @@ template class TAO_IFR_Desc_Utils<CORBA::ComponentIR::UsesDescription, TAO_UsesD template class TAO_IFR_Desc_Utils<CORBA::ComponentIR::ProvidesDescription, TAO_ProvidesDef_i>; template class TAO_IFR_Desc_Utils<CORBA::ComponentIR::ComponentDescription, TAO_ComponentDef_i>; template class TAO_IFR_Desc_Utils<CORBA::ValueMember, TAO_ValueMemberDef_i>; +template class TAO_IFR_Desc_Utils<CORBA::OperationDescription, TAO_OperationDef_i>; #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) @@ -300,5 +301,6 @@ template class TAO_IFR_Desc_Utils<CORBA::ValueMember, TAO_ValueMemberDef_i>; #pragma instantiate TAO_IFR_Desc_Utils<CORBA::ComponentIR::ProvidesDescription, TAO_ProvidesDef_i> #pragma instantiate TAO_IFR_Desc_Utils<CORBA::ComponentIR::ComponentDescription, TAO_ComponentDef_i> #pragma instantiate TAO_IFR_Desc_Utils<CORBA::ValueMember, TAO_ValueMemberDef_i> +#pragma instantiate TAO_IFR_Desc_Utils<CORBA::OperationDescription, TAO_OperationDef_i> #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |