diff -r 594d59766373 -r 7d48bed6ce0c phoneclientserver/phoneserver/Inc/Ussd/CUssdExtensionInterface.h --- a/phoneclientserver/phoneserver/Inc/Ussd/CUssdExtensionInterface.h Thu Aug 19 10:28:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +0,0 @@ -/* - * Copyright (c) 2002-2005 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: Extends the ussd functionality. - * - */ -#ifndef __CUSSDEXTENSIONINTERFACE_H__ -#define __CUSSDEXTENSIONINTERFACE_H__ - -// INCLUDES - -#include -#include -#include -// FORWARD DECLARATIONS - -// CONSTANTS -const TUid KUssdExtensionInterfaceUid = - { - KUssdExtensionInterfaceUidValue - }; - -// CLASS DECLARATION - -/** - * Base class for Ussd Extension Plugin. - * - * This API allows customizing the USSD sending feature of the S60 Telephony - * applications at runtime. - * - * The API defines two roles: - * 1) Validates the USSD string while sending. if it is unauthorized - * in the context shall terminate the request. - * 2) Validates the USSD string while receiving, the extension will get the first chance to consume the reply if needed - * - * - * Note: - * The customizer needs only one plug-in implementation for a variant, and so supports only rom-only plug-in. - */ -class CUssdExtensionInterface : public CBase - { -public: - // Constructors and destructor - /** - * NewL - * Wraps ECom object instantitation. Will return the - * default interface implementation, which matches to - * given aOperationName. - */ - static CUssdExtensionInterface* NewL(); - - /** - * NewL - * Wraps ECom object instantitation. Will search for - * interface implementation, which matches to given - * aOperationName. - * @param aOperationName name of requested implementation. - * Implementations advertise their "name" as specified - * in their resource file field - * IMPLEMENTATION_INFO::default_data. - */ - static CUssdExtensionInterface* NewL(const TDesC8& aMatch); - -public: - // API to be implemented by ECOM plug-in - - /** - * Validate/Authenticate the Ussd string Before Sending from - * the USSD Send handler - * When Ussd Extention plugin return true, then ussd manager will continue sending of the ussd - * Otherwise the transaction will be terminated with KErrAccessDenined - * - * @param aMessageData - * @param aMessageAttributes . - */ - virtual TBool - ValidateUssdMsgSending( - const TDesC8& aMessageData, - const RMobileUssdMessaging::TMobileUssdAttributesV1& aMsgAttribute) = 0; - /** - * Validate/Authenticate the Ussd response received by the - * USSD receive handler - * - * @param aMessageData - * @return true implies that the ussd response is valid for the extension. - * otherwise pass it to the observer. . - */ - virtual TBool ValidateUssdResponse(const TDesC8& aMessage) = 0; - /** - * if ValidateUssdResponse returns true, then the extension plugin is waiting for the response - * so invoke the interface to deligate to the plugin. - * Example: - * ... - * TBool isValidForExtension = iUssdExtnInterface->ValidateUssdResponse(aMsgData); - * TInt errfromextension = KErrNone; - * if (isValidForExtension) - * { - * TRAPD(err, iUssdExtnInterface->ProcessReceivedUssdL(iDecodedMessage, errfromextension)); - * ... - * - * @param aMessageData - * @return error code - * @leave On typical leave level problems. - */ - virtual void - ProcessReceivedUssdL(const TDesC& aMessageData, TInt aError) = 0; - - /** - * Notify the any network error to the extension, so that it can handle the internal states if required - * @param aError - */ - virtual void NotifyNWError(TInt aError)=0; - -public: - /** - * ~CUssdExtensionInterface - * - * Cleans up resources, specifically notify ECOM server that this - * instance is being deleted. - */ - virtual ~CUssdExtensionInterface(); - -private: - TUid iDtor_ID_Key; // Identification on cleanup - }; -#include "CUssdExtensionInterface.inl" -#endif // __CUSSDEXTENSIONINTERFACE_H__