diff -r 000000000000 -r 2f259fa3e83a applicationinterworkingfw/ServiceHandler/src/AiwServiceHandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applicationinterworkingfw/ServiceHandler/src/AiwServiceHandler.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,257 @@ +/* +* 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 +#include +#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