aboutsummaryrefslogtreecommitdiff
path: root/src/mod_muc/mod_muc_room.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_muc/mod_muc_room.erl')
-rw-r--r--src/mod_muc/mod_muc_room.erl15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl
index e2f7d190d..5a821f8f1 100644
--- a/src/mod_muc/mod_muc_room.erl
+++ b/src/mod_muc/mod_muc_room.erl
@@ -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}.