diff options
Diffstat (limited to 'config_complex_types_1/Config_Handlers/RT-CCM')
8 files changed, 1749 insertions, 8 deletions
diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.cpp b/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.cpp index 9c626644188..5a495c966c2 100644 --- a/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.cpp +++ b/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.cpp @@ -1332,6 +1332,14 @@ namespace CIAO } { + for (nwpriorityModel_const_iterator i (s.nwpriorityModel_.begin ());i != s.nwpriorityModel_.end ();++i) add_nwpriorityModel (*i); + } + + { + for (cnwpriorityModel_const_iterator i (s.cnwpriorityModel_.begin ());i != s.cnwpriorityModel_.end ();++i) add_cnwpriorityModel (*i); + } + + { for (threadpool_const_iterator i (s.threadpool_.begin ());i != s.threadpool_.end ();++i) add_threadpool (*i); } @@ -1350,6 +1358,16 @@ namespace CIAO for (priorityModel_const_iterator i (s.priorityModel_.begin ());i != s.priorityModel_.end ();++i) add_priorityModel (*i); } + nwpriorityModel_.clear (); + { + for (nwpriorityModel_const_iterator i (s.nwpriorityModel_.begin ());i != s.nwpriorityModel_.end ();++i) add_nwpriorityModel (*i); + } + + cnwpriorityModel_.clear (); + { + for (cnwpriorityModel_const_iterator i (s.cnwpriorityModel_.begin ());i != s.cnwpriorityModel_.end ();++i) add_cnwpriorityModel (*i); + } + threadpool_.clear (); { for (threadpool_const_iterator i (s.threadpool_.begin ());i != s.threadpool_.end ();++i) add_threadpool (*i); @@ -1407,6 +1425,82 @@ namespace CIAO // PolicySet // + PolicySet::nwpriorityModel_iterator PolicySet:: + begin_nwpriorityModel () + { + return nwpriorityModel_.begin (); + } + + PolicySet::nwpriorityModel_iterator PolicySet:: + end_nwpriorityModel () + { + return nwpriorityModel_.end (); + } + + PolicySet::nwpriorityModel_const_iterator PolicySet:: + begin_nwpriorityModel () const + { + return nwpriorityModel_.begin (); + } + + PolicySet::nwpriorityModel_const_iterator PolicySet:: + end_nwpriorityModel () const + { + return nwpriorityModel_.end (); + } + + void PolicySet:: + add_nwpriorityModel (::CIAO::Config_Handlers::NWPriorityModelPolicyDef const& e) + { + nwpriorityModel_.push_back (e); + } + + size_t PolicySet:: + count_nwpriorityModel(void) const + { + return nwpriorityModel_.size (); + } + + // PolicySet + // + PolicySet::cnwpriorityModel_iterator PolicySet:: + begin_cnwpriorityModel () + { + return cnwpriorityModel_.begin (); + } + + PolicySet::cnwpriorityModel_iterator PolicySet:: + end_cnwpriorityModel () + { + return cnwpriorityModel_.end (); + } + + PolicySet::cnwpriorityModel_const_iterator PolicySet:: + begin_cnwpriorityModel () const + { + return cnwpriorityModel_.begin (); + } + + PolicySet::cnwpriorityModel_const_iterator PolicySet:: + end_cnwpriorityModel () const + { + return cnwpriorityModel_.end (); + } + + void PolicySet:: + add_cnwpriorityModel (::CIAO::Config_Handlers::CNWPriorityModelPolicyDef const& e) + { + cnwpriorityModel_.push_back (e); + } + + size_t PolicySet:: + count_cnwpriorityModel(void) const + { + return cnwpriorityModel_.size (); + } + + // PolicySet + // PolicySet::threadpool_iterator PolicySet:: begin_threadpool () { @@ -1544,6 +1638,33 @@ namespace CIAO { } + // NWPriorityModel + // + + NWPriorityModel::Value NWPriorityModel:: + integral () const + { + return v_; + } + + bool + operator== (::CIAO::Config_Handlers::NWPriorityModel const& a, ::CIAO::Config_Handlers::NWPriorityModel const& b) + { + return a.v_ == b.v_; + } + + bool + operator!= (::CIAO::Config_Handlers::NWPriorityModel const& a, ::CIAO::Config_Handlers::NWPriorityModel const& b) + { + return a.v_ != b.v_; + } + + NWPriorityModel:: + NWPriorityModel (NWPriorityModel::Value v) + : v_ (v) + { + } + // PriorityModelPolicyDef // @@ -1629,6 +1750,163 @@ namespace CIAO server_priority_->container (this); } } + + + // NWPriorityModelPolicyDef + // + + NWPriorityModelPolicyDef:: + NWPriorityModelPolicyDef (::CIAO::Config_Handlers::NWPriorityModel const& nw_priority_model__, + ::XMLSchema::long_ const& request_dscp__, + ::XMLSchema::long_ const& reply_dscp__) + : + ::XSCRT::Type (), + nw_priority_model_ (new ::CIAO::Config_Handlers::NWPriorityModel (nw_priority_model__)), + request_dscp_ (new ::XMLSchema::long_ (request_dscp__)), + reply_dscp_ (new ::XMLSchema::long_ (reply_dscp__)), + regulator__ () + { + nw_priority_model_->container (this); + request_dscp_->container (this); + reply_dscp_->container (this); + } + + NWPriorityModelPolicyDef:: + NWPriorityModelPolicyDef (::CIAO::Config_Handlers::NWPriorityModelPolicyDef const& s) + : + ::XSCRT::Type (), + nw_priority_model_ (new ::CIAO::Config_Handlers::NWPriorityModel (*s.nw_priority_model_)), + request_dscp_ (new ::XMLSchema::long_ (*s.request_dscp_)), + reply_dscp_ (new ::XMLSchema::long_ (*s.reply_dscp_)), + regulator__ () + { + nw_priority_model_->container (this); + request_dscp_->container (this); + reply_dscp_->container (this); + } + + ::CIAO::Config_Handlers::NWPriorityModelPolicyDef& NWPriorityModelPolicyDef:: + operator= (::CIAO::Config_Handlers::NWPriorityModelPolicyDef const& s) + { + nw_priority_model (s.nw_priority_model ()); + + request_dscp (s.request_dscp ()); + + reply_dscp (s.reply_dscp ()); + + return *this; + } + + + // NWPriorityModelPolicyDef + // + ::CIAO::Config_Handlers::NWPriorityModel const& NWPriorityModelPolicyDef:: + nw_priority_model () const + { + return *nw_priority_model_; + } + + void NWPriorityModelPolicyDef:: + nw_priority_model (::CIAO::Config_Handlers::NWPriorityModel const& e) + { + *nw_priority_model_ = e; + } + + // NWPriorityModelPolicyDef + // + ::XMLSchema::long_ const& NWPriorityModelPolicyDef:: + request_dscp () const + { + return *request_dscp_; + } + + void NWPriorityModelPolicyDef:: + request_dscp (::XMLSchema::long_ const& e) + { + *request_dscp_ = e; + } + + // NWPriorityModelPolicyDef + // + ::XMLSchema::long_ const& NWPriorityModelPolicyDef:: + reply_dscp () const + { + return *reply_dscp_; + } + + void NWPriorityModelPolicyDef:: + reply_dscp (::XMLSchema::long_ const& e) + { + *reply_dscp_ = e; + } + + + // CNWPriorityModelPolicyDef + // + + CNWPriorityModelPolicyDef:: + CNWPriorityModelPolicyDef (::XMLSchema::long_ const& request_dscp__, + ::XMLSchema::long_ const& reply_dscp__) + : + ::XSCRT::Type (), + request_dscp_ (new ::XMLSchema::long_ (request_dscp__)), + reply_dscp_ (new ::XMLSchema::long_ (reply_dscp__)), + regulator__ () + { + request_dscp_->container (this); + reply_dscp_->container (this); + } + + CNWPriorityModelPolicyDef:: + CNWPriorityModelPolicyDef (::CIAO::Config_Handlers::CNWPriorityModelPolicyDef const& s) + : + ::XSCRT::Type (), + request_dscp_ (new ::XMLSchema::long_ (*s.request_dscp_)), + reply_dscp_ (new ::XMLSchema::long_ (*s.reply_dscp_)), + regulator__ () + { + request_dscp_->container (this); + reply_dscp_->container (this); + } + + ::CIAO::Config_Handlers::CNWPriorityModelPolicyDef& CNWPriorityModelPolicyDef:: + operator= (::CIAO::Config_Handlers::CNWPriorityModelPolicyDef const& s) + { + request_dscp (s.request_dscp ()); + + reply_dscp (s.reply_dscp ()); + + return *this; + } + + + // CNWPriorityModelPolicyDef + // + ::XMLSchema::long_ const& CNWPriorityModelPolicyDef:: + request_dscp () const + { + return *request_dscp_; + } + + void CNWPriorityModelPolicyDef:: + request_dscp (::XMLSchema::long_ const& e) + { + *request_dscp_ = e; + } + + // CNWPriorityModelPolicyDef + // + ::XMLSchema::long_ const& CNWPriorityModelPolicyDef:: + reply_dscp () const + { + return *reply_dscp_; + } + + void CNWPriorityModelPolicyDef:: + reply_dscp (::XMLSchema::long_ const& e) + { + *reply_dscp_ = e; + } } } @@ -2118,6 +2396,18 @@ namespace CIAO add_priorityModel (t); } + else if (n == "nwpriorityModel") + { + ::CIAO::Config_Handlers::NWPriorityModelPolicyDef t (e); + add_nwpriorityModel (t); + } + + else if (n == "cnwpriorityModel") + { + ::CIAO::Config_Handlers::CNWPriorityModelPolicyDef t (e); + add_cnwpriorityModel (t); + } + else if (n == "threadpool") { ::XMLSchema::IDREF< ACE_TCHAR > t (e); @@ -2183,6 +2473,38 @@ namespace CIAO PriorityModel const PriorityModel::SERVER_DECLARED (PriorityModel::SERVER_DECLARED_l); PriorityModel const PriorityModel::CLIENT_PROPAGATED (PriorityModel::CLIENT_PROPAGATED_l); + // NWPriorityModel + // + + NWPriorityModel:: + NWPriorityModel (::XSCRT::XML::Element< ACE_TCHAR > const& e) + : ::XSCRT::Type (e) + { + ::std::basic_string< ACE_TCHAR > v (e.value ()); + + if (v == "SERVER_DECLARED_NWPRIORITY") v_ = SERVER_DECLARED_NWPRIORITY_l; + else if (v == "CLIENT_PROPAGATED_NWPRIORITY") v_ = CLIENT_PROPAGATED_NWPRIORITY_l; + else + { + } + } + + NWPriorityModel:: + NWPriorityModel (::XSCRT::XML::Attribute< ACE_TCHAR > const& a) + : ::XSCRT::Type (a) + { + ::std::basic_string< ACE_TCHAR > v (a.value ()); + + if (v == "SERVER_DECLARED_NWPRIORITY") v_ = SERVER_DECLARED_NWPRIORITY_l; + else if (v == "CLIENT_PROPAGATED_NWPRIORITY") v_ = CLIENT_PROPAGATED_NWPRIORITY_l; + else + { + } + } + + NWPriorityModel const NWPriorityModel::SERVER_DECLARED_NWPRIORITY (NWPriorityModel::SERVER_DECLARED_NWPRIORITY_l); + NWPriorityModel const NWPriorityModel::CLIENT_PROPAGATED_NWPRIORITY (NWPriorityModel::CLIENT_PROPAGATED_NWPRIORITY_l); + // PriorityModelPolicyDef // @@ -2224,6 +2546,78 @@ namespace CIAO } } } + + // NWPriorityModelPolicyDef + // + + NWPriorityModelPolicyDef:: + NWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR > const& e) + :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 == "nw_priority_model") + { + nw_priority_model_ = ::std::auto_ptr< ::CIAO::Config_Handlers::NWPriorityModel > (new ::CIAO::Config_Handlers::NWPriorityModel (e)); + nw_priority_model_->container (this); + } + + else if (n == "request_dscp") + { + request_dscp_ = ::std::auto_ptr< ::XMLSchema::long_ > (new ::XMLSchema::long_ (e)); + request_dscp_->container (this); + } + + else if (n == "reply_dscp") + { + reply_dscp_ = ::std::auto_ptr< ::XMLSchema::long_ > (new ::XMLSchema::long_ (e)); + reply_dscp_->container (this); + } + + else + { + } + } + } + + // CNWPriorityModelPolicyDef + // + + CNWPriorityModelPolicyDef:: + CNWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR > const& e) + :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 == "request_dscp") + { + request_dscp_ = ::std::auto_ptr< ::XMLSchema::long_ > (new ::XMLSchema::long_ (e)); + request_dscp_->container (this); + } + + else if (n == "reply_dscp") + { + reply_dscp_ = ::std::auto_ptr< ::XMLSchema::long_ > (new ::XMLSchema::long_ (e)); + reply_dscp_->container (this); + } + + else + { + } + } + } } } @@ -2442,6 +2836,21 @@ namespace CIAO PriorityModelTypeInfoInitializer PriorityModelTypeInfoInitializer_; + struct NWPriorityModelTypeInfoInitializer + { + NWPriorityModelTypeInfoInitializer () + { + ::XSCRT::TypeId id (typeid (NWPriorityModel)); + ::XSCRT::ExtendedTypeInfo nf (id); + + nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type)); + + ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf)); + } + }; + + NWPriorityModelTypeInfoInitializer NWPriorityModelTypeInfoInitializer_; + struct PriorityModelPolicyDefTypeInfoInitializer { PriorityModelPolicyDefTypeInfoInitializer () @@ -2455,6 +2864,34 @@ namespace CIAO }; PriorityModelPolicyDefTypeInfoInitializer PriorityModelPolicyDefTypeInfoInitializer_; + + struct NWPriorityModelPolicyDefTypeInfoInitializer + { + NWPriorityModelPolicyDefTypeInfoInitializer () + { + ::XSCRT::TypeId id (typeid (NWPriorityModelPolicyDef)); + ::XSCRT::ExtendedTypeInfo nf (id); + + nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type)); + ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf)); + } + }; + + NWPriorityModelPolicyDefTypeInfoInitializer NWPriorityModelPolicyDefTypeInfoInitializer_; + + struct CNWPriorityModelPolicyDefTypeInfoInitializer + { + CNWPriorityModelPolicyDefTypeInfoInitializer () + { + ::XSCRT::TypeId id (typeid (CNWPriorityModelPolicyDef)); + ::XSCRT::ExtendedTypeInfo nf (id); + + nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type)); + ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf)); + } + }; + + CNWPriorityModelPolicyDefTypeInfoInitializer CNWPriorityModelPolicyDefTypeInfoInitializer_; } } } @@ -3898,6 +4335,8 @@ namespace CIAO { pre (o); priorityModel (o); + nwpriorityModel (o); + cnwpriorityModel (o); threadpool (o); priorityBandedConnection (o); if (o.id_p ()) id (o); @@ -3910,6 +4349,8 @@ namespace CIAO { pre (o); priorityModel (o); + nwpriorityModel (o); + cnwpriorityModel (o); threadpool (o); priorityBandedConnection (o); if (o.id_p ()) id (o); @@ -4012,6 +4453,174 @@ namespace CIAO } void PolicySet:: + nwpriorityModel (Type& o) + { + // VC6 anathema strikes again + // + PolicySet::Type::nwpriorityModel_iterator b (o.begin_nwpriorityModel()), e (o.end_nwpriorityModel()); + + if (b != e) + { + nwpriorityModel_pre (o); + for (; b != e;) + { + dispatch (*b); + if (++b != e) nwpriorityModel_next (o); + } + + nwpriorityModel_post (o); + } + + else nwpriorityModel_none (o); + } + + void PolicySet:: + nwpriorityModel (Type const& o) + { + // VC6 anathema strikes again + // + PolicySet::Type::nwpriorityModel_const_iterator b (o.begin_nwpriorityModel()), e (o.end_nwpriorityModel()); + + if (b != e) + { + nwpriorityModel_pre (o); + for (; b != e;) + { + dispatch (*b); + if (++b != e) nwpriorityModel_next (o); + } + + nwpriorityModel_post (o); + } + + else nwpriorityModel_none (o); + } + + void PolicySet:: + nwpriorityModel_pre (Type&) + { + } + + void PolicySet:: + nwpriorityModel_pre (Type const&) + { + } + + void PolicySet:: + nwpriorityModel_next (Type&) + { + } + + void PolicySet:: + nwpriorityModel_next (Type const&) + { + } + + void PolicySet:: + nwpriorityModel_post (Type&) + { + } + + void PolicySet:: + nwpriorityModel_post (Type const&) + { + } + + void PolicySet:: + nwpriorityModel_none (Type&) + { + } + + void PolicySet:: + nwpriorityModel_none (Type const&) + { + } + + void PolicySet:: + cnwpriorityModel (Type& o) + { + // VC6 anathema strikes again + // + PolicySet::Type::cnwpriorityModel_iterator b (o.begin_cnwpriorityModel()), e (o.end_cnwpriorityModel()); + + if (b != e) + { + cnwpriorityModel_pre (o); + for (; b != e;) + { + dispatch (*b); + if (++b != e) cnwpriorityModel_next (o); + } + + cnwpriorityModel_post (o); + } + + else cnwpriorityModel_none (o); + } + + void PolicySet:: + cnwpriorityModel (Type const& o) + { + // VC6 anathema strikes again + // + PolicySet::Type::cnwpriorityModel_const_iterator b (o.begin_cnwpriorityModel()), e (o.end_cnwpriorityModel()); + + if (b != e) + { + cnwpriorityModel_pre (o); + for (; b != e;) + { + dispatch (*b); + if (++b != e) cnwpriorityModel_next (o); + } + + cnwpriorityModel_post (o); + } + + else cnwpriorityModel_none (o); + } + + void PolicySet:: + cnwpriorityModel_pre (Type&) + { + } + + void PolicySet:: + cnwpriorityModel_pre (Type const&) + { + } + + void PolicySet:: + cnwpriorityModel_next (Type&) + { + } + + void PolicySet:: + cnwpriorityModel_next (Type const&) + { + } + + void PolicySet:: + cnwpriorityModel_post (Type&) + { + } + + void PolicySet:: + cnwpriorityModel_post (Type const&) + { + } + + void PolicySet:: + cnwpriorityModel_none (Type&) + { + } + + void PolicySet:: + cnwpriorityModel_none (Type const&) + { + } + + void PolicySet:: threadpool (Type& o) { // VC6 anathema strikes again @@ -4288,6 +4897,152 @@ namespace CIAO post (Type const&) { } + + // NWPriorityModelPolicyDef + // + // + + void NWPriorityModelPolicyDef:: + traverse (Type& o) + { + pre (o); + nw_priority_model (o); + request_dscp (o); + reply_dscp (o); + post (o); + } + + void NWPriorityModelPolicyDef:: + traverse (Type const& o) + { + pre (o); + nw_priority_model (o); + request_dscp (o); + reply_dscp (o); + post (o); + } + + void NWPriorityModelPolicyDef:: + pre (Type&) + { + } + + void NWPriorityModelPolicyDef:: + pre (Type const&) + { + } + + void NWPriorityModelPolicyDef:: + nw_priority_model (Type& o) + { + dispatch (o.nw_priority_model ()); + } + + void NWPriorityModelPolicyDef:: + nw_priority_model (Type const& o) + { + dispatch (o.nw_priority_model ()); + } + + void NWPriorityModelPolicyDef:: + request_dscp (Type& o) + { + dispatch (o.request_dscp ()); + } + + void NWPriorityModelPolicyDef:: + request_dscp (Type const& o) + { + dispatch (o.request_dscp ()); + } + + void NWPriorityModelPolicyDef:: + reply_dscp (Type& o) + { + dispatch (o.reply_dscp ()); + } + + void NWPriorityModelPolicyDef:: + reply_dscp (Type const& o) + { + dispatch (o.reply_dscp ()); + } + + void NWPriorityModelPolicyDef:: + post (Type&) + { + } + + void NWPriorityModelPolicyDef:: + post (Type const&) + { + } + + // CNWPriorityModelPolicyDef + // + // + + void CNWPriorityModelPolicyDef:: + traverse (Type& o) + { + pre (o); + request_dscp (o); + reply_dscp (o); + post (o); + } + + void CNWPriorityModelPolicyDef:: + traverse (Type const& o) + { + pre (o); + request_dscp (o); + reply_dscp (o); + post (o); + } + + void CNWPriorityModelPolicyDef:: + pre (Type&) + { + } + + void CNWPriorityModelPolicyDef:: + pre (Type const&) + { + } + + void CNWPriorityModelPolicyDef:: + request_dscp (Type& o) + { + dispatch (o.request_dscp ()); + } + + void CNWPriorityModelPolicyDef:: + request_dscp (Type const& o) + { + dispatch (o.request_dscp ()); + } + + void CNWPriorityModelPolicyDef:: + reply_dscp (Type& o) + { + dispatch (o.reply_dscp ()); + } + + void CNWPriorityModelPolicyDef:: + reply_dscp (Type const& o) + { + dispatch (o.reply_dscp ()); + } + + void CNWPriorityModelPolicyDef:: + post (Type&) + { + } + + void CNWPriorityModelPolicyDef:: + post (Type const&) + { + } } } } @@ -4916,6 +5671,44 @@ namespace CIAO } void PolicySet:: + nwpriorityModel_pre (Type const&) + { + push_ (::XSCRT::XML::Element< ACE_TCHAR > ("nwpriorityModel", top_ ())); + } + + void PolicySet:: + nwpriorityModel_next (Type const& o) + { + nwpriorityModel_post (o); + nwpriorityModel_pre (o); + } + + void PolicySet:: + nwpriorityModel_post (Type const&) + { + pop_ (); + } + + void PolicySet:: + cnwpriorityModel_pre (Type const&) + { + push_ (::XSCRT::XML::Element< ACE_TCHAR > ("cnwpriorityModel", top_ ())); + } + + void PolicySet:: + cnwpriorityModel_next (Type const& o) + { + cnwpriorityModel_post (o); + cnwpriorityModel_pre (o); + } + + void PolicySet:: + cnwpriorityModel_post (Type const&) + { + pop_ (); + } + + void PolicySet:: threadpool_pre (Type const&) { push_ (::XSCRT::XML::Element< ACE_TCHAR > ("threadpool", top_ ())); @@ -4999,6 +5792,43 @@ namespace CIAO } } + // NWPriorityModel + // + // + + NWPriorityModel:: + NWPriorityModel (::XSCRT::XML::Element< ACE_TCHAR >& e) + : ::XSCRT::Writer< ACE_TCHAR > (e) + { + } + + NWPriorityModel:: + NWPriorityModel () + { + } + + void NWPriorityModel:: + traverse (Type const& o) + { + ::std::basic_string< ACE_TCHAR > s; + + if (o == ::CIAO::Config_Handlers::NWPriorityModel::SERVER_DECLARED_NWPRIORITY) s = "SERVER_DECLARED_NWPRIORITY"; + else if (o == ::CIAO::Config_Handlers::NWPriorityModel::CLIENT_PROPAGATED_NWPRIORITY) s = "CLIENT_PROPAGATED_NWPRIORITY"; + else + { + } + + if (::XSCRT::XML::Attribute< ACE_TCHAR >* a = attr_ ()) + { + a->value (s); + } + + else + { + top_().value (s); + } + } + // PriorityModelPolicyDef // // @@ -5036,6 +5866,88 @@ namespace CIAO Traversal::PriorityModelPolicyDef::server_priority (o); attr_ (0); } + + // NWPriorityModelPolicyDef + // + // + + NWPriorityModelPolicyDef:: + NWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR >& e) + : ::XSCRT::Writer< ACE_TCHAR > (e) + { + } + + NWPriorityModelPolicyDef:: + NWPriorityModelPolicyDef () + { + } + + void NWPriorityModelPolicyDef:: + traverse (Type const& o) + { + Traversal::NWPriorityModelPolicyDef::traverse (o); + } + + void NWPriorityModelPolicyDef:: + nw_priority_model (Type const& o) + { + push_ (::XSCRT::XML::Element< ACE_TCHAR > ("nw_priority_model", top_ ())); + Traversal::NWPriorityModelPolicyDef::nw_priority_model (o); + pop_ (); + } + + void NWPriorityModelPolicyDef:: + request_dscp (Type const& o) + { + push_ (::XSCRT::XML::Element< ACE_TCHAR > ("request_dscp", top_ ())); + Traversal::NWPriorityModelPolicyDef::request_dscp (o); + pop_ (); + } + + void NWPriorityModelPolicyDef:: + reply_dscp (Type const& o) + { + push_ (::XSCRT::XML::Element< ACE_TCHAR > ("reply_dscp", top_ ())); + Traversal::NWPriorityModelPolicyDef::reply_dscp (o); + pop_ (); + } + + // CNWPriorityModelPolicyDef + // + // + + CNWPriorityModelPolicyDef:: + CNWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR >& e) + : ::XSCRT::Writer< ACE_TCHAR > (e) + { + } + + CNWPriorityModelPolicyDef:: + CNWPriorityModelPolicyDef () + { + } + + void CNWPriorityModelPolicyDef:: + traverse (Type const& o) + { + Traversal::CNWPriorityModelPolicyDef::traverse (o); + } + + void CNWPriorityModelPolicyDef:: + request_dscp (Type const& o) + { + push_ (::XSCRT::XML::Element< ACE_TCHAR > ("request_dscp", top_ ())); + Traversal::CNWPriorityModelPolicyDef::request_dscp (o); + pop_ (); + } + + void CNWPriorityModelPolicyDef:: + reply_dscp (Type const& o) + { + push_ (::XSCRT::XML::Element< ACE_TCHAR > ("reply_dscp", top_ ())); + Traversal::CNWPriorityModelPolicyDef::reply_dscp (o); + pop_ (); + } } } } @@ -5072,6 +5984,10 @@ namespace CIAO virtual ::CIAO::Config_Handlers::Writer::PolicySet, virtual ::CIAO::Config_Handlers::Writer::PriorityModelPolicyDef, virtual ::CIAO::Config_Handlers::Writer::PriorityModel, + virtual ::CIAO::Config_Handlers::Writer::NWPriorityModelPolicyDef, + virtual ::CIAO::Config_Handlers::Writer::NWPriorityModel, + virtual ::XMLSchema::Writer::FundamentalType< ::XMLSchema::long_, ACE_TCHAR >, + virtual ::CIAO::Config_Handlers::Writer::CNWPriorityModelPolicyDef, virtual ::XMLSchema::Writer::IDREF< ACE_TCHAR >, virtual ::XSCRT::Writer< ACE_TCHAR > { diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.hpp b/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.hpp index d08ff32fc10..f932f4faf33 100644 --- a/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.hpp +++ b/config_complex_types_1/Config_Handlers/RT-CCM/CIAOServerResources.hpp @@ -38,7 +38,10 @@ namespace CIAO class PriorityBandDef; class PolicySet; class PriorityModel; + class NWPriorityModel; class PriorityModelPolicyDef; + class NWPriorityModelPolicyDef; + class CNWPriorityModelPolicyDef; } } @@ -643,6 +646,36 @@ namespace CIAO protected: ::std::list< ::CIAO::Config_Handlers::PriorityModelPolicyDef > priorityModel_; + // nwpriorityModel + // + public: + typedef ::std::list< ::CIAO::Config_Handlers::NWPriorityModelPolicyDef >::iterator nwpriorityModel_iterator; + typedef ::std::list< ::CIAO::Config_Handlers::NWPriorityModelPolicyDef >::const_iterator nwpriorityModel_const_iterator; + nwpriorityModel_iterator begin_nwpriorityModel (); + nwpriorityModel_iterator end_nwpriorityModel (); + nwpriorityModel_const_iterator begin_nwpriorityModel () const; + nwpriorityModel_const_iterator end_nwpriorityModel () const; + void add_nwpriorityModel (::CIAO::Config_Handlers::NWPriorityModelPolicyDef const& ); + size_t count_nwpriorityModel (void) const; + + protected: + ::std::list< ::CIAO::Config_Handlers::NWPriorityModelPolicyDef > nwpriorityModel_; + + // cnwpriorityModel + // + public: + typedef ::std::list< ::CIAO::Config_Handlers::CNWPriorityModelPolicyDef >::iterator cnwpriorityModel_iterator; + typedef ::std::list< ::CIAO::Config_Handlers::CNWPriorityModelPolicyDef >::const_iterator cnwpriorityModel_const_iterator; + cnwpriorityModel_iterator begin_cnwpriorityModel (); + cnwpriorityModel_iterator end_cnwpriorityModel (); + cnwpriorityModel_const_iterator begin_cnwpriorityModel () const; + cnwpriorityModel_const_iterator end_cnwpriorityModel () const; + void add_cnwpriorityModel (::CIAO::Config_Handlers::CNWPriorityModelPolicyDef const& ); + size_t count_cnwpriorityModel (void) const; + + protected: + ::std::list< ::CIAO::Config_Handlers::CNWPriorityModelPolicyDef > cnwpriorityModel_; + // threadpool // public: @@ -709,7 +742,7 @@ namespace CIAO enum Value { - SERVER_DECLARED_l,CLIENT_PROPAGATED_l, + SERVER_DECLARED_l, CLIENT_PROPAGATED_l }; @@ -733,6 +766,41 @@ namespace CIAO bool RT_CCM_Handlers_Export operator!= (PriorityModel const &a, PriorityModel const &b); + class RT_CCM_Handlers_Export NWPriorityModel : public ::XSCRT::Type + { + public: + NWPriorityModel (::XSCRT::XML::Element< ACE_TCHAR > const&); + NWPriorityModel (::XSCRT::XML::Attribute< ACE_TCHAR > const&); + + static NWPriorityModel const SERVER_DECLARED_NWPRIORITY; + static NWPriorityModel const CLIENT_PROPAGATED_NWPRIORITY; + + enum Value + { + SERVER_DECLARED_NWPRIORITY_l, CLIENT_PROPAGATED_NWPRIORITY_l + }; + + + Value + integral () const; + + friend bool RT_CCM_Handlers_Export + operator== (NWPriorityModel const& a, NWPriorityModel const& b); + + friend bool RT_CCM_Handlers_Export + operator!= (NWPriorityModel const& a, NWPriorityModel const& b); + + private: + NWPriorityModel (Value v); + + Value v_; + }; + + bool RT_CCM_Handlers_Export operator== (NWPriorityModel const &a, NWPriorityModel const &b); + + bool RT_CCM_Handlers_Export operator!= (NWPriorityModel const &a, NWPriorityModel const &b); + + class RT_CCM_Handlers_Export PriorityModelPolicyDef : public ::XSCRT::Type { //@@ VC6 anathema @@ -770,6 +838,92 @@ namespace CIAO private: char regulator__; }; + + + class RT_CCM_Handlers_Export NWPriorityModelPolicyDef : public ::XSCRT::Type + { + //@@ VC6 anathema + typedef ::XSCRT::Type Base__; + + // nw_priority_model + // + public: + ::CIAO::Config_Handlers::NWPriorityModel const& nw_priority_model () const; + void nw_priority_model (::CIAO::Config_Handlers::NWPriorityModel const& ); + + protected: + ::std::auto_ptr< ::CIAO::Config_Handlers::NWPriorityModel > nw_priority_model_; + + // request_dscp + // + public: + ::XMLSchema::long_ const& request_dscp () const; + void request_dscp (::XMLSchema::long_ const& ); + + protected: + ::std::auto_ptr< ::XMLSchema::long_ > request_dscp_; + + // reply_dscp + // + public: + ::XMLSchema::long_ const& reply_dscp () const; + void reply_dscp (::XMLSchema::long_ const& ); + + protected: + ::std::auto_ptr< ::XMLSchema::long_ > reply_dscp_; + + public: + NWPriorityModelPolicyDef (::CIAO::Config_Handlers::NWPriorityModel const& nw_priority_model__, + ::XMLSchema::long_ const& request_dscp__, + ::XMLSchema::long_ const& reply_dscp__); + + NWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR > const&); + NWPriorityModelPolicyDef (NWPriorityModelPolicyDef const& s); + + NWPriorityModelPolicyDef& + operator= (NWPriorityModelPolicyDef const& s); + + private: + char regulator__; + }; + + + class RT_CCM_Handlers_Export CNWPriorityModelPolicyDef : public ::XSCRT::Type + { + //@@ VC6 anathema + typedef ::XSCRT::Type Base__; + + // request_dscp + // + public: + ::XMLSchema::long_ const& request_dscp () const; + void request_dscp (::XMLSchema::long_ const& ); + + protected: + ::std::auto_ptr< ::XMLSchema::long_ > request_dscp_; + + // reply_dscp + // + public: + ::XMLSchema::long_ const& reply_dscp () const; + void reply_dscp (::XMLSchema::long_ const& ); + + protected: + ::std::auto_ptr< ::XMLSchema::long_ > reply_dscp_; + + public: + CNWPriorityModelPolicyDef (::XMLSchema::long_ const& request_dscp__, + ::XMLSchema::long_ const& reply_dscp__); + + CNWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR > const&); + CNWPriorityModelPolicyDef (CNWPriorityModelPolicyDef const& s); + + CNWPriorityModelPolicyDef& + operator= (CNWPriorityModelPolicyDef const& s); + + private: + char regulator__; + }; } } @@ -1457,6 +1611,66 @@ namespace CIAO priorityModel_none (Type const&); virtual void + nwpriorityModel (Type&); + + virtual void + nwpriorityModel (Type const&); + + virtual void + nwpriorityModel_pre (Type&); + + virtual void + nwpriorityModel_pre (Type const&); + + virtual void + nwpriorityModel_next (Type&); + + virtual void + nwpriorityModel_next (Type const&); + + virtual void + nwpriorityModel_post (Type&); + + virtual void + nwpriorityModel_post (Type const&); + + virtual void + nwpriorityModel_none (Type&); + + virtual void + nwpriorityModel_none (Type const&); + + virtual void + cnwpriorityModel (Type&); + + virtual void + cnwpriorityModel (Type const&); + + virtual void + cnwpriorityModel_pre (Type&); + + virtual void + cnwpriorityModel_pre (Type const&); + + virtual void + cnwpriorityModel_next (Type&); + + virtual void + cnwpriorityModel_next (Type const&); + + virtual void + cnwpriorityModel_post (Type&); + + virtual void + cnwpriorityModel_post (Type const&); + + virtual void + cnwpriorityModel_none (Type&); + + virtual void + cnwpriorityModel_none (Type const&); + + virtual void threadpool (Type&); virtual void @@ -1539,6 +1753,10 @@ namespace CIAO ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::PriorityModel > PriorityModel; + typedef + ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::NWPriorityModel > + NWPriorityModel; + struct RT_CCM_Handlers_Export PriorityModelPolicyDef : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::PriorityModelPolicyDef > { virtual void @@ -1577,6 +1795,78 @@ namespace CIAO virtual void post (Type const&); }; + + struct RT_CCM_Handlers_Export NWPriorityModelPolicyDef : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::NWPriorityModelPolicyDef > + { + virtual void + traverse (Type&); + + virtual void + traverse (Type const&); + + virtual void + pre (Type&); + + virtual void + pre (Type const&); + + virtual void + nw_priority_model (Type&); + + virtual void + nw_priority_model (Type const&); + + virtual void + request_dscp (Type&); + + virtual void + request_dscp (Type const&); + + virtual void + reply_dscp (Type&); + + virtual void + reply_dscp (Type const&); + + virtual void + post (Type&); + + virtual void + post (Type const&); + }; + + struct RT_CCM_Handlers_Export CNWPriorityModelPolicyDef : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::CNWPriorityModelPolicyDef > + { + virtual void + traverse (Type&); + + virtual void + traverse (Type const&); + + virtual void + pre (Type&); + + virtual void + pre (Type const&); + + virtual void + request_dscp (Type&); + + virtual void + request_dscp (Type const&); + + virtual void + reply_dscp (Type&); + + virtual void + reply_dscp (Type const&); + + virtual void + post (Type&); + + virtual void + post (Type const&); + }; } } } @@ -2389,6 +2679,72 @@ namespace CIAO priorityModel_post (Type const&); virtual void + nwpriorityModel_pre (Type &o) + { + + this->nwpriorityModel_pre (const_cast <Type const &> (o)); + } + + + virtual void + nwpriorityModel_pre (Type const&); + + virtual void + nwpriorityModel_next (Type &o) + { + + this->nwpriorityModel_next (const_cast <Type const &> (o)); + } + + + virtual void + nwpriorityModel_next (Type const&); + + virtual void + nwpriorityModel_post (Type &o) + { + + this->nwpriorityModel_post (const_cast <Type const &> (o)); + } + + + virtual void + nwpriorityModel_post (Type const&); + + virtual void + cnwpriorityModel_pre (Type &o) + { + + this->cnwpriorityModel_pre (const_cast <Type const &> (o)); + } + + + virtual void + cnwpriorityModel_pre (Type const&); + + virtual void + cnwpriorityModel_next (Type &o) + { + + this->cnwpriorityModel_next (const_cast <Type const &> (o)); + } + + + virtual void + cnwpriorityModel_next (Type const&); + + virtual void + cnwpriorityModel_post (Type &o) + { + + this->cnwpriorityModel_post (const_cast <Type const &> (o)); + } + + + virtual void + cnwpriorityModel_post (Type const&); + + virtual void threadpool_pre (Type &o) { @@ -2487,6 +2843,24 @@ namespace CIAO PriorityModel (); }; + struct NWPriorityModel : Traversal::NWPriorityModel, + virtual ::XSCRT::Writer< ACE_TCHAR > + { + NWPriorityModel (::XSCRT::XML::Element< ACE_TCHAR >&); + + virtual void + traverse (Type &o) + { + this->traverse (const_cast <Type const &> (o)); + } + + virtual void + traverse (Type const&); + + protected: + NWPriorityModel (); + }; + struct PriorityModelPolicyDef : Traversal::PriorityModelPolicyDef, virtual ::XSCRT::Writer< ACE_TCHAR > { @@ -2529,6 +2903,103 @@ namespace CIAO protected: PriorityModelPolicyDef (); }; + + struct NWPriorityModelPolicyDef : Traversal::NWPriorityModelPolicyDef, + virtual ::XSCRT::Writer< ACE_TCHAR > + { + typedef ::CIAO::Config_Handlers::NWPriorityModelPolicyDef Type; + NWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR >&); + + virtual void + traverse (Type &o) + { + + this->traverse (const_cast <Type const &> (o)); + } + + + virtual void + traverse (Type const&); + + virtual void + nw_priority_model (Type &o) + { + + this->nw_priority_model (const_cast <Type const &> (o)); + } + + + virtual void + nw_priority_model (Type const&); + + virtual void + request_dscp (Type &o) + { + + this->request_dscp (const_cast <Type const &> (o)); + } + + + virtual void + request_dscp (Type const&); + + virtual void + reply_dscp (Type &o) + { + + this->reply_dscp (const_cast <Type const &> (o)); + } + + + virtual void + reply_dscp (Type const&); + + protected: + NWPriorityModelPolicyDef (); + }; + + struct CNWPriorityModelPolicyDef : Traversal::CNWPriorityModelPolicyDef, + virtual ::XSCRT::Writer< ACE_TCHAR > + { + typedef ::CIAO::Config_Handlers::CNWPriorityModelPolicyDef Type; + CNWPriorityModelPolicyDef (::XSCRT::XML::Element< ACE_TCHAR >&); + + virtual void + traverse (Type &o) + { + + this->traverse (const_cast <Type const &> (o)); + } + + + virtual void + traverse (Type const&); + + virtual void + request_dscp (Type &o) + { + + this->request_dscp (const_cast <Type const &> (o)); + } + + + virtual void + request_dscp (Type const&); + + virtual void + reply_dscp (Type &o) + { + + this->reply_dscp (const_cast <Type const &> (o)); + } + + + virtual void + reply_dscp (Type const&); + + protected: + CNWPriorityModelPolicyDef (); + }; } } } diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/CNPM_Handler.cpp b/config_complex_types_1/Config_Handlers/RT-CCM/CNPM_Handler.cpp new file mode 100755 index 00000000000..acc74ca8c99 --- /dev/null +++ b/config_complex_types_1/Config_Handlers/RT-CCM/CNPM_Handler.cpp @@ -0,0 +1,93 @@ +// $Id$ + +#include "CNPM_Handler.h" +#include "CIAOServerResources.hpp" +#include "ace/Auto_Ptr.h" + +#define IPDSFIELD_DSCP_DEFAULT 0x00 +#define IPDSFIELD_DSCP_CS1 0x08 +#define IPDSFIELD_DSCP_CS2 0x10 +#define IPDSFIELD_DSCP_CS3 0x18 +#define IPDSFIELD_DSCP_CS4 0x20 +#define IPDSFIELD_DSCP_CS5 0x28 +#define IPDSFIELD_DSCP_CS6 0x30 +#define IPDSFIELD_DSCP_CS7 0x38 +#define IPDSFIELD_DSCP_AF11 0x0A +#define IPDSFIELD_DSCP_AF12 0x0C +#define IPDSFIELD_DSCP_AF13 0x0E +#define IPDSFIELD_DSCP_AF21 0x12 +#define IPDSFIELD_DSCP_AF22 0x14 +#define IPDSFIELD_DSCP_AF23 0x16 +#define IPDSFIELD_DSCP_AF31 0x1A +#define IPDSFIELD_DSCP_AF32 0x1C +#define IPDSFIELD_DSCP_AF33 0x1E +#define IPDSFIELD_DSCP_AF41 0x22 +#define IPDSFIELD_DSCP_AF42 0x24 +#define IPDSFIELD_DSCP_AF43 0x26 +#define IPDSFIELD_ECT_MASK 0x02 +#define IPDSFIELD_CE_MASK 0x01 +#define IPDSFIELD_DSCP_EF 0x2E + +static int const dscp[] = +{ + IPDSFIELD_DSCP_DEFAULT , + IPDSFIELD_DSCP_CS1 , + IPDSFIELD_DSCP_CS2 , + IPDSFIELD_DSCP_CS3 , + IPDSFIELD_DSCP_CS4 , + IPDSFIELD_DSCP_CS5 , + IPDSFIELD_DSCP_CS6 , + IPDSFIELD_DSCP_CS7 , + IPDSFIELD_DSCP_AF11 , + IPDSFIELD_DSCP_AF12 , + IPDSFIELD_DSCP_AF13 , + IPDSFIELD_DSCP_AF21 , + IPDSFIELD_DSCP_AF22 , + IPDSFIELD_DSCP_AF23 , + IPDSFIELD_DSCP_AF31 , + IPDSFIELD_DSCP_AF32 , + IPDSFIELD_DSCP_AF33 , + IPDSFIELD_DSCP_AF41 , + IPDSFIELD_DSCP_AF42 , + IPDSFIELD_DSCP_AF43 , + IPDSFIELD_DSCP_EF +}; + + +namespace CIAO +{ + namespace Config_Handlers + { + + bool + CNPM_Handler::cnw_priority_pd (const CNWPriorityModelPolicyDef &src, + ::CIAO::DAnCE::CNWPriorityModelPolicyDef &dest) + { + int request_array_slot = 7; + long d = dscp[request_array_slot]; + + int a = static_cast <ACE_INT16> (d); + long b = static_cast <ACE_INT32> (a); + long c = static_cast <ACE_INT32> (a); + + ACE_DEBUG ((LM_DEBUG, "numbers are %d %X %X\n", a, b, c)); + + dest.request_dscp = + static_cast <ACE_INT32> (src.request_dscp ()); + dest.reply_dscp = + static_cast <ACE_INT32> (src.reply_dscp ()); + + return true; + } + + CNWPriorityModelPolicyDef + CNPM_Handler::cnw_priority_pd ( + const ::CIAO::DAnCE::CNWPriorityModelPolicyDef&) + { + auto_ptr <CNWPriorityModelPolicyDef> pmd; + pmd.reset (new CNWPriorityModelPolicyDef (0, 0)); + return *pmd; + } + } +} + diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/CNPM_Handler.h b/config_complex_types_1/Config_Handlers/RT-CCM/CNPM_Handler.h new file mode 100755 index 00000000000..39da8b2fae4 --- /dev/null +++ b/config_complex_types_1/Config_Handlers/RT-CCM/CNPM_Handler.h @@ -0,0 +1,45 @@ +/** + * @file CNPM_Handler.h + * + * $Id$ + */ + + +#ifndef CIAO_CONFIG_HANDLERS_CNPM_HANDLER_H +#define CIAO_CONFIG_HANDLERS_CNPM_HANDLER_H + +#include /**/ "ace/pre.h" + +#include "RT_CCM_Handlers_Export.h" +#include "DAnCE/Deployment/CIAO_ServerResourcesC.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +namespace CIAO +{ + namespace Config_Handlers + { + class CNWPriorityModelPolicyDef; + + /** + * @class CNPM_Handler + * @brief Handler class for client NetworkPriorityModelPolicyDefs + */ + + class RT_CCM_Handlers_Export CNPM_Handler + { + public: + static bool cnw_priority_pd (const CNWPriorityModelPolicyDef &src, + ::CIAO::DAnCE::CNWPriorityModelPolicyDef &dest); + + static CNWPriorityModelPolicyDef cnw_priority_pd ( + const ::CIAO::DAnCE::CNWPriorityModelPolicyDef &src); + }; + } + +} + +#include /**/ "ace/post.h" +#endif /* CIAO_CONFIG_HANDLERS_CNPM_HANDLER_H */ diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/NPM_Handler.cpp b/config_complex_types_1/Config_Handlers/RT-CCM/NPM_Handler.cpp new file mode 100755 index 00000000000..d530b2169e2 --- /dev/null +++ b/config_complex_types_1/Config_Handlers/RT-CCM/NPM_Handler.cpp @@ -0,0 +1,131 @@ +// $Id$ + +#include "NPM_Handler.h" +#include "CIAOServerResources.hpp" +#include "ace/Auto_Ptr.h" + +#define IPDSFIELD_DSCP_DEFAULT 0x00 +#define IPDSFIELD_DSCP_CS1 0x08 +#define IPDSFIELD_DSCP_CS2 0x10 +#define IPDSFIELD_DSCP_CS3 0x18 +#define IPDSFIELD_DSCP_CS4 0x20 +#define IPDSFIELD_DSCP_CS5 0x28 +#define IPDSFIELD_DSCP_CS6 0x30 +#define IPDSFIELD_DSCP_CS7 0x38 +#define IPDSFIELD_DSCP_AF11 0x0A +#define IPDSFIELD_DSCP_AF12 0x0C +#define IPDSFIELD_DSCP_AF13 0x0E +#define IPDSFIELD_DSCP_AF21 0x12 +#define IPDSFIELD_DSCP_AF22 0x14 +#define IPDSFIELD_DSCP_AF23 0x16 +#define IPDSFIELD_DSCP_AF31 0x1A +#define IPDSFIELD_DSCP_AF32 0x1C +#define IPDSFIELD_DSCP_AF33 0x1E +#define IPDSFIELD_DSCP_AF41 0x22 +#define IPDSFIELD_DSCP_AF42 0x24 +#define IPDSFIELD_DSCP_AF43 0x26 +#define IPDSFIELD_ECT_MASK 0x02 +#define IPDSFIELD_CE_MASK 0x01 +#define IPDSFIELD_DSCP_EF 0x2E + +static int const dscp[] = +{ + IPDSFIELD_DSCP_DEFAULT , + IPDSFIELD_DSCP_CS1 , + IPDSFIELD_DSCP_CS2 , + IPDSFIELD_DSCP_CS3 , + IPDSFIELD_DSCP_CS4 , + IPDSFIELD_DSCP_CS5 , + IPDSFIELD_DSCP_CS6 , + IPDSFIELD_DSCP_CS7 , + IPDSFIELD_DSCP_AF11 , + IPDSFIELD_DSCP_AF12 , + IPDSFIELD_DSCP_AF13 , + IPDSFIELD_DSCP_AF21 , + IPDSFIELD_DSCP_AF22 , + IPDSFIELD_DSCP_AF23 , + IPDSFIELD_DSCP_AF31 , + IPDSFIELD_DSCP_AF32 , + IPDSFIELD_DSCP_AF33 , + IPDSFIELD_DSCP_AF41 , + IPDSFIELD_DSCP_AF42 , + IPDSFIELD_DSCP_AF43 , + IPDSFIELD_DSCP_EF +}; + + +namespace CIAO +{ + namespace Config_Handlers + { + + bool + NPM_Handler::nw_priority_model_pd (const NWPriorityModelPolicyDef &src, + ::CIAO::DAnCE::NWPriorityModelPolicyDef &dest) + { + switch (src.nw_priority_model ().integral ()) + { + case NWPriorityModel::SERVER_DECLARED_NWPRIORITY_l: + dest.nw_priority_model = ::CIAO::DAnCE::SERVER_DECLARED_NWPRIORITY; + break; + + case NWPriorityModel::CLIENT_PROPAGATED_NWPRIORITY_l: + dest.nw_priority_model = ::CIAO::DAnCE::CLIENT_PROPAGATED_NWPRIORITY; + break; + + default: + ACE_ERROR ((LM_ERROR, + "Unknown priority model passed to priority_model_pd\n")); + return false; + } + + int request_array_slot = 7; + long d = dscp[request_array_slot]; + + int a = static_cast <ACE_INT16> (d); + long b = static_cast <ACE_INT32> (a); + long c = static_cast <ACE_INT32> (a); + + ACE_DEBUG ((LM_DEBUG, "numbers are %d %X %X\n", a, b, c)); + + dest.request_dscp = + static_cast <ACE_INT32> (src.request_dscp ()); + dest.reply_dscp = + static_cast <ACE_INT32> (src.reply_dscp ()); + + return true; + } + + + NWPriorityModelPolicyDef + NPM_Handler::nw_priority_model_pd ( + const ::CIAO::DAnCE::NWPriorityModelPolicyDef &src) + { + auto_ptr <NWPriorityModelPolicyDef> pmd; + + switch (src.nw_priority_model) + { + case ::CIAO::DAnCE::CLIENT_PROPAGATED_NWPRIORITY: + pmd.reset (new NWPriorityModelPolicyDef +(NWPriorityModel::CLIENT_PROPAGATED_NWPRIORITY, 0, 0)); + break; + + case ::CIAO::DAnCE::SERVER_DECLARED_NWPRIORITY: + pmd.reset (new NWPriorityModelPolicyDef +(NWPriorityModel::SERVER_DECLARED_NWPRIORITY, 0, 0)); + break; + + default: + ACE_ERROR ((LM_ERROR, + "Invalid priority model given to nw_priority_model_pd\n")); + throw 1; + } + + return *pmd; + } + + + } + +} + diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/NPM_Handler.h b/config_complex_types_1/Config_Handlers/RT-CCM/NPM_Handler.h new file mode 100755 index 00000000000..bde507ba189 --- /dev/null +++ b/config_complex_types_1/Config_Handlers/RT-CCM/NPM_Handler.h @@ -0,0 +1,45 @@ +/** + * @file NPM_Handler.h + * + * $Id$ + */ + + +#ifndef CIAO_CONFIG_HANDLERS_NPM_HANDLER_H +#define CIAO_CONFIG_HANDLERS_NPM_HANDLER_H + +#include /**/ "ace/pre.h" + +#include "RT_CCM_Handlers_Export.h" +#include "DAnCE/Deployment/CIAO_ServerResourcesC.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +namespace CIAO +{ + namespace Config_Handlers + { + class NWPriorityModelPolicyDef; + + /** + * @class NPM_Handler + * @brief Handler class for NetworkPriorityModelPolicyDefs + */ + + class RT_CCM_Handlers_Export NPM_Handler + { + public: + static bool nw_priority_model_pd (const NWPriorityModelPolicyDef &src, + ::CIAO::DAnCE::NWPriorityModelPolicyDef &dest); + + static NWPriorityModelPolicyDef nw_priority_model_pd ( + const ::CIAO::DAnCE::NWPriorityModelPolicyDef &src); + }; + } + +} + +#include /**/ "ace/post.h" +#endif /* CIAO_CONFIG_HANDLERS_NPM_HANDLER_H */ diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/PS_Handler.cpp b/config_complex_types_1/Config_Handlers/RT-CCM/PS_Handler.cpp index 95c5bb76d9d..16a2f71f40a 100644 --- a/config_complex_types_1/Config_Handlers/RT-CCM/PS_Handler.cpp +++ b/config_complex_types_1/Config_Handlers/RT-CCM/PS_Handler.cpp @@ -2,6 +2,8 @@ #include "PS_Handler.h" #include "PM_Handler.h" +#include "NPM_Handler.h" +#include "CNPM_Handler.h" #include "CIAOServerResources.hpp" namespace CIAO @@ -19,6 +21,8 @@ namespace CIAO CORBA::ULong len (dest.policies.length ()); dest.policies.length (len + src.count_priorityModel () + + src.count_nwpriorityModel () + + src.count_cnwpriorityModel () + src.count_threadpool () + src.count_priorityBandedConnection ()); @@ -33,6 +37,30 @@ namespace CIAO dest.policies[len++].PriorityModelDef (pmd); } + for (PolicySet::nwpriorityModel_const_iterator i = + src.begin_nwpriorityModel (); + i != src.end_nwpriorityModel (); + ++i) + { + ::CIAO::DAnCE::NWPriorityModelPolicyDef npmd; + + NPM_Handler::nw_priority_model_pd (*i, npmd); + + dest.policies[len++].NWPriorityModelDef (npmd); + } + + for (PolicySet::cnwpriorityModel_const_iterator i = + src.begin_cnwpriorityModel (); + i != src.end_cnwpriorityModel (); + ++i) + { + ::CIAO::DAnCE::CNWPriorityModelPolicyDef cnpmd; + + CNPM_Handler::cnw_priority_pd (*i, cnpmd); + + dest.policies[len++].CNWPriorityModelDef (cnpmd); + } + for (PolicySet::threadpool_const_iterator i = src.begin_threadpool (); i != src.end_threadpool (); ++i) @@ -55,13 +83,9 @@ namespace CIAO dest.policies[len++].PriorityBandedConnectionDef (pbc); } - - - return true; } - PolicySet PS_Handler::policy_set (const ::CIAO::DAnCE::PolicySet &src) { @@ -74,7 +98,7 @@ namespace CIAO i < src.policies.length (); ++i) { - ACE_ERROR ((LM_ERROR, + ACE_DEBUG ((LM_ERROR, "Attempting switch for i = %d\n", i)); @@ -82,7 +106,20 @@ namespace CIAO { case ::CIAO::DAnCE::PRIORITY_MODEL_POLICY_TYPE: ps.add_priorityModel ( - PM_Handler::priority_model_pd (src.policies[i].PriorityModelDef ())); + PM_Handler::priority_model_pd ( + src.policies[i].PriorityModelDef ())); + break; + + case ::CIAO::DAnCE::NETWORK_PRIORITY_TYPE: + ps.add_nwpriorityModel ( + NPM_Handler::nw_priority_model_pd ( + src.policies[i].NWPriorityModelDef ())); + break; + + case ::CIAO::DAnCE::CLIENT_NETWORK_PRIORITY_TYPE: + ps.add_cnwpriorityModel ( + CNPM_Handler::cnw_priority_pd ( + src.policies[i].CNWPriorityModelDef ())); break; case ::CIAO::DAnCE::THREADPOOL_POLICY_TYPE: @@ -90,7 +127,8 @@ namespace CIAO break; case ::CIAO::DAnCE::PRIORITY_BANDED_CONNECTION_POLICY_TYPE: - ps.add_priorityBandedConnection (src.policies[i].PriorityBandedConnectionDef ().Id.in ()); + ps.add_priorityBandedConnection ( + src.policies[i].PriorityBandedConnectionDef ().Id.in ()); break; case 0: diff --git a/config_complex_types_1/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc b/config_complex_types_1/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc index 5061a0b9ea6..707eab51c12 100644 --- a/config_complex_types_1/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc +++ b/config_complex_types_1/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc @@ -34,6 +34,8 @@ project (RT_CCM_Config_Handlers) : acelib, ciao_deployment_stub, ciao_xml_utils OR_Handler.cpp PM_Handler.cpp PS_Handler.cpp + CNPM_Handler.cpp + NPM_Handler.cpp SRD_Handler.cpp TP_Handler.cpp TPL_Handler.cpp |