diff options
author | Alexey Shchepin <alexey@process-one.net> | 2007-08-02 02:30:25 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2007-08-02 02:30:25 +0000 |
commit | 7c24a9a400a66cb82fdc33bbb65e84f535342285 (patch) | |
tree | 1dfd2de9c97c4450b460780d61f25848775d6af4 /src/mod_muc/mod_muc_room.erl | |
parent | * doc/guide.tex: Front page table formatting that render correctly in HTML an... (diff) |
* src/mod_muc/mod_muc.erl: Added default_room_options option
(thanks to Etan Reisner and Badlop)
* src/mod_muc/mod_muc_room.erl: Likewise
* doc/guide.tex: Updated
SVN Revision: 856
Diffstat (limited to 'src/mod_muc/mod_muc_room.erl')
-rw-r--r-- | src/mod_muc/mod_muc_room.erl | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl index 4aa65521..998b89c3 100644 --- a/src/mod_muc/mod_muc_room.erl +++ b/src/mod_muc/mod_muc_room.erl @@ -14,9 +14,9 @@ %% External exports --export([start_link/7, +-export([start_link/8, start_link/6, - start/7, + start/8, start/6, route/4]). @@ -90,18 +90,18 @@ %%%---------------------------------------------------------------------- %%% API %%%---------------------------------------------------------------------- -start(Host, ServerHost, Access, Room, HistorySize, Creator, Nick) -> +start(Host, ServerHost, Access, Room, HistorySize, Creator, Nick, DefRoomOpts) -> Supervisor = gen_mod:get_module_proc(ServerHost, ejabberd_mod_muc_sup), supervisor:start_child( - Supervisor, [Host, ServerHost, Access, Room, HistorySize, Creator, Nick]). + Supervisor, [Host, ServerHost, Access, Room, HistorySize, Creator, Nick, DefRoomOpts]). start(Host, ServerHost, Access, Room, HistorySize, Opts) -> Supervisor = gen_mod:get_module_proc(ServerHost, ejabberd_mod_muc_sup), supervisor:start_child( Supervisor, [Host, ServerHost, Access, Room, HistorySize, Opts]). -start_link(Host, ServerHost, Access, Room, HistorySize, Creator, Nick) -> - gen_fsm:start_link(?MODULE, [Host, ServerHost, Access, Room, HistorySize, Creator, Nick], +start_link(Host, ServerHost, Access, Room, HistorySize, Creator, Nick, DefRoomOpts) -> + gen_fsm:start_link(?MODULE, [Host, ServerHost, Access, Room, HistorySize, Creator, Nick, DefRoomOpts], ?FSMOPTS). start_link(Host, ServerHost, Access, Room, HistorySize, Opts) -> @@ -119,7 +119,7 @@ start_link(Host, ServerHost, Access, Room, HistorySize, Opts) -> %% ignore | %% {stop, StopReason} %%---------------------------------------------------------------------- -init([Host, ServerHost, Access, Room, HistorySize, Creator, _Nick]) -> +init([Host, ServerHost, Access, Room, HistorySize, Creator, _Nick, DefRoomOpts]) -> State = set_affiliation(Creator, owner, #state{host = Host, server_host = ServerHost, @@ -128,7 +128,8 @@ init([Host, ServerHost, Access, Room, HistorySize, Creator, _Nick]) -> history = lqueue_new(HistorySize), jid = jlib:make_jid(Room, Host, ""), just_created = true}), - {ok, normal_state, State}; + State1 = set_opts(DefRoomOpts, State), + {ok, normal_state, State1}; init([Host, ServerHost, Access, Room, HistorySize, Opts]) -> State = set_opts(Opts, #state{host = Host, server_host = ServerHost, @@ -315,7 +316,7 @@ normal_state({route, From, "", end; normal_state({route, From, Nick, - {xmlelement, "presence", Attrs, _Els} = Packet}, + {xmlelement, "presence", _Attrs, _Els} = Packet}, StateData) -> Activity = case ?DICT:find(jlib:jid_tolower(From), StateData#state.activity) of @@ -593,7 +594,7 @@ code_change(_OldVsn, StateName, StateData, _Extra) -> %% {next_state, NextStateName, NextStateData, Timeout} | %% {stop, Reason, NewStateData} %%---------------------------------------------------------------------- -handle_info({process_presence, From}, normal_state = StateName, StateData) -> +handle_info({process_presence, From}, normal_state = _StateName, StateData) -> Activity = case ?DICT:find(jlib:jid_tolower(From), StateData#state.activity) of {ok, A} -> A; |