Newer
Older
CasicIrisIdentify / ProMemory.cpp
#include "ProMemory.h"

ProMemory::ProMemory()
{

}

ProMemory::~ProMemory()
{

}

void ProMemory::pushCasicIris(CasicIrisInfo irisInfo)
{
    QMutex mutex;
    mutex.lock();
    if (this->irisQueue.size() > 30)
    {
        QStack<CasicIrisInfo> empty;
        std::swap(empty, irisQueue);
    }

    irisQueue.push(irisInfo);
    mutex.unlock();
}
CasicIrisInfo ProMemory::popCasicIris()
{
    CasicIrisInfo result;

    QMutex mutex;
    mutex.lock();
    if (this->irisQueue.size() > 0)
    {
        result = irisQueue.pop();
    }

    mutex.unlock();

    return result;
}

int ProMemory::getIrisQueueSize()
{
    int size = 0;

    QMutex mutex;
    mutex.lock();

    size = this->irisQueue.size();

    mutex.unlock();

    return size;
}
bool ProMemory::isIrisQueueEmpty()
{
    bool empty = true;

    QMutex mutex;
    mutex.lock();

    empty = this->irisQueue.isEmpty();

    mutex.unlock();

    return empty;
}
void ProMemory::clearIrisQueue()
{
    QMutex mutex;
    mutex.lock();

    QStack<CasicIrisInfo> empty;
    std::swap(empty, irisQueue);

    mutex.unlock();
}


void ProMemory::initIrisFeatures(QString personId)
{
//    irisRegistPro->sendDataToExract(QByteArray(QString("[-u]").append(personId).toLocal8Bit()));
}