torc::generic::PortBundleReference Class Reference

Represents a reference to a bundle of ports. More...

#include <PortBundleReference.hpp>

Inheritance diagram for torc::generic::PortBundleReference:

Inheritance graph
[legend]
Collaboration diagram for torc::generic::PortBundleReference:

Collaboration graph
[legend]

List of all members.

Public Types

typedef VisitorType
< PortBundleReference
Visitor

Public Member Functions

virtual void accept (BaseVisitor &inoutVisitor) throw (Error)
virtual void setParent (const InstanceSharedPtr &inParent) throw ()
virtual Connection connect (const NetSharedPtr &inNet) throw (Error)
virtual void disconnect (const Connection &inConnection) throw (Error)
virtual void bindToMasterPort (const PortSharedPtr &inMaster) throw (Error)

Private Member Functions

 PortBundleReference (const PortBundleReference &)
PortBundleReferenceoperator= (const PortBundleReference &)

Friends

class FactoryType< PortBundleReference >

Classes

class  Factory


Detailed Description

Represents a reference to a bundle of ports.

The PortBundle class represents a reference to an EDIF port bundle.

Definition at line 46 of file PortBundleReference.hpp.


Member Function Documentation

void torc::generic::PortBundleReference::accept ( BaseVisitor inoutVisitor  )  throw (Error) [virtual]

Recive a inoutVisitor to this class. The visit method of the inoutVisitor is called and a reference to this object is passed as a parameter. It has to be noted however, that a dynamic_cast is performed inside this method. If the cast fails, an appropriate exception is thrown by this method. This sitation can arise when the passed Visitor object does not inherit from the appropriate inoutVisitor specialization. See Visitor documentation for more details.

Parameters:
[in,out] inoutVisitor A reference to the inoutVisitor object
Exceptions:
Error Visitor type inappropriate for visiting this object or any other error thrown by the Visitor::throw() method.

Implements torc::generic::Visitable.

Definition at line 72 of file PortBundleReference.cpp.

Connectable::Connection torc::generic::PortBundleReference::connect ( const NetSharedPtr &  inNet  )  throw (Error) [virtual]

Connect a Net to this object.

Note:
This metod can be overridden by derived classes. However, the method must call the on_connected() method after this. The sigConnected_ signal must also be invoked in the overriding method.
Parameters:
[in] inNet A pointer to the Net object that needs to be connected
Returns:
A connection that has been established. This can be used later for disconnection.
Exceptions:
Error PortBundleReference size does not match with Master port size
  • Id : eMessageIdErrorPointerToItemDoesNotExist
  • Context Data
Error Net size does not match with PortBundleReference size

Implements torc::generic::Connectable.

Definition at line 96 of file PortBundleReference.cpp.

void torc::generic::PortBundleReference::disconnect ( const Connection inConnection  )  throw (Error) [virtual]

Disconnect a Net from this object.

Note:
This metod can be overridden by derived classes. However, the method must call the on_connected() method after this. The sigConnected_ signal must also be invoked in the overriding method.
Parameters:
[in] connection A connection as returned by the connect() method
Exceptions:
Error Provided connection is invalid, because pointer to the Net does not exist
  • Id : eMessageIdErrorPointerToItemDoesNotExist
  • Context Data
    • Pointer to Net - boost::shared_ptr

Definition at line 156 of file PortBundleReference.cpp.

void torc::generic::PortBundleReference::bindToMasterPort ( const PortSharedPtr &  inMaster  )  throw (Error) [virtual]

Set master port.

Parameters:
[in] inMaster Set the master port.
Exceptions:
Error Master port size does not match with port bundle reference size
  • Id : eMessageIdErrorItemSizeMismatch
  • Context Data
    • Net Size - SizeType
    • Port Size - SizeType
Set master port.

Parameters:
[in] inSource Set the master port

Reimplemented from torc::generic::PortReference.

Definition at line 219 of file PortBundleReference.cpp.


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

Generated on Thu Oct 13 16:50:18 2011 for TORC by  doxygen 1.5.6