diff -r 000000000000 -r 9cfd9a3ee49c networkprotocolmodules/networkprotocolmodule/LbsProtocolModule/inc/cassistdatamgr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networkprotocolmodules/networkprotocolmodule/LbsProtocolModule/inc/cassistdatamgr.h Tue Feb 02 01:50:39 2010 +0200 @@ -0,0 +1,138 @@ +// Copyright (c) 2006-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: +// This file defines the class that manages assistance data +// during active location requests. +// +// + +/** + @file + @internalComponent + @test +*/ + +#ifndef __CASSISTDATAMGR_H__ +#define __CASSISTDATAMGR_H__ + +#include +#include + +/** Assistance Data Manager class. + +This class manages assistance data requests and responses. It oversees the +process whereby the data that is requested by LBS is retrieved from the +network, or associated error responses are provided. + +Note: In this first implementation there is no provision for requesting +additional assistance data on behalf of LBS i.e. only the default data +set provided by the network is returned to LBS. Future enhancements could +introduce support for requesting additional data and handling any network +interactions relating to errors and cancellations. +*/ +NONSHARABLE_CLASS(CAssistDataMgr) : public CBase + { + +public: + + static CAssistDataMgr* NewL(); + ~CAssistDataMgr(); + + void Error(TInt aReason); + void StoreData(const RLbsAssistanceDataBuilderSet& aData); + TBool ProcessDataRequest(const TLbsAsistanceDataGroup& aDataRequestMask); + + const RLbsAssistanceDataBuilderSet& ValidData(); + const TLbsAsistanceDataGroup& RequestMask() const; + const TLbsAsistanceDataGroup& ValidGroupMask() const; + const TLbsAsistanceDataGroup& ErrorGroupMask() const; + const TLbsAsistanceDataGroup& RequestErrorMask() const; + + TBool IsDataToBeRequested() const; + TBool IsDataToBeReported() const; + TBool IsErrorToBeReported() const; + TBool IsRequestErrorToBeReported() const; + TInt ErrorReason() const; + + void SetDataNotReceived(); + void SendingRequest(); + void RequestSent(); + void DataReported(); + void ErrorReported(); + void RequestErrorReported(); + void ResetData(); + +private: + + CAssistDataMgr(); + void ConstructL(); + + +private: + + /** Requested data mask + This reflects the set of data requested by a client. + Additional data requests from LBS are added to this mask. + If an error is reported then the problematic items are + removed from the set i.e. they should not be re-requested. + */ + TLbsAsistanceDataGroup iDataRequestMask; + + /** Missing data mask + This shows the set of data requested by a client that is missing + from the received data. It is used when re-requesting data. + */ + TLbsAsistanceDataGroup iMissingDataMask; + + /** Erroneous data mask + This shows the set of data requested by a client that has been received + with errors identified. + */ + TLbsAsistanceDataGroup iErrorDataMask; + + /** Valid data mask + This shows the set of data requested by a client that has been received + without an error. + */ + TLbsAsistanceDataGroup iValidDataMask; + + /** Erroneous request data mask + This shows invalid parts of a request from a client. + */ + TLbsAsistanceDataGroup iRequestErrorMask; + + /** Valid assistance data storage + This is the stored set of valid assistance data. + */ + RLbsAssistanceDataBuilderSet iValidData; + + /** Assistance data response error. + This indicates any general assistance data error that was reported. + */ + TInt iDataResponseError; + + /** Indicates if an assistance data response is expected from network. + */ + TBool iExpectingResponse; + + /** Indicates if an assistance data response must be sent to LBS. + */ + TBool iIsResponseWaiting; + + /** Indicates if data response (or error) has been reported by network. + */ + TBool iIsDataReported; + + }; + +#endif // __CASSISTDATAMGR_H__