VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes | Private Member Functions
DtMultiConnectionInputPort Class Reference

Input ports are data ports owned by data consumers. More...

Inheritance diagram for DtMultiConnectionInputPort:
Inheritance graph
[legend]

Public Member Functions

 DtMultiConnectionInputPort (const DtString &portName)
 Constructor.
virtual ~DtMultiConnectionInputPort ()
 Destructor.
virtual void receiveData (DtPortData *data, const DtPortConnection *conn)
 clones the specified DtPortData into the connection slot corresponding to the connection.
virtual bool attemptToActivateConnection (DtPortConnection *conn, int connectionPriority)
 Activated this connection by adding an entry for it in the myCurrentConnections list.
virtual bool canActivate (const DtPortConnection *conn, int connectionPriority) const
 Checks if this connection can be the active connection.
virtual void deactivateConnection (DtPortConnection *conn)
 If conn is the currently active connection, it is deactivated and this port has no active input connection.
virtual bool activeConnection () const
 Returns true if there is an active connection into this port.
virtual bool connectionActive (const DtPortConnection *connection) const
 Returns true if the specified connection is currently active.
virtual int connectionPriority () const
 Always returns -1, since any number of active input conenctions are always allowed.
- Public Member Functions inherited from DtInputPort
 DtInputPort (const DtString &portName)
 Constructor.
virtual ~DtInputPort ()
 Destructor.
virtual const DtStringname () const
 Returns the name string of this port.
virtual bool acceptType (const DtString &type) const =0
 Returns true if this port should accept the recipt of the specified DtPortData type.
virtual void addConnection (DtPortConnection *conn)
 Add an incomming connection to this port.
virtual void removeConnection (DtPortConnection *conn)
 Remove an incomming connection to this port.
virtual const DtList * connectionList () const
 Returns the list of input connections to this port.
virtual bool newData () const
 Returns true if there is new data on this port that has not been received.
virtual void dataReceived ()
 Clears the newData flag on this port.
virtual bool enabled () const
 Enables/disables the port.
virtual void setEnabled (bool flag)
 Enables/disables the port.

Protected Attributes

DtMultiConnectionInputPortConnectionMap myCurrentConnections
- Protected Attributes inherited from DtInputPort
DtString myName
bool myNewDataFlag
bool myEnabled
DtList myConnectionList

Private Member Functions

 DtMultiConnectionInputPort ()
 Not implemented.
 DtMultiConnectionInputPort (const DtMultiConnectionInputPort &)
 Not implemented.
DtMultiConnectionInputPortoperator= (const DtMultiConnectionInputPort &)
 Not implemented.

Detailed Description

Input ports are data ports owned by data consumers.

They receive data from a DtPortConnection, and make that data available to the user of the input port. Users of the port should call newData() to check if new data has arrived on this port, and then call dataReceived() to signal that they have received and processed the data currently on the port.

DtSinleConnectionInputPorts allow only a single active connection at a time. If a connection with a better priority attempts to activate, other connections will be deactivated.

This is an abstract base class. Derived types must provide an acceptType method that specifies which DtPortData types this port is capable if receiving, and accessors for the values within the DtPortData types it is accepting.

Constructor & Destructor Documentation

DtMultiConnectionInputPort::DtMultiConnectionInputPort ( const DtString portName)

Constructor.

virtual DtMultiConnectionInputPort::~DtMultiConnectionInputPort ( )
virtual

Destructor.

DtMultiConnectionInputPort::DtMultiConnectionInputPort ( )
private

Not implemented.

DtMultiConnectionInputPort::DtMultiConnectionInputPort ( const DtMultiConnectionInputPort )
private

Not implemented.

Member Function Documentation

DtMultiConnectionInputPort& DtMultiConnectionInputPort::operator= ( const DtMultiConnectionInputPort )
private

Not implemented.

virtual void DtMultiConnectionInputPort::receiveData ( DtPortData data,
const DtPortConnection conn 
)
virtual

clones the specified DtPortData into the connection slot corresponding to the connection.

conn must be an active connection for the data to be received.

Implements DtInputPort.

virtual bool DtMultiConnectionInputPort::attemptToActivateConnection ( DtPortConnection conn,
int  connectionPriority 
)
virtual

Activated this connection by adding an entry for it in the myCurrentConnections list.

Implements DtInputPort.

virtual bool DtMultiConnectionInputPort::canActivate ( const DtPortConnection conn,
int  connectionPriority 
) const
virtual

Checks if this connection can be the active connection.

Implements DtInputPort.

virtual void DtMultiConnectionInputPort::deactivateConnection ( DtPortConnection conn)
virtual

If conn is the currently active connection, it is deactivated and this port has no active input connection.

Implements DtInputPort.

virtual bool DtMultiConnectionInputPort::activeConnection ( ) const
virtual

Returns true if there is an active connection into this port.

Implements DtInputPort.

virtual bool DtMultiConnectionInputPort::connectionActive ( const DtPortConnection connection) const
virtual

Returns true if the specified connection is currently active.

Implements DtInputPort.

virtual int DtMultiConnectionInputPort::connectionPriority ( ) const
virtual

Always returns -1, since any number of active input conenctions are always allowed.

Implements DtInputPort.

Member Data Documentation

DtMultiConnectionInputPortConnectionMap DtMultiConnectionInputPort::myCurrentConnections
protected

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

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)