supl/locationsuplfw/terminalinitiationapi/inc/epos_suplterminalinternal.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 10:20:18 +0300
branchRCL_3
changeset 19 02ba3f1733c6
permissions -rw-r--r--
Revision: 201030 Kit: 201033

/*
* Copyright (c) 2002-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:   SUPL Terminal Initiation internal class
*
*/

#ifndef __EPOS_SUPLTERMINALINTERNAL_H__
#define __EPOS_SUPLTERMINALINTERNAL_H__


#include <epos_suplterminal.h>

#include "epos_suplgeocellinfo.h"


// Forward declarations

/**
 * This class is used to make request to convert area information to geo-coordinates. 
 */
class RSuplTerminalInternal : public RSuplTerminalSubSession
	{
	
   
public:
    /**
     * Constructor for RSuplTerminalInternal
     *
     */
	IMPORT_C RSuplTerminalInternal(); 
	
	/**
     * This is an asynchronous request to SUPL Server to determine position 
     * information corresponding to given area information.
     * Client can have only one outstanding asynchronous request per sub-session.  
     * @param [OUT] aStatus to return result code 
     * @param[IN] aGeoCellInfo Cell information
     * @return aStatus will have 
     *         - KErrNone if request is completed sucessfully.  
     *         - KErrCancel if the request was successfully cancelled
     *         - KErrNotReady if SUPL server is not ready to determine position information, 
     *         			 client can retry after sometime.
     *         - KErrAlreadyExists if there is already an ongoing request on sub-session.
     *         - KErrServerTerminated if server got terminated due to some error
     *         - KErrNotSupported if function is called when Session is NOT Opened with SUPL_1_0 service
     *         - KErrGeneral for all other errors
     *
     */                    
    
    IMPORT_C void ConvertAreaInfoToCoordinates(
					TRequestStatus& aStatus, 
					TGeoCellInfo& aGeoCellInfo );
                    
    /**
     * Cancels an outstanding asynchronous conversion request issued via ConvertAreaInfoToCoordinates 
     *  Canceling requests is typically attempted when an client 
     * is closing down.
     *
     */
    IMPORT_C void CancelLocationConversion();
 
private:
    //Cell Information
	TGeoCellInfo iGeoCellInfo;
	
	//To check if conversion request has issued or not
	TBool iConversionRequestIssued;
	};

#endif // __EPOS_SUPLTERMINALINTERNAL_H__