blob: c3233c8440cc6ea110f000bd8d4342d506152677 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2000-2019 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 //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_CLL_UIHandlerClient_Definitions
//
// Purpose:
// This module contains definitions of generic CLL_UIHandlerClient_CT component.
//
// Module depends on:
// <EPTF_CLL_UIHandler_MsgDefinitions>
// <EPTF_CLL_UIHandler_Definitions>
// <EPTF_CLL_Variable_Definitions>
// <EPTF_CLL_Logging_Definitions>
//
// Current Owner:
// Laszlo Skumat (ELSZSKU)
//
// Last Review Date:
// 2007-xx-xx
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////
module EPTF_CLL_UIHandlerClient_Definitions
// [.objid{ itu_t(0) identified_organization(4) etsi(0)
// identified_organization(127) ericsson(5) testing(0)
// <put further nodes here if needed>}]
{
//=========================================================================
// Import Part
//=========================================================================
import from EPTF_CLL_UIHandler_MsgDefinitions all;
import from EPTF_CLL_UIHandler_Definitions all;
import from EPTF_CLL_Variable_Definitions all;
import from EPTF_CLL_Semaphore_Definitions all;
import from EPTF_CLL_Logging_Definitions all;
//=========================================================================
// Module Parameters
//=========================================================================
//modulepar float tsp_EPTF_CLL_UIHandlerClientTimeout := 5.0;
modulepar charstring tsp_EPTF_UIHandlerClient_loggingComponentMask := "EPTF_UIHandlerClient";
modulepar float tsp_EPTF_UIHandlerClient_maxKillTime := 30.0; // max time to wait for receiving all pending messages
//=========================================================================
// Data Types
//=========================================================================
///////////////////////////////////////////////////////////
// Type: EPTF_UIHandlerClient_HangingConnection
// Purpose:
// Describes a sent subscription note
///////////////////////////////////////////////////////////
type record EPTF_UIHandlerClient_HangingConnection {
EPTF_UIHandler_CT handler,
charstring varName,
integer messagId
};
type record of EPTF_UIHandlerClient_SubsRet EPTF_UIHandlerClient_SubsRetList;
type record of EPTF_UIHandler_HandledWidgetType EPTF_UIHandler_HandledWidgetTypeList;
///////////////////////////////////////////////////////////
// Type: EPTF_UIHandlerClient_HangingConnections
// Purpose:
// The list of sent subscription notes
///////////////////////////////////////////////////////////
type record of EPTF_UIHandlerClient_HangingConnection EPTF_UIHandlerClient_HangingConnections;
///////////////////////////////////////////////////////////
// Type: EPTF_UIHandlerClient_OpenUIConnections
// Purpose:
// The list of the connected handlers
///////////////////////////////////////////////////////////
type record of EPTF_UIHandler_CT EPTF_UIHandlerClient_OpenUIConnections;
///////////////////////////////////////////////////////////
// Type: EPTF_UIHandlerClient_SubsRet
// Purpose:
// The type of the callback function called after a refusion message
///////////////////////////////////////////////////////////
type enumerated EPTF_UIHandlerClient_SubsRet {sr_Fail, sr_Success, sr_Exists};
//=========================================================================
//Component Types
//=========================================================================
///////////////////////////////////////////////////////////
// Type: EPTF_UIHandlerClient_CT
//
// Purpose:
// The component implements the provider part of the EPTF UI feature.
// It extends the EPTF_Var_CT component, because the subscriber
// presumes it.
//
// Elements:
// EPTF_UIHandlerClient_MgmtIf - <EPTF_CLL_UISubscMgmt_PT> - the management port
//
// Detailed Comments:
// Gives a surface for automatization of data handling in UIs.
//
///////////////////////////////////////////////////////////
type component EPTF_UIHandlerClient_CT extends EPTF_Var_CT, EPTF_Logging_CT, EPTF_Semaphore_CT {
//port EPTF_CLL_UISubscMgmt_PT EPTF_CLL_UISubscMgmtIf; //management interface
private port EPTF_adminPort_PT v_UIHandlerClient_adminPortIf; //Widget management interface
private var EPTF_UIHandlerClient_HangingConnections v_UIHandlerClient_hangingConnections; //The actually notified subscriber who has not subscribed yet
private var EPTF_UIHandlerClient_OpenUIConnections v_UIHandlerClient_openUIConnections;
private var boolean v_UIHandlerClient_initialized := false;
private var default v_UIHandlerClient_def;
private var EPTF_UIHandler_CT v_UIHandlerClient_DefaultUIHandler;
private var integer v_UIHandlerClient_lastRequest := 0;
private var integer v_UIHandlerClient_pendingMsgCounter := 0; // number of pending messages
// logging
private var integer v_UIHandlerClient_loggingMaskId := c_EPTF_Logging_invalidMaskId;
private var EPTF_UIHandlerClient_SubsRetList v_UIHandlerClient_subsRetList := {}; // indexed by semaphore ID. Stores the return value of the AddElementToGUI response
private var EPTF_UIHandler_HandledWidgetTypeList v_UIHandlerClient_widgetExistsRespList := {};// indexed by semaphore ID. Stores the return value of the WidgetExists response
private var boolean v_UIHandlerClient_maxTimeoutReached := false;
}
} // end of module