--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonemodel/inc/cpeparsersshandler.h Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,301 @@
+/*
+* Copyright (c) 2002-2007 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: This file contains the header file of the CPEParserSSHandler
+* object
+*
+*/
+
+
+
+#ifndef CPEPARSERSSHANDLER_H
+#define CPEPARSERSSHANDLER_H
+
+// INCLUDES
+#include <CPhoneGsmSsHandler.h>
+#include <pevirtualengine.h>
+#include <nwdefs.h>
+#include <MPsetRequestObs.h>
+
+// FORWARD DECLARATIONS
+class CPEMessageHandler;
+class CPsetContainer;
+class CPsetCallWaiting;
+class CPsetCallBarring;
+class CPsetCallDiverting;
+class CPsetCli;
+class CPsuiContainer;
+class CPsuiWaitingObs;
+class CPsuiBarringObs;
+class CPsuiDivertObs;
+class CPsuiCliObserver;
+
+// CLASS DECLARATION
+
+/**
+* Handles phone related messages from the MPEPhoneModelInternal object.
+*
+* @lib phoneenginegsm
+* @since Series60 4.0
+*/
+NONSHARABLE_CLASS( CPEParserSSHandler ) : public CPhoneGsmSsHandler,
+ public MPsetRequestObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CPEParserSSHandler* NewL
+ (
+ CPEMessageHandler& aOwner,
+ MPEPhoneModelInternal& aModel
+ );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CPEParserSSHandler();
+
+ public: // New functions
+
+ /**
+ * Returns RMobilePhone::TMobileService type of basic service code.
+ *
+ * @param aBasicCode It is basic service code.
+ * @return basic service code.
+ */
+ RMobilePhone::TMobileService BasicService( const TDesC& aBasicCode );
+
+ /**
+ * changes parameter to basic service code
+ */
+ TBasicServiceGroups ChangeToBsc( const TDesC& aBasicCode );
+
+ public: // Functions from base classes
+
+ /**
+ * Cancel SS string command. Method cancel command from Settings utility
+ * subsytem or security module.
+ *
+ * @return possible error code
+ */
+ TInt Cancel();
+
+ /**
+ * Process barring procedures(derived from CPESsHandler).
+ *
+ * See comments for forwarding, they apply also in here.
+ *
+ * @param aAction It is action.
+ * @param aBarring It contains barring procedure.
+ * @param aPassword It should be barring password, if required.
+ * @param aBasicCode It is basic service code.
+ */
+ void ProcessBarringL( TAction aAction,
+ TBarringProcedure aBarring,
+ const TDesC& aPassword,
+ const TDesC& aBasicCode );
+
+ /**
+ * Process calling line identification presentation status
+ * (derived from CPEGsmSsHandler).
+ */
+ void ProcessClipStatusL();
+
+ /**
+ * Process calling line idnetification restriction status
+ * (derived from CPEGsmSsHandler).
+ */
+ void ProcessClirStatusL();
+
+ /**
+ * Process Calling Name Presentation (CNAP) status check.
+ */
+ void ProcessCnapStatusL();
+
+ /**
+ * Process connected line presentation status(derived from CPEGsmSsHandler).
+ */
+ void ProcessColpStatusL();
+
+ /**
+ * Process connected line restriction status(derived from CPEGsmSsHandler).
+ */
+ void ProcessColrStatusL();
+
+ /**
+ * Process enhanced Multi-Level Precedence and Pre-emption (eMLPP).
+ *
+ * @param aAction It is action.
+ * @param aNumber It is directory number.
+ * @param aServiceCode It is service code.
+ */
+ void ProcessEmlppL( TAction aAction,
+ const TDesC& /*aNumber*/,
+ const TInt aServiceCode );
+
+ /**
+ * Process forwarding procedures(derived from CPEGsmSsHandler).
+ *
+ * If a parameter is not allowed for a procedure,
+ * then it is empty. If a parameter is not explicitly given,
+ * then it is empty. If a parameter is present, then it can
+ * be assumed to contain appropriate values.
+ *
+ * @param aAction It is action.
+ * @param aForwarding It contains forwarding procedure.
+ * @param aNumber It is directory number.
+ * @param aBasicCode It is basic service code.
+ * @param aTimer It is timer(delay time).
+ */
+ void ProcessForwardingL( TAction aAction,
+ TForwardingProcedure aForwarding,
+ const TDesC& aNumber,
+ const TDesC& aBasicCode,
+ const TDesC& aTimer );
+
+ /**
+ * Process Multiple Subscriber Profile (MSP).
+ *
+ * @param aAction It is action.
+ * @param aNumber It is directory number.
+ * @param aServiceCode It is service code.
+ */
+ void ProcessMspL( TAction aAction,
+ const TDesC& aNumber,
+ const TInt aServiceCode );
+
+ /**
+ * Process password change(derived from CPEGsmSsHandler).
+ *
+ * @param aPassword It is password procedure.
+ * @param aOldPassword It should be old password.
+ * @param aNewPassword1 It is new password.
+ * @param aNewPassword2 It is new password.
+ */
+ void ProcessPasswordChangeL( TPasswordProcedure aPassword,
+ const TDesC& aOldPassword,
+ const TDesC& aNewPassword1,
+ const TDesC& aNewPassword2 );
+
+ /**
+ * Process Support for Private Numbering Plan (SPNP).
+ *
+ * @param aAction It is action.
+ * @param aServiceCode It is service code.
+ */
+ void ProcessSpnpL( TAction aAction, const TInt aServiceCode );
+
+ /**
+ * Process waiting(derived from CPEGsmSsHandler).
+ *
+ * @param aAction It is action.
+ * @param aBasicCode It is basic service code.
+ */
+ void ProcessWaitingL( TAction aAction, const TDesC& aBasicCode );
+
+ /**
+ * From MPsetRequestObs, called when request is completed
+ * so that also ui browsing is ended
+ */
+ void RequestComplete();
+
+ /**
+ * From MPsetRequestObs, called when request state changes
+ * @param aNewStatus Request status, when request finishes
+ */
+ void RequestStatusChanged( TInt aNewStatus );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CPEParserSSHandler( CPEMessageHandler& aOwner,
+ MPEPhoneModelInternal& aModel);
+
+ /**
+ * Connects class to the phonesettings
+ */
+ void ConnectToSsEngineL();
+
+ /**
+ * Create call barring observer
+ */
+ void CPEParserSSHandler::CreateCBObsL();
+
+ /**
+ * Create call cli observer
+ */
+ void CPEParserSSHandler::CreateCliObsL();
+
+ /**
+ * Create call divert observer
+ */
+ void CPEParserSSHandler::CreateCFObsL();
+
+ /**
+ * Create call waiting observer
+ */
+ void CPEParserSSHandler::CreateCWObsL();
+
+ /**
+ * if ConnectSsToEngine leaves, this is called
+ */
+ static void DoClean( TAny* aAny );
+
+ /**
+ * deletes member variables
+ */
+ void ResetVariables();
+
+ /**
+ * Copies destructor. If does not fit, then leaves with
+ * KErrOverflow error code.
+ */
+ static void CopyL( TDes& aDest, const TDesC& aSource );
+
+ private:
+ // CPEGsmMessageHandler object which owns this requester.
+ CPEMessageHandler& iOwner;
+ //MPEPhoneModelInternal is used to send message to the phone application
+ MPEPhoneModelInternal& iModel;
+ // Contains information of the Suplementary Services command.
+ TPESSCommandInfo iSupplementaryServicesCommandInfo;
+ // Owned phone settings container.
+ CPsetContainer* iSettings;
+ // Owned phone settings ui container.
+ CPsuiContainer* iObsContainer;
+ // Owned call waiting.
+ CPsetCallWaiting* iWaiting;
+ // Owned waiting observer.
+ CPsuiWaitingObs* iCwObserver;
+ // Owned call barring.
+ CPsetCallBarring* iBarring;
+ // Owned call barring observer.
+ CPsuiBarringObs* iCbObserver;
+ // Owned call diverting.
+ CPsetCallDiverting* iDivert;
+ // Owned call diverting observer.
+ CPsuiDivertObs* iCfObserver;
+ // Owned calling line identity.
+ CPsetCli* iCli;
+ // Owned calling line identity observer.
+ CPsuiCliObserver* iCliObserver;
+
+ };
+
+#endif // CPEPARSERSSHANDLER_H
+
+// End of File