summaryrefslogtreecommitdiff
path: root/src/ejabberd_router.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-01-07 19:10:35 +0000
committerAlexey Shchepin <alexey@process-one.net>2003-01-07 19:10:35 +0000
commit2617433ae30dd7ce014ee68ffdecedd8c77ae4a8 (patch)
tree3cf970ff411ba5ccdde00b2ff3db5b0dd5d75157 /src/ejabberd_router.erl
parent*** empty log message *** (diff)
*** empty log message ***
SVN Revision: 32
Diffstat (limited to 'src/ejabberd_router.erl')
-rw-r--r--src/ejabberd_router.erl18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl
index 5332d00b..1eb72773 100644
--- a/src/ejabberd_router.erl
+++ b/src/ejabberd_router.erl
@@ -10,7 +10,11 @@
-author('alexey@sevcom.net').
-vsn('$Revision$ ').
--export([route/3, register_route/1, register_local_route/1,
+-export([route/3,
+ register_route/1,
+ register_local_route/1,
+ unregister_route/1,
+ unregister_local_route/1,
dirty_get_all_routes/0,
dirty_get_all_domains/0
]).
@@ -80,6 +84,12 @@ loop() ->
end,
mnesia:transaction(F),
loop();
+ {unregister_local_route, Domain} ->
+ F = fun() ->
+ mnesia:delete({local_route, Domain})
+ end,
+ mnesia:transaction(F),
+ loop();
_ ->
loop()
end.
@@ -128,6 +138,12 @@ register_route(Domain) ->
register_local_route(Domain) ->
ejabberd_router ! {register_local_route, Domain, self()}.
+unregister_route(Domain) ->
+ ejabberd_router ! {unregister_route, Domain}.
+
+unregister_local_route(Domain) ->
+ ejabberd_router ! {unregister_local_route, Domain}.
+
dirty_get_all_routes() ->
lists:delete(?MYNAME,