blob: d273cb268b82c099f20d8ad68d4836e6ac30233f [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_LoggingUI_Definitions
//
// Purpose:
// This module contains definitions of EPTF_CLL_LoggingUI.
//
// Module depends on:
// <EPTF_CLL_Logging_Definitions>
// <EPTF_CLL_Variable_Definitions>
// <EPTF_CLL_Common_Definitions>
// <EPTF_CLL_UIHandlerClient_Definitions>
// <EPTF_CLL_HashMap_Definitions>
//
// Current Owner:
// Bence Molnar (EBENMOL)
//
// Last Review Date:
// 2008-01-29
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////
module EPTF_CLL_LoggingUI_Definitions
{
// if you use EPTF_Generic_Logger_CT you have to import these
import from EPTF_CLL_Logging_Definitions all
// if you use EPTF_Var_CT you have to import these
import from EPTF_CLL_Variable_Definitions all;
// if you use EPTF_IntegerList you have to import these
import from EPTF_CLL_Common_Definitions all;
// if you use UIHandler&XUL you have to import these
import from EPTF_CLL_UIHandlerClient_Definitions all;
import from EPTF_CLL_HashMap_Definitions all;
///////////////////////////////////////////////////////////
// Constant: c_EPTF_LoggingUI_resp
//
// Purpose:
// <EPTF_LoggingUI_Resp_Type> type constant.
//
///////////////////////////////////////////////////////////
const EPTF_LoggingUI_Msg c_EPTF_LoggingUI_resp:={
LoggingUI_Resp:={
Message:=OK
}
}
///////////////////////////////////////////////////////////
// Constant: c_EPTF_LoggingUI_hello
//
// Purpose:
// <EPTF_LoggingUI_Hello_Type> type constant.
//
///////////////////////////////////////////////////////////
const EPTF_LoggingUI_Msg c_EPTF_LoggingUI_hello:={
LoggingUI_Hello:={
Message:=Hello
}
}
///////////////////////////////////////////////////////////
// Constant: c_EPTF_LoggingUI_bye
//
// Purpose:
// <EPTF_LoggingUI_Bye_Type> type constant.
//
///////////////////////////////////////////////////////////
const EPTF_LoggingUI_Msg c_EPTF_LoggingUI_bye:={
LoggingUI_Bye:={
Message:=Bye
}
}
///////////////////////////////////////////////////////////
// Template: tr_EPTF_LoggingUI_req template
//
// Purpose:
// <EPTF_LoggingUI_Req_Type> type template, for receiving request messages.
//
///////////////////////////////////////////////////////////
template EPTF_LoggingUI_Msg tr_EPTF_LoggingUI_req:={
LoggingUI_Req:={
Request:=Init,
compName:=?,
compType:=?,
selection:=?,
eventClassNames:={*}
}
}
///////////////////////////////////////////////////////////
// Type: EPTF_LoggingUI_Req_Type
//
// Purpose:
// Reqest Type message.
//
// Elements:
// Request - <EPTF_LoggingUI_Msg_types> - The type of request
// compName - *charstring* - The name of the component
// compType - *charstring* - The type of the component
// selection - *integer* - Core=0/User=1
// eventClassNames - <EPTF_Logging_EventClassPrefixList> - The list of the logmask
//
// Detailed Comments:
// Reqest Type message. The client sends this messages to the main loggingUI component.
// The client sends its name,type, and logmask. with the help of this message the main
// loggingUI component makes the component types tab.
//
///////////////////////////////////////////////////////////
type record EPTF_LoggingUI_Req_Type
{
EPTF_LoggingUI_Msg_types Request,
charstring compName,
charstring compType,
integer selection,
EPTF_Logging_EventClassPrefixList eventClassNames
}
///////////////////////////////////////////////////////////
// Type: EPTF_LoggingUI_Resp_Type
//
// Purpose:
// Response Type message.
//
// Elements:
// Response - <EPTF_LoggingUI_Msg_types> - The response message
//
// Detailed Comments:
// The response message. The loggingUI and loggingUI client components sends these messages.
// There are 3 types OK, Hello, Bye:
// OK is a response to a request message.
// Hello is a client message for starting the connection. Bye is a client message for stopping connection.
// With the help of these messages main LoggingUI maintain the number of connected clients.
//
//////////////////////////////////////////////////////////
type record EPTF_LoggingUI_Resp_Type
{
EPTF_LoggingUI_Msg_types Message
}
///////////////////////////////////////////////////////////
// Type: EPTF_LoggingUI_Msg_types
//
// Purpose:
// Enumerated type for chosing LoggingUI message types.
//
// Elements:
// Hello - Hello type msg
// Init - Init type msg
// OK - OK type msg
// Bye - Bye type msg
//
// Detailed Comments:
// Enumerated type for chosing possible LoggingUI message types.
///////////////////////////////////////////////////////////
type enumerated EPTF_LoggingUI_Msg_types {Hello(0), Init(1), OK(2), Bye(3)}
///////////////////////////////////////////////////////////
// Type: EPTF_LoggingUI_Msg
//
// Purpose:
// The union of LoggingUI messages.
//
// Elements:
// LoggingUI_Req - <EPTF_LoggingUI_Req_Type> - The request message
// LoggingUI_Resp - <EPTF_LoggingUI_Resp_Type> - The response message
// LoggingUI_Hello - <EPTF_LoggingUI_Resp_Type> - The Hello message
// LoggingUI_Bye - <EPTF_LoggingUI_Resp_Type> - The Bye message
//
// Detailed Comments:
// All loggingUI messages.
//
///////////////////////////////////////////////////////////
type union EPTF_LoggingUI_Msg
{
EPTF_LoggingUI_Req_Type LoggingUI_Req,
EPTF_LoggingUI_Resp_Type LoggingUI_Resp,
EPTF_LoggingUI_Resp_Type LoggingUI_Hello,
EPTF_LoggingUI_Resp_Type LoggingUI_Bye
}
///////////////////////////////////////////////////////////
// Type: EPTF_LoggingUIPort_PT
//
// Purpose:
// Internal message port type for exchanging configuration messages.
//
// Elements:
//
// Detailed Comments:
// Can bothway send messages
///////////////////////////////////////////////////////////
type port EPTF_LoggingUIPort_PT message {
inout EPTF_LoggingUI_Msg;
} with {extension "internal"}
///////////////////////////////////////////////////////////
// Component: EPTF_LoggingUIClient_CT
//
// Purpose:
// Component type for EPTF LoggingUI Client interface.
//
// Elements:
// v_EPTF_LoggingUI_main - <EPTF_LoggingUI_CT> - the main loggingUI component
// v_EPTF_LoggingUI_allComponentLocalEnableIdx - *integer* - the EPTF variable ID of v_EPTF_Logging_allComponentLocalEnable
// v_EPTF_LoggingUI_componentLocalEnableIdx - <EPTF_IntegerList> - the EPTF variable ID of v_EPTF_componentLocalEnable, integerlist
// v_EPTF_LoggingUI_componentLocalMaskIdx - <EPTF_IntegerArray2D> - the EPTF variable ID of v_EPTF_componentLocalMask, 2D integermatrix
// v_EPTF_LoggingUIClient_initialized - *boolean* - true if loggingUI is initalized with its init function
//
// Detailed Comments:
// LoggingUI Client type component. Every component using LoggingUI have to extend this component type.
//
///////////////////////////////////////////////////////////
type component EPTF_LoggingUIClient_CT extends EPTF_Logging_CT, EPTF_Var_CT, EPTF_UIHandlerClient_CT {
private port EPTF_LoggingUIPort_PT EPTF_LoggingUIClientPort_CP;
private var EPTF_LoggingUI_CT v_EPTF_LoggingUI_main;
private var integer v_EPTF_LoggingUI_allComponentLocalEnableIdx;
private var EPTF_IntegerList v_EPTF_LoggingUI_componentLocalEnableIdx;
private var EPTF_IntegerArray2D v_EPTF_LoggingUI_componentLocalMaskIdx;
private var boolean v_EPTF_LoggingUIClient_initialized := false;
}
///////////////////////////////////////////////////////////
// Constant: c_EPTF_LoggingUI_typesLookupTable_HashName
//
// Purpose:
// Constant for the name of the Hashmap used for a lookupTable for types.
//
///////////////////////////////////////////////////////////
const charstring c_EPTF_LoggingUI_typesLookupTable_HashName := "typesLookupTable";
///////////////////////////////////////////////////////////
// Component: EPTF_LoggingUI_CT
//
// Purpose:
// Component type for EPTF main LoggingUI interface.
//
// Elements:
// v_EPTF_LoggingUI_def - *default* - default altstep in main LoggingUI component
// v_EPTF_LoggingUI_allComponentGlobalEnableIdx - *integer* - the EPTF variable ID of v_EPTF_allComponentGlobalEnable
// v_EPTF_LoggingUI_componentGlobalEnableIdx - <EPTF_IntegerArray2D> - the EPTF variable id of <EPTF_Logging_LogMaskList> ComponentGlobalEnable
// v_EPTF_LoggingUI_componentGlobalMaskIdx - <LoggingUI_IntegerArray3D> - the EPTF variable ID of <EPTF_Logging_LogMaskList> ComponentGlobalMask
// v_EPTF_LoggingUI_typesLookupTableName - *charstring* - name of the component types lookup table HashMap
// v_EPTF_LoggingUI_typesLookupTableID - *integer* - the returned ID of the component types lookup table HashMap
// v_EPTF_LoggingUI_typesID - *integer* - the generated ID of the component types
// v_EPTF_LoggingUI_tabboxName - *charstring* - name of the tabbox where the LoggingUI has to be created on the GUI
// v_EPTF_LoggingUI_numberOfClients - *integer* - the number of connected clients
// v_EPTF_LoggingUI_allowReq - *boolean* - true if new request message processing allowed
// v_EPTF_LoggingUI_initialized - *boolean* - true if loggingUI is initalized with its init function
//
// Detailed Comments:
// LoggingUI main component. There always have to be one main component.
//
///////////////////////////////////////////////////////////
type component EPTF_LoggingUI_CT extends EPTF_Logging_CT, EPTF_Var_CT, EPTF_UIHandlerClient_CT, EPTF_HashMap_CT {
private port EPTF_LoggingUIPort_PT EPTF_LoggingUIPort_CP;
private var default v_EPTF_LoggingUI_def := null;
private var integer v_EPTF_LoggingUI_allComponentGlobalEnableIdx;
private var EPTF_IntegerArray2D v_EPTF_LoggingUI_componentGlobalEnableIdx;
private var LoggingUI_IntegerArray3D v_EPTF_LoggingUI_componentGlobalMaskIdx;
private var charstring v_EPTF_LoggingUI_typesLookupTableName;
private var integer v_EPTF_LoggingUI_typesLookupTableID;
private var integer v_EPTF_LoggingUI_typesID;
private var charstring v_EPTF_LoggingUI_tabboxName;
private var integer v_EPTF_LoggingUI_numberOfClients;
private var boolean v_EPTF_LoggingUI_allowReq := true;
private var boolean v_EPTF_LoggingUI_initialized := false;
}
type record of EPTF_IntegerArray2D LoggingUI_IntegerArray3D;
} // end of module