simpledatamodeladapter/inc/presencepluginconnection.h
branchGCC_SURGE
changeset 28 d9861ae9169c
parent 23 77cb48a03620
parent 26 04ca1926b01c
--- a/simpledatamodeladapter/inc/presencepluginconnection.h	Thu Jul 01 14:09:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,642 +0,0 @@
-/*
-* Copyright (c) 2006-2009 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:  IETF SIMPLE Protocol implementation for XIMP Framework
-*
-*/
-
-
-#ifndef PRESENCEPLUGINCONNECTION_H
-#define PRESENCEPLUGINCONNECTION_H
-
-#include <e32base.h>
-#include <ximpprotocolconnection.h>
-#include <protocolpresencefeatures.h>
-//Connection obs
-#include "mpresencepluginconnectionobs.h"
-#include "simpleimfeatures.h"
-#include "presencelogger.h"
-
-//FORWARD
-class MXIMPServiceInfo;
-class MXIMPObjectFactory; 
-class MXIMPProtocolConnectionHost;
-class MProtocolPresenceWatching;
-class MProtocolPresencePublishing;
-class MProtocolPresentityGroups;
-class MProtocolPresenceAuthorization;
-class MProtocolPresenceFeatures;
-class MProtocolPresenceDataHost;
-class CPresencePluginSession;
-class CPresencePluginWinfo;
-class CPresencePluginWatcher;
-class CPresencePluginAuthorization;
-class CPresencePluginPublisher;
-class CPresencePluginXdmUtils;
-class CPresencePluginGroups;
-class CPresencePluginVirtualGroup;
-class CPresencePluginData;
-class CPresenceConnectionInfo;
-class MProtocolImFeatures;
-
-
-/**
- * CPrecensePluginSession
- *
- * presence Engine Connection
- *
- * @lib presenceplugin.dll
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS(CPresencePluginConnection) : public CActive,
-    public MXIMPProtocolConnection,
-    public MProtocolPresenceFeatures,
-    public MPresencePluginConnectionObs
-    {
-    public:
-    
-    	enum TConnectionStatus
-            {
-            /** undefined */
-            ENotActive = 0,
-            /** Connection initializing */
-            EActive,
-            /** Connection close */
-            ETerminated
-            };
-
-        /**
-         * Two-phased constructor.
-         *
-         * @param aServiceInfo, XIMP service info
-         * @param aClientCtxInfo, XIMP contex client info
-         */
-        static CPresencePluginConnection* NewL( 
-            const MXIMPServiceInfo& aServiceInfo,
-            const MXIMPContextClientInfo& aClientCtxInfo );
-        
-        /**
-         * Two-phased constructor loaded.
-         *
-         * @param aServiceInfo, XIMP service info
-         * @param aClientCtxInfo, XIMP contex client info
-         */
-        static CPresencePluginConnection* NewL( 
-            const MXIMPServiceInfo& aServiceInfo,
-            const MXIMPContextClientInfo& aClientCtxInfo,
-            const TDesC8& aETag );
-        
-        /**
-         * Standard C++ destructor
-         */ 
-        ~CPresencePluginConnection();
-
-        /**
-         * Grand list subscribe state
-         *
-         * @since S60 3.2
-         * @param none
-         * @return TBool grand list subscribe state
-         */
-        TBool GrandListState( );
-
-        /**
-         * Set connection info array
-         *
-         * @since S60 3.2
-         * @param connection info
-         * @return none
-         */
-        void SetConnectionArray( CPresenceConnectionInfo* aArray );
-
-        /**
-         * Get connection info array
-         *
-         * @since S60 3.2
-         * @param none
-         * @return return info 
-         */
-        CPresenceConnectionInfo* GetConnectionArray( );
-
-
-        /**
-         * Gets protocol interface. In error cases returns NULL
-         *
-         * @since S60 5.0
-         * @param none
-         * @return protocol interface 
-         */        
-        TAny* GetProtocolInterface( TInt aInterfaceId );
-        
-    private:
-    
-        /**
-         * Standard C++ constructor
-         */         
-        CPresencePluginConnection( );
-
-        /**
-         * Performs the 2nd phase of construction.
-         *
-         * @param aService, XIMP service info
-         * @param aClientCtxInfo, XIMP contex client info
-         */  
-        void ConstructL(
-            const MXIMPServiceInfo& aService,
-            const MXIMPContextClientInfo& aClientCtxInfo );
-        
-        /**
-         * Performs the 2nd phase of construction. Overload
-         *
-         * @param aService, XIMP service info
-         * @param aClientCtxInfo, XIMP contex client info
-         */  
-        void ConstructL(
-            const MXIMPServiceInfo& aService,
-            const MXIMPContextClientInfo& aClientCtxInfo,
-            const TDesC8& aETag );
-        
-    private: //Own private functions
-    	
-    	/**
-         * DeRegister
-         *
-         * @since S60 3.2
-         * @param none
-         * @return none
-         */
-    	void DeRegister( );
-    	
-        /**
-          * CreateImFeaturesPlugin
-          *
-          * @since S60 5.0
-          * @param none
-          * @return none
-          */
-    	void CreateImFeaturesPluginL();
-    	
-        /**
-          * DeleteImFeaturesPlugin
-          *
-          * @since S60 5.0
-          * @param none
-          * @return none
-          */
-    	void DeleteImFeaturesPlugin();
-    	
-    protected: // from base class CActive
-
-        /**
-         * Defined in a base class
-         */
-        void RunL();
-
-        /**
-         * Defined in a base class
-         */
-        TInt RunError( TInt aError );
-
-        /**
-         * Defined in a base class
-         */
-        void DoCancel();
-    
-    public: // from base class MPrFwBase
-        
-        TInt32 GetPresenceSetId() const;
-        
-        /**
-         * Defined in a base class
-         */
-        TAny* GetInterface(
-            TInt32 aInterfaceId,
-            TIfGetOps aOps );
-
-        /**
-         * Defined in a base class
-         */
-        const TAny* GetInterface(
-            TInt32 aInterfaceId,
-            TIfGetOps aOps ) const;
-
-        /**
-         * Defined in a base class
-         */
-        TInt32 GetInterfaceId() const;
-        
-    public:// from base class MPresencePluginConnectionObs
-    
-        /**
-         * Return subscribed buddy virtual group
-         *
-         * @since S60 3.2
-         * @param none
-         * @return CPresencePluginVirtualGroup, virtual group
-         */
-        CPresencePluginVirtualGroup* SubscribedContacts();
-        
-        /**
-         * Get Stop Publish state
-         *
-         * @since S60 3.2
-         * @param none
-         * @return TBOOL, Stop Publish state
-         */
-        TBool GetStopPublishState();
-        
-        /**
-         * Is stop publish called
-         *
-         * @since S60 3.2
-         * @param none
-         * @return TBOOL, Stop Publish
-         */
-        TBool IsStopPublishCalled();
-        
-        /**
-         * Set Stop Publish state
-         *
-         * @since S60 3.2
-         * @param aState, stop publish state TRUE/FALSE
-         * @return none
-         */
-        void SetStopPublishState( TBool aState );
-    
-        /**
-         * Get Tuple id
-         *
-         * @since S60 3.2
-         * @param none
-         * @return TInt, tupleid
-         */
-        TInt GetTupleId() const;
-        
-        /**
-         * Set Tuple id
-         *
-         * @since S60 3.2
-         * @param aTupleId, generated tupleid
-         * @return none
-         */
-        void SetTupleId( const TInt aTupleId );
-        
-        /**
-         * Get ETag
-         *
-         * @since S60 3.2
-         * @param none
-         * @return TDesC8, Etag value
-         */
-        const TDesC8& GetETag() const;
-   
-        /**
-         * Set ETag
-         *
-         * @since S60 3.2
-         * @param aEtag, Etag value
-         * @return none
-         */
-        void SetETag( const TDesC8& aETag );
-        
-        /**
-         * Defined in a base class
-         */
-        void CompleteReq( TReqType aType, TInt aStatus );
-
-        /**
-         * Defined in a base class
-         */
-        void CompleteReq( TXIMPRequestId aReqId, TInt aStatus );
-
-        /**
-         * Defined in a base class
-         */
-        MXIMPObjectFactory& ObjectFactory();
-    
-        /**
-         * Defined in a base class
-         */    
-        MPresenceObjectFactory& PresenceObjectFactoryOwn();
-            
-        /**
-         * Defined in a base class
-         */
-        CPresencePluginWinfo* WinfoHandlerL();   
-    
-        /**
-         * Defined in a base class
-         */
-        CPresencePluginWatcher* WatcherHandlerL();
-        
-        /**
-         * Defined in a base class
-         */    
-        void WinfoTerminatedL( TInt aReason ); 
-    
-        /**
-         * Defined in a base class
-         */     
-        void WinfoNotification( MSimpleWinfo& aWinfo );      
- 
-        /**
-         * Defined in a base class
-         */ 
-        TPtrC8 CurrentSipPresentity8();
-        
-        /**
-         * Defined in a base class
-         */
-        CPresencePluginXdmUtils* XdmUtilsL();
-        
-        /**
-         * Defined in a base class
-         */
-        TBool GetSessionStatus( );
-        
-        /** 
-         * Termiante connection
-         */
-        void TerminateConnectionL( );
-        
-        /** 
-         * Returns groups api implementation. Leaves if 
-         * pointer not available.
-         */        
-        CPresencePluginGroups& GroupsL();
-        
-        /** 
-         * Returns service id
-         */                
-        TInt& ServiceId();                
-                         
-    public: // from MXIMPProtocolConnection
-               
-        /**
-         * Defined in a base class
-         */
-        MProtocolPresenceDataHost& ProtocolPresenceHost();
-        
-        /**
-         * Defined in a base class
-         */
-        MProtocolPresenceFeatures& ProtocolPresenceFeatures();
-        
-        /**
-         * PrimeHost
-         *
-         * @since S60 3.2
-         * @param [in] aHost
-         * Reference to host interface, what this MXIMPProtocolConnection
-         * instance must use to communicate back to Presence Framework
-         * direction.
-         */
-        void PrimeHost( MXIMPProtocolConnectionHost& aHost );
-
-        /**
-         * OpenSessionL
-         *
-         * @since S60 3.2 
-         * @param [in] aReqId
-         * Request ID identifying the request. Presence protocol
-         * connection implementation must cache here given ID and
-         * use it when completing the request later through the
-         * MXIMPProtocolConnectionHost::HandleRequestCompleted().
-         */
-        void OpenSessionL( const MXIMPContextClientInfo& aClientCtxInfo,
-            TXIMPRequestId aReqId );
-        
-        /**
-         * OpenSessionL
-         *
-         * @since S60 3.2 
-         * @param [in] aReqId
-         * Request ID identifying the request. Presence protocol
-         * connection implementation must cache here given ID and
-         * use it when completing the request later through the
-         * MXIMPProtocolConnectionHost::HandleRequestCompleted().
-         */
-        void OpenSessionL( const TInt& aSettingsId,
-            TXIMPRequestId aReqId );
-         
-        /**
-         * CloseSession
-         *
-         * @since S60 3.2
-         * @param [in] aReqId
-         * Request ID identifying the request. Presence protocol
-         * connection implementation must cache here given ID and
-         * use it when completing the request later through the
-         * MXIMPProtocolConnectionHost::HandleRequestCompleted().
-         */               
-        void CloseSession( const MXIMPContextClientInfo& aContextClient,
-            TXIMPRequestId aReqId );
-            
-        /**
-         * GetSupportedFeaturesL
-         * 
-         * @since S60 3.2
-         * @param [out] aFeatures
-         * Return parameter where to append supported
-         * presence protocol connection features.
-         * Feature IDs are defined in NXIMPFeature namespace.
-         */               
-        void GetSupportedFeaturesL( CDesC8Array& aFeatures ) const;
-
-        /**
-         * PresenceWatching
-         *
-         * @since S60 3.2 
-         * @return Requested interface.
-         * interface ownership is not returned caller.
-         */
-        MProtocolPresenceWatching& PresenceWatching();
-
-        /**
-         * PresencePublishing
-         *
-         * @since S60 3.2 
-         * @return Requested interface.
-         * interface ownership is not returned caller.
-         */
-        MProtocolPresencePublishing& PresencePublishing(); 
-
-        /**
-         * PresentityGroups
-         * 
-         * @since S60 3.2 
-         * @return Requested interface.
-         * interface ownership is not returned caller.
-         */
-        MProtocolPresentityGroups& PresentityGroups();
-
-        /**
-         * PresenceAuthorization
-         * 
-         * @since S60 3.2
-         * @return Requested interface.
-         * interface ownership is not returned caller.
-         */
-        MProtocolPresenceAuthorization& PresenceAuthorization();
-        
-        /**
-         * PresenceAuthorization
-         * 
-         * @since S60 3.2
-         * @return Requested interface as own type
-         * interface ownership is not returned caller.
-         */        
-        CPresencePluginAuthorization& InternalPresenceAuthorization();
-
-        /**
-         * Defined in a base class
-         */
-        MXIMPProtocolConnectionHost* Host();
-
-        /**
-         * Defined in a base class
-         */
-        TPtrC16 CurrentDomain();
-          
-        /**
-         * Defined in a base class
-         */
-        MXIMPServiceInfo& ServiceInfo();
-                        
-    private:  //data
-     
-        /**
-         * Presence Engine session
-         * Own.
-         */
-        CPresencePluginSession* iSession;
-        
-        /**
-         * CPresencePluginWinfo
-         * Own.
-         */    
-        CPresencePluginWinfo* iPluginWinfo;
-        
-        /**
-         * CPresencePluginWatcher
-         * Own.
-         */
-        CPresencePluginWatcher* iWatcher;
-        
-        /**
-         * current request id
-         * Own
-         */
-        TXIMPRequestId iXIMPId;  
-        
-        /**
-         * Host for connection.
-         * Not own.
-         */
-        MXIMPProtocolConnectionHost*  iConnectionHost;  
-        
-        /**
-         * MXIMPProtocolPresenceauthorization implementation.
-         * Own.
-         */
-        CPresencePluginAuthorization* iAuth;
-        
-        /**
-         * CSimplePluginPublisher
-         * Own.
-         */
-        CPresencePluginPublisher* iPublisher;
-        
-        /**
-         * CSimplePluginGroups
-         * Own.
-         */
-        CPresencePluginGroups* iGroups;
-        
-        /**
-         * CPresencePluginImFeatures
-         * Own.
-         */
-        CSimpleImFeatures* iImFeatures;
-        
-        /**
-         * Current user SIP identity
-         * Own.
-         */
-        HBufC16* iSipPresentity; 
-        
-        /**
-         * XDM utils
-         * Own.
-         */
-        CPresencePluginXdmUtils* iXdmUtils;
-        
-        /**
-         * TupleId
-         * Own.
-         */
-        TInt iOwnTupleId;
-         
-        /**
-         * Document Etag
-         * Own.
-         */
-        HBufC8* iETag;
-
-        /**
-         * Virtual groups
-         * Own
-         */
-        CPresencePluginVirtualGroup* iSubscribedBuddys;   
-
-        /**
-         * Plugin Data
-         * Own.
-         */
-        CPresencePluginData* iPresenceData;
-        
-        /**
-         * Stop publish state
-         * Own
-         */
-        TBool iStopPublishState;
-        
-        /**
-         * Grant list subscribe state
-         * Own
-         */
-        TBool iGrantListSubs;
-        
-        /**
-         * Is stop publish called
-         * Own
-         */
-        TBool iStopPublishCall;
-        
-        /**
-         * Terminated state called
-         * Own.
-         */
-        TBool iTerminatedCall;
-        
-        /**
-         * Connection Array instance
-         * Own.
-         */
-        CPresenceConnectionInfo* iConnectionArray;
-        
-        SIMPLE_UNIT_TEST( T_CPresencePluginConnection )
-        SIMPLE_UNIT_TEST( T_SIMPLEDataModelAdapter )
-    };
-
-#endif // PRESENCEPLUGINCONNECTION_H
\ No newline at end of file