presencefwsimpleadpt/inc/simplepluginpublisher.h
branchGCC_SURGE
changeset 28 d9861ae9169c
parent 23 77cb48a03620
parent 26 04ca1926b01c
--- a/presencefwsimpleadpt/inc/simplepluginpublisher.h	Thu Jul 01 14:09:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,450 +0,0 @@
-/*
-* Copyright (c) 2006 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:    Simple Protocol implementation for Presence Framework
-*
-*/
-
-
-
-
-#ifndef CSIMPLEPLUGINPUBLISHER_H
-#define CSIMPLEPLUGINPUBLISHER_H
-
-#include <e32std.h>
-
-#include <ximpbase.h>
-#include <protocolpresencepublishing.h>
-
-#include <msimplepublishobserver.h>
-#include <msimplewatcherobserver.h>
-
-#include "simpleplugincommon.h"
-#include "msimplepluginconnectionobs.h"
-#include "msimplepluginsettings.h"
-
-class TXIMPRequestId;
-class MXIMPIdentity;
-class MXIMPProtocolConnectionHost;
-
-class MPersonPresenceInfo;
-class MServicePresenceInfo;
-class MDevicePresenceInfo;
-
-class MSimplePublisher;
-class MSimpleDocument;
-class MSimpleWinfo;
-class MSimpleWatcher;
-class MSimpleElement;
-
-
-/**
- * CSimplePluginWatcherInfo
- *
- * watcher info.
- *
- * @lib ?library
- * @since s60 v5.0
- */
-NONSHARABLE_CLASS( CSimplePluginWatcherInfo ): public CBase
-    {
-public:
-
-    /**
-     * Constructor.
-     * @param aId watcher id
-     * @param aSipId watcher SIP identity
-     */
-    static CSimplePluginWatcherInfo* NewL(
-        const TDesC8& aId,
-        const TDesC& aSipId );
-
-    virtual ~CSimplePluginWatcherInfo();
-            
-    /**
-     * Destructor
-     */
-    void Destroy();
-    
-    /** 
-     * Match to given info
-     * @param aId watcher id
-     * @param aSipId watcher SIP identity     
-     * @return ETrue if current entity matches to the parameters
-     */
-    TBool Match( const TDesC8& aId,
-        const TDesC& aSipId ); 
-        
-    TPtrC SipId();    
-    
-    inline static TInt LinkOffset(); 
-    
-private:
-
-    CSimplePluginWatcherInfo( );
-
-    /** 
-     * Constructor
-     * @param aId watcher id
-     * @param aSipId watcher SIP identity     
-     */
-    void ConstructL( 
-        const TDesC8& aId,
-        const TDesC& aSipId ); 
-   
-public: // data        
-
-    TDblQueLink iLink;
-    
-private: // data
-    
-    HBufC8* iId;
-    HBufC* iSipId;
-
-    };
-
-/**
- * CSimplePluginPublisher
- *
- * publisher.
- *
- * @lib ?library
- * @since s60 v5.0
- */
-NONSHARABLE_CLASS( CSimplePluginPublisher ): public CActive,
-    public MSimplePublishObserver,
-    public MSimpleWatcherObserver,
-    public MProtocolPresencePublishing
-    {
-public:
-
-    /**
-     * Current operation
-     */
-    enum TPluginPublishOperation
-        {
-        ENoOperation,
-        EPublishOwn,
-        ESubscribeOwn,
-        EUnsubscribeOwn,
-        ESubscribeWinfo,
-        EUnsubscribeWinfo
-        };
-
-    /**
-     * Constructor.
-     * @param aConnSetts current settings
-     * @param aObs callback for complete requests
-     * @param aConn Simple Engine connection
-     */
-    static CSimplePluginPublisher* NewL(
-        MSimplePluginSettings& aConnSetts,
-        MSimplePluginConnectionObs& aObs,
-        MSimpleConnection& aConn );
-
-    virtual ~CSimplePluginPublisher();
-
-    /**
-     * WinfoTerminatedL
-     *
-     * SIMPLE Winfo watcher sunscription is terminated
-     * @param aReason reason code
-     */
-     void WinfoTerminatedL( TInt aReason );
-
-     /**
-      * WINFO received from SIMPLE
-      * @param aWinfo WINFO
-      */
-     void WinfoNotificationL( MSimpleWinfo& aWinfo );
-
-private:
-
-    CSimplePluginPublisher(
-        MSimplePluginSettings& aConnSetts,    
-        MSimplePluginConnectionObs& aObs,
-        MSimpleConnection& aConn );
-
-    void ConstructL( );
-
-
-public:
-
-// from base class MSimplePublishObserver
-
-    /**
-     * Defined in a base class
-     */
-    void PublishReqCompleteL( TInt aOpid, TInt aStatus);
-
-    /**
-     * Defined in a base class
-     */
-    void PublishTerminatedL( TInt aOpid );
-
-// from base class MSimpleWatcherObserver
-
-    /**
-     * Defined in a base class
-     */
-    void WatcherReqCompleteL( TInt aOpId, TInt aStatus );
-
-    /**
-     * Defined in a base class
-     */
-    void WatcherNotificationL( MSimpleDocument& aDocument );
-
-    /**
-     * Defined in a base class
-     */
-    void WatcherListNotificationL( MSimplePresenceList& aList );
-
-    /**
-     * Defined in a base class
-     */
-    void WatcherTerminatedL(
-        TInt aOpId, TInt aReason );
-
-
-// from base class MXIMPBase
-public:
-
-    /**
-     * 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;
-
-
-// from base class MProtocolPresencePublishing
-public:
-
-    /**
-     * Defined in a base class
-     */
-    void DoPublishOwnPresenceL(
-        const MPresenceInfo& aOwnPresence,
-        TXIMPRequestId aReqId );
-
-    /**
-     * Defined in a base class
-     */
-    void DoSubscribeOwnPresenceL(
-        const MPresenceInfoFilter& aPif,
-        TXIMPRequestId aReqId );
-
-    /**
-     * Defined in a base class
-     */
-    void DoUpdateOwnPresenceSubscriptionPifL(
-        const MPresenceInfoFilter& aPif,
-        TXIMPRequestId aReqId );
-
-    /**
-     * Defined in a base class
-     */
-    void DoUnsubscribeOwnPresenceL(
-        TXIMPRequestId aReqId );
-
-    /**
-     * Defined in a base class
-     */
-    void DoSubscribePresenceWatcherListL(
-        TXIMPRequestId aReqId );
-
-    /**
-     * Defined in a base class
-     */
-    void DoUnsubscribePresenceWatcherListL(
-        TXIMPRequestId aReqId );
-
-
-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();
-
-private:
-
-
-    /**
-     * Calls MXIMPProtocolConnectionHost callback
-     * @param aStatus error status
-     */
-    void CompletePrFwReq( TInt aStatus );
-
-    /**
-     * Initialize a document
-     */
-    void InitializeSimpleDocumentL( );
-
-    /**
-     * Add person information to the document.
-     * @param aPersInfo personal information
-     */
-    void AddSimpleDocumentPersL(
-        const MPersonPresenceInfo* aInfo );
-
-    void AddSimpleDocumentServiceL(
-        const MServicePresenceInfo& aInfo );
-
-    void AddSimpleDocumentDeviceL(
-        const MDevicePresenceInfo& aInfo );
-
-    /**
-     * Make a publish request
-     */
-    void MakePublishReqL();
-
-    /**
-     * Start XDM initialization
-     */
-    void StartXdmOperationL( TXIMPRequestId aReqId );
-    
-    /**
-     * Start XDM initialization. StartXdmOperationL calls this.
-     */
-    void DoStartXdmOperationL( TXIMPRequestId aReqId );    
-    
-    /**
-     * Delete watcher information
-     */
-    void DeleteWatchers();  
-    
-    void AddWatcherIfNotExistsL( const TDesC8& aId, const TDesC& aSipId );
-        
-    void RemoveWatcherIfExistsL( const TDesC8& aId, const TDesC& aSipId ); 
-    
-    CDesCArrayFlat* MakeCurrentWatcherListLC();  
-    
-    
-    /**
-     * Update private data member of active watchers list
-     * @param aElems SIMPLE elements [IN]
-     */
-    void UpdateActiveWatchersListL( 
-        RPointerArray<MSimpleElement>& aElems );     
-
-
-private: // Data
-
-    /**
-     * PrFw Plugin connection observer
-     */
-    MSimplePluginConnectionObs& iConnObs;
-    
-    /**
-     * Current settings
-     */
-    MSimplePluginSettings& iConnSets;
-
-    /**
-     * SIMPLE engine connection
-     */
-    MSimpleConnection& iConnection;
-
-    /**
-     * SIMPLE engine publisher
-     * Own.
-     */
-    MSimplePublisher* iPublisher;
-
-    /**
-     * SIMPLE engine watcher
-     * Own.
-     */
-    MSimpleWatcher* iWatcher;
-
-    /**
-     * PrFW request id
-     */
-    TXIMPRequestId iPrFwId;
-
-    /**
-     * Simple Engine request id
-     */
-    TInt iSimpleId;
-
-    /**
-     * Subscribed winfo
-     */
-    TBool iSubscribed;
-
-    /**
-     * Subscribed own data
-     */
-    TBool iSubscribedOwn;
-
-    /**
-     * Published own data
-     */
-    TBool iPublished;
-
-    /**
-     * Current operation
-     */
-    TPluginPublishOperation iOperation;
-
-    /**
-     * Simple publish document
-     * Own.
-     */
-    MSimpleDocument* iDocument;
-
-    /**
-     * XDM Utils
-     * Not own.
-     */
-    CSimplePluginXdmUtils* iXdmUtils;
-    
-    /**
-     * WINFO watchers
-     * Own.
-     */
-    TDblQue<CSimplePluginWatcherInfo> iWatcherList;
-
-    };
-    
-    TInt CSimplePluginWatcherInfo::LinkOffset()
-        {
-        return _FOFF(CSimplePluginWatcherInfo, iLink);
-        }     
-
-#endif // CSimplePluginPublisher_H