telephonyserverplugins/simtsy/src/CSimPhoneFactory.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserverplugins/simtsy/src/CSimPhoneFactory.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/simtsy/src/CSimPhoneFactory.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,180 +1,180 @@
-// 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:
-// SIMPHONEFACTORY.CPP
-// Phone Factory Class for the Simulator TSY
-// This file contains the implementation for the CSimPhoneFactory Class.
-// 
-//
-
-/**
- @file
-*/
-
-#include "CSimPhoneFactory.h"
-#include "CSimPhone.h"
-#include "../inc/utils.h"
-
-extern "C"
-/**
-*	This function must be exported as the first ordinal from the DLL.
-*	The ETel Server will call this function to create a phone factory class,
-*	from which ultimately all other classes are derived.
-*/
-	{
-	IMPORT_C CPhoneFactoryBase* LibEntry(void);
-	}
-
-EXPORT_C CPhoneFactoryBase* LibEntry()
-/**
-*	Create a phone factory class.
-*/
-	{
-	return new CSimPhoneFactory;
-	}
-
-CSimPhoneFactory::CSimPhoneFactory()
-/**
-*	Return the DLL version number.
-*/
-	{
-	iVersion=TVersion(KEtelMajorVersionNumber,KEtelMinorVersionNumber,KEtelBuildVersionNumber);
-	}
-
-CSimPhoneFactory::~CSimPhoneFactory()
-	{}
-
-
-CPhoneBase* CSimPhoneFactory::NewPhoneL(const TDesC& aName)
-/**
-* Creates and returns a pointer to a new phone object.
-*
-* @param aName Name of the GSM phone ('GsmPhone')
-* @return CPhoneBase pointer to the new CSimPhone object, if the phone name is valid
-*         NULL otherwise 
-* @leave Leave This function may leave for many reasons
-*/
-	{
-	if (aName.CompareF(KPhoneName)!=0)
-		{
-		User::Leave(KErrNotFound);
-		}
-	CSimPhone* newPhone= CSimPhone::NewL(iPhoneBaseRef);
-	return newPhone;
-	}
-
-TInt CSimPhoneFactory::EnumeratePhones()
-/**
-* Returns the number of phones supported by the TSY. 
-*
-* @return TInt Number of phone supported.  Only 1 phone is supported.
-*/
-	{
-	return KNumberOfPhones;
-	}
-
-TInt CSimPhoneFactory::GetPhoneInfo(const TInt aIndex, RTelServer::TPhoneInfo& aInfo)
-/**
-* Retrieves phone information
-*
-* @param aIndex There is only one phone, so the valid index is zero.
-* @param aInfo Structure containing name of phone, number of lines and type of network
-* @return TInt An error code.
-*/
-	{
-	if(aIndex!=0)
-		return KErrNotFound;
-	aInfo.iName.Copy(KPhoneName);
-	aInfo.iNumberOfLines=KNumberOfLines;
-	aInfo.iNetworkType=RTelServer::ENetworkTypeMobileDigital;
-	aInfo.iExtensions=(TUint)0;		// Note that the Multimode ETel API extension number should be inserted here.
-	return KErrNone;
-	}
-
-TBool CSimPhoneFactory::IsSupported(const TInt aMixin)
-/**
-* Returns a boolean indicating the support of extended functionality.
-*
-* @param aMixin Limited subset of Muiltimode Etel API functionality
-* @return ETrue aMixin functionality is supported
-*		  EFalse aMixin functionality is not supported
-*/
-	{
-	switch (aMixin)
-		{
-	case KETelExtMultimodeV1:  // 3000 is unique reference for Multimode Etel v1.0 API
-	case KETelFuncMobileNetwork:
-	case KETelFuncMobilePower:
-	case KETelFuncMobileSignal:
-	case KETelFuncMobileIndicator:
-	case KETelFuncMobileDTMF:
-	case KETelFuncMobileDataCall:
-	case KETelFuncMobileEmergencyCall:
-	case KETelFuncMobileSmsMessaging:
-	case KETelFuncMobilePhonebook:
-	case KETelFuncMobileOwnNumberStore:
-	case KETelFuncMobileSmsStore:
-//	case KETelFuncMobileSmspStore:
-	case KETelExtPcktV1:	//Packet API
-	case KETelExtSatV1:
-	//security is not supported by alll modules of the tsy
-	case RMobileCall::KETelMobileDataCallParamsV1:
-	case RMobileCall::KETel3rdPartyCallParamsV1:
-		return ETrue;
-	case KETelExtMultimodeV2:
-	case KETelExtPcktV2:	//Packet API	
-	case KETelExtSatV2:	
- 	case KEtelFuncMobileMultimediaCallSettings:
-	case KEtelFuncMobileNetworkSecurity:
- 	case KEtelFuncMobileUSIMApplications:
- 		return CheckSupportAgainstVersion(2);
-	case KETelExtMultimodeV3:
-	case KETelExtPcktV3:	//Packet API	
- 		return CheckSupportAgainstVersion(3);	
-	case KETelExtMultimodeV4:
- 		return CheckSupportAgainstVersion(4);
-	case KEtelExtMultimodeV5:
- 		return CheckSupportAgainstVersion(5);	
-	case KEtelExtMultimodeV6:
- 		return CheckSupportAgainstVersion(6);
-	case KEtelExtMultimodeV9:
-	case KEtelFuncCellInfo:
-		return CheckSupportAgainstVersion(9);
-	default:
-		return EFalse;
-		}
-	}
-
-TBool CSimPhoneFactory::CheckSupportAgainstVersion(const TInt& aVersion)
-	{
-	TBool ret = EFalse;
-	
-	if(iPhoneBaseRef == NULL)
-		{
-		ret = ETrue;
-		}
-	else
-		{
-		CSimPhone* thePhone = static_cast<CSimPhone*>(iPhoneBaseRef);
-		if(thePhone->iSimTsyVersion >= aVersion)
-			{
-			ret = ETrue;
-			}
-		else
-			{
-			ret = EFalse;
-			}
-	}
-	
-	return ret;
-	}
+// 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:
+// SIMPHONEFACTORY.CPP
+// Phone Factory Class for the Simulator TSY
+// This file contains the implementation for the CSimPhoneFactory Class.
+// 
+//
+
+/**
+ @file
+*/
+
+#include "CSimPhoneFactory.h"
+#include "CSimPhone.h"
+#include "../inc/utils.h"
+
+extern "C"
+/**
+*	This function must be exported as the first ordinal from the DLL.
+*	The ETel Server will call this function to create a phone factory class,
+*	from which ultimately all other classes are derived.
+*/
+	{
+	IMPORT_C CPhoneFactoryBase* LibEntry(void);
+	}
+
+EXPORT_C CPhoneFactoryBase* LibEntry()
+/**
+*	Create a phone factory class.
+*/
+	{
+	return new CSimPhoneFactory;
+	}
+
+CSimPhoneFactory::CSimPhoneFactory()
+/**
+*	Return the DLL version number.
+*/
+	{
+	iVersion=TVersion(KEtelMajorVersionNumber,KEtelMinorVersionNumber,KEtelBuildVersionNumber);
+	}
+
+CSimPhoneFactory::~CSimPhoneFactory()
+	{}
+
+
+CPhoneBase* CSimPhoneFactory::NewPhoneL(const TDesC& aName)
+/**
+* Creates and returns a pointer to a new phone object.
+*
+* @param aName Name of the GSM phone ('GsmPhone')
+* @return CPhoneBase pointer to the new CSimPhone object, if the phone name is valid
+*         NULL otherwise 
+* @leave Leave This function may leave for many reasons
+*/
+	{
+	if (aName.CompareF(KPhoneName)!=0)
+		{
+		User::Leave(KErrNotFound);
+		}
+	CSimPhone* newPhone= CSimPhone::NewL(iPhoneBaseRef);
+	return newPhone;
+	}
+
+TInt CSimPhoneFactory::EnumeratePhones()
+/**
+* Returns the number of phones supported by the TSY. 
+*
+* @return TInt Number of phone supported.  Only 1 phone is supported.
+*/
+	{
+	return KNumberOfPhones;
+	}
+
+TInt CSimPhoneFactory::GetPhoneInfo(const TInt aIndex, RTelServer::TPhoneInfo& aInfo)
+/**
+* Retrieves phone information
+*
+* @param aIndex There is only one phone, so the valid index is zero.
+* @param aInfo Structure containing name of phone, number of lines and type of network
+* @return TInt An error code.
+*/
+	{
+	if(aIndex!=0)
+		return KErrNotFound;
+	aInfo.iName.Copy(KPhoneName);
+	aInfo.iNumberOfLines=KNumberOfLines;
+	aInfo.iNetworkType=RTelServer::ENetworkTypeMobileDigital;
+	aInfo.iExtensions=(TUint)0;		// Note that the Multimode ETel API extension number should be inserted here.
+	return KErrNone;
+	}
+
+TBool CSimPhoneFactory::IsSupported(const TInt aMixin)
+/**
+* Returns a boolean indicating the support of extended functionality.
+*
+* @param aMixin Limited subset of Muiltimode Etel API functionality
+* @return ETrue aMixin functionality is supported
+*		  EFalse aMixin functionality is not supported
+*/
+	{
+	switch (aMixin)
+		{
+	case KETelExtMultimodeV1:  // 3000 is unique reference for Multimode Etel v1.0 API
+	case KETelFuncMobileNetwork:
+	case KETelFuncMobilePower:
+	case KETelFuncMobileSignal:
+	case KETelFuncMobileIndicator:
+	case KETelFuncMobileDTMF:
+	case KETelFuncMobileDataCall:
+	case KETelFuncMobileEmergencyCall:
+	case KETelFuncMobileSmsMessaging:
+	case KETelFuncMobilePhonebook:
+	case KETelFuncMobileOwnNumberStore:
+	case KETelFuncMobileSmsStore:
+//	case KETelFuncMobileSmspStore:
+	case KETelExtPcktV1:	//Packet API
+	case KETelExtSatV1:
+	//security is not supported by alll modules of the tsy
+	case RMobileCall::KETelMobileDataCallParamsV1:
+	case RMobileCall::KETel3rdPartyCallParamsV1:
+		return ETrue;
+	case KETelExtMultimodeV2:
+	case KETelExtPcktV2:	//Packet API	
+	case KETelExtSatV2:	
+ 	case KEtelFuncMobileMultimediaCallSettings:
+	case KEtelFuncMobileNetworkSecurity:
+ 	case KEtelFuncMobileUSIMApplications:
+ 		return CheckSupportAgainstVersion(2);
+	case KETelExtMultimodeV3:
+	case KETelExtPcktV3:	//Packet API	
+ 		return CheckSupportAgainstVersion(3);	
+	case KETelExtMultimodeV4:
+ 		return CheckSupportAgainstVersion(4);
+	case KEtelExtMultimodeV5:
+ 		return CheckSupportAgainstVersion(5);	
+	case KEtelExtMultimodeV6:
+ 		return CheckSupportAgainstVersion(6);
+	case KEtelExtMultimodeV9:
+	case KEtelFuncCellInfo:
+		return CheckSupportAgainstVersion(9);
+	default:
+		return EFalse;
+		}
+	}
+
+TBool CSimPhoneFactory::CheckSupportAgainstVersion(const TInt& aVersion)
+	{
+	TBool ret = EFalse;
+	
+	if(iPhoneBaseRef == NULL)
+		{
+		ret = ETrue;
+		}
+	else
+		{
+		CSimPhone* thePhone = static_cast<CSimPhone*>(iPhoneBaseRef);
+		if(thePhone->iSimTsyVersion >= aVersion)
+			{
+			ret = ETrue;
+			}
+		else
+			{
+			ret = EFalse;
+			}
+	}
+	
+	return ret;
+	}