CMdERelationCondition Class Reference

class CMdERelationCondition

Search condition for relations.

Public Member Functions
~CMdERelationCondition()
IMPORT_C TBoolGuid(TInt64 &, TInt64 &)
TUint32 InternalQueryOptimizationFlags(TUint32 &)
IMPORT_C TBoolLastModifiedDateRange(TMdETimeRange &)
IMPORT_C CMdELogicCondition &LeftL()
CMdERelationCondition *NewL(TItemId, const RArray< TItemId > *, TRelationConditionSide, const CMdERelationDef *, const TMdEIntRange *)
CMdERelationCondition *NewLC(TItemId, const RArray< TItemId > *, TRelationConditionSide, const CMdERelationDef *, const TMdEIntRange *)
IMPORT_C const TMdEIntRange *ParameterRange()
IMPORT_C const CMdERelationDef *RelationDef()
IMPORT_C TItemIdRelationId()
IMPORT_C const RArray< TItemId > *RelationIds()
TUint32 RequiredBufferSize()
IMPORT_C CMdELogicCondition &RightL()
voidSerializeL(CMdCSerializationBuffer &, TMdCOffset &)
IMPORT_C voidSetGuid(const TInt64 &, const TInt64 &)
IMPORT_C voidSetLastModifiedDateRangeL(const TMdETimeRange &)
IMPORT_C voidSetSide(TRelationConditionSide)
TRelationConditionSideSide()
Private Member Functions
CMdERelationCondition(TItemId, TRelationConditionSide, const CMdERelationDef *)
voidConstructL(const RArray< TItemId > *, const TMdEIntRange *)
Private Attributes
TInt64 iGuidHigh
TInt64 iGuidLow
TMdETimeRange *iLastModifiedDateRange
CMdELogicCondition *iLeftCondition
TMdEIntRange *iParameterRange
const CMdERelationDef *iRelationDef
const TItemIdiRelationId
RArray< TItemId > *iRelationIds
CMdELogicCondition *iRightCondition
TRelationConditionSideiSide

Constructor & Destructor Documentation

CMdERelationCondition(TItemId, TRelationConditionSide, const CMdERelationDef *)

CMdERelationCondition(TItemIdaRelationId,
TRelationConditionSideaSide,
const CMdERelationDef *aRelationDef
)[private]

Constructor.

Parameters

TItemId aRelationIdThe relation ID which an relation must match.
TRelationConditionSide aSideThe side on which an object must be.
const CMdERelationDef * aRelationDefrelation definition

~CMdERelationCondition()

~CMdERelationCondition()[virtual]

Destructor.

Member Functions Documentation

ConstructL(const RArray< TItemId > *, const TMdEIntRange *)

voidConstructL(const RArray< TItemId > *aRelationIds,
const TMdEIntRange *aParameterRange
)[private]

Second-phase constructor. Creates two LogicConditions as children of this relation condition and creates range condition for parameter. Ownership of the parameter stays with caller.

Parameters

const RArray< TItemId > * aRelationIdsThe relation IDs which an relation must match.
const TMdEIntRange * aParameterRangeparameter range conditions

Guid(TInt64 &, TInt64 &)

IMPORT_C TBoolGuid(TInt64 &aGuidHigh,
TInt64 &aGuidLow
)const

Gets the GUID which a relation must match.

Parameters

TInt64 & aGuidHighreference where GuidHigh will be stored
TInt64 & aGuidLowreference where GuidLow will be stored

InternalQueryOptimizationFlags(TUint32 &)

TUint32 InternalQueryOptimizationFlags(TUint32 &aFlags)

Get possible query's internal optimization flags from condition.

Parameters

TUint32 & aFlags

LastModifiedDateRange(TMdETimeRange &)

IMPORT_C TBoolLastModifiedDateRange(TMdETimeRange &aLastModifiedDateRange)const

Gets the last modified date range which a relation must match.

Parameters

TMdETimeRange & aLastModifiedDateRangereference where last modified date range will be stored

LeftL()

IMPORT_C CMdELogicCondition &LeftL()

Returns the conditions for the object on the left side of the relation.

NewL(TItemId, const RArray< TItemId > *, TRelationConditionSide, const CMdERelationDef *, const TMdEIntRange *)

CMdERelationCondition *NewL(TItemIdaRelationId =  KNoId ,
const RArray< TItemId > *aRelationIds = NULL,
TRelationConditionSideaSide = ERelationConditionSideEither,
const CMdERelationDef *aRelationDef = NULL,
const TMdEIntRange *aParameterRange = NULL
)[static]

Parameters

TItemId aRelationId =  KNoId
const RArray< TItemId > * aRelationIds = NULL
TRelationConditionSide aSide = ERelationConditionSideEither
const CMdERelationDef * aRelationDef = NULL
const TMdEIntRange * aParameterRange = NULL

NewLC(TItemId, const RArray< TItemId > *, TRelationConditionSide, const CMdERelationDef *, const TMdEIntRange *)

CMdERelationCondition *NewLC(TItemIdaRelationId =  KNoId ,
const RArray< TItemId > *aRelationIds = NULL,
TRelationConditionSideaSide = ERelationConditionSideEither,
const CMdERelationDef *aRelationDef = NULL,
const TMdEIntRange *aParameterRange = NULL
)[static]

Parameters

TItemId aRelationId =  KNoId
const RArray< TItemId > * aRelationIds = NULL
TRelationConditionSide aSide = ERelationConditionSideEither
const CMdERelationDef * aRelationDef = NULL
const TMdEIntRange * aParameterRange = NULL

ParameterRange()

IMPORT_C const TMdEIntRange *ParameterRange()const

Returns the relation parameter range.

RelationDef()

IMPORT_C const CMdERelationDef *RelationDef()const

Returns a pointer to the relation definition.

RelationId()

IMPORT_C TItemIdRelationId()const

Returns the relation ID.

RelationIds()

IMPORT_C const RArray< TItemId > *RelationIds()const

Returns the relation IDs.

RequiredBufferSize()

TUint32 RequiredBufferSize()const

Get required size of serialized buffer when it is serialized.

RightL()

IMPORT_C CMdELogicCondition &RightL()

Returns the conditions for the object on the right side of the relation.

SerializeL(CMdCSerializationBuffer &, TMdCOffset &)

voidSerializeL(CMdCSerializationBuffer &aBuffer,
TMdCOffset &aFreespaceOffset
)const

Serialize own data to serialized buffer (correct position must be set before calling).

Parameters

CMdCSerializationBuffer & aBufferserialized buffer.
TMdCOffset & aFreespaceOffset

SetGuid(const TInt64 &, const TInt64 &)

IMPORT_C voidSetGuid(const TInt64 &aGuidHigh,
const TInt64 &aGuidLow
)

Sets the GUID which a relation must match.

Parameters

const TInt64 & aGuidHighnew GuidHigh value
const TInt64 & aGuidLownew GuidLow value

SetLastModifiedDateRangeL(const TMdETimeRange &)

IMPORT_C voidSetLastModifiedDateRangeL(const TMdETimeRange &aLastModifiedDateRange)

Sets the last modified date range which a relation must match.

Parameters

const TMdETimeRange & aLastModifiedDateRange

SetSide(TRelationConditionSide)

IMPORT_C voidSetSide(TRelationConditionSideaSide)

Sets the side on which a matched object must be.

Parameters

TRelationConditionSide aSide

Side()

TRelationConditionSideSide()const

Returns the side on which a matched object must be.

Member Data Documentation

TInt64 iGuidHigh

TInt64 iGuidHigh[private]

Conditions for the relation GUID.

TInt64 iGuidLow

TInt64 iGuidLow[private]

TMdETimeRange * iLastModifiedDateRange

TMdETimeRange *iLastModifiedDateRange[private]

Conditions for the relation last modified date.

CMdELogicCondition * iLeftCondition

CMdELogicCondition *iLeftCondition[private]

Conditions for the left object.

TMdEIntRange * iParameterRange

TMdEIntRange *iParameterRange[private]

Conditions for the relation parameter.

const CMdERelationDef * iRelationDef

const CMdERelationDef *iRelationDef[private]

Relation definition.

const TItemId iRelationId

const TItemIdiRelationId[private]

RArray< TItemId > * iRelationIds

RArray< TItemId > *iRelationIds[private]

CMdELogicCondition * iRightCondition

CMdELogicCondition *iRightCondition[private]

Conditions for the right object.

TRelationConditionSide iSide

TRelationConditionSideiSide[private]

The side on which an object must be.