applicationinterworkingfw/ServiceHandler/src/AiwServiceHandler.cpp
author William Roberts <williamr@symbian.org>
Tue, 01 Jun 2010 15:52:55 +0100
branchRCL_3
changeset 27 d304fad47bf4
parent 0 2f259fa3e83a
permissions -rw-r--r--
Conditionally compile out the use of CAlfEffectObserver, to workaround Bug 2846

/*
* Copyright (c) 2003-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:     Implements API for consumer application to access Application
*                Interworking Framework. 
*
*/




#include <eikenv.h>
#include <aiwservicehandler.rsg>
#include "AiwMenuBinding.h"
#include "AiwServiceHandler.h"
#include "AiwServiceHandlerImpl.h"
#include "AiwMenu.h"
#include "AiwUids.hrh"
#include "AiwCommon.hrh"
#include "AiwTlsData.h"

//
// AiwServiceHandler
//

EXPORT_C CAiwServiceHandler* CAiwServiceHandler::NewL()
    {
    CAiwServiceHandler* handler = new (ELeave) CAiwServiceHandler();
    CleanupStack::PushL( handler );
    handler->ConstructL();
    CleanupStack::Pop(); // handler
    return handler;
    }


EXPORT_C CAiwServiceHandler* CAiwServiceHandler::NewLC()
    {
    CAiwServiceHandler* handler = new (ELeave) CAiwServiceHandler();
    CleanupStack::PushL( handler );
    handler->ConstructL();
    return handler;     
    }


CAiwServiceHandler::CAiwServiceHandler()
    {
    // Nothing to do here.
    }


void CAiwServiceHandler::ConstructL()
    {
    iImpl = CAiwServiceHandlerImpl::NewL();
    }


EXPORT_C CAiwServiceHandler::~CAiwServiceHandler()
    {
    delete iImpl;
    }


EXPORT_C void CAiwServiceHandler::Reset()
    {
    iImpl->Reset();
    }


EXPORT_C TInt CAiwServiceHandler::NbrOfProviders(const CAiwCriteriaItem* aCriteria)
    {
    return iImpl->NbrOfProviders(aCriteria);
    }


EXPORT_C void CAiwServiceHandler::AttachL(TInt aInterestResourceId)
    {
    iImpl->AttachL(aInterestResourceId);
    }


EXPORT_C void CAiwServiceHandler::AttachL(const RCriteriaArray& aInterest)
    {
    iImpl->AttachL(aInterest);
    }


EXPORT_C void CAiwServiceHandler::GetInterest(RCriteriaArray& aInterest)
    {
    iImpl->GetInterest(aInterest);
    }
    
    
EXPORT_C void CAiwServiceHandler::DetachL(const RCriteriaArray& aInterest)
    {
    iImpl->DetachL(aInterest);
    }


EXPORT_C void CAiwServiceHandler::DetachL(TInt aInterestResourceId)
    {
    iImpl->DetachL(aInterestResourceId);
    }


EXPORT_C const CAiwCriteriaItem* CAiwServiceHandler::GetCriteria(TInt aId)
    {
    return iImpl->GetCriteria(aId);
    }


EXPORT_C void CAiwServiceHandler::InitializeMenuPaneL(
    CEikMenuPane& aMenuPane,
    TInt aMenuResourceId,
    TInt aBaseMenuCmdId,
    const CAiwGenericParamList& aInParamList)
    {
    iImpl->InitializeMenuPaneL(aMenuPane, 
        aMenuResourceId, 
        aBaseMenuCmdId, 
        aInParamList);   
    }

    
EXPORT_C void CAiwServiceHandler::InitializeMenuPaneL(
    CEikMenuPane& aMenuPane,
    TInt aMenuResourceId,
    TInt aBaseMenuCmdId,
    const CAiwGenericParamList& aInParamList,
    TBool aUseSubmenuTextsIfAvailable)
    {
    iImpl->InitializeMenuPaneL(aMenuPane, 
        aMenuResourceId, 
        aBaseMenuCmdId, 
        aInParamList, 
        aUseSubmenuTextsIfAvailable);
    }    


EXPORT_C void CAiwServiceHandler::InitializeMenuPaneL(
    CEikMenuPane& aMenuPane,
    TInt aMenuResourceId,
    TInt aBaseMenuCmdId,
    const CAiwGenericParamList& aInParamList,
    TBool aUseSubmenuTextsIfAvailable,
    TBool aSetAsItemSpecific )
    {
    iImpl->InitializeMenuPaneL(aMenuPane, 
        aMenuResourceId, 
        aBaseMenuCmdId, 
        aInParamList, 
        aUseSubmenuTextsIfAvailable,
        aSetAsItemSpecific);
    }    

    
EXPORT_C TInt CAiwServiceHandler::ServiceCmdByMenuCmd(TInt aMenuCmdId) const
    {
    return iImpl->ServiceCmdByMenuCmd(aMenuCmdId);
    }


EXPORT_C void CAiwServiceHandler::ExecuteMenuCmdL(
    TInt aMenuCmdId,
    const CAiwGenericParamList& aInParamList,
    CAiwGenericParamList& aOutParamList,
    TUint aCmdOptions,
    MAiwNotifyCallback* aCallback)
    {
    iImpl->ExecuteMenuCmdL(aMenuCmdId, aInParamList, aOutParamList, aCmdOptions, aCallback);
    }


EXPORT_C void CAiwServiceHandler::AttachMenuL(TInt aMenuResourceId, TInt aInterestResourceId)
    {
    iImpl->AttachMenuL(aMenuResourceId, aInterestResourceId);
    }


EXPORT_C void CAiwServiceHandler::AttachMenuL(TInt aMenuResourceId, TResourceReader& aReader)
    {
    iImpl->AttachMenuL(aMenuResourceId, aReader);
    }


EXPORT_C void CAiwServiceHandler::AttachMenuL(TInt aMenuResourceId, const RCriteriaArray& aInterest)
    {
    iImpl->AttachMenuL(aMenuResourceId, aInterest);
    }    


EXPORT_C void CAiwServiceHandler::DetachMenu(TInt aMenuResourceId, TInt aInterestResourceId)
    {
    iImpl->DetachMenu(aMenuResourceId, aInterestResourceId);
    }


EXPORT_C TBool CAiwServiceHandler::IsSubMenuEmpty(TInt aSubMenuId)
    {
    return iImpl->IsSubMenuEmpty(aSubMenuId);
    }


EXPORT_C void CAiwServiceHandler::ExecuteServiceCmdL(
    const TInt& aCmdId,
    const CAiwGenericParamList& aInParamList,
    CAiwGenericParamList& aOutParamList,
    TUint aCmdOptions,
    MAiwNotifyCallback* aCallback)
    {
    iImpl->ExecuteServiceCmdL(aCmdId, aInParamList, aOutParamList, aCmdOptions, aCallback);
    }


EXPORT_C CAiwGenericParamList& CAiwServiceHandler::InParamListL()
    {
    return iImpl->InParamListL();
    }


EXPORT_C CAiwGenericParamList& CAiwServiceHandler::OutParamListL()
    {
    return iImpl->OutParamListL();
    }


EXPORT_C TBool CAiwServiceHandler::IsAiwMenu(TInt aMenuResourceId)
    {
    return iImpl->IsAiwMenu(aMenuResourceId);
    }


EXPORT_C TBool CAiwServiceHandler::HandleSubmenuL(CEikMenuPane& aPane)
    {
    return iImpl->HandleSubmenuL(aPane);
    }


EXPORT_C void CAiwServiceHandler::ReportMenuLaunch()
    {
    CAiwTlsData* data = CAiwTlsData::Instance();
    if(data)
        {
        data->ReportMenuLaunch();
        }
    }

// End of file