INET Framework for OMNeT++/OMNEST
inet::GateScheduleConfiguratorBase::Input Class Reference

#include <GateScheduleConfiguratorBase.h>

Classes

class  Application
 
class  Device
 
class  Flow
 
class  NetworkNode
 
class  PathFragment
 
class  Port
 
class  Switch
 

Public Member Functions

 ~Input ()
 
DevicefindDevice (cModule *module)
 
DevicegetDevice (cModule *module)
 
PortfindPort (cModule *module)
 
PortgetPort (cModule *module)
 
NetworkNodefindNetworkNode (cModule *module)
 
NetworkNodegetNetworkNode (cModule *module)
 

Public Attributes

std::vector< Device * > devices
 
std::vector< Application * > applications
 
std::vector< Port * > ports
 
std::vector< Switch * > switches
 
std::vector< Flow * > flows
 
std::vector< NetworkNode * > networkNodes
 

Constructor & Destructor Documentation

◆ ~Input()

inet::GateScheduleConfiguratorBase::Input::~Input ( )
inline
107  {
108  for (auto device : devices) delete device;
109  for (auto application : applications) delete application;
110  for (auto port : ports) delete port;
111  for (auto switch_ : switches) delete switch_;
112  for (auto flow : flows) delete flow;
113  }

Member Function Documentation

◆ findDevice()

Device* inet::GateScheduleConfiguratorBase::Input::findDevice ( cModule *  module)
inline
115  {
116  auto it = std::find_if(devices.begin(), devices.end(), [&] (const Device *device) {
117  return device->module == module;
118  });
119  return it != devices.end() ? *it : nullptr;
120  }

◆ findNetworkNode()

NetworkNode* inet::GateScheduleConfiguratorBase::Input::findNetworkNode ( cModule *  module)
inline
143  {
144  auto it = std::find_if(networkNodes.begin(), networkNodes.end(), [&] (const NetworkNode *networkNode) {
145  return networkNode->module == module;
146  });
147  return it != networkNodes.end() ? *it : nullptr;
148  }

◆ findPort()

Port* inet::GateScheduleConfiguratorBase::Input::findPort ( cModule *  module)
inline
129  {
130  auto it = std::find_if(ports.begin(), ports.end(), [&] (const Port *port) {
131  return port->module == module;
132  });
133  return it != ports.end() ? *it : nullptr;
134  }

◆ getDevice()

Device* inet::GateScheduleConfiguratorBase::Input::getDevice ( cModule *  module)
inline
121  {
122  auto device = findDevice(module);
123  if (device == nullptr)
124  throw cRuntimeError("Cannot find device");
125  else
126  return device;
127  }

Referenced by inet::GateScheduleConfiguratorBase::addFlows().

◆ getNetworkNode()

NetworkNode* inet::GateScheduleConfiguratorBase::Input::getNetworkNode ( cModule *  module)
inline
149  {
150  auto networkNode = findNetworkNode(module);
151  if (networkNode == nullptr)
152  throw cRuntimeError("Cannot find network node");
153  else
154  return networkNode;
155  }

Referenced by inet::GateScheduleConfiguratorBase::addPorts().

◆ getPort()

Port* inet::GateScheduleConfiguratorBase::Input::getPort ( cModule *  module)
inline
135  {
136  auto port = findPort(module);
137  if (port == nullptr)
138  throw cRuntimeError("Cannot find port");
139  else
140  return port;
141  }

Referenced by inet::GateScheduleConfiguratorBase::configureGateScheduling().

Member Data Documentation

◆ applications

◆ devices

std::vector<Device *> inet::GateScheduleConfiguratorBase::Input::devices

◆ flows

◆ networkNodes

◆ ports

◆ switches


The documentation for this class was generated from the following file:
inet::GateScheduleConfiguratorBase::Input::ports
std::vector< Port * > ports
Definition: GateScheduleConfiguratorBase.h:101
inet::GateScheduleConfiguratorBase::Input::findDevice
Device * findDevice(cModule *module)
Definition: GateScheduleConfiguratorBase.h:115
inet::GateScheduleConfiguratorBase::Input::switches
std::vector< Switch * > switches
Definition: GateScheduleConfiguratorBase.h:102
inet::GateScheduleConfiguratorBase::Input::devices
std::vector< Device * > devices
Definition: GateScheduleConfiguratorBase.h:99
inet::GateScheduleConfiguratorBase::Input::applications
std::vector< Application * > applications
Definition: GateScheduleConfiguratorBase.h:100
inet::GateScheduleConfiguratorBase::Input::findNetworkNode
NetworkNode * findNetworkNode(cModule *module)
Definition: GateScheduleConfiguratorBase.h:143
inet::GateScheduleConfiguratorBase::Input::findPort
Port * findPort(cModule *module)
Definition: GateScheduleConfiguratorBase.h:129
inet::GateScheduleConfiguratorBase::Input::networkNodes
std::vector< NetworkNode * > networkNodes
Definition: GateScheduleConfiguratorBase.h:104
inet::GateScheduleConfiguratorBase::Input::flows
std::vector< Flow * > flows
Definition: GateScheduleConfiguratorBase.h:103