Move nif functions to geef_nif

This commit is contained in:
Carlos Martín Nieto
2013-04-25 11:05:57 +02:00
parent 54d9e8b63a
commit 65227fe85b
10 changed files with 31 additions and 31 deletions

View File

@@ -140,4 +140,4 @@ static ErlNifFunc geef_funcs[] =
{"revwalk_reset", 1, geef_revwalk_reset},
};
ERL_NIF_INIT(geef, geef_funcs, load, NULL, upgrade, unload)
ERL_NIF_INIT(geef_nif, geef_funcs, load, NULL, upgrade, unload)

View File

@@ -17,10 +17,10 @@ id(Obj = #object{type=blob}) ->
geef_object:id(Obj).
size(#object{type=blob, handle=Handle}) ->
geef:blob_size(Handle).
geef_nif:blob_size(Handle).
content(#object{type=blob, handle=Handle}) ->
{ok, Content} = geef:blob_content(Handle),
{ok, Content} = geef_nif:blob_content(Handle),
Content.
@@ -28,7 +28,7 @@ content(#object{type=blob, handle=Handle}) ->
blob_size_test() ->
{ok, Repo} = geef_repo:open(".."),
Blob = lookup(Repo, "80d5c15a040c93a4f98f4496a05ebf30cdd58650"),
{ok, Blob} = lookup(Repo, "80d5c15a040c93a4f98f4496a05ebf30cdd58650"),
?assertMatch(889, ?MODULE:size(Blob)),
?assertMatch(889, erlang:size(content(Blob))).

View File

@@ -5,11 +5,11 @@
-spec tree_id(object()) -> oid().
tree_id(#object{type=commit,handle=Handle}) ->
Oid = geef:commit_tree_id(Handle),
Oid = geef_nif:commit_tree_id(Handle),
#oid{oid=Oid}.
tree(#object{type=commit,handle=Handle}) ->
case geef:commit_tree(Handle) of
case geef_nif:commit_tree(Handle) of
{ok, Type, Handle} ->
{ok, #object{type=Type, handle=Handle}};
Other ->

View File

@@ -1,7 +1,7 @@
%%% @private
%%% NIF functions, not to be used directly.
-module(geef).
-module(geef_nif).
-export([reference_list/1,
reference_to_id/2, reference_glob/2, reference_lookup/2, reference_resolve/1,
reference_target/1, reference_type/1, odb_object_exists/2, odb_write/3]).

View File

@@ -10,13 +10,13 @@
-spec exists(odb(), oid() | iolist()) -> boolean().
exists(#odb{handle=Handle}, #oid{oid=Oid}) ->
geef:odb_object_exists(Handle, Oid);
geef_nif:odb_object_exists(Handle, Oid);
exists(Odb = #odb{}, Sha) ->
exists(Odb, geef_oid:parse(Sha)).
-spec write(odb(), iolist(), atom()) -> {ok, oid()} | {error, term}.
write(#odb{handle=Handle}, Contents, Type) ->
case geef:odb_write(Handle, Contents, Type) of
case geef_nif:odb_write(Handle, Contents, Type) of
{ok, Oid} ->
{ok, #oid{oid=Oid}};
Other ->

View File

@@ -12,12 +12,12 @@
%% @doc Get the hex-encoded hash
-spec fmt(oid()) -> binary().
fmt(#oid{oid=Oid}) ->
geef:oid_fmt(Oid).
geef_nif:oid_fmt(Oid).
%% @doc Parse an iolist as a hash
-spec parse(iolist()) -> oid().
parse(Sha) ->
Oid = geef:oid_parse(Sha),
Oid = geef_nif:oid_parse(Sha),
#oid{oid=Oid}.
-ifdef(TEST).

View File

@@ -6,7 +6,7 @@
-spec new(term()) -> ref().
new(Handle) ->
Type = geef:reference_type(Handle),
Type = geef_nif:reference_type(Handle),
#ref{handle=Handle, type=Type}.
-spec lookup(pid(), iolist()) -> {ok, ref()} | {error, term()}.
@@ -29,14 +29,14 @@ resolve(#ref{handle=Handle}) ->
-spec target(ref()) -> binary() | oid().
target(#ref{handle=Handle,type=symbolic}) ->
geef:reference_target(Handle);
geef_nif:reference_target(Handle);
target(#ref{handle=Handle,type=oid}) ->
Oid = geef:reference_target(Handle),
Oid = geef_nif:reference_target(Handle),
#oid{oid=Oid}.
-spec name_to_id(repo(), iolist()) -> {ok, oid()} | {error, binary()}.
name_to_id(#repo{handle=Handle}, Name) ->
case geef:reference_to_id(Handle, Name) of
case geef_nif:reference_to_id(Handle, Name) of
{ok, Oid} ->
{ok, #oid{oid=Oid}};
Other ->

View File

@@ -29,13 +29,13 @@
%% @doc Discover a repository's path from a path contained inside it
-spec discover(iolist()) -> {ok, binary()} | error | {error, term()}.
discover(Path) ->
geef:repository_discover(Path).
geef_nif:repository_discover(Path).
%% @doc Open an existing repository. Path must point to the git-dir or
%% worktree
-spec open(iolist()) -> {ok, repo()} | {error, term()}.
open(Path) ->
case geef:repository_open(Path) of
case geef_nif:repository_open(Path) of
{ok, Handle} ->
start_link(Handle);
Other ->
@@ -45,7 +45,7 @@ open(Path) ->
%% @doc Initialize a new repository
-spec init(iolist(), boolean()) -> {ok, pid()} | {error, term()}.
init(Path, Bare) ->
case geef:repository_init(Path, Bare) of
case geef_nif:repository_init(Path, Bare) of
{ok, Handle} ->
start_link(Handle);
Other ->
@@ -102,25 +102,25 @@ init(Handle) ->
%% @private
handle_call(path, _From, State = #state{handle=Handle}) ->
Reply = geef:repository_get_path(Handle),
Reply = geef_nif:repository_get_path(Handle),
{reply, Reply, State};
handle_call(workdir, _From, State = #state{handle=Handle}) ->
Reply = geef:repository_get_workdir(Handle),
Reply = geef_nif:repository_get_workdir(Handle),
{reply, Reply, State};
handle_call(odb, _From, State = #state{handle=Handle}) ->
Reply = handle_odb(Handle),
{reply, Reply, State};
handle_call(bare, _From, State = #state{handle=Handle}) ->
Reply = geef:repository_is_bare(Handle),
Reply = geef_nif:repository_is_bare(Handle),
{reply, Reply, State};
handle_call(refs, _From, State = #state{handle=Handle}) ->
Reply = geef:reference_list(Handle),
Reply = geef_nif:reference_list(Handle),
{reply, Reply, State};
handle_call({lookup_object, Oid}, _From, State = #state{handle=Handle}) ->
Reply = geef:object_lookup(Handle, Oid),
Reply = geef_nif:object_lookup(Handle, Oid),
{reply, Reply, State};
handle_call({lookup_reference, Name}, _From, State = #state{handle=Handle}) ->
Reply = geef:reference_lookup(Handle, Name),
Reply = geef_nif:reference_lookup(Handle, Name),
{reply, Reply, State};
handle_call(stop, _From, State) ->
{stop, normal, ok, State};
@@ -163,7 +163,7 @@ start_link(Handle) ->
gen_server:start_link(?MODULE, Handle, []).
handle_odb(Handle) ->
case geef:repository_get_odb(Handle) of
case geef_nif:repository_get_odb(Handle) of
{ok, OdbHandle} ->
{ok, #odb{handle=OdbHandle}};
Other ->
@@ -171,7 +171,7 @@ handle_odb(Handle) ->
end.
handle_revwalk(Handle) ->
case geef:revwalk_new(Handle) of
case geef_nif:revwalk_new(Handle) of
{ok, WalkHandle} ->
geef_revwalk:start_link(WalkHandle);
Error ->

View File

@@ -73,13 +73,13 @@ init(Handle) ->
%% @private
handle_call({sort, Opts}, _From, State = #state{handle=Handle}) ->
geef:revwalk_sorting(Handle, Opts),
geef_nif:revwalk_sorting(Handle, Opts),
{reply, ok, State};
handle_call({push, Oid}, _From, State = #state{handle=Handle}) ->
Reply = geef:revwalk_push(Handle, Oid, false),
Reply = geef_nif:revwalk_push(Handle, Oid, false),
{reply, Reply, State};
handle_call({hide, Oid}, _From, State = #state{handle=Handle}) ->
Reply = geef:revwalk_push(Handle, Oid, true),
Reply = geef_nif:revwalk_push(Handle, Oid, true),
{reply, Reply, State};
handle_call(next, _From, State = #state{handle=Handle}) ->
Reply = handle_next(Handle),
@@ -108,7 +108,7 @@ code_change(_OldVsn, State, _Extra) ->
%%%===================================================================
handle_next(Handle) ->
case geef:revwalk_next(Handle) of
case geef_nif:revwalk_next(Handle) of
{ok, Oid} ->
{ok, #oid{oid=Oid}};
Other ->

View File

@@ -9,7 +9,7 @@
-include("geef_records.hrl").
bypath(#object{type=tree,handle=Handle}, Path) ->
case geef:tree_bypath(Handle, Path) of
case geef_nif:tree_bypath(Handle, Path) of
{ok, Mode, Type, Oid, Name} ->
{ok, Mode, Type, #oid{oid=Oid}, Name};
Other ->