void HyvesAPI::handleResult(int requestId, ResultDocument result, bool errorOccurred) {
	
	m_d->log->debug(QString("Received response for request #%1").arg(requestId));
	
	if (errorOccurred || result.errorCode() != ResultDocument::RESULT_OK) {
		m_d->log->error(QString("An error occurred during API call (request #%3): %1 %2").arg(result.errorCode()).arg(result.errorMessage()).arg(requestId));
		emit error(result);
		emit error(requestId, result);
		return;
	}
	
	if (m_d->accessToken == 0) {
		GenusApis::OAuthAccessToken *accessToken = result.toAccessToken("auth_accesstokenByDesktoptoken_result");
		
		if (accessToken != 0) {
			m_d->log->notice("Got access token from API");
			
			m_d->accessToken = accessToken;
			
			m_d->loginStatus = HyvesAPI::LoggedIn;
			emit accessTokenReady();
			return;
		}

		m_d->log->debug("Response received but no access token yet!");
	}
	
	emit resultReady(result);
	emit resultReady(requestId, result);
}
Exemple #2
0
void FutureWatcher::customEvent(QEvent* event)
{
	if(_futureInterface) {
    	OVITO_ASSERT(static_cast<CallOutEvent*>(event)->_source == _futureInterface.get());
		if(event->type() == (QEvent::Type)CallOutEvent::Started)
			Q_EMIT started();
		else if(event->type() == (QEvent::Type)CallOutEvent::Finished) {
			_finished = true;
			Q_EMIT finished();
		}
		else if(event->type() == (QEvent::Type)CallOutEvent::Canceled)
			Q_EMIT canceled();
		else if(event->type() == (QEvent::Type)CallOutEvent::ResultReady) {
			if(!_futureInterface->isCanceled()) {
				Q_EMIT resultReady();
			}
		}
		else if(event->type() == (QEvent::Type)CallOutEvent::ProgressValue) {
			if(!_futureInterface->isCanceled())
				Q_EMIT progressValueChanged(static_cast<CallOutEvent*>(event)->_value);
		}
		else if(event->type() == (QEvent::Type)CallOutEvent::ProgressText) {
			if(!_futureInterface->isCanceled())
				Q_EMIT progressTextChanged(static_cast<CallOutEvent*>(event)->_text);
		}
		else if(event->type() == (QEvent::Type)CallOutEvent::ProgressRange) {
			Q_EMIT progressRangeChanged(static_cast<CallOutEvent*>(event)->_value);
		}
	}
	QObject::customEvent(event);
}
void MainWindow::sendData(const QString &data)
{
    // Quick error checks before sending
    if (data.isEmpty())
    {
        showError(tr("Can't process audio ;("));
        return;
    }

    ui->label->setText(tr("Sending data..."));
    ui->recordButton->setIcon(*iconNetwork);
    repaint();

#ifdef USE_LIBECHONEST
    QNetworkReply * reply = Echonest::Song::identify(data);
    QEventLoop loop;
    loop.connect(reply, SIGNAL(finished()), SLOT(quit()));
    loop.exec();

    QByteArray answer(reply->readAll());
#else
    EchoNestRequest request(this, nam, API_KEY, QString("4.11"));
    EchoNestSong * song = request.identifySong(data);
#endif

    emit(resultReady(song));
}
/** \brief Load a new simulation
 *
 *  Load a new simulation. Be aware that you must free the ressource of
 *  the old simulation, if it exists, before calling this function.
 */
void MainController::load_configuration(QString& file)
{
    mSimulationFilePath = file;
    mSimulator = new sim::NBody(sim::RK4);
    std::ifstream in_stream(file.toUtf8().data());
    mSimulator->lire_valeurs(in_stream);

    const std::vector<sim::Body>& bodies = mSimulator->getCorps();
    for(std::vector<sim::Body>::const_iterator it = bodies.begin();
        it != bodies.end();
        it++)
    {

        eng::Planet* p = eng::PlanetFactory::getPlanet("earth");

        mEngine->addPlanet(&(*it), p);

    }

    mSimulationThread = new SimulatorThread(*this);
    connect(mSimulationThread, SIGNAL(resultReady()),
            this, SIGNAL(model_updated()));
    connect(mSimulationThread, SIGNAL(finished()),
            this, SLOT(thread_finished()));

    setState(INITIALIZED);
}
void MainWindow::on_Scan4robot_clicked()
{
    if(!workerThread.isRunning())
    {
        debug("searching network for clients");

        //start search on new thread
        netMap *scanThread = new netMap;
        scanThread->moveToThread(&workerThread);
        connect(scanThread, SIGNAL(finished()), scanThread, SLOT(deleteLater()));
        connect(this, SIGNAL(scanNet(QString)), scanThread, SLOT(scanIps(QString)));
        connect(scanThread, SIGNAL(resultReady(QString)), this ,SLOT(handleResIP(QString)));
        this->currIp = 0;  //start search from ip 0
        workerThread.start();
        emit this->scanNet(QString::number(this->currIp));

        ui->Scan4robot->setText("Cancel");//change search button to cancel button
    }
    else
    {
        this->debug("cancelled search, current thread will finish execution before being stoped");
        ui->Scan4robot->setText("Scan for Robots"); //change button back to search
        workerThread.exit(); //cancel thread

    }
}
void CandidateIndexesPage::generateCandidates()
{
    if (generator != nullptr) {
        return;
    }

    MainWizard *mainWizard = static_cast<MainWizard*>(wizard());

    QProgressDialog *progress = new QProgressDialog(
        tr("Generating candidates..."),
        tr("Cancel"),
        0,
        100,
        this
    );

    progress->setModal(true);
    progress->setValue(0);
    progress->setMinimumDuration(0);

    generator = new GenerateCandidateIndexes(mainWizard->project);
    connect(generator, SIGNAL(finished()), progress, SLOT(accept()));
    connect(generator, SIGNAL(progress(int)), progress, SLOT(setValue(int)));
    connect(generator, SIGNAL(resultReady()), this, SLOT(candidatesGenerated()));
    connect(progress, SIGNAL(canceled()), generator, SLOT(terminate()));
    generator->start();
}
void CManager::CreateNonPtzThread()
{
    m_pCamNonPtzThread = PCamNonPtzThread(new CCamNonPtzThread());
    connect(m_pCamNonPtzThread.data(), SIGNAL(resultReady(cv::Mat)), this, SLOT(handleNonPTZFrame(cv::Mat)));
   // connect(m_pCamNonPtzThread.data(), SIGNAL(finished), m_pCamNonPtzThread.data(), SLOT(&QObject::deleteLater));
    m_pCamNonPtzThread->Start();
}
Exemple #8
0
void CommentsModel::getComments(int offset, int count)
{
    if (m_session.data() && m_postId) {
        auto reply = m_session.data()->getComments(offset, count);
        connect(reply, SIGNAL(resultReady(QVariant)), SIGNAL(requestFinished()));
    }
}
Exemple #9
0
void faceThread::run()
{
    static int eyeFlag = 0;
    static float scale = 0.5;
    while(true)
    {
        if(runFlag)
        {
            switch (MODE)
            {
                case SLEEP_MODE:
                    setSleep();
                    break;
                case SMILE_MODE:
                    setSmile();
                    break;
                case ANGER_MODE:
                    setAnger();
                    break;
                case TRACK_MODE:
                    setTrack();
                    scale = 1;
                    break;
                default:
                    break;
            }
            if( eyeFlag == 0 )
            {
                scale -= CHANGE_SPEED;
                if(scale <= LOWBOUND)
                {
                    eyeFlag = 1;
                }
            }
            else
            {
                scale += CHANGE_SPEED;
                if(scale >= UPBOUND)
                {
                    eyeFlag = 0;
                    if(UPBOUND > 0.8)
                    {
                        scale = 0.8;
                    }
                    else
                    {
                        scale = UPBOUND;
                    }

                }
            }
            facesketch->reset();
            facesketch->setEyeScale(scale);
            facesketch->sketchWholeFace();
            setRunFlag(false);
            emit resultReady();
        }

    }
}
Exemple #10
0
void LongPoll::requestServer()
{
    Q_D(LongPoll);
    if (d->isRunning) {
        auto reply = d->client->request("messages.getLongPollServer");
        connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_request_server_finished(QVariant)));
    }
}
Exemple #11
0
void NewsFeedModel::getNews(int filters, quint8 count, int offset)
{
    if (m_newsFeed.isNull())
        return;

    auto reply = m_newsFeed.data()->getNews(static_cast<Vreen::NewsFeed::Filters>(filters), count, offset);
    connect(reply, SIGNAL(resultReady(QVariant)), SIGNAL(requestFinished()));
}
Exemple #12
0
void
Dynamic::SimpleMatchBias::updateFinished()
{
    m_tracksTime = QDateTime::currentDateTime();
    m_qm.reset();
    debug() << "SimpleMatchBias::"<<name()<<"updateFinished"<<m_tracks.trackCount();
    emit resultReady( m_tracks );
}
Exemple #13
0
Reply *Buddy::removeFromFriends()
{
	Q_D(Buddy);
	QVariantMap args;
	args.insert("uid", d->id);
	auto reply = d->client->request("friends.delete", args);
	connect(reply, SIGNAL(resultReady(QVariant)), this, SLOT(_q_friends_delete_finished(QVariant)));
	return reply;
}
void ThreadAnalysis::doMath()
{
    qDebug() << "Started Threaded Math";
    this->temp->rpm = 1/((500*0.0625*this->inData.currTimePerTic*pow(10,-6))/60);
    this->temp->timeStamp = this->inData.lastTimePerTic+this->inData.currTimePerTic*(0.0625)*pow(10,-6);
    emit resultReady(this->temp);
    this->workerThread.exit();
    this->workerThread.terminate();//I AM THE THREAD TERMINATOR
}
Exemple #15
0
void MainWindow::on_learnDicOkBtn_clicked()
{
	ui->learnDicOkBtn->setEnabled(false);
	ui->saveCfBtn->setEnabled(false);
	WorkerThread *workerThread = new WorkerThread();
	connect(workerThread, SIGNAL(resultReady()), this, SLOT(updateSisrButtons()));
	connect(workerThread, SIGNAL(exceptionOccurs()), this, SLOT(sisrExceptionOccurs()));

	workerThread->start();
}
Exemple #16
0
Reply *Buddy::addToFriends(const QString &reason)
{
	Q_D(Buddy);
	QVariantMap args;
	args.insert("uid", d->id);
	args.insert("text", reason);
	auto reply = d->client->request("friends.add", args);
	connect(reply, SIGNAL(resultReady(QVariant)), this, SLOT(_q_friends_add_finished(QVariant)));
	return reply;
}
Exemple #17
0
void NewsFeedModel::deleteLike(int postId)
{
    int index = findNews(postId);
    if (index != -1) {
        auto news = m_newsList.at(index);
        auto reply = m_client.data()->deleteLike(news.sourceId(),
                                                 postId);
        connect(reply, SIGNAL(resultReady(QVariant)), SLOT(onDeleteLike(QVariant)));
    }
}
Exemple #18
0
    void testRequest()
    {
        VREEN_CREATE_CLIENT();

        if (!client.isOnline())
            QFAIL("Client is offline!");

		Vreen::Reply *reply = client.request("getUserSettings");
        connect(reply, SIGNAL(resultReady(QVariant)), &loop, SLOT(quit()));
        loop.exec();
        QCOMPARE(reply->response().toInt() > 6, true);
    }
Exemple #19
0
void NewsFeedModel::addLike(int postId, bool retweet, const QString &message)
{
    int index = findNews(postId);
    if (index != -1) {
        auto news = m_newsList.at(index);
        auto reply = m_client.data()->addLike(news.sourceId(),
                                              postId,
                                              retweet,
                                              message);
        connect(reply, SIGNAL(resultReady(QVariant)), SLOT(onAddLike(QVariant)));
    }
}
Exemple #20
0
	void Worker::stopDaemon() {
		qDebug("Performing daemon stop...");
        //try{
            m_Daemon.stop();
            qDebug("Daemon stopped.");
            emit resultReady(false, "");
        /*}catch(std::exception ex){
            emit resultReady(true, ex.what());
        }catch(...){
            emit resultReady(true, QObject::tr("Error: unknown exception"));
        }*/
    }
Exemple #21
0
void LongPoll::requestData(const QByteArray &timeStamp)
{
    Q_D(LongPoll);
    if (d->dataRequestReply) {
        d->dataRequestReply->disconnect(this, SLOT(_q_request_server_finished(QVariant)));
        d->dataRequestReply->deleteLater();
    }
    QUrl url = d->dataUrl;
    url.addQueryItem("ts", timeStamp);
    auto reply = d->client->request(url);
    connect(reply, SIGNAL(resultReady(QVariant)), this, SLOT(_q_on_data_recieved(QVariant)));
    d->dataRequestReply = reply;
}
Exemple #22
0
void Worker::dataLoop()
{
    Datagram dg;
    unsigned char monitor;
    float data;

    if (receiveDatagramTimeout(serial, &dg) != -1) {

        monitor = dg.id;
        data = translateDatagramData(&dg);

        emit resultReady(monitor, data);
    }
}
Exemple #23
0
Controller::Controller()
{
    SegEvolver *worker = new SegEvolver();
    std::cout << "Controller Constructor" << std::endl;
    worker->moveToThread(&workerThread);
    std::cout << "Controller Constructor" << std::endl;
    connect(&workerThread, SIGNAL(finished()), worker, SLOT(deleteLater()));
    std::cout << "Controller Constructor" << std::endl;
    connect(this, SIGNAL(operate(QString)), worker, SLOT(doWork(QString)));
    std::cout << "Controller Constructor" << std::endl;
    connect(worker, SIGNAL(resultReady(QString)), this, SLOT(handleResults(QString)));
    std::cout << "Controller Constructor" << std::endl;
    //workerThread.start();
    std::cout << "Controller Constructor" << std::endl;
}
Exemple #24
0
void WorkerThread::run()
{
  L_FUNC(QString("_id='%1'").arg(_id));
  qDebug("WorkerThread::run"); // TODO comment this

  msleep(500); // [ms]
  QString result = QString("%1: Calculate: 6! = %2").arg(_id).arg(factorial(6));
  L_INFO(result);
  msleep(250); // [ms]
#if TEST_BURST > 0
  burst(10*1000); // queue full at ~49'000 ?!
#endif
  msleep(250); // [ms]

  emit resultReady(result);
}
Exemple #25
0
void NMTThread::run()
{
    QString result;

    master_Data.NMTable[this->node_id] = Unknown_state;

    QTime time;
    time.start();

    e_nodeState state = Unknown_state;
    while(time.elapsed() < this->timeout_ms)
    {
        state = getNodeState(&master_Data, this->node_id);
        if (state != Unknown_state)
            break;

    }

    switch (state) {
    case Initialisation:
        result = "Initialisation";
        break;
    case Disconnected:
        result = "Disconnected";
        break;
    case Connecting:
        result = "Connecting";
        break;
    case Pre_operational:
        result = "Pre_operational";
        break;
    case Operational:
        result = "Operational";
        break;
    case Stopped:
        result = "Stopped";
        break;
    default:
        result = "Unknown_state";
        break;
    }
qDebug()<<result;
    emit resultReady(result);
}
void GMinimizerThread::run() {
    TypeEstimation estim;
    TypeTree treeTmp;
    TypeFossilFeature *ff;
    ff = sampleFossilInt(fos, tree->size);
    treeTmp.time = (double*) malloc(tree->size*sizeof(double));
    treeTmp.size = tree->size;
    treeTmp.sizeBuf = tree->sizeBuf;
    treeTmp.root = tree->root;
    treeTmp.node = tree->node;
    treeTmp.name = NULL;
    treeTmp.comment = NULL;
    treeTmp.info = NULL;
    treeTmp.parent = NULL;
    treeTmp.minTime = tree->minTimeInt.inf+UNIF_RAND*(tree->minTimeInt.sup-tree->minTimeInt.inf);
    treeTmp.maxTime = tree->maxTimeInt.inf+UNIF_RAND*(tree->maxTimeInt.sup-tree->maxTimeInt.inf);
    for(int n=0; n<tree->size; n++) {
        if(tree->node[n].child == NOSUCH) {
            switch(fos->status[n]) {
                case contempNodeStatus:
                    treeTmp.time[n] = treeTmp.maxTime;
                break;
                case extinctNodeStatus:
                    treeTmp.time[n] = NO_TIME;
                break;
                case unknownNodeStatus:
                    treeTmp.time[n] = fos->endTimeTable[fos->endTime[n]].inf+UNIF_RAND*(fos->endTimeTable[fos->endTime[n]].sup-fos->endTimeTable[fos->endTime[n]].inf);
                break;
                default:
                    fprintf(stderr, "Node %d has no status\n", n);
                    return;
            }
        }
    }
    if(!minimizeBirthDeathFossilFromTreeFossil(likelihood, &treeTmp, ff, options, &estim)) {
        estim.logLikelihood = sqrt(-1);
    }
    free((void*)treeTmp.time);
    if(treeTmp.parent != NULL)
        free((void*)treeTmp.parent);
    freeFossilFeature(ff);
    emit resultReady(estim);
}
    void doWork(const QImage &origin) {
        QImage newImage(origin);
        QRgb *bits = (QRgb *)newImage.bits();
        int contrastLookup[256];
        int pixels = newImage.height() * newImage.width();

        for(int i = 0; i < 256; i++)
        {
            contrastLookup[i] = qBound(0,(int)((((((qreal)i/255.0)-0.5)*m_contrast)+0.5)*255),255);
        }

        for(int i = 0; i < pixels; i++){
            bits[i] = qRgb(qBound(0, contrastLookup[qRed(bits[i])] + m_brightness, 255),
                               qBound(0, contrastLookup[qGreen(bits[i])] + m_brightness, 255),
                               qBound(0, contrastLookup[qBlue(bits[i])] + m_brightness, 255));
        }

        emit resultReady(newImage);
    }
Exemple #28
0
// Start the camera
void Camera::start()
{
    if (!mCapture.isOpened())
    {
        // Loading step
        QMovie *movie = new QMovie(":/loading.gif");
        viewerMessage->setMovie(movie);
        movie->start();
        ui->dockWidgetCamera->setWidget(viewerMessage);

        ui->dockWidgetCamera->setVisible(true);

        ThreadInit *t = new ThreadInit();
        connect(t, SIGNAL(resultReady(VideoCapture)), this, SLOT(update(VideoCapture)));
        t->start();
    }
    else
    {
        ui->statusBar->showMessage(tr("/!\\ Camera is not available"));
    }
}
Exemple #29
0
void MainWindow::on_goBtn_clicked()
{
	ui->goBtn->setEnabled(false);
	//ui->processBtn->setEnabled(false);
	ui->loadCfBtn->setEnabled(false);

	ImageStorage* imgstore = ImageStorage::getInstance();

	if (imgstore->isEmpty())
	{
		QMessageBox::warning(this, tr("Error"), tr("No image in memory..."));
		ui->goBtn->setEnabled(true);
		ui->loadCfBtn->setEnabled(true);
		return;
	}
	std::pair<const std::string, Ui::SrcAndRes>* current = imgstore->getCurrent();
	int stat = controller->setInputImage(current->first, std::get<1>(current->second));

	if (stat == success)
	{
		//CSisrController *ctrl = dynamic_cast<CSisrController *>(controller);
		try{
			/*ctrl->process();*/
			qRegisterMetaType<std::string>("std::string");
			ScaleUpThread *workerThread = new ScaleUpThread();
			connect(workerThread, SIGNAL(resultReady(std::string)), this, SLOT(getResultofScaleUp(std::string)));
			connect(workerThread, SIGNAL(exceptionOccurs()), this, SLOT(scaleUpException()));
			connect(workerThread, SIGNAL(scaleUpImageTooLarge()), this, SLOT(scaleUpImgTooLargeException()));

			workerThread->start();
		}
		catch(cv::Exception e)
		{
			ASSERT(0);
		}
		ui->showDiffBtn->setEnabled(false);
	}
}
Exemple #30
0
void MainWindow::on_loadCfBtn_clicked()
{
	ui->goBtn->setEnabled(false);
	ui->loadCfBtn->setEnabled(false);

	QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QString(),
		tr("Config Files (*.xml)"));

	if (!fileName.isEmpty()) {

		CSisrController *ctrl = dynamic_cast<CSisrController *>(controller);
		ctrl->setPath(fileName.toStdString());
		/*ctrl->loadConfs();*/
		LoadConfThread *workerThread = new LoadConfThread();
		connect(workerThread, SIGNAL(resultReady()), this, SLOT(updateGoBtn()));
		connect(workerThread, SIGNAL(exceptionOccurs()), this, SLOT(loadConfException()));
		workerThread->start();
	}
	else
	{
		ui->loadCfBtn->setEnabled(true);
		ui->goBtn->setEnabled(true);
	}
}