CLbsLocInfoConverterPluginBase Class Reference

#include <lbslocinfoconverterpluginbase.h>

List of all members.

Public Member Functions

virtual IMPORT_C ~CLbsLocInfoConverterPluginBase ()
virtual IMPORT_C TVersion Version () const
virtual IMPORT_C void ValidateClient (const TSecureId &aSecureId, const TVendorId &aVendorId, const TLbsConversionOutputInfoMask aRequestedInfo)=0
virtual IMPORT_C void CancelValidateClient ()=0
virtual IMPORT_C void ConvertLocationInfoL (RLbsLocationInfoArray &aLocationInfoArray, const TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)=0
virtual IMPORT_C void CancelConvertLocationInfo ()=0
virtual IMPORT_C void ConversionPluginPreferences (TLbsConversionPluginInfo &aPluginInfo)=0
virtual IMPORT_C TAny * ExtendedInterface (TInt aFunctionNumber, TAny *aPtr1, TAny *aPtr2)

Static Public Member Functions

static IMPORT_C
CLbsLocInfoConverterPluginBase
NewL (TUid aImplementationUid, TLbsLocInfoConverterPluginParams &aParams)

Detailed Description

The CLbsLocInfoConverterPluginBase is the abstract Ecom interface to a coordinate conversion Plugin. All coordinate conversion Plugins must derive from and implement this interface.

The interface is used in partnership with MLbsLocInfoConverterPluginObserver and is used by the LBS subsystem to request conversion of location information between different formats.

Completion of conversions must be indicated by a plugin by invoking callback(s) defined by the MLbsLocInfoConverterPluginObserver class.

Although all the interface methods in the class are synchronous they must return immediately. When the LBS subsystem makes a request via CLbsLocInfoConverterPluginBase the Plugin must queue the request internally and return control to the caller immediately. Later on, when plugin provides a response, it uses the corresponding notification method in the MLbsLocInfoConverterPluginObserver class.


Constructor & Destructor Documentation

EXPORT_C CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase (  )  [virtual]

Destructor


Member Function Documentation

virtual IMPORT_C void CLbsLocInfoConverterPluginBase::CancelConvertLocationInfo (  )  [pure virtual]

Cancels an ongoing conversion operation. If there is no ongoing conversion the cancellation request is ignored.

The MLbsLocInfoConverterPluginObserver::OnConversionComplete callback is not invoked.

virtual IMPORT_C void CLbsLocInfoConverterPluginBase::CancelValidateClient (  )  [pure virtual]

Cancels an ongoing validation operation. If there is no ongoing validation operation, the cancellation request is ignored.

The MLbsLocInfoConverterPluginObserver::OnValidationComplete callback is not invoked.

virtual IMPORT_C void CLbsLocInfoConverterPluginBase::ConversionPluginPreferences ( TLbsConversionPluginInfo aPluginInfo  )  [pure virtual]

This method is used to read the conversion plugin's preferences such as its capability to use wlan/gsm/wcdma/pos information to perform the requested conversion or whether position that it returns after conversion should be retained in the cache.

virtual IMPORT_C void CLbsLocInfoConverterPluginBase::ConvertLocationInfoL ( RLbsLocationInfoArray &  aLocationInfoArray,
const TLbsConversionPrefs  aConversionPrefs,
const TLbsConversionOutputInfoMask  aRequestedInfo 
) [pure virtual]

Converts multiple location information.

Completion of the conversion is indicated by a Plugin by invoking the MLbsLocInfoConverterPluginObserver::OnConversionComplete callback

Parameters:
[in] aLocationInfo An array of location information for which corresponding position information is expected.
[in] aConversionPrefs Conversion preferences suggested by client
[in] aRequestedInfo Location information that is requested.

KErrNoMemory if there is not enough memory available to perform the conversion. KErrArgument If the location info pointer is NULL. KErrNotSupported if the conversion type specified by aRequestedInfo is not supported. Or any other system wide error code.

EXPORT_C TAny * CLbsLocInfoConverterPluginBase::ExtendedInterface ( TInt  aFunctionNumber,
TAny *  aPtr1,
TAny *  aPtr2 
) [virtual]

This method is reserved for future expansion and should not be used or implemented by derived classes.

EXPORT_C CLbsLocInfoConverterPluginBase * CLbsLocInfoConverterPluginBase::NewL ( TUid  aImplementationUid,
TLbsLocInfoConverterPluginParams aParams 
) [static]

Loads a coordinate conversion Plugin and initalises it.

Parameters:
[in] aImplementationUid An implementation Uid of the module to be loaded.
[in] aParams Arguments sent to conversion plugin.
Returns:
Pointer to the new coordinate conversion plugin.
virtual IMPORT_C void CLbsLocInfoConverterPluginBase::ValidateClient ( const TSecureId &  aSecureId,
const TVendorId &  aVendorId,
const TLbsConversionOutputInfoMask  aRequestedInfo 
) [pure virtual]

Validates a client before a request is processed. This method is called by the Location Monitor Server, everytime, before a conversion request is sent. The result of validation is indicated by the plugin by invoking the MLbsLocInfoConverterPluginObserver::OnValidationComplete callback.

Parameters:
[in] aSecureId The secure ID of the client application/process
[in] aVendorId The vendor ID of the client application/process
in] aRequestedInfo The requested converted information. This bit field would be checked by the plugin to determine if the specified conversion can be supported for the requesting client.
EXPORT_C TVersion CLbsLocInfoConverterPluginBase::Version (  )  const [virtual]

Gets the current version of the interface implemented by a Plugin. Derived classes should not change the implementation.

Returns:
Version number (currently 1.0.0)

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

Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved. These materials are provided under the terms of the Eclipse Public License v1.0.