コード例 #1
0
ファイル: record.cpp プロジェクト: carriercomm/arsenalsuite
QString Record::dump() const
{
	Table * t = table();
	QStringList keys, values;
	keys << (t ? t->tableName() : QString("Invalid Record")) + " @ 0x" + QString::number((quint64)mImp,16);
	values << stateString();
	if( t ) {
		QStringList fieldNames = t->schema()->fieldNames();
		fieldNames.sort();
		foreach( QString fieldName, fieldNames ) {
			Field * f = t->schema()->field(fieldName);
			QVariant v = imp()->isColumnSelected(f->pos()) ? getValue(f->pos()) : "NOT SELECTED";
			keys << f->name();
			if( f->type() == Field::Interval )
				values << v.value<Interval>().toString();
			else if( v.userType() == qMetaTypeId<Record>() && f->flag( Field::ForeignKey ) ) {
				Record r = v.value<Record>();
				if( r.isRecord() )
					values << QString::number(r.key());
				else
					values << "<Uncommitted " + r.table()->schema()->className() + " @ 0x" + QString::number((quint64)r.mImp,16) + ">";
			} else
				values << v.toString();
		}
	}
コード例 #2
0
Vic2::Relations::Relations(const std::string& theTag, std::istream& theStream):
	tag(theTag)
{
	registerKeyword(std::regex("value"), [this](const std::string& unused, std::istream& theStream){
		commonItems::singleInt valueInt(theStream);
		value = valueInt.getInt();
	});
	registerKeyword(std::regex("level"), [this](const std::string& unused, std::istream& theStream){
		commonItems::singleInt levelInt(theStream);
		level = levelInt.getInt();
	});
	registerKeyword(std::regex("military_access"), [this](const std::string& unused, std::istream& theStream){
		commonItems::singleString stateString(theStream);
		militaryAccess = (stateString.getString() == "yes");
	});
	registerKeyword(std::regex("last_send_diplomat"), [this](const std::string& unused, std::istream& theStream){
		commonItems::singleString dateString(theStream);
		lastSentDiplomat = date(dateString.getString());
	});
	registerKeyword(std::regex("last_war"), [this](const std::string& unused, std::istream& theStream){
		commonItems::singleString dateString(theStream);
		lastWar = date(dateString.getString());
	});
	registerKeyword(std::regex("truce_until"), [this](const std::string& unused, std::istream& theStream){
		commonItems::singleString dateString(theStream);
		truceUntil = date(dateString.getString());
	});
	registerKeyword(std::regex("[A-Za-z0-9_]+"), commonItems::ignoreItem);

	parseStream(theStream);
}
コード例 #3
0
void PsiOtrClosure::updateMessageState()
{
    if (m_chatDlgAction)
    {
        OtrMessageState state = m_otr->getMessageState(m_account, m_contact);

        QString stateString(m_otr->getMessageStateString(m_account,
                                                         m_contact));

        if (state == OTR_MESSAGESTATE_ENCRYPTED)
        {
            if (m_otr->isVerified(m_account, m_contact))
            {
                m_chatDlgAction->setIcon(QIcon(":/otrplugin/otr_yes.png"));
            }
            else
            {
                m_chatDlgAction->setIcon(QIcon(":/otrplugin/otr_unverified.png"));
                stateString += ", " + tr("unverified");
            }
        }
        else
        {
            m_chatDlgAction->setIcon(QIcon(":/otrplugin/otr_no.png"));
        }

        m_chatDlgAction->setText(tr("OTR Messaging [%1]").arg(stateString));

        if (state == OTR_MESSAGESTATE_ENCRYPTED)
        {
            m_startSessionAction->setText(tr("Refre&sh private conversation"));
            m_authenticateAction->setEnabled(true);
            m_sessionIdAction->setEnabled(true);
            m_endSessionAction->setEnabled(true);
        }
        else
        {
            m_startSessionAction->setText(tr("&Start private conversation"));
            if (state == OTR_MESSAGESTATE_PLAINTEXT)
            {
                m_authenticateAction->setEnabled(false);
                m_sessionIdAction->setEnabled(false);
                m_endSessionAction->setEnabled(false);
            }
            else // finished, unknown
            {
                m_endSessionAction->setEnabled(true);
                m_authenticateAction->setEnabled(false);
                m_sessionIdAction->setEnabled(false);
            }
        }

        if (m_otr->getPolicy() < OTR_POLICY_ENABLED)
        {
            m_startSessionAction->setEnabled(false);
            m_endSessionAction->setEnabled(false);
        }
    }
}
コード例 #4
0
ファイル: accountstate.cpp プロジェクト: Buckeye/client
void AccountState::setState(State state)
{
    if (_state != state) {
        qDebug() << "AccountState state change: "
                 << stateString(_state) << "->" << stateString(state);
        State oldState = _state;
        _state = state;

        if (_state == SignedOut) {
            _connectionStatus = ConnectionValidator::Undefined;
            _connectionErrors.clear();
        } else if (oldState == SignedOut && _state == Disconnected) {
            checkConnectivity();
        }

        emit stateChanged(_state);
    }
}
コード例 #5
0
void Board::play(const Move& m)
{
	if (!m.isValid(this))
	{
		QMessageBox::critical(NULL, "Invalid move", "Invalid move");
		return;
	}

	m.updateBoard(this);
	nbMovesLeft_--;

	undo_.addState(stateString());
	blackPlays_ = !blackPlays_;
}
コード例 #6
0
ファイル: shoutcast.cpp プロジェクト: KungFuJesus/mythtv
qint64 ShoutCastIODevice::readData(char *data, qint64 maxlen)
{
    // the decoder wants more data from the stream
    // but first we must filter out any headers and metadata

    if (m_buffer->readBufAvail() == 0)
    {
        LOG(VB_PLAYBACK, LOG_ERR, "ShoutCastIODevice: No data in buffer!!");
        switchToState(STOPPED);
        return -1;
    }

    if (m_state == STREAMING_META && parseMeta())
        switchToState(STREAMING);

    if (m_state == STREAMING)
    {
        if (m_bytesTillNextMeta > 0)
        {
            // take maxlen or what ever is left till the next metadata
            if (maxlen > m_bytesTillNextMeta)
                maxlen = m_bytesTillNextMeta;

            maxlen = m_buffer->read(data, maxlen);

            m_bytesTillNextMeta -= maxlen;

            if (m_bytesTillNextMeta == 0)
                switchToState(STREAMING_META);
        }
        else
            maxlen = m_buffer->read(data, maxlen);
    }

    if (m_state != STOPPED) 
        LOG(VB_NETWORK, LOG_INFO,
            QString("ShoutCastIODevice: %1 kb in buffer, btnm=%2/%3 "
                    "state=%4, len=%5")
                .arg(m_buffer->readBufAvail() / 1024, 4)
                .arg(m_bytesTillNextMeta, 4)
                .arg(m_response->getMetaint())
                .arg(stateString (m_state))
                .arg(maxlen));
    else
        LOG(VB_NETWORK, LOG_INFO, QString("ShoutCastIODevice: stopped"));

    return maxlen;
}
コード例 #7
0
void QutimOtrClosure::updateMessageState()
{
    if (m_chatDlgAction != 0)
    {
        QString stateString("OTR Plugin [" +
                            m_otr->getMessageStateString(m_myAccount,
                                                          m_otherJid,
                                                          m_item)
                            + "]");
        m_chatDlgAction->setText(stateString);

        OtrMessageState state = m_otr->getMessageState(m_myAccount,
                                                        m_otherJid,
                                                        m_item);

        if (state == OTR_MESSAGESTATE_ENCRYPTED)
        {
            m_verifyAction->setEnabled(true);
            m_sessionIdAction->setEnabled(true);
            m_startSessionAction->setEnabled(false);
            m_endSessionAction->setEnabled(true);
        }
        else if (state == OTR_MESSAGESTATE_PLAINTEXT)
        {
            m_verifyAction->setEnabled(false);
            m_sessionIdAction->setEnabled(false);
            m_startSessionAction->setEnabled(true);
            m_endSessionAction->setEnabled(false);
        }
        else // finished, unknown
        {
            m_startSessionAction->setEnabled(true);
            m_endSessionAction->setEnabled(true);
            m_verifyAction->setEnabled(false);
            m_sessionIdAction->setEnabled(false);
        }

        if (m_otr->getPolicy() < OTR_POLICY_ENABLED)
        {
            m_startSessionAction->setEnabled(false);
            m_endSessionAction->setEnabled(false);
        }
    }
}
コード例 #8
0
NS_IMETHODIMP
nsIsIndexFrame::RestoreState(nsPresState* aState)
{
  NS_ENSURE_ARG_POINTER(aState);

  // Set the value to the stored state.
  nsCOMPtr<nsISupportsString> stateString
    (do_QueryInterface(aState->GetStateProperty()));

  if (!stateString) {
    NS_ERROR("Not a <isindex> state!");
    return NS_ERROR_FAILURE;
  }

  nsAutoString data;
  stateString->GetData(data);
  SetInputValue(data);

  return NS_OK;
}
コード例 #9
0
void Board::play(const Move& m)
{
  if (!m.isValid(this))
    {
      QMessageBox::critical(NULL, "Invalid move", "Invalid move");
      return;
    }

  if (!m.isClose())
    setStateOf(m.start(), Board::EMPTY);

  setStateOf(m.end(), Board::blueColor(bluePlays()));
  
  for (int i=-1; i<=1; ++i)
    for (int j=-1; j<=1; ++j)
      {
	const QPoint p(m.end().x()+i, m.end().y()+j);
	if (isValid(p) && stateOf(p) == Board::blueColor(!bluePlays()))
	  setStateOf(p, Board::blueColor(bluePlays()));
      }

  undo_.addState(stateString());
  bluePlays_ = !bluePlays_;
}
コード例 #10
0
void PeerInformationSocket::processPacket(const QHostAddress &address, const QByteArray &packetArray)
{
  const char *data = packetArray.constData();
  CITP_PINF_PLoc *packet = (CITP_PINF_PLoc*)data;

  // CITP header
  if (packet->CITPPINFHeader.CITPHeader.Cookie != COOKIE_CITP)
    {
      return;
    }

  if (packet->CITPPINFHeader.CITPHeader.VersionMajor != 0x01)
    {
      qDebug() << "Invalid VersionMajor value:" << packet->CITPPINFHeader.CITPHeader.VersionMajor;
      return;
    }

  if (packet->CITPPINFHeader.CITPHeader.VersionMinor != 0x00)
    {
      qDebug() << "Invalid VersionMinor value:" << packet->CITPPINFHeader.CITPHeader.VersionMinor;
      return;
    }
  //packet->CITPPINFHeader.CITPHeader.Reserved[0] = 0x00;
  //packet->CITPPINFHeader.CITPHeader.Reserved[1] = 0x00; 
  //packet->CITPPINFHeader.CITPHeader.MessageSize = bufferLen;
  //packet->CITPPINFHeader.CITPHeader.MessagePartCount = 0x01;
  //packet->CITPPINFHeader.CITPHeader.MessagePart = 0x01; // XXX - doc says 0-based?
  
  if (packet->CITPPINFHeader.CITPHeader.ContentType != COOKIE_PINF)
    {
      return;
    }

  // PINF header
  if (packet->CITPPINFHeader.ContentType != COOKIE_PINF_PLOC)
    {
      return;
    }

  // PLoc data
  quint16 listeningPort = packet->ListeningTCPPort;
  if (0 == listeningPort)
    {
      // XXX - uncomment if we don't want non-listeners
      //return;
    }
  
  // type
  int offset = sizeof(struct CITP_PINF_PLoc);
  QString typeString(packetArray.constData()+offset);
  //memcpy(buffer + offset, typeString.toAscii().constData(), typeString.size());
  
  // name
  offset += typeString.size() + 1;
  QString nameString(packetArray.constData()+offset);
  //memcpy(buffer + offset, name.toAscii().constData(), name.size());

  // state
  offset += nameString.size() + 1;
  QString stateString(packetArray.constData()+offset);
  //memcpy(buffer + offset, state.toAscii().constData(), state.size());

  // XXX - these strings are going out of scope because they are implicitly shared
  // from the original buffer

  addPeer(address, listeningPort, typeString, nameString, stateString);
}