-module(client). -export([start/1, loop/1, register/2, login/2]). start(Node) -> process_flag(trap_exit, true), Client = server:start_on_node(Node, client, undef), link(Client), Server = spawn_link(client, loop, [Client]), case server:rpc(Client, {change_state, Server}) of {ok} -> {ok, Client}; _ -> {error, unknown_error} end. loop(Client) -> receive list -> Client ! {ok, {foo}}, loop(Client); get_votes -> Client ! {ok, media:getVotes(Client)}, loop(Client); {vote, Artist, Title} -> Client ! media:vote(Artist, Title), loop(Client); {devote, Artist, Title} -> Client ! media:devote(Artist, Title), loop(Client); Cmd -> 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}}}.