summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-11-02 16:36:36 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-11-02 16:36:36 +0100
commit2000ab446d49d75d21d4b338e20d6eec9d2f48d1 (patch)
treed58296db14bd29eca52db94f3cb1795105847f69
parent3f07fdc48606b7c9c22fadda29ef44c41ab9a693 (diff)
Add start monitor
-rw-r--r--src/monitor.erl16
-rw-r--r--src/pbx_app.erl2
-rw-r--r--src/pbx_sup.erl2
-rw-r--r--src/rose.erl3
-rw-r--r--src/tda.erl5
5 files changed, 23 insertions, 5 deletions
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),