11 #ifndef GI_SPAN_DSTGRP_HPP
12 #define GI_SPAN_DSTGRP_HPP
14 #include <boost/optional.hpp>
15 #include "opflex/modb/URIBuilder.h"
16 #include "opflex/modb/mo-internal/MO.h"
20 #include "modelgbp/span/SrcMember.hpp"
24 #include "modelgbp/span/DstMember.hpp"
30 :
public opflex::modb::mointernal::MO
37 static const opflex::modb::class_id_t
CLASS_ID = 51;
45 return getObjectInstance().isSet(1671169ul, opflex::modb::PropertyInfo::STRING);
52 boost::optional<const std::string&>
getName()
55 return getObjectInstance().getString(1671169ul);
64 const std::string&
getName(
const std::string& defaultValue)
66 return getName().get_value_or(defaultValue);
79 getTLMutator().modify(getClassId(), getURI())->setString(1671169ul, newValue);
91 getTLMutator().modify(getClassId(), getURI())->unset(1671169ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
106 static boost::optional<boost::shared_ptr<modelgbp::span::DstGrp> >
resolve(
107 opflex::ofcore::OFFramework& framework,
108 const opflex::modb::URI& uri)
110 return opflex::modb::mointernal::MO::resolve<modelgbp::span::DstGrp>(framework,
CLASS_ID, uri);
124 static boost::optional<boost::shared_ptr<modelgbp::span::DstGrp> >
resolve(
125 const opflex::modb::URI& uri)
127 return opflex::modb::mointernal::MO::resolve<modelgbp::span::DstGrp>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID, uri);
148 static boost::optional<boost::shared_ptr<modelgbp::span::DstGrp> >
resolve(
149 opflex::ofcore::OFFramework& framework,
150 const std::string& platformConfigName,
151 const std::string& spanDstGrpName)
153 return resolve(framework,opflex::modb::URIBuilder().addElement(
"PolicyUniverse").addElement(
"PlatformConfig").addElement(platformConfigName).addElement(
"SpanDstGrp").addElement(spanDstGrpName).build());
173 static boost::optional<boost::shared_ptr<modelgbp::span::DstGrp> >
resolve(
174 const std::string& platformConfigName,
175 const std::string& spanDstGrpName)
177 return resolve(opflex::ofcore::OFFramework::defaultInstance(),platformConfigName,spanDstGrpName);
192 const std::string& spanSrcMemberName)
210 const std::string& spanSrcMemberName)
212 boost::shared_ptr<modelgbp::span::SrcMember> result = addChild<modelgbp::span::SrcMember>(
213 CLASS_ID, getURI(), 2149154876ul, 60,
214 opflex::modb::URIBuilder(getURI()).addElement(
"SpanSrcMember").addElement(spanSrcMemberName).build()
216 result->setName(spanSrcMemberName);
236 opflex::modb::mointernal::MO::resolveChildren<modelgbp::span::SrcMember>(
237 getFramework(),
CLASS_ID, getURI(), 2149154876ul, 60, out);
252 const std::string& spanDstMemberName)
270 const std::string& spanDstMemberName)
272 boost::shared_ptr<modelgbp::span::DstMember> result = addChild<modelgbp::span::DstMember>(
273 CLASS_ID, getURI(), 2149154877ul, 61,
274 opflex::modb::URIBuilder(getURI()).addElement(
"SpanDstMember").addElement(spanDstMemberName).build()
276 result->setName(spanDstMemberName);
296 opflex::modb::mointernal::MO::resolveChildren<modelgbp::span::DstMember>(
297 getFramework(),
CLASS_ID, getURI(), 2149154877ul, 61, out);
310 getTLMutator().remove(
CLASS_ID, getURI());
323 static void remove(opflex::ofcore::OFFramework& framework,
324 const opflex::modb::URI& uri)
326 MO::remove(framework,
CLASS_ID, uri);
339 static void remove(
const opflex::modb::URI& uri)
341 remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
361 opflex::ofcore::OFFramework& framework,
362 const std::string& platformConfigName,
363 const std::string& spanDstGrpName)
365 MO::remove(framework,
CLASS_ID, opflex::modb::URIBuilder().addElement(
"PolicyUniverse").addElement(
"PlatformConfig").addElement(platformConfigName).addElement(
"SpanDstGrp").addElement(spanDstGrpName).build());
385 const std::string& platformConfigName,
386 const std::string& spanDstGrpName)
388 remove(opflex::ofcore::OFFramework::defaultInstance(),platformConfigName,spanDstGrpName);
403 opflex::ofcore::OFFramework& framework,
404 opflex::modb::ObjectListener* listener)
406 opflex::modb::mointernal
407 ::MO::registerListener(framework, listener,
CLASS_ID);
422 opflex::modb::ObjectListener* listener)
434 opflex::ofcore::OFFramework& framework,
435 opflex::modb::ObjectListener* listener)
437 opflex::modb::mointernal
438 ::MO::unregisterListener(framework, listener,
CLASS_ID);
448 opflex::modb::ObjectListener* listener)
458 opflex::ofcore::OFFramework& framework,
459 const opflex::modb::URI& uri,
460 const boost::shared_ptr<const opflex::modb::mointernal::ObjectInstance>& oi)
461 : MO(framework,
CLASS_ID, uri, oi) { }
466 #endif // GI_SPAN_DSTGRP_HPP
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition: DstGrp.hpp:52
modelgbp::span::DstGrp & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition: DstGrp.hpp:77
static boost::optional< boost::shared_ptr< modelgbp::span::DstGrp > > resolve(opflex::ofcore::OFFramework &framework, const std::string &platformConfigName, const std::string &spanDstGrpName)
Retrieve an instance of DstGrp from the managed object store by constructing its URI from the path el...
Definition: DstGrp.hpp:148
boost::shared_ptr< modelgbp::span::SrcMember > addSpanSrcMember(const std::string &spanSrcMemberName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: DstGrp.hpp:209
boost::optional< boost::shared_ptr< modelgbp::span::DstMember > > resolveSpanDstMember(const std::string &spanDstMemberName)
Retrieve the child object with the specified naming properties.
Definition: DstGrp.hpp:251
void resolveSpanDstMember(std::vector< boost::shared_ptr< modelgbp::span::DstMember > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::span::DstMember.
Definition: DstGrp.hpp:294
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for DstGrp.
Definition: DstGrp.hpp:37
static boost::optional< boost::shared_ptr< modelgbp::span::DstGrp > > resolve(const std::string &platformConfigName, const std::string &spanDstGrpName)
Retrieve an instance of DstGrp from the default managed object store by constructing its URI from the...
Definition: DstGrp.hpp:173
modelgbp::span::DstGrp & unsetName()
Unset name in the currently-active mutator.
Definition: DstGrp.hpp:89
static void registerListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Register a listener that will get called for changes related to this class.
Definition: DstGrp.hpp:402
void resolveSpanSrcMember(std::vector< boost::shared_ptr< modelgbp::span::SrcMember > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::span::SrcMember.
Definition: DstGrp.hpp:234
Definition: DstGrp.hpp:29
static boost::optional< boost::shared_ptr< modelgbp::span::SrcMember > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of SrcMember from the managed object store.
Definition: SrcMember.hpp:158
static boost::optional< boost::shared_ptr< modelgbp::span::DstGrp > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of DstGrp from the managed object store.
Definition: DstGrp.hpp:106
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition: DstGrp.hpp:447
static boost::optional< boost::shared_ptr< modelgbp::span::DstGrp > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of DstGrp from the managed object store using the default framework instance...
Definition: DstGrp.hpp:124
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition: DstGrp.hpp:433
static boost::optional< boost::shared_ptr< modelgbp::span::DstMember > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of DstMember from the managed object store.
Definition: DstMember.hpp:106
DstGrp(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const boost::shared_ptr< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of DstGrp.
Definition: DstGrp.hpp:457
bool isNameSet()
Check whether name has been set.
Definition: DstGrp.hpp:43
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition: DstGrp.hpp:64
boost::shared_ptr< modelgbp::span::DstMember > addSpanDstMember(const std::string &spanDstMemberName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: DstGrp.hpp:269
boost::optional< boost::shared_ptr< modelgbp::span::SrcMember > > resolveSpanSrcMember(const std::string &spanSrcMemberName)
Retrieve the child object with the specified naming properties.
Definition: DstGrp.hpp:191
static void registerListener(opflex::modb::ObjectListener *listener)
Register a listener that will get called for changes related to this class with the default framework...
Definition: DstGrp.hpp:421