--- a/uiservicetab/vimpstengine/inc/cvimpstenginesessioncntxtobserver.h Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ximp context observer
-*
-*/
-
-
-#ifndef CVIMPSTENGINESESSIONCNTXTOBSERVER_H_
-#define CVIMPSTENGINESESSIONCNTXTOBSERVER_H_
-
-
-// INCLUDES
-#include <e32base.h>
-
-#include "tvimpstenums.h"
-
-#include <ximpcontextobserver.h>
-#include <searchelement.h>
-
-class MVIMPSTServiceListObserver;
-class CVIMPSTEngineRequestMapper;
-class MXIMPContext;
-class MVIMPSTEngineSearchExtentionEventObserver;
-class MPresenceGrantRequestListEvent;
-class MSearchKeysEvent;
-class MPresenceFeatures;
-class MXIMPClient;
-class MVIMPSTEngineSessionCntxtObserver;
-class MPresenceAuthorization;
-class MPresenceWatching;
-class MPresentityGroups;
-class MPresencePublishing;
-class MPresenceObjectFactory;
-
-// CLASS DESCRIPTION
-
-/**
- * ximp context observer
- * @lib vimpstengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CVIMPSTEngineSessionCntxtObserver ) : public CBase,
- public MXIMPContextObserver
-
-
- {
- //for testcases.
- friend class T_VimpstEngineSessionCntxtObserver;
- friend class T_VimpstEnginePresenceSubService;
-
- public:
-
- /**
- * Two-phased constructor.
- * @param aSettingsId: settings id.
- * @param aAdapterUid: Uid of the ximpfw adaptation.
- * @return CVIMPSTEngineSessionCntxtObserver new instance of this class
- */
- static CVIMPSTEngineSessionCntxtObserver*
- CVIMPSTEngineSessionCntxtObserver::NewL(TUint32 aServiceId);
- /**
- * Two-phased constructor.
- * @param aSettingsId: settings id.
- * @param aAdapterUid: Uid of the ximpfw adaptation.
- * @return CVIMPSTEngineSessionCntxtObserver new instance of this class
- */
- static CVIMPSTEngineSessionCntxtObserver*
- CVIMPSTEngineSessionCntxtObserver::NewLC(TUint32 aServiceId);
-
-
- /**
- * C++ default destructor.
- * ~CVIMPSTEngineSessionCntxtObserver
- */
- ~CVIMPSTEngineSessionCntxtObserver();
-
- /**
- * GetCompletedReqResult
- * @return TInt the result code
- */
- TInt GetCompletedReqResult() const;
-
- /**
- * GetRequestMapper
- * @return CVIMPSTEngineRequestMapper pointer to RequestMapper
- */
- CVIMPSTEngineRequestMapper* GetRequestMapper() const;
-
- /**
- * Presence bind
- *
- * @since S60 5.0
- * @param aProtocolUid - uid of the ximpfw adaptation.
- * @return TInt, error if any.
- */
- TInt ServerBindL(TUid aProtocolUid);
-
- /**
- * Presence unbind
- *
- * @since S60 5.0
- * @param aDoUnsubscribe, do unsubscribe before unbind.
- * Unsubscribe can not be done if unbind is triggered by
- * lost network.
- * @return TInt, error if any.
- */
- TInt ServerUnBindL( TBool aDoUnsubscribe );
-
- /**
- * Returns pointer to XIMP presence authorization interface.
- * This method must be used to get access.
- * If feature is not supported by current
- * presence adapter, leaves with KErrNotSupported.
- *
- * @since S60 3.2
- * @return MPresenceAuthorization reference
- */
- MPresenceAuthorization& XimpAuthorizationL();
-
- /**
- * Returns pointer to XIMP presence watching interface.
- * This method must be used to get access.
- * If feature is not supported by current
- * presence adapter, leaves with KErrNotSupported.
- *
- * @since S60 3.2
- * @return MPresenceWatching reference
- */
- MPresenceWatching& XimpPresenceWatchingL();
-
- /**
- * Returns pointer to XIMP presence presentity groups interface.
- * This method must be used to get access.
- * If feature is not supported by current
- * presence adapter, leaves with KErrNotSupported.
- *
- * @since S60 3.2
- * @return MPresentityGroups reference
- */
- MPresentityGroups& XimpPresentityGroupsL();
-
- /**
- * Returns pointer to XIMP presence publishing interface.
- * This method must be used to get access.
- * If feature is not supported by current
- * presence adapter, leaves with KErrNotSupported.
- *
- * @since S60 3.2
- * @return MPresentityGroups reference
- */
- MPresencePublishing& XimpPresencePublishingL();
-
- /**
- * Gets reference to object factory interface.
- *
- * Returned object factory interface is used
- * to instantiate presence objects.
- *
- * @return Object factory interface.
- * No ownership is returned caller.
- */
- MPresenceObjectFactory& PresenceObjectFactoryL() const ;
-
- MPresenceFeatures& PresenceFeaturesL() const;
-
- /**
- * Gets reference to Presencecontext.
- *
- * Returned Presencecontext interface is used
- * to instantiate object factory.
- *
- * @since 5.0
- * @return Object factory interface.
- * No ownership is returned caller.
- */
- MXIMPContext& XimpPresenceContextL();
-
- /**
- * Register observer from getting notified of ximp events.
- *
- * @since 5.0
- * @param aObserver observer to be called when ximp events are received.
- * Unregister is done by session context when the presence context gets
- * unbinded. The Requester must register each time when XIMP Context gets Binded.
- * Otherwise he will not get the event
- */
- void RegisterObserver(MVIMPSTEngineSessionCntxtObserver* aObserver);
-
- /**
- * get the supproted features form the ximp adaptation
- *
- * @since 5.0
- * @return MDesC8Array array of supported features.
- */
- TInt GetSupportedFeatures();
-
-
- /**
- * get the supproted features form the ximp adaptation
- *
- * @since 5.0
- * @return MDesC8Array array of supported features.
- */
- TVIMPSTEnums::TVIMPSTBindStatus ContextBindStatus();
-
- private:
-
- /**
- * Unregister observer from getting notified of ximp events.
- *
- * @since 5.0
- * @param aObserver observer to be called when ximp events are received.
- */
- void UnRegisterObserver(MVIMPSTEngineSessionCntxtObserver* aObserver);
-
- /**
- * HandleximpContextEvent method from context obsrver
- * ximp framework
- * @param aContext
- * @param aEvent, event
- */
-
- void HandlePresenceContextEvent( const MXIMPContext& aContext,
- const MXIMPBase& aEvent );
-
- /**
- * Handles presence callbacks
- *
- * @since S60 3.2
- * @param aContext, context
- * @param aEvent, event
- * @return void
- */
- void DoHandlePresenceContextEventL(
- const MXIMPContext& aContext,
- const MXIMPBase& aEvent );
-
- /**
- * Resolves and allocates presense uri from ximp operation.
- *
- * @since S60 5.0
- * @param aEvent, used to get the ximpidentity.
- * @return HBufC, presence uri from operation. Ownsership passed.
- */
- HBufC* UriFromXimpOperationLC(const MXIMPBase& aEvent );
- private:
-
- /**
- *second phase constructor
- */
- void ConstructL();
-
- /**
- * CVIMPSTEngineSessionCntxtObserver
- * @param aSettingsId: settings id.
- * @param aAdapterUid: Uid of the ximpfw adaptation.
- */
- CVIMPSTEngineSessionCntxtObserver(TUint32 aServiceId);
-
- /**
- * Identifies the Features supported by the Adaptation
- * and stores the information in iFeatureSupported
- */
- void IdentifySupportedFeaturesL();
-
-
- private: //Data
- // not own
- TUint32 iServiceId;
-
- //Result code from waited request
- TInt iReqResult;
-
- // Current presence bind status
- TVIMPSTEnums::TVIMPSTBindStatus iBindStatus;
-
- //OWN: request mapper to mapp each request
- CVIMPSTEngineRequestMapper* iRequestMapper;
-
- // own , client for presence framework
- MXIMPClient* iClient;
-
- // own ,presence context to prsence framework
- MXIMPContext* iPresenceCtx;
-
- // owned pointer to presence plugin
- MPresenceFeatures* iFeatures;
-
- //Stores the XIMPFw EventTypes Subscribed for
- RArray< TInt32 > iAcceptedEventTypes;
-
- // Own, array of observers.
- RPointerArray<MVIMPSTEngineSessionCntxtObserver> iObserverArray;
-
- //Stores the XIMP Features Supported
- TInt iFeatureSupported;
-
-
- };
-
-
-
-#endif //CVIMPSTENGINESESSIONCNTXTOBSERVER_H_
-
-