11 #ifndef GI_DMTREE_ROOT_HPP
12 #define GI_DMTREE_ROOT_HPP
14 #include <boost/optional.hpp>
15 #include "opflex/modb/URIBuilder.h"
16 #include "opflex/modb/mo-internal/MO.h"
20 #include "modelgbp/relator/Universe.hpp"
24 #include "modelgbp/gbpe/VMUniverse.hpp"
28 #include "modelgbp/gbpe/TunnelEpUniverse.hpp"
32 #include "modelgbp/domain/Config.hpp"
36 #include "modelgbp/dci/Universe.hpp"
40 #include "modelgbp/dci/Discoverer.hpp"
44 #include "modelgbp/epdr/L2Discovered.hpp"
48 #include "modelgbp/epdr/L3Discovered.hpp"
52 #include "modelgbp/epr/L2Universe.hpp"
56 #include "modelgbp/epr/L3Universe.hpp"
60 #include "modelgbp/observer/EpStatUniverse.hpp"
64 #include "modelgbp/policy/Universe.hpp"
70 :
public opflex::modb::mointernal::MO
77 static const opflex::modb::class_id_t
CLASS_ID = 1;
88 static boost::shared_ptr<modelgbp::dmtree::Root>
createRootElement(opflex::ofcore::OFFramework& framework)
90 return opflex::modb::mointernal::MO::createRootElement<modelgbp::dmtree::Root>(framework,
CLASS_ID);
117 static boost::optional<boost::shared_ptr<modelgbp::dmtree::Root> >
resolve(
118 opflex::ofcore::OFFramework& framework,
119 const opflex::modb::URI& uri)
121 return opflex::modb::mointernal::MO::resolve<modelgbp::dmtree::Root>(framework,
CLASS_ID, uri);
135 static boost::optional<boost::shared_ptr<modelgbp::dmtree::Root> >
resolve(
136 const opflex::modb::URI& uri)
138 return opflex::modb::mointernal::MO::resolve<modelgbp::dmtree::Root>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID, uri);
169 boost::shared_ptr<modelgbp::relator::Universe> result = addChild<modelgbp::relator::Universe>(
170 CLASS_ID, getURI(), 2147516423ul, 7,
171 opflex::modb::URIBuilder(getURI()).addElement(
"RelatorUniverse").build()
204 boost::shared_ptr<modelgbp::gbpe::VMUniverse> result = addChild<modelgbp::gbpe::VMUniverse>(
205 CLASS_ID, getURI(), 2147516441ul, 25,
206 opflex::modb::URIBuilder(getURI()).addElement(
"GbpeVMUniverse").build()
239 boost::shared_ptr<modelgbp::gbpe::TunnelEpUniverse> result = addChild<modelgbp::gbpe::TunnelEpUniverse>(
240 CLASS_ID, getURI(), 2147516449ul, 33,
241 opflex::modb::URIBuilder(getURI()).addElement(
"GbpeTunnelEpUniverse").build()
274 boost::shared_ptr<modelgbp::domain::Config> result = addChild<modelgbp::domain::Config>(
275 CLASS_ID, getURI(), 2147516458ul, 42,
276 opflex::modb::URIBuilder(getURI()).addElement(
"DomainConfig").build()
309 boost::shared_ptr<modelgbp::dci::Universe> result = addChild<modelgbp::dci::Universe>(
310 CLASS_ID, getURI(), 2147516480ul, 64,
311 opflex::modb::URIBuilder(getURI()).addElement(
"DciUniverse").build()
344 boost::shared_ptr<modelgbp::dci::Discoverer> result = addChild<modelgbp::dci::Discoverer>(
345 CLASS_ID, getURI(), 2147516481ul, 65,
346 opflex::modb::URIBuilder(getURI()).addElement(
"DciDiscoverer").build()
379 boost::shared_ptr<modelgbp::epdr::L2Discovered> result = addChild<modelgbp::epdr::L2Discovered>(
380 CLASS_ID, getURI(), 2147516510ul, 94,
381 opflex::modb::URIBuilder(getURI()).addElement(
"EpdrL2Discovered").build()
414 boost::shared_ptr<modelgbp::epdr::L3Discovered> result = addChild<modelgbp::epdr::L3Discovered>(
415 CLASS_ID, getURI(), 2147516511ul, 95,
416 opflex::modb::URIBuilder(getURI()).addElement(
"EpdrL3Discovered").build()
449 boost::shared_ptr<modelgbp::epr::L2Universe> result = addChild<modelgbp::epr::L2Universe>(
450 CLASS_ID, getURI(), 2147516513ul, 97,
451 opflex::modb::URIBuilder(getURI()).addElement(
"EprL2Universe").build()
484 boost::shared_ptr<modelgbp::epr::L3Universe> result = addChild<modelgbp::epr::L3Universe>(
485 CLASS_ID, getURI(), 2147516514ul, 98,
486 opflex::modb::URIBuilder(getURI()).addElement(
"EprL3Universe").build()
519 boost::shared_ptr<modelgbp::observer::EpStatUniverse> result = addChild<modelgbp::observer::EpStatUniverse>(
520 CLASS_ID, getURI(), 2147516584ul, 168,
521 opflex::modb::URIBuilder(getURI()).addElement(
"ObserverEpStatUniverse").build()
554 boost::shared_ptr<modelgbp::policy::Universe> result = addChild<modelgbp::policy::Universe>(
555 CLASS_ID, getURI(), 2147516594ul, 178,
556 opflex::modb::URIBuilder(getURI()).addElement(
"PolicyUniverse").build()
571 getTLMutator().remove(
CLASS_ID, getURI());
584 static void remove(opflex::ofcore::OFFramework& framework,
585 const opflex::modb::URI& uri)
587 MO::remove(framework,
CLASS_ID, uri);
600 static void remove(
const opflex::modb::URI& uri)
602 remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
617 opflex::ofcore::OFFramework& framework,
618 opflex::modb::ObjectListener* listener)
620 opflex::modb::mointernal
621 ::MO::registerListener(framework, listener,
CLASS_ID);
636 opflex::modb::ObjectListener* listener)
648 opflex::ofcore::OFFramework& framework,
649 opflex::modb::ObjectListener* listener)
651 opflex::modb::mointernal
652 ::MO::unregisterListener(framework, listener,
CLASS_ID);
662 opflex::modb::ObjectListener* listener)
672 opflex::ofcore::OFFramework& framework,
673 const opflex::modb::URI& uri,
674 const boost::shared_ptr<const opflex::modb::mointernal::ObjectInstance>& oi)
675 : MO(framework,
CLASS_ID, uri, oi) { }
680 #endif // GI_DMTREE_ROOT_HPP
Root(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const boost::shared_ptr< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of Root.
Definition: Root.hpp:671
boost::optional< boost::shared_ptr< modelgbp::observer::EpStatUniverse > > resolveObserverEpStatUniverse()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:500
boost::optional< boost::shared_ptr< modelgbp::relator::Universe > > resolveRelatorUniverse()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:150
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition: Root.hpp:647
boost::shared_ptr< modelgbp::relator::Universe > addRelatorUniverse()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:166
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: Root.hpp:635
boost::shared_ptr< modelgbp::policy::Universe > addPolicyUniverse()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:551
boost::optional< boost::shared_ptr< modelgbp::epdr::L3Discovered > > resolveEpdrL3Discovered()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:395
static boost::optional< boost::shared_ptr< modelgbp::epr::L3Universe > > resolve()
Retrieve an instance of L3Universe from the default managed object store by constructing its URI from...
Definition: L3Universe.hpp:103
boost::shared_ptr< modelgbp::dci::Universe > addDciUniverse()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:306
static boost::shared_ptr< modelgbp::dmtree::Root > createRootElement()
Create an instance of Root, the root element in the management information tree, for the default fram...
Definition: Root.hpp:101
boost::optional< boost::shared_ptr< modelgbp::domain::Config > > resolveDomainConfig()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:255
static boost::shared_ptr< modelgbp::dmtree::Root > createRootElement(opflex::ofcore::OFFramework &framework)
Create an instance of Root, the root element in the management information tree, for the given framew...
Definition: Root.hpp:88
static boost::optional< boost::shared_ptr< modelgbp::gbpe::TunnelEpUniverse > > resolve()
Retrieve an instance of TunnelEpUniverse from the default managed object store by constructing its UR...
Definition: TunnelEpUniverse.hpp:103
static boost::optional< boost::shared_ptr< modelgbp::epdr::L3Discovered > > resolve()
Retrieve an instance of L3Discovered from the default managed object store by constructing its URI fr...
Definition: L3Discovered.hpp:103
static boost::optional< boost::shared_ptr< modelgbp::dmtree::Root > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of Root from the managed object store using the default framework instance...
Definition: Root.hpp:135
static boost::optional< boost::shared_ptr< modelgbp::relator::Universe > > resolve()
Retrieve an instance of Universe from the default managed object store by constructing its URI from t...
Definition: relator/Universe.hpp:199
boost::optional< boost::shared_ptr< modelgbp::epr::L2Universe > > resolveEprL2Universe()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:430
boost::shared_ptr< modelgbp::domain::Config > addDomainConfig()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:271
boost::optional< boost::shared_ptr< modelgbp::policy::Universe > > resolvePolicyUniverse()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:535
boost::shared_ptr< modelgbp::dci::Discoverer > addDciDiscoverer()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:341
boost::shared_ptr< modelgbp::epdr::L2Discovered > addEpdrL2Discovered()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:376
static boost::optional< boost::shared_ptr< modelgbp::domain::Config > > resolve()
Retrieve an instance of Config from the default managed object store by constructing its URI from the...
Definition: domain/Config.hpp:103
boost::optional< boost::shared_ptr< modelgbp::epdr::L2Discovered > > resolveEpdrL2Discovered()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:360
boost::optional< boost::shared_ptr< modelgbp::dci::Universe > > resolveDciUniverse()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:290
static boost::optional< boost::shared_ptr< modelgbp::dci::Discoverer > > resolve()
Retrieve an instance of Discoverer from the default managed object store by constructing its URI from...
Definition: Discoverer.hpp:167
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition: Root.hpp:661
boost::shared_ptr< modelgbp::gbpe::VMUniverse > addGbpeVMUniverse()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:201
static boost::optional< boost::shared_ptr< modelgbp::dci::Universe > > resolve()
Retrieve an instance of Universe from the default managed object store by constructing its URI from t...
Definition: dci/Universe.hpp:163
static boost::optional< boost::shared_ptr< modelgbp::epdr::L2Discovered > > resolve()
Retrieve an instance of L2Discovered from the default managed object store by constructing its URI fr...
Definition: L2Discovered.hpp:103
static boost::optional< boost::shared_ptr< modelgbp::policy::Universe > > resolve()
Retrieve an instance of Universe from the default managed object store by constructing its URI from t...
Definition: policy/Universe.hpp:111
static boost::optional< boost::shared_ptr< modelgbp::epr::L2Universe > > resolve()
Retrieve an instance of L2Universe from the default managed object store by constructing its URI from...
Definition: L2Universe.hpp:103
boost::optional< boost::shared_ptr< modelgbp::gbpe::VMUniverse > > resolveGbpeVMUniverse()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:185
boost::optional< boost::shared_ptr< modelgbp::gbpe::TunnelEpUniverse > > resolveGbpeTunnelEpUniverse()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:220
boost::shared_ptr< modelgbp::epdr::L3Discovered > addEpdrL3Discovered()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:411
boost::shared_ptr< modelgbp::observer::EpStatUniverse > addObserverEpStatUniverse()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:516
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for Root.
Definition: Root.hpp:77
boost::shared_ptr< modelgbp::epr::L3Universe > addEprL3Universe()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:481
boost::optional< boost::shared_ptr< modelgbp::epr::L3Universe > > resolveEprL3Universe()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:465
static boost::optional< boost::shared_ptr< modelgbp::observer::EpStatUniverse > > resolve()
Retrieve an instance of EpStatUniverse from the default managed object store by constructing its URI ...
Definition: EpStatUniverse.hpp:107
boost::shared_ptr< modelgbp::gbpe::TunnelEpUniverse > addGbpeTunnelEpUniverse()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:236
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: Root.hpp:616
static boost::optional< boost::shared_ptr< modelgbp::gbpe::VMUniverse > > resolve()
Retrieve an instance of VMUniverse from the default managed object store by constructing its URI from...
Definition: VMUniverse.hpp:107
static boost::optional< boost::shared_ptr< modelgbp::dmtree::Root > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of Root from the managed object store.
Definition: Root.hpp:117
boost::shared_ptr< modelgbp::epr::L2Universe > addEprL2Universe()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Root.hpp:446
boost::optional< boost::shared_ptr< modelgbp::dci::Discoverer > > resolveDciDiscoverer()
Retrieve the child object with the specified naming properties.
Definition: Root.hpp:325