-module(client). -export([register/3, login/3, list/0, logged_in/1]). register(Server, Name, Password) -> rpc:call(Server, client, register, [self(), {Name, Password}]), receive {_, ok, Msg} -> Msg; {_, error, Msg} -> Msg end. login(Server, Name, Password) -> rpc:call(Server, client, login, [self(), {Name, Password}]), receive {_, ok, {ok, {logged_in, Client}}} -> register(cli, spawn(client, logged_in, [Client])); {_, error, Msg} -> Msg end. list() -> cli ! {list}. logged_in(Client) -> receive {list} -> Client ! {list}; _ -> logged_in(Client) end.