Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-12-17 23:13:21 +0300
committerAlexey Shchepin <alexey@process-one.net>2003-12-17 23:13:21 +0300
commitb3b09bcfd83ce7afe5349259a421e6424440df1c (patch)
tree2156729d2e4843e1eb0a262aa14664c76a35595e /src/ejabberd_local.erl
parent4768cd2f26173b4c699695e6e23d694776f13054 (diff)
* src/jlib.hrl: Added declaration of "iq" record
* (all): Updated to use "iq" record SVN Revision: 186
Diffstat (limited to 'src/ejabberd_local.erl')
-rw-r--r--src/ejabberd_local.erl41
1 files changed, 17 insertions, 24 deletions
diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl
index 95597bbc2..cf46e73fc 100644
--- a/src/ejabberd_local.erl
+++ b/src/ejabberd_local.erl
@@ -106,31 +106,24 @@ do_route(State, From, To, Packet) ->
process_iq(State, From, To, Packet) ->
IQ = jlib:iq_query_info(Packet),
case IQ of
- {iq, _ID, Type, XMLNS, _SubEl} ->
- case jlib:is_iq_request_type(Type) of
- true ->
- case ets:lookup(State#state.iqtable, XMLNS) of
- [{_, Module, Function}] ->
- ResIQ = apply(Module, Function, [From, To, IQ]),
- if
- ResIQ /= ignore ->
- ejabberd_router ! {route,
- To,
- From,
- jlib:iq_to_xml(ResIQ)};
- true ->
- ok
- end;
- [{_, Module, Function, Opts}] ->
- gen_iq_handler:handle(Module, Function, Opts,
- From, To, IQ);
- [] ->
- Err = jlib:make_error_reply(
- Packet, ?ERR_FEATURE_NOT_IMPLEMENTED),
- ejabberd_router:route(To, From, Err)
+ #iq{xmlns = XMLNS} ->
+ case ets:lookup(State#state.iqtable, XMLNS) of
+ [{_, Module, Function}] ->
+ ResIQ = Module:Function(From, To, IQ),
+ if
+ ResIQ /= ignore ->
+ ejabberd_router:route(
+ To, From, jlib:iq_to_xml(ResIQ));
+ true ->
+ ok
end;
- _ ->
- ok
+ [{_, Module, Function, Opts}] ->
+ gen_iq_handler:handle(Module, Function, Opts,
+ From, To, IQ);
+ [] ->
+ Err = jlib:make_error_reply(
+ Packet, ?ERR_FEATURE_NOT_IMPLEMENTED),
+ ejabberd_router:route(To, From, Err)
end;
reply ->
ok;