I have been working with CFFI from quicklisp and am a bit puzzled about translate-from-foreign with defcstruct. The documentation says:
"A user wishing to define other translations should use the :class argument to [defcstruct], page 33, and then define methods for [translate-from-foreign], page 52 and [translate-into-foreign-memory], page 54 that specialize on this class, possibly calling call-next-method to translate from and to the plists rather than provide a direct interface to the foreign object."
But I don't see any documentation of the class option to defcstruct.
Is there an example of writing one of these translators for a class somewhere? I've been having quite a bit of trouble. I have created a class for defcstuct (just using the source to try to use it properly), (cffi:defcstruct (node :class node-class) ...) and then have tried to make a translate-from-foreign method dispatching on NUSMV-NODE::NODE-CLASS. I get the error that my new class NUSMV-NODE::NODE-CLASS is not found:
unknown CFFI type: NUSMV-NODE::NODE-CLASS.
when I try to invoke this. But (FIND-CLASS 'NUSMV-NODE::NODE-CLASS) finds it successfully. I suspect this has something to do with things going awry in find-type-parser, but am insufficiently familiar with the code or intention to make further process.
Thanks for any help, R