<!--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
http:www.eclipse.org/legal/epl-v10.html                           -->
<!DOCTYPE TITAN_GUI_project_file>
<Project TITAN_version="1.8.pl2" >
    <General>
        <Project_Name>EPTF_Transport_NonBlocking_Test</Project_Name>
        <Executable_Path>bin/EPTF_Transport_NonBlocking_Test</Executable_Path>
        <Working_Dir>bin</Working_Dir>
        <Build_Host>alpha</Build_Host>
        <Execution_Mode>Parallel</Execution_Mode>
        <Code_Splitting_Mode>None</Code_Splitting_Mode>
        <ScriptFile_AfterMake>makefile_patch.sh</ScriptFile_AfterMake>
        <Log_Format>yes</Log_Format>
        <Update_Symlinks>yes</Update_Symlinks>
        <Create_Absolute_Symlinks>no</Create_Absolute_Symlinks>
        <Update_Makefile>yes</Update_Makefile>
        <Localhost_Execute>yes</Localhost_Execute>
        <Execute_Command>rsh %host &quot;cd %project_working_dir ; &quot;%executable&quot; %localhost %mctr_port&quot;</Execute_Command>
        <Execute_Hosts>alfa, beta, gamma</Execute_Hosts>
        <UnUsed_List></UnUsed_List>
    </General>
    <Configs>
        <Config>EPTF_Transport_NonBlocking_Test.cfg</Config>
    </Configs>
    <Test_Cases>
        <Test_Case>EPTF_Transport_Test_Testcases.control</Test_Case>
    </Test_Cases>
    <Others>
        <Other>EPTF_Transport_NonBlocking_Test.prj</Other>
    </Others>
    <File_Group name="MainFileGroup" >
        <File_Groups>
            <File_Group name="EPTF_Transport_Test" >
                <File path="EPTF_Transport_Test_Definitions.ttcn" />
                <File path="EPTF_Transport_Test_Functions.ttcn" />
                <File path="EPTF_Transport_Test_Testcases.ttcn" />
            </File_Group>
            <File_Group name="CLL" >
                <File_Groups>
                    <File_Group path="../../src/Transport/EPTF_CLL_Transport_Dep.grp" />
                    <File_Group path="../../src/LGenBase/EPTF_CLL_LGenBase.grp" />
                    <File_Group path="../../src/Transport/EPTF_CLL_Transport.grp" />
                    <File_Group path="../../src/Transport/EPTF_CLL_TransportCommPortIPL4.grp" />
                    <File_Group path="../../src/Transport/EPTF_CLL_TransportMessageBufferManager.grp" />
                    <File_Group path="../../src/Transport/EPTF_CLL_TransportRouting.grp" />
                    <File_Group path="../../src/HashMap/EPTF_CLL_HashMap.grp" />
                    <File_Group path="../../src/Common/EPTF_CLL_Common.grp" />
                    <File_Group path="../../src/Base/EPTF_CLL_Base.grp" />
                    <File_Group path="../../src/Logging/EPTF_CLL_Logging.grp" />
                    <File_Group path="../../src/Variable/EPTF_CLL_Variable.grp" />
                    <File_Group path="../../src/FreeBusyQueue/EPTF_CLL_FreeBusyQueue.grp" />
                    <File_Group path="../../src/RedBlackTree/EPTF_CLL_RBtree.grp" />
                    <File_Group path="../../src/Scheduler/EPTF_CLL_Scheduler.grp" />
                    <File_Group path="../../src/Semaphore/EPTF_CLL_Semaphore.grp" />
                    <File_Group path="../../src/LGenBase/EPTF_CLL_LGenBase.grp" />                    
                    <File_Group path="../../src/RedBlackTree/EPTF_CLL_RBtree_Float.grp" />
                    <File_Group path="../../src/Scheduler/EPTF_CLL_Scheduler_RBT.grp" />
                    <File_Group path="../../src/StatMeasure/EPTF_CLL_StatMeasure.grp" />
                    <File_Group path="../../src/RandomNArray/EPTF_CLL_RNA.grp" />
                    <File_Group path="../../src/StatHandler/EPTF_CLL_StatHandler.grp" />
                    <File_Group path="../../src/ExecCtrl/EPTF_CLL_ExecCtrl_Dep.grp" />
                    <File_Group path="../../src/DataSource/EPTF_CLL_DataSource_Dep.grp" />
                    <File_Group path="../../src/CommandLineInterface/EPTF_CLL_CLI.grp" />
                    <File_Group path="../../src/ILog/EPTF_CLL_ILog.grp" />
                </File_Groups>
            </File_Group>
            <File_Group name="TestPorts, PMs" >
                <File_Groups>
                    <File_Group path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4.grp" />
                    <File_Group name="IP_CNL113418" >
                        <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_EncDec.cc" />
                        <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_Types.ttcn" />
                    </File_Group>
                    <File_Group name="LANL2asp_CNL113519" >
                        <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PortType.ttcn" />
                        <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.cc" />
                        <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.hh" />
                        <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_Types.ttcn" />
                    </File_Group>
                    <File_Group name="GeneralTypes" >
                        <File path="../../../../ProtocolModules/COMMON/src/General_Types.ttcn" />
                    </File_Group>   
        	    <File_Group name="TELNETasp_CNL113320" >
	                <File path="../../../../TestPorts/TELNETasp_CNL113320/src/TELNETasp_PortType.ttcn" />
                	<File path="../../../../TestPorts/TELNETasp_CNL113320/src/TELNETasp_PT.cc" />
	                <File path="../../../../TestPorts/TELNETasp_CNL113320/src/TELNETasp_PT.hh" />
        	    </File_Group>		                     	               
                </File_Groups>
            </File_Group>
        </File_Groups>
    </File_Group>
</Project>
