class CPosLandmark : public CBase |
This is a container class for a landmark.
A landmark is principally a location with a name.
The landmark object can either be created by a client or retrieved from CPosLandmarkDatabase .
A landmark consists of a number of landmark attributes, e.g. landmark name, landmark position, coverage area, etc.
A landmark may also contain generic position fields. These position fields are defined in LbsFieldIds.h. Only text fields are supported.If the client wants to store a non-text field, the value must first be converted to a textual representation. EPositionPlaceId position field added in extension of TPositionFieldId to support Place id EPositionTimeStamp position field added in extension of TPositionFieldId to support TimeStamp
CPosLandmark contains functions for setting and getting landmark attributes and position fields.
Note: CPosLandmark is only a local representation of the landmark. To update the database, call CPosLandmarkDatabase::UpdateLandmarkL (or CPosLandmarkDatabase::AddLandmarkL for a new landmark).
Private Member Functions | |
---|---|
CPosLandmark () | |
CPosLandmark (const CPosLandmark &) | |
void | ConstructL () |
void | ConstructL (const CPosLandmark &) |
CPosLandmark & | operator= (const CPosLandmark &) |
Public Member Enumerations | |
---|---|
enum |
_TAttributes
{
ENoAttribute = 0x0000, ELandmarkName = 0x0001, EPosition = 0x0002, ECoverageRadius = 0x0004, ECategoryInfo = 0x0008, EIcon = 0x0010, EDescription = 0x0020, EPlaceId = 0x0040, ETimeStamp = 0x0080, EAllAttributes = 0xFFFF } |
Public Member Type Definitions | |
---|---|
typedef | TUint32 TAttributes |
CPosLandmark | ( | const CPosLandmark & | ) | [private] |
const CPosLandmark & |
IMPORT_C void | AddCategoryL | ( | TPosLmItemId | aCategoryId | ) |
Adds a category to the landmark.
If the specified category has already been added, nothing happens.
TPosLmItemId aCategoryId | The category to add. |
void | ConstructL | ( | const CPosLandmark & | aLandmark | ) | [private] |
const CPosLandmark & aLandmark |
IMPORT_C TPositionFieldId | FirstPositionFieldId | ( | ) | const |
Returns the first position field contained in the landmark.
This function is used to initiate iteration over the position fields. NextPositionFieldId() is called to continue the iteration.
IMPORT_C void | GetCategoriesL | ( | RArray < TPosLmItemId > & | aCategoryIdArray | ) | const |
Retrieves the database item IDs for the categories contained in this landmark.
RArray < TPosLmItemId > & aCategoryIdArray | On return contains the list of this landmark's categories. |
IMPORT_C TInt | GetCoverageRadius | ( | TReal32 & | aCoverageRadius | ) | const |
Reads the landmark coverage radius.
Coverage radius is set if the landmark is big, e.g. a city. It defines the size of the area which the landmark represents.
TReal32 & aCoverageRadius | On return contains the coverage radius. |
IMPORT_C TInt | GetIcon | ( | TPtrC & | aIconFileName, |
TInt & | aIconIndex, | |||
TInt & | aIconMaskIndex | |||
) | const |
Returns the link to the icon associated with the landmark.
Icons are found in icon files. It is referenced by the name of the icon file and the index of the icon within the file.
The landmark is not affected if the icon file is changed or removed. It only contains a link to the icon. This means that the link could be invalid.
IMPORT_C TInt | GetLandmarkDescription | ( | TPtrC & | aLandmarkDescription | ) | const |
Reads the description of the landmark.
This function returns error code KErrNotFound if the landmark description is not set in this landmark object. This will be the case if the landmark is read from the database using partial read and landmark description is excluded. Note that if a landmark is fully read from the database, the landmark description is always included. If no description has been set for the landmark in the database, it is set to an empty string "".
TPtrC & aLandmarkDescription | On return contains the landmark description. |
IMPORT_C TInt | GetLandmarkName | ( | TPtrC & | aLandmarkName | ) | const |
Reads the name of the landmark.
This function returns error code KErrNotFound if the landmark name is not set in this landmark object. This will be the case if the landmark is read from the database using partial read and landmark name is excluded. Note that if a landmark is fully read from the database, the landmark name will always be included. If no name has been set for the landmark in the database, it will have an empty name string "".
TPtrC & aLandmarkName | On return contains the landmark name. |
IMPORT_C TInt | GetPlaceId | ( | TPtrC & | aPId | ) | const |
Gets the PlaceId of the landmark
TPtrC & aPId | On return contains the place id of the landmark |
IMPORT_C TInt | GetPosition | ( | TLocality & | aPosition | ) | const |
Reads the landmark position.
TLocality & aPosition | On return contains the landmark position. |
IMPORT_C TInt | GetPositionField | ( | TPositionFieldId | aFieldId, |
TPtrC & | aFieldValue | |||
) | const |
Reads the value of a position field.
TPositionFieldId aFieldId | The position field to read. |
TPtrC & aFieldValue | On return contains the value of the position field. |
IMPORT_C TInt | GetTimeStamp | ( | TTime & | aTimeStamp | ) | const |
Gets the timestamp of the landmark
TTime & aTimeStamp | On return contains the timestamp of the landamrk |
IMPORT_C TBool | IsPartial | ( | ) | const |
Checks if the landmark is partial.
A client can read partial information about a landmark from the database. This function checks if only partial information is included in the landmark object. Partial landmark can not be used with CPosLandmarkDatabase::UpdateLandmarkL() .
For more about partial landmarks, see CPosLandmarkDatabase::ReadPartialLandmarkLC() .
IMPORT_C TBool | IsPositionFieldAvailable | ( | TPositionFieldId | aFieldId | ) | const |
Checks if the landmark contains a specific position field.
TPositionFieldId aFieldId | The position field. |
IMPORT_C TPosLmItemId | LandmarkId | ( | ) | const |
Reads the ID of the landmark entry in the database.
IMPORT_C CPosLandmark * | NewL | ( | const CPosLandmark & | aLandmark | ) | [static] |
Two-phased copy constructor.
const CPosLandmark & aLandmark | The landmark to copy. |
IMPORT_C CPosLandmark * | NewLC | ( | const CPosLandmark & | aLandmark | ) | [static] |
Two-phased copy constructor.
const CPosLandmark & aLandmark | The landmark to copy. |
IMPORT_C TPositionFieldId | NextPositionFieldId | ( | TPositionFieldId | aFieldId | ) | const |
Returns the next position field contained in the landmark.
This function is used to iterate the position fields in the landmark. FirstPositionFieldId() is called to get the first ID. This ID is passed to NextPositionFieldId() to obtain the second ID, etc.
If the client specifies an ID which is not contained in the landmark, this function will panic with code EPosInvalidPositionFieldId . It is therefore important that the client does not remove the current field while iterating. If the client still removes the current field, the client must pass the previous field.
TPositionFieldId aFieldId | The last position field which was read. |
IMPORT_C TUint | NumOfAvailablePositionFields | ( | ) | const |
Returns the number of position fields set in the landmark.
IMPORT_C void | RemoveCategory | ( | TPosLmItemId | aCategoryId | ) |
Removes a category from the landmark.
If the specified category is not in the landmark, nothing happens.
TPosLmItemId aCategoryId | The category to remove |
IMPORT_C void | RemoveLandmarkAttributes | ( | TAttributes | aAttributes | ) |
Removes landmark attributes from the landmark.
TAttributes aAttributes | A bitmap specifying which landmark attributes to remove. |
IMPORT_C void | RemovePositionField | ( | TPositionFieldId | aFieldId | ) |
Removes a position field from the landmark.
If the specified position field is not contained in the landmark, nothing will happen.
TPositionFieldId aFieldId | The position field to remove. |
IMPORT_C void | SetCoverageRadius | ( | TReal32 | aCoverageRadius | ) |
Sets the landmark coverage radius.
Coverage radius is set if the landmark is big, e.g. a city. It defines the size of the area which the landmark represents.
If coverage radius is set to NaN, then the coverage radius will be removed.
TReal32 aCoverageRadius | The coverage radius. |
IMPORT_C void | SetIconL | ( | const TDesC & | aIconFileName, |
TInt | aIconIndex, | |||
TInt | aIconMaskIndex | |||
) |
Associates the landmark with an icon.
Icons are found in icon files. To set an icon, the client must specify the name of the icon file and the index of the icon within the file.
The landmark is not affected if the icon file is changed or removed. It only contains a link to the icon.
IMPORT_C void | SetLandmarkDescriptionL | ( | const TDesC & | aLandmarkDescription | ) |
Sets a description for the landmark.
If no description is set for the landmark when it is written to the database, the landmark in the database will have an empty description string "".
const TDesC & aLandmarkDescription | The landmark description. |
IMPORT_C void | SetLandmarkNameL | ( | const TDesC & | aLandmarkName | ) |
Sets the name of the landmark.
If no name is set for the landmark when it is written to the database, the landmark in the database will have an empty name string "".
const TDesC & aLandmarkName | The landmark name. |
IMPORT_C void | SetPlaceIdL | ( | const TDesC & | aPId | ) |
const TDesC & aPId | The place id of the landmark |
IMPORT_C void | SetPositionFieldL | ( | TPositionFieldId | aFieldId, |
const TDesC & | aFieldValue | |||
) |
Sets a position field in the landmark.
TPositionFieldId aFieldId | The position field to set. |
const TDesC & aFieldValue | The new value for the position field. |
IMPORT_C void | SetPositionL | ( | const TLocality & | aPosition | ) |
Sets the landmark position.
Latitude and longitude must be set in the position.
Only WGS 84 coordinates are allowed. KPositionDatumWgs84 must be set as datum.
const TLocality & aPosition | The landmark position. |
IMPORT_C void | SetTimeStampL | ( | const TTime | aTimeStamp | ) |
const TTime aTimeStamp | Timestamp of the landmark(Full date & time) |
CPosLandmark & | operator= | ( | const CPosLandmark & | ) | [private] |
const CPosLandmark & |
Specifies a landmark attribute such as landmark name or landmark position.
ENoAttribute = 0x0000 |
No attribute specified. |
ELandmarkName = 0x0001 |
The name of the landmark. |
EPosition = 0x0002 |
The position of the landmark. |
ECoverageRadius = 0x0004 |
The landmark coverage radius. |
ECategoryInfo = 0x0008 |
The categories of the landmark. |
EIcon = 0x0010 |
The icon that represents the landmark in a UI. |
EDescription = 0x0020 |
A description of the landmark. |
EPlaceId = 0x0040 |
PlaceId for the landmark |
ETimeStamp = 0x0080 |
Timestamp associated with the landmark |
EAllAttributes = 0xFFFF |
typedef TUint32 | TAttributes |
Bitmap for specifying a group of landmark attributes. Bit values are defined by _TAttributes .
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.