void HypNode::setEnabledIncoming(int on, int descend) { // if (!bEnabled) return; for (int j = 0; j < getIncomingCount(); j++) { HypLink *l = getIncoming(j); HypNode *n = l->getParent(); l->setDesired(on); // if other end is disabled don't turn it on if ( (on && getEnabled() && n->getEnabled()) || !on) l->setEnabled(on); } if (descend) for (int i = 0; i < getChildCount(); i++) children[i]->setEnabledIncoming(on, descend); }
void HypNode::markEnable(int on, int descend) { int j; int wanted, value; HypLink *l; HypNode *n; setEnabled(on); for (j = 0; j < getChildCount(); j++) { l = getChildLink(j); n = l->getChild(); wanted = l->getDesired(); value = 0; if (n != (HypNode *)0 && on && getEnabled() && n->getEnabled() && wanted) value = 1; l->setEnabled(value); } l = getParentLink(); if (l) { n = l->getParent(); wanted = l->getDesired(); value = 0; if (n != (HypNode *)0 && on && getEnabled() && n->getEnabled() && wanted) value = 1; l->setEnabled(value); } for (j = 0; j < getOutgoingCount(); j++) { l = getOutgoing(j); n = l->getChild(); wanted = l->getDesired(); value = 0; if (n != (HypNode *)0 && on && getEnabled() && n->getEnabled() && wanted) value = 1; l->setEnabled(value); } for (j = 0; j < getIncomingCount(); j++) { l = getIncoming(j); n = l->getParent(); wanted = l->getDesired(); value = 0; if (n != (HypNode *)0 && on && getEnabled() && n->getEnabled() && wanted) value = 1; l->setEnabled(value); } if (descend) for (j = 0; j < getChildCount(); j++) { children[j]->markEnable(on, descend); } }
bool SessionImpl::get(ReceiverImpl& receiver, qpid::messaging::Message& message, qpid::messaging::Duration timeout) { IncomingMessageHandler handler(boost::bind(&SessionImpl::accept, this, &receiver, &message, _1)); handler.receiver = &receiver; return getIncoming(handler, timeout); }