blob: 74433f43f4de47da689bbb7353c69b0e94616541 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2017 Ericsson Telecom AB
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
///////////////////////////////////////////////////////////////////////////////
// File: EPTF_LwM2M_Transport_Definitions.ttcn
// Description:
// Rev: R1A
// Prodnr: CNL 113 859
// Updated: 2017-09-01
// Contact: http://ttcn.ericsson.se
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_LwM2M_Transport_Definitions
//
// Purpose:
// This module contains the generic transport definitions of the LwM2M load generator
//
// Component Diagram:
// (see EPTF_LwM2M_Transport_Definitions.components.jpg)
//
// See also:
// - <EPTF_LwM2M_LGen_Definitions>
// - <EPTF_LwM2M_Transport_User_CT>
// - <EPTF_LwM2M_Transport_Provider_CT>
///////////////////////////////////////////////////////////////
/*****************************************************************
@startuml EPTF_LwM2M_Transport_Definitions.components.jpg
package "EPTF_LwM2M_Transport_Definitions" {
class EPTF_LwM2M_Transport_User_CT {
fcb_EPTF_LwM2M_Transport_sendMessage vf_EPTF_LwM2M_Transport_send
}
class EPTF_LwM2M_Transport_Provider_CT {
fcb_EPTF_LwM2M_Transport_receiveMessage vf_EPTF_LwM2M_Transport_receiveMessage
fcb_EPTF_LwM2M_Transport_receiveEvent fcb_EPTF_LwM2M_Transport_receiveEvent
}
EPTF_LwM2M_Transport_Provider_CT <-> EPTF_LwM2M_Transport_User_CT
}
@enduml
******************************************************************/
module EPTF_LwM2M_Transport_Definitions
{
import from LightweightM2M_Types all;
///////////////////////////////////////////////////////////
// Type: fcb_EPTF_LwM2M_Transport_receiveMessage
//
// Purpose:
// Call-back function type for reporting received <EPTF_LwM2M_PDU> LwM2M messages
//
// Elements:
// pl_message - *in* <EPTF_LwM2M_PDU> - received COAP message
///////////////////////////////////////////////////////////
type function fcb_EPTF_LwM2M_Transport_receiveMessage(in EPTF_LwM2M_PDU pl_message) runs on self;
///////////////////////////////////////////////////////////
// Type: fcb_EPTF_LwM2M_Transport_receiveEvent
//
// Purpose:
// Call-back function type for reporting received <EPTF_LwM2M_Event> LWM2M event
//
// Elements:
// p_event - *in* <EPTF_LwM2M_Event> - received LWM2M event
///////////////////////////////////////////////////////////
type function fcb_EPTF_LwM2M_Transport_receiveEvent(in EPTF_LwM2M_Event pl_event) runs on self;
///////////////////////////////////////////////////////////
// Type: fcb_EPTF_LwM2M_Transport_sendMessage
//
// Purpose:
// Call-back function type for sending a <EPTF_LwM2M_PDU> LwM2M message
//
// Elements:
// pl_msg - *in* <EPTF_LwM2M_PDU> - LwM2M message to be sent
///////////////////////////////////////////////////////////
type function fcb_EPTF_LwM2M_Transport_sendMessage(in EPTF_LwM2M_PDU pl_msg) runs on self;
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_PDU
//
// Purpose:
// Encapsulates a <LWM2M_PDU> with the corresponding entity (and FSM) indices
//
// Elements:
// pdu - <LWM2M_PDU> - LwM2M PDU
// eIdx - *integer* - entity index
// fsmIdx - *integer* - fsm index
///////////////////////////////////////////////////////////
type record EPTF_LwM2M_PDU
{
LWM2M_PDU pdu,
integer eIdx,
integer fsmIdx
}
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_Event
//
// Purpose:
// Encapsulates a <EPTF_LwM2M_Event> with the corresponding entity
//
// Elements:
// event - <LWM2M_Event> - LwM2M event
// eIdx - *integer* - entity index
///////////////////////////////////////////////////////////
type record EPTF_LwM2M_Event
{
LWM2M_Event event,
integer eIdx
}
///////////////////////////////////////////////////////////
// Type: LWM2M_Event
//
// Purpose:
// A union of possible LwM2M events
//
// Elements:
// resourceNotObserved - <ObjectPath> - dispatched when a resource is not observed any more, the object path identifies the resource
///////////////////////////////////////////////////////////
type union LWM2M_Event
{
ObjectPath resourceNotObserved
}
/*****************************************************************
@startuml EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_Provider_CT.jpg
class EPTF_LwM2M_Transport_Provider_CT {
fcb_EPTF_LwM2M_Transport_receiveMessage vf_EPTF_LwM2M_Transport_receiveMessage
fcb_EPTF_LwM2M_Transport_receiveEvent fcb_EPTF_LwM2M_Transport_receiveEvent
}
@enduml
*****************************************************************/
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_Transport_Provider_CT
//
// Purpose:
// Base component type for a LwM2M transport realization
//
// Class:
// (see EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_Provider_CT.jpg)
//
// Variables:
// vf_EPTF_LwM2M_Transport_receiveMessage - <fcb_EPTF_LwM2M_Transport_receiveMessage> - Function hook for reporting received messages
// vf_EPTF_LwM2M_Transport_receiveEvent - <fcb_EPTF_LwM2M_Transport_receiveEvent> - Function hook for reporting received events
///////////////////////////////////////////////////////////
type component EPTF_LwM2M_Transport_Provider_CT
{
var fcb_EPTF_LwM2M_Transport_receiveMessage vf_EPTF_LwM2M_Transport_receiveMessage := null;
var fcb_EPTF_LwM2M_Transport_receiveEvent vf_EPTF_LwM2M_Transport_receiveEvent := null;
}
/*****************************************************************
@startuml EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_User_CT.jpg
class EPTF_LwM2M_Transport_User_CT {
fcb_EPTF_LwM2M_Transport_sendMessage vf_EPTF_LwM2M_Transport_send
}
@enduml
*****************************************************************/
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_Transport_User_CT
//
// Purpose:
// Base component type for a LwM2M transport user realization
//
// Class:
// (see EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_User_CT.jpg)
//
// Variables:
// vf_EPTF_LwM2M_Transport_send - <fcb_EPTF_LwM2M_Transport_sendMessage> - Function hook for reporting received messages
///////////////////////////////////////////////////////////
type component EPTF_LwM2M_Transport_User_CT
{
var fcb_EPTF_LwM2M_Transport_sendMessage vf_EPTF_LwM2M_Transport_send := null;
}
}