diff -r 000000000000 -r 3553901f7fa8 smsprotocols/smsstack/wapprot/Src/ws_main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/smsprotocols/smsstack/wapprot/Src/ws_main.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,127 @@ +// Copyright (c) 1997-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: +// + +#include "es_ver.h" +#include "es_prot.h" +#include "es_wsms.h" +#include "ws_main.h" +#include + +extern "C" +IMPORT_C CProtocolFamilyBase* InstallWAPSMS(void); + +// +// Constructor +// +CWapSmsProtocolFamily::CWapSmsProtocolFamily() + { + + __DECLARE_NAME(_S("CWapSmsProtocolFamily")); + } // CWapSmsProtocolFamily::CWapSmsProtocolFamily + + +// +// Factory +// +CWapSmsProtocolFamily * CWapSmsProtocolFamily::NewL() + { + LOGWAPPROT1("CWapSmsProtocolFamily::NewL()"); + + return new (ELeave)CWapSmsProtocolFamily; + } // CWapSmsProtocolFamily::NewL + + +// +// Nothing to be done +// +TInt CWapSmsProtocolFamily::Install() + { + LOGWAPPROT1("CWapSmsProtocolFamily::Install()"); + + return KErrNone; + } // CWapSmsProtocolFamily::Install + + +// +// Nothing to be done +// +TInt CWapSmsProtocolFamily::Remove() + { + LOGWAPPROT1("CWapSmsProtocolFamily::Remove()"); + + return KErrNone; + } // CWapSmsProtocolFamily::Remove + + +// +// Return a new CWapSmsProtocol +// +CProtocolBase * CWapSmsProtocolFamily::NewProtocolL(TUint aSockType,TUint /*aProtocol*/) + { + LOGWAPPROT1("CWapSmsProtocolFamily::NewProtocolL()"); + + if (aSockType!=KSockDatagram) + return NULL; + + return CWapSmsProtocol::NewL(); + } // CWapSmsProtocolFamily::NewProtocolL + + +// +// Create a description of the WapSms protocol +// +TUint CWapSmsProtocolFamily::ProtocolList(TServerProtocolDesc *& aProtocolList) + { + LOGWAPPROT1("CWapSmsProtocolFamily::ProtocolList()"); + + TRAPD(ret, (aProtocolList=new(ELeave) TServerProtocolDesc[1]) ); + if(ret!=KErrNone) + return 0; + + // Datagram protocol + aProtocolList[0].iName=KWAPSMSProtocolId; + aProtocolList[0].iAddrFamily=KWAPSMSAddrFamily; + aProtocolList[0].iSockType=KSockDatagram; + aProtocolList[0].iProtocol=KWAPSMSDatagramProtocol; + + aProtocolList[0].iVersion=TVersion(KWapSmsMajorVersionNumber,KWapSmsMinorVersionNumber,KWapSmsBuildVersionNumber); + aProtocolList[0].iByteOrder=ELittleEndian; + aProtocolList[0].iServiceInfo=KWAPSMSDatagramServiceInfo; + aProtocolList[0].iNamingServices=0; + aProtocolList[0].iSecurity=KSocketNoSecurity; + aProtocolList[0].iMessageSize=KWAPSMSMaxDatagramSize; + aProtocolList[0].iServiceTypeInfo=ESocketSupport; + aProtocolList[0].iNumSockets=KWAPSMSNumberSockets; + return 1; + } // CWapSmsProtocolFamily::ProtocolList + + +// +// Create a new protocol family +// +EXPORT_C CProtocolFamilyBase * InstallWAPSMS(void) + { + LOGWAPPROT4("InstallWAPSMS [version %d.%d.%d]", + KWapSmsMajorVersionNumber, + KWapSmsMinorVersionNumber, + KWapSmsBuildVersionNumber + ); + + CWapSmsProtocolFamily* wapProt=NULL; + TRAPD(ret, (wapProt=CWapSmsProtocolFamily::NewL()) ); + if (ret==KErrNone) + return wapProt; + return NULL; + } // CWapSmsProtocolFamily::ProtocolList