Example #1
0
int QDropboxJson::parseSubJson(QString strJson, int start, qdropboxjson_entry *jsonEntry)
{
	int openBrackets = 1;
	QString buffer = "";
    QDropboxJson* jsonValue = NULL;

	int j;
	for(j=start+1; openBrackets > 0 && j < strJson.size(); ++j)
	{
		if(strJson.at(j).toLatin1() == '{')
			openBrackets++;
		else if(strJson.at(j).toLatin1() == '}')
			openBrackets--;
	}

	buffer = strJson.mid(start, j-start);
#ifdef QTDROPBOX_DEBUG
	qDebug() << "brackets = " << openBrackets << endl;
	qDebug() << "json data(" << start << ":" << j-start << ") = " << buffer << endl;
#endif
	jsonValue = new QDropboxJson();
	jsonValue->parseString(buffer);

	// invalid sub json means invalid json
	if(!jsonValue->isValid())
	{
#ifdef QTDROPBOX_DEBUG
		qDebug() << "subjson invalid!" << endl;
#endif
		valid = false;
		return j;
	}

	// insert new
	jsonEntry->value.json = jsonValue;
	jsonEntry->type       = QDROPBOXJSON_TYPE_JSON;
	return j;
}
Example #2
0
void QDropbox::parseAccountInfo(QString response)
{
#ifdef QTDROPBOX_DEBUG
    qDebug() << "== account info ==" << response << "== account info end ==";
#endif

    QDropboxJson json;
    json.parseString(response);
    _tempJson.parseString(response);
    if(!json.isValid())
    {
        errorState = QDropbox::APIError;
        errorText  = "Dropbox API did not send correct answer for account information.";
#ifdef QTDROPBOX_DEBUG
        qDebug() << "error: " << errorText << endl;
#endif
        emit errorOccured(errorState);
        return;
    }

    emit accountInfoReceived(response);
    return;
}
Example #3
0
void QDropbox::parseDelta(QString response)
{
#ifdef QTDROPBOX_DEBUG
    qDebug() << "== metadata ==" << response << "== metadata end ==";
#endif

    QDropboxJson json;
    json.parseString(response);
    _tempJson.parseString(response);
    if(!json.isValid())
    {
        errorState = QDropbox::APIError;
        errorText  = "Dropbox API did not send correct answer for delta.";
#ifdef QTDROPBOX_DEBUG
        qDebug() << "error: " << errorText << endl;
#endif
        emit errorOccured(errorState);
        stopEventLoop();
        return;
    }

    emit deltaReceived(response);
    return;
}