summaryrefslogtreecommitdiff
path: root/TAO/CIAO/tools/Config_Handlers/toplevel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/tools/Config_Handlers/toplevel.cpp')
-rw-r--r--TAO/CIAO/tools/Config_Handlers/toplevel.cpp173
1 files changed, 39 insertions, 134 deletions
diff --git a/TAO/CIAO/tools/Config_Handlers/toplevel.cpp b/TAO/CIAO/tools/Config_Handlers/toplevel.cpp
index dd3e4d241a8..25c9a04929d 100644
--- a/TAO/CIAO/tools/Config_Handlers/toplevel.cpp
+++ b/TAO/CIAO/tools/Config_Handlers/toplevel.cpp
@@ -3,12 +3,12 @@
*
* Changes made to this code will most likely be overwritten
* when the handlers are recompiled.
- *
+ *
* If you find errors or feel that there are bugfixes to be made,
* please contact the current XSC maintainer:
* Will Otte <wotte@dre.vanderbilt.edu>
*/
-
+
#include "toplevel.hpp"
namespace CIAO
@@ -16,75 +16,49 @@ namespace CIAO
namespace Config_Handlers
{
// TopLevelPackageDescription
- //
+ //
TopLevelPackageDescription::
- TopLevelPackageDescription ()
- :
- ::XSCRT::Type (),
- regulator__ ()
+ TopLevelPackageDescription (::CIAO::Config_Handlers::PackageConfiguration const& package__)
+ :
+ ::XSCRT::Type (),
+ package_ (new ::CIAO::Config_Handlers::PackageConfiguration (package__)),
+ regulator__ ()
{
+ package_->container (this);
}
TopLevelPackageDescription::
TopLevelPackageDescription (::CIAO::Config_Handlers::TopLevelPackageDescription const& s)
- :
- ::XSCRT::Type (),
- regulator__ ()
+ :
+ ::XSCRT::Type (),
+ package_ (new ::CIAO::Config_Handlers::PackageConfiguration (*s.package_)),
+ regulator__ ()
{
- {
- for (package_const_iterator i (s.package_.begin ());i != s.package_.end ();++i) add_package (*i);
- }
+ package_->container (this);
}
::CIAO::Config_Handlers::TopLevelPackageDescription& TopLevelPackageDescription::
operator= (::CIAO::Config_Handlers::TopLevelPackageDescription const& s)
{
- package_.clear ();
- {
- for (package_const_iterator i (s.package_.begin ());i != s.package_.end ();++i) add_package (*i);
- }
+ package (s.package ());
return *this;
}
// TopLevelPackageDescription
- //
- TopLevelPackageDescription::package_iterator TopLevelPackageDescription::
- begin_package ()
- {
- return package_.begin ();
- }
-
- TopLevelPackageDescription::package_iterator TopLevelPackageDescription::
- end_package ()
- {
- return package_.end ();
- }
-
- TopLevelPackageDescription::package_const_iterator TopLevelPackageDescription::
- begin_package () const
- {
- return package_.begin ();
- }
-
- TopLevelPackageDescription::package_const_iterator TopLevelPackageDescription::
- end_package () const
+ //
+ ::CIAO::Config_Handlers::PackageConfiguration const& TopLevelPackageDescription::
+ package () const
{
- return package_.end ();
+ return *package_;
}
void TopLevelPackageDescription::
- add_package (::CIAO::Config_Handlers::PackageConfiguration const& e)
+ package (::CIAO::Config_Handlers::PackageConfiguration const& e)
{
- package_.push_back (e);
- }
-
- size_t TopLevelPackageDescription::
- count_package(void) const
- {
- return package_.size ();
+ *package_ = e;
}
}
}
@@ -98,26 +72,26 @@ namespace CIAO
TopLevelPackageDescription::
TopLevelPackageDescription (::XSCRT::XML::Element< ACE_TCHAR > const& e)
- :Base__ (e), regulator__ ()
+ :Base__ (e), regulator__ ()
{
::XSCRT::Parser< ACE_TCHAR > p (e);
while (p.more_elements ())
- {
- ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
- ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
-
- if (n == "package")
- {
- ::CIAO::Config_Handlers::PackageConfiguration t (e);
- add_package (t);
- }
-
- else
{
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "package")
+ {
+ package_ = ::std::auto_ptr< ::CIAO::Config_Handlers::PackageConfiguration > (new ::CIAO::Config_Handlers::PackageConfiguration (e));
+ package_->container (this);
+ }
+
+ else
+ {
+ }
}
- }
}
}
}
@@ -195,71 +169,13 @@ namespace CIAO
void TopLevelPackageDescription::
package (Type& o)
{
- // VC6 anathema strikes again
- //
- TopLevelPackageDescription::Type::package_iterator b (o.begin_package()), e (o.end_package());
-
- if (b != e)
- {
- package_pre (o);
- for (; b != e;)
- {
- dispatch (*b);
- if (++b != e) package_next (o);
- }
-
- package_post (o);
- }
+ dispatch (o.package ());
}
void TopLevelPackageDescription::
package (Type const& o)
{
- // VC6 anathema strikes again
- //
- TopLevelPackageDescription::Type::package_const_iterator b (o.begin_package()), e (o.end_package());
-
- if (b != e)
- {
- package_pre (o);
- for (; b != e;)
- {
- dispatch (*b);
- if (++b != e) package_next (o);
- }
-
- package_post (o);
- }
- }
-
- void TopLevelPackageDescription::
- package_pre (Type&)
- {
- }
-
- void TopLevelPackageDescription::
- package_pre (Type const&)
- {
- }
-
- void TopLevelPackageDescription::
- package_next (Type&)
- {
- }
-
- void TopLevelPackageDescription::
- package_next (Type const&)
- {
- }
-
- void TopLevelPackageDescription::
- package_post (Type&)
- {
- }
-
- void TopLevelPackageDescription::
- package_post (Type const&)
- {
+ dispatch (o.package ());
}
void TopLevelPackageDescription::
@@ -287,7 +203,7 @@ namespace CIAO
TopLevelPackageDescription::
TopLevelPackageDescription (::XSCRT::XML::Element< ACE_TCHAR >& e)
- : ::XSCRT::Writer< ACE_TCHAR > (e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
{
}
@@ -303,21 +219,10 @@ namespace CIAO
}
void TopLevelPackageDescription::
- package_pre (Type const&)
+ package (Type const& o)
{
push_ (::XSCRT::XML::Element< ACE_TCHAR > ("package", top_ ()));
- }
-
- void TopLevelPackageDescription::
- package_next (Type const& o)
- {
- package_post (o);
- package_pre (o);
- }
-
- void TopLevelPackageDescription::
- package_post (Type const&)
- {
+ Traversal::TopLevelPackageDescription::package (o);
pop_ ();
}
}