modelgbp Generated OpFlex Model  1.7.0
BridgeDomain.hpp
1 
10 #pragma once
11 #ifndef GI_GBP_BRIDGEDOMAIN_HPP
12 #define GI_GBP_BRIDGEDOMAIN_HPP
13 
14 #include <boost/optional.hpp>
15 #include "opflex/modb/URIBuilder.h"
16 #include "opflex/modb/mo-internal/MO.h"
17 /*
18  * contains: item:mclass(gbpe/InstContext)
19  */
20 #include "modelgbp/gbpe/InstContext.hpp"
21 /*
22  * contains: item:mclass(gbp/EpGroupFromNetworkRTgt)
23  */
24 #include "modelgbp/gbp/EpGroupFromNetworkRTgt.hpp"
25 /*
26  * contains: item:mclass(gbp/BridgeDomainToNetworkRSrc)
27  */
28 #include "modelgbp/gbp/BridgeDomainToNetworkRSrc.hpp"
29 /*
30  * contains: item:mclass(gbp/FloodDomainFromNetworkRTgt)
31  */
32 #include "modelgbp/gbp/FloodDomainFromNetworkRTgt.hpp"
33 /*
34  * contains: item:mclass(gbp/ForwardingBehavioralGroupToSubnetsRSrc)
35  */
36 #include "modelgbp/gbp/ForwardingBehavioralGroupToSubnetsRSrc.hpp"
37 
38 namespace modelgbp {
39 namespace gbp {
40 
42  : public opflex::modb::mointernal::MO
43 {
44 public:
45 
49  static const opflex::modb::class_id_t CLASS_ID = 181;
50 
55  bool isNameSet()
56  {
57  return getObjectInstance().isSet(5931009ul, opflex::modb::PropertyInfo::STRING);
58  }
59 
64  boost::optional<const std::string&> getName()
65  {
66  if (isNameSet())
67  return getObjectInstance().getString(5931009ul);
68  return boost::none;
69  }
70 
76  const std::string& getName(const std::string& defaultValue)
77  {
78  return getName().get_value_or(defaultValue);
79  }
80 
89  modelgbp::gbp::BridgeDomain& setName(const std::string& newValue)
90  {
91  getTLMutator().modify(getClassId(), getURI())->setString(5931009ul, newValue);
92  return *this;
93  }
94 
102  {
103  getTLMutator().modify(getClassId(), getURI())->unset(5931009ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
104  return *this;
105  }
106 
112  {
113  return getObjectInstance().isSet(5931010ul, opflex::modb::PropertyInfo::ENUM8);
114  }
115 
120  boost::optional<const uint8_t> getRoutingMode()
121  {
122  if (isRoutingModeSet())
123  return (const uint8_t)getObjectInstance().getUInt64(5931010ul);
124  return boost::none;
125  }
126 
132  const uint8_t getRoutingMode(const uint8_t defaultValue)
133  {
134  return getRoutingMode().get_value_or(defaultValue);
135  }
136 
146  {
147  getTLMutator().modify(getClassId(), getURI())->setUInt64(5931010ul, newValue);
148  return *this;
149  }
150 
158  {
159  getTLMutator().modify(getClassId(), getURI())->unset(5931010ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
160  return *this;
161  }
162 
174  static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> > resolve(
175  opflex::ofcore::OFFramework& framework,
176  const opflex::modb::URI& uri)
177  {
178  return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::BridgeDomain>(framework, CLASS_ID, uri);
179  }
180 
192  static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> > resolve(
193  const opflex::modb::URI& uri)
194  {
195  return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::BridgeDomain>(opflex::ofcore::OFFramework::defaultInstance(), CLASS_ID, uri);
196  }
197 
216  static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> > resolve(
217  opflex::ofcore::OFFramework& framework,
218  const std::string& policySpaceName,
219  const std::string& gbpBridgeDomainName)
220  {
221  return resolve(framework,opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpBridgeDomain").addElement(gbpBridgeDomainName).build());
222  }
223 
241  static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> > resolve(
242  const std::string& policySpaceName,
243  const std::string& gbpBridgeDomainName)
244  {
245  return resolve(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpBridgeDomainName);
246  }
247 
257  boost::optional<OF_SHARED_PTR<modelgbp::gbpe::InstContext> > resolveGbpeInstContext(
258  )
259  {
260  return modelgbp::gbpe::InstContext::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpeInstContext").build());
261  }
262 
273  OF_SHARED_PTR<modelgbp::gbpe::InstContext> addGbpeInstContext(
274  )
275  {
276  OF_SHARED_PTR<modelgbp::gbpe::InstContext> result = addChild<modelgbp::gbpe::InstContext>(
277  CLASS_ID, getURI(), 2153414696ul, 40,
278  opflex::modb::URIBuilder(getURI()).addElement("GbpeInstContext").build()
279  );
280  return result;
281  }
282 
294  boost::optional<OF_SHARED_PTR<modelgbp::gbp::EpGroupFromNetworkRTgt> > resolveGbpEpGroupFromNetworkRTgt(
295  const std::string& gbpEpGroupFromNetworkRTgtSource)
296  {
297  return modelgbp::gbp::EpGroupFromNetworkRTgt::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpEpGroupFromNetworkRTgt").addElement(gbpEpGroupFromNetworkRTgtSource).build());
298  }
299 
312  OF_SHARED_PTR<modelgbp::gbp::EpGroupFromNetworkRTgt> addGbpEpGroupFromNetworkRTgt(
313  const std::string& gbpEpGroupFromNetworkRTgtSource)
314  {
315  OF_SHARED_PTR<modelgbp::gbp::EpGroupFromNetworkRTgt> result = addChild<modelgbp::gbp::EpGroupFromNetworkRTgt>(
316  CLASS_ID, getURI(), 2153414810ul, 154,
317  opflex::modb::URIBuilder(getURI()).addElement("GbpEpGroupFromNetworkRTgt").addElement(gbpEpGroupFromNetworkRTgtSource).build()
318  );
319  result->setSource(gbpEpGroupFromNetworkRTgtSource);
320  return result;
321  }
322 
337  void resolveGbpEpGroupFromNetworkRTgt(/* out */ std::vector<OF_SHARED_PTR<modelgbp::gbp::EpGroupFromNetworkRTgt> >& out)
338  {
339  opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromNetworkRTgt>(
340  getFramework(), CLASS_ID, getURI(), 2153414810ul, 154, out);
341  }
342 
352  boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomainToNetworkRSrc> > resolveGbpBridgeDomainToNetworkRSrc(
353  )
354  {
355  return modelgbp::gbp::BridgeDomainToNetworkRSrc::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpBridgeDomainToNetworkRSrc").build());
356  }
357 
368  OF_SHARED_PTR<modelgbp::gbp::BridgeDomainToNetworkRSrc> addGbpBridgeDomainToNetworkRSrc(
369  )
370  {
371  OF_SHARED_PTR<modelgbp::gbp::BridgeDomainToNetworkRSrc> result = addChild<modelgbp::gbp::BridgeDomainToNetworkRSrc>(
372  CLASS_ID, getURI(), 2153414838ul, 182,
373  opflex::modb::URIBuilder(getURI()).addElement("GbpBridgeDomainToNetworkRSrc").build()
374  );
375  return result;
376  }
377 
389  boost::optional<OF_SHARED_PTR<modelgbp::gbp::FloodDomainFromNetworkRTgt> > resolveGbpFloodDomainFromNetworkRTgt(
390  const std::string& gbpFloodDomainFromNetworkRTgtSource)
391  {
392  return modelgbp::gbp::FloodDomainFromNetworkRTgt::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpFloodDomainFromNetworkRTgt").addElement(gbpFloodDomainFromNetworkRTgtSource).build());
393  }
394 
407  OF_SHARED_PTR<modelgbp::gbp::FloodDomainFromNetworkRTgt> addGbpFloodDomainFromNetworkRTgt(
408  const std::string& gbpFloodDomainFromNetworkRTgtSource)
409  {
410  OF_SHARED_PTR<modelgbp::gbp::FloodDomainFromNetworkRTgt> result = addChild<modelgbp::gbp::FloodDomainFromNetworkRTgt>(
411  CLASS_ID, getURI(), 2153414843ul, 187,
412  opflex::modb::URIBuilder(getURI()).addElement("GbpFloodDomainFromNetworkRTgt").addElement(gbpFloodDomainFromNetworkRTgtSource).build()
413  );
414  result->setSource(gbpFloodDomainFromNetworkRTgtSource);
415  return result;
416  }
417 
432  void resolveGbpFloodDomainFromNetworkRTgt(/* out */ std::vector<OF_SHARED_PTR<modelgbp::gbp::FloodDomainFromNetworkRTgt> >& out)
433  {
434  opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::FloodDomainFromNetworkRTgt>(
435  getFramework(), CLASS_ID, getURI(), 2153414843ul, 187, out);
436  }
437 
447  boost::optional<OF_SHARED_PTR<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc> > resolveGbpForwardingBehavioralGroupToSubnetsRSrc(
448  )
449  {
450  return modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpForwardingBehavioralGroupToSubnetsRSrc").build());
451  }
452 
463  OF_SHARED_PTR<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc> addGbpForwardingBehavioralGroupToSubnetsRSrc(
464  )
465  {
466  OF_SHARED_PTR<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc> result = addChild<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc>(
467  CLASS_ID, getURI(), 2153414855ul, 199,
468  opflex::modb::URIBuilder(getURI()).addElement("GbpForwardingBehavioralGroupToSubnetsRSrc").build()
469  );
470  return result;
471  }
472 
481  void remove()
482  {
483  getTLMutator().remove(CLASS_ID, getURI());
484  }
485 
496  static void remove(opflex::ofcore::OFFramework& framework,
497  const opflex::modb::URI& uri)
498  {
499  MO::remove(framework, CLASS_ID, uri);
500  }
501 
512  static void remove(const opflex::modb::URI& uri)
513  {
514  remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
515  }
516 
533  static void remove(
534  opflex::ofcore::OFFramework& framework,
535  const std::string& policySpaceName,
536  const std::string& gbpBridgeDomainName)
537  {
538  MO::remove(framework, CLASS_ID, opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpBridgeDomain").addElement(gbpBridgeDomainName).build());
539  }
540 
557  static void remove(
558  const std::string& policySpaceName,
559  const std::string& gbpBridgeDomainName)
560  {
561  remove(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpBridgeDomainName);
562  }
563 
575  static void registerListener(
576  opflex::ofcore::OFFramework& framework,
577  opflex::modb::ObjectListener* listener)
578  {
579  opflex::modb::mointernal
580  ::MO::registerListener(framework, listener, CLASS_ID);
581  }
582 
594  static void registerListener(
595  opflex::modb::ObjectListener* listener)
596  {
597  registerListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
598  }
599 
606  static void unregisterListener(
607  opflex::ofcore::OFFramework& framework,
608  opflex::modb::ObjectListener* listener)
609  {
610  opflex::modb::mointernal
611  ::MO::unregisterListener(framework, listener, CLASS_ID);
612  }
613 
620  static void unregisterListener(
621  opflex::modb::ObjectListener* listener)
622  {
623  unregisterListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
624  }
625 
631  opflex::ofcore::OFFramework& framework,
632  const opflex::modb::URI& uri,
633  const OF_SHARED_PTR<const opflex::modb::mointernal::ObjectInstance>& oi)
634  : MO(framework, CLASS_ID, uri, oi) { }
635 }; // class BridgeDomain
636 
637 } // namespace gbp
638 } // namespace modelgbp
639 #endif // GI_GBP_BRIDGEDOMAIN_HPP
bool isNameSet()
Check whether name has been set.
Definition: BridgeDomain.hpp:55
OF_SHARED_PTR< modelgbp::gbp::BridgeDomainToNetworkRSrc > addGbpBridgeDomainToNetworkRSrc()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:368
modelgbp::gbp::BridgeDomain & unsetRoutingMode()
Unset routingMode in the currently-active mutator.
Definition: BridgeDomain.hpp:157
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(const std::string &policySpaceName, const std::string &gbpBridgeDomainName)
Retrieve an instance of BridgeDomain from the default managed object store by constructing its URI fr...
Definition: BridgeDomain.hpp:241
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition: BridgeDomain.hpp:606
modelgbp::gbp::BridgeDomain & setRoutingMode(const uint8_t newValue)
Set routingMode to the specified value in the currently-active mutator.
Definition: BridgeDomain.hpp:145
static boost::optional< OF_SHARED_PTR< modelgbp::gbpe::InstContext > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of InstContext from the managed object store.
Definition: InstContext.hpp:210
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of ForwardingBehavioralGroupToSubnetsRSrc from the managed object store...
Definition: ForwardingBehavioralGroupToSubnetsRSrc.hpp:257
boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > > resolveGbpFloodDomainFromNetworkRTgt(const std::string &gbpFloodDomainFromNetworkRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:389
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of EpGroupFromNetworkRTgt from the managed object store.
Definition: EpGroupFromNetworkRTgt.hpp:210
boost::optional< OF_SHARED_PTR< modelgbp::gbpe::InstContext > > resolveGbpeInstContext()
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:257
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition: BridgeDomain.hpp:64
OF_SHARED_PTR< modelgbp::gbpe::InstContext > addGbpeInstContext()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:273
Definition: BridgeDomain.hpp:41
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomainToNetworkRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of BridgeDomainToNetworkRSrc from the managed object store.
Definition: BridgeDomainToNetworkRSrc.hpp:257
boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > resolveGbpEpGroupFromNetworkRTgt(const std::string &gbpEpGroupFromNetworkRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:294
const uint8_t getRoutingMode(const uint8_t defaultValue)
Get the value of routingMode if set, otherwise the value of default passed in.
Definition: BridgeDomain.hpp:132
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for BridgeDomain.
Definition: BridgeDomain.hpp:49
boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomainToNetworkRSrc > > resolveGbpBridgeDomainToNetworkRSrc()
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:352
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: BridgeDomain.hpp:594
boost::optional< const uint8_t > getRoutingMode()
Get the value of routingMode if it has been set.
Definition: BridgeDomain.hpp:120
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpBridgeDomainName)
Retrieve an instance of BridgeDomain from the managed object store by constructing its URI from the p...
Definition: BridgeDomain.hpp:216
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of FloodDomainFromNetworkRTgt from the managed object store. ...
Definition: FloodDomainFromNetworkRTgt.hpp:210
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition: BridgeDomain.hpp:76
modelgbp::gbp::BridgeDomain & unsetName()
Unset name in the currently-active mutator.
Definition: BridgeDomain.hpp:101
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of BridgeDomain from the managed object store.
Definition: BridgeDomain.hpp:174
void resolveGbpFloodDomainFromNetworkRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::FloodDomainFromNetworkRTgt...
Definition: BridgeDomain.hpp:432
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of BridgeDomain from the managed object store using the default framework instan...
Definition: BridgeDomain.hpp:192
OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > addGbpForwardingBehavioralGroupToSubnetsRSrc()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:463
OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > addGbpFloodDomainFromNetworkRTgt(const std::string &gbpFloodDomainFromNetworkRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:407
bool isRoutingModeSet()
Check whether routingMode has been set.
Definition: BridgeDomain.hpp:111
OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > addGbpEpGroupFromNetworkRTgt(const std::string &gbpEpGroupFromNetworkRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:312
BridgeDomain(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of BridgeDomain.
Definition: BridgeDomain.hpp:630
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition: BridgeDomain.hpp:620
modelgbp::gbp::BridgeDomain & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition: BridgeDomain.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: BridgeDomain.hpp:575
boost::optional< OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > > resolveGbpForwardingBehavioralGroupToSubnetsRSrc()
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:447
void resolveGbpEpGroupFromNetworkRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::EpGroupFromNetworkRTgt.
Definition: BridgeDomain.hpp:337