From 2000ab446d49d75d21d4b338e20d6eec9d2f48d1 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 2 Nov 2015 16:36:36 +0100 Subject: Add start monitor --- src/monitor.erl | 16 ++++++++++++++++ src/pbx_app.erl | 2 -- src/pbx_sup.erl | 2 -- src/rose.erl | 3 +++ src/tda.erl | 5 ++++- 5 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 src/monitor.erl (limited to 'src') diff --git a/src/monitor.erl b/src/monitor.erl new file mode 100644 index 0000000..36ef0f6 --- /dev/null +++ b/src/monitor.erl @@ -0,0 +1,16 @@ +-module(monitor). + +-export([decode/1, encode/1]). + +-include("CSTA-monitor-start.hrl"). +%-include("CSTA-status-reporting.hrl"). +-include("CSTA-device-identifiers.hrl"). + +decode(Data) -> + 'CSTA-monitor-start':decode('MonitorStartResult', Data). + +encode(Device) -> + 'CSTA-monitor-start':encode('MonitorStartArgument', + #'MonitorStartArgument'{ + monitorObject = {deviceObject, #'DeviceID'{ + deviceIdentifier = {deviceNumber, Device}}}}). diff --git a/src/pbx_app.erl b/src/pbx_app.erl index 57ba990..6d244ba 100644 --- a/src/pbx_app.erl +++ b/src/pbx_app.erl @@ -10,9 +10,7 @@ %% =================================================================== start(_StartType, _StartArgs) -> - io:format("start: ~p ~p~n", [_StartType, _StartArgs]), pbx_sup:start_link(). stop(_State) -> - io:format("stop: ~p~n", [_State]), ok. diff --git a/src/pbx_sup.erl b/src/pbx_sup.erl index 504866c..c9fa66a 100644 --- a/src/pbx_sup.erl +++ b/src/pbx_sup.erl @@ -16,7 +16,6 @@ %% =================================================================== start_link() -> - io:format("start_link~n", []), supervisor:start_link({local, ?MODULE}, ?MODULE, []). %% =================================================================== @@ -24,6 +23,5 @@ start_link() -> %% =================================================================== init([]) -> - io:format("init~n", []), {ok, { {one_for_one, 5, 10}, []} }. diff --git a/src/rose.erl b/src/rose.erl index 3db9909..e267b6d 100644 --- a/src/rose.erl +++ b/src/rose.erl @@ -52,6 +52,9 @@ dispatch({reject, #'Reject'{invokeId = Id, problem = Problem}}) -> dispatch(#'ReturnResult_result'{opcode = Op, result = Data}) -> case Op of + ?MONITOR -> + {ok, Status} = monitor:decode(Data), + io:format("Result: ~p~n", [Status]); ?SNAPSHOT -> {ok, Status} = snapshot:decode(Data), io:format("Result: ~p~n", [Status]); diff --git a/src/tda.erl b/src/tda.erl index db4db5c..b724e15 100644 --- a/src/tda.erl +++ b/src/tda.erl @@ -1,7 +1,7 @@ -module(tda). -export([start/0, client/1, stop/0, decode/1]). --export([send/1, ext/0, co/0, snapshot/1]). +-export([send/1, ext/0, co/0, snapshot/1, monitor/1]). -include("config.hrl"). -include("opcodes.hrl"). @@ -25,6 +25,9 @@ send(Reply) -> snapshot(Device) -> ?MODULE ! rose:invoke(?SNAPSHOT, snapshot:encode(Device)). +monitor(Device) -> + ?MODULE ! rose:invoke(?MONITOR, monitor:encode(Device)). + client({dial, Host, Port}) -> io:format("Dial ~p:~p~n", [Host, Port]), Conn = gen_tcp:connect(Host, Port, [binary, {packet, 2}], ?TIMEOUT), -- cgit v1.2.3