| 
    INET Framework for OMNeT++/OMNEST
    
   | 
 
Class generated from inet/networklayer/ipv4/IGMPMessage.msg:90 by nedtool.  
 More...
#include <IGMPMessage_m.h>
  
 Public Member Functions | |
| virtual | ~IGMPv3Query_Base () | 
| virtual IGMPv3Query_Base * | dup () const override | 
| virtual void | parsimPack (omnetpp::cCommBuffer *b) const override | 
| virtual void | parsimUnpack (omnetpp::cCommBuffer *b) override | 
| virtual bool | getSuppressRouterProc () const | 
| virtual void | setSuppressRouterProc (bool suppressRouterProc) | 
| virtual unsigned char | getRobustnessVariable () const | 
| virtual void | setRobustnessVariable (unsigned char robustnessVariable) | 
| virtual unsigned char | getQueryIntervalCode () const | 
| virtual void | setQueryIntervalCode (unsigned char queryIntervalCode) | 
| virtual IPv4AddressVector & | getSourceList () | 
| virtual const IPv4AddressVector & | getSourceList () const | 
| virtual void | setSourceList (const IPv4AddressVector &sourceList) | 
| virtual unsigned char | getMaxRespCode () const =0 | 
| virtual void | setMaxRespCode (unsigned char maxRespCode)=0 | 
  Public Member Functions inherited from inet::IGMPv2Query | |
| IGMPv2Query (const char *name=nullptr, short kind=0) | |
| IGMPv2Query (const IGMPv2Query &other) | |
| virtual | ~IGMPv2Query () | 
| IGMPv2Query & | operator= (const IGMPv2Query &other) | 
| virtual unsigned char | getMaxRespTime () const | 
| virtual void | setMaxRespTime (unsigned char maxRespTime) | 
  Public Member Functions inherited from inet::IGMPQuery | |
| IGMPQuery (const char *name=nullptr, short kind=0) | |
| IGMPQuery (const IGMPQuery &other) | |
| virtual | ~IGMPQuery () | 
| IGMPQuery & | operator= (const IGMPQuery &other) | 
| virtual IPv4Address & | getGroupAddress () | 
| virtual const IPv4Address & | getGroupAddress () const | 
| virtual void | setGroupAddress (const IPv4Address &groupAddress) | 
Protected Member Functions | |
| bool | operator== (const IGMPv3Query_Base &) | 
| IGMPv3Query_Base (const char *name=nullptr, short kind=0) | |
| IGMPv3Query_Base (const IGMPv3Query_Base &other) | |
| IGMPv3Query_Base & | operator= (const IGMPv3Query_Base &other) | 
  Protected Member Functions inherited from inet::IGMPv2Query | |
| bool | operator== (const IGMPv2Query &) | 
  Protected Member Functions inherited from inet::IGMPQuery | |
| bool | operator== (const IGMPQuery &) | 
Protected Attributes | |
| bool | suppressRouterProc | 
| unsigned char | robustnessVariable | 
| unsigned char | queryIntervalCode | 
| IPv4AddressVector | sourceList | 
  Protected Attributes inherited from inet::IGMPv2Query | |
| unsigned char | maxRespTime | 
  Protected Attributes inherited from inet::IGMPQuery | |
| IPv4Address | groupAddress | 
Private Member Functions | |
| void | copy (const IGMPv3Query_Base &other) | 
Class generated from inet/networklayer/ipv4/IGMPMessage.msg:90 by nedtool. 
// // IGMPv3Query extends IGMPv2Query, because // IGMPv2 routers must accept IGMPv3Query packets. // // Note: in IGMPv3Query the maxResponseTime field is // renamed to maxResponseCode and it is interpreted // differently than in IGMPv2. packet IGMPv3Query extends IGMPv2Query { @customize(true); bool suppressRouterProc; unsigned char robustnessVariable; unsigned char queryIntervalCode; IPv4AddressVector sourceList; abstract unsigned char maxRespCode; }
IGMPv3Query_Base is only useful if it gets subclassed, and IGMPv3Query is derived from it. The minimum code to be written for IGMPv3Query is the following:
class INET_API IGMPv3Query : public IGMPv3Query_Base { private: void copy(const IGMPv3Query& other) { ... }
  public:
    IGMPv3Query(const char *name=nullptr, short kind=0) : IGMPv3Query_Base(name,kind) {}
    IGMPv3Query(const IGMPv3Query& other) : IGMPv3Query_Base(other) {copy(other);}
    IGMPv3Query& operator=(const IGMPv3Query& other) {if (this==&other) return *this; IGMPv3Query_Base::operator=(other); copy(other); return *this;}
    virtual IGMPv3Query *dup() const override {return new IGMPv3Query(*this);}
    // ADD CODE HERE to redefine and implement pure virtual functions from IGMPv3Query_Base
};
The following should go into a .cc (.cpp) file:
Register_Class(IGMPv3Query)
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  virtual | 
      
  | 
  private | 
      
  | 
  inlineoverridevirtual | 
Reimplemented from inet::IGMPv2Query.
Reimplemented in inet::IGMPv3Query.
      
  | 
  pure virtual | 
Implemented in inet::IGMPv3Query.
      
  | 
  virtual | 
Referenced by inet::serializer::IGMPSerializer::serialize().
      
  | 
  virtual | 
Referenced by inet::serializer::IGMPSerializer::serialize().
      
  | 
  virtual | 
      
  | 
  inlinevirtual | 
Referenced by getSourceList().
      
  | 
  virtual | 
Referenced by inet::serializer::IGMPSerializer::serialize().
      
  | 
  protected | 
Referenced by inet::IGMPv3Query::operator=().
      
  | 
  protected | 
      
  | 
  overridevirtual | 
Reimplemented from inet::IGMPv2Query.
      
  | 
  overridevirtual | 
Reimplemented from inet::IGMPv2Query.
      
  | 
  pure virtual | 
Implemented in inet::IGMPv3Query.
      
  | 
  virtual | 
Referenced by inet::serializer::IGMPSerializer::deserialize().
      
  | 
  virtual | 
Referenced by inet::serializer::IGMPSerializer::deserialize().
      
  | 
  virtual | 
Referenced by inet::IGMPv3::sendGroupAndSourceSpecificQuery().
      
  | 
  virtual | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected |