75 :
Component(name), sourceBus_(NULL), destinationBus_(NULL) {
76 const string procName =
"Bridge::Bridge";
108 :
Component(state), sourceBus_(NULL), destinationBus_(NULL) {
116 TXT_BRIDGE_EXISTS_BY_SAME_NAME);
118 string procName =
"Bridge::Bridge";
148 string procName =
"Bridge::setName";
216 if (oldSource != NULL) {
221 if (oldDestination != NULL) {
265 const string procName =
"Bridge::loadState";
278 string destinationBusName =
286 source = busNav.
item(sourceBusName);
287 destination = busNav.
item(destinationBusName);
290 format errorMsg = textGenerator.
text(
297 if (tester.
canBridge(*source, *destination)) {
301 *source, *destination, tester);
328 const Bus& sourceBus,
329 const Bus& destinationBus) {
336 for (
int i = 0; i < bridgeNav.
count(); i++) {
360 otherEnd = otherEnd->
nextBus();
408 const Bus* observable = &bus;
411 set<const Bus*> busesInChain;
412 busesInChain.insert(observable);
415 busesInChain.insert(observable);
422 for (
int i = 0; i < bridgeNav.
count(); i++) {
#define assert(condition)
std::string errorMessage() const
@ TXT_BRIDGE_UNKNOWN_SRC_OR_DST
static std::string bridgingError(const TTAMachine::Bus &sourceBus, const TTAMachine::Bus &destinationBus, const MachineTester &tester)
virtual bool canBridge(const TTAMachine::Bus &source, const TTAMachine::Bus &destination)
void setName(const std::string &name)
void setAttribute(const std::string &name, const std::string &value)
std::string stringAttribute(const std::string &name) const
Bus * destinationBus() const
virtual void setName(const std::string &name)
virtual ObjectState * saveState() const
Bus * sourceBus_
Source bus.
Bus * previousBus() const
static const std::string OSNAME_BRIDGE
ObjectState name for bridge.
Bridge(const std::string &name, Bus &sourceBus, Bus &destinationBus)
static const std::string OSKEY_DESTINATION_BUS
ObjectState attribute key for destination bus name.
static const std::string OSKEY_SOURCE_BUS
ObjectState attribute key for source bus name.
static void setFirstOfChain(const Bus &bus)
void setSourceAndDestination(Bus &sourceBus, Bus &destination)
virtual void unsetMachine()
virtual void loadState(const ObjectState *state)
Bus * destinationBus_
Destination bus.
void adjustChainDirection(const Bus &sourceBus, const Bus &destinationBus)
bool sourcePrevious_
Indicates which of the buses is previous and next.
virtual void setMachine(Machine &mach)
virtual Bus * previousBus() const
virtual void clearSourceBridge(Bridge &bridge)
virtual bool canWrite(const Bus &bus) const
virtual void clearDestinationBridge(Bridge &bridge)
virtual bool hasPreviousBus() const
virtual void setDestinationBridge(Bridge &bridge)
virtual bool hasNextBus() const
virtual void setSourceBridge(Bridge &bridge)
virtual Bus * nextBus() const
virtual bool canRead(const Bus &bus) const
void internalUnsetMachine()
virtual void setName(const std::string &name)
virtual Machine * machine() const
virtual void loadState(const ObjectState *state)
void internalSetMachine(Machine &machine)
virtual bool isRegistered() const
virtual void ensureRegistration(const Component &component) const
virtual TCEString name() const
virtual ObjectState * saveState() const
ComponentType * item(int index) const
bool hasItem(const std::string &name) const
virtual BridgeNavigator bridgeNavigator() const
MachineTester & machineTester() const
virtual BusNavigator busNavigator() const
virtual void addBridge(Bridge &bridge)
virtual void deleteBridge(Bridge &bridge)
virtual boost::format text(int textId)