aboutsummaryrefslogtreecommitdiffstats
path: root/server/client.erl
diff options
context:
space:
mode:
authorMarco Ziener <mziener@lavabit.com>2010-10-14 14:22:52 +0200
committerMarco Ziener <mziener@lavabit.com>2010-10-14 14:22:52 +0200
commit5adc62e88518a1e0fe2784917546af8eb4706063 (patch)
treea527f9df27d81272b5d9aa0e54bf2cf6daba7cac /server/client.erl
parent181245f3cf74febd231d8072a8f1f8f038b0ee31 (diff)
parente70fe72c584a8798f5bd7024949c32de5ce90aa0 (diff)
downloaderlang-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.erl46
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}}}.