%% ---
%%  Excerpted from "Programming Erlang",
%%  published by The Pragmatic Bookshelf.
%%  Copyrights apply to this code. It may not be used to create training material,
%%  courses, books, articles, and the like. Contact us if you are in doubt.
%%  We make no guarantees that this code is fit for any purpose.
%%  Visit http://www.pragmaticprogrammer.com/titles/jaerlang for more book information.
%%  
%%  日本語版の『プログラミングErlang』、およびサンプルコードについては、
%%   http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06714-3 を確認してください。
%% ---
-module(sellaprime_app).
-behaviour(application).
-export([start/2, stop/1]).

%%--------------------------------------------------------------------
%% Function: start(Type, StartArgs) -> {ok, Pid} |
%%                                     {ok, Pid, State} |
%%                                     {error, Reason}
%% 説明: この関数はapplication:start/1,2を使ってアプリケーションが起動される
%% たびに呼び出される。この関数はアプリケーションの各プロセスを起動する役割を担う。
%% アプリケーションがOTP設計原理の監視ツリーに従うように構成されている場合、
%% ツリーの最上位のスーパバイザを起動することになる。
%%--------------------------------------------------------------------

start(_Type, StartArgs) ->
    sellaprime_supervisor:start_link(StartArgs).

%%--------------------------------------------------------------------
%% Function: stop(State) -> void()
%% 説明：この関数はアプリケーションが停止するたびに呼び出される。この関数は
%% Module:start/2の逆の処理を行うことになっていて、必要な後始末を行う。
%% 戻り値は無視される。
%%--------------------------------------------------------------------

stop(_State) ->
    ok.
