You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 line
1.7 KiB

  1. -module({{fsmid}}).
  2. -behaviour(gen_fsm).
  3. -define(SERVER, ?MODULE).
  4. %% ------------------------------------------------------------------
  5. %% API Function Exports
  6. %% ------------------------------------------------------------------
  7. -export([start_link/0]).
  8. %% ------------------------------------------------------------------
  9. %% gen_fsm Function Exports
  10. %% ------------------------------------------------------------------
  11. -export([init/1, state_name/2, state_name/3, handle_event/3,
  12. handle_sync_event/4, handle_info/3, terminate/3,
  13. code_change/4]).
  14. %% ------------------------------------------------------------------
  15. %% API Function Definitions
  16. %% ------------------------------------------------------------------
  17. start_link() ->
  18. gen_fsm:start_link({local, ?SERVER}, ?MODULE, [], []).
  19. %% ------------------------------------------------------------------
  20. %% gen_fsm Function Definitions
  21. %% ------------------------------------------------------------------
  22. init(_Args) ->
  23. {ok, initial_state_name, initial_state}.
  24. state_name(_Event, State) ->
  25. {next_state, state_name, State}.
  26. state_name(_Event, _From, State) ->
  27. {reply, ok, state_name, State}.
  28. handle_event(_Event, StateName, State) ->
  29. {next_state, StateName, State}.
  30. handle_sync_event(_Event, _From, StateName, State) ->
  31. {reply, ok, StateName, State}.
  32. handle_info(_Info, StateName, State) ->
  33. {next_state, StateName, State}.
  34. terminate(_Reason, _StateName, _State) ->
  35. ok.
  36. code_change(_OldVsn, StateName, State, _Extra) ->
  37. {ok, StateName, State}.
  38. %% ------------------------------------------------------------------
  39. %% Internal Function Definitions
  40. %% ------------------------------------------------------------------