diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/multimodetsy/hayes/PHONE.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/multimodetsy/hayes/PHONE.H Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,113 @@ +// 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: +// + +/** + @file + @internalAll +*/ + +#ifndef __PHONE_H__ +#define __PHONE_H__ + +#include +#include "TSYCONFG.H" +#include "ATBASE.H" + +class CATIO; +class CATBase; +class CLineHayes; +class CLineMobileFax; +class CLineMobileData; +class CLineMobileVoice; +class CATInit; +class CLineHayes; +class CATQuickInit; +class CATErrorHandler; +class CATWaitForCall; +class CATCallConnectCommands; + +class CCallHayes; +class CPhoneHayes : public CPhoneBase +/** +@internalComponent +*/ + { +public: + static CPhoneHayes* NewL(); + ~CPhoneHayes(); +// + static void ClosePhone(TAny* aObj); + virtual CTelObject::TReqMode ReqModeL(const TInt aIpc); +// MTelObjectTSY pure virtual + virtual TInt RegisterNotification(const TInt aIpc); + virtual TInt DeregisterNotification(const TInt aIpc); + virtual void Init(); + virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName); + virtual CTelObject* OpenNewObjectL(TDes& aNewName); + virtual TInt CheckAndSetRegistrationParams(const TInt aIpc,const TDes8* aDes1,const TDes8* aDes2); + virtual const CArrayFixFlat* ArrayOfMemberDataSizes(const TInt aIpc) const; + +// MPhoneBaseTSY pure virtuals + virtual TInt GetInfo(const TTsyReqHandle aTsyReqHandle, RPhone::TPhoneInfo* aPhoneNotifyInfo); + virtual TInt NotifyCapsChange(const TTsyReqHandle aTsyReqHandle, RPhone::TCaps* aCaps); + virtual TInt NotifyCapsChangeCancel(const TTsyReqHandle aTsyReqHandle); + virtual TInt ControlledInitialisation(const TTsyReqHandle aTsyReqHandle); + virtual TInt ControlledInitialisationCancel(const TTsyReqHandle aTsyReqHandle); + virtual TInt NotifyModemDetected(const TTsyReqHandle aTsyReqHandle, RPhone::TModemDetection* aDetection); + virtual TInt NotifyModemDetectedCancel(const TTsyReqHandle aTsyReqHandle); + virtual TInt GetCaps(const TTsyReqHandle aTsyReqHandle,RPhone::TCaps* aCaps); + virtual TInt GetStatus(const TTsyReqHandle aTsyReqHandle,RPhone::TStatus* aStatus); + virtual TInt EnumerateLines(const TTsyReqHandle aTsyReqHandle,TInt*); + virtual TInt GetLineInfo(const TTsyReqHandle aTsyReqHandle,TLineInfoIndex* aLineInfo); + +// MSubSessionExtBaseTSY pure virtual + virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage); + +// other functions + void RemoveLine(CLineHayes* aLineHayes); + void StartWaitForRing(); + void SetCallRinging(TInt aLineIndex); + void SetAmbiguousDataFaxCallRinging(); + void StopRinging(); + void StopRingCounter() const; + void SetHookStatus(RCall::THookStatus aHookStatus); + TBool CheckForOutstandingAnswer() const; + void CancelOtherRingingCall(CLineHayes* aLine) const; + void FreePreAllocCallIfNecessary(CLineHayes* aLine, CCallHayes* aCall); + TInt MultimodeInitL(TBool aExplicit); + +protected: + void ConstructL(); // protected so that derived classes can call this + +private: + void Dummy(); + +protected: + CATIO* iIo; + CATInit* iInit; + CPhoneGlobals* iPhoneGlobals; +private: + CLineMobileData* iDataLine; + CLineMobileFax* iFaxLine; + CLineMobileVoice* iVoiceLine; + CATWaitForCall* iWaitForCall; + CATErrorHandler* iErrorHandler; + RPhone::TLineInfo iDefaultVoiceLineInfo; + RPhone::TLineInfo iDefaultDataLineInfo; + RPhone::TLineInfo iDefaultFaxLineInfo; + CArrayFixFlat* iSizeOfMemberData; + }; + +#endif