Example #1
0
void Buffer::write(void* hostPtr)
{
    if (clBuffer == NULL)
    {
        clBuffer = resourceManager->createBuffer(size);
    }
    writeEvent = resourceManager->enqueueWriteBuffer(*clBuffer, hostPtr, allEvents(), device);
}
Example #2
0
Buffer::~Buffer()
{
    if (clBuffer != NULL)
    {
        cl::Event::waitForEvents(allEvents());
        delete clBuffer;
    }
}
Example #3
0
void connectControllerAndModel( Controller* controller, CharmDataModel* model )
{
    QObject::connect( controller, SIGNAL(eventAdded(Event)),
                      model, SLOT(addEvent(Event)) );
    QObject::connect( controller, SIGNAL(eventModified(Event)),
                      model, SLOT(modifyEvent(Event)) );
    QObject::connect( controller, SIGNAL(eventDeleted(Event)),
                      model, SLOT(deleteEvent(Event)) );
    QObject::connect( controller, SIGNAL(allEvents(EventList)),
                      model, SLOT(setAllEvents(EventList)) );
    QObject::connect( controller, SIGNAL(definedTasks(TaskList)),
                      model, SLOT(setAllTasks(TaskList)) );
    QObject::connect( controller, SIGNAL(taskAdded(Task)),
                      model, SLOT(addTask(Task)) );
    QObject::connect( controller, SIGNAL(taskUpdated(Task)),
                      model, SLOT(modifyTask(Task)) );
    QObject::connect( controller, SIGNAL(taskDeleted(Task)),
                      model, SLOT(deleteTask(Task)) );
}
Example #4
0
void Controller::stateChanged( State previous, State next )
{
    Q_UNUSED( previous );

    switch( next ) {
    case Connected:
    {   // yes, it is that simple:
        TaskList tasks = m_storage->getAllTasks();
        // tell the view about the existing tasks;
        if ( ! Task::checkForUniqueTaskIds( tasks ) ) {
            throw CharmException( tr( "The Charm database is corrupted, it contains duplicate task ids. "
                                      "Please have it looked after by a professional." ) );
        }
        if ( ! Task::checkForTreeness( tasks ) ) {
            throw CharmException( tr( "The Charm database is corrupted, the tasks do not form a tree. "
                                      "Please have it looked after by a professional." ) );
        }
        emit definedTasks( tasks );
        EventList events = m_storage->getAllEvents();
        emit allEvents( events );
    }
    break;
    case Disconnecting:
    {
        emit readyToQuit();
        if ( m_storage ) {
// this will still leave Qt complaining about a repeated connection
//         qDebug() << "Application::enterConnectingState: closing existing storage interface";
            m_storage->disconnect();
            delete m_storage;
            m_storage = nullptr;
        }
    }
    break;
    default:
        break;
    };

    if ( m_storage ) {
        emit currentBackendStatus( m_storage->description() );
        m_storage->stateChanged( previous );
    }
}