* src/mod_muc/mod_muc_room.erl: API improvement: Implementation of an
authorMickaël Rémond <mickael.remond@process-one.net>
Mon, 19 Feb 2007 09:45:58 +0000 (09:45 +0000)
committerMickaël Rémond <mickael.remond@process-one.net>
Mon, 19 Feb 2007 09:45:58 +0000 (09:45 +0000)
event to destroy MUC room from an external application (Thanks to
Massimiliano Mirra) (EJAB-184).

SVN Revision: 727

ChangeLog
src/mod_muc/mod_muc_room.erl

index d8c4c251ff4ce4c70c374e87e49be27287e38fdc..af6dfba549379140d5eee7dd0abf1baf939a5dd7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-02-19  Mickael Remond  <mickael.remond@process-one.net>
+
+       * src/mod_muc/mod_muc_room.erl: API improvement: Implementation of an
+       event to destroy MUC room from an external application (Thanks to
+        Massimiliano Mirra) (EJAB-184).
+
 2007-02-18  Alexey Shchepin  <alexey@sevcom.net>
 
        * src/ejabberd_s2s.erl: Confirm to RFC3920 section 10.3 (thanks to
index e2f7d190dba9a2285c8fdfb6e82f1b921748718b..5a821f8f1c002600be64941ed9a8d29c728bc0d3 100644 (file)
@@ -606,6 +606,21 @@ handle_event({service_message, Msg}, _StateName, StateData) ->
                                 StateData),
     {next_state, normal_state, NSD};
 
+handle_event({destroy, Reason}, _StateName, StateData) ->
+    {result, [], stop} =
+        destroy_room(
+          {xmlelement, "destroy",
+           [{"xmlns", ?NS_MUC_OWNER}],
+           case Reason of
+               none -> [];
+               _Else ->
+                   [{xmlelement, "reason",
+                     [], [{xmlcdata, Reason}]}]
+           end}, StateData),
+    {stop, stopped_by_event, StateData};
+handle_event(destroy, StateName, StateData) ->
+    handle_event({destroy, none}, StateName, StateData);
+
 handle_event(_Event, StateName, StateData) ->
     {next_state, StateName, StateData}.