From c9f4a22ccb3c2e39de80f15dd811ce198e35d4d4 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 8 Nov 2015 17:34:19 +0100 Subject: Rename files --- src/acse.erl | 40 ---------------------------- src/pbx_acse.erl | 40 ++++++++++++++++++++++++++++ src/pbx_conn.erl | 28 ++++++++++---------- src/pbx_rose.erl | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/rose.erl | 80 -------------------------------------------------------- 5 files changed, 134 insertions(+), 134 deletions(-) delete mode 100644 src/acse.erl create mode 100644 src/pbx_acse.erl create mode 100644 src/pbx_rose.erl delete mode 100644 src/rose.erl diff --git a/src/acse.erl b/src/acse.erl deleted file mode 100644 index a77fab0..0000000 --- a/src/acse.erl +++ /dev/null @@ -1,40 +0,0 @@ --module(acse). - --include("ACSE-1.hrl"). --include("CSTA-application-context-information-csta3.hrl"). - --export([associate/0, release/0]). --export([decode/1, dispatch/1]). - -associate() -> - {ok, UI} = 'CSTA-application-context-information-csta3':encode( - 'ACSEUserInformationForCSTA', {newDefinition, - #'NewACSEUserInformationForCSTA'{cSTAVersion = [versionFive]}}), - 'ACSE-1':encode('ACSE-apdu', {aarq, #'AARQ-apdu'{ - 'protocol-version' = [version1], % required - 'application-context-name' = {1, 3, 12, 0, 218}, - 'user-information' = [#'EXTERNAL'{ - 'direct-reference' = {1, 3, 12, 0, 285, 200}, - encoding = {'single-ASN1-type', UI}}]}}). - -release() -> - 'ACSE-1':encode('ACSE-apdu', {rlrq, #'RLRQ-apdu'{}}). - -decode(Data) -> - 'ACSE-1':decode('ACSE-apdu', Data). - -dispatch({aare, #'AARE-apdu'{result = accepted}}) -> - ok; - -dispatch({aare, #'AARE-apdu'{}}) -> - error; - -dispatch({rlre, _}) -> - ok; - -dispatch({abrt, _}) -> - error; - -dispatch({asn1_ExtAlt, Data}) -> - {ok, Rose} = rose:decode(Data), - rose:dispatch(Rose). diff --git a/src/pbx_acse.erl b/src/pbx_acse.erl new file mode 100644 index 0000000..5b37964 --- /dev/null +++ b/src/pbx_acse.erl @@ -0,0 +1,40 @@ +-module(pbx_acse). + +-include("ACSE-1.hrl"). +-include("CSTA-application-context-information-csta3.hrl"). + +-export([associate/0, release/0]). +-export([decode/1, dispatch/1]). + +associate() -> + {ok, UI} = 'CSTA-application-context-information-csta3':encode( + 'ACSEUserInformationForCSTA', {newDefinition, + #'NewACSEUserInformationForCSTA'{cSTAVersion = [versionFive]}}), + 'ACSE-1':encode('ACSE-apdu', {aarq, #'AARQ-apdu'{ + 'protocol-version' = [version1], % required + 'application-context-name' = {1, 3, 12, 0, 218}, + 'user-information' = [#'EXTERNAL'{ + 'direct-reference' = {1, 3, 12, 0, 285, 200}, + encoding = {'single-ASN1-type', UI}}]}}). + +release() -> + 'ACSE-1':encode('ACSE-apdu', {rlrq, #'RLRQ-apdu'{}}). + +decode(Data) -> + 'ACSE-1':decode('ACSE-apdu', Data). + +dispatch({aare, #'AARE-apdu'{result = accepted}}) -> + ok; + +dispatch({aare, #'AARE-apdu'{}}) -> + error; + +dispatch({rlre, _}) -> + ok; + +dispatch({abrt, _}) -> + error; + +dispatch({asn1_ExtAlt, Data}) -> + {ok, Rose} = pbx_rose:decode(Data), + pbx_rose:dispatch(Rose). diff --git a/src/pbx_conn.erl b/src/pbx_conn.erl index af319fb..4c570d6 100644 --- a/src/pbx_conn.erl +++ b/src/pbx_conn.erl @@ -16,7 +16,7 @@ start_link() -> gen_server:start_link({local, ?SERVER}, ?MODULE, [?HOST, ?PORT], []). init(Args) -> - gen_server:cast(?SERVER, acse:associate()), + gen_server:cast(?SERVER, pbx_acse:associate()), [Host, Port] = Args, gen_tcp:connect(Host, Port, [binary, {packet, 2}]). @@ -28,12 +28,12 @@ handle_cast({ok, Reply}, Socket) -> {noreply, Socket}. handle_info({tcp, _, Data}, Socket) -> - case acse:decode(Data) of + case pbx_acse:decode(Data) of {ok, {asn1_ExtAlt, Data}} -> - {ok, Rose} = rose:decode(Data), - rose:dispatch(Rose); + {ok, Rose} = pbx_rose:decode(Data), + pbx_rose:dispatch(Rose); {ok, Acse} -> - acse:dispatch(Acse) + pbx_acse:dispatch(Acse) end, {noreply, Socket}; @@ -41,7 +41,7 @@ handle_info({tcp_closed, _}, Socket) -> {stop, normal, Socket}. terminate(_Reason, State) -> - gen_server:cast(?SERVER, acse:release()), + gen_server:cast(?SERVER, pbx_acse:release()), gen_tcp:close(State). code_change(_OldVsn, State, _Extra) -> @@ -50,35 +50,35 @@ code_change(_OldVsn, State, _Extra) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ext() -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, + gen_server:cast(?SERVER, pbx_rose:invoke(?ESCAPE, escape:lines(station))). co() -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, + gen_server:cast(?SERVER, pbx_rose:invoke(?ESCAPE, escape:lines(networkInterface))). send(Reply) -> gen_server:cast(?SERVER, Reply). snapshot(Device) -> - gen_server:cast(?SERVER, rose:invoke(?SNAPSHOT, + gen_server:cast(?SERVER, pbx_rose:invoke(?SNAPSHOT, snapshot:encode({dialingNumber, Device}))). button(Device) -> - gen_server:cast(?SERVER, rose:invoke(?BUTTON, + gen_server:cast(?SERVER, pbx_rose:invoke(?BUTTON, button:encode({dialingNumber, Device}))). monitor(Device) -> - gen_server:cast(?SERVER, rose:invoke(?MONITOR, + gen_server:cast(?SERVER, pbx_rose:invoke(?MONITOR, monitor:encode({dialingNumber, Device}))). dial(From, To) -> - gen_server:cast(?SERVER, rose:invoke(?MAKECALL, + gen_server:cast(?SERVER, pbx_rose:invoke(?MAKECALL, dial:encode({dialingNumber, From}, {dialingNumber, To}))). fco(Device) -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, + gen_server:cast(?SERVER, pbx_rose:invoke(?ESCAPE, escape:deviceData({dialingNumber, Device}))). type() -> - gen_server:cast(?SERVER, rose:invoke(?ESCAPE, escape:pbxType())). + gen_server:cast(?SERVER, pbx_rose:invoke(?ESCAPE, escape:pbxType())). diff --git a/src/pbx_rose.erl b/src/pbx_rose.erl new file mode 100644 index 0000000..3e6f730 --- /dev/null +++ b/src/pbx_rose.erl @@ -0,0 +1,80 @@ +-module(pbx_rose). + +-export([decode/1, invoke/2, dispatch/1]). + +-include("opcodes.hrl"). +-include("Remote-Operations-Generic-ROS-PDUs.hrl"). + +decode(Data) -> + 'Remote-Operations-Generic-ROS-PDUs':decode('ROS', Data). + +return(Id, Op, {ok, Data}) -> + 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {returnResult, + #'ReturnResult'{invokeId = Id, + result = #'ReturnResult_result'{opcode = Op, result = Data}}}). + +invoke(Op, {ok, Data}) -> + 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}}) -> + pbx_invoke:set(Id), + case Op of + ?MAKECALL -> + ok; + ?BUTTON -> + ok; + ?EVENT -> + {ok, Event} = event:decode(Data), + io:format("Event: ~p~n", [Event]), + ok; + ?ESCAPE -> + escape:privateData(escape:decode(Data)); + ?MONITOR -> + ok; + ?SNAPSHOT -> + ok; + ?STATUS -> + %io:format("Status: ~p~n", [status:value(Data)]), + tapi:send(return(Id, Op, status:encode())); + _ -> + error + end; + +dispatch({returnResult, #'ReturnResult'{invokeId = Id, result = Data}}) -> + pbx_invoke:set(Id), + dispatch(Data); + +dispatch({returnError, #'ReturnError'{invokeId = Id, errcode = Op, parameter = Data}}) -> + pbx_invoke:set(Id), + case Op of + ?ERROR -> + {ok, Error} = error:decode(Data), + io:format("Error: ~p~n", [Error]) + end, + error; + +dispatch({reject, #'Reject'{invokeId = Id, problem = Problem}}) -> + pbx_invoke:set(Id), + io:format("Problem: ~p~n", [Problem]), + error; + +dispatch(#'ReturnResult_result'{opcode = Op, result = Data}) -> + case Op of + ?MAKECALL -> + {ok, Result} = dial:decode(Data), + io:format("Make call: ~p~n", [Result]); + ?BUTTON -> + {ok, List} = button:decode(Data), + io:format("List: ~p~n", [List]); + ?MONITOR -> + {ok, Status} = monitor:decode(Data), + io:format("Result: ~p~n", [Status]); + ?SNAPSHOT -> + {ok, Status} = snapshot:decode(Data), + io:format("Result: ~p~n", [Status]); + _ -> + io:format("Result: ~p~n", [Data]) + end, + ok. diff --git a/src/rose.erl b/src/rose.erl deleted file mode 100644 index 4956c67..0000000 --- a/src/rose.erl +++ /dev/null @@ -1,80 +0,0 @@ --module(rose). - --export([decode/1, invoke/2, dispatch/1]). - --include("opcodes.hrl"). --include("Remote-Operations-Generic-ROS-PDUs.hrl"). - -decode(Data) -> - 'Remote-Operations-Generic-ROS-PDUs':decode('ROS', Data). - -return(Id, Op, {ok, Data}) -> - 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {returnResult, - #'ReturnResult'{invokeId = Id, - result = #'ReturnResult_result'{opcode = Op, result = Data}}}). - -invoke(Op, {ok, Data}) -> - 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}}) -> - pbx_invoke:set(Id), - case Op of - ?MAKECALL -> - ok; - ?BUTTON -> - ok; - ?EVENT -> - {ok, Event} = event:decode(Data), - io:format("Event: ~p~n", [Event]), - ok; - ?ESCAPE -> - escape:privateData(escape:decode(Data)); - ?MONITOR -> - ok; - ?SNAPSHOT -> - ok; - ?STATUS -> - %io:format("Status: ~p~n", [status:value(Data)]), - tapi:send(return(Id, Op, status:encode())); - _ -> - error - end; - -dispatch({returnResult, #'ReturnResult'{invokeId = Id, result = Data}}) -> - pbx_invoke:set(Id), - dispatch(Data); - -dispatch({returnError, #'ReturnError'{invokeId = Id, errcode = Op, parameter = Data}}) -> - pbx_invoke:set(Id), - case Op of - ?ERROR -> - {ok, Error} = error:decode(Data), - io:format("Error: ~p~n", [Error]) - end, - error; - -dispatch({reject, #'Reject'{invokeId = Id, problem = Problem}}) -> - pbx_invoke:set(Id), - io:format("Problem: ~p~n", [Problem]), - error; - -dispatch(#'ReturnResult_result'{opcode = Op, result = Data}) -> - case Op of - ?MAKECALL -> - {ok, Result} = dial:decode(Data), - io:format("Make call: ~p~n", [Result]); - ?BUTTON -> - {ok, List} = button:decode(Data), - io:format("List: ~p~n", [List]); - ?MONITOR -> - {ok, Status} = monitor:decode(Data), - io:format("Result: ~p~n", [Status]); - ?SNAPSHOT -> - {ok, Status} = snapshot:decode(Data), - io:format("Result: ~p~n", [Status]); - _ -> - io:format("Result: ~p~n", [Data]) - end, - ok. -- cgit v1.2.3