#include <lbslocinfoconverterpluginbase.h>
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) |
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.
EXPORT_C CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase | ( | ) | [virtual] |
Destructor
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
[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.
[in] | aImplementationUid | An implementation Uid of the module to be loaded. |
[in] | aParams | Arguments sent to 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.
[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.