PageRenderTime 82ms CodeModel.GetById 41ms app.highlight 3ms RepoModel.GetById 37ms app.codeStats 0ms

/ucengine/src/core/uce_sup.erl

http://github.com/AF83/ucengine
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).