38 lines
881 B
Erlang
38 lines
881 B
Erlang
-module(gmhive_client).
|
|
-vsn("0.4.8").
|
|
|
|
-export([ connect/1
|
|
, disconnect/1
|
|
, status/0
|
|
, status/1 ]).
|
|
|
|
-type connect_opts() :: gmhc_connector:connect_opts().
|
|
-type id() :: non_neg_integer().
|
|
-type status() :: connected | disconnected.
|
|
|
|
-export_type([ connect_opts/0 ]).
|
|
|
|
|
|
-spec connect(connect_opts()) -> {ok, id()} | {error, any()}.
|
|
connect(Opts) when is_map(Opts) ->
|
|
Id = gmhc_counters:add_read(connector),
|
|
case gmhc_connectors_sup:start_connector(Opts#{id => Id}) of
|
|
{ok, _Pid} ->
|
|
{ok, Id};
|
|
{error, _} = Error ->
|
|
Error
|
|
end.
|
|
%% gmhc_connector:connect(Opts).
|
|
|
|
-spec disconnect(id()) -> ok.
|
|
disconnect(Id) ->
|
|
gmhc_connector:disconnect(Id).
|
|
|
|
-spec status() -> [{id(), status()}].
|
|
status() ->
|
|
gmhc_connector:status().
|
|
|
|
-spec status(id()) -> status().
|
|
status(Id) ->
|
|
gmhc_connector:status(Id).
|