%%%------------------------------------------------------------------- %% @copyright {{copyright_holder}} ({{copyright_year}}) %% @author {{author_name}} <{{author_email}}> %% @doc {{appid}} {{fsmid}} OTP FSM. %% @end %%%------------------------------------------------------------------- -module({{appid}}_{{fsmid}}_fsm). -behaviour(gen_fsm). -include("{{appid}}_log.hrl"). %% API -export([start_link/0 ]). %% gen_fsm callbacks -export([init/1, handle_event/3, handle_sync_event/4, handle_info/3, terminate/3, code_change/4]). -export([disconnected/2 ,disconnected/3 ]). -record(state, {replaceme}). %%==================================================================== %% API %%==================================================================== start_link() -> gen_fsm:start_link(?MODULE, [], []). %%==================================================================== %% gen_fsm callbacks %%==================================================================== %% gen_fsm init/1 callback %% @private init([]) -> {ok, disconnected, #state{}}. %% state event handler functions. %% @private disconnected(Event, State) -> ?WARN("[state: disconnected] Unhandled event: ~p", [Event]), {next_state, disconnected, State}. disconnected(Event, _From, State) -> ?WARN("[state: disconnected] Unhandled event: ~p", [Event]), {next_state, disconnected, State}. %% gen_fsm callbacks %% @private handle_event(Event, StateName, State) -> ?WARN("[state: ~p] Unhandled event: ~p", [StateName, Event]), {next_state, StateName, State}. %% @private handle_sync_event(Event, _From, StateName, State) -> ?WARN("[state: ~p] Unhandled event: ~p", [StateName, Event]), {next_state, StateName, State}. %% @private handle_info(Info, StateName, State) -> ?INFO("[state: ~p] Unexpected msg: ~p", [StateName, Info]), {next_state, StateName, State}. %% @private terminate(_Reason, _StateName, _State) -> ok. %% @private code_change(_OldVsn, StateName, State, _Extra) -> {ok, StateName, State}. %%==================================================================== %% Internal functions %%====================================================================