blob: a96e71aebd34dcb687ed91ef22a79202cbeaf05c [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2021 Ericsson Telecom AB
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
// File: LWM2M_Plain_EncDec.ttcn
// Description:
// Rev: R1B
// Prodnr: CNL 113 859
// Updated: 2021-02-03
// Contact: http://ttcn.ericsson.se
///////////////////////////////////////////////////////////////////////////////
module LWM2M_Plain_EncDec
{
import from LightweightM2M_Types all;
function f_enc_LwM2M_Resources_to_Plain(in LwM2M_Resource_List p_res_list) return octetstring
{
var charstring v_result := "";
if (sizeof(p_res_list) >= 1)
{
if (ischosen(p_res_list[0].val.intValue)) {
v_result := int2str(p_res_list[0].val.intValue);
}
else if (ischosen(p_res_list[0].val.floatValue)) {
v_result := float2str(p_res_list[0].val.floatValue);
}
else if (ischosen(p_res_list[0].val.strValue)) {
v_result := p_res_list[0].val.strValue;
}
else if (ischosen(p_res_list[0].val.boolValue)) {
v_result := f_bool2str(p_res_list[0].val.boolValue);
}
else if (ischosen(p_res_list[0].val.opaqueValue)) {
v_result := oct2str(p_res_list[0].val.opaqueValue);
}
}
return char2oct(v_result);
}
function f_dec_LwM2M_Resources_from_Plain(in octetstring p_payload, inout LwM2M_Resource_List p_resources)
return boolean
{
p_resources[0] := c_LwM2M_Resource_init;
p_resources[0].val.strValue := oct2char(p_payload);
return true;
}
function f_bool2str(in boolean p_b) return charstring { if (p_b) {return "true"} else {return "false" }}
}