applicationinterworkingfw/ServiceHandler/src/AiwServiceHandler.cpp
changeset 0 2f259fa3e83a
--- /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 <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