From ebd0901daf97c3f6c2dbea5737caf17b4c7d140d Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 8 Nov 2015 17:31:25 +0100 Subject: Rename files --- src/counter.erl | 51 --------------------------------- src/pbx_conn.erl | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/pbx_invoke.erl | 51 +++++++++++++++++++++++++++++++++ src/pbx_sup.erl | 7 ++--- src/rose.erl | 10 +++---- src/tapi.erl | 84 ------------------------------------------------------ 6 files changed, 143 insertions(+), 144 deletions(-) delete mode 100644 src/counter.erl create mode 100644 src/pbx_conn.erl create mode 100644 src/pbx_invoke.erl delete mode 100644 src/tapi.erl diff --git a/src/counter.erl b/src/counter.erl deleted file mode 100644 index 2444ce0..0000000 --- a/src/counter.erl +++ /dev/null @@ -1,51 +0,0 @@ --module(counter). --behaviour(gen_server). --define(SERVER, ?MODULE). - --export([start_link/0]). --export([init/1, handle_call/3, handle_cast/2, handle_info/2, - terminate/2, code_change/3]). - --export([next/0, get/0, set/1]). - --define(MAXCOUNT, 32767). - -start_link() -> - gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). - -init(_Args) -> - {ok, 0}. - -handle_call(next, _From, N) when N >= ?MAXCOUNT -> - {reply, 0, 0}; -handle_call(next, _From, N) -> - {reply, N + 1, N + 1}; -handle_call(get, _From, N) -> - {reply, N, N}; -handle_call({set, N}, _From, _N) -> - {reply, ok, N}. - -handle_cast(_Msg, State) -> - {noreply, State}. - -handle_info(_Info, State) -> - {noreply, State}. - -terminate(_Reason, _State) -> - ok. - -code_change(_OldVsn, State, _Extra) -> - {ok, State}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -set({present, N}) -> - gen_server:call(?SERVER, {set, N}). - -next() -> - N = gen_server:call(?SERVER, next), - {present, N}. - -get() -> - N = gen_server:call(?SERVER, gete), - {present, N}. diff --git a/src/pbx_conn.erl b/src/pbx_conn.erl new file mode 100644 index 0000000..af319fb --- /dev/null +++ b/src/pbx_conn.erl @@ -0,0 +1,84 @@ +-module(pbx_conn). +-behaviour(gen_server). +-define(SERVER, ?MODULE). + +-export([start_link/0]). +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, + terminate/2, code_change/3]). + +-export([send/1, ext/0, co/0, snapshot/1, monitor/1, button/1, + dial/2, fco/1, type/0]). + +-include("config.hrl"). +-include("opcodes.hrl"). + +start_link() -> + gen_server:start_link({local, ?SERVER}, ?MODULE, [?HOST, ?PORT], []). + +init(Args) -> + gen_server:cast(?SERVER, acse:associate()), + [Host, Port] = Args, + gen_tcp:connect(Host, Port, [binary, {packet, 2}]). + +handle_call(_Request, _From, State) -> + {reply, ok, State}. + +handle_cast({ok, Reply}, Socket) -> + gen_tcp:send(Socket, Reply), + {noreply, Socket}. + +handle_info({tcp, _, Data}, Socket) -> + case acse:decode(Data) of + {ok, {asn1_ExtAlt, Data}} -> + {ok, Rose} = rose:decode(Data), + rose:dispatch(Rose); + {ok, Acse} -> + acse:dispatch(Acse) + end, + {noreply, Socket}; + +handle_info({tcp_closed, _}, Socket) -> + {stop, normal, Socket}. + +terminate(_Reason, State) -> + gen_server:cast(?SERVER, acse:release()), + gen_tcp:close(State). + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +ext() -> + gen_server:cast(?SERVER, rose:invoke(?ESCAPE, + escape:lines(station))). + +co() -> + gen_server:cast(?SERVER, rose:invoke(?ESCAPE, + escape:lines(networkInterface))). + +send(Reply) -> + gen_server:cast(?SERVER, Reply). + +snapshot(Device) -> + gen_server:cast(?SERVER, rose:invoke(?SNAPSHOT, + snapshot:encode({dialingNumber, Device}))). + +button(Device) -> + gen_server:cast(?SERVER, rose:invoke(?BUTTON, + button:encode({dialingNumber, Device}))). + +monitor(Device) -> + gen_server:cast(?SERVER, rose:invoke(?MONITOR, + monitor:encode({dialingNumber, Device}))). + +dial(From, To) -> + gen_server:cast(?SERVER, rose:invoke(?MAKECALL, + dial:encode({dialingNumber, From}, {dialingNumber, To}))). + +fco(Device) -> + gen_server:cast(?SERVER, rose:invoke(?ESCAPE, + escape:deviceData({dialingNumber, Device}))). + +type() -> + gen_server:cast(?SERVER, rose:invoke(?ESCAPE, escape:pbxType())). diff --git a/src/pbx_invoke.erl b/src/pbx_invoke.erl new file mode 100644 index 0000000..034fc1e --- /dev/null +++ b/src/pbx_invoke.erl @@ -0,0 +1,51 @@ +-module(pbx_invoke). +-behaviour(gen_server). +-define(SERVER, ?MODULE). + +-export([start_link/0]). +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, + terminate/2, code_change/3]). + +-export([next/0, get/0, set/1]). + +-define(MAXCOUNT, 32767). + +start_link() -> + gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). + +init(_Args) -> + {ok, 0}. + +handle_call(next, _From, N) when N >= ?MAXCOUNT -> + {reply, 0, 0}; +handle_call(next, _From, N) -> + {reply, N + 1, N + 1}; +handle_call(get, _From, N) -> + {reply, N, N}; +handle_call({set, N}, _From, _N) -> + {reply, ok, N}. + +handle_cast(_Msg, State) -> + {noreply, State}. + +handle_info(_Info, State) -> + {noreply, State}. + +terminate(_Reason, _State) -> + ok. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +set({present, N}) -> + gen_server:call(?SERVER, {set, N}). + +next() -> + N = gen_server:call(?SERVER, next), + {present, N}. + +get() -> + N = gen_server:call(?SERVER, gete), + {present, N}. diff --git a/src/pbx_sup.erl b/src/pbx_sup.erl index 4f753d1..fb0ce9c 100644 --- a/src/pbx_sup.erl +++ b/src/pbx_sup.erl @@ -11,8 +11,7 @@ start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []). init([]) -> - {ok, { - {one_for_one, 5, 10}, [ - ?CHILD(tapi, worker), - ?CHILD(counter, worker) + {ok, {{one_for_one, 5, 10}, + [?CHILD(pbx_conn, worker), + ?CHILD(pbx_invoke, worker) ]}}. diff --git a/src/rose.erl b/src/rose.erl index 68f2ad6..4956c67 100644 --- a/src/rose.erl +++ b/src/rose.erl @@ -14,12 +14,12 @@ return(Id, Op, {ok, Data}) -> result = #'ReturnResult_result'{opcode = Op, result = Data}}}). invoke(Op, {ok, Data}) -> - Id = counter:next(), + Id = pbx_invoke:next(), 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {invoke, #'Invoke'{invokeId = Id, opcode = Op, argument = Data}}). dispatch({invoke, #'Invoke'{invokeId = Id, opcode = Op, argument = Data}}) -> - counter:set(Id), + pbx_invoke:set(Id), case Op of ?MAKECALL -> ok; @@ -43,11 +43,11 @@ dispatch({invoke, #'Invoke'{invokeId = Id, opcode = Op, argument = Data}}) -> end; dispatch({returnResult, #'ReturnResult'{invokeId = Id, result = Data}}) -> - counter:set(Id), + pbx_invoke:set(Id), dispatch(Data); dispatch({returnError, #'ReturnError'{invokeId = Id, errcode = Op, parameter = Data}}) -> - counter:set(Id), + pbx_invoke:set(Id), case Op of ?ERROR -> {ok, Error} = error:decode(Data), @@ -56,7 +56,7 @@ dispatch({returnError, #'ReturnError'{invokeId = Id, errcode = Op, parameter = D error; dispatch({reject, #'Reject'{invokeId = Id, problem = Problem}}) -> - counter:set(Id), + pbx_invoke:set(Id), io:format("Problem: ~p~n", [Problem]), error; diff --git a/src/tapi.erl b/src/tapi.erl deleted file mode 100644 index c9ff2b1..0000000 --- a/src/tapi.erl +++ /dev/null @@ -1,84 +0,0 @@ --module(tapi). --behaviour(gen_server). --define(SERVER, ?MODULE). - --export([start_link/0]). --export([init/1, handle_call/3, handle_cast/2, handle_info/2, - terminate/2, code_change/3]). - --export([send/1, ext/0, co/0, snapshot/1, monitor/1, button/1, - dial/2, fco/1, type/0]). - --include("config.hrl"). --include("opcodes.hrl"). - -start_link() -> - gen_server:start_link({local, ?SERVER}, ?MODULE, [?HOST, ?PORT], []). - -init(Args) -> - gen_server:cast(?SERVER, acse:associate()), - [Host, Port] = Args, - gen_tcp:connect(Host, Port, [binary, {packet, 2}]). - -handle_call(_Request, _From, State) -> - {reply, ok, State}. - -handle_cast({ok, Reply}, Socket) -> - gen_tcp:send(Socket, Reply), - {noreply, Socket}. - -handle_info({tcp, _, Data}, Socket) -> - case acse:decode(Data) of - {ok, {asn1_ExtAlt, Data}} -> - {ok, Rose} = rose:decode(Data), - rose:dispatch(Rose); - {ok, Acse} -> - acse:dispatch(Acse) - end, - {noreply, Socket}; - -handle_info({tcp_closed, _}, Socket) -> - {stop, normal, Socket}. - -terminate(_Reason, State) -> - gen_server:cast(?SERVER, acse:release()), - gen_tcp:close(State). - -code_change(_OldVsn, State, _Extra) -> - {ok, State}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -ext() -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, - escape:lines(station))). - -co() -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, - escape:lines(networkInterface))). - -send(Reply) -> - gen_server:cast(?SERVER, Reply). - -snapshot(Device) -> - gen_server:cast(?SERVER, rose:invoke(?SNAPSHOT, - snapshot:encode({dialingNumber, Device}))). - -button(Device) -> - gen_server:cast(?SERVER, rose:invoke(?BUTTON, - button:encode({dialingNumber, Device}))). - -monitor(Device) -> - gen_server:cast(?SERVER, rose:invoke(?MONITOR, - monitor:encode({dialingNumber, Device}))). - -dial(From, To) -> - gen_server:cast(?SERVER, rose:invoke(?MAKECALL, - dial:encode({dialingNumber, From}, {dialingNumber, To}))). - -fco(Device) -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, - escape:deviceData({dialingNumber, Device}))). - -type() -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, escape:pbxType())). -- cgit v1.2.3