INET Framework for OMNeT++/OMNEST
inet::InterfaceProtocolData Class Reference

Base class for protocol-specific data on an interface. More...

#include <NetworkInterface.h>

Inheritance diagram for inet::InterfaceProtocolData:
inet::TagBase inet::IPrintableObject inet::Ieee8021dInterfaceData inet::Ipv4InterfaceData inet::Ipv6InterfaceData inet::NextHopInterfaceData

Public Member Functions

 InterfaceProtocolData (int id)
 
NetworkInterfacegetNetworkInterface () const
 Returns the NetworkInterface that contains this data object, or nullptr. More...
 
- Public Member Functions inherited from inet::TagBase
virtual const Ptr< TagBasedupShared () const
 
virtual const Ptr< TagBasechangeRegion (b offsetDelta, b lengthDelta) const
 
virtual void parsimPack (cCommBuffer *buffer) const override
 
virtual void parsimUnpack (cCommBuffer *buffer) override
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags) const override
 Prints this object to the provided output stream. More...
 
virtual std::ostream & printFieldsToStream (std::ostream &stream, int level, int evFlags) const
 
virtual std::string str () const override
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Protected Member Functions

virtual void changed (simsignal_t signalID, int fieldId)
 

Protected Attributes

NetworkInterfaceownerp = nullptr
 
int id
 

Friends

class NetworkInterface
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 

Detailed Description

Base class for protocol-specific data on an interface.

Notable subclasses are Ipv4InterfaceData and Ipv6InterfaceData.

Constructor & Destructor Documentation

◆ InterfaceProtocolData()

inet::InterfaceProtocolData::InterfaceProtocolData ( int  id)
inline
62 : id(id) {}

Member Function Documentation

◆ changed()

void inet::InterfaceProtocolData::changed ( simsignal_t  signalID,
int  fieldId 
)
protectedvirtual
51 {
52  // notify the containing NetworkInterface that something changed
53  if (ownerp)
54  ownerp->changed(signalID, fieldId);
55 }

Referenced by inet::Ipv4InterfaceData::changeMulticastGroupMembership().

◆ getNetworkInterface()

NetworkInterface* inet::InterfaceProtocolData::getNetworkInterface ( ) const
inline

Returns the NetworkInterface that contains this data object, or nullptr.

67 { return ownerp; }

Referenced by inet::Ipv4InterfaceData::addMulticastListener(), and inet::Ipv4InterfaceData::removeMulticastListener().

Friends And Related Function Documentation

◆ NetworkInterface

friend class NetworkInterface
friend

Member Data Documentation

◆ id

int inet::InterfaceProtocolData::id
protected

◆ ownerp


The documentation for this class was generated from the following files:
inet::InterfaceProtocolData::ownerp
NetworkInterface * ownerp
Definition: NetworkInterface.h:54
inet::NetworkInterface::changed
virtual void changed(simsignal_t signalID, int fieldId)
Definition: NetworkInterface.cc:388
inet::InterfaceProtocolData::id
int id
Definition: NetworkInterface.h:55