public void tratarMensagem(Socket origem, Object mensagemCrua) {
		if (mensagemCrua instanceof Integer) {
			mainframe.updateProgress((int) mensagemCrua);
		} else if (mensagemCrua instanceof String || mensagemCrua instanceof Mensagem) {
			Mensagem mensagem = Mensagem.valueOf(mensagemCrua.toString());
			
			switch (mensagem) {
			case ARQUIVO:
				servidor.aguardarArquivo(origem);
				break;
			case FIM:
				try {
					SocketInformation info = mainframe.getInfoBySocket(origem);
					handler.getSocket(info).close();
					info.setClosed(true);
					mainframe.changeActions(true);
				} catch (IOException e) {
					e.printStackTrace();
				}
				break;
			case ACEITAR:
				cliente.prosseguir();
				break;
			case TRANSFERENCIA_INTERROMPIDA:
				mainframe.destroyProgress();
				mainframe.publishError(mensagem);
				break;
			default:
				break;
			}
		}
	}