// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
// Hosts the service-providing protocol modules and network interfaces
// esocksvr.dll Esock Server dll
// 
//

/**
 @file
*/

TARGET          esocksvr.dll
TARGETTYPE      DLL

// speed optimisations 
#ifdef MARM_ARMV5
 OPTION ARMCC -O3 -Otime
#endif

// UID: CommsServerModuleDll   EsockSvr
UID             0x101f7417 0x101F7482
VENDORID 0x70000001


SOURCEPATH      ../ssock

SOURCE          es_enum.cpp
SOURCE          ss_api_ext.cpp
SOURCE          ss_apiext_messages.cpp
SOURCE          ss_apiext_register.cpp
SOURCE          ss_datamon_apiext.cpp
SOURCE          ss_mobility_apiext.cpp
SOURCE          ss_platsec_apiext.cpp
SOURCE          ss_commsprov.cpp
SOURCE          ss_conn.cpp
SOURCE          ss_connstates.cpp
SOURCE          ss_connectionserver.cpp
SOURCE          ss_connectionsession.cpp
SOURCE          ss_connLegacy.cpp
SOURCE          ss_connprov.cpp
SOURCE          ss_connselect.cpp
SOURCE          ss_connsettings.cpp
SOURCE          ss_DataMonitoringProvider.cpp
SOURCE          ss_datatransfer.cpp
SOURCE          SS_EXTN.CPP
SOURCE          ss_fact.cpp
SOURCE          ss_factorycontainermap.cpp
SOURCE          ss_flowbinders.cpp
SOURCE          ss_flowrequest.cpp
SOURCE          ss_flowrequeststates.cpp
SOURCE          SS_GLOB.CPP
SOURCE          ss_intsock.cpp
SOURCE		ss_nodemessages_legacy.cpp
SOURCE          ss_legacyinterfaces.cpp
SOURCE          ss_log.cpp
SOURCE          SS_MAIN.CPP
SOURCE          SS_MAN.CPP
SOURCE          ss_mbufif.cpp
SOURCE          ss_mcprnodemessages.cpp
SOURCE          ss_metaconnprov.cpp
SOURCE          ss_mmcommsprov.cpp
SOURCE          ss_mmnode.cpp
SOURCE          ss_mmnode_subsess.cpp
SOURCE          ss_nodeinterfaces.cpp
SOURCE          ss_nodemessages.cpp
SOURCE          ss_commsdataobject.cpp
SOURCE		ss_parameterfamilybundle.cpp
SOURCE          SS_PROT.CPP 
SOURCE          ss_prot2.cpp 
SOURCE          ss_protcfgldr.cpp
SOURCE          ss_protprov.cpp 
SOURCE          ss_roles.cpp
SOURCE          SS_RSLV.CPP
SOURCE          ss_sap.cpp
SOURCE          ss_sapfactshim.cpp
SOURCE          ss_sapshim.cpp
SOURCE          ss_secpol.cpp
SOURCE          SS_SES.CPP
SOURCE          SS_SOCK.CPP
SOURCE          ss_subconn.cpp
SOURCE          ss_subconnflow.cpp
SOURCE          ss_subconnprov.cpp
SOURCE          ss_subconnstates.cpp
SOURCE          SS_SVR.CPP
SOURCE          ss_thread.cpp
SOURCE          ss_tiermanager.cpp
SOURCE          ss_tiermanagerutils.cpp
SOURCE          SS_TIMER.CPP
SOURCE          ss_transporthook.cpp
SOURCE          SS_UTL.CPP
SOURCE          ss_protocolparameterset.cpp
SOURCE          ss_cmetaextensioncontainer.cpp
SOURCE          ss_rmetaextensioncontainer.cpp  


SOURCEPATH      ../core_states
SOURCE          ss_esockactivities.cpp
SOURCE          ss_esockstates.cpp
SOURCE          ss_corepractivities.cpp
SOURCE          ss_coreprstates.cpp

SOURCEPATH      ../eintsock

SOURCE			ss_eintsock.cpp 
SOURCE			ss_eintsockimpl.cpp
SOURCE			ss_eintutil.cpp 
SOURCE			ss_eintsocklog.cpp
SOURCE			ss_eintsock_msgs.cpp

USERINCLUDE		../csock

USERINCLUDE		../ssock
USERINCLUDE		../inc

USERINCLUDE		../eintsock

OS_LAYER_SYSTEMINCLUDE_SYMBIAN

LIBRARY        euser.lib esock.lib mbufmgr.lib efsrv.lib commdb.lib ecom.lib
LIBRARY        commsfw.lib netmeta.lib responsemsg.lib netsm.lib commsdat.lib
LIBRARY        netinterfaces.lib esock_api_ext.lib
LIBRARY        commsdataobjects.lib
LIBRARY        nodemessages.lib
LIBRARY        meshmachine.lib
LIBRARY        virtualconstructors.lib
LIBRARY        factories.lib
LIBRARY        serverden.lib
#ifdef SYMBIAN_ZERO_COPY_NETWORKING
LIBRARY		   commsbufs.lib
#endif 

deffile			esocksvr.DEF

//MI support
#include <elements/sd_mintercept.mmh>

#include <comms-infras/commsdebugutility.mmh>
#include <cflog.mmh>

CAPABILITY All -Tcb

// Define this to avoid getting a breakpoint from memory leaks, etc.
//MACRO ESOCKV3_TEMPORARY_PAIN_RELIEF

/**
Define SYMBIAN_ENABLE_NETWORKING_PERFMETRICS to enable the slow, low-volume logging of performance data. 
Need to recompile COMMSFW + individual client projects
*/
//MACRO SYMBIAN_ENABLE_NETWORKING_PERFMETRICS

/**
UNDER NO CIRCUMSTANCES SHOULD THIS BE USED IN A PRODUCTION DEVICE - THE IMPLEMENTATION IS UNFINISHED & UNTESTED!

Define ESOCK_GULP to enable experimental performance optimisation whereby tcp stack is drained of new data
irrespective of an outstanding blocking client read request.  Note - implementation not finished; fails for;
 a) urgent data - verified
 b) data peeking - unverified (but very likely)
*/
//MACRO ESOCK_GULP

MACRO AVAILABILITY_READY

UNPAGED


SMPSAFE
