mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-26 17:38:45 +01:00
Split some functions in smaller ones
This commit is contained in:
parent
bf2a2f291f
commit
6b6d07745d
@ -26,6 +26,8 @@
|
|||||||
-module(ejabberd_config).
|
-module(ejabberd_config).
|
||||||
-author('alexey@process-one.net').
|
-author('alexey@process-one.net').
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
|
||||||
-export([start/0, load_file/1, reload_file/0, read_file/1,
|
-export([start/0, load_file/1, reload_file/0, read_file/1,
|
||||||
get_option/1, get_option/2, add_option/2, has_option/1,
|
get_option/1, get_option/2, add_option/2, has_option/1,
|
||||||
get_vh_by_auth_method/1, is_file_readable/1,
|
get_vh_by_auth_method/1, is_file_readable/1,
|
||||||
@ -179,7 +181,10 @@ read_file(File, Opts) ->
|
|||||||
load_file(File) ->
|
load_file(File) ->
|
||||||
State0 = read_file(File),
|
State0 = read_file(File),
|
||||||
State1 = hosts_to_start(State0),
|
State1 = hosts_to_start(State0),
|
||||||
validate_opts(State1).
|
AllMods = get_modules(),
|
||||||
|
init_module_db_table(AllMods),
|
||||||
|
ModOpts = get_modules_with_options(AllMods),
|
||||||
|
validate_opts(State1, ModOpts).
|
||||||
|
|
||||||
-spec reload_file() -> ok.
|
-spec reload_file() -> ok.
|
||||||
|
|
||||||
@ -971,11 +976,12 @@ default_db(Opt, Host, Module) ->
|
|||||||
end
|
end
|
||||||
end.
|
end.
|
||||||
|
|
||||||
get_modules_with_options() ->
|
get_modules() ->
|
||||||
{ok, Mods} = application:get_key(ejabberd, modules),
|
{ok, Mods} = application:get_key(ejabberd, modules),
|
||||||
ExtMods = [Name || {Name, _Details} <- ext_mod:installed()],
|
ExtMods = [Name || {Name, _Details} <- ext_mod:installed()],
|
||||||
AllMods = [?MODULE|ExtMods++Mods],
|
ExtMods ++ Mods.
|
||||||
init_module_db_table(AllMods),
|
|
||||||
|
get_modules_with_options(Modules) ->
|
||||||
lists:foldl(
|
lists:foldl(
|
||||||
fun(Mod, D) ->
|
fun(Mod, D) ->
|
||||||
case is_behaviour(?MODULE, Mod) orelse Mod == ?MODULE of
|
case is_behaviour(?MODULE, Mod) orelse Mod == ?MODULE of
|
||||||
@ -992,10 +998,9 @@ get_modules_with_options() ->
|
|||||||
false ->
|
false ->
|
||||||
D
|
D
|
||||||
end
|
end
|
||||||
end, dict:new(), AllMods).
|
end, dict:new(), Modules).
|
||||||
|
|
||||||
validate_opts(#state{opts = Opts} = State) ->
|
validate_opts(#state{opts = Opts} = State, ModOpts) ->
|
||||||
ModOpts = get_modules_with_options(),
|
|
||||||
NewOpts = lists:filtermap(
|
NewOpts = lists:filtermap(
|
||||||
fun(#local_config{key = {Opt, _Host}, value = Val} = In) ->
|
fun(#local_config{key = {Opt, _Host}, value = Val} = In) ->
|
||||||
case dict:find(Opt, ModOpts) of
|
case dict:find(Opt, ModOpts) of
|
||||||
|
Loading…
Reference in New Issue
Block a user