/* $Id: cid.hpp 86451 2009-08-10 17:47:01Z wotte $
 * This code was generated by the XML Schema Compiler.
 *
 * 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>
 */

// Fix for Borland compilers, which seem to have a broken
// <string> include.
#ifdef __BORLANDC__
# include <string.h>
#endif

#ifndef CID_HPP
#define CID_HPP

#include "XSC_XML_Handlers_Export.h"
// Forward declarations.
//
namespace CIAO
{
  namespace Config_Handlers
  {
    class ComponentPackageReference;
    class SubcomponentInstantiationDescription;
    class SubcomponentPropertyReference;
    class AssemblyPropertyMapping;
    class LocalityKind;
    class Locality;
    class ComponentAssemblyDescription;
    class MonolithicImplementationDescription;
    class ComponentImplementationDescription;
    class ConnectorImplementationDescription;
  }
}

#include <memory>
#include <string>
#include <list>
#include "XMLSchema/Types.hpp"
#include "XMLSchema/id_map.hpp"
#include "ace/Refcounted_Auto_Ptr.h"
#include "ace/Null_Mutex.h"
#include "ace/TSS_T.h"
#include "ace/ace_wchar.h"
#include "ace/Singleton.h"

#include "Basic_Deployment_Data.hpp"

#include "ccd.hpp"

#include "iad.hpp"

#include "pcd.hpp"

namespace CIAO
{
  namespace Config_Handlers
  {
    class XSC_XML_Handlers_Export ComponentPackageReference : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < ComponentPackageReference, ACE_Null_Mutex > _ptr;

      // requiredUUID
      // 
      public:
      bool requiredUUID_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& requiredUUID () const;
      void requiredUUID (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > requiredUUID_;

      // requiredName
      // 
      public:
      bool requiredName_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& requiredName () const;
      void requiredName (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > requiredName_;

      // requiredType
      // 
      public:
      ::CIAO::Config_Handlers::ComponentInterfaceDescription const& requiredType () const;
      void requiredType (::CIAO::Config_Handlers::ComponentInterfaceDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentInterfaceDescription > requiredType_;

      public:
      ComponentPackageReference (::CIAO::Config_Handlers::ComponentInterfaceDescription const& requiredType__);

      ComponentPackageReference (::XSCRT::XML::Element< ACE_TCHAR > const&);
      ComponentPackageReference (ComponentPackageReference const& s);

      ComponentPackageReference&
      operator= (ComponentPackageReference const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export SubcomponentInstantiationDescription : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < SubcomponentInstantiationDescription, ACE_Null_Mutex > _ptr;

      // name
      // 
      public:
      ::XMLSchema::string< ACE_TCHAR > const& name () const;
      void name (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > name_;

      // basePackage
      // 
      public:
      bool basePackage_p () const;
      ::CIAO::Config_Handlers::ComponentPackageDescription const& basePackage () const;
      void basePackage (::CIAO::Config_Handlers::ComponentPackageDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentPackageDescription > basePackage_;

      // specializedConfig
      // 
      public:
      bool specializedConfig_p () const;
      ::CIAO::Config_Handlers::PackageConfiguration const& specializedConfig () const;
      void specializedConfig (::CIAO::Config_Handlers::PackageConfiguration const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::PackageConfiguration > specializedConfig_;

      // selectRequirement
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Requirement, ACE_Null_Mutex > >::iterator selectRequirement_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Requirement, ACE_Null_Mutex > >::const_iterator selectRequirement_const_iterator;
      selectRequirement_iterator begin_selectRequirement ();
      selectRequirement_iterator end_selectRequirement ();
      selectRequirement_const_iterator begin_selectRequirement () const;
      selectRequirement_const_iterator end_selectRequirement () const;
      void add_selectRequirement ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Requirement, ACE_Null_Mutex > const& );
      XSCRT::Type* selectRequirement_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_selectRequirement (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Requirement, ACE_Null_Mutex > > selectRequirement_;

      // configProperty
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::iterator configProperty_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::const_iterator configProperty_const_iterator;
      configProperty_iterator begin_configProperty ();
      configProperty_iterator end_configProperty ();
      configProperty_const_iterator begin_configProperty () const;
      configProperty_const_iterator end_configProperty () const;
      void add_configProperty ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > const& );
      XSCRT::Type* configProperty_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_configProperty (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > > configProperty_;

      // referencedPackage
      // 
      public:
      bool referencedPackage_p () const;
      ::CIAO::Config_Handlers::ComponentPackageReference const& referencedPackage () const;
      void referencedPackage (::CIAO::Config_Handlers::ComponentPackageReference const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentPackageReference > referencedPackage_;

      // importedPackage
      // 
      public:
      bool importedPackage_p () const;
      ::CIAO::Config_Handlers::ComponentPackageImport const& importedPackage () const;
      void importedPackage (::CIAO::Config_Handlers::ComponentPackageImport const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentPackageImport > importedPackage_;

      // id
      // 
      public:
      bool id_p () const;
      ::XMLSchema::ID< ACE_TCHAR > const& id () const;
      ::XMLSchema::ID< ACE_TCHAR >& id ();
      void id (::XMLSchema::ID< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;

      public:
      SubcomponentInstantiationDescription (::XMLSchema::string< ACE_TCHAR > const& name__);

      SubcomponentInstantiationDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
      SubcomponentInstantiationDescription (SubcomponentInstantiationDescription const& s);

      SubcomponentInstantiationDescription&
      operator= (SubcomponentInstantiationDescription const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export SubcomponentPropertyReference : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < SubcomponentPropertyReference, ACE_Null_Mutex > _ptr;

      // propertyName
      // 
      public:
      ::XMLSchema::string< ACE_TCHAR > const& propertyName () const;
      void propertyName (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > propertyName_;

      // instance
      // 
      public:
      ::CIAO::Config_Handlers::IdRef const& instance () const;
      void instance (::CIAO::Config_Handlers::IdRef const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::IdRef > instance_;

      public:
      SubcomponentPropertyReference (::XMLSchema::string< ACE_TCHAR > const& propertyName__,
                                     ::CIAO::Config_Handlers::IdRef const& instance__);

      SubcomponentPropertyReference (::XSCRT::XML::Element< ACE_TCHAR > const&);
      SubcomponentPropertyReference (SubcomponentPropertyReference const& s);

      SubcomponentPropertyReference&
      operator= (SubcomponentPropertyReference const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export AssemblyPropertyMapping : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < AssemblyPropertyMapping, ACE_Null_Mutex > _ptr;

      // name
      // 
      public:
      ::XMLSchema::string< ACE_TCHAR > const& name () const;
      void name (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > name_;

      // externalName
      // 
      public:
      ::XMLSchema::string< ACE_TCHAR > const& externalName () const;
      void externalName (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > externalName_;

      // delegatesTo
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentPropertyReference, ACE_Null_Mutex > >::iterator delegatesTo_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentPropertyReference, ACE_Null_Mutex > >::const_iterator delegatesTo_const_iterator;
      delegatesTo_iterator begin_delegatesTo ();
      delegatesTo_iterator end_delegatesTo ();
      delegatesTo_const_iterator begin_delegatesTo () const;
      delegatesTo_const_iterator end_delegatesTo () const;
      void add_delegatesTo ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentPropertyReference, ACE_Null_Mutex > const& );
      XSCRT::Type* delegatesTo_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_delegatesTo (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentPropertyReference, ACE_Null_Mutex > > delegatesTo_;

      public:
      AssemblyPropertyMapping (::XMLSchema::string< ACE_TCHAR > const& name__,
                               ::XMLSchema::string< ACE_TCHAR > const& externalName__);

      AssemblyPropertyMapping (::XSCRT::XML::Element< ACE_TCHAR > const&);
      AssemblyPropertyMapping (AssemblyPropertyMapping const& s);

      AssemblyPropertyMapping&
      operator= (AssemblyPropertyMapping const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export LocalityKind : public ::XSCRT::Type
    {
      public:
      LocalityKind (::XSCRT::XML::Element< ACE_TCHAR > const&);
      LocalityKind (::XSCRT::XML::Attribute< ACE_TCHAR > const&);

      static LocalityKind const SameNodeAnyProcess;
      static LocalityKind const SameNodeSameProcess;
      static LocalityKind const SameNodeDifferentProcess;
      static LocalityKind const DifferentNode;
      static LocalityKind const DifferentProcess;
      static LocalityKind const NoConstraint;

      enum Value
      {
        SameNodeAnyProcess_l, SameNodeSameProcess_l, SameNodeDifferentProcess_l, DifferentNode_l, DifferentProcess_l, NoConstraint_l
      };


      Value
      integral () const;

      friend bool XSC_XML_Handlers_Export 
      operator== (LocalityKind const& a, LocalityKind const& b);

      friend bool XSC_XML_Handlers_Export 
      operator!= (LocalityKind const& a, LocalityKind const& b);

      private:
      LocalityKind (Value v);

      Value v_;
    };

    bool XSC_XML_Handlers_Export operator== (LocalityKind const &a, LocalityKind const &b);

    bool XSC_XML_Handlers_Export operator!= (LocalityKind const &a, LocalityKind const &b);


    class XSC_XML_Handlers_Export Locality : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < Locality, ACE_Null_Mutex > _ptr;

      // constraint
      // 
      public:
      ::CIAO::Config_Handlers::LocalityKind const& constraint () const;
      void constraint (::CIAO::Config_Handlers::LocalityKind const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::LocalityKind > constraint_;

      // constrainedInstance
      // 
      public:
      ::CIAO::Config_Handlers::IdRef const& constrainedInstance () const;
      void constrainedInstance (::CIAO::Config_Handlers::IdRef const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::IdRef > constrainedInstance_;

      public:
      Locality (::CIAO::Config_Handlers::LocalityKind const& constraint__,
                ::CIAO::Config_Handlers::IdRef const& constrainedInstance__);

      Locality (::XSCRT::XML::Element< ACE_TCHAR > const&);
      Locality (Locality const& s);

      Locality&
      operator= (Locality const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export ComponentAssemblyDescription : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < ComponentAssemblyDescription, ACE_Null_Mutex > _ptr;

      // instance
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentInstantiationDescription, ACE_Null_Mutex > >::iterator instance_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentInstantiationDescription, ACE_Null_Mutex > >::const_iterator instance_const_iterator;
      instance_iterator begin_instance ();
      instance_iterator end_instance ();
      instance_const_iterator begin_instance () const;
      instance_const_iterator end_instance () const;
      void add_instance ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentInstantiationDescription, ACE_Null_Mutex > const& );
      XSCRT::Type* instance_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_instance (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::SubcomponentInstantiationDescription, ACE_Null_Mutex > > instance_;

      // connection
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyConnectionDescription, ACE_Null_Mutex > >::iterator connection_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyConnectionDescription, ACE_Null_Mutex > >::const_iterator connection_const_iterator;
      connection_iterator begin_connection ();
      connection_iterator end_connection ();
      connection_const_iterator begin_connection () const;
      connection_const_iterator end_connection () const;
      void add_connection ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyConnectionDescription, ACE_Null_Mutex > const& );
      XSCRT::Type* connection_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_connection (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyConnectionDescription, ACE_Null_Mutex > > connection_;

      // externalProperty
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyPropertyMapping, ACE_Null_Mutex > >::iterator externalProperty_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyPropertyMapping, ACE_Null_Mutex > >::const_iterator externalProperty_const_iterator;
      externalProperty_iterator begin_externalProperty ();
      externalProperty_iterator end_externalProperty ();
      externalProperty_const_iterator begin_externalProperty () const;
      externalProperty_const_iterator end_externalProperty () const;
      void add_externalProperty ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyPropertyMapping, ACE_Null_Mutex > const& );
      XSCRT::Type* externalProperty_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_externalProperty (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::AssemblyPropertyMapping, ACE_Null_Mutex > > externalProperty_;

      // locality
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Locality, ACE_Null_Mutex > >::iterator locality_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Locality, ACE_Null_Mutex > >::const_iterator locality_const_iterator;
      locality_iterator begin_locality ();
      locality_iterator end_locality ();
      locality_const_iterator begin_locality () const;
      locality_const_iterator end_locality () const;
      void add_locality ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Locality, ACE_Null_Mutex > const& );
      XSCRT::Type* locality_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_locality (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Locality, ACE_Null_Mutex > > locality_;

      public:
      ComponentAssemblyDescription ();

      ComponentAssemblyDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
      ComponentAssemblyDescription (ComponentAssemblyDescription const& s);

      ComponentAssemblyDescription&
      operator= (ComponentAssemblyDescription const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export MonolithicImplementationDescription : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < MonolithicImplementationDescription, ACE_Null_Mutex > _ptr;

      // nodeExecParameter
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::iterator nodeExecParameter_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::const_iterator nodeExecParameter_const_iterator;
      nodeExecParameter_iterator begin_nodeExecParameter ();
      nodeExecParameter_iterator end_nodeExecParameter ();
      nodeExecParameter_const_iterator begin_nodeExecParameter () const;
      nodeExecParameter_const_iterator end_nodeExecParameter () const;
      void add_nodeExecParameter ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > const& );
      XSCRT::Type* nodeExecParameter_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_nodeExecParameter (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > > nodeExecParameter_;

      // componentExecParameter
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::iterator componentExecParameter_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::const_iterator componentExecParameter_const_iterator;
      componentExecParameter_iterator begin_componentExecParameter ();
      componentExecParameter_iterator end_componentExecParameter ();
      componentExecParameter_const_iterator begin_componentExecParameter () const;
      componentExecParameter_const_iterator end_componentExecParameter () const;
      void add_componentExecParameter ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > const& );
      XSCRT::Type* componentExecParameter_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_componentExecParameter (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > > componentExecParameter_;

      // deployRequirement
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationRequirement, ACE_Null_Mutex > >::iterator deployRequirement_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationRequirement, ACE_Null_Mutex > >::const_iterator deployRequirement_const_iterator;
      deployRequirement_iterator begin_deployRequirement ();
      deployRequirement_iterator end_deployRequirement ();
      deployRequirement_const_iterator begin_deployRequirement () const;
      deployRequirement_const_iterator end_deployRequirement () const;
      void add_deployRequirement ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationRequirement, ACE_Null_Mutex > const& );
      XSCRT::Type* deployRequirement_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_deployRequirement (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationRequirement, ACE_Null_Mutex > > deployRequirement_;

      // primaryArtifact
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::NamedImplementationArtifact, ACE_Null_Mutex > >::iterator primaryArtifact_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::NamedImplementationArtifact, ACE_Null_Mutex > >::const_iterator primaryArtifact_const_iterator;
      primaryArtifact_iterator begin_primaryArtifact ();
      primaryArtifact_iterator end_primaryArtifact ();
      primaryArtifact_const_iterator begin_primaryArtifact () const;
      primaryArtifact_const_iterator end_primaryArtifact () const;
      void add_primaryArtifact ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::NamedImplementationArtifact, ACE_Null_Mutex > const& );
      XSCRT::Type* primaryArtifact_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_primaryArtifact (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::NamedImplementationArtifact, ACE_Null_Mutex > > primaryArtifact_;

      public:
      MonolithicImplementationDescription ();

      MonolithicImplementationDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
      MonolithicImplementationDescription (MonolithicImplementationDescription const& s);

      MonolithicImplementationDescription&
      operator= (MonolithicImplementationDescription const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export ComponentImplementationDescription : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < ComponentImplementationDescription, ACE_Null_Mutex > _ptr;

      // label
      // 
      public:
      bool label_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& label () const;
      void label (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > label_;

      // UUID
      // 
      public:
      bool UUID_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& UUID () const;
      void UUID (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > UUID_;

      // implements
      // 
      public:
      bool implements_p () const;
      ::CIAO::Config_Handlers::ComponentInterfaceDescription const& implements () const;
      void implements (::CIAO::Config_Handlers::ComponentInterfaceDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentInterfaceDescription > implements_;

      // assemblyImpl
      // 
      public:
      bool assemblyImpl_p () const;
      ::CIAO::Config_Handlers::ComponentAssemblyDescription const& assemblyImpl () const;
      void assemblyImpl (::CIAO::Config_Handlers::ComponentAssemblyDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentAssemblyDescription > assemblyImpl_;

      // monolithicImpl
      // 
      public:
      bool monolithicImpl_p () const;
      ::CIAO::Config_Handlers::MonolithicImplementationDescription const& monolithicImpl () const;
      void monolithicImpl (::CIAO::Config_Handlers::MonolithicImplementationDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::MonolithicImplementationDescription > monolithicImpl_;

      // configProperty
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::iterator configProperty_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::const_iterator configProperty_const_iterator;
      configProperty_iterator begin_configProperty ();
      configProperty_iterator end_configProperty ();
      configProperty_const_iterator begin_configProperty () const;
      configProperty_const_iterator end_configProperty () const;
      void add_configProperty ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > const& );
      XSCRT::Type* configProperty_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_configProperty (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > > configProperty_;

      // capability
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > >::iterator capability_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > >::const_iterator capability_const_iterator;
      capability_iterator begin_capability ();
      capability_iterator end_capability ();
      capability_const_iterator begin_capability () const;
      capability_const_iterator end_capability () const;
      void add_capability ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > const& );
      XSCRT::Type* capability_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_capability (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > > capability_;

      // dependsOn
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > >::iterator dependsOn_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > >::const_iterator dependsOn_const_iterator;
      dependsOn_iterator begin_dependsOn ();
      dependsOn_iterator end_dependsOn ();
      dependsOn_const_iterator begin_dependsOn () const;
      dependsOn_const_iterator end_dependsOn () const;
      void add_dependsOn ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > const& );
      XSCRT::Type* dependsOn_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_dependsOn (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > > dependsOn_;

      // infoProperty
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::iterator infoProperty_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::const_iterator infoProperty_const_iterator;
      infoProperty_iterator begin_infoProperty ();
      infoProperty_iterator end_infoProperty ();
      infoProperty_const_iterator begin_infoProperty () const;
      infoProperty_const_iterator end_infoProperty () const;
      void add_infoProperty ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > const& );
      XSCRT::Type* infoProperty_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_infoProperty (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > > infoProperty_;

      // href
      // 
      public:
      bool href_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& href () const;
      ::XMLSchema::string< ACE_TCHAR >& href ();
      void href (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > href_;

      public:
      ComponentImplementationDescription ();

      ComponentImplementationDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
      ComponentImplementationDescription (ComponentImplementationDescription const& s);

      ComponentImplementationDescription&
      operator= (ComponentImplementationDescription const& s);

      private:
      char regulator__;
    };


    class XSC_XML_Handlers_Export ConnectorImplementationDescription : public ::XSCRT::Type
    {
      typedef ::XSCRT::Type Base;

      public:
      typedef ACE_Refcounted_Auto_Ptr < ConnectorImplementationDescription, ACE_Null_Mutex > _ptr;

      // label
      // 
      public:
      bool label_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& label () const;
      void label (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > label_;

      // UUID
      // 
      public:
      bool UUID_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& UUID () const;
      void UUID (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > UUID_;

      // implements
      // 
      public:
      bool implements_p () const;
      ::CIAO::Config_Handlers::ComponentInterfaceDescription const& implements () const;
      void implements (::CIAO::Config_Handlers::ComponentInterfaceDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentInterfaceDescription > implements_;

      // assemblyImpl
      // 
      public:
      bool assemblyImpl_p () const;
      ::CIAO::Config_Handlers::ComponentAssemblyDescription const& assemblyImpl () const;
      void assemblyImpl (::CIAO::Config_Handlers::ComponentAssemblyDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::ComponentAssemblyDescription > assemblyImpl_;

      // monolithicImpl
      // 
      public:
      bool monolithicImpl_p () const;
      ::CIAO::Config_Handlers::MonolithicImplementationDescription const& monolithicImpl () const;
      void monolithicImpl (::CIAO::Config_Handlers::MonolithicImplementationDescription const& );

      protected:
      ::std::auto_ptr< ::CIAO::Config_Handlers::MonolithicImplementationDescription > monolithicImpl_;

      // configProperty
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::iterator configProperty_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::const_iterator configProperty_const_iterator;
      configProperty_iterator begin_configProperty ();
      configProperty_iterator end_configProperty ();
      configProperty_const_iterator begin_configProperty () const;
      configProperty_const_iterator end_configProperty () const;
      void add_configProperty ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > const& );
      XSCRT::Type* configProperty_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_configProperty (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > > configProperty_;

      // capability
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > >::iterator capability_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > >::const_iterator capability_const_iterator;
      capability_iterator begin_capability ();
      capability_iterator end_capability ();
      capability_const_iterator begin_capability () const;
      capability_const_iterator end_capability () const;
      void add_capability ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > const& );
      XSCRT::Type* capability_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_capability (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Capability, ACE_Null_Mutex > > capability_;

      // dependsOn
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > >::iterator dependsOn_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > >::const_iterator dependsOn_const_iterator;
      dependsOn_iterator begin_dependsOn ();
      dependsOn_iterator end_dependsOn ();
      dependsOn_const_iterator begin_dependsOn () const;
      dependsOn_const_iterator end_dependsOn () const;
      void add_dependsOn ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > const& );
      XSCRT::Type* dependsOn_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_dependsOn (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::ImplementationDependency, ACE_Null_Mutex > > dependsOn_;

      // infoProperty
      // 
      public:
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::iterator infoProperty_iterator;
      typedef ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > >::const_iterator infoProperty_const_iterator;
      infoProperty_iterator begin_infoProperty ();
      infoProperty_iterator end_infoProperty ();
      infoProperty_const_iterator begin_infoProperty () const;
      infoProperty_const_iterator end_infoProperty () const;
      void add_infoProperty ( ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > const& );
      XSCRT::Type* infoProperty_ptr ( std::basic_string<ACE_TCHAR> idref );
      size_t count_infoProperty (void) const;

      protected:
      ::std::list< ACE_Refcounted_Auto_Ptr < ::CIAO::Config_Handlers::Property, ACE_Null_Mutex > > infoProperty_;

      // href
      // 
      public:
      bool href_p () const;
      ::XMLSchema::string< ACE_TCHAR > const& href () const;
      ::XMLSchema::string< ACE_TCHAR >& href ();
      void href (::XMLSchema::string< ACE_TCHAR > const& );

      protected:
      ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > href_;

      public:
      ConnectorImplementationDescription ();

      ConnectorImplementationDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
      ConnectorImplementationDescription (ConnectorImplementationDescription const& s);

      ConnectorImplementationDescription&
      operator= (ConnectorImplementationDescription const& s);

      private:
      char regulator__;
    };
  }
}

namespace CIAO
{
  namespace Config_Handlers
  {
  }
}

#include "XMLSchema/Traversal.hpp"

namespace CIAO
{
  namespace Config_Handlers
  {
    namespace Traversal
    {
      struct XSC_XML_Handlers_Export ComponentPackageReference : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::ComponentPackageReference >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        requiredUUID (Type&);

        virtual void
        requiredUUID (Type const&);

        virtual void
        requiredUUID_none (Type&);

        virtual void
        requiredUUID_none (Type const&);

        virtual void
        requiredName (Type&);

        virtual void
        requiredName (Type const&);

        virtual void
        requiredName_none (Type&);

        virtual void
        requiredName_none (Type const&);

        virtual void
        requiredType (Type&);

        virtual void
        requiredType (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      struct XSC_XML_Handlers_Export SubcomponentInstantiationDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::SubcomponentInstantiationDescription >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        name (Type&);

        virtual void
        name (Type const&);

        virtual void
        basePackage (Type&);

        virtual void
        basePackage (Type const&);

        virtual void
        basePackage_none (Type&);

        virtual void
        basePackage_none (Type const&);

        virtual void
        specializedConfig (Type&);

        virtual void
        specializedConfig (Type const&);

        virtual void
        specializedConfig_none (Type&);

        virtual void
        specializedConfig_none (Type const&);

        virtual void
        selectRequirement (Type&);

        virtual void
        selectRequirement (Type const&);

        virtual void
        selectRequirement_pre (Type&);

        virtual void
        selectRequirement_pre (Type const&);

        virtual void
        selectRequirement_next (Type&);

        virtual void
        selectRequirement_next (Type const&);

        virtual void
        selectRequirement_post (Type&);

        virtual void
        selectRequirement_post (Type const&);

        virtual void
        selectRequirement_none (Type&);

        virtual void
        selectRequirement_none (Type const&);

        virtual void
        configProperty (Type&);

        virtual void
        configProperty (Type const&);

        virtual void
        configProperty_pre (Type&);

        virtual void
        configProperty_pre (Type const&);

        virtual void
        configProperty_next (Type&);

        virtual void
        configProperty_next (Type const&);

        virtual void
        configProperty_post (Type&);

        virtual void
        configProperty_post (Type const&);

        virtual void
        configProperty_none (Type&);

        virtual void
        configProperty_none (Type const&);

        virtual void
        referencedPackage (Type&);

        virtual void
        referencedPackage (Type const&);

        virtual void
        referencedPackage_none (Type&);

        virtual void
        referencedPackage_none (Type const&);

        virtual void
        importedPackage (Type&);

        virtual void
        importedPackage (Type const&);

        virtual void
        importedPackage_none (Type&);

        virtual void
        importedPackage_none (Type const&);

        virtual void
        id (Type&);

        virtual void
        id (Type const&);

        virtual void
        id_none (Type&);

        virtual void
        id_none (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      struct XSC_XML_Handlers_Export SubcomponentPropertyReference : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::SubcomponentPropertyReference >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        propertyName (Type&);

        virtual void
        propertyName (Type const&);

        virtual void
        instance (Type&);

        virtual void
        instance (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      struct XSC_XML_Handlers_Export AssemblyPropertyMapping : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::AssemblyPropertyMapping >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        name (Type&);

        virtual void
        name (Type const&);

        virtual void
        externalName (Type&);

        virtual void
        externalName (Type const&);

        virtual void
        delegatesTo (Type&);

        virtual void
        delegatesTo (Type const&);

        virtual void
        delegatesTo_pre (Type&);

        virtual void
        delegatesTo_pre (Type const&);

        virtual void
        delegatesTo_next (Type&);

        virtual void
        delegatesTo_next (Type const&);

        virtual void
        delegatesTo_post (Type&);

        virtual void
        delegatesTo_post (Type const&);

        virtual void
        delegatesTo_none (Type&);

        virtual void
        delegatesTo_none (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      typedef
      ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::LocalityKind >
      LocalityKind;

      struct XSC_XML_Handlers_Export Locality : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::Locality >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        constraint (Type&);

        virtual void
        constraint (Type const&);

        virtual void
        constrainedInstance (Type&);

        virtual void
        constrainedInstance (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      struct XSC_XML_Handlers_Export ComponentAssemblyDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::ComponentAssemblyDescription >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        instance (Type&);

        virtual void
        instance (Type const&);

        virtual void
        instance_pre (Type&);

        virtual void
        instance_pre (Type const&);

        virtual void
        instance_next (Type&);

        virtual void
        instance_next (Type const&);

        virtual void
        instance_post (Type&);

        virtual void
        instance_post (Type const&);

        virtual void
        instance_none (Type&);

        virtual void
        instance_none (Type const&);

        virtual void
        connection (Type&);

        virtual void
        connection (Type const&);

        virtual void
        connection_pre (Type&);

        virtual void
        connection_pre (Type const&);

        virtual void
        connection_next (Type&);

        virtual void
        connection_next (Type const&);

        virtual void
        connection_post (Type&);

        virtual void
        connection_post (Type const&);

        virtual void
        connection_none (Type&);

        virtual void
        connection_none (Type const&);

        virtual void
        externalProperty (Type&);

        virtual void
        externalProperty (Type const&);

        virtual void
        externalProperty_pre (Type&);

        virtual void
        externalProperty_pre (Type const&);

        virtual void
        externalProperty_next (Type&);

        virtual void
        externalProperty_next (Type const&);

        virtual void
        externalProperty_post (Type&);

        virtual void
        externalProperty_post (Type const&);

        virtual void
        externalProperty_none (Type&);

        virtual void
        externalProperty_none (Type const&);

        virtual void
        locality (Type&);

        virtual void
        locality (Type const&);

        virtual void
        locality_pre (Type&);

        virtual void
        locality_pre (Type const&);

        virtual void
        locality_next (Type&);

        virtual void
        locality_next (Type const&);

        virtual void
        locality_post (Type&);

        virtual void
        locality_post (Type const&);

        virtual void
        locality_none (Type&);

        virtual void
        locality_none (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      struct XSC_XML_Handlers_Export MonolithicImplementationDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::MonolithicImplementationDescription >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        nodeExecParameter (Type&);

        virtual void
        nodeExecParameter (Type const&);

        virtual void
        nodeExecParameter_pre (Type&);

        virtual void
        nodeExecParameter_pre (Type const&);

        virtual void
        nodeExecParameter_next (Type&);

        virtual void
        nodeExecParameter_next (Type const&);

        virtual void
        nodeExecParameter_post (Type&);

        virtual void
        nodeExecParameter_post (Type const&);

        virtual void
        nodeExecParameter_none (Type&);

        virtual void
        nodeExecParameter_none (Type const&);

        virtual void
        componentExecParameter (Type&);

        virtual void
        componentExecParameter (Type const&);

        virtual void
        componentExecParameter_pre (Type&);

        virtual void
        componentExecParameter_pre (Type const&);

        virtual void
        componentExecParameter_next (Type&);

        virtual void
        componentExecParameter_next (Type const&);

        virtual void
        componentExecParameter_post (Type&);

        virtual void
        componentExecParameter_post (Type const&);

        virtual void
        componentExecParameter_none (Type&);

        virtual void
        componentExecParameter_none (Type const&);

        virtual void
        deployRequirement (Type&);

        virtual void
        deployRequirement (Type const&);

        virtual void
        deployRequirement_pre (Type&);

        virtual void
        deployRequirement_pre (Type const&);

        virtual void
        deployRequirement_next (Type&);

        virtual void
        deployRequirement_next (Type const&);

        virtual void
        deployRequirement_post (Type&);

        virtual void
        deployRequirement_post (Type const&);

        virtual void
        deployRequirement_none (Type&);

        virtual void
        deployRequirement_none (Type const&);

        virtual void
        primaryArtifact (Type&);

        virtual void
        primaryArtifact (Type const&);

        virtual void
        primaryArtifact_pre (Type&);

        virtual void
        primaryArtifact_pre (Type const&);

        virtual void
        primaryArtifact_next (Type&);

        virtual void
        primaryArtifact_next (Type const&);

        virtual void
        primaryArtifact_post (Type&);

        virtual void
        primaryArtifact_post (Type const&);

        virtual void
        primaryArtifact_none (Type&);

        virtual void
        primaryArtifact_none (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      struct XSC_XML_Handlers_Export ComponentImplementationDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::ComponentImplementationDescription >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        label (Type&);

        virtual void
        label (Type const&);

        virtual void
        label_none (Type&);

        virtual void
        label_none (Type const&);

        virtual void
        UUID (Type&);

        virtual void
        UUID (Type const&);

        virtual void
        UUID_none (Type&);

        virtual void
        UUID_none (Type const&);

        virtual void
        implements (Type&);

        virtual void
        implements (Type const&);

        virtual void
        implements_none (Type&);

        virtual void
        implements_none (Type const&);

        virtual void
        assemblyImpl (Type&);

        virtual void
        assemblyImpl (Type const&);

        virtual void
        assemblyImpl_none (Type&);

        virtual void
        assemblyImpl_none (Type const&);

        virtual void
        monolithicImpl (Type&);

        virtual void
        monolithicImpl (Type const&);

        virtual void
        monolithicImpl_none (Type&);

        virtual void
        monolithicImpl_none (Type const&);

        virtual void
        configProperty (Type&);

        virtual void
        configProperty (Type const&);

        virtual void
        configProperty_pre (Type&);

        virtual void
        configProperty_pre (Type const&);

        virtual void
        configProperty_next (Type&);

        virtual void
        configProperty_next (Type const&);

        virtual void
        configProperty_post (Type&);

        virtual void
        configProperty_post (Type const&);

        virtual void
        configProperty_none (Type&);

        virtual void
        configProperty_none (Type const&);

        virtual void
        capability (Type&);

        virtual void
        capability (Type const&);

        virtual void
        capability_pre (Type&);

        virtual void
        capability_pre (Type const&);

        virtual void
        capability_next (Type&);

        virtual void
        capability_next (Type const&);

        virtual void
        capability_post (Type&);

        virtual void
        capability_post (Type const&);

        virtual void
        capability_none (Type&);

        virtual void
        capability_none (Type const&);

        virtual void
        dependsOn (Type&);

        virtual void
        dependsOn (Type const&);

        virtual void
        dependsOn_pre (Type&);

        virtual void
        dependsOn_pre (Type const&);

        virtual void
        dependsOn_next (Type&);

        virtual void
        dependsOn_next (Type const&);

        virtual void
        dependsOn_post (Type&);

        virtual void
        dependsOn_post (Type const&);

        virtual void
        dependsOn_none (Type&);

        virtual void
        dependsOn_none (Type const&);

        virtual void
        infoProperty (Type&);

        virtual void
        infoProperty (Type const&);

        virtual void
        infoProperty_pre (Type&);

        virtual void
        infoProperty_pre (Type const&);

        virtual void
        infoProperty_next (Type&);

        virtual void
        infoProperty_next (Type const&);

        virtual void
        infoProperty_post (Type&);

        virtual void
        infoProperty_post (Type const&);

        virtual void
        infoProperty_none (Type&);

        virtual void
        infoProperty_none (Type const&);

        virtual void
        href (Type&);

        virtual void
        href (Type const&);

        virtual void
        href_none (Type&);

        virtual void
        href_none (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };

      struct XSC_XML_Handlers_Export ConnectorImplementationDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::ConnectorImplementationDescription >
      {
        virtual void
        traverse (Type&);

        virtual void
        traverse (Type const&);

        virtual void
        pre (Type&);

        virtual void
        pre (Type const&);

        virtual void
        label (Type&);

        virtual void
        label (Type const&);

        virtual void
        label_none (Type&);

        virtual void
        label_none (Type const&);

        virtual void
        UUID (Type&);

        virtual void
        UUID (Type const&);

        virtual void
        UUID_none (Type&);

        virtual void
        UUID_none (Type const&);

        virtual void
        implements (Type&);

        virtual void
        implements (Type const&);

        virtual void
        implements_none (Type&);

        virtual void
        implements_none (Type const&);

        virtual void
        assemblyImpl (Type&);

        virtual void
        assemblyImpl (Type const&);

        virtual void
        assemblyImpl_none (Type&);

        virtual void
        assemblyImpl_none (Type const&);

        virtual void
        monolithicImpl (Type&);

        virtual void
        monolithicImpl (Type const&);

        virtual void
        monolithicImpl_none (Type&);

        virtual void
        monolithicImpl_none (Type const&);

        virtual void
        configProperty (Type&);

        virtual void
        configProperty (Type const&);

        virtual void
        configProperty_pre (Type&);

        virtual void
        configProperty_pre (Type const&);

        virtual void
        configProperty_next (Type&);

        virtual void
        configProperty_next (Type const&);

        virtual void
        configProperty_post (Type&);

        virtual void
        configProperty_post (Type const&);

        virtual void
        configProperty_none (Type&);

        virtual void
        configProperty_none (Type const&);

        virtual void
        capability (Type&);

        virtual void
        capability (Type const&);

        virtual void
        capability_pre (Type&);

        virtual void
        capability_pre (Type const&);

        virtual void
        capability_next (Type&);

        virtual void
        capability_next (Type const&);

        virtual void
        capability_post (Type&);

        virtual void
        capability_post (Type const&);

        virtual void
        capability_none (Type&);

        virtual void
        capability_none (Type const&);

        virtual void
        dependsOn (Type&);

        virtual void
        dependsOn (Type const&);

        virtual void
        dependsOn_pre (Type&);

        virtual void
        dependsOn_pre (Type const&);

        virtual void
        dependsOn_next (Type&);

        virtual void
        dependsOn_next (Type const&);

        virtual void
        dependsOn_post (Type&);

        virtual void
        dependsOn_post (Type const&);

        virtual void
        dependsOn_none (Type&);

        virtual void
        dependsOn_none (Type const&);

        virtual void
        infoProperty (Type&);

        virtual void
        infoProperty (Type const&);

        virtual void
        infoProperty_pre (Type&);

        virtual void
        infoProperty_pre (Type const&);

        virtual void
        infoProperty_next (Type&);

        virtual void
        infoProperty_next (Type const&);

        virtual void
        infoProperty_post (Type&);

        virtual void
        infoProperty_post (Type const&);

        virtual void
        infoProperty_none (Type&);

        virtual void
        infoProperty_none (Type const&);

        virtual void
        href (Type&);

        virtual void
        href (Type const&);

        virtual void
        href_none (Type&);

        virtual void
        href_none (Type const&);

        virtual void
        post (Type&);

        virtual void
        post (Type const&);
      };
    }
  }
}

#include "XMLSchema/Writer.hpp"

namespace CIAO
{
  namespace Config_Handlers
  {
    namespace Writer
    {
      struct ComponentPackageReference : Traversal::ComponentPackageReference, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::ComponentPackageReference Type;
        ComponentPackageReference (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        requiredUUID (Type &o)
        {
          this->requiredUUID (const_cast <Type const &> (o));
        }

        virtual void
        requiredUUID (Type const&);

        virtual void 
        requiredName (Type &o)
        {
          this->requiredName (const_cast <Type const &> (o));
        }

        virtual void
        requiredName (Type const&);

        virtual void 
        requiredType (Type &o)
        {
          this->requiredType (const_cast <Type const &> (o));
        }

        virtual void
        requiredType (Type const&);

        protected:
        ComponentPackageReference ();
      };

      struct SubcomponentInstantiationDescription : Traversal::SubcomponentInstantiationDescription, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::SubcomponentInstantiationDescription Type;
        SubcomponentInstantiationDescription (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        name (Type &o)
        {
          this->name (const_cast <Type const &> (o));
        }

        virtual void
        name (Type const&);

        virtual void 
        basePackage (Type &o)
        {
          this->basePackage (const_cast <Type const &> (o));
        }

        virtual void
        basePackage (Type const&);

        virtual void 
        specializedConfig (Type &o)
        {
          this->specializedConfig (const_cast <Type const &> (o));
        }

        virtual void
        specializedConfig (Type const&);

        virtual void 
        selectRequirement_pre (Type &o)
        {
          this->selectRequirement_pre (const_cast <Type const &> (o));
        }

        virtual void
        selectRequirement_pre (Type const&);

        virtual void 
        selectRequirement_next (Type &o)
        {
          this->selectRequirement_next (const_cast <Type const &> (o));
        }

        virtual void
        selectRequirement_next (Type const&);

        virtual void 
        selectRequirement_post (Type &o)
        {
          this->selectRequirement_post (const_cast <Type const &> (o));
        }

        virtual void
        selectRequirement_post (Type const&);

        virtual void 
        configProperty_pre (Type &o)
        {
          this->configProperty_pre (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_pre (Type const&);

        virtual void 
        configProperty_next (Type &o)
        {
          this->configProperty_next (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_next (Type const&);

        virtual void 
        configProperty_post (Type &o)
        {
          this->configProperty_post (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_post (Type const&);

        virtual void 
        referencedPackage (Type &o)
        {
          this->referencedPackage (const_cast <Type const &> (o));
        }

        virtual void
        referencedPackage (Type const&);

        virtual void 
        importedPackage (Type &o)
        {
          this->importedPackage (const_cast <Type const &> (o));
        }

        virtual void
        importedPackage (Type const&);

        virtual void 
        id (Type &o)
        {
          this->id (const_cast <Type const &> (o));
        }

        virtual void
        id (Type const&);

        protected:
        SubcomponentInstantiationDescription ();
      };

      struct SubcomponentPropertyReference : Traversal::SubcomponentPropertyReference, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::SubcomponentPropertyReference Type;
        SubcomponentPropertyReference (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        propertyName (Type &o)
        {
          this->propertyName (const_cast <Type const &> (o));
        }

        virtual void
        propertyName (Type const&);

        virtual void 
        instance (Type &o)
        {
          this->instance (const_cast <Type const &> (o));
        }

        virtual void
        instance (Type const&);

        protected:
        SubcomponentPropertyReference ();
      };

      struct AssemblyPropertyMapping : Traversal::AssemblyPropertyMapping, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::AssemblyPropertyMapping Type;
        AssemblyPropertyMapping (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        name (Type &o)
        {
          this->name (const_cast <Type const &> (o));
        }

        virtual void
        name (Type const&);

        virtual void 
        externalName (Type &o)
        {
          this->externalName (const_cast <Type const &> (o));
        }

        virtual void
        externalName (Type const&);

        virtual void 
        delegatesTo_pre (Type &o)
        {
          this->delegatesTo_pre (const_cast <Type const &> (o));
        }

        virtual void
        delegatesTo_pre (Type const&);

        virtual void 
        delegatesTo_next (Type &o)
        {
          this->delegatesTo_next (const_cast <Type const &> (o));
        }

        virtual void
        delegatesTo_next (Type const&);

        virtual void 
        delegatesTo_post (Type &o)
        {
          this->delegatesTo_post (const_cast <Type const &> (o));
        }

        virtual void
        delegatesTo_post (Type const&);

        protected:
        AssemblyPropertyMapping ();
      };

      struct LocalityKind : Traversal::LocalityKind, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        LocalityKind (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        protected:
        LocalityKind ();
      };

      struct Locality : Traversal::Locality, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::Locality Type;
        Locality (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        constraint (Type &o)
        {
          this->constraint (const_cast <Type const &> (o));
        }

        virtual void
        constraint (Type const&);

        virtual void 
        constrainedInstance (Type &o)
        {
          this->constrainedInstance (const_cast <Type const &> (o));
        }

        virtual void
        constrainedInstance (Type const&);

        protected:
        Locality ();
      };

      struct ComponentAssemblyDescription : Traversal::ComponentAssemblyDescription, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::ComponentAssemblyDescription Type;
        ComponentAssemblyDescription (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        instance_pre (Type &o)
        {
          this->instance_pre (const_cast <Type const &> (o));
        }

        virtual void
        instance_pre (Type const&);

        virtual void 
        instance_next (Type &o)
        {
          this->instance_next (const_cast <Type const &> (o));
        }

        virtual void
        instance_next (Type const&);

        virtual void 
        instance_post (Type &o)
        {
          this->instance_post (const_cast <Type const &> (o));
        }

        virtual void
        instance_post (Type const&);

        virtual void 
        connection_pre (Type &o)
        {
          this->connection_pre (const_cast <Type const &> (o));
        }

        virtual void
        connection_pre (Type const&);

        virtual void 
        connection_next (Type &o)
        {
          this->connection_next (const_cast <Type const &> (o));
        }

        virtual void
        connection_next (Type const&);

        virtual void 
        connection_post (Type &o)
        {
          this->connection_post (const_cast <Type const &> (o));
        }

        virtual void
        connection_post (Type const&);

        virtual void 
        externalProperty_pre (Type &o)
        {
          this->externalProperty_pre (const_cast <Type const &> (o));
        }

        virtual void
        externalProperty_pre (Type const&);

        virtual void 
        externalProperty_next (Type &o)
        {
          this->externalProperty_next (const_cast <Type const &> (o));
        }

        virtual void
        externalProperty_next (Type const&);

        virtual void 
        externalProperty_post (Type &o)
        {
          this->externalProperty_post (const_cast <Type const &> (o));
        }

        virtual void
        externalProperty_post (Type const&);

        virtual void 
        locality_pre (Type &o)
        {
          this->locality_pre (const_cast <Type const &> (o));
        }

        virtual void
        locality_pre (Type const&);

        virtual void 
        locality_next (Type &o)
        {
          this->locality_next (const_cast <Type const &> (o));
        }

        virtual void
        locality_next (Type const&);

        virtual void 
        locality_post (Type &o)
        {
          this->locality_post (const_cast <Type const &> (o));
        }

        virtual void
        locality_post (Type const&);

        protected:
        ComponentAssemblyDescription ();
      };

      struct MonolithicImplementationDescription : Traversal::MonolithicImplementationDescription, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::MonolithicImplementationDescription Type;
        MonolithicImplementationDescription (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        nodeExecParameter_pre (Type &o)
        {
          this->nodeExecParameter_pre (const_cast <Type const &> (o));
        }

        virtual void
        nodeExecParameter_pre (Type const&);

        virtual void 
        nodeExecParameter_next (Type &o)
        {
          this->nodeExecParameter_next (const_cast <Type const &> (o));
        }

        virtual void
        nodeExecParameter_next (Type const&);

        virtual void 
        nodeExecParameter_post (Type &o)
        {
          this->nodeExecParameter_post (const_cast <Type const &> (o));
        }

        virtual void
        nodeExecParameter_post (Type const&);

        virtual void 
        componentExecParameter_pre (Type &o)
        {
          this->componentExecParameter_pre (const_cast <Type const &> (o));
        }

        virtual void
        componentExecParameter_pre (Type const&);

        virtual void 
        componentExecParameter_next (Type &o)
        {
          this->componentExecParameter_next (const_cast <Type const &> (o));
        }

        virtual void
        componentExecParameter_next (Type const&);

        virtual void 
        componentExecParameter_post (Type &o)
        {
          this->componentExecParameter_post (const_cast <Type const &> (o));
        }

        virtual void
        componentExecParameter_post (Type const&);

        virtual void 
        deployRequirement_pre (Type &o)
        {
          this->deployRequirement_pre (const_cast <Type const &> (o));
        }

        virtual void
        deployRequirement_pre (Type const&);

        virtual void 
        deployRequirement_next (Type &o)
        {
          this->deployRequirement_next (const_cast <Type const &> (o));
        }

        virtual void
        deployRequirement_next (Type const&);

        virtual void 
        deployRequirement_post (Type &o)
        {
          this->deployRequirement_post (const_cast <Type const &> (o));
        }

        virtual void
        deployRequirement_post (Type const&);

        virtual void 
        primaryArtifact_pre (Type &o)
        {
          this->primaryArtifact_pre (const_cast <Type const &> (o));
        }

        virtual void
        primaryArtifact_pre (Type const&);

        virtual void 
        primaryArtifact_next (Type &o)
        {
          this->primaryArtifact_next (const_cast <Type const &> (o));
        }

        virtual void
        primaryArtifact_next (Type const&);

        virtual void 
        primaryArtifact_post (Type &o)
        {
          this->primaryArtifact_post (const_cast <Type const &> (o));
        }

        virtual void
        primaryArtifact_post (Type const&);

        protected:
        MonolithicImplementationDescription ();
      };

      struct ComponentImplementationDescription : Traversal::ComponentImplementationDescription, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::ComponentImplementationDescription Type;
        ComponentImplementationDescription (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        label (Type &o)
        {
          this->label (const_cast <Type const &> (o));
        }

        virtual void
        label (Type const&);

        virtual void 
        UUID (Type &o)
        {
          this->UUID (const_cast <Type const &> (o));
        }

        virtual void
        UUID (Type const&);

        virtual void 
        implements (Type &o)
        {
          this->implements (const_cast <Type const &> (o));
        }

        virtual void
        implements (Type const&);

        virtual void 
        assemblyImpl (Type &o)
        {
          this->assemblyImpl (const_cast <Type const &> (o));
        }

        virtual void
        assemblyImpl (Type const&);

        virtual void 
        monolithicImpl (Type &o)
        {
          this->monolithicImpl (const_cast <Type const &> (o));
        }

        virtual void
        monolithicImpl (Type const&);

        virtual void 
        configProperty_pre (Type &o)
        {
          this->configProperty_pre (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_pre (Type const&);

        virtual void 
        configProperty_next (Type &o)
        {
          this->configProperty_next (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_next (Type const&);

        virtual void 
        configProperty_post (Type &o)
        {
          this->configProperty_post (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_post (Type const&);

        virtual void 
        capability_pre (Type &o)
        {
          this->capability_pre (const_cast <Type const &> (o));
        }

        virtual void
        capability_pre (Type const&);

        virtual void 
        capability_next (Type &o)
        {
          this->capability_next (const_cast <Type const &> (o));
        }

        virtual void
        capability_next (Type const&);

        virtual void 
        capability_post (Type &o)
        {
          this->capability_post (const_cast <Type const &> (o));
        }

        virtual void
        capability_post (Type const&);

        virtual void 
        dependsOn_pre (Type &o)
        {
          this->dependsOn_pre (const_cast <Type const &> (o));
        }

        virtual void
        dependsOn_pre (Type const&);

        virtual void 
        dependsOn_next (Type &o)
        {
          this->dependsOn_next (const_cast <Type const &> (o));
        }

        virtual void
        dependsOn_next (Type const&);

        virtual void 
        dependsOn_post (Type &o)
        {
          this->dependsOn_post (const_cast <Type const &> (o));
        }

        virtual void
        dependsOn_post (Type const&);

        virtual void 
        infoProperty_pre (Type &o)
        {
          this->infoProperty_pre (const_cast <Type const &> (o));
        }

        virtual void
        infoProperty_pre (Type const&);

        virtual void 
        infoProperty_next (Type &o)
        {
          this->infoProperty_next (const_cast <Type const &> (o));
        }

        virtual void
        infoProperty_next (Type const&);

        virtual void 
        infoProperty_post (Type &o)
        {
          this->infoProperty_post (const_cast <Type const &> (o));
        }

        virtual void
        infoProperty_post (Type const&);

        virtual void 
        href (Type &o)
        {
          this->href (const_cast <Type const &> (o));
        }

        virtual void
        href (Type const&);

        protected:
        ComponentImplementationDescription ();
      };

      struct ConnectorImplementationDescription : Traversal::ConnectorImplementationDescription, 
      virtual ::XSCRT::Writer< ACE_TCHAR >
      {
        typedef ::CIAO::Config_Handlers::ConnectorImplementationDescription Type;
        ConnectorImplementationDescription (::XSCRT::XML::Element< ACE_TCHAR >&);

        virtual void 
        traverse (Type &o)
        {
          this->traverse (const_cast <Type const &> (o));
        }

        virtual void
        traverse (Type const&);

        virtual void 
        label (Type &o)
        {
          this->label (const_cast <Type const &> (o));
        }

        virtual void
        label (Type const&);

        virtual void 
        UUID (Type &o)
        {
          this->UUID (const_cast <Type const &> (o));
        }

        virtual void
        UUID (Type const&);

        virtual void 
        implements (Type &o)
        {
          this->implements (const_cast <Type const &> (o));
        }

        virtual void
        implements (Type const&);

        virtual void 
        assemblyImpl (Type &o)
        {
          this->assemblyImpl (const_cast <Type const &> (o));
        }

        virtual void
        assemblyImpl (Type const&);

        virtual void 
        monolithicImpl (Type &o)
        {
          this->monolithicImpl (const_cast <Type const &> (o));
        }

        virtual void
        monolithicImpl (Type const&);

        virtual void 
        configProperty_pre (Type &o)
        {
          this->configProperty_pre (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_pre (Type const&);

        virtual void 
        configProperty_next (Type &o)
        {
          this->configProperty_next (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_next (Type const&);

        virtual void 
        configProperty_post (Type &o)
        {
          this->configProperty_post (const_cast <Type const &> (o));
        }

        virtual void
        configProperty_post (Type const&);

        virtual void 
        capability_pre (Type &o)
        {
          this->capability_pre (const_cast <Type const &> (o));
        }

        virtual void
        capability_pre (Type const&);

        virtual void 
        capability_next (Type &o)
        {
          this->capability_next (const_cast <Type const &> (o));
        }

        virtual void
        capability_next (Type const&);

        virtual void 
        capability_post (Type &o)
        {
          this->capability_post (const_cast <Type const &> (o));
        }

        virtual void
        capability_post (Type const&);

        virtual void 
        dependsOn_pre (Type &o)
        {
          this->dependsOn_pre (const_cast <Type const &> (o));
        }

        virtual void
        dependsOn_pre (Type const&);

        virtual void 
        dependsOn_next (Type &o)
        {
          this->dependsOn_next (const_cast <Type const &> (o));
        }

        virtual void
        dependsOn_next (Type const&);

        virtual void 
        dependsOn_post (Type &o)
        {
          this->dependsOn_post (const_cast <Type const &> (o));
        }

        virtual void
        dependsOn_post (Type const&);

        virtual void 
        infoProperty_pre (Type &o)
        {
          this->infoProperty_pre (const_cast <Type const &> (o));
        }

        virtual void
        infoProperty_pre (Type const&);

        virtual void 
        infoProperty_next (Type &o)
        {
          this->infoProperty_next (const_cast <Type const &> (o));
        }

        virtual void
        infoProperty_next (Type const&);

        virtual void 
        infoProperty_post (Type &o)
        {
          this->infoProperty_post (const_cast <Type const &> (o));
        }

        virtual void
        infoProperty_post (Type const&);

        virtual void 
        href (Type &o)
        {
          this->href (const_cast <Type const &> (o));
        }

        virtual void
        href (Type const&);

        protected:
        ConnectorImplementationDescription ();
      };
    }
  }
}

namespace CIAO
{
  namespace Config_Handlers
  {
  }
}

#endif // CID_HPP
