CMnGeocodingServiceBase Class Reference

class CMnGeocodingServiceBase : public CMnServiceBase

Provider Application must derive its geocoding service class from this one. This base implementation hides IPC communication details and provides native methods for accessing various parameters, specified by client.

Provider Application must return pointer to instance of its class, derived from this class, in response to CAknAppService::CreateServiceL() call, if given parameter is KMnAppGeocodingService.

This class defines handlers of particular requests from client as pure virtual methods, which derived class must implement. The parameters, which client application may specify in CMnGeocoder are accessible via other methods of this class. Implementation must obey these parameters and use them as specified in CMnGeocoder .

See parent CMnServiceBase class documentation for other details.

Since
3.1 mnservicelib.lib
Public Member Functions
IMPORT_C voidCompleteGeocodingRequestL(const CPosLandmark &)
IMPORT_C CMnGeocoder::TOptionsOptions()
Protected Member Functions
CMnGeocodingServiceBase()
~CMnGeocodingServiceBase()
IMPORT_C voidBaseConstructL()
voidHandleFindAddressByCoordinateL(const CPosLandmark &)
voidHandleFindCoordinateByAddressL(const CPosLandmark &)
voidHandleFindCoordinateByAddressL(const TDesC &)
IMPORT_C voidServiceL(const RMessage2 &)
Private Member Functions
voidHandleGetConversionResultL(const RMessage2 &)
voidStartAsyncRequestL(const RMessage2 &)
voidUnpackOptionsL(const RMessage2 &)
HBufC *UnpackPlainAddressLC(const RMessage2 &)
Inherited Functions
CAknAppServiceBase::CAknAppServiceBase()
CAknAppServiceBase::CreateL()
CAknAppServiceBase::~CAknAppServiceBase()
CApaAppServiceBase::CApaAppServiceBase()
CApaAppServiceBase::CountResources()
CApaAppServiceBase::Disconnect(const RMessage2 &)
CApaAppServiceBase::SecurityCheckL(const RMessage2 &,TInt &,TSecurityInfo &)
CApaAppServiceBase::SendAppServerExitNotification(TInt)
CApaAppServiceBase::~CApaAppServiceBase()
CBase::CBase()
CBase::Delete(CBase *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CMnServiceBase::CMnServiceBase()
CMnServiceBase::Complete(const RMessage2 &,TInt)
CMnServiceBase::CompleteRequest(TInt)
CMnServiceBase::CopyClientBuffer8LC(const RMessage2 &,const TInt)
CMnServiceBase::CopyClientBufferLC(const RMessage2 &,const TInt)
CMnServiceBase::CurrentAsyncRequest()
CMnServiceBase::DoCancel()
CMnServiceBase::HandleCancelRequestL(const RMessage2 &)
CMnServiceBase::IsAsyncRequestActive()
CMnServiceBase::PrepareAsyncRequestL(const RMessage2 &)
CMnServiceBase::ServiceError(const RMessage2 &,TInt)
CMnServiceBase::UnpackLandmarkLC(const RMessage2 &,TInt)
CMnServiceBase::~CMnServiceBase()
CSession2::CSession2()
CSession2::Extension_(TUint,TAny *&,TAny *)
CSession2::ResourceCountMarkEnd(const RMessage2 &)
CSession2::ResourceCountMarkStart()
CSession2::Server()const
CSession2::SetServer(const CServer2 *)
CSession2::~CSession2()
Inherited Enumerations
CSession2:TPanicNo
Private Attributes
CMnGeocoder::TOptions iOptions
HBufC8 *iResult
TInt iResultType
Inherited Attributes
CMnServiceBase::iMessage

Constructor & Destructor Documentation

CMnGeocodingServiceBase()

IMPORT_CCMnGeocodingServiceBase()[protected]

C++ constructor

~CMnGeocodingServiceBase()

IMPORT_C~CMnGeocodingServiceBase()[protected]

Destructor

Member Functions Documentation

BaseConstructL()

IMPORT_C voidBaseConstructL()[protected]

This method must be called from derived class' ConstructL to allow internal initialization of this class.

CompleteGeocodingRequestL(const CPosLandmark &)

IMPORT_C voidCompleteGeocodingRequestL(const CPosLandmark &aLandmark)

Implementation must call this method to signal successful completion of conversion request. Result of conversion is supplied as landmark object. It must contain only data, which is part of conversion result, any other fields shall be left empty.

Parameters

const CPosLandmark & aLandmarkLandmark containing result of conversion.

HandleFindAddressByCoordinateL(const CPosLandmark &)

voidHandleFindAddressByCoordinateL(const CPosLandmark &aLandmark)[protected, pure virtual]

Derived class must implement this method obeying specification of CMnGeocoder::FindAddressByCoordinateL() and if KMnSvcFeatureCoordToAddr feature is specified in SERVICE_INFO.

If given landmark coordinates cannot be resolved to address due to some ambiguity, then user shall be queried, if allowed by options (see Options() ). If it is not allowed, the operation shall be completed with KErrNotFound (CompleteRequest() ).

This is asynchronous request. Client's request must be completed (when resolving succeeded) with CompleteGeocodingRequest().

leave
KErrNotSupported Should leave if this feature is not supported.

Parameters

const CPosLandmark & aLandmarkContains coordinate information to be resolved to address.

HandleFindCoordinateByAddressL(const CPosLandmark &)

voidHandleFindCoordinateByAddressL(const CPosLandmark &aLandmark)[protected, pure virtual]

Derived class must implement this method obeying specification of CMnGeocoder::FindCoordinateByAddressL (const CPosLandmark&, TRequestStatus&) and if KMnSvcFeatureAddrToCoord feature is specified in SERVICE_INFO.

If given address cannot be resolved to coordinates due to some ambiguity, then user shall be queried, if allowed by options (see Options() ).If it is not allowed, the result of the operation shall be KErrNotFound.

This is asynchronous request. Client's request must be completed (when resolving succeeded) with CompleteGeocodingRequest().

leave
KErrNotSupported Should leave if this feature is not supported.

Parameters

const CPosLandmark & aLandmarkContains address information to be resolved to coordinate.

HandleFindCoordinateByAddressL(const TDesC &)

voidHandleFindCoordinateByAddressL(const TDesC &aAddress)[protected, pure virtual]

This overload is for cases when address is specified as plain string. Derived class must implement this method obeying specification of CMnGeocoder::FindCoordinateByAddressL (const TDesC& aAddress, TRequestStatus& aRequest) and if KMnSvcFeaturePlainAddrToCoord feature is specified in SERVICE_INFO.

If given address cannot be resolved to coordinates due to some ambiguity, then user shall be queried, if allowed by options (see Options() ).If it is not allowed, the result of the operation shall be KErrNotFound.

This is asynchronous request. Client's request must be completed (when resolving succeeded) with CompleteGeocodingRequest().

leave
KErrNotSupported Should leave if this feature is not supported.

Parameters

const TDesC & aAddressAddress information to be resolved to coordinate.

HandleGetConversionResultL(const RMessage2 &)

voidHandleGetConversionResultL(const RMessage2 &aMsg)[private]

Parameters

const RMessage2 & aMsg

Options()

IMPORT_C CMnGeocoder::TOptionsOptions()const

This options must be utilized in request handlers as specified in CMnGeocoder .

ServiceL(const RMessage2 &)

IMPORT_C voidServiceL(const RMessage2 &aMessage)[protected, virtual]

Override of CSession2::ServiceL(). If further overridden, this function must be base-called.

Parameters

const RMessage2 & aMessageThe client message

StartAsyncRequestL(const RMessage2 &)

voidStartAsyncRequestL(const RMessage2 &aMessage)[private]

Parameters

const RMessage2 & aMessage

UnpackOptionsL(const RMessage2 &)

voidUnpackOptionsL(const RMessage2 &aMsg)[private]

Parameters

const RMessage2 & aMsg

UnpackPlainAddressLC(const RMessage2 &)

HBufC *UnpackPlainAddressLC(const RMessage2 &aMsg)[private]

Parameters

const RMessage2 & aMsg

Member Data Documentation

CMnGeocoder::TOptions iOptions

CMnGeocoder::TOptions iOptions[private]

HBufC8 * iResult

HBufC8 *iResult[private]

TInt iResultType

TInt iResultType[private]