MXIMPContext Class Reference

class MXIMPContext : public MXIMPBase

Interface for XIMP context. This interface is implemented by the XIMP Framework.

MXIMPContext is root interface for accessing and updating XIMP data to remote XIMP service. MXIMPContext client binds MXIMPContext interface to desired remote XIMP service and uses other MXIMPContext sub interfaces to publish and access XIMP data.

Following sub interfaces can be accessed from from MXIMPContext:

All Presence events (context state, XIMP data, request completion etc. ones) are delivered through MXIMPContextObserver interface.

Since
S60 v3.2

Inherits from

Constructor & Destructor Documentation

~MXIMPContext()

~MXIMPContext()[inline, virtual]

Public destructor. Objects can be deleted through this interface.

Member Functions Documentation

BindToL(TUid, const TDesC16 &, const TDesC16 &, const TDesC16 &, TInt32)

TXIMPRequestId BindToL(TUidaProtocolImpUid,
const TDesC16 &aServiceAddress,
const TDesC16 &aUsername,
const TDesC16 &aPassword,
TInt32aIapId
)[pure virtual]

Binds the XIMP context to remote XIMP service.

Binds the XIMP context to given XIMP service, with given credentials and by using defined protocol plug-in. Binding is asynchronous operation and evolves network interaction. Used protocol plug-in is identified explicitly with its implementation UID.

Parameters

TUid aProtocolImpUidProtocol implementation UID identifying which PSC protocol implementation to use.
const TDesC16 & aServiceAddressService address string identifying the remote XIMP service.
const TDesC16 & aUsernameUsername (credential) for accessing the remote XIMP service.
const TDesC16 & aPasswordPassword (credential) for accessing the remote XIMP service.
TInt32 aIapIdInternet Accesspoint for accessing the remote XIMP service connection.

BindToL(TUid, const TDesC16 &, const TDesC16 &, const TDesC16 &, const TDesC16 &, TInt32)

TXIMPRequestId BindToL(TUidaProtocolImpUid,
const TDesC16 &aServiceAddress,
const TDesC16 &aUsername,
const TDesC16 &aPassword,
const TDesC16 &aClientId,
TInt32aIapId
)[pure virtual]

Parameters

TUid aProtocolImpUid
const TDesC16 & aServiceAddress
const TDesC16 & aUsername
const TDesC16 & aPassword
const TDesC16 & aClientId
TInt32 aIapId

BindToL(TUid, TInt)

TXIMPRequestId BindToL(TUidaProtocolImpUid,
TIntaServiceId
)[pure virtual]

Binds the XIMP context to remote XIMP service.

Binds the XIMP context to given XIMP service, with given credentials and by using defined protocol plug-in. Binding is asynchronous operation and evolves network interaction. Used protocol plug-in is identified explicitly with its implementation UID.

Parameters

TUid aProtocolImpUidProtocol implementation UID identifying which PSC protocol implementation to use.
TInt aServiceId- Service Id

BindToL(TUid, const TDesC16 &, const TDesC16 &, TInt)

TXIMPRequestId BindToL(TUidaProtocolImpUid,
const TDesC16 &aUsername,
const TDesC16 &aPassword,
TIntaServiceId
)[pure virtual]

Parameters

TUid aProtocolImpUid
const TDesC16 & aUsername
const TDesC16 & aPassword
TInt aServiceId

GetContextFeaturesLC()

MXIMPFeatureInfo *GetContextFeaturesLC()const [pure virtual]

Retrieves Presence Contex features.

Retrieves features supported by the Presence Contex. Features returned here may be "less" than what the protocol indicated, since connected remote service may limit available features.

ObjectFactory()

MXIMPObjectFactory &ObjectFactory()const [pure virtual]

Gets reference to object factory interface.

Returned object factory interface is used to instantiate XIMP objects.

RegisterObserverL(MXIMPContextObserver &, const TArray< TInt32 > *)

voidRegisterObserverL(MXIMPContextObserver &aObserver,
const TArray< TInt32 > *aEventFilter = NULL
)[pure virtual]

Reqisters XIMP context event observer.

Reqisters observer is notified from XIMP context events. XIMP Framework client side events are listed in MXIMPContextObserver header.

Event delivery uses client side active object to callback the reqistered observer. If client thread is blocked with User::WaitFor...() or other high priority active objects, event notification is delayed until XIMP Framework client side active objects get their execution turn. When client is blocked, XIMP Framework queues events, and delivers those later in FIFO order to observer. However, the XIMP Framework limits the que size and thus events might get dropped if the the client is blocked too long.

Even though client shouldn't perform any heavy processing in the event callback, XIMP Framework allows the client client to issue following kind of requests to XIMP Framework, from event callback:
  • Data management relatred asynchronous & synchronous requests

  • Observer registeration and unregisteration

  • Presence context undbind

  • Presence contex destroy

Parameters

MXIMPContextObserver & aObserverThe observer to be notified from context events. If the observer is already registered, event filter associated to it is updated.
const TArray< TInt32 > * aEventFilter = NULLList of event types that the observer accepts. Event types are identified with their event interface IDs. If NULL, all event types are delivered to observer.

UnbindL()

TXIMPRequestId UnbindL()[pure virtual]

Unbinds the XIMP context from the to currently binded XIMP service. Unbinding is asynchronous operation and might evolve network operations. Unbinding or waiting unbinding completion isn't mandatory for the client. XIMPFw performs unbinding implicitly when the bound MXIMPContext object is destroyed.

UnregisterObserver(MXIMPContextObserver &)

voidUnregisterObserver(MXIMPContextObserver &aObserver)[pure virtual]

Unregisters context event observer.

Parameters

MXIMPContextObserver & aObserverThe observer to unregister.