locationmgmt/networkgateway/src/netobserver.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 01:50:39 +0200
changeset 0 9cfd9a3ee49c
permissions -rw-r--r--
Revision: 201002 Kit: 201005

// Copyright (c) 2008-2009 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:
// Contains implementation to CNetObserver class that 'observes' protocol messages from
// a location protocol module.
// 
//

#include "netgateway.h"
#include "netobserver.h"

// constructor

CNetObserver::CNetObserver(CNetworkGateway* aParent, TLbsProtocolModuleId aModuleId)
	{
	iParentToCall = aParent;
	iModuleUId = aModuleId;
	}

void CNetObserver::GetCurrentCapabilities(TLbsNetPosCapabilities& aCapabilities) const
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->GetCurrentCapabilities(aCapabilities);
	}

void CNetObserver::ProcessStatusUpdate(TLbsNetProtocolServiceMask aActiveServiceMask)
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->ProcessStatusUpdate(aActiveServiceMask);
	}

void CNetObserver::ProcessPrivacyRequest(const TLbsNetSessionId& aSessionId,
										    TBool aEmergency, 
										    const TLbsNetPosRequestPrivacy& aPrivacy,
										    const TLbsExternalRequestInfo& aRequestInfo)
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->ProcessPrivacyRequest(aSessionId, aEmergency, aPrivacy, aRequestInfo);
	}

void CNetObserver::ProcessLocationRequest(const TLbsNetSessionId& aSessionId,
											 TBool aEmergency,
											 TLbsNetProtocolService aService, 
											 const TLbsNetPosRequestQuality& aQuality,
											 const TLbsNetPosRequestMethod& aMethod)
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->ProcessLocationRequest(aSessionId, aEmergency, aService, aQuality, aMethod);
	}

void CNetObserver::ProcessSessionComplete(const TLbsNetSessionId& aSessionId,
											 TInt  aReason)
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->ProcessSessionComplete(aSessionId, aReason);
	}

void CNetObserver::ProcessAssistanceData(TLbsAsistanceDataGroup aDataMask,
										 const RLbsAssistanceDataBuilderSet& aData,
						   				 TInt aReason)
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->ProcessAssistanceData(aDataMask, aData, aReason);
	}


void CNetObserver::ProcessAssistanceData(TLbsAsistanceDataGroup aDataMask,
								const RLbsAssistanceDataBuilderSet& aData,
								TInt aReason,
								const TLbsNetSessionIdArray& aSessionIdArray)
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->ProcessAssistanceData(aDataMask, aData, aReason, aSessionIdArray);
	}



void CNetObserver::ProcessLocationUpdate(const TLbsNetSessionId& aSessionId,
											 const TPositionInfoBase& aPosInfo)
	{
	// Simply record from which PM this was received and call the parent equivalent of this function
	iParentToCall->SetReceivingProtocolModule(iModuleUId);
	iParentToCall->ProcessLocationUpdate(aSessionId, aPosInfo);
	}