| /////////////////////////////////////////////////////////////////////////////// |
| // // |
| // 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 |