summaryrefslogtreecommitdiff
path: root/src/git2/odb_backend.h
blob: 747f4e97a499ec8d2e6aa81a8d454f5ffb9c737b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef INCLUDE_git_odb_backend_h__
#define INCLUDE_git_odb_backend_h__

#include "common.h"
#include "types.h"
#include "oid.h"

GIT_BEGIN_DECL

struct git_odb_backend {
	git_odb *odb;

	int priority;

	int (* read)(
			git_rawobj *,
			struct git_odb_backend *,
			const git_oid *);

	int (* read_header)(
			git_rawobj *,
			struct git_odb_backend *,
			const git_oid *);

	int (* write)(
			git_oid *id,
			struct git_odb_backend *,
			git_rawobj *obj);

	int (* exists)(
			struct git_odb_backend *,
			const git_oid *);

	void (* free)(struct git_odb_backend *);

};

GIT_END_DECL

#endif