From 9b5db7ab37a4a2527d523ff39bb0c5525553119e Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 14 Oct 2010 02:56:32 +0200 Subject: progress server is working somehow... --- server/dispatcher.erl | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'server/dispatcher.erl') diff --git a/server/dispatcher.erl b/server/dispatcher.erl index 390f9e5..4f1f58b 100644 --- a/server/dispatcher.erl +++ b/server/dispatcher.erl @@ -1,5 +1,5 @@ -module(dispatcher). --export([start/0, init/0, handle/3]). +-export([start/0, init/0, handle/2]). start() -> code:purge(server), @@ -17,7 +17,7 @@ start() -> init() -> dict:new(). -handle(_, {register, {User, Password}}, Dict) -> +handle({register, {User, Password}}, Dict) -> case dict:find(User, Dict) of {ok, _}-> {{error, duplicated_user}, Dict}; @@ -26,13 +26,21 @@ handle(_, {register, {User, Password}}, Dict) -> {{ok, user_created}, dict:store(User, Password, Dict)} end; -handle(From, {login, {User, Password}}, Dict) -> +handle({login, {Node, User, Password}}, Dict) -> case dict:find(User, Dict) of {ok, Password} -> - {{ok, {logged_in, client:start(From)}}, Dict}; + case client:start(Node) of + {ok, Pid} -> + {{ok, {logged_in, Pid}}, Dict}; + _ -> + {{error, unable_to_login}, Dict} + end; _ -> {{error, user_or_password_invalid}, Dict} end; -handle(_, _, Dict) -> +handle({'EXIT', _, _}, Dict) -> + Dict; + +handle(_, Dict) -> {{error, unknown_command}, Dict}. -- cgit v1.2.3