Example #1
0
 States states(const std::string& s)
 {
     std::vector<StateMachineHolder>::iterator existing = std::find(state_machines.begin(), state_machines.end(), s);
     if( existing == state_machines.end() )
     {
         StateMachineHolder h(new StateMachine(s));
         state_machines.push_back(h);
         return States(state_machines.back());
     }
     return States(*existing);
 }
Example #2
0
void VideoWindow::saveSession()
{
    Database db;
    Sessions s;

    QSettings settings("NuEvo","Pacca");
    settings.beginGroup("global");
    QVariant user = settings.value("user");
    settings.endGroup();
    s.setDecoder(user);

    s.setDateDecoding(QDateTime::currentDateTime());
    s.setDateSession(QDateTime::currentDateTime());
    s.setObserver(this->ui->observer->text());
    if(this->ui->observer->text().isEmpty()) s.setObserver(user);
    s.setDescription(this->ui->description->text());
    s.setSubject(this->ui->subject->text());
    s.setSpecies(this->ui->species->text());
    for(int i = 0; i < this->ui->sequence->rowCount(); i++){
        Actions a;
        QTime time; time = QTime::fromString(this->ui->sequence->item(i,0)->text());
        a.setTimeAction(time.hour()*3600+time.minute()*60+time.second());
        QString st = this->simplefiedText(this->ui->sequence->item(i,1)->text()).second;
        a.setState(States(st));
        QString ev = this->simplefiedText(this->ui->sequence->item(i,2)->text()).second;
        a.setEvent(Events(ev));
        s.addAction(a);
    }
    int ret = db.saveSession(s);
    if(ret > 0){
        this->close();
    } else {
        QMessageBox::critical(this,tr("Erro"),tr("Ocorreu um erro ao salvar! Tente novamente!"));
    }
}
Example #3
0
void R15(std::vector<Dynamic>& __ret) {
	//arguments
	 Dynamic  retval;

        retval = States();
    
	__ret.push_back(retval);
}
Example #4
0
int Database::saveSession(Sessions session)
{
    int decoderId = this->userExist(session.getDecoder());
    if(decoderId == 0){
        decoderId = this->insertUser(Users(session.getDecoder()));
        if(decoderId <= 0) return -1;
        this->cacheUserId.insert(session.getDecoder().toString(),decoderId);
    }
    int observerId = this->userExist(session.getObserver());
    if(observerId == 0){
        observerId = this->insertUser(Users(session.getObserver()));
        if(observerId <= 0) return -2;
        this->cacheUserId.insert(session.getObserver().toString(),observerId);
    }
    int specieId = this->specieExist(session.getSpecies());
    if (specieId == 0){
        specieId = this->insertSpecie(Species(session.getSpecies()));
        if (specieId <= 0) return -2;
    }
    int subjectId = this->subjectExist(session.getSubject());
    if (subjectId == 0){
        Subjects s;
        s.setName(session.getSubject());
        subjectId = this->insertSubject(s);
        if (subjectId <= 0) return -2;
    }

    int sessionId = this->insertSession(decoderId, session.getDateDecoding(),
                                        observerId, subjectId, specieId,
                                        session.getDateSession(), session.getDescription());
    if(sessionId <= 0) return -3;
    QList<Actions> sequence = session.getActions();
    for(int s=0; s < sequence.size(); s++){
        Actions action = sequence.at(s);
        int stateId = this->stateExist(action.getStateDescription());
        if(stateId == 0){
            stateId = this->insertState(States(action.getStateDescription()));
            if(stateId <= 0) return -4;
            this->cacheStateId.insert(action.getStateDescription(),stateId);
        }
        int eventId = this->eventExist(action.getEventDescription());
        if(eventId == 0){
            eventId = this->insertEvent(Events(action.getEventDescription()));
            if(eventId <= 0) return -5;
            this->cacheEventId.insert(action.getEventDescription(),eventId);
        }
        if(this->insertAction(action.getTimeAction(), sessionId, stateId, eventId) <= 0) return -6;
    }
//    qDebug() << this->query.lastQuery();
//    qDebug() << this->query.lastError();
//    qDebug() << sessionId;
    return sessionId;
}
Example #5
0
void SimpleStateMachine::Process( StateMachineEvent event )
{
	States( event, m_currentState );

	// Check for a state change
	int safetyCount = 10;
	while( m_stateChange && (--safetyCount >= 0) )
	{
		assert( safetyCount > 0 && "SimpleStateMachine::Process - States are flip-flopping in an infinite loop." );

		m_stateChange = false;

		// Let the last state clean-up
		States( EVENT_Exit, m_currentState );

		// Set the new state
		m_currentState = m_nextState;

		// Let the new state initialize
		States( EVENT_Enter, m_currentState );
	}
}
 std::function<bool()> AutomatedScreenshotController::SetupState(const unsigned long state)
 {
     return States()[state]();
 }
Example #7
0
#include <stdio.h>

#include "Engine.h"
#include "RendererSDL.h"
#include "RendererOpenGL.h"
#include "Input.h"
#include "Globals.h"

/// TODO: URGENT. ADD FPS AND DELTATIME!
// Static Variables
States Engine::State = States();
GameProperties Engine::Properties = GameProperties();

Engine::~Engine(){}

void Engine::Start(){}
void Engine::Tick(){}
void Engine::EventHandler(SDL_Event& e){}
void Engine::Precache(){}


void Engine::BaseEventHandler(SDL_Event &e)
{
	switch(e.type)
	{
		case SDL_QUIT:
			State.Quit = true;
			break;
		case SDL_KEYUP:
			if(e.key.keysym.scancode == SDL_SCANCODE_ESCAPE)
				SDL_ShowCursor(!SDL_ShowCursor(-1));