Jun Furutani / libMiMic

Fork of libMiMic by Ryo Iizuka

cpp/ModRomFiles.cpp

Committer:
nyatla
Date:
2013-04-04
Revision:
3:0a94993be1f6
Child:
7:2b33a8d84eb3

File content as of revision 3:0a94993be1f6:

#include "ModRomFiles.h"
#include "HttpdConnection.h"

namespace MiMic
{
    ModRomFiles::ModRomFiles(const char* i_path,const NyLPC_TRomFileData* i_ref_fsdata,unsigned short i_num)
    {
        this->setParam(i_path,i_ref_fsdata,i_num);
    }
    ModRomFiles::ModRomFiles()
    {
        this->_path=NULL;
    }
    ModRomFiles::~ModRomFiles()
    {
        if(this->_path!=NULL){
            free(this->_path);
        }
    }
    void ModRomFiles::setParam(const char* i_path,const NyLPC_TRomFileData* i_ref_fsdata,unsigned short i_num)
    {
        this->_path=(char*)malloc(strlen(i_path)+1);
        strcpy(this->_path,i_path);
        this->_ref_fsdata=i_ref_fsdata;
        this->_num=i_num;
    }
    bool ModRomFiles::execute(HttpdConnection& i_connection)
    {
        NyLPC_TcModRomFiles_t mod;

        //check parametor
        if(this->_path==NULL){
            return false;
        }
        NyLPC_cModRomFiles_initialize(&mod,this->_path,this->_ref_fsdata,this->_num);
        if(NyLPC_cModRomFiles_canHandle(&mod,i_connection._ref_inst)){
            NyLPC_cModRomFiles_execute(&mod,i_connection._ref_inst);
            NyLPC_cModRomFiles_finalize(&mod);
            return true;
        }
        NyLPC_cModRomFiles_finalize(&mod);
        return false;
    }

}