diff options
Diffstat (limited to 'templates/gen_statem.erl')
-rw-r--r-- | templates/gen_statem.erl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/templates/gen_statem.erl b/templates/gen_statem.erl new file mode 100644 index 0000000..afdf20f --- /dev/null +++ b/templates/gen_statem.erl @@ -0,0 +1,42 @@ +-module(template_name). +-behaviour(gen_statem). + +%% API. +-export([start_link/0]). + +%% gen_statem. +-export([callback_mode/0]). +-export([init/1]). +-export([state_name/3]). +-export([handle_event/4]). +-export([terminate/3]). +-export([code_change/4]). + +-record(state, { +}). + +%% API. + +-spec start_link() -> {ok, pid()}. +start_link() -> + gen_statem:start_link(?MODULE, [], []). + +%% gen_statem. + +callback_mode() -> + state_functions. + +init([]) -> + {ok, state_name, #state{}}. + +state_name(_EventType, _EventData, StateData) -> + {next_state, state_name, StateData}. + +handle_event(_EventType, _EventData, StateName, StateData) -> + {next_state, StateName, StateData}. + +terminate(_Reason, _StateName, _StateData) -> + ok. + +code_change(_OldVsn, StateName, StateData, _Extra) -> + {ok, StateName, StateData}. |