INET Framework for OMNeT++/OMNEST
inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver Class Reference

#include <RoutingTableVisualizerBase.h>

Inheritance diagram for inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver:
inet::visualizer::StringFormat::IDirectiveResolver

Public Member Functions

 DirectiveResolver (const IPv4Route *route)
 
virtual const char * resolveDirective (char directive) override
 

Protected Attributes

const IPv4Routeroute = nullptr
 
std::string result
 

Constructor & Destructor Documentation

inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::DirectiveResolver ( const IPv4Route route)
inline
52 : route(route) { }
const IPv4Route * route
Definition: RoutingTableVisualizerBase.h:48

Member Function Documentation

const char * inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::resolveDirective ( char  directive)
overridevirtual

Implements inet::visualizer::StringFormat::IDirectiveResolver.

36 {
37  switch (directive) {
38  case 'm':
39  result = route->getNetmask().isUnspecified() ? "*" : std::to_string(route->getNetmask().getNetmaskLength());
40  break;
41  case 'g':
43  break;
44  case 'd':
46  break;
47  case 'n':
48  result = route->getInterface()->getName();
49  break;
50  case 'i':
51  result = route->info();
52  break;
53  case 's':
54  result = route->str();
55  break;
56  default:
57  throw cRuntimeError("Unknown directive: %c", directive);
58  }
59  return result.c_str();
60 }
bool isUnspecified() const
True if all four address bytes are zero.
Definition: IPv4Address.h:176
std::string str(bool printUnspec=true) const
Returns the string representation of the address (e.g.
Definition: IPv4Address.cc:109
const IPv4Route * route
Definition: RoutingTableVisualizerBase.h:48
std::string result
Definition: RoutingTableVisualizerBase.h:49
virtual std::string info() const override
Definition: IPv4Route.cc:42
IPv4Address getGateway() const
Next hop address.
Definition: IPv4Route.h:111
InterfaceEntry * getInterface() const override
Next hop interface.
Definition: IPv4Route.h:114
int getNetmaskLength() const
Counts 1 bits in a netmask.
Definition: IPv4Address.cc:245
IPv4Address getDestination() const
Destination address prefix to match.
Definition: IPv4Route.h:105
IPv4Address getNetmask() const
Represents length of prefix to match.
Definition: IPv4Route.h:108

Member Data Documentation

std::string inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::result
protected
const IPv4Route* inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::route = nullptr
protected

The documentation for this class was generated from the following files: