Abstract base class for creating a channel of a given type.
Public Member Functions | |
Constructors, destructor, assignment | |
cChannelType (const char *qname=nullptr) | |
Public Member Functions inherited from cComponentType | |
cComponentType (const char *qname=nullptr) | |
virtual | ~cComponentType () |
virtual const char * | getFullName () const override |
virtual std::string | getNedSource () const =0 |
Public Member Functions inherited from cNoncopyableOwnedObject | |
cNoncopyableOwnedObject (const char *name=nullptr, bool namepooling=true) | |
virtual cNoncopyableOwnedObject * | dup () const override |
Public Member Functions inherited from cOwnedObject | |
cOwnedObject () | |
cOwnedObject (const char *name, bool namepooling=true) | |
cOwnedObject (const cOwnedObject &obj) | |
virtual | ~cOwnedObject () |
cOwnedObject & | operator= (const cOwnedObject &o) |
virtual cObject * | getOwner () const override |
virtual bool | isOwnedObject () const override |
Public Member Functions inherited from cNamedObject | |
cNamedObject () | |
cNamedObject (const char *name, bool namepooling=true) | |
cNamedObject (const cNamedObject &obj) | |
virtual | ~cNamedObject () |
cNamedObject & | operator= (const cNamedObject &o) |
virtual void | setName (const char *s) |
virtual const char * | getName () const override |
virtual void | setNamePooling (bool b) |
virtual bool | getNamePooling () |
Public Member Functions inherited from cObject | |
cObject () | |
cObject (const cObject &other)=default | |
virtual | ~cObject () |
virtual const char * | getClassName () const |
bool | isName (const char *s) const |
virtual std::string | getFullPath () const |
virtual std::string | getClassAndFullName () const |
virtual std::string | getClassAndFullPath () const |
const cObject * | getThisPtr () const |
virtual std::string | str () const |
virtual std::ostream & | printOn (std::ostream &os) const |
virtual bool | isSoftOwner () const |
virtual void | forEachChild (cVisitor *v) |
cObject * | findObject (const char *name, bool deep=true) |
virtual cClassDescriptor * | getDescriptor () const |
void | copyNotSupported () const |
Channel object creation | |
virtual cChannel * | create (const char *name) |
static cChannelType * | find (const char *qname) |
static cChannelType * | get (const char *qname) |
static cChannelType * | getIdealChannelType () |
static cChannelType * | getDelayChannelType () |
static cChannelType * | getDatarateChannelType () |
static cIdealChannel * | createIdealChannel (const char *name) |
static cDelayChannel * | createDelayChannel (const char *name) |
static cDatarateChannel * | createDatarateChannel (const char *name) |
Additional Inherited Members | |
Static Public Member Functions inherited from cComponentType | |
static cComponentType * | find (const char *qname) |
static cComponentType * | get (const char *qname) |
Static Public Member Functions inherited from cOwnedObject | |
static long | getTotalObjectCount () |
static long | getLiveObjectCount () |
static void | resetObjectCounters () |
static cSoftOwner * | getOwningContext () |
Protected Member Functions inherited from cObject | |
virtual void | take (cOwnedObject *obj) |
virtual void | drop (cOwnedObject *obj) |
void | dropAndDelete (cOwnedObject *obj) |
cChannelType | ( | const char * | qname = nullptr | ) |
Constructor.
|
virtual |
Factory method to create a channel object with the given name.
If the name is nullptr, a default name will be taken from the @defaultname NED property of the channel type; or if there is no such property, "channel" will be used.
In addition to creating an object of the correct type, this methods inserts it into the simulation's data structure, and adds the parameters specified in the NED declaration.
|
static |
Finds a channel type by fully qualified NED type name. Returns nullptr if not found.
|
static |
Finds a channel type by fully qualified NED type name. Throws an error if not found.
|
static |
Equivalent to cChannelType::get("ned.IdealChannel")
, but more efficient.
|
static |
Equivalent to cChannelType::get("ned.DelayChannel")
, but more efficient.
|
static |
Equivalent to cChannelType::get("ned.DatarateChannel")
, but more efficient.
|
static |
Creates an IdealChannel via getIdealChannelType()->create(name)
.
|
static |
Creates a DelayChannel via getDelayChannelType()->create(name)
.
|
static |
Creates a DatarateChannel via getDatarateChannelType()->create(name)
.