diff options
author | Marco Ziener <mziener@lavabit.com> | 2010-10-14 14:22:52 +0200 |
---|---|---|
committer | Marco Ziener <mziener@lavabit.com> | 2010-10-14 14:22:52 +0200 |
commit | 5adc62e88518a1e0fe2784917546af8eb4706063 (patch) | |
tree | a527f9df27d81272b5d9aa0e54bf2cf6daba7cac /server/client.erl | |
parent | 181245f3cf74febd231d8072a8f1f8f038b0ee31 (diff) | |
parent | e70fe72c584a8798f5bd7024949c32de5ce90aa0 (diff) | |
download | erlang-5adc62e88518a1e0fe2784917546af8eb4706063.tar.gz erlang-5adc62e88518a1e0fe2784917546af8eb4706063.tar.xz erlang-5adc62e88518a1e0fe2784917546af8eb4706063.zip |
Merge branch 'master' of ssh://git.animux.de/erlang
Diffstat (limited to 'server/client.erl')
-rw-r--r-- | server/client.erl | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/server/client.erl b/server/client.erl index ce7c99b..333df4a 100644 --- a/server/client.erl +++ b/server/client.erl @@ -10,32 +10,52 @@ start(Node) -> case server:rpc(Client, {change_state, Server}) of {ok} -> {ok, Client}; - _ -> - {error, unknown_error} + Why -> + {error, {unknown_error, Why}} end. loop(Client) -> receive list -> - Client ! {ok, {foo}}, - loop(Client); + try media:all() of + Result -> + Client ! {ok, Result} + catch + _: Why -> + Client ! {error, Why} + end; get_votes -> - Client ! {ok, media:getVotes(Client)}, - loop(Client); + try media:getVotes(Client) of + Result -> + Client ! {ok, Result} + catch + _: Why -> + Client ! {error, Why} + end; {vote, Artist, Title} -> - Client ! media:vote(Artist, Title), - loop(Client); + try media:vote(Artist, Title) of + Result -> + Client ! {ok, Result} + catch + _: Why -> + Client ! {error, Why} + end; {devote, Artist, Title} -> - Client ! media:devote(Artist, Title), - loop(Client); + try media:devote(Artist, Title) of + Result -> + Client ! {ok, Result} + catch + _: Why -> + Client ! {error, Why} + end; Cmd -> - Client ! {error, {unknown_command, Cmd}}, - loop(Client) - end. + Client ! {error, {unknown_command, Cmd}} + end, + loop(Client). register(Client, {Name, Password}) -> dis ! {Client, {register, {Name, Password}}}. |