Ejemplo n.º 1
0
	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;
	}
Ejemplo n.º 2
0
JSIndexedRAMBundle::Module JSIndexedRAMBundle::getModule(uint32_t moduleId) const {
  Module ret;
  ret.name = toString(moduleId, ".js");
  ret.code = getModuleCode(moduleId);
  return ret;
}