Mercurial > sci
annotate scid/db.h @ 18:600204c31bf0
misc: refactor
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 12 Jul 2022 20:20:51 +0200 |
parents | db.h@3ef8128e244f |
children |
rev | line source |
---|---|
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
1 /* |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
2 * db.h -- scid database access |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
3 * |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
4 * Copyright (c) 2021 David Demelier <markand@malikania.fr> |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
5 * |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
9 * |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
17 */ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
18 |
0 | 19 #ifndef SCI_DB_H |
20 #define SCI_DB_H | |
21 | |
22 #include <sys/types.h> | |
23 #include <stddef.h> | |
24 | |
25 struct project; | |
26 struct worker; | |
27 struct job; | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
28 struct jobresult; |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
29 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
30 struct db_ctx { |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
31 void *handle; |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
32 }; |
0 | 33 |
34 int | |
35 db_open(const char *); | |
36 | |
37 int | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
38 db_job_add(struct job *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
39 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
40 ssize_t |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
41 db_job_todo(struct db_ctx *, struct job *, size_t, int); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
42 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
43 int |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
44 db_jobresult_add(struct jobresult *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
45 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
46 int |
0 | 47 db_project_add(struct project *); |
48 | |
9
3ef8128e244f
sci: add project-update command
David Demelier <markand@malikania.fr>
parents:
5
diff
changeset
|
49 int |
3ef8128e244f
sci: add project-update command
David Demelier <markand@malikania.fr>
parents:
5
diff
changeset
|
50 db_project_update(const struct project *); |
3ef8128e244f
sci: add project-update command
David Demelier <markand@malikania.fr>
parents:
5
diff
changeset
|
51 |
0 | 52 ssize_t |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
53 db_project_list(struct db_ctx *, struct project *, size_t); |
0 | 54 |
55 int | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
56 db_project_find(struct db_ctx *, struct project *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
57 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
58 int |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
59 db_project_find_id(struct db_ctx *, struct project *); |
0 | 60 |
61 int | |
62 db_worker_add(struct worker *); | |
63 | |
64 ssize_t | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
65 db_worker_list(struct db_ctx *, struct worker *, size_t); |
1
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
66 |
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
67 int |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
68 db_worker_find(struct db_ctx *, struct worker *); |
1
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
69 |
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
70 int |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
71 db_worker_find_id(struct db_ctx *, struct worker *); |
0 | 72 |
73 void | |
74 db_finish(void); | |
75 | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
76 void |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
77 db_ctx_finish(struct db_ctx *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
78 |
0 | 79 #endif /* !SCI_DB_H */ |