summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-11-04 14:28:01 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-11-04 14:28:01 +0100
commit046778631e81d628e80a6847ac7e8540ca81e7ea (patch)
tree8d2f12f1821a9fc606b75f62351d9caf35895bb9
parentf537ea9e9e5f09172f36ff333520e3cce12e87ff (diff)
wip
-rw-r--r--src/escape.erl11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/escape.erl b/src/escape.erl
index 30db37c..72755c9 100644
--- a/src/escape.erl
+++ b/src/escape.erl
@@ -20,7 +20,9 @@ privateData({ok, #'EscapeArgument'{privateData = Data}}) ->
private(Data).
private({private, {kmeSystemData, Data}}) ->
- io:format("kmeSystemData ~p~n", [linked(Data)]).
+ List = linked(Data),
+ %Dev = lists:map(fun device/1, List),
+ io:format("kmeSystemData ~p~n", [List]).
linked({systemDataLinkedReply, #'KmeSystemDataLinkedReply'{lastSegment = false, sysData = Data}}) ->
stateEntry(Data);
@@ -28,10 +30,15 @@ linked({systemDataLinkedReply, #'KmeSystemDataLinkedReply'{lastSegment = true, s
stateEntry(Data).
stateEntry(#'KmeGetSystemDataRsp'{deviceList = List}) when List =/= asn1_NOVALUE ->
- List;
+ lists:filter(fun stateEntryFilter/1, List);
stateEntry(#'KmeGetSystemDataRsp'{pbxType = Type}) when Type =/= asn1_NOVALUE ->
pbxType(Type).
+stateEntryFilter(#'KmeDeviceStateEntry'{status = ins}) -> true;
+stateEntryFilter(#'KmeDeviceStateEntry'{status = ous}) -> false.
+
+device(#'KmeDeviceStateEntry'{device = #'DeviceID'{deviceIdentifier = Device}}) -> Device.
+
deviceData(Device) ->
'CSTA-escape-service':encode('EscapeArgument', #'EscapeArgument'{
privateData = {private, {kmeSystemData, {getSystemData, {request,