diff options
| author | lhchavez <[email protected]> | 2020-12-01 19:11:41 -0800 |
|---|---|---|
| committer | lhchavez <[email protected]> | 2021-09-05 18:52:01 -0700 |
| commit | 5def02a589a2c1653f4bb515fdec290361a222be (patch) | |
| tree | b99d3a8204c27c902f711bc4f8f8b48baa8352bb /remote.go | |
| parent | 70e5e419cf0cab31553b106267a0296f3cd672d9 (diff) | |
The big Callback type adjustment of 2020
This change makes all callbacks that can fail return an `error`. This
makes things a lot more idiomatic.
Diffstat (limited to 'remote.go')
| -rw-r--r-- | remote.go | 59 |
1 files changed, 25 insertions, 34 deletions
@@ -69,15 +69,15 @@ const ( ConnectDirectionPush ConnectDirection = C.GIT_DIRECTION_PUSH ) -type TransportMessageCallback func(str string) ErrorCode -type CompletionCallback func(RemoteCompletion) ErrorCode +type TransportMessageCallback func(str string) error +type CompletionCallback func(RemoteCompletion) error type CredentialsCallback func(url string, username_from_url string, allowed_types CredentialType) (*Credential, error) -type TransferProgressCallback func(stats TransferProgress) ErrorCode -type UpdateTipsCallback func(refname string, a *Oid, b *Oid) ErrorCode -type CertificateCheckCallback func(cert *Certificate, valid bool, hostname string) ErrorCode -type PackbuilderProgressCallback func(stage int32, current, total uint32) ErrorCode -type PushTransferProgressCallback func(current, total uint32, bytes uint) ErrorCode -type PushUpdateReferenceCallback func(refname, status string) ErrorCode +type TransferProgressCallback func(stats TransferProgress) error +type UpdateTipsCallback func(refname string, a *Oid, b *Oid) error +type CertificateCheckCallback func(cert *Certificate, valid bool, hostname string) error +type PackbuilderProgressCallback func(stage int32, current, total uint32) error +type PushTransferProgressCallback func(current, total uint32, bytes uint) error +type PushUpdateReferenceCallback func(refname, status string) error type RemoteCallbacks struct { SidebandProgressCallback TransportMessageCallback @@ -329,10 +329,8 @@ func sidebandProgressCallback(errorMessage **C.char, _str *C.char, _len C.int, h if data.callbacks.SidebandProgressCallback == nil { return C.int(ErrorCodeOK) } - str := C.GoStringN(_str, _len) - ret := data.callbacks.SidebandProgressCallback(str) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.SidebandProgressCallback(C.GoStringN(_str, _len)) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } @@ -342,14 +340,13 @@ func sidebandProgressCallback(errorMessage **C.char, _str *C.char, _len C.int, h } //export completionCallback -func completionCallback(errorMessage **C.char, completion_type C.git_remote_completion_type, handle unsafe.Pointer) C.int { +func completionCallback(errorMessage **C.char, completionType C.git_remote_completion_type, handle unsafe.Pointer) C.int { data := pointerHandles.Get(handle).(*remoteCallbacksData) if data.callbacks.CompletionCallback == nil { return C.int(ErrorCodeOK) } - ret := data.callbacks.CompletionCallback(RemoteCompletion(completion_type)) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.CompletionCallback(RemoteCompletion(completionType)) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } @@ -396,9 +393,8 @@ func transferProgressCallback(errorMessage **C.char, stats *C.git_transfer_progr if data.callbacks.TransferProgressCallback == nil { return C.int(ErrorCodeOK) } - ret := data.callbacks.TransferProgressCallback(newTransferProgressFromC(stats)) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.TransferProgressCallback(newTransferProgressFromC(stats)) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } @@ -422,9 +418,8 @@ func updateTipsCallback( refname := C.GoString(_refname) a := newOidFromC(_a) b := newOidFromC(_b) - ret := data.callbacks.UpdateTipsCallback(refname, a, b) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.UpdateTipsCallback(refname, a, b) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } @@ -489,9 +484,8 @@ func certificateCheckCallback( return setCallbackError(errorMessage, err) } - ret := data.callbacks.CertificateCheckCallback(&cert, valid, host) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.CertificateCheckCallback(&cert, valid, host) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } @@ -507,9 +501,8 @@ func packProgressCallback(errorMessage **C.char, stage C.int, current, total C.u return C.int(ErrorCodeOK) } - ret := data.callbacks.PackProgressCallback(int32(stage), uint32(current), uint32(total)) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.PackProgressCallback(int32(stage), uint32(current), uint32(total)) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } @@ -525,9 +518,8 @@ func pushTransferProgressCallback(errorMessage **C.char, current, total C.uint, return C.int(ErrorCodeOK) } - ret := data.callbacks.PushTransferProgressCallback(uint32(current), uint32(total), uint(bytes)) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.PushTransferProgressCallback(uint32(current), uint32(total), uint(bytes)) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } @@ -543,9 +535,8 @@ func pushUpdateReferenceCallback(errorMessage **C.char, refname, status *C.char, return C.int(ErrorCodeOK) } - ret := data.callbacks.PushUpdateReferenceCallback(C.GoString(refname), C.GoString(status)) - if ret < 0 { - err := errors.New(ErrorCode(ret).String()) + err := data.callbacks.PushUpdateReferenceCallback(C.GoString(refname), C.GoString(status)) + if err != nil { if data.errorTarget != nil { *data.errorTarget = err } |
