--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/simtsy/inc/CSimCallWaiting.h Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,88 @@
+// Copyright (c) 2001-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:
+// Contains definitions for classes that implement Call waiting functionality.
+//
+//
+
+/**
+ @file
+*/
+
+#ifndef CSIMCALLWaiting_H__
+#define CSIMCALLWaiting_H__
+
+#include <etelmm.h>
+#include <et_phone.h>
+#include <mmretrieve.h>
+#include "CSimSmsStore.h"//ugly but needed for listReadAllAttempt
+
+
+class CSimPhone;
+class CTestConfigSection;
+class CRetrieveMobilePhoneCWList;
+class CListReadAllAttempt;
+
+class CSimCallWaiting : public CBase
+/**
+ * Implements the RMobilePhone based functions that constitute the callWaiting orientated
+ * functionality provided by the SIM TSY.
+ */
+ {
+public:
+ static CSimCallWaiting* NewL(CSimPhone* aPhone);
+ CSimCallWaiting(CSimPhone* aPhone);
+ ~CSimCallWaiting();
+
+ TInt ExtFuncL(const TTsyReqHandle aReqHandle,const TInt aIpc, const TDataPackage& aPckg);
+ TInt CancelService(const TInt aIpc, const TTsyReqHandle aReqHandle);
+ TInt SetCallWaitingStatusL(const TTsyReqHandle aReqHandle, RMobilePhone::TMobileService* aServiceGroup, RMobilePhone::TMobilePhoneServiceAction* aAction);
+ TInt SetCallWaitingStatusCancel(const TTsyReqHandle aReqHandle);
+ TInt NotifyCallWaitingStatusChange(const TTsyReqHandle aReqHandle, RMobilePhone::TMobilePhoneCWInfoEntryV1* aCWStatus);
+ TInt NotifyCallWaitingStatusChangeCancel(const TTsyReqHandle aReqHandle);
+
+ TInt GetCallWaitingStatusPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneCWList::TGetCallWaitingRequest* aReqData,TInt* aBufSize);
+ TInt ProcessGetCallWaitingStatusPhase1L(const TTsyReqHandle aTsyReqHandle,CRetrieveMobilePhoneCWList::TGetCallWaitingRequest* aReqData,TInt* aBufSize);
+ TInt GetCallWaitingStatusPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+ TInt GetCallWaitingStatusCancel(const TTsyReqHandle aTsyReqHandle);
+
+ void UpdateCWListL(RMobilePhone::TMobileService* aServiceGroup, RMobilePhone::TMobilePhoneServiceAction* aAction);
+// void CBActivateAllOutgingL(TDesC* codeString);
+// void CBDeactivateAllOutgingL(TDesC* codeString);
+ void FindAndCreateCWListL();
+
+ const CTestConfigSection* CfgFile();
+
+private:
+ void ConstructL();
+
+
+private:
+ CSimPhone* iPhone; // < Pointer to the parent phone class.
+
+ struct TCWNotification
+ {
+ TBool iCWChangeInfoNotificationPending;
+ TTsyReqHandle iCWChangeInfoReqHandle;
+ RMobilePhone::TMobilePhoneCWInfoEntryV1* iCWInfo;
+ };
+
+ TCWNotification iCWNotification;
+
+
+ CArrayPtrFlat<CListReadAllAttempt>* iGetCWStatus;
+ CMobilePhoneCWList* iCWList; //The list for call waiting.
+
+ };
+
+#endif