cPathChangeNotification Class Reference

API: cPathChangeNotification Class Reference
API
cPathChangeNotification Class Reference
Inheritance diagram for cPathChangeNotification:
[legend]

Public Attributes

cGatepathStartGate
 The start gate of the path.
cGatepathEndGate
 The end gate of the path.
cGatechangedGate
 The gate whose connection has changed.

Additional Inherited Members

Public Member Functions inherited from cObject
 cObject ()
 cObject (const cObject &other)=default
virtual ~cObject ()
virtual const char * getClassName () const
virtual const char * getName () const
bool isName (const char *s) const
virtual const char * getFullName () const
virtual std::string getFullPath () const
virtual std::string getClassAndFullName () const
virtual std::string getClassAndFullPath () const
const cObjectgetThisPtr () const
virtual std::string str () const
virtual std::ostream & printOn (std::ostream &os) const
virtual cObjectdup () const
virtual void parsimPack (cCommBuffer *buffer) const
virtual void parsimUnpack (cCommBuffer *buffer)
virtual cObjectgetOwner () const
virtual bool isOwnedObject () const
virtual bool isSoftOwner () const
virtual void forEachChild (cVisitor *v)
cObjectfindObject (const char *name, bool deep=true)
virtual cClassDescriptorgetDescriptor () const
void copyNotSupported () const
Protected Member Functions inherited from cObject
virtual void take (cOwnedObject *obj)
virtual void drop (cOwnedObject *obj)
void dropAndDelete (cOwnedObject *obj)

Description

Base class for path change notifications.

Like gate connect/disconnect notifications, path change notifications are fired when a gate is connected or disconnected. The difference is that path change notifications are fired on BOTH of the owner modules of the start and end gates of the path that contains the connection (two notifications!), NOT on the module of the gate being connected or disconnected. See also cGate's getPathStartGate() and getPathEndGate() methods.

The purpose of this notification is to make it possible to get away with only local listeners in simple modules. If this notification didn't exist, users would have to listen for gate connect/disconnect notifications at the top-level module, which is not very efficient (as all pre/post model change events from all modules would then have to be propagated up to the top).

Member Data Documentation

◆ pathStartGate

cGate* pathStartGate

The start gate of the path.

◆ pathEndGate

cGate* pathEndGate

The end gate of the path.

◆ changedGate

cGate* changedGate

The gate whose connection has changed.