From 37a33b4ef3a8d9c4a1b984e44bfe5be03525c302 Mon Sep 17 00:00:00 2001 From: Jakob Pfender Date: Thu, 14 Oct 2010 10:30:13 +0200 Subject: client-side voting --- client/client.erl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'client') diff --git a/client/client.erl b/client/client.erl index d0bae4c..a287af3 100644 --- a/client/client.erl +++ b/client/client.erl @@ -74,3 +74,33 @@ handle({change_state, NewState}, _) -> handle(Cmd, Server) -> {{error, {unknown_command, Cmd}}, Server}. + +%queries the server for the current votes this client possesses +getVotes() -> + 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. + + -- cgit v1.2.3