telephonyserverplugins/multimodetsy/hayes/PHONE.H
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /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 <et_phone.h>
+#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<TInt>* 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<TInt>* iSizeOfMemberData;
+	};
+
+#endif