diff options
author | Michael Wittig <michael.wittig@fu-berlin.de> | 2010-10-14 14:35:44 +0200 |
---|---|---|
committer | Michael Wittig <michael.wittig@fu-berlin.de> | 2010-10-14 14:35:44 +0200 |
commit | c840d5e566dfe3d1c24e183ba558e02a7075a36d (patch) | |
tree | ed4c9b31b0f055064219012e70b1902e15bc82aa /server/client.erl | |
parent | 1f3f1443259937eb08de6c001791b28514ba67d9 (diff) | |
parent | 6c2aac98c6647ed3bec434788c18370e12fff117 (diff) | |
download | erlang-c840d5e566dfe3d1c24e183ba558e02a7075a36d.tar.gz erlang-c840d5e566dfe3d1c24e183ba558e02a7075a36d.tar.xz erlang-c840d5e566dfe3d1c24e183ba558e02a7075a36d.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}}}. |