pushmtm/Plugins/PushContentHandler/CSLContentHandler.h
branchRCL_3
changeset 64 6385c4c93049
parent 63 4baee4f15982
child 65 8e6fa1719340
--- a/pushmtm/Plugins/PushContentHandler/CSLContentHandler.h	Thu Aug 19 09:57:56 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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:  Declaration of CSLContentHandler.
-*
-*/
-
-
-
-#ifndef __CSLCONTENTHANDLER_H__
-#define __CSLCONTENTHANDLER_H__
-
-// INCLUDE FILES
-
-#include "CPushContentHandlerBase.h"
-#include "PushMtmDef.hrh"
-#include "PushContentHandlerDef.hrh"
-#include <E32Base.h>
-#include <bldvariant.hrh>
-#include <nw_dom_attribute.h>
-
-// CONSTANTS
-
-const TUid KUidPushSLContentHandler	= { EUidPushSLContentHandler };
-_LIT( KSLContentHandlerData, "text/vnd.wap.sl||application/vnd.wap.slc" );
-
-// FORWARD DECLARATIONS
-
-class CSLPushMsgEntry;
-class CPushMtmAutoFetchOperation;
-
-// CLASS DECLARATION
-
-/** 
-* CSLContentHandler Handles Service Loading Content  
-*
-* This handler takes ownership of the SL message and processes it
-* according to the Reception rules 
-* [WAP Service Loading version 31-July-2001]
-* and either stores the message or deletes it.
-* Also S60 specific requirements are applied.
-*
-* NB. If __SERIES60_PUSH_SL is not defined, then all SL push messages are 
-*     discarded!
-*/
-class CSLContentHandler : public CPushContentHandlerBase
-	{
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor. Leaves on failure.
-        * @return The constructed object.
-        */
-	    static CSLContentHandler* NewL();
-
-        /**
-        * D'tor.
-        */
-	    virtual ~CSLContentHandler();
-
-    private: // Constructors
-
-        /**
-        * Constructor.
-        */
-	    CSLContentHandler();
-
-        /**
-        * Symbian OS constructor.
-        */
-	    void ConstructL();
-
-    private: // New functions
-
-        /**
-        * Do Garbage Collection synchronously when a new message arrives.
-        * @return None.
-        */
-	    void  CollectGarbageL();
-
-
-        /**
-        * Parse the Push SL message using XML parser.
-        * If Push Message is an SLC then convert it first to text using 
-        * CWbxmlConverterUtil class.
-        * @return None.
-        */
-	    void ParsePushMsgL();
-
-        /**
-        * Parse an attribute of the sl element.
-        * @param aAttrHandle The attribute to be parsed.
-        * @return None.
-        */
-	    void  ParseSlAttributeL( NW_DOM_AttributeHandle_t& aAttrHandle );
-
-        /**
-        * Convert the action string to a representative numeric value to 
-        * facilitate storing the message.
-        * @param aActionString The attribute value indicating the action level 
-        *        eg 'execute-high'
-        * @return TUint: a value representing the action type.
-        */
-	    TUint ConvertActionString( const TDesC8& aActionString ) const;
-
-        /**
-        * Set SL entry fields prior to storing message.
-        * @param aSlPushMsgEntry Entry represents message format to use when 
-        *        storing it.
-        * @return None.
-        */
-	    void SetSlPushMsgEntryFieldsL( CSLPushMsgEntry& aSlPushMsgEntry ) const;
-
-        /**
-        * Check if the message has to be discarded due to empty Href or 
-        * there is a message with higher acton value.
-        * @return None.
-        */
-	    void ProcessingPushMsgEntryL();
-
-        /**
-        * Handle Service invocation: decide what to do next according to 
-        * action value and push settings.
-        * @return Next state.
-        */
-	    TInt HandleServiceInvocationL() const;
-
-        /**
-        * Download the indicated content.
-        * In case of execute-high use the Browser to download the service.
-        * In case of cache use the fetch operation to download the service 
-        * silently.
-        * @return None.
-        */
-	    void FetchPushMsgEntryL();
-
-        /**
-        * Start the Browser and instruct it to download the content 
-        * indicated by the Sl's URI.
-        * @return None.
-        */
-	    void StartBrowserL();
-
-        /**
-        * Check the result of the SL-cache downloading. If it fails, save the 
-        * message. If it succeeds, discard the message.
-        * @return None.
-        */
-	    void FetchCompletedL();
-
-        /**
-        * Apply reception rules and save the push message. 
-        * If a message already exists with the same URL, 
-        * it is saved only if it has a higher action value.
-        * @return None.
-        */
-	    void SavePushMsgEntryL();
-
-        /**
-        * Store the new message to Messaging.
-        * @param aMatchingEntryId ID of the matching SI entry.
-        * @return None.
-        */
-	    void StoreSLMessageL( TMsvId aMatchingEntryId );
-
-	    // Attribute flags
-
-        /**
-        * Flag whether message has an action attribute
-        * @param aAction boolean to set flag to - 
-        *                ETrue for action attrib present
-        *                EFalse for no action attrib.
-        */ 
-	    inline void SetActionFlag( TBool aAction );
-
-        /**
-        * Check status of action flag to see if message has an action 
-        * attribute.
-        * @return TBool ETrue - action attribute present in message
-        *               EFalse - no action attribute.
-        */
-	    inline TBool ActionFlag() const;
-
-        /**
-        * Flag whether message has a Href attribute
-        * @param aHref boolean to set flag to - 
-        *              ETrue for Href attrib present
-        *              EFalse for no href attrib
-        */ 
-	    inline void SetHrefFlag( TBool aHref );
-
-        /**
-        * Check status of href flag to see if message has an href attribute.
-        * @return TBool
-        *         ETrue - href attribute present in message
-        *         EFalse - no href attribute
-        */
-	    inline TBool HrefFlag() const;
-
-
-    private: // Methods from CPushHandlerBase
-	    
-        /**
-        * HandleMessage Async. Version. Takes ownership of Push Message and 
-        * sets self active to continue processing message.
-        * @param aPushMsg CPushMessage to process.
-        * @param aStatus Request status variable for use in asynchronous 
-        *        operations.
-        * @return None.
-        */
-	    void HandleMessageL(CPushMessage* aPushMsg, TRequestStatus& aStatus);
-
-        /**
-        * HandleMessage Sync. Version. Takes ownership of Push Message and 
-        * sets self active to continue processing message.
-        * Initial State: Set data members then go to the next state 
-        * @param aPushMsg CPushMessage to process.
-        */
-	    void HandleMessageL(CPushMessage* aPushMsg);
-
-        /** 
-        * Same functionality as DoCancel()
-        */
-	    void CancelHandleMessage();
-
-        /**
-        * Reserved function.
-        */
-	    void CPushHandlerBase_Reserved1();
-
-        /**
-        * Reserved function.
-        */
-	    void CPushHandlerBase_Reserved2();
-
-    private: // Methods from CActive
-
-        /**
-        * Terminates any activity.
-        * @return None.
-        */
-	    void DoCancel();
-
-        /**
-        * Step through the various representative states for handling a 
-        * message.
-        * @return None.
-        */
-	    void RunL();
-
-        /**
-        * This is invoked when RunL Leaves with an error so clean up and 
-        * return.
-        * @return Error code to scheduler.
-        */
-	    TInt RunError( TInt aError );
-
-    private: // Data
-
-	    enum
-            {
-            EAction = 0x01, 
-            EHref = 0x02
-            };
-
-	    enum TState                 ///< States of this state machine.
-            {
-            EGarbageCollecting, 
-            EFilteringAndParsing,
-            EProcessing, 
-            EFetching, 
-            EFetchCompleted, 
-            ESavePushMsgEntry, 
-            EDone
-            };
-
-        TMsvId          iSavedMsgId; ///< ID of the saved message.
-        TUint32         iAttributes; ///< Attribute indication (set or not).
-	    TInt            iPushMsgAction; ///< SL action.
-	    HBufC*          iHrefBuf; ///< Href attribute. Has.
-
-        /// Asynchronous fetch operation that downloads the SL-cache. Owned.
-        CPushMtmAutoFetchOperation* iFetchOp;
-
-        NW_Uint32       iCharEncoding; ///< Char encoding of the current msg.
-        TBool           iSaveAsRead; ///< Mark the message 'read' after saving.
-        TInt            iPushSLEnabled;
-    };
-
-#include "CSLContentHandler.inl"
-
-#endif	// __CSLCONTENTHANDLER_H__
-