dt_job_t *dt_camera_import_job_create(const char *jobcode, GList *images, struct dt_camera_t *camera, time_t time_override) { dt_job_t *job = dt_control_job_create(&dt_camera_import_job_run, "import selected images from camera"); if(!job) return NULL; dt_camera_import_t *params = dt_camera_import_alloc(); if(!params) { dt_control_job_dispose(job); return NULL; } dt_control_job_add_progress(job, _("import images from camera"), FALSE); dt_control_job_set_params(job, params, dt_camera_import_cleanup); /* intitialize import session for camera import job */ if(time_override != 0) dt_import_session_set_time(params->shared.session, time_override); dt_import_session_set_name(params->shared.session, jobcode); params->fraction = 0; params->images = g_list_copy(images); params->camera = camera; params->import_count = 0; params->job = job; return job; }
void dt_camera_import_job_init(dt_job_t *job, const char *jobcode, GList *images, struct dt_camera_t *camera, time_t time_override) { dt_control_job_init(job, "import selected images from camera"); job->execute = &dt_camera_import_job_run; dt_camera_import_t *t = (dt_camera_import_t *)job->param; /* intitialize import session for camera import job */ t->shared.session = dt_import_session_new(); dt_import_session_set_name(t->shared.session, jobcode); if(time_override != 0) dt_import_session_set_time(t->shared.session, time_override); t->fraction=0; t->images=g_list_copy(images); t->camera=camera; t->import_count=0; }