-module(client).
-export([register/3, login/3, list/0, logged_in/1]).
register(Server, Name, Password) ->
rpc:call(Server, client, register, [self(), {Name, Password}]),
receive
{_, ok, Msg} ->
Msg;
{_, error, Msg} ->
Msg
end.
login(Server, Name, Password) ->
rpc:call(Server, client, login, [self(), {Name, Password}]),
receive
{_, ok, {ok, {logged_in, Client}}} ->
register(cli, spawn(client, logged_in, [Client]));
{_, error, Msg} ->
Msg
end.
list() ->
cli ! {list}.
logged_in(Client) ->
receive
{list} ->
Client ! {list};
_ ->
logged_in(Client)
end.