blob: 4357c07660cfb15fcbacfb56908615a7c3302718 [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_LoggingUIClient_Functions
//
// Purpose:
// Creates and manages EPTF_Variables and GUI elements for the LoggingUI Clients logging parameters.
//
// Module depends on:
// <EPTF_CLL_Common_Functions>
// <EPTF_CLL_LoggingUI_Definitions>
// <EPTF_CLL_LoggingUI_PrivateFunctions>
// <EPTF_CLL_Logging_Functions>
// <EPTF_CLL_Variable_Definitions>
// <EPTF_CLL_Variable_Functions>
// <EPTF_CLL_Base_Functions>
// <EPTF_CLL_UIHandlerClient_Functions>
// <EPTF_CLL_UIHandler_Definitions>
// <XTDP_PDU_Defs language>
//
// Current Owner:
// Bence Molnar (EBENMOL)
//
// Last Review Date:
// 2008-01-15
//
// Detailed Comments:
// Creates and manages EPTF_Variables and GUI elements for the LoggingUI Clients logging parameters.
//
// <f_EPTF_LoggingUIClient_init_CT> - Function to initialize LoggingUI Client component.
//
// <f_EPTF_LoggingUI_enableAllGlobal> - Function to enable EPTF Logging of all features on all components.
//
// <f_EPTF_LoggingUI_disableAllGlobal> - Function to disable EPTF User Logging of all features on all components..
//
// <f_EPTF_LoggingUI_enableGlobal> - Function to enable EPTF Logging on the current component type.
//
// <f_EPTF_LoggingUI_disableGlobal> - Function to disable EPTF Logging on the current component type.
//
// <f_EPTF_LoggingUI_enableGlobalMask> - Function to enable an EPTF Logging an event class on the current component type.
//
// <f_EPTF_LoggingUI_disableGlobalMask> - Function to disable an EPTF Logging an event class on the current component type.
//
// <f_EPTF_LoggingUIClient_cleanup_CT> - Function to shutdown loggingUI client.
//
// <f_EPTF_LoggingUI_componentLocalToGui> - Function to create logging GUI elements.
//
// <f_EPTF_LoggingUI_removeComponentGui> - Function to remove logging GUI elements.
//
// <f_EPTF_LoggingUI_componentLocalBindToEPTFVar> - Binds boolean parameters to EPTF_variables.
//
// <f_EPTF_LoggingUI_componentLocalBindToGui> - Function to bind EPTF Variables to Gui.
//
// <f_EPTF_LoggingUI_allComponentLocalToGui> - Function to create logging GUI elements.
//
// <f_EPTF_LoggingUI_allComponentLocalBindToEPTFVar> - Binds boolean parameters to EPTF_variables.
//
// <f_EPTF_LoggingUI_allComponentLocalBindToGui> - Function to bind EPTF Variables to Gui.
//
// <f_EPTF_LoggingUI_allComponentGlobalSubscribeToEPTFVar> - Function to subscribe variable to the global EPTF Variable.
//
// <f_EPTF_LoggingUI_componentGlobalSubscribeToEPTFVar> - Function to subscribe variables to the global EPTF Variable.
//
// <f_EPTF_LoggingUIClient_loggingUpdate> - Callback function for Logging_CT.
//
// <f_EPTF_LoggingUIClient_refreshAllRefs> - Callback function for Logging_CT.
//
// <f_EPTF_LoggingUI_refreshVar> - Callback function for Logging_CT.
//
///////////////////////////////////////////////////////////
module EPTF_CLL_LoggingUIClient_Functions
{
import from EPTF_CLL_Common_Functions all;
// if you use EPTF_LoggingUI_CT you have to import these
import from EPTF_CLL_LoggingUI_Definitions all;
import from EPTF_CLL_LoggingUI_PrivateFunctions all
// if you use EPTF_Logging_CT you have to import these
import from EPTF_CLL_Logging_Functions all;
// if you use EPTF_Var_CT you have to import these
import from EPTF_CLL_Variable_Definitions all;
import from EPTF_CLL_Variable_Functions all;
import from EPTF_CLL_Base_Functions all;
// if you use UIHandler&XUL you have to import these
import from EPTF_CLL_UIHandlerClient_Functions all;
import from EPTF_CLL_UIHandler_Definitions all;
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUIClient_init_CT
//
// Purpose:
// Function to initialize loggingUI Client component.
//
// Parameters:
// pl_selfName - *in* *charstring* - name of LoggingUI client component
// pl_loggingUI_main - *in* <EPTF_LoggingUI_CT> - the main LoggingUI component
// pl_subscriber - *in* <EPTF_UIHandler_CT> - UIHandler component
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// The function initializes LoggingUI client component. Initializes Logging_CT, EPTF_Var_CT, UIHandlerClient_CT.
// After this sends out <EPTF_LoggingUI_Msg> type request and waits for the response. If the response arrives, the main
// window created and the component checkboxes can be put to the GUI.
//
///////////////////////////////////////////////////////////
public function f_EPTF_LoggingUIClient_init_CT(
in charstring pl_selfName,
in EPTF_LoggingUI_CT pl_loggingUI_main,
in EPTF_UIHandler_CT pl_subscriber) runs on EPTF_LoggingUIClient_CT {
if (v_EPTF_LoggingUIClient_initialized) {return;}
v_EPTF_LoggingUIClient_initialized := true;
//log("----- LoggingUI init START -------");
v_EPTF_LoggingUI_main:=pl_loggingUI_main;
f_EPTF_Logging_init_CT(pl_selfName);
//f_EPTF_Var_CT_LogAll("----- EPTF VAR INIT START -------");//log
f_EPTF_Var_init_CT(pl_selfName);
//f_EPTF_Var_CT_LogAll("----- EPTF VAR INIT READY -------");//log
f_EPTF_UIHandlerClient_init_CT(pl_selfName, pl_subscriber);
//log("-----v_EPRF_Logging_myMaskId: ",v_EPTF_Logging_myMaskId);
connect(self:EPTF_LoggingUIClientPort_CP, pl_loggingUI_main:EPTF_LoggingUIPort_CP);
EPTF_LoggingUIClientPort_CP.send(c_EPTF_LoggingUI_hello);
for (var integer i:=0; i<sizeof(v_EPTF_Logging_ComponentMask_List); i:=i+1) {
var EPTF_LoggingUI_Msg vl_req:={
LoggingUI_Req:={
Request:=Init,
compName:=f_EPTF_Base_selfName(),
compType:=v_EPTF_Logging_ComponentMask_List[i].componentTypeName,
selection:=v_EPTF_Logging_ComponentMask_List[i].selection,
eventClassNames:=v_EPTF_Logging_ComponentMask_List[i].eventClassNames
}
}
EPTF_LoggingUIClientPort_CP.send(vl_req);
alt {
[] EPTF_LoggingUIClientPort_CP.receive(c_EPTF_LoggingUI_resp) {}
}
f_EPTF_LoggingUI_componentGlobalSubscribeToEPTFVar(i);
//f_EPTF_LoggingUI_componentLocalToGui(i);
f_EPTF_LoggingUI_componentLocalBindToEPTFVar(i);
f_EPTF_LoggingUI_componentLocalBindToGui(i);
}
//f_EPTF_LoggingUI_allComponentLocalToGui();
f_EPTF_LoggingUI_allComponentLocalBindToEPTFVar();
f_EPTF_LoggingUI_allComponentLocalBindToGui();
f_EPTF_LoggingUI_allComponentGlobalSubscribeToEPTFVar();
f_EPTF_Logging_registerGUICallbacks(refers(f_EPTF_LoggingUIClient_loggingUpdate),refers(f_EPTF_LoggingUI_refreshVar));
f_EPTF_Base_registerCleanup(refers(f_EPTF_LoggingUIClient_cleanup_CT));
//log("----- LoggingUI init END -------");
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_enableAllGlobal
//
// Purpose:
// Function to enable EPTF Logging of all features on all components.
//
// Parameters:
// -
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Calling this function will enable EPTF logging on all components.
//
///////////////////////////////////////////////////////////
public function f_EPTF_LoggingUI_enableAllGlobal() runs on EPTF_LoggingUIClient_CT {
v_EPTF_Logging_allComponentGlobalEnable := true;
f_EPTF_Logging_refreshUIVar(v_EPTF_Logging_allComponentGlobalEnable);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_disableAllGlobal
//
// Purpose:
// Function to disable EPTF User Logging of all features on all components.
//
// Parameters:
// -
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Calling this function will disable EPTF logging on all components.
//
///////////////////////////////////////////////////////////
public function f_EPTF_LoggingUI_disableAllGlobal() runs on EPTF_LoggingUIClient_CT {
v_EPTF_Logging_allComponentGlobalEnable := false;
f_EPTF_Logging_refreshUIVar(v_EPTF_Logging_allComponentGlobalEnable);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_enableGlobal
//
// Purpose:
// Function to enable EPTF Logging on the current component type.
//
// Parameters:
// pl_compTypeId - *in* *integer* - the ID of the component type
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
//
///////////////////////////////////////////////////////////
public function f_EPTF_LoggingUI_enableGlobal(in integer pl_compTypeId) runs on EPTF_LoggingUIClient_CT {
v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalEnable := true;
f_EPTF_Logging_refreshUIVar(v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalEnable);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_disableGlobal
//
// Purpose:
// Function to disable EPTF Logging on the current component type.
//
// Parameters:
// pl_compTypeId - *in* *integer* - the ID of the component type
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
//
///////////////////////////////////////////////////////////
public function f_EPTF_LoggingUI_disableGlobal(in integer pl_compTypeId) runs on EPTF_LoggingUIClient_CT {
v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalEnable := false;
f_EPTF_Logging_refreshUIVar(v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalEnable);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_enableGlobalMask
//
// Purpose:
// Function to enable an EPTF Logging an event class on the current component type.
//
// Parameters:
// pl_compTypeId - *in* *integer* - the ID of the component type
// pl_eventClass - *in* *integer* - index of the event class
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Calling this function will enable the given EPTF logging event class on this component type.
// The pl_eventClass is the index of the event class defined by <tsp_EPTF_UserEventClassPrefixList>.
//
///////////////////////////////////////////////////////////
public function f_EPTF_LoggingUI_enableGlobalMask(in integer pl_compTypeId,in integer pl_eventClass) runs on EPTF_LoggingUIClient_CT {
v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalMask[pl_eventClass] := true;
f_EPTF_Logging_refreshUIVar(v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalMask[pl_eventClass]);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_disableGlobalMask
//
// Purpose:
// Function to disable an EPTF Logging an event class on the current component type.
//
// Parameters:
// pl_compTypeId - *in* *integer* - the ID of the component type
// pl_eventClass - *in* *integer* - index of the event class
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Calling this function will disable the given EPTF logging event class on this component type.
// The pl_eventClass is the index of the event class defined by <tsp_EPTF_UserEventClassPrefixList>.
//
///////////////////////////////////////////////////////////
public function f_EPTF_LoggingUI_disableGlobalMask(in integer pl_compTypeId,in integer pl_eventClass) runs on EPTF_LoggingUIClient_CT {
v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalMask[pl_eventClass] := false;
f_EPTF_Logging_refreshUIVar(v_EPTF_Logging_ComponentMask_List[pl_compTypeId].componentGlobalMask[pl_eventClass]);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
// private:
//////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Group: Private
//
// Purpose:
// Private functions. These functions must not be used by the user of <EPTF_LoggingUIClient_CT>
//
// Elements:
///////////////////////////////////////////////////////////
group Private {
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUIClient_cleanup_CT
//
// Purpose:
// Function to shutdown loggingUI client.
//
// Parameters:
// -
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUIClient_cleanup_CT() runs on EPTF_LoggingUIClient_CT {
//log("----- LoggingUIClient cleanup -------");
if (v_EPTF_LoggingUIClient_initialized == false) {
return;
}
f_EPTF_LoggingUI_removeComponentGui();
EPTF_LoggingUIClientPort_CP.send(c_EPTF_LoggingUI_bye);
disconnect(self:EPTF_LoggingUIClientPort_CP, v_EPTF_LoggingUI_main:EPTF_LoggingUIPort_CP);
v_EPTF_LoggingUIClient_initialized := false;
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_removeComponentGui
//
// Purpose:
// Function to remove the logging gui elements for the boolean values mask. (now only disables the mask)
//
// Parameters:
// -
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// The Function removes the tablerow from the Component Types tab.
// The removed row countained checkboxes for the logging boolean values.(now only disables the row)
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_removeComponentGui() runs on EPTF_LoggingUIClient_CT {
//log("***********f_EPTF_LoggingUI_removeComponentGui***************");
for(var integer j:=0; j<sizeof(v_EPTF_Logging_ComponentMask_List) ; j:=j+1) {
var charstring vl_selection:=f_EPTF_LoggingUI_Selection2Str(v_EPTF_Logging_ComponentMask_List[j].selection);
var charstring vl_compTypeName:=v_EPTF_Logging_ComponentMask_List[j].componentTypeName;
//disable mask checkboxes
f_EPTF_UIHandlerClient_disableGUIElement(f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection&".Component_CheckBoxes_ComponentName");
f_EPTF_UIHandlerClient_disableGUIElement(f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection&".Component_CheckBoxes_Enable");
for (var integer i := 0; i < sizeof(v_EPTF_Logging_ComponentMask_List[j].eventClassNames); i := i + 1)
{
f_EPTF_UIHandlerClient_disableGUIElement(f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection&".Component_CheckBoxes_Mask" & int2str(i));
}
//disable component global checkboxes
f_EPTF_UIHandlerClient_disableGUIElement(f_EPTF_Base_selfName()&".allcomponent.local.enable_ComponentName");
f_EPTF_UIHandlerClient_disableGUIElement(f_EPTF_Base_selfName()&".allcomponent.local.enable_Enable");
// remove element later!
// f_EPTF_UIHandlerClient_removeElementFromGUI(f_EPTF_Base_selfName()&"."&vl_selection&".Component_CheckBoxes_ComponentName");
}
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_componentLocalBindToEPTFVar
//
// Purpose:
// Binds boolean parameters to EPTF_variables.
//
// Parameters:
// pl_logMaskIdx - *in* *integer* - ID of the loggingMask
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Binds the boolean parameters to EPTF_variables. Binds <v_EPTF_Logging_ComponentMask_List.componentLocalMask> to EPTF_Var variables.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_componentLocalBindToEPTFVar(
in integer pl_logMaskIdx) runs on EPTF_LoggingUIClient_CT {
//log("***********f_EPTF_LoggingUI_componentLocalBindToEPTFVar***************");
var charstring boolVarRef;
var charstring vl_selection:=f_EPTF_LoggingUI_Selection2Str(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].selection);
var charstring vl_compTypeName:=v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentTypeName;
// mask bindings
boolVarRef := "componentLocalEnable."&f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection;
f_EPTF_Var_newBoolRef(boolVarRef, v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentLocalEnable,v_EPTF_LoggingUI_componentLocalEnableIdx[pl_logMaskIdx]);
for(var integer i:=0; i<sizeof(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].eventClassNames); i:=i+1) {
//log("EPTF_componentLocalMask: ",v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentLocalMask[i]);
boolVarRef := "componentLocalMask."&int2str(i)&f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection;
f_EPTF_Var_newBoolRef(boolVarRef, v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentLocalMask[i],v_EPTF_LoggingUI_componentLocalMaskIdx[pl_logMaskIdx][i]);
}
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_componentLocalBindToGui
//
// Purpose:
// Function to bind EPTF Variables to Gui
//
// Parameters:
// pl_logMaskIdx - *in* *integer* - ID of the loggingMask
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Binds <v_EPTF_Logging_ComponentMask_List.componentLocalEnable> and <v_EPTF_Logging_ComponentMask_List.componentLocalMask>
// and its EPTF_Var variables with the corresponding checkboxes.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_componentLocalBindToGui(
in integer pl_logMaskIdx) runs on EPTF_LoggingUIClient_CT {
//log("***********f_EPTF_LoggingUI_componentLocalBindToGui***************");
var charstring boolVarName,boolVarName2,boolVarName3;
var charstring vl_selection:=f_EPTF_LoggingUI_Selection2Str(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].selection);
var charstring vl_compTypeName:=v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentTypeName;
// mask bindings
boolVarName := f_EPTF_Var_getName(v_EPTF_LoggingUI_componentLocalEnableIdx[pl_logMaskIdx]);
boolVarName2 := f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection&".subscriber_componentLogIsEnabled";
//boolVarName3 :="Component_CheckBoxes"&int2str(j)&"_Enable";
boolVarName3 := f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection&".Component_CheckBoxes_Enable";
f_EPTF_UIHandlerClient_subscribeMe(boolVarName, boolVarName2, boolVarName3);
for(var integer i:=0; i<sizeof(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].eventClassNames); i:=i+1) {
boolVarName := f_EPTF_Var_getName(v_EPTF_LoggingUI_componentLocalMaskIdx[pl_logMaskIdx][i]);
boolVarName2 := f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection&int2str(i)&".subscriber.componentLogMaskList";
boolVarName3 := f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection&".Component_CheckBoxes_Mask"&int2str(i);
f_EPTF_UIHandlerClient_subscribeMe(boolVarName, boolVarName2, boolVarName3);
}
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_allComponentLocalBindToEPTFVar
//
// Purpose:
// Binds boolean parameters to EPTF_variables
//
// Parameters:
// -
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Binds the boolean parameters to EPTF_variables. Binds <v_EPTF_Logging_allComponentLocalEnable> to EPTF_Var variables.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_allComponentLocalBindToEPTFVar() runs on EPTF_LoggingUIClient_CT {
//log("***********f_EPTF_LoggingUI_AllComponentLoggingBindToEPTFVar***************");
var charstring boolVarRef;
// all component local bindings
boolVarRef := "allcomponentLocalEnable."&f_EPTF_Base_selfName();
f_EPTF_Var_newBoolRef(boolVarRef, v_EPTF_Logging_allComponentLocalEnable, v_EPTF_LoggingUI_allComponentLocalEnableIdx);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_allComponentLocalBindToGui
//
// Purpose:
// Function to bind EPTF Variables to Gui
//
// Parameters:
// -
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Binds <v_EPTF_Logging_allComponentLocalEnable> and its EPTF_Var variables with the corresponding checkboxes.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_allComponentLocalBindToGui() runs on EPTF_LoggingUIClient_CT {
//log("***********f_EPTF_LoggingUI_AllComponentLoggingBindToGui***************");
var charstring boolVarName,boolVarName2,boolVarName3;
// all component local bindings
boolVarName := f_EPTF_Var_getName(v_EPTF_LoggingUI_allComponentLocalEnableIdx);
boolVarName2 := f_EPTF_Base_selfName()&".subscriber_allcomponent.local.enable";
boolVarName3 := f_EPTF_Base_selfName()&".allcomponent.local.enable_Enable";
f_EPTF_UIHandlerClient_subscribeMe(boolVarName, boolVarName2, boolVarName3);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_allComponentGlobalSubscribeToEPTFVar
//
// Purpose:
// Function to subscribe <allComponentGlobalEnable> variable to the global EPTF Variable.
//
// Parameters:
// -
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Main LoggingUI component creates an EPTF_Variable, and a checkbox to the GUI for this boolean variable.
// This function subscribes <allComponentGlobalEnable> variable to the EPTF Variable created by the main component.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_allComponentGlobalSubscribeToEPTFVar() runs on EPTF_LoggingUIClient_CT {
var integer idx;
//allComponentGlobalEnable
f_EPTF_Var_subscribeRemoteBoolRef(v_EPTF_Logging_allComponentGlobalEnable,v_EPTF_LoggingUI_main,"allComponentGlobalEnable",realtime,idx);
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_componentGlobalSubscribeToEPTFVar
//
// Purpose:
// Function to subscribe <EPTF_Logging_ComponentMask.componentGlobalEnable> ,
// <EPTF_Logging_ComponentMask.componentGlobalMask> variables to an EPTF Variable.
//
// Parameters:
// pl_logMaskIdx - *in* *integer* - ID of the loggingMask
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// Main LoggingUI component creates an EPTF_Variable, and a checkbox to the GUI for this boolean variable.
// This function subscribes <EPTF_Logging_ComponentMask.componentGlobalEnable> and
// <EPTF_Logging_ComponentMask.componentGlobalMask> variables to the EPTF Variable created by the main component.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_componentGlobalSubscribeToEPTFVar(
in integer pl_logMaskIdx) runs on EPTF_LoggingUIClient_CT {
var charstring vl_selection:=f_EPTF_LoggingUI_Selection2Str(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].selection);
var charstring vl_compTypeName:=v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentTypeName;
var integer idx;
//componentGlobalEnable
f_EPTF_Var_subscribeRemoteBoolRef(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentGlobalEnable,
v_EPTF_LoggingUI_main,
"EPTF_LoggingUI.componentGlobalEnable."&vl_compTypeName&"."&vl_selection,
realtime,idx,
"componentGlobalEnable."&vl_compTypeName&"."&vl_selection);
for(var integer i:=0; i<sizeof(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].eventClassNames); i:=i+1) {
//componentGlobalMask
f_EPTF_Var_subscribeRemoteBoolRef(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentGlobalMask[i],
v_EPTF_LoggingUI_main,
"EPTF_LoggingUI.componentGlobalMask."&int2str(i)&"."&vl_compTypeName&"."&vl_selection,
realtime,idx,
"componentGlobalMask."&int2str(i)&"."&vl_compTypeName&"."&vl_selection);
}
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUIClient_loggingUpdate
//
// Purpose:
// Callback function for Logging_CT
//
// Parameters:
// pl_logMaskIdx - *in* *integer* - the the mask ID to be updated
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// After calling the function <f_EPTF_Logging_registerComponentMasks> EPTF_Logging_CT uses this callback function
// to put the new mask parameters to the GUI.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUIClient_loggingUpdate(
in integer pl_logMaskIdx) runs on EPTF_LoggingUIClient_CT {
//log("----- f_EPTF_LoggingUIClient_LogUpdate Callback -------");
var EPTF_LoggingUI_Msg vl_req:={
LoggingUI_Req:={
Request:=Init,
compName:=f_EPTF_Base_selfName(),
compType:=v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentTypeName,
selection:=v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].selection,
eventClassNames:=v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].eventClassNames
}
}
EPTF_LoggingUIClientPort_CP.send(vl_req);
alt {
[] EPTF_LoggingUIClientPort_CP.receive(c_EPTF_LoggingUI_resp) {}
}
f_EPTF_LoggingUI_componentGlobalSubscribeToEPTFVar(pl_logMaskIdx);
//f_EPTF_LoggingUI_componentLocalToGui(pl_logMaskIdx);
f_EPTF_LoggingUI_componentLocalBindToEPTFVar(pl_logMaskIdx);
f_EPTF_LoggingUI_componentLocalBindToGui(pl_logMaskIdx);
f_EPTF_LoggingUIClient_refreshAllRefs();
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUIClient_refreshAllRefs
//
// Purpose:
// Callback function for Logging_CT. Refreshes component references of all EPTF Variables.
//
// Parameters:
// -
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
// TITAN dynamically allocates memory for list elements. When the list become full memory reallocated.
// The allocated component references to EPTF Variables go wrong, so we need to refresh the component references.
// This function refreshes component references of all EPTF Variables.
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUIClient_refreshAllRefs() runs on EPTF_LoggingUIClient_CT {
var charstring vl_varName;
// do this for all comp variables:
//f_EPTF_Var_CT_LogAll("f_EPTF_LoggingUIClient_refreshAllRefs");
for (var integer pl_logMaskIdx:= 0; pl_logMaskIdx<sizeof(v_EPTF_Logging_ComponentMask_List); pl_logMaskIdx:=pl_logMaskIdx+1) {
var charstring vl_selection:=f_EPTF_LoggingUI_Selection2Str(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].selection);
var charstring vl_compTypeName:=v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentTypeName;
//componentGlobalEnable
vl_varName := "componentGlobalEnable."&vl_compTypeName&"."&vl_selection;
f_EPTF_Var_updateRef(f_EPTF_Var_getId(vl_varName),f_EPTF_Var_getBoolRef(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentGlobalEnable));
for(var integer i:=0; i<sizeof(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].eventClassNames); i:=i+1) {
//componentGlobalMask
vl_varName := "componentGlobalMask."&int2str(i)&"."&vl_compTypeName&"."&vl_selection;
f_EPTF_Var_updateRef(f_EPTF_Var_getId(vl_varName),f_EPTF_Var_getBoolRef(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentGlobalMask[i]));
}
// mask bindings
vl_varName := "componentLocalEnable."&f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection;
f_EPTF_Var_updateRef(f_EPTF_Var_getId(vl_varName),f_EPTF_Var_getBoolRef(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentLocalEnable));
for(var integer i:=0; i<sizeof(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].eventClassNames); i:=i+1) {
//log("EPTF_componentLocalMask: ",v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentLocalMask[i]);
vl_varName := "componentLocalMask."&int2str(i)&f_EPTF_Base_selfName()&"."&vl_compTypeName&"."&vl_selection;
f_EPTF_Var_updateRef(f_EPTF_Var_getId(vl_varName),f_EPTF_Var_getBoolRef(v_EPTF_Logging_ComponentMask_List[pl_logMaskIdx].componentLocalMask[i]));
}
} // for pl_logMaskIdx
//f_EPTF_Var_CT_LogAll("Updated f_EPTF_LoggingUIClient_refreshAllRefs");
}
//////////////////////////////////////////////////////////
// Function: f_EPTF_LoggingUI_refreshVar
//
// Purpose:
// Callback function for Logging_CT. Refreshes a component variable value from the EPTF Variable.
//
// Parameters:
// pl_logVar - *inout* *boolean* - the reference of the component variable
//
// Return Value:
// -
//
// Errors:
// - (none)
//
// Detailed Comments:
//
///////////////////////////////////////////////////////////
private function f_EPTF_LoggingUI_refreshVar(
inout boolean pl_logVar) runs on EPTF_Var_CT {
if (f_EPTF_Var_boolCompRef2Id(pl_logVar)!=-1) {
f_EPTF_Var_adjustContent(f_EPTF_Var_boolCompRef2Id(pl_logVar),{boolVal:=pl_logVar});
} else {
f_EPTF_Common_user(log2str("f_EPTF_Var_boolCompRef2Id(pl_logVar): ",f_EPTF_Var_boolCompRef2Id(pl_logVar)));
}
}
} // group Private
} // end of module