telephonyserverplugins/multimodetsy/hayes/PHONEFAC.CPP
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/multimodetsy/hayes/PHONEFAC.CPP	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,110 @@
+// 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:
+// Phone Factory Class and DLL entry point
+// 
+//
+
+#include "PHONEFAC.H"
+#include "mSLOGGER.H"
+#include "mPHONE.H"
+
+_LIT(KPhoneName,"GsmPhone1");
+
+const TInt KNumberOfPhones=1;
+
+
+//
+// First Ordinal Functions
+//
+extern "C"
+	{
+	IMPORT_C CPhoneFactoryBase* LibEntry(void);	// Force "Proper Name" export
+	}
+
+EXPORT_C CPhoneFactoryBase* LibEntry()
+	{
+	return new CPhoneFactoryHayes;
+	}
+
+//
+// Hayes Phone Factory Functions
+//
+CPhoneFactoryHayes::CPhoneFactoryHayes()
+	{
+	iVersion=TVersion(KEtelMajorVersionNumber,KEtelMinorVersionNumber,KEtelBuildVersionNumber);
+	}
+
+CPhoneFactoryHayes::~CPhoneFactoryHayes()
+	{}
+
+CPhoneBase* CPhoneFactoryHayes::NewPhoneL(const TDesC& aName)
+//
+//	Return a new phone object
+//
+	{
+	if (aName.CompareF(KPhoneName)!=0)
+		{
+		User::Leave(KErrNotFound);
+		}
+	return CPhoneMobile::NewL();
+	}
+
+TInt CPhoneFactoryHayes::EnumeratePhones()
+//
+//	Core TSY only handles one phone
+//
+	{
+	return KNumberOfPhones;
+	}
+
+TInt CPhoneFactoryHayes::GetPhoneInfo(const TInt aIndex, RTelServer::TPhoneInfo& aInfo)
+//
+//	Return name of phone, number of lines and type of network
+//
+	{
+	if(aIndex!=0)
+		return KErrNotFound;
+	aInfo.iName.Copy(KPhoneName);
+	aInfo.iNumberOfLines=KNumberOfLines;
+	aInfo.iNetworkType=RTelServer::ENetworkTypeMobileDigital;
+	aInfo.iExtensions=(TUint)KETelExtMultimodeV1;
+	return KErrNone;
+	}
+
+TBool CPhoneFactoryHayes::IsSupported(const TInt aMixin)
+/** *  *
+ * This method returnes true or false on the question if a specifik kind of functionality excists.  
+ * @param aMixin contains information of manufacturer, model, revision and serialnumber. If the phone doesen't support some some of these, an empty string is returned. 
+ * @return error code. KErrNone */
+
+
+	{
+
+	switch (aMixin)
+		{
+	case KETelFuncMobileNetwork:
+	case KETelFuncMobileIdentity:
+	case KETelFuncMobilePower:
+	case KETelFuncMobileSignal:
+	case KETelFuncMobileDataCall:
+	case KETelFuncMobileSmsMessaging:
+	case KETelFuncMobilePhonebook:
+	case KETelFuncMobileSmsStore:
+	case KETelFuncMobileOwnNumberStore:
+		return ETrue;
+	default:
+		return EFalse;
+		}
+	}
+