//----------------------------------------------------------------------------
bool ctkExchangeSoapMessageProcessor::process(
  const QtSoapMessage& message, QtSoapMessage* reply ) const
{
  // TODO check for NULL exchangeInterface?

  const QtSoapType& method = message.method();
  QString methodName = method.name().name();

  qDebug() << "ExchangeMessageProcessor: Received soap method request: " << methodName;

  bool foundMethod = false;

  if (methodName == "notifyDataAvailable")
    {
    processNotifyDataAvailable(message, reply);
    foundMethod = true;
    }
  else if (methodName == "getData")
    {
    processGetData(message, reply);
    foundMethod = true;
    }
  else if (methodName == "releaseData")
    {
    processReleaseData(message, reply);
    foundMethod = true;
    }

  return foundMethod;
}
Пример #2
0
void BitcoinP2P::processPayload(vector<unique_ptr<Payload>> payloadVec)
{
   for (auto&& payload : payloadVec)
   {
      switch (payload->type())
      {
      case Payload_version:
         checkServices(move(payload));
         returnVerack();
         break;

      case Payload_verack:
         gotVerack();
         break;

      case Payload_ping:
         replyPong(move(payload));
         break;

      case Payload_inv:
         processInv(move(payload));
         break;

      case Payload_getdata:
         processGetData(move(payload));
         break;

      case Payload_tx:
         processGetTx(move(payload));
         break;

      case Payload_reject:
         processReject(move(payload));
         break;

      default:
         continue;
      }
   }
}