1 /*
2  * Copyright (C) the libgit2 contributors. All rights reserved.
3  *
4  * This file is part of libgit2, distributed under the GNU GPL v2 with
5  * a Linking Exception. For full terms see the included COPYING file.
6  */
7 
8 #include "common.h"
9 
10 #include "git2/object.h"
11 
12 #include "repository.h"
13 #include "commit.h"
14 #include "tree.h"
15 #include "blob.h"
16 #include "tag.h"
17 
18 /**
19  * Commit
20  */
git_commit_lookup(git_commit ** out,git_repository * repo,const git_oid * id)21 int git_commit_lookup(git_commit **out, git_repository *repo, const git_oid *id)
22 {
23 	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_COMMIT);
24 }
25 
git_commit_lookup_prefix(git_commit ** out,git_repository * repo,const git_oid * id,size_t len)26 int git_commit_lookup_prefix(git_commit **out, git_repository *repo, const git_oid *id, size_t len)
27 {
28 	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_COMMIT);
29 }
30 
git_commit_free(git_commit * obj)31 void git_commit_free(git_commit *obj)
32 {
33 	git_object_free((git_object *)obj);
34 }
35 
git_commit_id(const git_commit * obj)36 const git_oid *git_commit_id(const git_commit *obj)
37 {
38 	return git_object_id((const git_object *)obj);
39 }
40 
git_commit_owner(const git_commit * obj)41 git_repository *git_commit_owner(const git_commit *obj)
42 {
43 	return git_object_owner((const git_object *)obj);
44 }
45 
git_commit_dup(git_commit ** out,git_commit * obj)46 int git_commit_dup(git_commit **out, git_commit *obj)
47 {
48 	return git_object_dup((git_object **)out, (git_object *)obj);
49 }
50 
51 /**
52  * Tree
53  */
git_tree_lookup(git_tree ** out,git_repository * repo,const git_oid * id)54 int git_tree_lookup(git_tree **out, git_repository *repo, const git_oid *id)
55 {
56 	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_TREE);
57 }
58 
git_tree_lookup_prefix(git_tree ** out,git_repository * repo,const git_oid * id,size_t len)59 int git_tree_lookup_prefix(git_tree **out, git_repository *repo, const git_oid *id, size_t len)
60 {
61 	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_TREE);
62 }
63 
git_tree_free(git_tree * obj)64 void git_tree_free(git_tree *obj)
65 {
66 	git_object_free((git_object *)obj);
67 }
68 
git_tree_id(const git_tree * obj)69 const git_oid *git_tree_id(const git_tree *obj)
70 {
71 	return git_object_id((const git_object *)obj);
72 }
73 
git_tree_owner(const git_tree * obj)74 git_repository *git_tree_owner(const git_tree *obj)
75 {
76 	return git_object_owner((const git_object *)obj);
77 }
78 
git_tree_dup(git_tree ** out,git_tree * obj)79 int git_tree_dup(git_tree **out, git_tree *obj)
80 {
81 	return git_object_dup((git_object **)out, (git_object *)obj);
82 }
83 
84 /**
85  * Tag
86  */
git_tag_lookup(git_tag ** out,git_repository * repo,const git_oid * id)87 int git_tag_lookup(git_tag **out, git_repository *repo, const git_oid *id)
88 {
89 	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_TAG);
90 }
91 
git_tag_lookup_prefix(git_tag ** out,git_repository * repo,const git_oid * id,size_t len)92 int git_tag_lookup_prefix(git_tag **out, git_repository *repo, const git_oid *id, size_t len)
93 {
94 	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_TAG);
95 }
96 
git_tag_free(git_tag * obj)97 void git_tag_free(git_tag *obj)
98 {
99 	git_object_free((git_object *)obj);
100 }
101 
git_tag_id(const git_tag * obj)102 const git_oid *git_tag_id(const git_tag *obj)
103 {
104 	return git_object_id((const git_object *)obj);
105 }
106 
git_tag_owner(const git_tag * obj)107 git_repository *git_tag_owner(const git_tag *obj)
108 {
109 	return git_object_owner((const git_object *)obj);
110 }
111 
git_tag_dup(git_tag ** out,git_tag * obj)112 int git_tag_dup(git_tag **out, git_tag *obj)
113 {
114 	return git_object_dup((git_object **)out, (git_object *)obj);
115 }
116 
117 /**
118  * Blob
119  */
git_blob_lookup(git_blob ** out,git_repository * repo,const git_oid * id)120 int git_blob_lookup(git_blob **out, git_repository *repo, const git_oid *id)
121 {
122 	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_BLOB);
123 }
124 
git_blob_lookup_prefix(git_blob ** out,git_repository * repo,const git_oid * id,size_t len)125 int git_blob_lookup_prefix(git_blob **out, git_repository *repo, const git_oid *id, size_t len)
126 {
127 	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_BLOB);
128 }
129 
git_blob_free(git_blob * obj)130 void git_blob_free(git_blob *obj)
131 {
132 	git_object_free((git_object *)obj);
133 }
134 
git_blob_id(const git_blob * obj)135 const git_oid *git_blob_id(const git_blob *obj)
136 {
137 	return git_object_id((const git_object *)obj);
138 }
139 
git_blob_owner(const git_blob * obj)140 git_repository *git_blob_owner(const git_blob *obj)
141 {
142 	return git_object_owner((const git_object *)obj);
143 }
144 
git_blob_dup(git_blob ** out,git_blob * obj)145 int git_blob_dup(git_blob **out, git_blob *obj)
146 {
147 	return git_object_dup((git_object **)out, (git_object *)obj);
148 }
149