summaryrefslogtreecommitdiff
path: root/wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'wrapper.c')
-rw-r--r--wrapper.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/wrapper.c b/wrapper.c
index 2af3974..7519a96 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -24,4 +24,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;
+}
+
+git_remote_callbacks _go_git_remote_callbacks_init() {
+ git_remote_callbacks ret = GIT_REMOTE_CALLBACKS_INIT;
+ return ret;
+}
+
+void _go_git_set_strarray_n(git_strarray *array, char *str, size_t n) {
+ array->strings[n] = str;
+}
+
+char *_go_git_get_strarray_n(git_strarray *array, size_t n) {
+ return array->strings[n];
+}
+
/* EOF */