Oi galera, esse é meu primeiro post e vim recorrer a vocês sobre um problema q nao to conseguindo resolver.
Tenho que recuperar um dos atributos que passo por parametro em um metodo.
Não posso mudar o método, pois o método pertence a uma dll a qual nao tenho acesso ao código, somente a dll.
Essa é minha classe/problema:
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
public class Criptografar {
private String senha;
private String novaSenha;
public Criptografar(){
senha = new String("1234"); //Esse valor inicial é só pra teste
novaSenha = new String();
}
public String getSenha(){ return this.senha; }
public String getNovaSenha(){ return this.novaSenha; }
//Interface JNA pra acessar a dll
public interface CLibrary extends Library {
CLibrary INSTANCE = (CLibrary)
Native.loadLibrary((Platform.isWindows() ? "Criptografar" : "c"),
CLibrary.class);
void NovaSenha(String s1, String s2);
}
public static void main(String[] args) {
Criptografar teste = new Criptografar();
//Aqui mora o problema
CLibrary.INSTANCE.NovaSenha(teste.getSenha(), teste.getNovaSenha());
System.out.println(teste.getNovaSenha());
}
}
Essa ainda é só uma classe q eu tava fazendo de teste, meu maior problema é que não posso alterar a dll, pois a outra empresa não disponibiliza. E essa função da dll deles não retorna a nova senha criptografada, ao inves disso ela somente modifica o 2º parâmetro. Como esse parâmetro é uma String, não sei como passar por referência pra função.
E ae, alguém pode me dar uma luz?