#include <common.h>
#include <FCGI/RecordDispatch.h>
#include <FCGI/limits.h>
#include <fastcgi.h>

FCGI::RecordDispatch::RecordDispatch() {
    arrayRecordHandlers = new FCGI::RecordHandler*[FCGI::MAX_REQUEST_ACTIVE];
    memset(arrayRecordHandlers,0,sizeof(*arrayRecordHandlers) * FCGI::MAX_REQUEST_ACTIVE);
}

FCGI::RecordDispatch::~RecordDispatch() {
    delete [] arrayRecordHandlers;
}

bool FCGI::RecordDispatch::onRecord(char* pRecord) {
    if (0 == idRequest) {
        return onManagementRecord(pRecord);
    }
    // TODO Auto-generated constructor stub
    return false;
}

bool FCGI::RecordDispatch::onManagementRecord(char* pRecord) {
    switch (iType) {
    case FCGI_GET_VALUES:
        // TODO parse list of values.
        // TODO assemble list of values.
        break;
    default:
        // TODO respond with FCGI_UNKNOWN_TYPE
        break;
    }
    return false;
}