<!--Copyright (c) 2000-2017 Ericsson Telecom AB

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.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_perfTest</Project_Name>
        <Executable_Path>bin/EPTF_Transport_perfTest</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_Test.cfg</Config>
    </Configs>
    <Test_Cases>
        <Test_Case>EPTF_Transport_Test_perfTestcases.control</Test_Case>
    </Test_Cases>
    <Others>
        <Other>EPTF_Transport_perfTest.prj</Other>
    </Others>
    <File_Group name="MainFileGroup" >
        <File_Groups>
            <File_Group name="EPTF_Transport_perfTest" >
                <File path="EPTF_Transport_Test_Definitions.ttcn" />
                <File path="EPTF_Transport_Test_Functions.ttcn" />
                <File path="EPTF_Transport_Test_perfTestcases.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.grp" />
                    <File_Group path="../../src/DataSource/EPTF_CLL_DataSource_Dep.grp" />
                    <File_Group path="../../src/CommandLineInterface/EPTF_CLL_CLI.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="MIME_CNL113352" >
                	<File path="../../../../ProtocolModules/MIME_CNL113352/src/lex.MIME_parse_.c" />
                	<File path="../../../../ProtocolModules/MIME_CNL113352/src/MIME_EncDec.cc" />
                	<File path="../../../../ProtocolModules/MIME_CNL113352/src/MIME_parse.h" />
                	<File path="../../../../ProtocolModules/MIME_CNL113352/src/MIME_parse_.tab.c" />
                	<File path="../../../../ProtocolModules/MIME_CNL113352/src/MIME_parse_.tab.h" />
                	<File path="../../../../ProtocolModules/MIME_CNL113352/src/MIME_Types.ttcn" />						
                    </File_Group>
                    <File_Group name="GeneralTypes" >
                        <File path="../../../../ProtocolModules/COMMON/src/General_Types.ttcn" />
                    </File_Group>   
                    <File_Group name="SIPmsg_CNL113319" >
	                <File path="../../../../TestPorts/SIPmsg_CNL113319/src/lex.SIP_parse_.c" />
                	<File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse.h" />
        	        <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.c" />
	                <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.h" />
                	<File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PortType.ttcn" />
        	        <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.cc" />
	                <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.hh" />
        	        <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_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_Group name="SipApplib" >            
                <File_Groups>
                    <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/Transport/EPTF_SIP_Transport.grp" />		    
                    <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/LoadGen/EPTF_SIP_LoadGen.grp" />		    
                    <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/Logger/EPTF_SIP_Logger.grp" />		    
                </File_Groups>
            </File_Group>
        </File_Groups>
    </File_Group>
</Project>
