Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

79 linhas
2.2 KiB

  1. %%%-------------------------------------------------------------------
  2. %% @copyright {{copyright_holder}} ({{copyright_year}})
  3. %% @author {{author_name}} <{{author_email}}>
  4. %% @doc {{appid}} {{fsmid}} OTP FSM.
  5. %% @end
  6. %%%-------------------------------------------------------------------
  7. -module({{appid}}_{{fsmid}}_fsm).
  8. -behaviour(gen_fsm).
  9. -include("{{appid}}_log.hrl").
  10. %% API
  11. -export([start_link/0
  12. ]).
  13. %% gen_fsm callbacks
  14. -export([init/1, handle_event/3, handle_sync_event/4, handle_info/3,
  15. terminate/3, code_change/4]).
  16. -export([disconnected/2
  17. ,disconnected/3
  18. ]).
  19. -record(state, {replaceme}).
  20. %%====================================================================
  21. %% API
  22. %%====================================================================
  23. start_link() ->
  24. gen_fsm:start_link(?MODULE, [], []).
  25. %%====================================================================
  26. %% gen_fsm callbacks
  27. %%====================================================================
  28. %% gen_fsm init/1 callback
  29. %% @private
  30. init([]) ->
  31. {ok, disconnected, #state{}}.
  32. %% state event handler functions.
  33. %% @private
  34. disconnected(Event, State) ->
  35. ?WARN("[state: disconnected] Unhandled event: ~p", [Event]),
  36. {next_state, disconnected, State}.
  37. disconnected(Event, _From, State) ->
  38. ?WARN("[state: disconnected] Unhandled event: ~p", [Event]),
  39. {next_state, disconnected, State}.
  40. %% gen_fsm callbacks
  41. %% @private
  42. handle_event(Event, StateName, State) ->
  43. ?WARN("[state: ~p] Unhandled event: ~p", [StateName, Event]),
  44. {next_state, StateName, State}.
  45. %% @private
  46. handle_sync_event(Event, _From, StateName, State) ->
  47. ?WARN("[state: ~p] Unhandled event: ~p", [StateName, Event]),
  48. {next_state, StateName, State}.
  49. %% @private
  50. handle_info(Info, StateName, State) ->
  51. ?INFO("[state: ~p] Unexpected msg: ~p", [StateName, Info]),
  52. {next_state, StateName, State}.
  53. %% @private
  54. terminate(_Reason, _StateName, _State) ->
  55. ok.
  56. %% @private
  57. code_change(_OldVsn, StateName, State, _Extra) ->
  58. {ok, StateName, State}.
  59. %%====================================================================
  60. %% Internal functions
  61. %%====================================================================