pushmtm/plugins/PushContentHandler/CSIContentHandler.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 13 Sep 2010 17:13:53 +0100
branchRCL_3
changeset 69 4455192101e4
permissions -rw-r--r--
Nokia wk34 delivery
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:  Declaration of CSIContentHandler.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#ifndef __CSICONTENTHANDLER_H__
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#define __CSICONTENTHANDLER_H__
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
// INCLUDE FILES
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include "CPushContentHandlerBase.h"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include "PushContentHandlerDef.hrh"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include <E32Base.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <msvstd.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <nw_dom_attribute.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include <CharConv.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
// CONSTANTS
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
const TUid KUidPushSIContentHandler	= { EUidPushSIContentHandler };
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
_LIT(KSIContentHandlerData,"text/vnd.wap.si||application/vnd.wap.sic");
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
// FORWARD DECLARATIONS
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
class CSIPushMsgEntry;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
// CLASS DECLARATION
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
/** 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
* CSIContentHandler handles Service Indication content  
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
* This handler takes ownership of the SI message and processes it
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
* according to the Reception rules 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
* [WAP Service Indication version 31-July-2001]
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
* and either stores the message or deletes it.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
* Also S60 specific requirements are applied.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
* OVERVIEW:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
*	The main body of this class and its functionality lies within
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
*	HandleMessage (asynchonous). This :
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
*		1. takes ownership of the push message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
*		2. validates the message and generates a parsed document tree
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
*		3. extracts the message attribute values from document tree 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
*		4. processes the received message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
*		5. finishes
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
*
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
* NB: A received message with no creation date will be stored (unless 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
* its action is set to delete or the expiry condition is met). This 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
* means that the si-id in the message store will not be unique.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
*/
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
class CSIContentHandler : public CPushContentHandlerBase
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
	{
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
    public: // Constructors and destructor
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
        * Two-phased constructor. Leaves on failure.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
        * @return The constructed object.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
	    static CSIContentHandler* NewL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
        * Destructor.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
	    virtual ~CSIContentHandler();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
    private: // Constructors
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
        * Constructor.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
	    CSIContentHandler();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
        * Symbian OS constructor.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
	    void  ConstructL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
    private: // New functions
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
        * Do Garbage Collection synchronously.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
	    void  CollectGarbageL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
        * Parse the current message. If the SI is wbxml encoded then it is 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
        * decoded first to XML format. Then the message details (attributes) 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
        * are earned from the XML tree.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
	    void  ParsePushMsgL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
        * Parse the indication element.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
        * @param aIndication The element to be parsed.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
	    void  ParseIndicationL( NW_DOM_ElementNode_t& aIndication );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
        * Parse an attribute of the indication element.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
        * @param aAttrHandle The attribute to be parsed.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
	    void  ParseIndAttributeL( NW_DOM_AttributeHandle_t& aAttrHandle );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
        * Parse the text of the indication element.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
        * @param aTextNode The text node to be parsed.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
	    void  ParseTextL( NW_DOM_TextNode_t& aTextNode );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
        * Converts the given buffer to unicode (UCS-2).
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
        * @param aSrc Source text.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
        * @param aCharSetId Character set ID.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
        * @return The UCS-2 unicode buffer.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
	    HBufC16*  ConvertToUnicodeL( const TDesC8& aSrc, TUint aCharSetId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
        * Converts the given buffer to unicode (UCS-2).
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
        * @param aString Source text.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
        * @param aCharEncoding Character encoding.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
        * @return The UCS-2 unicode buffer.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
	    HBufC16*  ConvertToUnicodeL( NW_String_t& aString, NW_Uint32 aCharEncoding );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
        * Initialise the converter. 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
        void InitialiseCharacterSetConverterL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
        * Convert the action string to a representative numeric value to 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
        * facilitate storing the message.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
        * @param aActionString The attribute value indicating the action level 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
        *        eg 'signal-high'
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
        * @return TUint: a value representing the action type.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
	    TUint ConvertActionString( const TDesC8& aActionString ) const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
        * The entry fields are set to the correct values.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
	    void  SetSIPushMsgEntryFieldsL( CSIPushMsgEntry& aSIPushMsgEntry );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
        * Do the final processing of the message according to the OMA and S60 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
        * requirements.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
	    void  ProcessingPushMsgEntryL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
        * Store the new message to Messaging.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
        * @param aMatchingEntryId ID of the matching SI entry.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
	    void StoreSIMessageL( TMsvId aMatchingEntryId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
        * Handle message order reception.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
        * NB: A received message with no creation date will be stored (unless 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
        * its action is set to delete or the expiry condition is met). This 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
        * means that the si-id in the message store will not be unique.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
        * @param aMatchingEntryId ID of the matching SI entry.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
        *        It is changed only if the function returns EFalse (replace)!
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
        * @return ETrue if the entry has to be discarded.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
	    TBool HandleMsgOrderReceptionL( TMsvId& aMatchingEntryId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
	    // conversion utilities
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
        /** 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
        * Convert UTC date time into native TTime format. Method can leave.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
        * @param aDateTime The UTC string representing the date and time.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
        * @param aConvertedDate Member date variable passed in to accept 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
        *        converted UTC date as TTime varaible.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
        * @return TBool indicates if conversion successful (ETrue) or 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
        *         conversion failed (EFalse)
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
	    TBool ConvertDateTimeL( const TDesC& aDateTime, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
                                TTime& aConvertedDate ) const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
        /** 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
        * Convert OPAQUE data to UTC date time as specified in SI spec.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
        * @param aOpaque OPAQUE data.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
        * @return The UTC time.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
	    HBufC* ConvertOpaqueToUtcL( const TDesC8& aOpaque ) const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
        * Check given UTC time string conforms to expected format:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
        * YYYY-MM-DDTHH:MM:SSZ and strip out formatting characters
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
        * then validate the remaining characters are all digits.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
        * If validated then add TTime formating character so final
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
        * string returned will be of the format YYYYMMDD:HHMMSS.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
        * @param aDateTime UTC string which is validated and returned.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
        * @return boolean: indicates if given date is valid (ETrue) 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
        *         or not (EFalse)
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
	    TBool IsValidUTCTime( TDes& aDateTime ) const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
        /** 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
        * Convert OPAQUE or STRING attribute to TTime.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
        * @param aAttrHandle Handle to the attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
        * @param aConvertedDate The resulted TTime.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
        * @return ETrue if the conversion succeeded.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
	    TBool AttributeToTTimeL( NW_DOM_AttributeHandle_t& aAttrHandle, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
                                 TTime& aConvertedDate ) const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
	    // Attribute flags
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
        * Flag whether message has an action attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
        * @param aAction boolean to set flag to - 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
        *                ETrue for action attrib present
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
        *                EFalse for no action attrib.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
        */ 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
	    inline void SetActionFlag( TBool aAction );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
        * Check status of action flag to see if message has an action 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
        * attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
        * @return TBool ETrue - action attribute present in message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
        *               EFalse - no action attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
	    inline TBool ActionFlag() const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
        * Flag whether message has a created date attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
        * @param aCreated boolean to set flag to - 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
        *                 ETrue for si-created attrib present
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
        *                 EFalse for no si-created attrib
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
        */ 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
	    inline void SetCreatedFlag( TBool aCreated );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
        * Check status of created flag to see if message has a si-created 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
        * attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
        * @return TBool ETrue - si-created attribute present in message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
        *               EFalse - no si-created attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
	    inline TBool CreatedFlag() const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
        * Flag whether message has a Href attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
        * @param aHref boolean to set flag to - 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
        *              ETrue for Href attrib present
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
        *              EFalse for no href attrib
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
        */ 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
	    inline void SetHrefFlag( TBool aHref );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
        * Check status of href flag to see if message has an href attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
        * @return TBool
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
        *         ETrue - href attribute present in message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
        *         EFalse - no href attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
	    inline TBool HrefFlag() const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
        * Flag whether message has an expiry date attribute (si-expires).
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
        * @param aExpires boolean to set flag to - 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
        *                 ETrue for si-expires present
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
        *                 EFalse for no si-expires date
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
        */ 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
	    inline void SetExpiresFlag( TBool aExpires );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
        * Check status of flag to see if message has an expiry date attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
        * @return TBool
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
        *         ETrue - si-expires attribute present in message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
        *         EFalse - no si-expires attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
	    inline TBool ExpiresFlag() const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
	    
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
        * Flag whether message has a si-id attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
        * @param aSiId boolean to set flag to - 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
        *              ETrue for si-id attrib present
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
        *              EFalse for no si-id attrib
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
        */ 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
	    inline void SetSiIdFlag( TBool aSiId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
        * Check status of flag to see if message has an si-id attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
        * @return TBool
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
        *         ETrue - si-id attribute present in message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
        *         EFalse - no si-id attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
	    inline TBool SiIdFlag() const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
        * Flag whether message has a Data attribute (text)
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
        * @param aData
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
        *        boolean to set flag to - ETrue for data attrib present
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
        *                                 EFalse for no data attrib
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
        */ 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
	    inline void SetDataFlag( TBool aData );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
        * Check status of data flag to see if message has any data.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
        * @return TBool
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
        *         ETrue - data attribute present in message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
        *         EFalse - no data attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
	    inline TBool DataFlag() const;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
    private: // Methods from CPushHandlerBase
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
	    
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
        * HandleMessage Async. Version. Takes ownership of Push Message and 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
        * sets self active to continue processing message.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
        * @param aPushMsg CPushMessage to process.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
        * @param aStatus Request status variable for use in asynchronous 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
        *        operations.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
	    void HandleMessageL( CPushMessage* aPushMsg, TRequestStatus& aStatus );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
        * HandleMessage Sync. Version. Takes ownership of Push Message and 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
        * sets self active to continue processing message.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
        * Initial State: Set data members then go to the next state 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
        * @param aPushMsg CPushMessage to process.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
	    void HandleMessageL( CPushMessage* aPushMsg );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
        /** 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
        * Same functionality as DoCancel()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
	    void CancelHandleMessage();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
        * Reserved function.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
	    void CPushHandlerBase_Reserved1();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
        * Reserved function.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
	    void CPushHandlerBase_Reserved2();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
    private: // Methods from CActive
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
        * Terminates any activity
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
	    void DoCancel();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
        * Step through the various representative states for handling a message 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
        * States:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
        *  EGarbageCollecting - Deleting expired SI msgs from messaging
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
        *  EFilteringAndParsing - Filter push msg according to Service message 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
        *                settings and Parses SI push message (retrieving the 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
        *                attributes)
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
        *  EProcessing - Processing the current entry. OMA and S60 rules are 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
        *                applied, then save or update SI msg in the Msg store
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
        *  EDone - Clean up, complete observer
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
        * @return None.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
	    void RunL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
        /**
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
        * This is invoked when RunL Leaves with an error so clean up and 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
        * return.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
        * @return Error code to scheduler.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
        */
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
	    TInt RunError(TInt aError);
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
    private: // Data
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
	    enum
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
            {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
            EAction = 0x01, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
            ECreated = 0x02, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
            EHref = 0x04, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
            EExpires = 0x08, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
            ESiId = 0x10, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
            EData = 0x20
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
            };
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
	    enum TState
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
            {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
            EGarbageCollecting, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
            EFilteringAndParsing, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
            EProcessing, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
            EDone
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
            };
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
        TMsvId          iSavedMsgId; ///< ID of the message saved.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
	    TUint32         iAttributes; ///< Attribute indication (set or not).
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
	    TInt            iPushMsgAction;	///< Action attribute
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
	    HBufC*          iHrefBuf; ///< Href attribute. Has.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
	    HBufC*          iSiIdBuf; ///< Si-id attribute. Has.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
	    TTime           iExpiresTime; ///< Expiration attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
	    TTime           iCreatedTime; ///< Created attribute.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
	    HBufC*          iData; ///< Message text. Has.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   426
        NW_Uint32       iCharEncoding; ///< Char encoding of the current msg.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   427
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   428
        //
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   429
        CCnvCharacterSetConverter* iCharacterSetConverter; ///< Owned.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   430
        CArrayFix<CCnvCharacterSetConverter::SCharacterSet>* iCharacterSetsAvailable; ///< Owned.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   431
    };
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   432
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
#include "CSIContentHandler.inl"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
#endif	// __CSICONTENTHANDLER_H__
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436