CXIMPSubscriptionItemBase Class Reference

class CXIMPSubscriptionItemBase : public CObject

PSC subscription implementation

Since
S60 v3.2

Inherits from

Public Member Functions
CXIMPSubscriptionItemBase(MXIMPItemParentBase &)
IMPORT_C voidActivateSubscriberL(CXIMPSubscriptionItemBase *)
IMPORT_C voidActivateSubscriberL(MXIMPPscContext *)
IMPORT_C voidAddSubscriberL(MXIMPPscContext *)
IMPORT_C voidAddSubscriberL(CXIMPSubscriptionItemBase *)
IMPORT_C voidBaseConstructL()
IMPORT_C voidChangeStatusAfterAdd()
IMPORT_C voidChangeStatusAfterRemove()
IMPORT_C TBoolCleanIfExpired()
IMPORT_C MXIMPPscContext &Context(TInt)
IMPORT_C TIntContextCount()
IMPORT_C TIntCountOfSubscribers()
IMPORT_C const MXIMPDataSubscriptionState &DataSubscriptionState()
IMPORT_C voidForceClose()
IMPORT_C TBoolIsContext(MXIMPPscContext *)
TInt OrderOfContexts(const MXIMPPscContext &, const MXIMPPscContext &)
TInt OrderOfItems(const CXIMPSubscriptionItemBase &, const CXIMPSubscriptionItemBase &)
IMPORT_C voidRemoveSubscriber(MXIMPPscContext *)
IMPORT_C voidRemoveSubscriber(CXIMPSubscriptionItemBase *)
IMPORT_C voidSetDataSubscriptionStateL(CXIMPDataSubscriptionStateImp &)
IMPORT_C CXIMPDataSubscriptionStateImp *StatusLC(MXIMPPscContext *)
IMPORT_C TSubscriptionStatusSubscriptionStatus(MXIMPPscContext *)
IMPORT_C voidSynthesiseSubscriptionEventToAllCtxsL()
IMPORT_C voidUpdateExpirationL()
IMPORT_C voidUpdateSubscriptionStateL(TSubscriptionEvent)
Protected Member Functions
~CXIMPSubscriptionItemBase()
voidCleanExpired()
Inherited Functions
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()
CObject::AccessCount()const
CObject::CObject()
CObject::Close()
CObject::Dec()
CObject::Extension_(TUint,TAny *&,TAny *)
CObject::FullName()const
CObject::Inc()
CObject::Name()const
CObject::Open()
CObject::Owner()const
CObject::SetName(const TDesC *)
CObject::SetNameL(const TDesC *)
CObject::SetOwner(CObject *)
CObject::UniqueID()const
CObject::~CObject()
Public Member Enumerations
enumTSubscriptionEvent { ECompleteDataReceived }
enumTSubscriptionStatus { ENotSubscribedAtAll, ESubscribedForOtherCtxOnly, ESubscribedForCtxOnly, ESubscribedForCtxAndOthers }
Protected Attributes
RPointerArray< MXIMPPscContext >iContexts
TTime iExpireTime
RPointerArray< CXIMPSubscriptionItemBase >iItems
MXIMPItemParentBase &iParent
RPointerArray< MXIMPPscContext >iPreContexts
RPointerArray< CXIMPSubscriptionItemBase >iPreItems
CXIMPDataSubscriptionStateImp *iSubscriptionState

Constructor & Destructor Documentation

CXIMPSubscriptionItemBase(MXIMPItemParentBase &)

IMPORT_CCXIMPSubscriptionItemBase(MXIMPItemParentBase &aParent)

Construction

Parameters

MXIMPItemParentBase & aParent

~CXIMPSubscriptionItemBase()

IMPORT_C~CXIMPSubscriptionItemBase()[protected, virtual]
Destruction
  • Remember to inform parent about delete.

Member Functions Documentation

ActivateSubscriberL(CXIMPSubscriptionItemBase *)

IMPORT_C voidActivateSubscriberL(CXIMPSubscriptionItemBase *aItem)

Activate subscriber for item.

Parameters

CXIMPSubscriptionItemBase * aItem

ActivateSubscriberL(MXIMPPscContext *)

IMPORT_C voidActivateSubscriberL(MXIMPPscContext *aContext)

Parameters

MXIMPPscContext * aContext

AddSubscriberL(MXIMPPscContext *)

IMPORT_C voidAddSubscriberL(MXIMPPscContext *aContext)

Add subscriber for item.

Parameters

MXIMPPscContext * aContext

AddSubscriberL(CXIMPSubscriptionItemBase *)

IMPORT_C voidAddSubscriberL(CXIMPSubscriptionItemBase *aItem)

Add subscriber for item.

Parameters

CXIMPSubscriptionItemBase * aItem

BaseConstructL()

IMPORT_C voidBaseConstructL()

Base construction. Must be called from inherited classes ConstructL

ChangeStatusAfterAdd()

IMPORT_C voidChangeStatusAfterAdd()

Change status after subscriber is added/removed.

ChangeStatusAfterRemove()

IMPORT_C voidChangeStatusAfterRemove()

CleanExpired()

voidCleanExpired()[protected, pure virtual]

Clean data because expiration

CleanIfExpired()

IMPORT_C TBoolCleanIfExpired()

Clean item if expired.

Context(TInt)

IMPORT_C MXIMPPscContext &Context(TIntaIndex)

Reference to context in index.

Parameters

TInt aIndex

ContextCount()

IMPORT_C TIntContextCount()const

Count of subscribed contexts.

CountOfSubscribers()

IMPORT_C TIntCountOfSubscribers()

Count of subscribers. Items counted as 1.

DataSubscriptionState()

IMPORT_C const MXIMPDataSubscriptionState &DataSubscriptionState()

ForceClose()

IMPORT_C voidForceClose()

Call RemoveSubscriber for all contexts registered to item.

IsContext(MXIMPPscContext *)

IMPORT_C TBoolIsContext(MXIMPPscContext *aContext)const

Can context be found from contexts.

Parameters

MXIMPPscContext * aContext

OrderOfContexts(const MXIMPPscContext &, const MXIMPPscContext &)

TInt OrderOfContexts(const MXIMPPscContext &aFirst,
const MXIMPPscContext &aSecond
)[static]

For linear ordering by pointers

Parameters

const MXIMPPscContext & aFirst
const MXIMPPscContext & aSecond

OrderOfItems(const CXIMPSubscriptionItemBase &, const CXIMPSubscriptionItemBase &)

TInt OrderOfItems(const CXIMPSubscriptionItemBase &aFirst,
const CXIMPSubscriptionItemBase &aSecond
)[static]

For linear ordering by pointers

Parameters

const CXIMPSubscriptionItemBase & aFirst
const CXIMPSubscriptionItemBase & aSecond

RemoveSubscriber(MXIMPPscContext *)

IMPORT_C voidRemoveSubscriber(MXIMPPscContext *aContext)

Remove subscriber from item

Parameters

MXIMPPscContext * aContext

RemoveSubscriber(CXIMPSubscriptionItemBase *)

IMPORT_C voidRemoveSubscriber(CXIMPSubscriptionItemBase *aItem)

Remove subscriber from item

Parameters

CXIMPSubscriptionItemBase * aItem

SetDataSubscriptionStateL(CXIMPDataSubscriptionStateImp &)

IMPORT_C voidSetDataSubscriptionStateL(CXIMPDataSubscriptionStateImp &aNewState)

Parameters

CXIMPDataSubscriptionStateImp & aNewState

StatusLC(MXIMPPscContext *)

IMPORT_C CXIMPDataSubscriptionStateImp *StatusLC(MXIMPPscContext *aContext)const

Status for context

Parameters

MXIMPPscContext * aContext

SubscriptionStatus(MXIMPPscContext *)

IMPORT_C TSubscriptionStatusSubscriptionStatus(MXIMPPscContext *aContext)

Subscriptionstatus for context.

ENotSubscribedAtAll - Subscribe not done by any context. ESubscribedForOtherCtxOnly - Subscribe done by others but not aContext ESubscribedForCtxOnly - Subscribe done by aContext only. ESubscribedForCtxAndOthers - Subscribe done by others and aContext.

Parameters

MXIMPPscContext * aContextCheck subscription status for aContext.

SynthesiseSubscriptionEventToAllCtxsL()

IMPORT_C voidSynthesiseSubscriptionEventToAllCtxsL()

UpdateExpirationL()

IMPORT_C voidUpdateExpirationL()

Update time to new expire time.

UpdateSubscriptionStateL(TSubscriptionEvent)

IMPORT_C voidUpdateSubscriptionStateL(TSubscriptionEventaUpdateState)

Update subscription based on event happened.

Parameters

TSubscriptionEvent aUpdateState

Member Enumerations Documentation

Enum TSubscriptionEvent

Subscription update event. Update subscription based on event.

Enumerators

ECompleteDataReceived

Enum TSubscriptionStatus

Subscription status

Enumerators

ENotSubscribedAtAll
ESubscribedForOtherCtxOnly
ESubscribedForCtxOnly
ESubscribedForCtxAndOthers

Member Data Documentation

RPointerArray< MXIMPPscContext > iContexts

RPointerArray< MXIMPPscContext >iContexts[protected]

Subscribed contexts.

TTime iExpireTime

TTime iExpireTime[protected]

Time when ready for expire.

RPointerArray< CXIMPSubscriptionItemBase > iItems

RPointerArray< CXIMPSubscriptionItemBase >iItems[protected]

MXIMPItemParentBase & iParent

MXIMPItemParentBase &iParent[protected]

Parent object to inform when object is deleted. Used also for sending events.

RPointerArray< MXIMPPscContext > iPreContexts

RPointerArray< MXIMPPscContext >iPreContexts[protected]

RPointerArray< CXIMPSubscriptionItemBase > iPreItems

RPointerArray< CXIMPSubscriptionItemBase >iPreItems[protected]

CXIMPDataSubscriptionStateImp * iSubscriptionState

CXIMPDataSubscriptionStateImp *iSubscriptionState[protected]

Current presence info status.