Files
geef/src/geef.erl
Carlos Martín Nieto 71eea735d2 Add oid_parse(Sha)
2013-01-22 15:49:12 +01:00

79 lines
1.6 KiB
Erlang

-module(geef).
-export([hex_to_raw/1, repository/1, repository_get_path/1, repository_get_odb/1,
repository_init/2, repository_is_bare/1, repository_get_workdir/1, reference_list/1,
reference_to_id/2, reference_glob/2, reference_lookup/2, reference_resolve/1,
reference_id/1, odb_object_exists/2]).
-export([oid_fmt/1, oid_parse/1]).
-on_load(load_enif/0).
hex_to_raw(_Val) ->
nif_error(?LINE).
repository_open(_Val) ->
nif_error(?LINE).
repository_is_bare(_Handle) ->
nif_error(?LINE).
repository_get_path(_Val) ->
nif_error(?LINE).
repository_get_workdir(_Handle) ->
nif_error(?LINE).
repository_get_odb(_Val) ->
nif_error(?LINE).
repository_init(_Path, _Bare) ->
nif_error(?LINE).
reference_list(_Repo) ->
nif_error(?LINE).
reference_to_id(_Repo, _Refname) ->
nif_error(?LINE).
reference_glob(_Repo, _Glob) ->
nif_error(?LINE).
reference_lookup(_Repo, _Refname) ->
nif_error(?LINE).
reference_id(_Handle) ->
nif_error(?LINE).
reference_resolve(_Handle) ->
nif_error(?LINE).
repository(Path) ->
case repository_open(Path) of
{ok, Handle} ->
repository:new(Handle);
Other ->
Other
end.
odb_object_exists(_Val, _Val) ->
nif_error(?LINE).
oid_fmt(_Oid) ->
nif_error(?LINE).
oid_parse(_Sha) ->
nif_error(?LINE).
nif_error(Line) ->
exit({nif_not_loaded,module,?MODULE,line,Line}).
load_enif() ->
case code:priv_dir(geef) of
{error, bad_name} ->
SoName = filename:join("priv", geef);
Dir ->
SoName = filename:join(Dir, geef)
end,
io:format("Hey There: ~s~n", [SoName]),
erlang:load_nif(SoName, 0).