From ab13a717fe4e443c233694c69573deb11dbdf453 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 14 Oct 2010 17:37:18 +0200 Subject: changed user database from dict to mnesia (modules: cldb) --- server/client.erl | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'server/client.erl') diff --git a/server/client.erl b/server/client.erl index cb6504e..d12c891 100644 --- a/server/client.erl +++ b/server/client.erl @@ -1,11 +1,11 @@ -module(client). --export([start/1, loop/1, register/2, login/2]). +-export([start/2, loop/2, register/2, login/2]). -start(Node) -> +start(Node, User) -> process_flag(trap_exit, true), Client = server:start_on_node(Node, client, undef), link(Client), - Server = spawn_link(client, loop, [Client]), + Server = spawn_link(client, loop, [Client, User]), case server:rpc(Client, {change_state, Server}) of {ok} -> @@ -25,9 +25,16 @@ execute(Client, F) -> Client ! {error, Why} end. -loop(Client) -> +loop(Client, User) -> %% mainloop for client modul in server receive + {register, Name, Password} -> + case User of + {user, _, _, _, admin} -> + execute(Client, fun() -> cldb:register(Name, Password, none) end); + _ -> Client ! {error, {no_rights}} + end; + list -> execute(Client, fun() -> media:all() end); @@ -43,7 +50,7 @@ loop(Client) -> Cmd -> Client ! {error, {unknown_command, Cmd}} end, - loop(Client). + loop(Client, User). register(Client, {Name, Password}) -> dis ! {Client, {register, {Name, Password}}}. -- cgit v1.2.3