CPosLmOperation Class Reference

API published in: S60 3rd Ed

Link against: eposlandmarks.lib

Capability Information

Required Capabilities

None

Exceptions

The capability ReadUserData is required in:

CPosLandmarkDatabase::OpenL();

CPosLandmarkDatabase::OpenL( const TDesC & aDatabaseUri );

CPosLandmarkDatabase::InitializeL();

CPosLandmarkDatabase::ReadLandmarkLC( TPosLmItemId aLandmarkId );

CPosLandmarkDatabase::LandmarkIteratorL();

CPosLandmarkDatabase::LandmarkIteratorL( const TPosLmSortPref & aSortPref );

CPosLandmarkDatabase::AddLandmarkL( CPosLandmark & aLandmark );

CPosLandmarkDatabase::UpdateLandmarkL( const CPosLandmark & aLandmark );

CPosLandmarkDatabase::RemoveLandmarkL( TPosLmItemId aLandmarkId );

CPosLandmarkDatabase::RemoveLandmarksL( const RArray< TPosLmItemId > & aLandmarkIdArray );

CPosLandmarkDatabase::RemoveAllLandmarksL();

CPosLandmarkDatabase::ReadPartialLandmarkLC( TPosLmItemId aLandmarkId );

CPosLandmarkDatabase::PreparePartialLandmarksL( const RArray< TPosLmItemId > & aLandmarkIdArray );

CPosLandmarkDatabase::SizeL();

CPosLandmarkDatabase::CompactL();

CPosLandmarkDatabase::NotifyDatabaseEvent( TPosLmEvent & aEvent, TRequestStatus & aStatus );

CPosLandmarkDatabase::CancelNotifyDatabaseEvent();

CPosLandmarkDatabase::ImportLandmarksL( CPosLandmarkParser& aLandmarkParser, TTransferOptions aTransferOptions );

CPosLandmarkDatabase::ImportLandmarksL( CPosLandmarkParser& aLandmarkParser, const RArray<TUint>& aLandmarkSelection, TTransferOptions aTransferOptions );

CPosLmCategoryManager::ReadCategoryLC( TPosLmItemId aCategoryId );

CPosLmCategoryManager::CategoryIteratorL( TCategorySortPref aSortPref );

CPosLmCategoryManager::ReferencedCategoryIteratorL( TCategorySortPref aSortPref )

CPosLmCategoryManager::AddCategoryL( CPosLandmarkCategory & aCategory );

CPosLmCategoryManager::UpdateCategoryL( const CPosLandmarkCategory & aCategory );

CPosLmCategoryManager::RemoveCategoryL( TPosLmItemId aCategoryId );

CPosLmCategoryManager::RemoveCategoriesL( const RArray< TPosLmItemId > & aCategoryIdArray );

CPosLmCategoryManager::AddCategoryToLandmarksL( TPosLmItemId aCategoryId, RArray< TPosLmItemId > & aLandmarkIdArray );

CPosLmCategoryManager::RemoveCategoryFromLandmarksL( TPosLmItemId aCategoryId, RArray< TPosLmItemId > & aLandmarkIdArray );

CPosLmCategoryManager::GetCategoryL( const TDesC & aCategoryName );

CPosLmCategoryManager::GetGlobalCategoryL( TPosLmGlobalCategory aGlobalCategory );

CPosLmCategoryManager::ResetGlobalCategoriesL();

The capability WriteUserData is required in:

CPosLandmarkDatabase::AddLandmarkL( CPosLandmark& aLandmark );

CPosLandmarkDatabase::UpdateLandmarkL( const CPosLandmark& aLandmark );

CPosLandmarkDatabase::RemoveLandmarkL( TPosLmItemId aLandmarkId );

CPosLandmarkDatabase::RemoveLandmarksL( const RArray<TPosLmItemId>& aLandmarkIdArray );

CPosLandmarkDatabase::RemoveAllLandmarksL();

CPosLandmarkDatabase::CompactL();

CPosLandmarkDatabase::ImportLandmarksL( CPosLandmarkParser& aLandmarkParser, TTransferOptions aTransferOptions );

CPosLandmarkDatabase::ImportLandmarksL( CPosLandmarkParser& aLandmarkParser, const RArray<TUint>& aLandmarkSelection, TTransferOptions aTransferOptions );

CPosLmCategoryManager::AddCategoryL( CPosLandmarkCategory & aCategory );

CPosLmCategoryManager::UpdateCategoryL( const CPosLandmarkCategory & aCategory );

CPosLmCategoryManager::RemoveCategoryL( TPosLmItemId aCategoryId );

CPosLmCategoryManager::RemoveCategoriesL( const RArray< TPosLmItemId > & aCategoryIdArray );

CPosLmCategoryManager::AddCategoryToLandmarksL( TPosLmItemId aCategoryId, RArray< TPosLmItemId > & aLandmarkIdArray );

CPosLmCategoryManager::RemoveCategoryFromLandmarksL( TPosLmItemId aCategoryId, RArray< TPosLmItemId > & aLandmarkIdArray );

CPosLmCategoryManager::ResetGlobalCategoriesL();

Other Information

The capability NetworkServices is required to work with remote databases.


#include <epos_cposlmoperation.h>

Detailed Description

Base class for handles to landmark operations.

Long running operations in the Landmarks API returns an object of this class so that the client can run it incrementally and check the progress of the operation.

The operation must explicitly be run by the client. The operation can be run incrementally by calling NextStep until it does not return the status KPosLmOperationNotComplete. Alternately the operation can be run synchronously by calling ExecuteL.

ExecuteAndDeleteLD can be used to handle the operation object if it is run in synchronous mode.


Public Member Functions

virtual IMPORT_C  ~CPosLmOperation ()
  Destructor.
virtual void  NextStep (TRequestStatus &aStatus, TReal32 &aProgress)=0
  Incremental execution of the operation.
virtual void  ExecuteL ()=0
  Synchronous execution of the operation.

Protected Member Functions

IMPORT_C  CPosLmOperation ()

Constructor & Destructor Documentation

virtual IMPORT_C CPosLmOperation::~CPosLmOperation  )  [virtual]
 

Destructor.

IMPORT_C CPosLmOperation::CPosLmOperation  )  [protected]
 

Member Function Documentation

virtual void CPosLmOperation::ExecuteL  )  [pure virtual]
 

Synchronous execution of the operation.

When this function returns, the operation has finished.

Panic:
"Landmarks Client"-EPosInvalidOperationMode
  1. This function is called when the operation is already complete
  2. The operation has already been started incrementally using NextStep().
virtual void CPosLmOperation::NextStep TRequestStatus &  aStatus,
TReal32 &  aProgress
[pure virtual]
 

Incremental execution of the operation.

The client should use an active object and call this function until it does not complete with status KPosLmOperationNotComplete.

When the operation has finished, this function will complete with status KErrNone if the operation was successful, or an error code if some error was encountered.

This function also returns a progress of the operation. Progress is a floating point number in the interval [0.0,1.0]. 0.0 indicates that the operation has not started and 1.0 indicates that the operation has completed.

Note that this function is asynchronous which means that status and progress may not be set when the function returns. They are only guaranteed to be set when the request is completed.

The only way to cancel an operation is to delete the operation object. This will also cancel any outstanding request to NextStep().

Parameters:
[out]  aStatus  The request status. Upon request completion contains step status:
  • KPosLmOperationNotComplete if the step has completed but more steps are needed before the operation will be completed.
  • KErrNone if the operation has finished successfully.
  • An error code if the operation has failed.
[out]  aProgress  Upon request completion is set to the progress of the operation.
Panic:
"Landmarks Client"-EPosInvalidOperationMode The function is called when the operation is already complete.

The documentation for this class was generated from the following file:

Copyright © Nokia Corporation 2001-2008
Back to top