diff options
| author | Aidan Nulman <[email protected]> | 2013-12-19 00:33:23 -0500 |
|---|---|---|
| committer | Aidan Nulman <[email protected]> | 2013-12-19 00:33:23 -0500 |
| commit | 19b241bd55966f495b7e32f56dc54b42a13dd0b8 (patch) | |
| tree | 814feca40af628cd4eada6e0822e315c39cd592b /odb.go | |
| parent | dfe6d1ab7efa8bb480616eb5f3962989b4ac3096 (diff) | |
Refactor InitRepositoryWCustomOdbBackend() into component functions
Diffstat (limited to 'odb.go')
| -rw-r--r-- | odb.go | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -17,8 +17,29 @@ type Odb struct { ptr *C.git_odb } +// OdbBackends need public Ptrs: client apps init the backend type OdbBackend struct { - ptr *C.git_odb_backend + Ptr *C.git_odb_backend +} + +func InitOdb() (odb *Odb, err error) { + odb = new(Odb) + + ret := C.git_odb_new(&odb.ptr) + if ret < 0 { + return nil, LastError() + } + + runtime.SetFinalizer(odb, (*Odb).Free) + return +} + +func (v *Odb) AddBackend(backend *OdbBackend, priority int) (err error) { + ret := C.git_odb_add_backend(v.ptr, backend.Ptr, C.int(priority)) + if ret < 0 { + err = LastError() + } + return nil } func (v *Odb) Exists(oid *Oid) bool { |
