Convertir Ptr () a SourceCompletionProvider

He resuelto elprev pregunta parcialmente

Ahora mismo puedo registrarmeGObject subtipo viabindings-gobject (verhpase) Puedo implementarSourceCompletionProvider utilizandoc'g_type_add_interface_static Función (pero no probado todavía).

El único problema es convertirPtr (), devuelto porc'g_object_newv, agtk2hs tipo de datosSourceCompletionProvider. ¿Cómo puedo hacerlo? ¿Alguna pista?

SourceCompletionProvider Se define como:

newtype SourceCompletionProvider = SourceCompletionProvider (ForeignPtr (SourceCompletionProvider))

¿Qué significa esta definición? ¿Por qué es recursivo? Proveedor es unForeignPtr Para el proveedor - se ve extraño para mí.

Gracias.

Solución:

makeNewGObject mkGObject $ castPtr <
makeNewGObject mkGObject $ castPtr <$> c'g_object_newv myObType 0 nullPtr
gt; c'g_object_newv myObType 0 nullPtr

Respuestas a la pregunta(1)

Su respuesta a la pregunta