diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-19 20:39:54 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-19 20:39:54 +0000 |
commit | 4ee1b0cd019d181483e407532b2d41817ad295bd (patch) | |
tree | f6021142e2f42fd72c0bb8419199c7f385214fc6 | |
parent | 22c88752a04aab91f82e196a296b763f0d81b5d3 (diff) | |
download | ATCD-4ee1b0cd019d181483e407532b2d41817ad295bd.tar.gz |
ChangeLogTag: Tue Dec 19 14:21:12 2000 Jeff Parsons <parsons@cs.wustl.edu.edu>
-rw-r--r-- | TAO/orbsvcs/IFR_Service/Container_i.cpp | 34 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp | 80 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/InterfaceDef_i.h | 3 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/OperationDef_i.cpp | 14 |
4 files changed, 66 insertions, 65 deletions
diff --git a/TAO/orbsvcs/IFR_Service/Container_i.cpp b/TAO/orbsvcs/IFR_Service/Container_i.cpp index 9b8b63c5491..4efd0868d18 100644 --- a/TAO/orbsvcs/IFR_Service/Container_i.cpp +++ b/TAO/orbsvcs/IFR_Service/Container_i.cpp @@ -468,26 +468,24 @@ TAO_Container_i::contents_i (IR_DefinitionKind limit_type, // Base interfaces - if (exclude_inherited == 0) - { - IR_DefinitionKind def_kind = this->def_kind (ACE_TRY_ENV); - ACE_CHECK_RETURN (0); + IR_DefinitionKind def_kind = this->def_kind (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); - if (def_kind == dk_Interface) + if (def_kind == dk_Interface) + { + if (limit_type == dk_Operation + || limit_type == dk_Attribute + || limit_type == dk_all) { - if (limit_type == dk_Operation - || limit_type == dk_Attribute - || limit_type == dk_all) - { - TAO_InterfaceDef_i iface (this->repo_, - this->section_key_); - - iface.inherited_contents (kind_queue, - path_queue, - limit_type, - ACE_TRY_ENV); - ACE_CHECK_RETURN (0); - } + TAO_InterfaceDef_i iface (this->repo_, + this->section_key_); + + iface.interface_contents (kind_queue, + path_queue, + limit_type, + exclude_inherited, + ACE_TRY_ENV); + ACE_CHECK_RETURN (0); } } diff --git a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp index 0ab9c52e942..be77644f2bf 100644 --- a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp +++ b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp @@ -955,11 +955,13 @@ TAO_InterfaceDef_i::create_operation_i (const char *id, } void -TAO_InterfaceDef_i::inherited_contents ( - ACE_Unbounded_Queue<IR_DefinitionKind> &kind_queue, - ACE_Unbounded_Queue<ACE_TString> &path_queue, - IR_DefinitionKind limit_type, - CORBA::Environment &ACE_TRY_ENV) +TAO_InterfaceDef_i::interface_contents ( + ACE_Unbounded_Queue<IR_DefinitionKind> &kind_queue, + ACE_Unbounded_Queue<ACE_TString> &path_queue, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV + ) ACE_THROW_SPEC ((CORBA::SystemException)) { ACE_TString id; @@ -1023,41 +1025,45 @@ TAO_InterfaceDef_i::inherited_contents ( } } - // Must recurse through the base interfaces. - ACE_Configuration_Section_Key inherited_key; - this->repo_->config ()->open_section (this->section_key_, - "inherited", - 0, - inherited_key); - - ACE_TString base_path; - ACE_Configuration_Section_Key base_key; - ACE_Configuration::VALUETYPE type; - index = 0; - - while (this->repo_->config ()->enumerate_values (inherited_key, - index++, - section_name, - type) - == 0) + if (exclude_inherited == 0) { - this->repo_->config ()->get_string_value (inherited_key, - section_name.c_str (), - base_path); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - base_path, - base_key, - 0); + // Must recurse through the base interfaces. + ACE_Configuration_Section_Key inherited_key; + this->repo_->config ()->open_section (this->section_key_, + "inherited", + 0, + inherited_key); - TAO_InterfaceDef_i base_iface (this->repo_, - base_key); + ACE_TString base_path; + ACE_Configuration_Section_Key base_key; + ACE_Configuration::VALUETYPE type; + index = 0; - base_iface.inherited_contents (kind_queue, - path_queue, - limit_type, - ACE_TRY_ENV); - ACE_CHECK; + while (this->repo_->config ()->enumerate_values (inherited_key, + index++, + section_name, + type) + == 0) + { + this->repo_->config ()->get_string_value (inherited_key, + section_name.c_str (), + base_path); + + this->repo_->config ()->expand_path (this->repo_->root_key (), + base_path, + base_key, + 0); + + TAO_InterfaceDef_i base_iface (this->repo_, + base_key); + + base_iface.interface_contents (kind_queue, + path_queue, + limit_type, + exclude_inherited, + ACE_TRY_ENV); + ACE_CHECK; + } } } diff --git a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h index 73aa025cc81..95685cf096f 100644 --- a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h +++ b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h @@ -246,10 +246,11 @@ public: ) ACE_THROW_SPEC ((CORBA::SystemException)); - void inherited_contents ( + void interface_contents ( ACE_Unbounded_Queue<IR_DefinitionKind> &kind_queue, ACE_Unbounded_Queue<ACE_TString> &path_queue, IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) diff --git a/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp b/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp index 46ddd816d04..0f45789c69e 100644 --- a/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp +++ b/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp @@ -231,21 +231,19 @@ TAO_OperationDef_i::params_i (CORBA::Environment &ACE_TRY_ENV) ACE_Configuration_Section_Key key; key_queue.dequeue_head (key); - IR_ParameterDescription pd; - ACE_TString name; this->repo_->config ()->get_string_value (key, "name", name); - pd.name = name.c_str (); + retval[i].name = name.c_str (); u_int mode = 0; this->repo_->config ()->get_integer_value (key, "mode", mode); - pd.mode = ACE_static_cast (IR_ParameterMode, mode); + retval[i].mode = ACE_static_cast (IR_ParameterMode, mode); ACE_TString type_path; this->repo_->config ()->get_string_value (key, @@ -265,7 +263,7 @@ TAO_OperationDef_i::params_i (CORBA::Environment &ACE_TRY_ENV) auto_ptr<TAO_IDLType_i> safety (impl); - pd.type = impl->type_i (ACE_TRY_ENV); + retval[i].type = impl->type_i (ACE_TRY_ENV); ACE_CHECK_RETURN (0); u_int kind = 0; @@ -282,11 +280,9 @@ TAO_OperationDef_i::params_i (CORBA::Environment &ACE_TRY_ENV) ACE_TRY_ENV); ACE_CHECK_RETURN (0); - pd.type_def = IR_IDLType::_narrow (obj.in (), - ACE_TRY_ENV); + retval[i].type_def = IR_IDLType::_narrow (obj.in (), + ACE_TRY_ENV); ACE_CHECK_RETURN (0); - - retval[i] = pd; } return retval._retn (); |