-module(woprsrv).
-behaviour(gen_server).
-define(SERVER, ?MODULE).

%% ------------------------------------------------------------------
%% API Function Exports
%% ------------------------------------------------------------------

-export([start_link/0, cast/0]).

%% ------------------------------------------------------------------
%% gen_server Function Exports
%% ------------------------------------------------------------------

-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
         terminate/2, code_change/3]).

%% ------------------------------------------------------------------
%% API Function Definitions
%% ------------------------------------------------------------------

start_link() ->
    gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).

cast() ->
    gen_server:cast(?MODULE, {dontcarewhatishere}).

%% ------------------------------------------------------------------
%% gen_server Function Definitions
%% ------------------------------------------------------------------

init(Args) ->
    io:format("wopr:init~n"),
    {ok, Args}.

handle_call(_Request, _From, State) ->
    io:format("wopr:call~n"),
    {reply, ok, State}.

handle_cast(_Msg, State) ->
    io:format("wopr:cast~n"),
    {noreply, State}.

handle_info(_Info, State) ->
    io:format("wopr:info~n"),
    {noreply, State}.

terminate(_Reason, _State) ->
    io:format("wopr:terminate~n"),
    ok.

code_change(_OldVsn, State, _Extra) ->
    io:format("wopr:code_change~n"),
    {ok, State}.

%% ------------------------------------------------------------------
%% Internal Function Definitions
%% ------------------------------------------------------------------

