contentstorage/extsrc/cahandlerengine.cpp
changeset 61 8e5041d13c84
parent 60 f62f87b200ec
child 66 32469d7d46ff
--- a/contentstorage/extsrc/cahandlerengine.cpp	Fri Mar 19 09:35:23 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
- * Copyright (c) 2008 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:  ?Description
- *
- */
-
-#include "cahandlerengine.h"
-#include "cahandler.h"
-#include "cahandlerplugin.h"
-#include "cahandlerplugin.hrh"
-#include "cadef.h"
-#include "cainnerentry.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Cleanupstack support method, calls RImplInfoPtrArray::ResetAndDestroy()
-// of the passed argument (array).
-// ---------------------------------------------------------------------------
-//
-LOCAL_C void ResetAndDestroyArray( TAny* aArray )
-    {
-    ( (RImplInfoPtrArray* ) aArray )->ResetAndDestroy();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-EXPORT_C CCaHandlerEngine::~CCaHandlerEngine()
-    {
-    iHandlers.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-EXPORT_C CCaHandlerEngine* CCaHandlerEngine::NewL()
-    {
-    CCaHandlerEngine* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-EXPORT_C CCaHandlerEngine* CCaHandlerEngine::NewLC()
-    {
-    CCaHandlerEngine* self = new ( ELeave ) CCaHandlerEngine();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-void CCaHandlerEngine::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-CCaHandlerEngine::CCaHandlerEngine()
-    {
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-EXPORT_C void CCaHandlerEngine::HandleCommandL( CCaInnerEntry& aEntry,
-        const TDesC8& aCommand )
-    {
-    // Currently, we load handlers on demand and never unload them.
-    // As there aren't many types of items, this seems appropriate.
-    CCaHandler* handler = FindHandler( aEntry.GetEntryTypeName() );
-    if( !handler )
-        {
-        //TODO: need to change this
-        if( aEntry.GetEntryTypeName() == KCaTypeApp()
-                || aEntry.GetEntryTypeName() == KCaTypeWidget() )
-            {
-            handler = LoadHandlerL( KCaTypeApp() );
-            }
-        else
-            {
-            handler = LoadHandlerL( aEntry.GetEntryTypeName() );
-            }
-        }
-    if( handler )
-        {
-        handler->HandleCommandL( aEntry, aCommand );
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-CCaHandler* CCaHandlerEngine::FindHandler( const TDesC& aType )
-    {
-    for( TInt i = 0; i < iHandlers.Count(); i++ )
-        {
-        CCaHandler* handler = iHandlers[i];
-        if( handler->SupportsType( aType ) )
-            {
-            return handler;
-            }
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-CCaHandler* CCaHandlerEngine::LoadHandlerL( const TDesC& aType )
-    {
-    CCaHandlerPlugin* handler = NULL;
-    TBuf8<KCaMaxTypeLen> type;
-    type.Copy( aType );
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType( type );
-    RImplInfoPtrArray implInfoArray;
-    CleanupStack::PushL(
-            TCleanupItem( ResetAndDestroyArray, &implInfoArray ) );
-    REComSession::ListImplementationsL( TUid::Uid( HANDLER_IF_UID ),
-            resolverParams, implInfoArray );
-
-    __ASSERT_DEBUG( implInfoArray.Count() <= 1, User::Invariant() );
-
-    if( implInfoArray.Count() != 0 )
-        {
-        TUid implUid = implInfoArray[0]->ImplementationUid();
-        handler = CCaHandlerPlugin::NewL( implUid );
-        CleanupStack::PushL( handler );
-        // Here we check if this is the handler we need. Currently we only do
-        // a sanity check for the handler (it should support the registered
-        // types!), but later this can be extended with better support query.
-        // E.g. support for type AND command, etc.
-        if( handler->SupportsType( aType ) )
-            {
-            iHandlers.AppendL( handler );
-            CleanupStack::Pop( handler );
-            }
-        else
-            {
-            CleanupStack::PopAndDestroy( handler );
-            handler = NULL;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &implInfoArray );
-    return handler;
-    }