> > First, thanks for making this system, and apologies if this isn;t the list
> > for these questions but there appears to be no cffi-users list.
> >
> > In any case, is there any way to catch the underlying c++ exceptions
> > within a cffi-wrapper?  I have developed a C++ library that defines its
> > own exceptions and I would like to trap them and generate an appropriate
> > Lisp Condition.  At present deliberately triggering an error (say by
> > passingincorrect parameters to a constructor) gives me back a null
> > pointer.
>
> Btw, do you call out to your library, or you plan to just generate exceptions?
>
> If you do call out, how do you manage it?
>
> I mean, C++ name mangling is hard to keep with, etc...


I call out the library using the cffi foreign-function wrapper.  as per
the example in the cffi manual.  What I ended up doing was making use of
SWIG.  Swig can both parse C++ and generate CFFI wrappers and so I called
it to generate the wrappers.  However the existing code in swig has issues
so I was forced to hand-edit some of it.  It succeeded in handling the
name-mangling and so on but its attempted clos wrapper for the C++ had one
distinct problem, every method had an extra argument.

It duitifully generated a wrapper for the exception class that I defined
in C++ however objects of that instance are not, seemingly, returned by
the library at points where they should be.  Rather I get (what appears
to be) a null pointer instead.  I have not yet explored the potential for
trapping that pointer as an exception however.

>
> >     Thanks,
> >     Collin Lynch.
>
> regards, Samium Gromoff
>

        Felicitations,
        Collin Lynch.

_______________________________________________
cffi-devel mailing list
cffi-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

Reply via email to