Пример #1
0
modelCacheState modelCacheIan :: isMergableIan ( const modelCacheIan* q ) const
{
	if ( posDConcepts.intersects(q->negDConcepts)
		 || q->posDConcepts.intersects(negDConcepts)
#	ifdef RKG_USE_SIMPLE_RULES
		 || getExtra(/*det=*/true).intersects(q->getExtra(/*det=*/true))
#	endif
		)
		return csInvalid;
	else if (  posDConcepts.intersects(q->negNConcepts)
			|| posNConcepts.intersects(q->negDConcepts)
			|| posNConcepts.intersects(q->negNConcepts)
  			|| q->posDConcepts.intersects(negNConcepts)
  			|| q->posNConcepts.intersects(negDConcepts)
  			|| q->posNConcepts.intersects(negNConcepts)
#		ifdef RKG_USE_SIMPLE_RULES
			|| getExtra(/*det=*/true).intersects(q->getExtra(/*det=*/false))
			|| getExtra(/*det=*/false).intersects(q->getExtra(/*det=*/true))
			|| getExtra(/*det=*/false).intersects(q->getExtra(/*det=*/false))
#		endif
			|| existsRoles.intersects(q->forallRoles)
			|| q->existsRoles.intersects(forallRoles)
			|| funcRoles.intersects(q->funcRoles) )
		return csFailed;
	else	// could be merged
		return csValid;
}
Пример #2
0
void AGOSEngine_Feeble::off_checkCD() {
	// 135: switch CD
	uint16 disc = readVariable(97);

	if (!strcmp(getExtra(), "4CD")) {
		_sound->switchVoiceFile(gss, disc);
	} else if (!strcmp(getExtra(), "2CD")) {
		if (disc == 1 || disc == 2)
			_sound->switchVoiceFile(gss, 1);
		else if (disc == 3 || disc == 4)
			_sound->switchVoiceFile(gss, 2);
	}

	debug(0, "Switch to CD number %d", disc);
}
Пример #3
0
void BitcoinP2P::processReject(unique_ptr<Payload> payload)
{
   if (payload->type() != Payload_reject)
   {
      LOGERR << "processReject: expected payload_reject type, got " <<
         payload->typeStr() << " instead";
      return;
   }

   shared_ptr<Payload> payload_sptr(move(payload));
   auto payloadReject = dynamic_pointer_cast<Payload_Reject>(payload_sptr);

   if (payloadReject->rejectType() == Payload_tx)
   {
      auto& txHash = payloadReject->getExtra();
      BinaryDataRef hashRef(&txHash[0], txHash.size());

      //let's check if we have callbacks registered for this tx hash
      {
         auto gettxcallbackmap = getTxCallbackMap_.get();
         auto callbackIter = gettxcallbackmap->find(hashRef);
         if (callbackIter != gettxcallbackmap->end())
         {
            callbackIter->second->setStatus(false);
            callbackIter->second->setMessage(payloadReject->getReasonStr());
            auto prom = callbackIter->second->getPromise();
            prom->set_value(payload_sptr);
         }
      }
   }
}