aboutsummaryrefslogtreecommitdiffstats
path: root/client/client.erl
diff options
context:
space:
mode:
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.
+
+