void loadShaders(JNIEnv *env, jobject &obj) { AAssetManager *asset_manager = AAssetManager_fromJava(env, obj); FILE *fd; fd = android_fopen("vertex.glsl", "r", asset_manager); gVertexShader = readToString(fd); fclose(fd); fd = android_fopen("fragment.glsl", "r", asset_manager); gFragmentShader = readToString(fd); fclose(fd); }
void HttpGet::run() { if (!m_connection->m_networkAccessManager) { m_message = "Invalid Network Access Manager"; m_status = Error; finished(); return; } m_status = Running; QNetworkRequest request; request.setUrl(m_url); QLOG_DEBUG() << "Retrieving:" << m_url; m_networkReply = m_connection->m_networkAccessManager->get(request); connect(m_networkReply, SIGNAL(readyRead()), &m_timer, SLOT(start())); if (m_file) { connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readToFile())); connect(m_networkReply, SIGNAL(finished()), this, SLOT(closeFile()) ); } else { connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readToString())); } connect(m_networkReply, SIGNAL(finished()), this, SLOT(finishedSlot()) ); connect(m_networkReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(errorSlot(QNetworkReply::NetworkError))); m_timer.start(); }
void HttpPost::run() { if (!m_connection->m_networkAccessManager) { m_message = "Invalid Network Access Manager"; m_status = Error; finished(); return; } m_status = Running; QNetworkRequest request; request.setUrl(m_url); request.setHeader(QNetworkRequest::ContentTypeHeader, "text/plain; charset=UTF-8"); QByteArray data(m_postData.toLatin1()); qDebug() << "POST:" << data; m_networkReply = m_connection->m_networkAccessManager->post(request, data); QList<QByteArray> headers(m_networkReply->request().rawHeaderList()); QList<QByteArray>::iterator iter; for (iter = headers.begin(); iter != headers.end(); ++iter) { qDebug() << "HEADER:" << *iter << m_networkReply->request().rawHeader(*iter); } connect(m_networkReply, SIGNAL(readyRead()), &m_timer, SLOT(start())); connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readToString())); connect(m_networkReply, SIGNAL(finished()), this, SLOT(finishedSlot()) ); connect(m_networkReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(errorSlot(QNetworkReply::NetworkError))); m_timer.start(); }
// static std::string File::readToString(const std::string &filename) { return readToString(filename.c_str()); }
/** * Run a category of Xalan tests */ void runCategory(nsIFile* aConfCat, nsIFile* aGoldCat, nsIFile* aRefTmp, txRDFOut* aOut) { nsresult rv; //clone the nsIFiles, so that we can return easily nsCOMPtr<nsIFile> conf, gold; aConfCat->Clone(getter_AddRefs(conf)); aGoldCat->Clone(getter_AddRefs(gold)); nsCAutoString catName, refTmp; conf->GetNativeLeafName(catName); aRefTmp->GetNativePath(refTmp); txRDFOut results(catName, aOut); nsCOMPtr<nsISimpleEnumerator> tests; rv = conf->GetDirectoryEntries(getter_AddRefs(tests)); if (NS_FAILED(rv)) return; PRBool hasMore, isFile; nsCAutoString leaf; NS_NAMED_LITERAL_CSTRING(xsl, ".xsl"); while (NS_SUCCEEDED(tests->HasMoreElements(&hasMore)) && hasMore) { nsCOMPtr<nsILocalFile> test; tests->GetNext(getter_AddRefs(test)); test->GetNativeLeafName(leaf); if (xsl.Equals(Substring(leaf, leaf.Length()-4, 4))) { // we have a stylesheet, let's look for source and reference nsAFlatCString::char_iterator start, ext; leaf.BeginWriting(start); leaf.EndWriting(ext); ext -= 2; // overwrite extension with .xml *ext = 'm'; // this one was easy nsCOMPtr<nsIFile> source; conf->Clone(getter_AddRefs(source)); rv = source->AppendNative(leaf); if (NS_SUCCEEDED(rv) && NS_SUCCEEDED(source->IsFile(&isFile)) && isFile) { nsCOMPtr<nsIFile> reference; gold->Clone(getter_AddRefs(reference)); // overwrite extension with .out --ext; nsCharTraits<char>::copy(ext, "out", 3); rv = reference->AppendNative(leaf); if (NS_SUCCEEDED(rv) && NS_SUCCEEDED(reference->IsFile(&isFile)) && isFile) { nsCAutoString src, style, refPath; test->GetNativePath(style); source->GetNativePath(src); reference->GetNativePath(refPath); if (PR_GetDirectorySeparator() =='\\') { src.ReplaceChar('\\','/'); style.ReplaceChar('\\','/'); refPath.ReplaceChar('\\','/'); } SimpleErrorObserver obs; txStandaloneXSLTProcessor proc; fstream result(refTmp.get(), ios::in | ios::out | ios::trunc); rv = proc.transform(src, style, result, obs); PRBool success = PR_FALSE; if (NS_SUCCEEDED(rv)) { result.flush(); PRInt64 resultSize, refSize; aRefTmp->GetFileSize(&resultSize); reference->GetFileSize(&refSize); result.seekg(0); int toread = (int)resultSize; nsCString resContent, refContent; resContent.SetCapacity(toread); readToString(result, resContent); result.close(); ifstream refStream(refPath.get()); toread = (int)refSize; refContent.SetCapacity(toread); readToString(refStream, refContent); refStream.close(); success = resContent.Equals(refContent); } ext--; results.feed(Substring(start, ext), success); } } } } }