///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// 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_PARAMETERS]
tsp_EPTF_Var_SyncInterval := 3.0

#Address of the gui:
EPTF_CLL_UIHandler_WidgetFunctions.tsp_xtdp_listen_addr := "localhost"
EPTF_CLL_UIHandler_WidgetFunctions.tsp_xtdp_listen_port := 3480
tsp_EPTF_UIHandler_servermode := false
EPTF_CLL_UIHandler_WidgetFunctions.tsp_EPTF_savedGUIPrefix := "UIHandler_Test"
tsp_EPTF_UIHandler_headlessmode := true;
#Test:
EPTF_CLL_UIHandler_WidgetFunctions.tsp_EPTF_GUI_Main_Window_WidgetId := "MyNewEPTFMainWindow"
EPTF_CLL_UIHandler_WidgetFunctions.tsp_EPTF_GUI_Main_Toolbar_WidgetId := "MyEPTFMainToolbar"
EPTF_CLL_UIHandler_WidgetFunctions.tsp_EPTF_GUI_Main_Tabbox_WidgetId := "EPTF_Main_Tabbox"
EPTF_CLL_UIHandler_WidgetFunctions.tsp_EPTF_GUI_Main_Window_Width := 800.0
EPTF_CLL_UIHandler_WidgetFunctions.tsp_EPTF_GUI_Main_Window_Height := 300.0
EPTF_CLL_UIHandler_WidgetFunctions.tsp_EPTF_GUI_Main_Window_Title := "My TTCN constructed window"

#ModuleName.SampleParameter := SampleValue
[TESTPORT_PARAMETERS]
*.EPTF_guiPortIf.use_connection_ASPs := "yes"
*.EPTF_guiPortIf.packet_hdr_length_offset := "0"
*.EPTF_guiPortIf.packet_hdr_nr_bytes_in_length := "4"
*.EPTF_guiPortIf.packet_hdr_byte_order := "MSB"
*.EPTF_guiPortIf.server_mode := "no"
*.EPTF_guiPortIf.halt_on_connection_reset := "no"
*.EPTF_DummyGui_PCO.use_connection_ASPs := "yes"
*.EPTF_DummyGui_PCO.packet_hdr_length_offset := "0"
*.EPTF_DummyGui_PCO.packet_hdr_nr_bytes_in_length := "4"
*.EPTF_DummyGui_PCO.packet_hdr_byte_order := "MSB"
*.EPTF_DummyGui_PCO.server_mode := "yes"
*.xtdp_port.halt_on_connection_reset := "no"
*.EPTF_CLI_TELNET_PCO.CTRL_PORTNUM := "3457"
*.EPTF_CLI_TELNET_PCO.CTRL_LOGIN_SKIPPED := "yes"
*.EPTF_CLI_TELNET_PCO.CTRL_USERNAME_CLIENT := "ttcn"
*.EPTF_CLI_TELNET_PCO.CTRL_PASSWORD_CLIENT := "ttcn"
*.EPTF_CLI_TELNET_PCO.CTRL_SERVER_PROMPT := "TTCN> "
*.EPTF_CLI_TELNET_PCO.CTRL_MODE := "server"
*.EPTF_CLI_displayTELNET_PCO.CTRL_PORTNUM := "3458"
*.EPTF_CLI_displayTELNET_PCO.CTRL_LOGIN_SKIPPED := "yes"
*.EPTF_CLI_displayTELNET_PCO.CTRL_USERNAME_CLIENT := "ttcn"
*.EPTF_CLI_displayTELNET_PCO.CTRL_PASSWORD_CLIENT := "ttcn"
*.EPTF_CLI_displayTELNET_PCO.CTRL_SERVER_PROMPT := "TTCN> "
*.EPTF_CLI_displayTELNET_PCO.CTRL_MODE := "server"

// Used in testcase tc_EPTF_UIHandler_Test_HL37208:
*.CLI_PCO.CTRL_HOSTNAME := "localhost"
*.CLI_PCO.CTRL_PORTNUM := "3457"
*.CLI_PCO.CTRL_LOGIN_SKIPPED := "yes"
*.CLI_PCO.CTRL_USERNAME_CLIENT := "ttcn"
*.CLI_PCO.CTRL_PASSWORD_CLIENT := "ttcn"
*.CLI_PCO.PROMPT1 := "TTCN> "
*.CLI_PCO.CTRL_MODE := "client"
*.Disp_PCO.CTRL_HOSTNAME := "localhost"
*.Disp_PCO.CTRL_PORTNUM := "3458"
*.Disp_PCO.CTRL_LOGIN_SKIPPED := "yes"
*.Disp_PCO.CTRL_USERNAME_CLIENT := "ttcn"
*.Disp_PCO.CTRL_PASSWORD_CLIENT := "ttcn"
*.Disp_PCO.PROMPT1 := "TTCN> "
*.Disp_PCO.CTRL_MODE := "client"

#ComponentID.PortName.ParameterName := "ParameterValue"
[EXTERNAL_COMMANDS]

[LOGGING]
LogFile := "%e.%h-%r.%s"
ConsoleMask := LOG_ALL| TTCN_DEBUG| TESTCASE|EXECUTOR| TTCN_ERROR | TTCN_WARNING | TTCN_STATISTICS | TTCN_VERDICTOP | TTCN_ACTION
#FileMask :=LOG_ALL|WARNING|VERDICTOP|USER|TIMEROP|TESTCASE|STATISTICS|PORTEVENT|PARALLEL|FUNCTION|EXECUTOR|ERROR|DEFAULTOP|ACTION
FileMask := LOG_ALL| TTCN_DEBUG| TTCN_ERROR | TTCN_WARNING | TTCN_TESTCASE | TTCN_STATISTICS | USER |PORTEVENT | TIMEROP | TTCN_ACTION
LogEventTypes := Yes
SourceInfoFormat := Stack
TimeStampFormat := DateTime
MatchingHints := Detailed
LogEntityName := Yes

[COMPONENTS]

#ComponentName := Group
[MAIN_CONTROLLER]

#NumHCs := 1
[EXECUTE]
EPTF_DataSource_Test_Testcases.control

