INET Framework for OMNeT++/OMNEST
inet::physicallayer::Ieee80211OFDMEncoderModule Class Reference

#include <Ieee80211OFDMEncoderModule.h>

Inheritance diagram for inet::physicallayer::Ieee80211OFDMEncoderModule:
inet::physicallayer::IEncoder inet::physicallayer::IPrintableObject

Public Member Functions

virtual ~Ieee80211OFDMEncoderModule ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level) const override
 Prints this object to the provided output stream. More...
 
const Ieee80211OFDMCodegetCode () const override
 
virtual const ITransmissionBitModelencode (const ITransmissionPacketModel *packetModel) const override
 
- Public Member Functions inherited from inet::physicallayer::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string getInfoStringRepresentation () const
 
virtual std::string getDetailStringRepresentation () const
 
virtual std::string getDebugStringRepresentation () const
 
virtual std::string getTraceStringRepresentation () const
 
virtual std::string getCompleteStringRepresentation () const
 

Protected Member Functions

virtual int numInitStages () const override
 
virtual void initialize (int stage) override
 
virtual void handleMessage (cMessage *msg) override
 

Protected Attributes

const Ieee80211OFDMEncoderencoder = nullptr
 
const IScramblerscrambler = nullptr
 
const IFECCoderconvolutionalCoder = nullptr
 
const IInterleaverinterleaver = nullptr
 
const Ieee80211OFDMCodecode = nullptr
 

Additional Inherited Members

- Public Types inherited from inet::physicallayer::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 

Constructor & Destructor Documentation

inet::physicallayer::Ieee80211OFDMEncoderModule::~Ieee80211OFDMEncoderModule ( )
virtual
48 {
49  delete code;
50  delete encoder;
51 }
const Ieee80211OFDMEncoder * encoder
Definition: Ieee80211OFDMEncoderModule.h:30
const Ieee80211OFDMCode * code
Definition: Ieee80211OFDMEncoderModule.h:34

Member Function Documentation

const ITransmissionBitModel * inet::physicallayer::Ieee80211OFDMEncoderModule::encode ( const ITransmissionPacketModel packetModel) const
overridevirtual

Implements inet::physicallayer::IEncoder.

43 {
44  return encoder->encode(packetModel);
45 }
const Ieee80211OFDMEncoder * encoder
Definition: Ieee80211OFDMEncoderModule.h:30
virtual const ITransmissionBitModel * encode(const ITransmissionPacketModel *packetModel) const override
Definition: Ieee80211OFDMEncoder.cc:45
const Ieee80211OFDMCode* inet::physicallayer::Ieee80211OFDMEncoderModule::getCode ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IEncoder.

Referenced by inet::physicallayer::Ieee80211LayeredOFDMTransmitter::computeMode().

45 { return code; }
const Ieee80211OFDMCode * code
Definition: Ieee80211OFDMEncoderModule.h:34
virtual void inet::physicallayer::Ieee80211OFDMEncoderModule::handleMessage ( cMessage *  msg)
inlineoverrideprotectedvirtual
39 { throw cRuntimeError("This module doesn't handle self messages"); }
void inet::physicallayer::Ieee80211OFDMEncoderModule::initialize ( int  stage)
overrideprotectedvirtual
27 {
28  if (stage == INITSTAGE_LOCAL) {
29  scrambler = dynamic_cast<IScrambler *>(getSubmodule("scrambler"));
30  convolutionalCoder = dynamic_cast<IFECCoder *>(getSubmodule("fecEncoder"));
31  interleaver = dynamic_cast<IInterleaver *>(getSubmodule("interleaver"));
32  }
33  else if (stage == INITSTAGE_PHYSICAL_LAYER) {
34  const ConvolutionalCode *convolutionalCode = convolutionalCoder? check_and_cast<const ConvolutionalCode *>(convolutionalCoder->getForwardErrorCorrection()) : nullptr;
35  const Ieee80211OFDMInterleaving *interleaving = interleaver ? check_and_cast<const Ieee80211OFDMInterleaving *>(interleaver->getInterleaving()) : nullptr;
36  const AdditiveScrambling *scrambling = scrambler ? check_and_cast<const AdditiveScrambling *>(scrambler->getScrambling()) : nullptr;
37  code = new Ieee80211OFDMCode(convolutionalCode, interleaving, scrambling);
38  encoder = new Ieee80211OFDMEncoder(code);
39  }
40 }
const IFECCoder * convolutionalCoder
Definition: Ieee80211OFDMEncoderModule.h:32
Initialization of the physical layer of protocol stacks.
Definition: InitStages.h:53
virtual const IInterleaving * getInterleaving() const =0
virtual const IScrambling * getScrambling() const =0
Local initializations.
Definition: InitStages.h:35
virtual const IForwardErrorCorrection * getForwardErrorCorrection() const =0
const Ieee80211OFDMEncoder * encoder
Definition: Ieee80211OFDMEncoderModule.h:30
const IInterleaver * interleaver
Definition: Ieee80211OFDMEncoderModule.h:33
const IScrambler * scrambler
Definition: Ieee80211OFDMEncoderModule.h:31
const Ieee80211OFDMCode * code
Definition: Ieee80211OFDMEncoderModule.h:34
virtual int inet::physicallayer::Ieee80211OFDMEncoderModule::numInitStages ( ) const
inlineoverrideprotectedvirtual
37 { return NUM_INIT_STAGES; }
The number of initialization stages.
Definition: InitStages.h:116
virtual std::ostream& inet::physicallayer::Ieee80211OFDMEncoderModule::printToStream ( std::ostream &  stream,
int  level 
) const
inlineoverridevirtual

Prints this object to the provided output stream.

Function calls to operator<< with pointers or references either const or not are all forwarded to this function.

Reimplemented from inet::physicallayer::IPrintableObject.

44 { return encoder->printToStream(stream, level); }
virtual std::ostream & printToStream(std::ostream &stream, int level) const override
Prints this object to the provided output stream.
Definition: Ieee80211OFDMEncoder.cc:34
const Ieee80211OFDMEncoder * encoder
Definition: Ieee80211OFDMEncoderModule.h:30

Member Data Documentation

const Ieee80211OFDMCode* inet::physicallayer::Ieee80211OFDMEncoderModule::code = nullptr
protected
const IFECCoder* inet::physicallayer::Ieee80211OFDMEncoderModule::convolutionalCoder = nullptr
protected

Referenced by initialize().

const Ieee80211OFDMEncoder* inet::physicallayer::Ieee80211OFDMEncoderModule::encoder = nullptr
protected
const IInterleaver* inet::physicallayer::Ieee80211OFDMEncoderModule::interleaver = nullptr
protected

Referenced by initialize().

const IScrambler* inet::physicallayer::Ieee80211OFDMEncoderModule::scrambler = nullptr
protected

Referenced by initialize().


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