summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-19 20:39:54 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-19 20:39:54 +0000
commit4ee1b0cd019d181483e407532b2d41817ad295bd (patch)
treef6021142e2f42fd72c0bb8419199c7f385214fc6
parent22c88752a04aab91f82e196a296b763f0d81b5d3 (diff)
downloadATCD-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.cpp34
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp80
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceDef_i.h3
-rw-r--r--TAO/orbsvcs/IFR_Service/OperationDef_i.cpp14
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 ();