summaryrefslogtreecommitdiff
path: root/src/escape.erl
blob: 11f2a6cdd82adaf94a5abf9de0303d5208678aa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-module(escape).

-export([decode/1, lines/1]).
-export([privateData/1, deviceData/1]).

-include("CSTA-escape-service.hrl").
-include("CSTA-device-identifiers.hrl").
-include("KME-specific-types.hrl").

decode(Data) ->
	'CSTA-escape-service':decode('EscapeArgument', Data).

lines(Device) ->
	'CSTA-escape-service':encode('EscapeArgument', #'EscapeArgument'{
		privateData = {private,
		{kmeSystemData, {getSystemData, {request, {deviceList,
		{category, {standardDevice, Device}}}}}}}}).

privateData({ok, #'EscapeArgument'{privateData = Data}}) ->
	Private = private(Data),
	io:format("Private Data ~p~n", [Private]).

private({private, Private}) ->
	private(Private);
private({kmeSystemData, Data}) ->
	private(Data);
private({systemDataLinkedReply, #'KmeSystemDataLinkedReply'{lastSegment = false, sysData = Data}}) ->
	Data;
private({systemDataLinkedReply, #'KmeSystemDataLinkedReply'{lastSegment = true, sysData = Data}}) ->
	Data.

deviceData(Device) ->
	'CSTA-escape-service':encode('EscapeArgument', #'EscapeArgument'{
		privateData = {private, {kmeSystemData, {getSystemData,
		{request, {deviceData, #'KmeGetSystemDataReq_deviceData'{
		device = #'DeviceID'{deviceIdentifier = Device},
		sysData = {fcoKey, 'NULL'} }}}}}}}).