summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-11-11 14:49:51 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-11-11 14:49:51 +0100
commit8346e23acabd2a94dc50fd84316221d6790f7f90 (patch)
tree7eb5a0baa9998d4d2adf5d4262a599daea93bb7d
parent0aeaa178ac05d927862a7826a1a483d1eab022e5 (diff)
Event stub
-rw-r--r--src/pbx_acse.erl2
-rw-r--r--src/pbx_conn.erl1
-rw-r--r--src/pbx_rose.erl36
3 files changed, 37 insertions, 2 deletions
diff --git a/src/pbx_acse.erl b/src/pbx_acse.erl
index 1376cb9..84a3bb3 100644
--- a/src/pbx_acse.erl
+++ b/src/pbx_acse.erl
@@ -44,7 +44,6 @@ decode(<<Data/binary>>) ->
%%%
init(_Args) ->
- io:format("Init~n"),
{ok, undefined}.
handle_event({aare, #'AARE-apdu'{result = Result}}, _State) ->
@@ -57,7 +56,6 @@ handle_event({abrt, _}, _State) ->
io:format("ABRT~n"),
{ok, aborted};
handle_event(_Event, State) ->
- io:format("ELSE~n"),
{ok, State}.
handle_call(association, State) ->
diff --git a/src/pbx_conn.erl b/src/pbx_conn.erl
index 9b92b11..631fde6 100644
--- a/src/pbx_conn.erl
+++ b/src/pbx_conn.erl
@@ -17,6 +17,7 @@ init(Args) ->
[Host, Port] = Args,
pbx_pdu:start_link(),
pbx_pdu:add_handler(pbx_acse, []),
+ pbx_pdu:add_handler(pbx_rose, []),
gen_tcp:connect(Host, Port, [binary, {packet, 2}]).
handle_call(_Request, _From, Socket) ->
diff --git a/src/pbx_rose.erl b/src/pbx_rose.erl
index 73ec8b0..ab73064 100644
--- a/src/pbx_rose.erl
+++ b/src/pbx_rose.erl
@@ -1,5 +1,8 @@
-module(pbx_rose).
+-behaviour(gen_event).
+-export([init/1, handle_event/2, handle_call/2, handle_info/2,
+ terminate/2, code_change/3]).
-export([decode/1, invoke/2]).
-include("opcodes.hrl").
@@ -74,3 +77,36 @@ decode(#'ReturnResult_result'{opcode = Op, result = Data}) ->
decode(<<Data/binary>>) ->
{ok, Pdu} = 'Remote-Operations-Generic-ROS-PDUs':decode('ROS', Data),
decode(Pdu).
+
+%%%
+
+init(_Args) ->
+ io:format("Init rose~n"),
+ {ok, []}.
+
+handle_event({invoke, Invoke = #'Invoke'{}}, State) ->
+ io:format("Invoke ~p~n", [Invoke]),
+ {ok, State};
+handle_event({returnResult, ReturnResult = #'ReturnResult'{}}, State) ->
+ io:format("ReturnResult ~p~n", [ReturnResult]),
+ {ok, State};
+handle_event({returnError, ReturnError = #'ReturnError'{}}, State) ->
+ io:format("ReturnError ~p~n", [ReturnError]),
+ {ok, State};
+handle_event({reject, Reject = #'Reject'{}}, State) ->
+ io:format("Reject ~p~n", [Reject]),
+ {ok, State};
+handle_event(_Event, State) ->
+ {ok, State}.
+
+handle_call(_Request, State) ->
+ {ok, ok, State}.
+
+handle_info(_Info, State) ->
+ {ok, State}.
+
+terminate(_Reason, _State) ->
+ ok.
+
+code_change(_OldVsn, State, _Extra) ->
+ {ok, State}.