-module(client).
-export([start/1, loop/1, register/2, login/2]).
start(Node) ->
process_flag(trap_exit, true),
{Client, Ref} = server:start_on_node(Node, client, undef),
link(Client),
Server = spawn_link(client, loop, [{Client, Ref}]),
case server:rpc({Client, Ref}, {change_state, Server}) of
{ok} ->
{ok, {Client, Ref}};
_ ->
{error, unknown_error}
end.
loop(Client) ->
receive
list ->
server:send(Client, {ok, {foo}}),
loop(Client);
Cmd ->
server:send(Client, {error, {unknown_command, Cmd}}),
loop(Client)
end.
register(Client, {Name, Password}) ->
dis ! {Client, {register, {Name, Password}}}.
login(Client, {Node, Name, Password}) ->
dis ! {Client, {login, {Node, Name, Password}}}.