blob: 321aaf5c58fa1db98289ffa30dd05ebd74fa53df [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2020 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: EPTF_LwM2M_LGen_Definitions.ttcn
// Description:
// Rev: R1A
// Prodnr: CNL 113 859
// Updated: 2020-03-04
// Contact: http://ttcn.ericsson.se
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_LwM2M_LGen_Definitions
//
// Purpose:
// This module contains the definitions for the LWM2M load generator component
//
// Module depends on:
// - <EPTF_LwM2M_Object_Definitions>
// - <EPTF_LwM2M_Transport_Definitions>
// - <EPTF_CLL_LGenBase_Definitions>
// - <EPTF_CLL_Logging_Definitions>
// - <EPTF_CLL_FBQ_Definitions>
// - <LightweightM2M_Types>
//
// Module Parameters:
// tsp_EPTF_LwM2M_LGen_log_error - <tsp_EPTF_LwM2M_LGen_log_error> - *boolean* - Enabled/disable error logging
// tsp_EPTF_LwM2M_LGen_log_warning - <tsp_EPTF_LwM2M_LGen_log_warning> - *boolean* - Enabled/disable warning logging
// tsp_EPTF_LwM2M_LGen_debug - <tsp_EPTF_LwM2M_LGen_debug> - *boolean* - Enabled/disable debug logging
// tsp_EPTF_LwM2M_LGen_debugVerbose - <tsp_EPTF_LwM2M_LGen_debugVerbose> - *boolean* - Enabled/disable verbose debug logging
// tsp_EPTF_LwM2M_LGen_templates - <tsp_EPTF_LwM2M_LGen_templates> - <LwM2M_Template_List> - LWM2M template definitions for sending
// tsp_EPTF_LwM2M_LGen_objectSpecifications - <tsp_EPTF_LwM2M_LGen_objectSpecifications> - <LwM2M_ObjectSpecification_List> - Additional smart object specifications to be loaded
// tsp_EPTF_LwM2M_LGen_defaultContentFormat - <tsp_EPTF_LwM2M_LGen_defaultContentFormat> - *integer* - default LwM@M payload content format
//
// Events:
// LWM2M Register request - <c_LwM2M_eventIdx_Register>, <c_LwM2M_eventName_Register>
// LWM2M Update request - <c_LwM2M_eventIdx_Update>, <c_LwM2M_eventName_Update>
// LWM2M Deregister request - <c_LwM2M_eventIdx_Deregister>, <c_LwM2M_eventName_Deregister>
// LWM2M Read request - <c_LwM2M_eventIdx_Read>, <c_LwM2M_eventName_Read>
// LWM2M Write request - <c_LwM2M_eventIdx_Write>, <c_LwM2M_eventName_Write>
// LWM2M Execute request - <c_LwM2M_eventIdx_Execute>, <c_LwM2M_eventName_Execute>
// LWM2M Create request - <c_LwM2M_eventIdx_Create>, <c_LwM2M_eventName_Create>
// LWM2M Delete request - <c_LwM2M_eventIdx_Delete>, <c_LwM2M_eventName_Delete>
// LWM2M 1xx response - <c_LwM2M_eventIdx_1xx>, <c_LwM2M_eventName_1xx>
// LWM2M 2xx response - <c_LwM2M_eventIdx_2xx>, <c_LwM2M_eventName_2xx>
// LWM2M 3xx response - <c_LwM2M_eventIdx_3xx>, <c_LwM2M_eventName_3xx>
// LWM2M 4xx response - <c_LwM2M_eventIdx_4xx>, <c_LwM2M_eventName_4xx>
// LWM2M 5xx response - <c_LwM2M_eventIdx_5xx>, <c_LwM2M_eventName_5xx>
// LWM2M 6xx response - <c_LwM2M_eventIdx_6xx>, <c_LwM2M_eventName_6xx>
// LWM2M 3xxto6xx response - <c_LwM2M_eventIdx_3xxto6xx>, <c_LwM2M_eventName_3xxto6xx>
// LWM2M resource not observed any more indication - <c_LwM2M_eventIdx_resourceNotObservedIndication>, <c_LwM2M_eventName_resourceNotObservedIndication>
//
// TestSteps:
// LWM2M load template - <f_LwM2M_step_loadTemplate_byIntIdx>, <c_LwM2M_stepName_loadTemplate_byIntIdx>, <c_LwM2M_stepIdx_loadTemplate_byIntIdx>
// <f_LwM2M_step_loadTemplate_byStringId>, <c_LwM2M_stepName_send>, <c_LwM2M_stepIdx_loadTemplate_byStringId>
// LWM2M send - <f_LwM2M_step_send>, <c_LwM2M_stepName_send>, <c_LwM2M_stepIdx_send>
// LWM2M create device - <f_LwM2M_step_createDevice>, <c_LwM2M_stepName_createDevice>, <c_LwM2M_stepIdx_createDevice>
// LWM2M clean up device - <f_LwM2M_step_cleanupDevice>, <c_LwM2M_stepName_cleanupDevice>, <c_LwM2M_stepIdx_cleanupDevice>
// LWM2M log device - <f_LwM2M_step_logDevice>, <c_LwM2M_stepName_logDevice>, <c_LwM2M_stepIdx_logDevice>
// LWM2M create object - <f_LwM2M_step_createObject>, <c_LwM2M_stepName_createObject>, <c_LwM2M_stepIdx_createObject>
// LWM2M create object instance - <f_LwM2M_step_createObjectInstance>, <c_LwM2M_stepName_createObjectInstance>, <c_LwM2M_stepIdx_createObjectInstance>
// LWM2M handle READ request - <f_LwM2M_step_handleReadRequest>, <c_LwM2M_stepName_handleReadRequest>, <c_LwM2M_stepIdx_handleReadRequest>
// LWM2M handle WRITE request - <f_LwM2M_step_handleWriteRequest>, <c_LwM2M_stepName_handleWriteRequest>, <c_LwM2M_stepIdx_handleWriteRequest>
// LWM2M handle EXECUTE request - <f_LwM2M_step_handleExecuteRequest>, <c_LwM2M_stepName_handleExecuteRequest>, <c_LwM2M_stepIdx_handleExecuteRequest>
// LWM2M send NOTIFICATION - <f_LwM2M_step_sendNotificationForObservedResources>, <c_LwM2M_stepName_sendNotificationForObservedResources>, <c_LwM2M_stepIdx_sendNotificationForObservedResources>
// LWM2M set firmware update state - <f_LwM2M_step_setFirmwareUpdateState>, <c_LwM2M_stepName_setFirmwareUpdateState>, <c_LwM2M_stepIdx_setFirmwareUpdateState>
// LWM2M set firmware update results - <f_LwM2M_step_setFirmwareUpdateResult>, <c_LwM2M_stepName_setFirmwareUpdateResult>, <c_LwM2M_stepIdx_setFirmwareUpdateResult>
// LWM2M set bootstrap state - <f_LwM2M_step_setBootstrapState>, <c_LwM2M_stepName_setBootstrapState>, <c_LwM2M_stepIdx_setBootstrapState>
// LWM2M set not_registered state - <f_LwM2M_step_setNotRegisteredState>, <c_LwM2M_stepName_setNotRegisteredState>, <c_LwM2M_stepIdx_setNotRegisteredState>
// LWM2M set block1 handling stateless - <f_LwM2M_step_setBlock1Handling_stateless>, <c_LwM2M_stepName_setBlock1Handling_stateless>, <c_LwM2M_stepIdx_setBlock1Handling_stateless>
// LWM2M set block1 handling atomic - <f_LwM2M_step_setBlock1Handling_atomic>, <c_LwM2M_stepName_setBlock1Handling_atomic>, <c_LwM2M_stepIdx_setBlock1Handling_atomic>
// LWM2M set content formats - <f_LwM2M_step_setContentFormats>, <c_LwM2M_stepName_setContentFormats>, <c_LwM2M_stepIdx_setContentFormats>
//
// Class Diagram:
// (see EPTF_LwM2M_LGen_Definitions.classes.jpg)
//
///////////////////////////////////////////////////////////////
module EPTF_LwM2M_LGen_Definitions
{
import from EPTF_CLL_LGenBase_Definitions all;
import from EPTF_CLL_Logging_Definitions all;
import from EPTF_CLL_FBQ_Definitions all;
import from EPTF_LwM2M_Object_Definitions all;
import from EPTF_LwM2M_Transport_Definitions all;
import from LightweightM2M_Types all;
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_LGen_log_error
//
// Purpose:
// Enabled/disable error logging
//
// Type:
// *boolean*
//
// Default value:
// *true*
///////////////////////////////////////////////////////////
modulepar boolean tsp_EPTF_LwM2M_LGen_log_error := true;
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_LGen_log_warning
//
// Purpose:
// Enabled/disable warning logging
//
// Type:
// *boolean*
//
// Default value:
// *true*
///////////////////////////////////////////////////////////
modulepar boolean tsp_EPTF_LwM2M_LGen_log_warning := true;
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_LGen_debug
//
// Purpose:
// Enabled/disable debug logging
//
// Type:
// *boolean*
//
// Default value:
// *false*
///////////////////////////////////////////////////////////
modulepar boolean tsp_EPTF_LwM2M_LGen_debug := false;
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_LGen_debugVerbose
//
// Purpose:
// Enabled/disable verbose debug logging
//
// Type:
// *boolean*
//
// Default value:
// *false*
///////////////////////////////////////////////////////////
modulepar boolean tsp_EPTF_LwM2M_LGen_debugVerbose := false;
modulepar integer tsp_EPTF_LwM2M_LGen_maxBindableCtx := -1;
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_LGen_templates
//
// Purpose:
// List of LWM2M messages for sending
//
// Type:
// <LwM2M_Template_List>
//
// Default value:
// Empty list: {}
///////////////////////////////////////////////////////////
modulepar LwM2M_Template_List tsp_EPTF_LwM2M_LGen_templates := {};
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_LGen_objectSpecifications
//
// Purpose:
// List of smart object specifications (needed for creating smart object instances)
//
// Type:
// <LwM2M_ObjectSpecification_List>
//
// Default value:
// Empty list: {}
///////////////////////////////////////////////////////////
modulepar LwM2M_ObjectSpecification_List tsp_EPTF_LwM2M_LGen_objectSpecifications := {};
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_LGen_defaultContentFormat
//
// Purpose:
// Setting the default content format code for encoding LwM2M payload
//
// Type:
// *integer*
//
// Default value:
// 11543
///////////////////////////////////////////////////////////
modulepar integer tsp_EPTF_LwM2M_LGen_defaultContentFormat := 11543;
const integer c_LwM2M_LGen_Logging_WARNING := 0;
const integer c_LwM2M_LGen_Logging_DEBUG := 1;
const integer c_LwM2M_LGen_Logging_DEBUGV := 2;
const integer c_LwM2M_LGen_Logging_ERROR := 3;
///////////////////////////////////////////////////////////
// const: c_LwM2M_behaviorType
//
// Purpose:
// Constant for LWM2M behaviour name
///////////////////////////////////////////////////////////
const charstring c_LwM2M_behaviorType := "LWM2M Behavior";
/*****************************************************************
@startuml EPTF_LwM2M_LGen_Definitions.classes.jpg
class EPTF_LwM2M_LGen_CT {
boolean v_LwM2M_initialized
integer v_LwM2M_bIdx
integer v_LwM2M_loggingMaskId
LwM2M_ObjectSpecificationDB v_LwM2M_ObjectSpecificationDB
LwM2M_EntityCtx_DB v_LwM2M_EntityCtxDB
LwM2M_Device_DB v_LwM2M_DeviceDB
LwM2M_Template_DB v_LwM2M_templateDB
LwM2M_StepCtx v_LwM2M_ctx
EPTF_LwM2M_PDU v_LwM2M_msgToProcess
EPTF_LwM2M_PDU v_LwM2M_msgToSend
EPTF_LwM2M_Event v_LwM2M_eventToProcess
f_EPTF_LwM2M_LGen_init(in charstring pl_name)
f_LwM2M_cleanUp()
f_LwM2M_eCtxBind(in integer pl_eIdx)
f_LwM2M_eCtxUnbind(in integer pl_eIdx)
f_LwM2M_eCtxReset(in integer pl_eIdx)
f_EPTF_LwM2M_Logging_VERBOSE(in @lazy charstring pl_message)
f_EPTF_LwM2M_Logging_DEBUG(in @lazy charstring pl_message)
f_EPTF_LwM2M_Logging_WARNING(in @lazy charstring pl_message)
f_EPTF_LwM2M_Logging_ERROR(in @lazy charstring pl_message)
f_EPTF_LwM2M_LGen_receiveMessage(in EPTF_LwM2M_PDU pl_message)
f_EPTF_LwM2M_LGen_receiveEvent(in EPTF_LwM2M_Event pl_event)
f_EPTF_LwM2M_declareEvents()
f_EPTF_LwM2M_declareSteps()
f_EPTF_LwM2M_setStepCtx(in EPTF_LGenBase_TestStepArgs pl_ptr, inout LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_setCtx(in integer p_eIdx, in integer p_fsmIdx, inout LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_hasDevice(in LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_stack_fromApp(inout EPTF_LwM2M_PDU p_pdu, in LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_stack_fromEnv(in EPTF_LwM2M_PDU p_pdu)
f_EPTF_LwM2M_dispatchEventsForPDU(in LWM2M_PDU pl_pdu, in integer pl_eIdx, in integer pl_fsmCtx, in EPTF_IntegerList pl_reportedArgs)
f_EPTF_LwM2M_dispatchEvent(in integer pl_eventIdx, in integer pl_eIdx, in integer pl_fsmCtx, in EPTF_IntegerList pl_reportedArgs)
}
EPTF_LwM2M_LGen_CT "1" --> "1\n.v_LwM2M_ObjectSpecificationDB" LwM2M_ObjectSpecificationDB
EPTF_LwM2M_LGen_CT "1" --> "1\n.v_LwM2M_EntityCtxDB" LwM2M_EntityCtx_DB
EPTF_LwM2M_LGen_CT "1" --> "1\n.v_LwM2M_DeviceDB" LwM2M_Device_DB
EPTF_LwM2M_LGen_CT "1" --> "1\n.v_LwM2M_templateDB" LwM2M_Template_DB
class LwM2M_EntityCtx {
integer eIdx
integer currentDevice
}
LwM2M_EntityCtx "1" --> "1\n.currentDevice" LwM2M_Device
class LwM2M_EntityCtx_DB {
EPTF_FreeBusyQueue queue
LwM2M_EntityCtx_List data
integer hashRef
f_EPTF_LwM2M_EntityCtxDB_init()
f_EPTF_LwM2M_EntityCtxDB_cleanUp()
}
LwM2M_EntityCtx_DB "1" --> "*\n.data[]" LwM2M_EntityCtx
class LwM2M_Device {
Location registeredLocation
LwM2M_ObjectDB objects
LwM2M_Block1_Handling block1Handling
EPTF_IntegerList contentFormats
LwM2M_Device_State state
}
class LwM2M_Device_DB {
EPTF_FreeBusyQueue queue
LwM2M_Device_List data
integer hashRef
f_EPTF_LwM2M_DeviceDB_init()
f_EPTF_LwM2M_DeviceDB_add(in LwM2M_Device p_device)
f_EPTF_LwM2M_DeviceDB_remove(in integer p_idx)
f_EPTF_LwM2M_DeviceDB_setLocationKey(in Location p_location, in integer p_idx)
f_EPTF_LwM2M_DeviceDB_locationHash(in Location p_location)
f_EPTF_LwM2M_DeviceDB_cleanUp()
}
LwM2M_Device_DB "1" --> "*\n.data[]" LwM2M_Device
class LwM2M_Template_DB {
EPTF_FreeBusyQueue queue
LwM2M_Template_List data
integer hashRef
f_EPTF_LwM2M_TemplateDB_init()
f_EPTF_LwM2M_TemplateDB_add(in LwM2M_Template p_template)
f_EPTF_LwM2M_TemplateDB_lookUp(in charstring p_id)
f_EPTF_LwM2M_TemplateDB_get(in integer p_idx, inout LWM2M_PDU p_pdu)
f_EPTF_LwM2M_TemplateDB_cleanUp()
}
LwM2M_Template_DB "1" --> "*\n.data[]" LwM2M_Template
@enduml
******************************************************************/
/*****************************************************************
@startuml EPTF_LwM2M_LGen_Definitions.LwM2M_EntityCtx.jpg
class LwM2M_EntityCtx {
integer eIdx
integer currentDevice
}
@enduml
******************************************************************/
///////////////////////////////////////////////////////////
// Type: LwM2M_EntityCtx
//
// Purpose:
// A LWM2M entity is a simulated LWM2M device, this structure stores an association for one simulated device and an entity
//
// Class:
// (see EPTF_LwM2M_LGen_Definitions.LwM2M_EntityCtx.jpg)
//
// Elements:
// eIdx - *integer* - pointer to the entity itself
// currentDevice - *integer* - pointer to the simulated <LwM2M_Device> in *v_LwM2M_DeviceDB*
//
// Related Functions:
// - <f_LwM2M_step_createDevice> (in <EPTF_LGenBase_TestStepArgs> pl_ptr)
// - <f_LwM2M_step_cleanupDevice> (in <EPTF_LGenBase_TestStepArgs> pl_ptr)
///////////////////////////////////////////////////////////
type record LwM2M_EntityCtx
{
integer eIdx,
integer currentDevice
}
const LwM2M_EntityCtx c_LwM2M_EntityCtx_init :=
{
eIdx := -1,
currentDevice := -1
}
///////////////////////////////////////////////////////////
// Type: LwM2M_EntityCtx_List
//
// Purpose:
// List of <LwM2M_EntityCtx>
///////////////////////////////////////////////////////////
type record of LwM2M_EntityCtx LwM2M_EntityCtx_List;
/*****************************************************************
@startuml EPTF_LwM2M_LGen_Definitions.LwM2M_EntityCtx_DB.jpg
class LwM2M_EntityCtx_DB {
EPTF_FreeBusyQueue queue
LwM2M_EntityCtx_List data
integer hashRef
f_EPTF_LwM2M_EntityCtxDB_init()
f_EPTF_LwM2M_EntityCtxDB_cleanUp()
}
@enduml
******************************************************************/
///////////////////////////////////////////////////////////
// Type: LwM2M_EntityCtx_DB
//
// Purpose:
// Storing LWM2M entity contexts
//
// Class:
// (see EPTF_LwM2M_LGen_Definitions.LwM2M_EntityCtx_DB.jpg)
//
// Elements:
// queue - <EPTF_FreeBusyQueue> - FBQ for the stored elements
// data - <LwM2M_EntityCtx_List> - elements
//
// Related Functions:
// - <f_EPTF_LwM2M_EntityCtxDB_init> ()
// - <f_EPTF_LwM2M_EntityCtxDB_cleanUp> ()
///////////////////////////////////////////////////////////
type record LwM2M_EntityCtx_DB
{
EPTF_FreeBusyQueue queue,
LwM2M_EntityCtx_List data,
integer hashRef
}
/*****************************************************************
@startuml EPTF_LwM2M_LGen_Definitions.LwM2M_Device.jpg
class LwM2M_Device {
Location registeredLocation
LwM2M_ObjectDB objects
LwM2M_Block1_Handling block1Handling
EPTF_IntegerList contentFormats
LwM2M_Device_State state
}
@enduml
******************************************************************/
///////////////////////////////////////////////////////////
// Type: LwM2M_Device
//
// Purpose:
// Storing the state and smart object of a simulated LWM2M device
//
// Class:
// (see EPTF_LwM2M_LGen_Definitions.LwM2M_Device.jpg)
//
// Elements:
// registeredLocation - <Location> - id acquired during registration
// objects - <LwM2M_ObjectDB> - smart objects and their instances
// block1Handling - <LwM2M_Block1_Handling> - block1 handling (atomic/stateless)
// contentFormats - <EPTF_IntegerList> - preferred content formats for encoding payload
// state - <LwM2M_Device_State> - tracking the state of the device
//
// Related Functions:
// - <f_EPTF_LwM2M_sendNotificationForResource> (in <EPTF_LGenBase_TestStepArgs> pl_ptr, <LwM2M_Resource> v_res)
///////////////////////////////////////////////////////////
type record LwM2M_Device
{
Location registeredLocation,
LwM2M_ObjectDB objects,
LwM2M_Block1_Handling block1Handling,
LwM2M_Format_List contentFormats,
LwM2M_Device_State state
}
///////////////////////////////////////////////////////////
// Type: LwM2M_Format_List
//
// Purpose:
// List of *integer*
///////////////////////////////////////////////////////////
type record of integer LwM2M_Format_List;
///////////////////////////////////////////////////////////
// Enum: LwM2M_Device_State
//
// Purpose:
// States of a <LwM2M_Device> simulated LWM2M device
//
// Elements:
// - NOT_REGISTERED
// - REGISTERED
///////////////////////////////////////////////////////////
type enumerated LwM2M_Device_State
{
NOT_REGISTERED,
REGISTERED,
BOOTSTRAPPING
}
///////////////////////////////////////////////////////////
// Enum: LwM2M_Block1_Handling
//
// Purpose:
// Block1 handling strategy of a <LwM2M_Device> simulated LWM2M device
//
// Elements:
// - STATELESS
// - ATOMIC
///////////////////////////////////////////////////////////
type enumerated LwM2M_Block1_Handling
{
STATELESS,
ATOMIC
}
const LwM2M_Device c_LwM2M_Device_init :=
{
registeredLocation := {},
objects := c_LwM2M_ObjectDB_init,
block1Handling := STATELESS,
contentFormats := { 11543 },
state := NOT_REGISTERED
}
///////////////////////////////////////////////////////////
// Type: LwM2M_Device_List
//
// Purpose:
// List of <LwM2M_Device>
///////////////////////////////////////////////////////////
type record of LwM2M_Device LwM2M_Device_List;
/*****************************************************************
@startuml EPTF_LwM2M_LGen_Definitions.LwM2M_Device_DB.jpg
class LwM2M_Device_DB {
EPTF_FreeBusyQueue queue
LwM2M_Device_List data
integer hashRef
f_EPTF_LwM2M_DeviceDB_init()
f_EPTF_LwM2M_DeviceDB_add(in LwM2M_Device p_device)
f_EPTF_LwM2M_DeviceDB_remove(in integer p_idx)
f_EPTF_LwM2M_DeviceDB_setLocationKey(in Location p_location, in integer p_idx)
f_EPTF_LwM2M_DeviceDB_locationHash(in Location p_location)
f_EPTF_LwM2M_DeviceDB_cleanUp()
}
@enduml
******************************************************************/
///////////////////////////////////////////////////////////
// Type: LwM2M_Device_DB
//
// Purpose:
// Storing <LwM2M_Device> instances
//
// Class:
// (see EPTF_LwM2M_LGen_Definitions.LwM2M_Device_DB.jpg)
//
// Elements:
// queue - <EPTF_FreeBusyQueue> - FBQ for the stored elements
// data - <LwM2M_Device_List> - elements
// hashFref - *integer* - hashmap id used for looking up devices
//
// Related Functions:
// - <f_EPTF_LwM2M_DeviceDB_init> ()
// - <f_EPTF_LwM2M_DeviceDB_add> (in <LwM2M_Device> p_device)
// - <f_EPTF_LwM2M_DeviceDB_remove> (in *integer* p_idx)
// - <f_EPTF_LwM2M_DeviceDB_setLocationKey> (in <Location> p_location, in *integer* p_idx)
// - <f_EPTF_LwM2M_DeviceDB_locationHash> (in <Location> p_location)
// - <f_EPTF_LwM2M_DeviceDB_cleanUp> ()
///////////////////////////////////////////////////////////
type record LwM2M_Device_DB
{
EPTF_FreeBusyQueue queue,
LwM2M_Device_List data,
integer hashRef
}
///////////////////////////////////////////////////////////
// Type: LwM2M_Template
//
// Purpose:
// Grouping a <LWM2M_PDU> with an id so that the message can be loaded from an FSM later by using the id
//
// Elements:
// id - *charstring* - identifier
// msg - <LWM2M_PDU> - LWM2M PDU
///////////////////////////////////////////////////////////
type record LwM2M_Template
{
charstring id,
LWM2M_PDU msg
}
///////////////////////////////////////////////////////////
// Type: LwM2M_Template_List
//
// Purpose:
// List of <LwM2M_Template>
///////////////////////////////////////////////////////////
type record of LwM2M_Template LwM2M_Template_List;
/*****************************************************************
@startuml EPTF_LwM2M_LGen_Definitions.LwM2M_Template_DB.jpg
class LwM2M_Template_DB {
EPTF_FreeBusyQueue queue
LwM2M_Template_List data
integer hashRef
f_EPTF_LwM2M_TemplateDB_init()
f_EPTF_LwM2M_TemplateDB_add(in LwM2M_Template p_template)
f_EPTF_LwM2M_TemplateDB_lookUp(in charstring p_id)
f_EPTF_LwM2M_TemplateDB_get(in integer p_idx, inout LWM2M_PDU p_pdu)
f_EPTF_LwM2M_TemplateDB_cleanUp()
}
@enduml
******************************************************************/
///////////////////////////////////////////////////////////
// Type: LwM2M_Template_DB
//
// Purpose:
// Storing <LwM2M_Template> instances
//
// Class:
// (see EPTF_LwM2M_LGen_Definitions.LwM2M_Template_DB.jpg)
//
// Elements:
// data - <LwM2M_Template_List> - elements
//
// Related Functions:
// - <f_EPTF_LwM2M_templateDB_init> ()
// - <f_EPTF_LwM2M_templateDB_add> (in <LwM2M_Template> p_template)
// - <f_EPTF_LwM2M_templateDB_lookUp> (in *charstring* p_id)
// - <f_EPTF_LwM2M_templateDB_get> (in *integer* p_idx, inout <LWM2M_PDU> p_pdu)
// - <f_EPTF_LwM2M_templateDB_cleanUp> ()
///////////////////////////////////////////////////////////
type record LwM2M_Template_DB
{
LwM2M_Template_List data,
integer hashRef
}
///////////////////////////////////////////////////////////
// Type: LwM2M_StepCtx
//
// Purpose:
// Stores the most important pointers that are used from a test steps
//
// Elements:
// eIdx - *integer* - entity index
// fsmIdx - *integer* - fsm index
// eCtxIdx - *integer* - entity context index <LwM2M_EntityCtx> in *v_LwM2M_EntityCtxDB*
// deviceIdx - *integer* - device instance index <LwM2M_Device> in *v_LwM2M_DeviceDB*
///////////////////////////////////////////////////////////
type record LwM2M_StepCtx
{
integer eIdx,
integer fsmIdx,
integer eCtxIdx,
integer deviceIdx
}
const LwM2M_StepCtx c_LwM2M_StepCtx_empty :=
{
eIdx := -1,
fsmIdx := -1,
eCtxIdx := -1,
deviceIdx := -1
}
/*****************************************************************
@startuml EPTF_LwM2M_LGen_Definitions.EPTF_LwM2M_LGen_CT.jpg
class EPTF_LwM2M_LGen_CT {
boolean v_LwM2M_initialized
integer v_LwM2M_bIdx
integer v_LwM2M_loggingMaskId
LwM2M_ObjectSpecificationDB v_LwM2M_ObjectSpecificationDB
LwM2M_EntityCtx_DB v_LwM2M_EntityCtxDB
LwM2M_Device_DB v_LwM2M_DeviceDB
LwM2M_Template_DB v_LwM2M_templateDB
LwM2M_StepCtx v_LwM2M_ctx
EPTF_LwM2M_PDU v_LwM2M_msgToProcess
EPTF_LwM2M_PDU v_LwM2M_msgToSend
EPTF_LwM2M_Event v_LwM2M_eventToProcess
f_EPTF_LwM2M_LGen_init(in charstring pl_name)
f_LwM2M_cleanUp()
f_LwM2M_eCtxBind(in integer pl_eIdx)
f_LwM2M_eCtxUnbind(in integer pl_eIdx)
f_LwM2M_eCtxReset(in integer pl_eIdx)
f_EPTF_LwM2M_Logging_VERBOSE(in @lazy charstring pl_message)
f_EPTF_LwM2M_Logging_DEBUG(in @lazy charstring pl_message)
f_EPTF_LwM2M_Logging_WARNING(in @lazy charstring pl_message)
f_EPTF_LwM2M_Logging_ERROR(in @lazy charstring pl_message)
f_EPTF_LwM2M_LGen_receiveMessage(in EPTF_LwM2M_PDU pl_message)
f_EPTF_LwM2M_LGen_receiveEvent(in EPTF_LwM2M_Event pl_event)
f_EPTF_LwM2M_declareEvents()
f_EPTF_LwM2M_declareSteps()
f_EPTF_LwM2M_setStepCtx(in EPTF_LGenBase_TestStepArgs pl_ptr, inout LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_setCtx(in integer p_eIdx, in integer p_fsmIdx, inout LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_hasDevice(in LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_stack_fromApp(inout EPTF_LwM2M_PDU p_pdu, in LwM2M_StepCtx p_ctx)
f_EPTF_LwM2M_stack_fromEnv(in EPTF_LwM2M_PDU p_pdu)
f_EPTF_LwM2M_dispatchEventsForPDU(in LWM2M_PDU pl_pdu, in integer pl_eIdx, in integer pl_fsmCtx, in EPTF_IntegerList pl_reportedArgs)
f_EPTF_LwM2M_dispatchEvent(in integer pl_eventIdx, in integer pl_eIdx, in integer pl_fsmCtx, in EPTF_IntegerList pl_reportedArgs)
}
@enduml
*****************************************************************/
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_LGen_CT
//
// Purpose:
// LWM2M load generator component
//
// Class:
// (see EPTF_LwM2M_LGen_Definitions.EPTF_LwM2M_LGen_CT.jpg)
//
// Extensions:
// - <EPTF_LwM2M_Transport_User_CT>
// - <EPTF_LGenBase_CT>
// - <EPTF_Logging_CT>
//
// Ports:
// -
//
// Timers:
// -
//
// Variables:
// v_LwM2M_initialized - *boolean* - Flag to indicate that if init function was already called
// v_LwM2M_bIdx - *integer* - Name of the LWM2M LGen component
// v_LwM2M_loggingMaskId - *integer* - logging mask id
//
// v_LwM2M_ctx - <LwM2M_StepCtx> - collection of the most important pointers
//
// v_LwM2M_msgToProcess - <EPTF_LwM2M_PDU> - message from the transport layer to process
// v_LwM2M_msgToSend - <EPTF_LwM2M_PDU> - message to send to the transport layer
// v_LwM2M_eventToProcess - <EPTF_LwM2M_Event> - incoming event from the transport layer to process
//
// Instance databases:
// v_LwM2M_templateDB - <LwM2M_Template_DB> - template database <LwM2M_Template>
// v_LwM2M_EntityCtxDB - <LwM2M_EntityCtx_DB> - database of entity contexts <LwM2M_EntityCtx>
// v_LwM2M_DeviceDB - <LwM2M_Device_DB> - database of <LwM2M_Device> instances
// v_LwM2M_ObjectSpecificationDB - <LwM2M_ObjectSpecificationDB> - object specification database <LwM2M_ObjectSpecification>
//
// Related Functions:
// - <f_EPTF_LwM2M_LGen_init> (in *charstring* pl_name)
// - <f_LwM2M_cleanUp> ()
// - <f_LwM2M_eCtxBind> (in *integer* pl_eIdx)
// - <f_LwM2M_eCtxUnbind> (in *integer* pl_eIdx)
// - <f_LwM2M_eCtxReset> (in *integer* pl_eIdx)
// - <f_EPTF_LwM2M_Logging_VERBOSE> (in @lazy *charstring* pl_message)
// - <f_EPTF_LwM2M_Logging_DEBUG> (in @lazy *charstring* pl_message)
// - <f_EPTF_LwM2M_Logging_WARNING> (in @lazy *charstring* pl_message)
// - <f_EPTF_LwM2M_Logging_ERROR> (in @lazy *charstring* pl_message)
// - <f_EPTF_LwM2M_LGen_receiveMessage> (in <EPTF_LwM2M_PDU> pl_message)
// - <f_EPTF_LwM2M_LGen_receiveEvent> (in <EPTF_LwM2M_Event> pl_event)
// - <f_EPTF_LwM2M_declareEvents> ()
// - <f_EPTF_LwM2M_declareSteps> ()
// - <f_EPTF_LwM2M_setStepCtx> (in <EPTF_LGenBase_TestStepArgs> pl_ptr, inout <LwM2M_StepCtx> p_ctx)
// - <f_EPTF_LwM2M_setCtx> (in *integer* p_eIdx, in *integer* p_fsmIdx, inout <LwM2M_StepCtx> p_ctx)
// - <f_EPTF_LwM2M_hasDevice> (in <LwM2M_StepCtx> p_ctx)
// - <f_EPTF_LwM2M_stack_fromApp> (inout <EPTF_LwM2M_PDU> p_pdu, in <LwM2M_StepCtx> p_ctx)
// - <f_EPTF_LwM2M_stack_fromEnv> (in <EPTF_LwM2M_PDU> p_pdu)
// - <f_EPTF_LwM2M_dispatchEventsForPDU> (in <LWM2M_PDU> pl_pdu, in *integer* pl_eIdx, in *integer* pl_fsmCtx, in <EPTF_IntegerList> pl_reportedArgs)
// - <f_EPTF_LwM2M_dispatchEvent>(in *integer* pl_eventIdx, in *integer* pl_eIdx, in *integer* pl_fsmCtx, in <EPTF_IntegerList> pl_reportedArgs)
///////////////////////////////////////////////////////////
type component EPTF_LwM2M_LGen_CT extends EPTF_LwM2M_Transport_User_CT, EPTF_LGenBase_CT, EPTF_Logging_CT
{
var boolean v_LwM2M_initialized := false;
var integer v_LwM2M_bIdx;
var integer v_LwM2M_loggingMaskId := -1;
var LwM2M_ObjectSpecificationDB v_LwM2M_ObjectSpecificationDB;
var LwM2M_EntityCtx_DB v_LwM2M_EntityCtxDB;
var LwM2M_Device_DB v_LwM2M_DeviceDB;
var LwM2M_Template_DB v_LwM2M_templateDB := {};
var LwM2M_StepCtx v_LwM2M_ctx := c_LwM2M_StepCtx_empty;
var EPTF_LwM2M_PDU v_LwM2M_msgToProcess;
var EPTF_LwM2M_PDU v_LwM2M_msgToSend;
var EPTF_LwM2M_Event v_LwM2M_eventToProcess;
var EPTF_LwM2M_LGen_Statistics v_LwM2M_stats := c_EPTF_LwM2M_LGen_Statistics_empty;
}
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_LGen_Statistics
//
// Purpose:
// Storing counters for load generator related statistics
//
// Elements:
// incoming - <EPTF_COAP_Message_Statistics> - statistics of incoming messages
// outgoing - <EPTF_COAP_Message_Statistics> - statistics of outgoing messages
///////////////////////////////////////////////////////////
type record EPTF_LwM2M_LGen_Statistics
{
EPTF_LwM2M_Message_Statistics incoming,
EPTF_LwM2M_Message_Statistics outgoing
}
const EPTF_LwM2M_LGen_Statistics c_EPTF_LwM2M_LGen_Statistics_empty :=
{
incoming := c_EPTF_LwM2M_Message_Statistics_empty,
outgoing := c_EPTF_LwM2M_Message_Statistics_empty
}
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_Message_Statistics
//
// Purpose:
// Storing counters for message related statistics
//
// Elements:
// noRegister - *integer* - number of Register requests
// noUpdate - *integer* - number of Update request
// noDeregister - *integer* - number of Deregister request
// noNotification - *integer* - number of Notifications
// noRead - *integer* - number of Read requests
// noWrite - *integer* - number of Write requests
// noExecute - *integer* - number of Execute requests
// noCreate - *integer* - number of Create requests
// noDelete - *integer* - number of Delete requests
// noPosResp - *integer* - number of positive (2.xx) repsonses
// noNegResp - *integer* - number of negative (3.xx - 6.xx) repsonses
///////////////////////////////////////////////////////////
type record EPTF_LwM2M_Message_Statistics
{
integer noRegister,
integer noUpdate,
integer noDeregister,
integer noNotification,
integer noRead,
integer noWrite,
integer noExecute,
integer noCreate,
integer noDelete,
integer noPosResp,
integer noNegResp
}
const EPTF_LwM2M_Message_Statistics c_EPTF_LwM2M_Message_Statistics_empty :=
{
noRegister := 0,
noUpdate := 0,
noDeregister := 0,
noNotification := 0,
noRead := 0,
noWrite := 0,
noExecute := 0,
noCreate := 0,
noDelete := 0,
noPosResp := 0,
noNegResp := 0
}
// FSM AppData
const integer c_LwM2M_AppData_deviceIdx := 0;
// Events
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Register
//
// Purpose:
// Integer constant for the LWM2M Register request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Register := 0;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Register
//
// Purpose:
// Charstring constant for the LWM2M Register request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Register := "LWM2M req: Register";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Update
//
// Purpose:
// Integer constant for the LWM2M Update request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Update := 1;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Update
//
// Purpose:
// Charstring constant for the LWM2M Update request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Update := "LWM2M req: Update";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Deregister
//
// Purpose:
// Integer constant for the LWM2M Deregister request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Deregister := 2;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Deregister
//
// Purpose:
// Charstring constant for the LWM2M Deregister request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Deregister := "LWM2M req: Deregister";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Read
//
// Purpose:
// Integer constant for the LWM2M Read request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Read := 3;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Read
//
// Purpose:
// Charstring constant for the LWM2M Read request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Read := "LWM2M req: Read";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Write
//
// Purpose:
// Integer constant for the LWM2M Write request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Write := 4;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Write
//
// Purpose:
// Charstring constant for the LWM2M Write request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Write := "LWM2M req: Write";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Execute
//
// Purpose:
// Integer constant for the LWM2M Execute request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Execute := 5;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Execute
//
// Purpose:
// Charstring constant for the LWM2M Execute request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Execute := "LWM2M req: Execute";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Create
//
// Purpose:
// Integer constant for the LWM2M Create request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Create := 6;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Create
//
// Purpose:
// Charstring constant for the LWM2M Create request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Create := "LWM2M req: Create";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Delete
//
// Purpose:
// Integer constant for the LWM2M Delete request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Delete := 7;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Delete
//
// Purpose:
// Charstring constant for the LWM2M Delete request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Delete := "LWM2M req: Delete";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_Observe
//
// Purpose:
// Integer constant for the LWM2M Observe request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_Observe := 8;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_Observe
//
// Purpose:
// Charstring constant for the LWM2M Observe request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_Observe := "LWM2M req: Observe";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_WriteFWUri
//
// Purpose:
// Integer constant for the LWM2M WriteFWUri request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_WriteFWUri := 9;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_WriteFWUri
//
// Purpose:
// Charstring constant for the LWM2M WriteFWUri request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_WriteFWUri := "LWM2M req: WriteFWUri";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_WriteFWPackage
//
// Purpose:
// Integer constant for the LWM2M WriteFWPackage request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_WriteFWPackage := 10;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_WriteFWPackage
//
// Purpose:
// Charstring constant for the LWM2M WriteFWPackage request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_WriteFWPackage := "LWM2M req: WriteFWPackage";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_WriteFWPackage_firstBlock
//
// Purpose:
// Integer constant for the LWM2M WriteFWPackage request with 1st blocksevent
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_WriteFWPackage_firstBlock := 11;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_WriteFWPackage_firstBlock
//
// Purpose:
// Charstring constant for the LWM2M WriteFWPackage request with 1st blocks event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_WriteFWPackage_firstBlock := "LWM2M req: WriteFWPackage_firstBlock";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_WriteFWPackage_lastBlock
//
// Purpose:
// Integer constant for the LWM2M WriteFWPackage request with last block event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_WriteFWPackage_lastBlock := 12;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_WriteFWPackage_lastBlock
//
// Purpose:
// Charstring constant for the LWM2M WriteFWPackage request with last block event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_WriteFWPackage_lastBlock := "LWM2M req: WriteFWPackage_lastBlock";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_ExecuteFWUpdate
//
// Purpose:
// Integer constant for the LWM2M ExecuteFWUpdate request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_ExecuteFWUpdate := 13;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_ExecuteFWUpdate
//
// Purpose:
// Charstring constant for the LWM2M ExecuteFWUpdate request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_ExecuteFWUpdate := "LWM2M req: ExecuteFWUpdate";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_BS_Delete
//
// Purpose:
// Integer constant for the LWM2M BS_Delete request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_BS_Delete := 14;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_BS_Delete
//
// Purpose:
// Charstring constant for the LWM2M BS_Delete request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_BS_Delete := "LWM2M req: BS_Delete";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_BS_Finish
//
// Purpose:
// Integer constant for the LWM2M BS_Finish request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_BS_Finish := 15;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_BS_Finish
//
// Purpose:
// Charstring constant for the LWM2M BS_Finish request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_BS_Finish := "LWM2M req: BS_Finish";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_BS_Discover
//
// Purpose:
// Integer constant for the LWM2M BS_Discover request event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_BS_Discover := 16;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_BS_Discover
//
// Purpose:
// Charstring constant for the LWM2M BS_Discover request event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_BS_Discover := "LWM2M req: BS_Discover";
template charstring c_LwM2M_eventName(in integer p_code) := "LWM2M rsp: "&int2str(p_code);
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_1xx
//
// Purpose:
// Integer constant for the LWM2M 1xx reponse event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_1xx := 700;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_1xx
//
// Purpose:
// Charstring constant for the LWM2M 1xx response event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_1xx := "LWM2M rsp: 1xx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_2xx
//
// Purpose:
// Integer constant for the LWM2M 2xx reponse event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_2xx := 701;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_2xx
//
// Purpose:
// Charstring constant for the LWM2M 2xx response event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_2xx := "LWM2M rsp: 2xx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_3xx
//
// Purpose:
// Integer constant for the LWM2M 3xx reponse event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_3xx := 702;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_3xx
//
// Purpose:
// Charstring constant for the LWM2M 3xx response event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_3xx := "LWM2M rsp: 3xx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_4xx
//
// Purpose:
// Integer constant for the LWM2M 4xx reponse event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_4xx := 703;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_4xx
//
// Purpose:
// Charstring constant for the LWM2M 4xx response event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_4xx := "LWM2M rsp: 4xx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_5xx
//
// Purpose:
// Integer constant for the LWM2M 5xx reponse event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_5xx := 704;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_5xx
//
// Purpose:
// Charstring constant for the LWM2M 5xx response event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_5xx := "LWM2M rsp: 5xx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_6xx
//
// Purpose:
// Integer constant for the LWM2M 6xx reponse event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_6xx := 705;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_6xx
//
// Purpose:
// Charstring constant for the LWM2M 6xx response event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_6xx := "LWM2M rsp: 6xx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_3xxto6xx
//
// Purpose:
// Integer constant for the LWM2M 6xx reponse event
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_3xxto6xx := 706;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_3xxto6xx
//
// Purpose:
// Charstring constant for the LWM2M 6xx response event
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_3xxto6xx := "LWM2M rsp: 3xxto6xx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_resourceNotObservedIndication
//
// Purpose:
// Integer constant for the resource not observed any more indication
// This event occurs after all subscribers unsubscribed from a resource
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_resourceNotObservedIndication := 707;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_resourceNotObservedIndication
//
// Purpose:
// Charstring constant for the resource not observed any more indication
// This event occurs after all subscribers unsubscribed from a resource
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_resourceNotObservedIndication := "LWM2M ind: resource not observed";
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventIdx_atomicBlock1Finished
//
// Purpose:
// Integer constant for indicating that a block1 transfer was finished
///////////////////////////////////////////////////////////
const integer c_LwM2M_eventIdx_atomicBlock1Finished := 708;
///////////////////////////////////////////////////////////
// const: c_LwM2M_eventName_atomicBlock1Finished
//
// Purpose:
// Charstring constant for indicating that a block1 transfer was finished
///////////////////////////////////////////////////////////
const charstring c_LwM2M_eventName_atomicBlock1Finished := "LWM2M ind: atomic Block1 transfer finished";
// Steps
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_loadTemplate_byIntIdx
//
// Purpose:
// Integer constant for the LWM2M loadTemplate (param: integer index) test step
//
// Related Function:
// - <f_LwM2M_step_loadTemplate_byIntIdx>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_loadTemplate_byIntIdx := 0;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_loadTemplate_byIntIdx
//
// Purpose:
// Charstring constant for the LWM2M loadTemplate (param: integer index) test step
//
// Related Function:
// - <f_LwM2M_step_loadTemplate_byIntIdx>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_loadTemplate_byIntIdx := "LWM2M Applib: loadTemplate_byIntIdx";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_send
//
// Purpose:
// Integer constant for the LWM2M send test step
//
// Related Function:
// - <f_LwM2M_step_send>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_send := 1;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_send
//
// Purpose:
// Charstring constant for the LWM2M send test step
//
// Related Function:
// - <f_LwM2M_step_send>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_send := "LWM2M Applib: send";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_createDevice
//
// Purpose:
// Integer constant for the LWM2M create device test step
//
// Related Function:
// - <f_LwM2M_step_createDevice>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_createDevice := 2;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_createDevice
//
// Purpose:
// Charstring constant for the LWM2M create device test step
//
// Related Function:
// - <f_LwM2M_step_createDevice>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_createDevice := "LWM2M Applib: createDevice";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_cleanupDevice
//
// Purpose:
// Integer constant for the LWM2M clean up device test step
//
// Related Function:
// - <f_LwM2M_step_cleanupDevice>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_cleanupDevice := 3;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_cleanupDevice
//
// Purpose:
// Charstring constant for the LWM2M clean up device test step
//
// Related Function:
// - <f_LwM2M_step_cleanupDevice>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_cleanupDevice := "LWM2M Applib: cleanupDevice";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_logDevice
//
// Purpose:
// Integer constant for the LWM2M log device test step
//
// Related Function:
// - <f_LwM2M_step_logDevice>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_logDevice := 4;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_logDevice
//
// Purpose:
// Charstring constant for the LWM2M log device test step
//
// Related Function:
// - <f_LwM2M_step_logDevice>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_logDevice := "LWM2M Applib: logDevice";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_createObject
//
// Purpose:
// Integer constant for the LWM2M create object test step
//
// Related Function:
// - <f_LwM2M_step_createObject>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_createObject := 5;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_createObject
//
// Purpose:
// Charstring constant for the LWM2M create object test step
//
// Related Function:
// - <f_LwM2M_step_createObject>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_createObject := "LWM2M Applib: createObject";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_createObjectInstance
//
// Purpose:
// Integer constant for the LWM2M create object instance test step
//
// Related Function:
// - <f_LwM2M_step_createObjectInstance>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_createObjectInstance := 6;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_createObjectInstance
//
// Purpose:
// Charstring constant for the LWM2M create object instance test step
//
// Related Function:
// - <f_LwM2M_step_createObjectInstance>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_createObjectInstance := "LWM2M Applib: createObjectInstance";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_handleReadRequest
//
// Purpose:
// Integer constant for the LWM2M handle READ request test step
//
// Related Function:
// - <f_LwM2M_step_handleReadRequest>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_handleReadRequest := 7;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_handleReadRequest
//
// Purpose:
// Charstring constant for the LWM2M handle READ request test step
//
// Related Function:
// - <f_LwM2M_step_handleReadRequest>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_handleReadRequest := "LWM2M Applib: handleReadRequest";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_handleWriteRequest
//
// Purpose:
// Integer constant for the LWM2M handle WRITE request test step
//
// Related Function:
// - <f_LwM2M_step_handleWriteRequest>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_handleWriteRequest := 8;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_handleWriteRequest
//
// Purpose:
// Charstring constant for the LWM2M handle WRITE request test step
//
// Related Function:
// - <f_LwM2M_step_handleWriteRequest>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_handleWriteRequest := "LWM2M Applib: handleWriteRequest";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_handleExecuteRequest
//
// Purpose:
// Integer constant for the LWM2M handle EXECUTE request test step
//
// Related Function:
// - <f_LwM2M_step_handleExecuteRequest>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_handleExecuteRequest := 9;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_handleExecuteRequest
//
// Purpose:
// Charstring constant for the LWM2M handle EXECUTE request test step
//
// Related Function:
// - <f_LwM2M_step_handleExecuteRequest>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_handleExecuteRequest := "LWM2M Applib: handleExecuteRequest";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_loadTemplate_byStringId
//
// Purpose:
// Integer constant for the LWM2M load template (param: string id of the template) test step
//
// Related Function:
// - <f_LwM2M_step_loadTemplate_byStringId>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_loadTemplate_byStringId := 10;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_loadTemplate_byStringId
//
// Purpose:
// Charstring constant for the LWM2M load template (param: string id of the template) test step
//
// Related Function:
// - <f_LwM2M_step_loadTemplate_byStringId>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_loadTemplate_byStringId := "LWM2M Applib: loadTemplate_byStringId";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_sendNotificationForObservedResources
//
// Purpose:
// Integer constant for the LWM2M send notification for observed resources test step
//
// Related Function:
// - <c_LwM2M_stepName_sendNotificationForObservedResources>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_sendNotificationForObservedResources := 11;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_sendNotificationForObservedResources
//
// Purpose:
// Charstring constant for the LWM2M send notification for observed resources test step
//
// Related Function:
// - <c_LwM2M_stepName_sendNotificationForObservedResources>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_sendNotificationForObservedResources := "LWM2M Applib: sendNotificationForObservedResources";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setFirmwareUpdateState
//
// Purpose:
// Integer constant for the LWM2M set firmware update state test step
//
// Related Function:
// - <c_LwM2M_stepName_setFirmwareUpdateState>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_setFirmwareUpdateState := 12;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setFirmwareUpdateState
//
// Purpose:
// Charstring constant for the LWM2M set firmware update state test step
//
// Related Function:
// - <c_LwM2M_stepName_setFirmwareUpdateState>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_setFirmwareUpdateState := "LWM2M Applib: setFirmwareUpdateState";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_setFirmwareUpdateResult
//
// Purpose:
// Integer constant for the LWM2M set firmware update result test step
//
// Related Function:
// - <c_LwM2M_stepName_setFirmwareUpdateResult>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_setFirmwareUpdateResult := 13;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setFirmwareUpdateState
//
// Purpose:
// Charstring constant for the LWM2M set furmware update result test step
//
// Related Function:
// - <c_LwM2M_stepName_setFirmwareUpdateResult>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_setFirmwareUpdateResult := "LWM2M Applib: setFirmwareUpdateResult";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_setBootstrapState
//
// Purpose:
// Integer constant for the LWM2M set bootstrap state test step
//
// Related Function:
// - <f_LwM2M_step_setBootstrapState>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_setBootstrapState := 14;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setBootstrapState
//
// Purpose:
// Charstring constant for the LWM2M set bootstrap state test step
//
// Related Function:
// - <f_LwM2M_step_setBootstrapState>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_setBootstrapState := "LWM2M Applib: setBootstrapState";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_setNotRegisteredState
//
// Purpose:
// Integer constant for the LWM2M set not registered state test step
//
// Related Function:
// - <f_LwM2M_step_setNotRegisteredState>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_setNotRegisteredState := 15;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setBootstrapState
//
// Purpose:
// Charstring constant for the LWM2M set not registered state test step
//
// Related Function:
// - <f_LwM2M_step_setNotRegisteredState>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_setNotRegisteredState := "LWM2M Applib: setNotRegisteredState";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_setBlock1Handling_stateless
//
// Purpose:
// Integer constant for the LWM2M set block1 handling stateless test step
//
// Related Function:
// - <f_LwM2M_step_setBlock1Handling_stateless>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_setBlock1Handling_stateless := 16;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setBlock1Handling_stateless
//
// Purpose:
// Charstring constant for the LWM2M set block1 handling stateless test step
//
// Related Function:
// - <f_LwM2M_step_setBlock1Handling_stateless>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_setBlock1Handling_stateless := "LWM2M Applib: setBlock1Handling_stateless";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_setBlock1Handling_atomic
//
// Purpose:
// Integer constant for the LWM2M set block1 handling atomic test step
//
// Related Function:
// - <f_LwM2M_step_setBlock1Handling_atomic>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_setBlock1Handling_atomic := 17;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setBlock1Handling_atomic
//
// Purpose:
// Charstring constant for the LWM2M set block1 handling atomic test step
//
// Related Function:
// - <f_LwM2M_step_setBlock1Handling_atomic>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_setBlock1Handling_atomic := "LWM2M Applib: setBlock1Handling_atomic";
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepIdx_setContentFormats
//
// Purpose:
// Integer constant for setting the preferred content formats
//
// Related Function:
// - <f_LwM2M_step_setContentFormats>
///////////////////////////////////////////////////////////
const integer c_LwM2M_stepIdx_setContentFormats := 18;
///////////////////////////////////////////////////////////
// const: c_LwM2M_stepName_setContentFormats
//
// Purpose:
// Charstring constant for setting the preferred content format
//
// Related Function:
// - <f_LwM2M_step_setContentFormats>
///////////////////////////////////////////////////////////
const charstring c_LwM2M_stepName_setContentFormats := "LWM2M Applib: setContentFormats";
const integer c_LwM2M_stepParam_createObjectInstance_DoNotAddResources := 0;
}