summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-11-09 01:34:33 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-11-09 01:34:33 +0100
commit446d0ef9d7fefd3ba0d3ce2640bf53b4a102de7f (patch)
tree76be21cefb8a6883f639462b09307653e2a4bb97
parenta5f27ca1ff27b18ceaa37d39b1cfab2023c70ded (diff)
Pull API call back into module
-rw-r--r--src/pbx_api.erl23
-rw-r--r--src/pbx_conn.erl8
2 files changed, 15 insertions, 16 deletions
diff --git a/src/pbx_api.erl b/src/pbx_api.erl
index 23c3a6e..e5fa5fd 100644
--- a/src/pbx_api.erl
+++ b/src/pbx_api.erl
@@ -1,40 +1,35 @@
-module(pbx_api).
--define(CONN, pbx_conn).
-include("opcodes.hrl").
--export([send/1, ext/0, co/0, snapshot/1, monitor/1, button/1,
- dial/2, fco/1, type/0]).
+-export([ext/0, co/0, snapshot/1, monitor/1, button/1, dial/2, fco/1, type/0]).
ext() ->
- gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE,
+ pbx_conn:send(pbx_rose:invoke(?ESCAPE,
pbx_escape:lines(station))).
co() ->
- gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE,
+ pbx_conn:send(pbx_rose:invoke(?ESCAPE,
pbx_escape:lines(networkInterface))).
-send(Reply) ->
- gen_server:cast(?CONN, Reply).
-
snapshot(Device) ->
- gen_server:cast(?CONN, pbx_rose:invoke(?SNAPSHOT,
+ pbx_conn:send(pbx_rose:invoke(?SNAPSHOT,
pbx_snapshot:encode({dialingNumber, Device}))).
button(Device) ->
- gen_server:cast(?CONN, pbx_rose:invoke(?BUTTON,
+ pbx_conn:send(pbx_rose:invoke(?BUTTON,
pbx_button:encode({dialingNumber, Device}))).
monitor(Device) ->
- gen_server:cast(?CONN, pbx_rose:invoke(?MONITOR,
+ pbx_conn:send(pbx_rose:invoke(?MONITOR,
pbx_monitor:encode({dialingNumber, Device}))).
dial(From, To) ->
- gen_server:cast(?CONN, pbx_rose:invoke(?MAKECALL,
+ pbx_conn:send(pbx_rose:invoke(?MAKECALL,
pbx_dial:encode({dialingNumber, From}, {dialingNumber, To}))).
fco(Device) ->
- gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE,
+ pbx_conn:send(pbx_rose:invoke(?ESCAPE,
pbx_escape:deviceData({dialingNumber, Device}))).
type() ->
- gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE, pbx_escape:pbxType())).
+ pbx_conn:send(pbx_rose:invoke(?ESCAPE, pbx_escape:pbxType())).
diff --git a/src/pbx_conn.erl b/src/pbx_conn.erl
index 0ea0d3f..af3dbc0 100644
--- a/src/pbx_conn.erl
+++ b/src/pbx_conn.erl
@@ -5,6 +5,7 @@
-export([start_link/0]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
+-export([send/1]).
-include("config.hrl").
@@ -12,7 +13,7 @@ start_link() ->
gen_server:start_link({local, ?SERVER}, ?MODULE, [?HOST, ?PORT], []).
init(Args) ->
- gen_server:cast(?SERVER, pbx_acse:associate()),
+ send(pbx_acse:associate()),
[Host, Port] = Args,
gen_tcp:connect(Host, Port, [binary, {packet, 2}]).
@@ -37,8 +38,11 @@ handle_info({tcp_closed, _}, Socket) ->
{stop, normal, Socket}.
terminate(_Reason, Socket) ->
- gen_server:cast(?SERVER, pbx_acse:release()),
+ send(pbx_acse:release()),
gen_tcp:close(Socket).
code_change(_OldVsn, Socket, _Extra) ->
{ok, Socket}.
+
+send(Reply) ->
+ gen_server:cast(?SERVER, Reply).