--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/networkcontroller/ts_common/EtelBehaviour.h Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,231 @@
+// Copyright (c) 2002-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:
+//
+
+#ifndef __ETELBEHAVIOUR_H__
+#define __ETELBEHAVIOUR_H__
+
+#include <e32base.h>
+#include "etel.h"
+#include "etelmm.h"
+#include "etelpckt.h"
+
+class CEtelBehaviourBase : public CBase
+ {
+public:
+ virtual ~CEtelBehaviourBase();
+
+ virtual TInt RTelServerLoadPhoneModule(const TDesC& aFileName) = 0;
+ virtual TInt RTelServerEnumeratePhones(TInt& aNoOfPhones) = 0;
+ virtual TInt RTelServerGetTsyName(const TInt aIndexOfPhone, TDes& aTsyName) = 0;
+ virtual TInt RTelServerGetPhoneInfo(const TInt aIndex, RTelServer::TPhoneInfo& aInfo) = 0;
+ virtual TInt RTelServerUnloadPhoneModule(const TDesC& aFileName) = 0;
+ virtual TInt RPhoneOpen(RTelServer& aSession,const TDesC& aName) = 0;
+ virtual void RPhoneCancelAsyncRequest(TInt aReqToCancel) = 0;
+ virtual TInt RPhoneGetCaps(RPhone::TCaps& aCaps) = 0;
+ virtual TInt RMobilePhoneGetCurrentMode(RMobilePhone::TMobilePhoneNetworkMode& aNetworkMode) = 0;
+ virtual TInt RMobilePhoneGetMultimodeCaps(TUint32& aCaps) = 0;
+ virtual void RMobilePhoneGetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) = 0;
+ virtual void RMobilePhoneNotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) = 0;
+ virtual TInt RPacketServiceOpen(RPhone& aPhone) = 0;
+ virtual void RPacketServiceCancelAsyncRequest(TInt aReqToCancel) = 0;
+ virtual TInt RPacketServiceGetStatus(RPacketService::TStatus& aPacketStatus) = 0;
+ virtual void RPacketServiceGetMSClass(TRequestStatus& aStatus, RPacketService::TMSClass& aCurrentClass, RPacketService::TMSClass& aMaxClass) = 0;
+ virtual void RPacketServiceGetNtwkRegStatus(TRequestStatus& aStatus, RPacketService::TRegistrationStatus& aRegistrationStatus) = 0;
+ virtual TInt RPacketServiceGetAttachMode(RPacketService::TAttachMode& aMode) = 0;
+
+protected:
+ CEtelBehaviourBase();
+ void CompleteCurrentRPhoneAsyncRequest(TInt aError);
+ void CompleteCurrentRPacketServiceAsyncRequest(TInt aError);
+
+protected:
+ TInt iCurrentRPhoneAsyncRequest;
+ TRequestStatus* iCurrentRPhoneRequestStatus;
+ TInt iCurrentRPacketServiceAsyncRequest;
+ TRequestStatus* iCurrentRPacketServiceRequestStatus;
+ };
+
+//
+// Utility classes for timing - borrowed from MTimer
+//
+class MTimerObserver
+ {
+public:
+ virtual void TimerComplete(TInt aStatus) = 0;
+ };
+
+class COneShotTimer : public CTimer
+ {
+public:
+ static COneShotTimer* NewL(MTimerObserver* aObserver);
+
+private:
+ COneShotTimer(MTimerObserver* aObserver);
+ void ConstructL();
+ virtual void RunL();
+
+private:
+ MTimerObserver *iObserver;
+ };
+
+class CEtelBehaviour : public CEtelBehaviourBase, public MTimerObserver
+ {
+public:
+ virtual ~CEtelBehaviour();
+ static CEtelBehaviour* NewL();
+
+ virtual TInt RTelServerLoadPhoneModule(const TDesC& aFileName);
+ virtual TInt RTelServerEnumeratePhones(TInt& aNoOfPhones);
+ virtual TInt RTelServerGetTsyName(const TInt aIndexOfPhone, TDes& aTsyName);
+ virtual TInt RTelServerGetPhoneInfo(const TInt aIndex,RTelServer::TPhoneInfo& aInfo);
+ virtual TInt RTelServerUnloadPhoneModule(const TDesC& aFileName);
+ virtual TInt RPhoneOpen(RTelServer& aSession,const TDesC& aName);
+ virtual void RPhoneCancelAsyncRequest(TInt aReqToCancel);
+ virtual TInt RPhoneGetCaps(RPhone::TCaps& aCaps);
+ virtual TInt RMobilePhoneGetCurrentMode(RMobilePhone::TMobilePhoneNetworkMode& aNetworkMode);
+ virtual void RMobilePhoneGetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar);
+ virtual void RMobilePhoneNotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar);
+ virtual TInt RMobilePhoneGetMultimodeCaps(TUint32& aCaps);
+ virtual TInt RPacketServiceOpen(RPhone& aPhone);
+ virtual void RPacketServiceCancelAsyncRequest(TInt aReqToCancel);
+ virtual TInt RPacketServiceGetStatus(RPacketService::TStatus& aPacketStatus);
+ virtual void RPacketServiceGetMSClass(TRequestStatus& aStatus, RPacketService::TMSClass& aCurrentClass, RPacketService::TMSClass& aMaxClass);
+ virtual void RPacketServiceGetNtwkRegStatus(TRequestStatus& aStatus, RPacketService::TRegistrationStatus& aRegistrationStatus);
+ virtual TInt RPacketServiceGetAttachMode(RPacketService::TAttachMode& aMode);
+
+ virtual void TimerComplete(TInt aStatus);
+
+protected:
+ CEtelBehaviour();
+ void ConstructL();
+
+private:
+ COneShotTimer* iTimer;
+ };
+
+//
+// ETEL behaviour for test case NC-4-9
+//
+class CTest0409Behaviour : public CEtelBehaviour
+ {
+public:
+ virtual ~CTest0409Behaviour();
+ static CTest0409Behaviour* NewL();
+
+ // override function from CEtelBehaviourBase
+ virtual TInt RTelServerLoadPhoneModule(const TDesC& aFileName);
+
+private:
+ CTest0409Behaviour();
+ void ConstructL();
+ };
+
+
+//
+// ETEL behaviour for test case NC-4-11
+//
+class CTest0411Behaviour : public CEtelBehaviour
+ {
+public:
+ virtual ~CTest0411Behaviour();
+ static CTest0411Behaviour* NewL();
+
+ // override function from CEtelBehaviourBase
+ virtual TInt RPhoneOpen(RTelServer& aSession,const TDesC& aName);
+ virtual TInt RTelServerGetTsyName(const TInt aIndexOfPhone, TDes& aTsyName);
+
+private:
+ CTest0411Behaviour();
+ void ConstructL();
+ };
+
+
+//
+// ETEL behaviour for test case NC-4-13
+//
+class CTest0413Behaviour : public CEtelBehaviour
+ {
+public:
+ virtual ~CTest0413Behaviour();
+ static CTest0413Behaviour* NewL();
+
+ // override function from CEtelBehaviourBase
+ virtual TInt RTelServerGetTsyName(const TInt aIndexOfPhone, TDes& aTsyName);
+ virtual TInt RPhoneGetCaps(RPhone::TCaps& aCaps);
+
+private:
+ CTest0413Behaviour();
+ void ConstructL();
+ };
+
+
+//
+// ETEL behaviour for test case NC-4-15
+//
+class CTest0415Behaviour : public CEtelBehaviour
+ {
+public:
+ virtual ~CTest0415Behaviour();
+ static CTest0415Behaviour* NewL();
+
+ // override function from CEtelBehaviourBase
+ virtual TInt RTelServerGetTsyName(const TInt aIndexOfPhone, TDes& aTsyName);
+ virtual TInt RPacketServiceOpen(RPhone& aPhone);
+
+private:
+ CTest0415Behaviour();
+ void ConstructL();
+ };
+
+
+//
+// ETEL behaviour for test case NC-4-17
+//
+class CTest0417Behaviour : public CEtelBehaviour
+ {
+public:
+ virtual ~CTest0417Behaviour();
+ static CTest0417Behaviour* NewL();
+
+ // override function from CEtelBehaviourBase
+ virtual TInt RTelServerGetTsyName(const TInt aIndexOfPhone, TDes& aTsyName);
+ virtual TInt RPacketServiceGetStatus(RPacketService::TStatus& aPacketStatus);
+
+private:
+ CTest0417Behaviour();
+ void ConstructL();
+ };
+
+
+//
+// ETEL behaviour for test case NC-4-20
+//
+class CTest0420Behaviour : public CEtelBehaviour
+ {
+public:
+ virtual ~CTest0420Behaviour();
+ static CTest0420Behaviour* NewL();
+
+ // override function from CEtelBehaviourBase
+ virtual TInt RTelServerGetTsyName(const TInt aIndexOfPhone, TDes& aTsyName);
+ virtual TInt RPacketServiceGetAttachMode(RPacketService::TAttachMode& aMode);
+
+private:
+ CTest0420Behaviour();
+ void ConstructL();
+ };
+
+#endif // __ETELBEHAVIOUR_H__
+