diff -r f5050f1da672 -r 04becd199f91 javaextensions/location/landmarks/inc/clapiaddressinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javaextensions/location/landmarks/inc/clapiaddressinfo.h Tue Apr 27 16:30:29 2010 +0300 @@ -0,0 +1,117 @@ +/* +* Copyright (c) 2008 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: Holds Location API address information + * +*/ + + +#ifndef CLAPIADDRESSINFO_H +#define CLAPIADDRESSINFO_H + +// EXTERNAL INCLUDES +#include + +/** + * Holds Location API address information + * + * Basically this class is a value and identifier holder which maps + * each value to a specific field index. The values can be obtained + * using these indexes + * + * Values can be null or non-null + * + * @lib N/A + * @since S60 3.2 + */ +NONSHARABLE_CLASS(CLAPIAddressInfo) : public CBase +{ +public: // Constructors and destructor + + /** + * Two-phased constructor. Creates an instance from this class + * The caller takes the ownership of the returned instance + * + * @return New instance from this class + */ + static CLAPIAddressInfo* NewL(); + + /** + * Two-phased constructor. Creates an instance from this class + * The caller takes the ownership of the returned instance which + * is left to the cleanup stack + * + * @return New instance from this class + */ + static CLAPIAddressInfo* NewLC(); + + /** + * Destructor. + */ + virtual ~CLAPIAddressInfo(); + +public: // New methods + + /** + * Returns the value count of this address information + * + * The count includes both, null and non-null elements + * + * @return The number of values in this address information object + */ + TInt ValueCount() const; + + /** + * Sets an address information value to a specific field id + * + * The existing value will be overwritten or a new value will + * be added if the field identifier does not exist + * + * @param aFieldId The identifier of the value + * @param aValue The value which maps to the identifier. The + * ownership of the value is NOT tranferred to this class + */ + void SetValueL(TInt aFieldId, const TDesC* aValue); + + /** + * Returns the value of the given field identifier + * + * A null value is returned if there is no value which maps + * to the given identifier. The ownership of the value is NOT + * transferred to the caller + * + * @param aFieldId The field id which value should be returned + * @return The value which maps to the given indentifier. Null + * is returned if there is no value which maps to the + * given identifier + */ + const TDesC* Value(TInt aFieldId) const; + +private: // Constructors + + /** + * Constructor + */ + CLAPIAddressInfo(); + +private: // Data + + // Values. Owned + RPointerArray< HBufC> iValues; + // Ids. Owned + RArray< TInt> iIds; + +}; + +#endif // CLAPIADDRESSINFO_H +// End of file