/ucengine/src/core/uce_sup.erl
Erlang | 39 lines | 16 code | 6 blank | 17 comment | 0 complexity | 07575ba12d8d1b38318df552cf17a007 MD5 | raw file
1%% 2%% U.C.Engine - Unified Collaboration Engine 3%% Copyright (C) 2011 af83 4%% 5%% This program is free software: you can redistribute it and/or modify 6%% it under the terms of the GNU Affero General Public License as published by 7%% the Free Software Foundation, either version 3 of the License, or 8%% (at your option) any later version. 9%% 10%% This program is distributed in the hope that it will be useful, 11%% but WITHOUT ANY WARRANTY; without even the implied warranty of 12%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13%% GNU Affero General Public License for more details. 14%% 15%% You should have received a copy of the GNU Affero General Public License 16%% along with this program. If not, see <http://www.gnu.org/licenses/>. 17%% 18-module(uce_sup). 19 20-behaviour(supervisor). 21 22-include("uce.hrl"). 23 24-export([start_link/0, init/1, start_child/1]). 25 26start_link() -> 27 supervisor:start_link({local, ?MODULE}, ?MODULE, []). 28 29init([]) -> 30 PubSubSup = [{?PUBSUB_MODULE, 31 {?PUBSUB_MODULE, start_link, []}, 32 permanent, brutal_kill, worker, [?PUBSUB_MODULE]}], 33 Vhost = [{uce_vhost_sup, {uce_vhost_sup, start_link, []}, 34 permanent, infinity, supervisor, [uce_vhost_sup]}], 35 Yaws = uce_yaws:child_spec(), 36 {ok, {{one_for_all, 10, 10}, Yaws ++ PubSubSup ++ Vhost}}. 37 38start_child(ChildSpec) -> 39 {ok, _Pid} = supervisor:start_child(?MODULE, ChildSpec).