type_result NE_DLL ModuleInfoExtractor::execute() { // pre: const NEModuleSet& ms = Kernal::getInstance().getModuleManager().getModuleSet(); type_int code = getModuleCode(); const NEModule& m = ms[code]; if( ! &m) { ALERT_ERROR("주어진 모듈코드(키#0 : %d)가 잘못되었습니다.\n모듈코드의 범위(0 ~ %d)를 넘은 것은 아닌가요?", code, ms.getLengthLastIndex()); return RESULT_TYPE_ERROR; } const NEModule::Header& head = m.getHeader(); // post: const NETString* rhs = 0; switch(getInfoType()) { case INFOTYPE_NAME: rhs = &head.getName(); break; case INFOTYPE_DEVELOPER: rhs = &head.getDeveloper(); break; case INFOTYPE_REVISION: rhs = &NETString(head.getRevision()); break; case INFOTYPE_RELEASE_DATE: rhs = &head.getReleaseDate(); break; case INFOTYPE_VERSION: rhs = &head.getVersion(); break; case INFOTYPE_COMMENT: rhs = &head.getComment(); break; case INFOTYPE_CONTACT: rhs = &head.getContact(); break; default: ALERT_WARNING("잘못된 InfoType(%d) 입니다.", getInfoType()); } getExtracted() = *rhs; return RESULT_SUCCESS; }
JSIndexedRAMBundle::Module JSIndexedRAMBundle::getModule(uint32_t moduleId) const { Module ret; ret.name = toString(moduleId, ".js"); ret.code = getModuleCode(moduleId); return ret; }