Cómo traducir una interfaz java jna a kotlin

Estoy tratando de portar a kotlin el enlace openvr

Tengo lo siguiente en java:

public class IVRSystem extends Structure { /** * C type : GetRecommendedRenderTargetSize_callback* */ public IVRSystem.GetRecommendedRenderTargetSize_callback GetRecommendedRenderTargetSize; public interface GetRecommendedRenderTargetSize_callback extends Callback { void apply(IntBuffer pnWidth, IntBuffer pnHeight); }; } 

Intellij lo traduce automáticamente a

 var GetRecommendedRenderTargetSize: IVRSystem.GetRecommendedRenderTargetSize_callback? = null interface GetRecommendedRenderTargetSize_callback : Callback { fun apply(pnWidth: IntBuffer, pnHeight: IntBuffer) } 

Lo cambié a:

 fun getRecommendedRenderTargetSize(pnWidth: IntBuffer, pnHeight: IntBuffer) = GetRecommendedRenderTargetSize_callback.apply(pnWidth, pnHeight) interface GetRecommendedRenderTargetSize_callback : Callback { fun apply(pnWidth: IntBuffer, pnHeight: IntBuffer) } 

pero se queja

reference no resuelta: aplicar

¿Por qué? ¿Cómo puedo arreglar eso?

Para reference, código C ++

 class IVRSystem { public: virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; } 

GetRecommendedRenderTargetSize_callback es una interfaz.

La interfaz en sí no tiene una function de apply(IntBuffer, IntBuffer) pero define dicha function para implementar instancias de la interfaz.

Necesitará una instancia de un object que implemente su interfaz para poder llamar a su function "aplicar", pero no sería un "puerto" del código Java que proporcionó.