diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/multimodetsy/hayes/PHONEFAC.CPP --- /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; + } + } +