summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert G. Jakabosky <bobby@sharedrealm.com>2012-05-11 22:50:42 -0700
committerRobert G. Jakabosky <bobby@sharedrealm.com>2012-05-11 22:50:42 -0700
commit7890a1c931f8435d91ac4c0a041a6476844fe4c9 (patch)
tree915a3fcecd0ff839eba41a81c5c264b17b51a565
parentf66ecb9b9900404348857b712b46e1918a2fba45 (diff)
downloadluagit2-7890a1c931f8435d91ac4c0a041a6476844fe4c9.tar.gz
Update generated bindings.
-rw-r--r--src/pre_generated-git2.nobj.c721
1 files changed, 678 insertions, 43 deletions
diff --git a/src/pre_generated-git2.nobj.c b/src/pre_generated-git2.nobj.c
index 5225033..f1c2317 100644
--- a/src/pre_generated-git2.nobj.c
+++ b/src/pre_generated-git2.nobj.c
@@ -233,54 +233,60 @@ static obj_type obj_types[] = {
#define obj_type_id_Repository 1
#define obj_type_Repository (obj_types[obj_type_id_Repository])
{ NULL, 1, OBJ_TYPE_FLAG_WEAK_REF, "Repository" },
-#define obj_type_id_OdbObject 2
+#define obj_type_id_Config 2
+#define obj_type_Config (obj_types[obj_type_id_Config])
+ { NULL, 2, OBJ_TYPE_FLAG_WEAK_REF, "Config" },
+#define obj_type_id_OdbObject 3
#define obj_type_OdbObject (obj_types[obj_type_id_OdbObject])
- { NULL, 2, OBJ_TYPE_FLAG_WEAK_REF, "OdbObject" },
-#define obj_type_id_OID 3
+ { NULL, 3, OBJ_TYPE_FLAG_WEAK_REF, "OdbObject" },
+#define obj_type_id_OID 4
#define obj_type_OID (obj_types[obj_type_id_OID])
- { NULL, 3, OBJ_TYPE_SIMPLE, "OID" },
-#define obj_type_id_OID_Shorten 4
+ { NULL, 4, OBJ_TYPE_SIMPLE, "OID" },
+#define obj_type_id_OID_Shorten 5
#define obj_type_OID_Shorten (obj_types[obj_type_id_OID_Shorten])
- { NULL, 4, OBJ_TYPE_FLAG_WEAK_REF, "OID_Shorten" },
-#define obj_type_id_ODB 5
+ { NULL, 5, OBJ_TYPE_FLAG_WEAK_REF, "OID_Shorten" },
+#define obj_type_id_ODB 6
#define obj_type_ODB (obj_types[obj_type_id_ODB])
- { NULL, 5, OBJ_TYPE_FLAG_WEAK_REF, "ODB" },
-#define obj_type_id_Index 6
+ { NULL, 6, OBJ_TYPE_FLAG_WEAK_REF, "ODB" },
+#define obj_type_id_ODBBackend 7
+#define obj_type_ODBBackend (obj_types[obj_type_id_ODBBackend])
+ { NULL, 7, OBJ_TYPE_FLAG_WEAK_REF, "ODBBackend" },
+#define obj_type_id_Index 8
#define obj_type_Index (obj_types[obj_type_id_Index])
- { NULL, 6, OBJ_TYPE_FLAG_WEAK_REF, "Index" },
-#define obj_type_id_IndexEntry 7
+ { NULL, 8, OBJ_TYPE_FLAG_WEAK_REF, "Index" },
+#define obj_type_id_IndexEntry 9
#define obj_type_IndexEntry (obj_types[obj_type_id_IndexEntry])
- { NULL, 7, OBJ_TYPE_FLAG_WEAK_REF, "IndexEntry" },
-#define obj_type_id_IndexEntryUnmerged 8
+ { NULL, 9, OBJ_TYPE_FLAG_WEAK_REF, "IndexEntry" },
+#define obj_type_id_IndexEntryUnmerged 10
#define obj_type_IndexEntryUnmerged (obj_types[obj_type_id_IndexEntryUnmerged])
- { NULL, 8, OBJ_TYPE_FLAG_WEAK_REF, "IndexEntryUnmerged" },
-#define obj_type_id_Object 9
+ { NULL, 10, OBJ_TYPE_FLAG_WEAK_REF, "IndexEntryUnmerged" },
+#define obj_type_id_Object 11
#define obj_type_Object (obj_types[obj_type_id_Object])
- { dyn_caster_Object, 9, OBJ_TYPE_FLAG_WEAK_REF, "Object" },
-#define obj_type_id_Blob 10
+ { dyn_caster_Object, 11, OBJ_TYPE_FLAG_WEAK_REF, "Object" },
+#define obj_type_id_Blob 12
#define obj_type_Blob (obj_types[obj_type_id_Blob])
- { NULL, 10, OBJ_TYPE_FLAG_WEAK_REF, "Blob" },
-#define obj_type_id_Signature 11
+ { NULL, 12, OBJ_TYPE_FLAG_WEAK_REF, "Blob" },
+#define obj_type_id_Signature 13
#define obj_type_Signature (obj_types[obj_type_id_Signature])
- { NULL, 11, OBJ_TYPE_FLAG_WEAK_REF, "Signature" },
-#define obj_type_id_Commit 12
+ { NULL, 13, OBJ_TYPE_FLAG_WEAK_REF, "Signature" },
+#define obj_type_id_Commit 14
#define obj_type_Commit (obj_types[obj_type_id_Commit])
- { NULL, 12, OBJ_TYPE_FLAG_WEAK_REF, "Commit" },
-#define obj_type_id_Tree 13
+ { NULL, 14, OBJ_TYPE_FLAG_WEAK_REF, "Commit" },
+#define obj_type_id_Tree 15
#define obj_type_Tree (obj_types[obj_type_id_Tree])
- { NULL, 13, OBJ_TYPE_FLAG_WEAK_REF, "Tree" },
-#define obj_type_id_TreeEntry 14
+ { NULL, 15, OBJ_TYPE_FLAG_WEAK_REF, "Tree" },
+#define obj_type_id_TreeEntry 16
#define obj_type_TreeEntry (obj_types[obj_type_id_TreeEntry])
- { NULL, 14, OBJ_TYPE_FLAG_WEAK_REF, "TreeEntry" },
-#define obj_type_id_Tag 15
+ { NULL, 16, OBJ_TYPE_FLAG_WEAK_REF, "TreeEntry" },
+#define obj_type_id_Tag 17
#define obj_type_Tag (obj_types[obj_type_id_Tag])
- { NULL, 15, OBJ_TYPE_FLAG_WEAK_REF, "Tag" },
-#define obj_type_id_RevWalk 16
+ { NULL, 17, OBJ_TYPE_FLAG_WEAK_REF, "Tag" },
+#define obj_type_id_RevWalk 18
#define obj_type_RevWalk (obj_types[obj_type_id_RevWalk])
- { NULL, 16, OBJ_TYPE_FLAG_WEAK_REF, "RevWalk" },
-#define obj_type_id_Reference 17
+ { NULL, 18, OBJ_TYPE_FLAG_WEAK_REF, "RevWalk" },
+#define obj_type_id_Reference 19
#define obj_type_Reference (obj_types[obj_type_id_Reference])
- { NULL, 17, OBJ_TYPE_FLAG_WEAK_REF, "Reference" },
+ { NULL, 19, OBJ_TYPE_FLAG_WEAK_REF, "Reference" },
{NULL, -1, 0, NULL},
};
@@ -1017,6 +1023,15 @@ static FUNC_UNUSED int lua_checktype_ref(lua_State *L, int _index, int _type) {
#define obj_type_Repository_push(L, obj, flags) \
obj_udata_luapush_weak(L, (void *)obj, &(obj_type_Repository), flags)
+#define obj_type_Config_check(L, _index) \
+ obj_udata_luacheck(L, _index, &(obj_type_Config))
+#define obj_type_Config_optional(L, _index) \
+ obj_udata_luaoptional(L, _index, &(obj_type_Config))
+#define obj_type_Config_delete(L, _index, flags) \
+ obj_udata_luadelete_weak(L, _index, &(obj_type_Config), flags)
+#define obj_type_Config_push(L, obj, flags) \
+ obj_udata_luapush_weak(L, (void *)obj, &(obj_type_Config), flags)
+
#define obj_type_OdbObject_check(L, _index) \
obj_udata_luacheck(L, _index, &(obj_type_OdbObject))
#define obj_type_OdbObject_optional(L, _index) \
@@ -1053,6 +1068,15 @@ static FUNC_UNUSED int lua_checktype_ref(lua_State *L, int _index, int _type) {
#define obj_type_ODB_push(L, obj, flags) \
obj_udata_luapush_weak(L, (void *)obj, &(obj_type_ODB), flags)
+#define obj_type_ODBBackend_check(L, _index) \
+ obj_udata_luacheck(L, _index, &(obj_type_ODBBackend))
+#define obj_type_ODBBackend_optional(L, _index) \
+ obj_udata_luaoptional(L, _index, &(obj_type_ODBBackend))
+#define obj_type_ODBBackend_delete(L, _index, flags) \
+ obj_udata_luadelete_weak(L, _index, &(obj_type_ODBBackend), flags)
+#define obj_type_ODBBackend_push(L, obj, flags) \
+ obj_udata_luapush_weak(L, (void *)obj, &(obj_type_ODBBackend), flags)
+
#define obj_type_Index_check(L, _index) \
obj_udata_luacheck(L, _index, &(obj_type_Index))
#define obj_type_Index_optional(L, _index) \
@@ -1167,6 +1191,8 @@ typedef git_strarray StrArray;
typedef git_repository Repository;
+typedef git_config Config;
+
typedef git_odb_object OdbObject;
typedef git_oid OID;
@@ -1175,6 +1201,189 @@ typedef git_oid_shorten OID_Shorten;
typedef git_odb ODB;
+#include <git2/odb_backend.h>
+
+typedef struct ODBBackend {
+ git_odb_backend backend;
+ lua_State *L;
+ int read;
+ int read_prefix;
+ int read_header;
+ int write;
+ int exists;
+ int free;
+ int ref_count;
+} ODBBackend;
+
+static void ODBBackend_ref(ODBBackend *backend) {
+ backend->ref_count++;
+}
+
+static void ODBBackend_unref(ODBBackend *backend) {
+ lua_State *L = backend->L;
+ if((--backend->ref_count) == 0) {
+ luaL_unref(L, LUA_REGISTRYINDEX, backend->read);
+ luaL_unref(L, LUA_REGISTRYINDEX, backend->read_prefix);
+ luaL_unref(L, LUA_REGISTRYINDEX, backend->read_header);
+ luaL_unref(L, LUA_REGISTRYINDEX, backend->write);
+ luaL_unref(L, LUA_REGISTRYINDEX, backend->exists);
+ luaL_unref(L, LUA_REGISTRYINDEX, backend->free);
+ free(backend);
+ }
+}
+
+static int odb_backend_read_cb(void **data_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
+{
+ ODBBackend *lua_backend = (ODBBackend *)backend;
+ lua_State *L = lua_backend->L;
+ const char *ldata;
+ size_t len;
+ int err;
+
+ /* get Lua callback function. */
+ lua_rawgeti(L, LUA_REGISTRYINDEX, lua_backend->read);
+
+ obj_type_OID_push(L, *((OID *)oid));
+ /* call Lua function. */
+ lua_call(L, 1, 2);
+ ldata = lua_tolstring(L, -2, &len);
+ if(ldata) {
+ char *data;
+ /* parse otype value. */
+ int arg_type = lua_type(L, -1);
+ if(arg_type == LUA_TNUMBER) {
+ *type_p = lua_tointeger(L, -1);
+ } else if(arg_type == LUA_TSTRING) {
+ *type_p = git_object_string2type(lua_tostring(L, -1));
+ }
+ *len_p = len;
+ /* allocate buffer for data. */
+ data = malloc(len);
+ *data_p = data;
+ if(data == NULL) {
+ return GIT_ENOMEM;
+ }
+ /* copy data. */
+ memcpy(data, ldata, len);
+ err = GIT_SUCCESS;
+ } else if(lua_isnil(L, -2)) {
+ *data_p = NULL;
+ /* backend returned an error. */
+ err = lua_tointeger(L, -1);
+ } else {
+ *data_p = NULL;
+ /* bad return value from lua backend. */
+ err = GIT_EOBJTYPE;
+ }
+
+ return err;
+}
+
+static int odb_backend_read_prefix_cb(git_oid *out_oid, void **data_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *short_oid, unsigned int len)
+{
+ *data_p = NULL;
+ if(len >= GIT_OID_HEXSZ) {
+ int rc = odb_backend_read_cb(data_p, len_p, type_p, backend, short_oid);
+ if(rc == GIT_SUCCESS) {
+ git_oid_cpy(out_oid, short_oid);
+ }
+ return rc;
+ }
+ return GIT_ENOTIMPLEMENTED;
+}
+
+static int odb_backend_read_header_cb(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
+{
+ ODBBackend *lua_backend = (ODBBackend *)backend;
+ lua_State *L = lua_backend->L;
+ int err;
+ int arg_type;
+
+ /* get Lua callback function. */
+ lua_rawgeti(L, LUA_REGISTRYINDEX, lua_backend->read_header);
+
+ obj_type_OID_push(L, *((OID *)oid));
+ /* call Lua function. */
+ lua_call(L, 1, 2);
+
+ arg_type = lua_type(L, -2);
+ if(arg_type == LUA_TSTRING || arg_type == LUA_TNUMBER) {
+ /* parse data length. */
+ *len_p = lua_tonumber(L, -2);
+ /* parse otype value. */
+ lua_type(L, -1);
+ if(arg_type == LUA_TNUMBER) {
+ *type_p = lua_tointeger(L, -1);
+ } else if(arg_type == LUA_TSTRING) {
+ *type_p = git_object_string2type(lua_tostring(L, -1));
+ }
+ err = GIT_SUCCESS;
+ } else if(arg_type == LUA_TNIL) {
+ /* backend returned an error. */
+ err = lua_tointeger(L, -1);
+ } else {
+ /* bad return value from lua backend. */
+ err = GIT_EOBJTYPE;
+ }
+
+ return err;
+}
+
+static int odb_backend_write_cb(git_oid *oid, git_odb_backend *backend, const void *data, size_t len, git_otype type)
+{
+ ODBBackend *lua_backend = (ODBBackend *)backend;
+ lua_State *L = lua_backend->L;
+ int err;
+
+ /* get Lua callback function. */
+ lua_rawgeti(L, LUA_REGISTRYINDEX, lua_backend->write);
+
+ /* push data onto stack. */
+ lua_pushlstring(L, data, len);
+ /* push otype */
+ lua_pushstring(L, git_object_type2string(type));
+
+ /* call Lua function. */
+ lua_call(L, 2, 2);
+ if(!lua_isnil(L, -2)) {
+ *oid = obj_type_OID_check(L,-2);
+ err = GIT_SUCCESS;
+ } else {
+ err = lua_tointeger(L, -1);
+ }
+
+ return err;
+}
+
+static int odb_backend_exists_cb(git_odb_backend *backend, const git_oid *oid)
+{
+ ODBBackend *lua_backend = (ODBBackend *)backend;
+ lua_State *L = lua_backend->L;
+
+ /* get Lua callback function. */
+ lua_rawgeti(L, LUA_REGISTRYINDEX, lua_backend->exists);
+
+ obj_type_OID_push(L, *((OID *)oid));
+ /* call Lua function. */
+ lua_call(L, 1, 1);
+ return lua_tointeger(L, -1);
+}
+
+static void odb_backend_free_cb(git_odb_backend *backend)
+{
+ ODBBackend *lua_backend = (ODBBackend *)backend;
+ lua_State *L = lua_backend->L;
+
+ /* get Lua callback function. */
+ lua_rawgeti(L, LUA_REGISTRYINDEX, lua_backend->free);
+
+ /* call Lua function. */
+ lua_call(L, 0, 0);
+
+ ODBBackend_unref(lua_backend);
+}
+
+
typedef git_index Index;
typedef git_index_entry IndexEntry;
@@ -1411,6 +1620,30 @@ static int Repository__set_workdir__meth(lua_State *L) {
return 2;
}
+/* method: config */
+static int Repository__config__meth(lua_State *L) {
+ Repository * this_idx1 = obj_type_Repository_check(L,1);
+ int config_flags_idx1 = OBJ_UDATA_FLAG_OWN;
+ Config * config_idx1;
+ GitError err_idx2 = GIT_SUCCESS;
+ err_idx2 = git_repository_config(&(config_idx1), this_idx1);
+ if(!(GIT_SUCCESS != err_idx2)) {
+ obj_type_Config_push(L, config_idx1, config_flags_idx1);
+ } else {
+ lua_pushnil(L);
+ }
+ error_code__GitError__push(L, err_idx2);
+ return 2;
+}
+
+/* method: set_config */
+static int Repository__set_config__meth(lua_State *L) {
+ Repository * this_idx1 = obj_type_Repository_check(L,1);
+ Config * config_idx2 = obj_type_Config_check(L,2);
+ git_repository_set_config(this_idx1, config_idx2);
+ return 0;
+}
+
/* method: odb */
static int Repository__odb__meth(lua_State *L) {
Repository * this_idx1 = obj_type_Repository_check(L,1);
@@ -1459,6 +1692,235 @@ static int Repository__set_index__meth(lua_State *L) {
return 0;
}
+/* method: new */
+static int Config__new__meth(lua_State *L) {
+ int this_flags_idx1 = OBJ_UDATA_FLAG_OWN;
+ Config * this_idx1;
+ GitError err_idx2 = GIT_SUCCESS;
+ err_idx2 = git_config_new(&(this_idx1));
+ if(!(GIT_SUCCESS != err_idx2)) {
+ obj_type_Config_push(L, this_idx1, this_flags_idx1);
+ } else {
+ lua_pushnil(L);
+ }
+ error_code__GitError__push(L, err_idx2);
+ return 2;
+}
+
+/* method: open */
+static int Config__open__meth(lua_State *L) {
+ size_t path_len_idx1;
+ const char * path_idx1 = luaL_checklstring(L,1,&(path_len_idx1));
+ int this_flags_idx1 = OBJ_UDATA_FLAG_OWN;
+ Config * this_idx1;
+ GitError err_idx2 = GIT_SUCCESS;
+ err_idx2 = git_config_open_ondisk(&(this_idx1), path_idx1);
+ if(!(GIT_SUCCESS != err_idx2)) {
+ obj_type_Config_push(L, this_idx1, this_flags_idx1);
+ } else {
+ lua_pushnil(L);
+ }
+ error_code__GitError__push(L, err_idx2);
+ return 2;
+}
+
+/* method: free */
+static int Config__free__meth(lua_State *L) {
+ int this_flags_idx1 = 0;
+ Config * this_idx1 = obj_type_Config_delete(L,1,&(this_flags_idx1));
+ if(!(this_flags_idx1 & OBJ_UDATA_FLAG_OWN)) { return 0; }
+ git_config_free(this_idx1);
+ return 0;
+}
+
+/* method: add_file_ondisk */
+static int Config__add_file_ondisk__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t path_len_idx2;
+ const char * path_idx2 = luaL_checklstring(L,2,&(path_len_idx2));
+ int priority_idx3 = luaL_checkinteger(L,3);
+ GitError err_idx1 = GIT_SUCCESS;
+ err_idx1 = git_config_add_file_ondisk(this_idx1, path_idx2, priority_idx3);
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
+/* method: get_int32 */
+static int Config__get_int32__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ int32_t out_idx1 = 0;
+ GitError err_idx2 = GIT_SUCCESS;
+ err_idx2 = git_config_get_int32(this_idx1, name_idx2, &(out_idx1));
+ if(!(GIT_SUCCESS != err_idx2)) {
+ lua_pushinteger(L, out_idx1);
+ } else {
+ lua_pushnil(L);
+ }
+ error_code__GitError__push(L, err_idx2);
+ return 2;
+}
+
+/* method: set_int32 */
+static int Config__set_int32__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ int32_t value_idx3 = luaL_checkinteger(L,3);
+ GitError err_idx1 = GIT_SUCCESS;
+ err_idx1 = git_config_set_int32(this_idx1, name_idx2, value_idx3);
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
+/* method: get_int64 */
+static int Config__get_int64__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ int64_t out_idx1 = 0;
+ GitError err_idx2 = GIT_SUCCESS;
+ err_idx2 = git_config_get_int64(this_idx1, name_idx2, &(out_idx1));
+ if(!(GIT_SUCCESS != err_idx2)) {
+ lua_pushinteger(L, out_idx1);
+ } else {
+ lua_pushnil(L);
+ }
+ error_code__GitError__push(L, err_idx2);
+ return 2;
+}
+
+/* method: set_int64 */
+static int Config__set_int64__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ int64_t value_idx3 = luaL_checkinteger(L,3);
+ GitError err_idx1 = GIT_SUCCESS;
+ err_idx1 = git_config_set_int64(this_idx1, name_idx2, value_idx3);
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
+/* method: get_bool */
+static int Config__get_bool__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ bool out_idx1 = 0;
+ GitError err_idx2 = GIT_SUCCESS;
+ int out_int_idx3 = 0;
+ err_idx2 = git_config_get_bool(this_idx1, name_idx2, &(out_int_idx3));
+ out_idx1 = out_int_idx3;
+
+ if(!(GIT_SUCCESS != err_idx2)) {
+ lua_pushboolean(L, out_idx1);
+ } else {
+ lua_pushnil(L);
+ }
+ error_code__GitError__push(L, err_idx2);
+ return 2;
+}
+
+/* method: set_bool */
+static int Config__set_bool__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ bool value_idx2 = lua_toboolean(L,2);
+ size_t name_len_idx3;
+ const char * name_idx3 = luaL_checklstring(L,3,&(name_len_idx3));
+ GitError err_idx1 = GIT_SUCCESS;
+ int value_int_idx2 = 0;
+ value_int_idx2 = value_idx2 ? 1 : 0;
+
+ err_idx1 = git_config_set_bool(this_idx1, name_idx3, value_int_idx2);
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
+/* method: get_string */
+static int Config__get_string__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ const char * out_idx1 = NULL;
+ GitError err_idx2 = GIT_SUCCESS;
+ err_idx2 = git_config_get_string(this_idx1, name_idx2, &(out_idx1));
+ if(!(GIT_SUCCESS != err_idx2)) {
+ lua_pushstring(L, out_idx1);
+ } else {
+ lua_pushnil(L);
+ }
+ error_code__GitError__push(L, err_idx2);
+ return 2;
+}
+
+/* method: set_string */
+static int Config__set_string__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ size_t value_len_idx3;
+ const char * value_idx3 = luaL_checklstring(L,3,&(value_len_idx3));
+ GitError err_idx1 = GIT_SUCCESS;
+ err_idx1 = git_config_set_string(this_idx1, name_idx2, value_idx3);
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
+/* method: delete */
+static int Config__delete__meth(lua_State *L) {
+ Config * this_idx1 = obj_type_Config_check(L,1);
+ size_t name_len_idx2;
+ const char * name_idx2 = luaL_checklstring(L,2,&(name_len_idx2));
+ GitError err_idx1 = GIT_SUCCESS;
+ err_idx1 = git_config_delete(this_idx1, name_idx2);
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
/* method: free */
static int OdbObject__free__meth(lua_State *L) {
int this_flags_idx1 = 0;
@@ -1672,6 +2134,46 @@ static int ODB__free__meth(lua_State *L) {
return 0;
}
+/* method: add_backend */
+static int ODB__add_backend__meth(lua_State *L) {
+ ODB * this_idx1 = obj_type_ODB_check(L,1);
+ ODBBackend * backend_idx2 = obj_type_ODBBackend_check(L,2);
+ int priority_idx3 = luaL_checkinteger(L,3);
+ GitError err_idx1 = GIT_SUCCESS;
+ err_idx1 = git_odb_add_backend(this_idx1, &(backend_idx2->backend), priority_idx3);
+ ODBBackend_ref(backend_idx2);
+
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
+/* method: add_alternate */
+static int ODB__add_alternate__meth(lua_State *L) {
+ ODB * this_idx1 = obj_type_ODB_check(L,1);
+ ODBBackend * backend_idx2 = obj_type_ODBBackend_check(L,2);
+ int priority_idx3 = luaL_checkinteger(L,3);
+ GitError err_idx1 = GIT_SUCCESS;
+ err_idx1 = git_odb_add_alternate(this_idx1, &(backend_idx2->backend), priority_idx3);
+ ODBBackend_ref(backend_idx2);
+
+ /* check for error. */
+ if((GIT_SUCCESS != err_idx1)) {
+ lua_pushnil(L);
+ error_code__GitError__push(L, err_idx1);
+ } else {
+ lua_pushboolean(L, 1);
+ lua_pushnil(L);
+ }
+ return 2;
+}
+
/* method: read */
static int ODB__read__meth(lua_State *L) {
ODB * this_idx1 = obj_type_ODB_check(L,1);
@@ -1803,6 +2305,44 @@ static int ODB__hashfile__func(lua_State *L) {
return 2;
}
+/* method: new */
+static int ODBBackend__new__meth(lua_State *L) {
+ int this_flags_idx1 = OBJ_UDATA_FLAG_OWN;
+ ODBBackend * this_idx1;
+ luaL_checktype(L, 1, LUA_TTABLE);
+ lua_settop(L, 1);
+ /* create backend object. */
+ this_idx1 = calloc(1, sizeof(ODBBackend));
+ this_idx1->ref_count = 1;
+ this_idx1->L = L;
+ /* get each callback from table. */
+#define REF_CB(_name) \
+ lua_getfield(L, 1, "on_" #_name); \
+ this_idx1->_name = luaL_ref(L, LUA_REGISTRYINDEX); \
+ this_idx1->backend._name = odb_backend_ ## _name ## _cb;
+
+ REF_CB(read)
+ REF_CB(read_prefix)
+ REF_CB(read_header)
+ REF_CB(write)
+ REF_CB(exists)
+ REF_CB(free)
+#undef REF_CB
+
+ obj_type_ODBBackend_push(L, this_idx1, this_flags_idx1);
+ return 1;
+}
+
+/* method: _priv */
+static int ODBBackend__delete__meth(lua_State *L) {
+ int this_flags_idx1 = 0;
+ ODBBackend * this_idx1 = obj_type_ODBBackend_delete(L,1,&(this_flags_idx1));
+ if(!(this_flags_idx1 & OBJ_UDATA_FLAG_OWN)) { return 0; }
+ ODBBackend_unref(this_idx1);
+
+ return 0;
+}
+
/* method: bare */
static int Index__bare__meth(lua_State *L) {
size_t index_path_len_idx1;
@@ -2310,6 +2850,25 @@ static int Object__owner__meth(lua_State *L) {
return 1;
}
+/* method: type2string */
+static int Object__type2string__func(lua_State *L) {
+ git_otype otype_idx1 = luaL_checkinteger(L,1);
+ const char * rc_git_object_type2string_idx1 = NULL;
+ rc_git_object_type2string_idx1 = git_object_type2string(otype_idx1);
+ lua_pushstring(L, rc_git_object_type2string_idx1);
+ return 1;
+}
+
+/* method: string2type */
+static int Object__string2type__func(lua_State *L) {
+ size_t str_len_idx1;
+ const char * str_idx1 = luaL_checklstring(L,1,&(str_len_idx1));
+ git_otype rc_git_object_string2type_idx1;
+ rc_git_object_string2type_idx1 = git_object_string2type(str_idx1);
+ lua_pushinteger(L, rc_git_object_string2type_idx1);
+ return 1;
+}
+
static void dyn_caster_Object(void **obj, obj_type **type) {
Object * base_obj = (Object *)*obj;
switch(git_object_type(base_obj)) {
@@ -3141,6 +3700,8 @@ static const luaL_reg obj_Repository_methods[] = {
{"path", Repository__path__meth},
{"workdir", Repository__workdir__meth},
{"set_workdir", Repository__set_workdir__meth},
+ {"config", Repository__config__meth},
+ {"set_config", Repository__set_config__meth},
{"odb", Repository__odb__meth},
{"set_odb", Repository__set_odb__meth},
{"index", Repository__index__meth},
@@ -3167,6 +3728,46 @@ static const obj_const obj_Repository_constants[] = {
{NULL, NULL, 0.0 , 0}
};
+static const luaL_reg obj_Config_pub_funcs[] = {
+ {"new", Config__new__meth},
+ {"open", Config__open__meth},
+ {NULL, NULL}
+};
+
+static const luaL_reg obj_Config_methods[] = {
+ {"free", Config__free__meth},
+ {"add_file_ondisk", Config__add_file_ondisk__meth},
+ {"get_int32", Config__get_int32__meth},
+ {"set_int32", Config__set_int32__meth},
+ {"get_int64", Config__get_int64__meth},
+ {"set_int64", Config__set_int64__meth},
+ {"get_bool", Config__get_bool__meth},
+ {"set_bool", Config__set_bool__meth},
+ {"get_string", Config__get_string__meth},
+ {"set_string", Config__set_string__meth},
+ {"delete", Config__delete__meth},
+ {NULL, NULL}
+};
+
+static const luaL_reg obj_Config_metas[] = {
+ {"__gc", Config__free__meth},
+ {"__tostring", obj_udata_default_tostring},
+ {"__eq", obj_udata_default_equal},
+ {NULL, NULL}
+};
+
+static const obj_base obj_Config_bases[] = {
+ {-1, NULL}
+};
+
+static const obj_field obj_Config_fields[] = {
+ {NULL, 0, 0, 0}
+};
+
+static const obj_const obj_Config_constants[] = {
+ {NULL, NULL, 0.0 , 0}
+};
+
static const luaL_reg obj_OdbObject_pub_funcs[] = {
{NULL, NULL}
};
@@ -3277,6 +3878,8 @@ static const luaL_reg obj_ODB_pub_funcs[] = {
static const luaL_reg obj_ODB_methods[] = {
{"free", ODB__free__meth},
+ {"add_backend", ODB__add_backend__meth},
+ {"add_alternate", ODB__add_alternate__meth},
{"read", ODB__read__meth},
{"read_prefix", ODB__read_prefix__meth},
{"read_header", ODB__read_header__meth},
@@ -3304,6 +3907,34 @@ static const obj_const obj_ODB_constants[] = {
{NULL, NULL, 0.0 , 0}
};
+static const luaL_reg obj_ODBBackend_pub_funcs[] = {
+ {"new", ODBBackend__new__meth},
+ {NULL, NULL}
+};
+
+static const luaL_reg obj_ODBBackend_methods[] = {
+ {NULL, NULL}
+};
+
+static const luaL_reg obj_ODBBackend_metas[] = {
+ {"__gc", ODBBackend__delete__meth},
+ {"__tostring", obj_udata_default_tostring},
+ {"__eq", obj_udata_default_equal},
+ {NULL, NULL}
+};
+
+static const obj_base obj_ODBBackend_bases[] = {
+ {-1, NULL}
+};
+
+static const obj_field obj_ODBBackend_fields[] = {
+ {NULL, 0, 0, 0}
+};
+
+static const obj_const obj_ODBBackend_constants[] = {
+ {NULL, NULL, 0.0 , 0}
+};
+
static const luaL_reg obj_Index_pub_funcs[] = {
{"bare", Index__bare__meth},
{NULL, NULL}
@@ -3427,6 +4058,8 @@ static const obj_const obj_IndexEntryUnmerged_constants[] = {
};
static const luaL_reg obj_Object_pub_funcs[] = {
+ {"type2string", Object__type2string__func},
+ {"string2type", Object__string2type__func},
{NULL, NULL}
};
@@ -3465,10 +4098,10 @@ static const luaL_reg obj_Blob_pub_funcs[] = {
};
static const luaL_reg obj_Blob_methods[] = {
- {"id", Object__id__meth},
{"type", Object__type__meth},
- {"owner", Object__owner__meth},
{"free", Object__free__meth},
+ {"id", Object__id__meth},
+ {"owner", Object__owner__meth},
{"rawcontent", Blob__rawcontent__meth},
{"rawsize", Blob__rawsize__meth},
{NULL, NULL}
@@ -3482,7 +4115,7 @@ static const luaL_reg obj_Blob_metas[] = {
};
static const obj_base obj_Blob_bases[] = {
- {9, NULL},
+ {11, NULL},
{-1, NULL}
};
@@ -3534,8 +4167,8 @@ static const luaL_reg obj_Commit_pub_funcs[] = {
static const luaL_reg obj_Commit_methods[] = {
{"type", Object__type__meth},
- {"owner", Object__owner__meth},
{"free", Object__free__meth},
+ {"owner", Object__owner__meth},
{"id", Commit__id__meth},
{"message_encoding", Commit__message_encoding__meth},
{"message", Commit__message__meth},
@@ -3557,7 +4190,7 @@ static const luaL_reg obj_Commit_metas[] = {
};
static const obj_base obj_Commit_bases[] = {
- {9, NULL},
+ {11, NULL},
{-1, NULL}
};
@@ -3575,10 +4208,10 @@ static const luaL_reg obj_Tree_pub_funcs[] = {
};
static const luaL_reg obj_Tree_methods[] = {
- {"id", Object__id__meth},
{"type", Object__type__meth},
- {"owner", Object__owner__meth},
{"free", Object__free__meth},
+ {"id", Object__id__meth},
+ {"owner", Object__owner__meth},
{"entrycount", Tree__entrycount__meth},
{"entry_byname", Tree__entry_byname__meth},
{"entry_byindex", Tree__entry_byindex__meth},
@@ -3593,7 +4226,7 @@ static const luaL_reg obj_Tree_metas[] = {
};
static const obj_base obj_Tree_bases[] = {
- {9, NULL},
+ {11, NULL},
{-1, NULL}
};
@@ -3641,10 +4274,10 @@ static const luaL_reg obj_Tag_pub_funcs[] = {
};
static const luaL_reg obj_Tag_methods[] = {
- {"id", Object__id__meth},
{"type", Object__type__meth},
- {"owner", Object__owner__meth},
{"free", Object__free__meth},
+ {"id", Object__id__meth},
+ {"owner", Object__owner__meth},
{"target", Tag__target__meth},
{"name", Tag__name__meth},
{"tagger", Tag__tagger__meth},
@@ -3660,7 +4293,7 @@ static const luaL_reg obj_Tag_metas[] = {
};
static const obj_base obj_Tag_bases[] = {
- {9, NULL},
+ {11, NULL},
{-1, NULL}
};
@@ -3868,10 +4501,12 @@ static const obj_const git2_constants[] = {
static const reg_sub_module reg_sub_modules[] = {
{ &(obj_type_StrArray), REG_OBJECT, obj_StrArray_pub_funcs, obj_StrArray_methods, obj_StrArray_metas, obj_StrArray_bases, obj_StrArray_fields, obj_StrArray_constants, 0},
{ &(obj_type_Repository), REG_OBJECT, obj_Repository_pub_funcs, obj_Repository_methods, obj_Repository_metas, obj_Repository_bases, obj_Repository_fields, obj_Repository_constants, 0},
+ { &(obj_type_Config), REG_OBJECT, obj_Config_pub_funcs, obj_Config_methods, obj_Config_metas, obj_Config_bases, obj_Config_fields, obj_Config_constants, 0},
{ &(obj_type_OdbObject), REG_OBJECT, obj_OdbObject_pub_funcs, obj_OdbObject_methods, obj_OdbObject_metas, obj_OdbObject_bases, obj_OdbObject_fields, obj_OdbObject_constants, 0},
{ &(obj_type_OID), REG_OBJECT, obj_OID_pub_funcs, obj_OID_methods, obj_OID_metas, obj_OID_bases, obj_OID_fields, obj_OID_constants, 0},
{ &(obj_type_OID_Shorten), REG_OBJECT, obj_OID_Shorten_pub_funcs, obj_OID_Shorten_methods, obj_OID_Shorten_metas, obj_OID_Shorten_bases, obj_OID_Shorten_fields, obj_OID_Shorten_constants, 0},
{ &(obj_type_ODB), REG_OBJECT, obj_ODB_pub_funcs, obj_ODB_methods, obj_ODB_metas, obj_ODB_bases, obj_ODB_fields, obj_ODB_constants, 0},
+ { &(obj_type_ODBBackend), REG_OBJECT, obj_ODBBackend_pub_funcs, obj_ODBBackend_methods, obj_ODBBackend_metas, obj_ODBBackend_bases, obj_ODBBackend_fields, obj_ODBBackend_constants, 0},
{ &(obj_type_Index), REG_OBJECT, obj_Index_pub_funcs, obj_Index_methods, obj_Index_metas, obj_Index_bases, obj_Index_fields, obj_Index_constants, 0},
{ &(obj_type_IndexEntry), REG_OBJECT, obj_IndexEntry_pub_funcs, obj_IndexEntry_methods, obj_IndexEntry_metas, obj_IndexEntry_bases, obj_IndexEntry_fields, obj_IndexEntry_constants, 0},
{ &(obj_type_IndexEntryUnmerged), REG_OBJECT, obj_IndexEntryUnmerged_pub_funcs, obj_IndexEntryUnmerged_methods, obj_IndexEntryUnmerged_metas, obj_IndexEntryUnmerged_bases, obj_IndexEntryUnmerged_fields, obj_IndexEntryUnmerged_constants, 0},