summaryrefslogtreecommitdiff
path: root/wrapper.c
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2014-03-18 05:21:35 +0100
committerCarlos Martín Nieto <[email protected]>2014-03-18 05:21:35 +0100
commit5f35f137372917332cd329cf723a9d005e13d582 (patch)
tree5fb0ce34a23761b99d4873f6d241545a4b84e32d /wrapper.c
parentdbdbb4b0d124ef1f00cb67f84cef2ea35278aeef (diff)
parent51aa76d6f7170bba60ab2252b74a3cab0276996f (diff)
Merge pull request #61 from jezell/remotes-wip
Cleaned up remotes / clone / add push / fetch
Diffstat (limited to 'wrapper.c')
-rw-r--r--wrapper.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/wrapper.c b/wrapper.c
index 4ce4c5c..0fa6c48 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -25,6 +25,31 @@ int _go_git_odb_foreach(git_odb *db, void *payload)
return git_odb_foreach(db, (git_odb_foreach_cb)&odbForEachCb, payload);
}
+void _go_git_setup_callbacks(git_remote_callbacks *callbacks) {
+ typedef int (*progress_cb)(const char *str, int len, void *data);
+ typedef int (*completion_cb)(git_remote_completion_type type, void *data);
+ typedef int (*credentials_cb)(git_cred **cred, const char *url, const char *username_from_url, unsigned int allowed_types, void *data);
+ typedef int (*transfer_progress_cb)(const git_transfer_progress *stats, void *data);
+ typedef int (*update_tips_cb)(const char *refname, const git_oid *a, const git_oid *b, void *data);
+ callbacks->progress = (progress_cb)progressCallback;
+ callbacks->completion = (completion_cb)completionCallback;
+ callbacks->credentials = (credentials_cb)credentialsCallback;
+ callbacks->transfer_progress = (transfer_progress_cb)transferProgressCallback;
+ callbacks->update_tips = (update_tips_cb)updateTipsCallback;
+}
+
+typedef int (*status_foreach_cb)(const char *ref, const char *msg, void *data);
+
+int _go_git_push_status_foreach(git_push *push, void *data)
+{
+ return git_push_status_foreach(push, (status_foreach_cb)statusForeach, data);
+}
+
+int _go_git_push_set_callbacks(git_push *push, void *packbuilder_progress_data, void *transfer_progress_data)
+{
+ return git_push_set_callbacks(push, packbuilderProgress, packbuilder_progress_data, pushTransferProgress, transfer_progress_data);
+}
+
int _go_blob_chunk_cb(char *buffer, size_t maxLen, void *payload)
{
return blobChunkCb(buffer, maxLen, payload);