aboutsummaryrefslogtreecommitdiffstats
path: root/client/client.erl
diff options
context:
space:
mode:
authorMichael Wittig <michael.wittig@fu-berlin.de>2010-10-14 10:36:37 +0200
committerMichael Wittig <michael.wittig@fu-berlin.de>2010-10-14 10:36:37 +0200
commit1b6c636b0584d1264209fab522c4476082f0e0fd (patch)
treed38b97c98f36c2bcc8fded4837d0394e9d2fba97 /client/client.erl
parent0dc60dd485a35b2c2336cf56595c2731b4634877 (diff)
parent2a672cf96dc272213a36d15f78ec19b6579de4df (diff)
downloaderlang-1b6c636b0584d1264209fab522c4476082f0e0fd.tar.gz
erlang-1b6c636b0584d1264209fab522c4476082f0e0fd.tar.xz
erlang-1b6c636b0584d1264209fab522c4476082f0e0fd.zip
Merge branch 'master' of ssh://git.animux.de/erlang
Diffstat (limited to 'client/client.erl')
-rw-r--r--client/client.erl42
1 files changed, 35 insertions, 7 deletions
diff --git a/client/client.erl b/client/client.erl
index d0bae4c..67be4ee 100644
--- a/client/client.erl
+++ b/client/client.erl
@@ -24,10 +24,8 @@ rpc(Server, Function, Params) ->
register(Server, Name, Password) ->
rpc(Server, register, [self(), {Name, Password}]),
receive
- {_, ok, Msg} ->
- Msg;
- {_, error, Msg} ->
- {error, Msg}
+ {_, Msg} ->
+ Msg
end.
login(Server, Name, Password) ->
@@ -38,10 +36,10 @@ login(Server, Name, Password) ->
_ ->
rpc(Server, login, [self(), {node(), Name, Password}]),
receive
- {_, ok, {ok, {logged_in, {Pid, _}}}} ->
- server:registration(Pid, cli),
+ {ok, {ok, {logged_in, Pid}}} ->
+ register(cli, Pid),
{ok, logged_in};
- {_, _, Msg} ->
+ {_, Msg} ->
Msg;
Msg ->
Msg
@@ -74,3 +72,33 @@ handle({change_state, NewState}, _) ->
handle(Cmd, Server) ->
{{error, {unknown_command, Cmd}}, Server}.
+
+%queries the server for the current votes this client possesses
+getVotes(Server) ->
+ rpc(Server, getVotes, self()),
+ receive
+ Msg ->
+ Msg
+ end.
+
+%positive vote, increments the votes for {Artist, Title} by one
+vote(Artist, Title) ->
+ rpc(Server, vote, [Artist, Title]),
+ receive
+ {_, ok, Msg} ->
+ Msg;
+ {_, error, Msg} ->
+ {error, Msg}
+ end.
+
+%negative vote, decrements the votes for {Artist, Title} by one
+devote(Artist, Title) ->
+ rpc(Server, devote, [Artist, Title]),
+ receive
+ {_, ok, Msg} ->
+ Msg;
+ {_, error, Msg} ->
+ {error, Msg}
+ end.
+
+