static int get_file_func (CameraFilesystem *fs, const char *folder, const char *filename, CameraFileType type, CameraFile *file, void *data, GPContext *context) { Camera *camera = data; int size, nr, result; nr = gp_filesystem_number(fs, folder, filename, context); if(nr < 0) return nr; switch (type) { #if 0 case GP_FILE_TYPE_RAW: result = jd11_get_image_full (camera, nr, &data, (int*) &size, 1); break; #endif case GP_FILE_TYPE_NORMAL: result = mdc800_getImage(camera,nr,&data,&size); break; case GP_FILE_TYPE_PREVIEW: result = mdc800_getThumbnail(camera,nr,&data,&size); break; default: return (GP_ERROR_NOT_SUPPORTED); } if (result < 0) return result; gp_file_set_mime_type (file, GP_MIME_JPEG); gp_file_set_data_and_size(file, data, size); return (GP_OK); }
struct Image* mdc800_get_picture (int picture_number,int thumbnail) { struct Image* bild=0; printFnkCall ("(mdc800_get_picture) called \n"); if (!mdc800_initialize ()) { return 0; } if (thumbnail) bild=mdc800_getThumbnail (picture_number); else bild=mdc800_getImage (picture_number); if (bild == 0) { mdc800_close (); } return bild; }