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

#include <PathVisualizerBase.h>

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

Public Member Functions

 DirectiveResolver (const PathVisualization *pathVisualization, const cPacket *packet)
 
virtual const char * resolveDirective (char directive) const override
 

Protected Attributes

const PathVisualizationpathVisualization = nullptr
 
const cPacket * packet = nullptr
 

Constructor & Destructor Documentation

◆ DirectiveResolver()

inet::visualizer::PathVisualizerBase::DirectiveResolver::DirectiveResolver ( const PathVisualization pathVisualization,
const cPacket *  packet 
)
inline

Member Function Documentation

◆ resolveDirective()

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

Implements inet::StringFormat::IDirectiveResolver.

27 {
28  static std::string result;
29  switch (directive) {
30  case 'p':
31  result = std::to_string(pathVisualization->numPackets);
32  break;
33  case 'l':
34  result = pathVisualization->totalLength.str();
35  break;
36  case 'L':
37  result = pathVisualization->label;
38  break;
39  case 'n':
40  result = packet->getName();
41  break;
42  case 'c':
43  result = packet->getClassName();
44  break;
45  default:
46  throw cRuntimeError("Unknown directive: %c", directive);
47  }
48  return result.c_str();
49 }

Member Data Documentation

◆ packet

const cPacket* inet::visualizer::PathVisualizerBase::DirectiveResolver::packet = nullptr
protected

◆ pathVisualization

const PathVisualization* inet::visualizer::PathVisualizerBase::DirectiveResolver::pathVisualization = nullptr
protected

The documentation for this class was generated from the following files:
inet::units::value::str
std::string str() const
Definition: Units.h:101
inet::visualizer::PathVisualizerBase::DirectiveResolver::pathVisualization
const PathVisualization * pathVisualization
Definition: PathVisualizerBase.h:41
inet::visualizer::PathVisualizerBase::PathVisualization::label
std::string label
Definition: PathVisualizerBase.h:29
inet::visualizer::PathVisualizerBase::PathVisualization::numPackets
int numPackets
Definition: PathVisualizerBase.h:30
inet::visualizer::PathVisualizerBase::PathVisualization::totalLength
b totalLength
Definition: PathVisualizerBase.h:31
inet::visualizer::PathVisualizerBase::DirectiveResolver::packet
const cPacket * packet
Definition: PathVisualizerBase.h:42