CPosLmCompositeCriteria Class Reference

#include <mw/EPos_CPosLmCompositeCriteria.h>

Link against: eposlmsearchlib.lib

class CPosLmCompositeCriteria : public CPosLmSearchCriteria

Inherits from

Detailed Description

Class used to combine multiple search criterion.

For instance, to search for all restaurants in the area, this class can be used to combine a CPosLmAreaCriteria and a CPosLmCategoryCriteria .

If a CPosLmNearestCriteria is used and no sort preference is specified, the result will be sorted by distance. If more than one CPosLmNearestCriteria are combined using a CPosLmCompositeCriteria , the sort order will be undefined unless a sort preference is specified.

Nested CPosLmCompositeCriteria are not allowed.

This criterion only supports searching for landmarks, e.g. if it is passed to CPosLandmarkSearch::StartCategorySearchL, the function will fail with error code KErrNotSupported.

Since
S60 3.0

Member Enumeration Documentation

Enum TCompositionType

Specifies the type of the composite criterion. ECompositionOR - is supported only when all the contained critarias are CPosLmTextCriteria. it is not supported for other criteria.

EnumeratorValueDescription
ECompositionAND0

Search results must match all contained criteria.

ECompositionOR1

Search result must match one of the contained criteria

ECompositionOR - is supported only when all the contained critarias are CPosLmTextCriteria. it is not supported for other criteria

Constructor & Destructor Documentation

~CPosLmCompositeCriteria ( )

~CPosLmCompositeCriteria()[virtual]

Destructor.

Member Function Documentation

AddArgument ( CPosLmSearchCriteria * )

IMPORT_C TIntAddArgument(CPosLmSearchCriteria *aCriteria)

Adds a criterion to this composition.

The composite criterion must contain at least one argument, otherwise CPosLandmarkSearch::StartLandmarkSearchL will fail with error code KErrArgument.

If this function returns without an error code, ownership of the added criterion object is transferred to the composite object.

CPosLmCompositeCriteria are not supported when composition type is ECompositionAND . Only CPosLmTextCriteria is supported in the case of ECompositionOR

Searching for landmark categories using CPosLmCompositeCriteria is not supported in the case of ECompositionAND.

ParameterDescription
aCriteriaThe criterion to add to the composition.

Returns: - KErrNone if successfulKErrNotSupported if CPosLmCompositeCriteria or CPosLmCatNameCriteria is specified when coposition type is ECompositionAND.If criteria other than CPosLmTextCriteria is specified with ECompositionORotherwise a system wide error code.

Argument ( TUint )

IMPORT_C const CPosLmSearchCriteria &Argument(TUintaIndex)const

Returns a criterion argument contained in this object.

This overload returns a const reference to the criterion argument. There is another overload which returns a non-const reference.

ParameterDescription
aIndexThe argument to read. Must be in the interval [0, NumOfArguments - 1], or this function will raise a USER-130 panic.

Returns: The requested argument.

Argument ( TUint )

IMPORT_C CPosLmSearchCriteria &Argument(TUintaIndex)

Returns a criterion argument contained in this object.

This overload returns a non-const reference to the criterion argument. There is another overload which returns a const reference.

ParameterDescription
aIndexThe argument to read. Must be in the interval [0, NumOfArguments - 1], or this function will raise a USER-130 panic.

Returns: The requested argument.

ClearArguments ( )

IMPORT_C voidClearArguments()

Removes and deletes all contained criterion objects.

The composite criterion must contain at least one argument, otherwise CPosLandmarkSearch::StartLandmarkSearchL will fail with error code KErrArgument.

CompositionType ( )

IMPORT_C TCompositionTypeCompositionType()const

Returns the type of this composite criterion.

Returns: The composition type.

NewLC ( TCompositionType )

IMPORT_C CPosLmCompositeCriteria *NewLC(TCompositionTypeaType)[static]

Two-phased constructor.

ParameterDescription
aTypeThe composition type to use.

Returns: A new instance of this class.

NumOfArguments ( )

IMPORT_C TUintNumOfArguments()const

Returns the number of criteria this object contains.

Returns: The number of criteria this object contains.

RemoveArgument ( TUint )

IMPORT_C CPosLmSearchCriteria *RemoveArgument(TUintaIndex)

Removes a criterion from this composition.

Note: This function does not delete the criterion object. Instead, the ownership of the object is passed to the caller.

ParameterDescription
aIndexThe argument to remove. Must be in the interval [0, NumOfArguments - 1], or this function will raise a USER-130 panic.

Returns: The criterion object which was removed from the composition.

SetCompositionType ( TCompositionType )

IMPORT_C voidSetCompositionType(TCompositionTypeaType)

Set the type of this composite criterion.