Here is the function im wrapping a c wrapper for a c++ opencv function and below it my wrapper
bool cv_VideoCapture_isOpened0(VideoCapture* self) {
return self->isOpened();
}
(cffi:defcfun ("cv_VideoCapture_isOpened0" %vid-cap-cam-is-open) :pointer
(self (:pointer video-capture)))
not sure how to call the bool return type, the below defun didnt work using pointer for return type or int on defcfun and casting from boolean inside the defun below with (convert-from-foreign ,var :boolean). when i used a pointer return type, as swig wraps it i mem-refed or mem-arefed the defcun as :int in my defun below
(defun video-cap-cam-is-open (self)
(convert-from-foreign
(%video-cap-cam-is-open self) :boolean))
in c++ the cout output of the functions im wrapping are 1 for the first one and 0 for the one after cap.release(); is called
cout << "a =" << cap.isOpened(); = 1
cap.release();
cout << "b = " << cap.isOpened(); = 0
function documentation for function im wrapping is here
http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=videoca#void%20VideoCapture::release()