diff -r 000000000000 -r ff3b6d0fd310 convergedcallengine/cce/inc/ccceextension.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/convergedcallengine/cce/inc/ccceextension.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,112 @@ +/* +* Copyright (c) 2006 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: Handles extension commands +* +*/ + + +#ifndef CCCEEXTENSION_H +#define CCCEEXTENSION_H + +#include + +#include "mccpextensionobserver.h" +#include "mcceextensioninterface.h" + +class CCCEPluginManager; +class CCCECallContainer; +class MCCPExtensionProvider; +class MCCEExtensionObserver; +class CConvergedCallProvider; + +/** + * CCE Dtmf + * + * + * + * @lib cce.dll + * @since S60 v3.2 + */ +NONSHARABLE_CLASS(CCCEExtension): public CBase, + public MCCPExtensionObserver, + public MCCEExtensionInterface + { +public: + static CCCEExtension* NewL( CCCEPluginManager& aPluginManager ); + + + ~CCCEExtension(); + + /** + * Add observer to receive events + * @since S60 3.2 + * @param aObserver reference to observer + * @return none + */ + void AddObserverL( const MCCEExtensionObserver& aObserver ); + + /** + * Remove observer observer + * @since S60 3.2 + * @param aObserver reference to observer + * @return System wide error code + */ + TInt RemoveObserver( const MCCEExtensionObserver& aObserver ); + +public: + + // from base class MCCEExtensionInterface + + /** @see MCCEExtensionInterface::RequestCommand */ + TInt RequestCommand( TUint32 aServiceID, + TInt aRequestId, + TDesC8& aData ); + + /** @see MCCEExtensionInterface::CancelRequest */ + TInt CancelRequest( TUint32 aServiceID, + TInt aRequestId ); + + //from MCCPExtensionObserver + + /** @see MCCEExtensionObserver::HandleExtensionEvents */ + void HandleExtensionEvents( TUint32 aServiceId, + TInt aEvent, + TInt aStatus ); + +private: + + void ConstructL(); + + /** + * + */ + CCCEExtension( CCCEPluginManager& aPluginManager ); + + /** + * Get plug-in pointer that relates to service-id. + */ + CConvergedCallProvider* GetExtIfPlugin( TUint32 aServiceid ); + + /** + * Plug-in manager. + */ + CCCEPluginManager& iPluginManager; + + /** + * Extension observer + */ + MCCEExtensionObserver* iMCCEExtensionObserver; + }; + +#endif // CCCEEXTENSION_H \ No newline at end of file