phoneclientserver/phoneserver/Inc/Ussd/CUssdExtensionInterface.h
branchRCL_3
changeset 19 7d48bed6ce0c
parent 18 594d59766373
child 20 987c9837762f
--- 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<ecom\ecom.h>
-#include<etelmm.h>
-#include<ussdinterfaceconstants.hrh>
-// 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__