locationmanager/ReverseGeocode/inc/internaladdressinfo.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 10:20:41 +0300
branchRCL_3
changeset 19 b73252188534
permissions -rw-r--r--
Revision: 201031 Kit: 201033

/*
* 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: Implementation class from the CAddressInfo abstract class.
*/

#ifndef INTERNALADDRESSINFO_H_
#define INTERNALADDRESSINFO_H_

#include "reversegeocode.h"
/*
 * Internal implementation class for theCAddressInfo abstract class.
 */
NONSHARABLE_CLASS( CInternalAddressInfo ) : public MAddressInfo
    {
    public:
    //from CAddressInfo class

	/**
	  * Gets the country name
	  * @return The country name
	  */
    virtual TDesC& GetCountryName();

	/**
	  * Gets the state name
	  * @return The state name
	  */	
    virtual TDesC& GetState();

	/**
	  * Gets the city name
	  * @return The city name
	  */	
    virtual TDesC& GetCity();

	/**
	  * Gets the district name
	  * @return The district name
	  */	
    virtual TDesC& GetDistrict();

	/**
	  * Gets the pincode
	  * @return The cpincode
	  */	
    virtual TDesC& GetPincode();

	/**
	  * Gets the Thoroughfare name
	  * @return The Thoroughfare name
	  */	
    virtual TDesC& GetThoroughfareName();

	/**
	  * Gets the ThoroughfareNumber
	  * @return The ThoroughfareNumber
	  */	
    virtual TDesC& GetThoroughfareNumber();
          
    protected:

	/**
	  * Performs the secondphase construction
	  */
    void ConstructL();

	/**
	  * Constructor
	  */    
    CInternalAddressInfo();

    public:
   

	/**
	  * Factory function to create the instance
	  * @return A pointer to the CInternalAddressInfo
	  */
    static CInternalAddressInfo* NewL();
    

	/**
	  * Destructor
	  */
    ~CInternalAddressInfo();
      
    // internal setter utilities to
    // set the different attributes of the address.

	/**
	  * Sets the country name
	  * @param aCountryName The country name
	  */		
    void SetCountryName( const TDesC& aCountryName );

	/**
	  * Sets the state name
	  * @param aStateName The state name
	  */		
    void SetState( const TDesC& aStateName );

	/**
	  * Sets the City name
	  * @param aCityName The City name
	  */		
    void SetCity( const TDesC& aCityName );

	/**
	  * Sets the District name
	  * @param aDistrictName The District name
	  */		
    void SetDistrict( const TDesC& aDistrictName );

	/**
	  * Sets the Pincode 
	  * @param aPincode The Pincode\
	  */		
    void SetPincode( const TDesC& aPincode );

	/**
	  * Sets the Thoroughfare name
	  * @param aTFName The Thoroughfare name
	  */		
    void SetThoroughfareName( const TDesC& aTFName );
	/**
	  * Sets the ThoroughfareNumber
	  * @param  aTFNumber The ThoroughfareNumber
	  */		
    void SetThoroughfareNumber( const TDesC& aTFNumber );

	/**
	  * Resets the address info
	  */		
    void ResetAddressInfoL();
          
    private:
    HBufC* iCountryName;
    HBufC* iState;
    HBufC* iCity;
    HBufC* iDistrict;
    HBufC* iPin;
    HBufC* iTFName;
    HBufC* iTFNumber;
    };
#endif /* INTERNALADDRESSINFO_H_ */

// End of file