Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
jobs.h File Reference
#include <glib.h>
#include <inttypes.h>
#include <stddef.h>
#include "control/jobs/control_jobs.h"
#include "control/jobs/develop_jobs.h"
#include "control/jobs/film_jobs.h"
#include "control/jobs/image_jobs.h"
+ Include dependency graph for jobs.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DT_CONTROL_DESCRIPTION_LEN   256
 
#define DT_CTL_WORKER_RESERVED   2
 
#define DT_CTL_WORKER_DARKROOM_THUMB   0
 
#define DT_CTL_WORKER_DARKROOM_MAIN   1
 

Typedefs

typedef enum dt_job_state_t dt_job_state_t
 
typedef enum dt_job_queue_t dt_job_queue_t
 
typedef struct _dt_job_t dt_job_t
 
typedef int32_t(* dt_job_execute_callback) (dt_job_t *)
 
typedef void(* dt_job_state_change_callback) (dt_job_t *, dt_job_state_t state)
 
typedef void(* dt_job_destroy_callback) (void *data)
 

Enumerations

enum  dt_job_state_t {
  DT_JOB_STATE_INITIALIZED = 0 ,
  DT_JOB_STATE_QUEUED ,
  DT_JOB_STATE_RUNNING ,
  DT_JOB_STATE_FINISHED ,
  DT_JOB_STATE_CANCELLED ,
  DT_JOB_STATE_DISCARDED ,
  DT_JOB_STATE_DISPOSED
}
 
enum  dt_job_queue_t {
  DT_JOB_QUEUE_USER_FG = 0 ,
  DT_JOB_QUEUE_SYSTEM_FG = 1 ,
  DT_JOB_QUEUE_USER_BG = 2 ,
  DT_JOB_QUEUE_USER_EXPORT = 3 ,
  DT_JOB_QUEUE_SYSTEM_BG = 4 ,
  DT_JOB_QUEUE_MAX = 5
}
 

Functions

dt_job_tdt_control_job_create (dt_job_execute_callback execute, const char *msg,...) __attribute__((format(printf
 
dt_job_t void dt_control_job_dispose (dt_job_t *job)
 
void dt_control_job_set_state_callback (dt_job_t *job, dt_job_state_change_callback cb)
 
void dt_control_job_cancel (dt_job_t *job)
 
dt_job_state_t dt_control_job_get_state (dt_job_t *job)
 
void dt_control_job_wait (dt_job_t *job)
 
void dt_control_job_set_params (dt_job_t *job, void *params, dt_job_destroy_callback callback)
 
void dt_control_job_set_params_with_size (dt_job_t *job, void *params, size_t params_size, dt_job_destroy_callback callback)
 
voiddt_control_job_get_params (const dt_job_t *job)
 
void dt_control_job_add_progress (dt_job_t *job, const char *message, gboolean cancellable)
 
void dt_control_job_set_progress_message (dt_job_t *job, const char *message)
 
void dt_control_job_set_progress (dt_job_t *job, double value)
 
double dt_control_job_get_progress (dt_job_t *job)
 
void dt_control_jobs_init (struct dt_control_t *control)
 
void dt_control_jobs_cleanup (struct dt_control_t *control)
 
int dt_control_add_job (struct dt_control_t *control, dt_job_queue_t queue_id, dt_job_t *job)
 
int32_t dt_control_add_job_res (struct dt_control_t *s, dt_job_t *job, int32_t res)
 
int32_t dt_control_get_threadid ()
 

Macro Definition Documentation

◆ DT_CONTROL_DESCRIPTION_LEN

#define DT_CONTROL_DESCRIPTION_LEN   256

◆ DT_CTL_WORKER_DARKROOM_MAIN

#define DT_CTL_WORKER_DARKROOM_MAIN   1

◆ DT_CTL_WORKER_DARKROOM_THUMB

#define DT_CTL_WORKER_DARKROOM_THUMB   0

◆ DT_CTL_WORKER_RESERVED

#define DT_CTL_WORKER_RESERVED   2

Typedef Documentation

◆ dt_job_destroy_callback

typedef void(* dt_job_destroy_callback) (void *data)

◆ dt_job_execute_callback

typedef int32_t(* dt_job_execute_callback) (dt_job_t *)

◆ dt_job_queue_t

◆ dt_job_state_change_callback

typedef void(* dt_job_state_change_callback) (dt_job_t *, dt_job_state_t state)

◆ dt_job_state_t

◆ dt_job_t

typedef struct _dt_job_t dt_job_t

Enumeration Type Documentation

◆ dt_job_queue_t

Enumerator
DT_JOB_QUEUE_USER_FG 
DT_JOB_QUEUE_SYSTEM_FG 
DT_JOB_QUEUE_USER_BG 
DT_JOB_QUEUE_USER_EXPORT 
DT_JOB_QUEUE_SYSTEM_BG 
DT_JOB_QUEUE_MAX 

◆ dt_job_state_t

Enumerator
DT_JOB_STATE_INITIALIZED 
DT_JOB_STATE_QUEUED 
DT_JOB_STATE_RUNNING 
DT_JOB_STATE_FINISHED 
DT_JOB_STATE_CANCELLED 
DT_JOB_STATE_DISCARDED 
DT_JOB_STATE_DISPOSED 

Function Documentation

◆ dt_control_add_job()

int dt_control_add_job ( struct dt_control_t control,
dt_job_queue_t  queue_id,
dt_job_t job 
)

◆ dt_control_add_job_res()

◆ dt_control_get_threadid()

◆ dt_control_job_add_progress()

◆ dt_control_job_cancel()

void dt_control_job_cancel ( dt_job_t job)

◆ dt_control_job_create()

dt_job_t * dt_control_job_create ( dt_job_execute_callback  execute,
const char *  msg,
  ... 
)

create a new initialized job

◆ dt_control_job_dispose()

◆ dt_control_job_get_params()

◆ dt_control_job_get_progress()

double dt_control_job_get_progress ( dt_job_t job)

◆ dt_control_job_get_state()

◆ dt_control_job_set_params()

◆ dt_control_job_set_params_with_size()

void dt_control_job_set_params_with_size ( dt_job_t job,
void params,
size_t  params_size,
dt_job_destroy_callback  callback 
)

set job params (with size params_size) and a callback to destroy those params. NOTE: in most cases you want dt_control_job_set_params()

References dt_control_job_get_state(), DT_JOB_STATE_INITIALIZED, _dt_job_t::params, _dt_job_t::params_destroy, _dt_job_t::params_size, and params_size().

◆ dt_control_job_set_progress()

◆ dt_control_job_set_progress_message()

◆ dt_control_job_set_state_callback()

void dt_control_job_set_state_callback ( dt_job_t job,
dt_job_state_change_callback  cb 
)

setup a state callback for job.

References dt_control_job_get_state(), DT_JOB_STATE_INITIALIZED, and _dt_job_t::state_changed_cb.

◆ dt_control_job_wait()

◆ dt_control_jobs_cleanup()

◆ dt_control_jobs_init()