pushmtm/plugins/PushContentHandler/CUnknownContentHandler.cpp
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:  Implementation of CUnknownContentHandler.
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
// INCLUDE FILES
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include "CUnknownContentHandler.h"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include "PushMtmUtil.h"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include "PushMtmLog.h"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include "PushContentHandlerPanic.h"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include "StringResourceReader.h"
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <msvids.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#ifdef __SERIES60_PUSH_SP 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <CUnknownPushMsgEntry.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <BioDB.h>        // BIO Message Database and message query methods
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include <gsmubuf.h>    // CSmsBuffer class
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include <gsmumsg.h>    // CSmsMessage class
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include <smuthdr.h>    // CSmsHeader class
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include <smut.h>        // TSmsUtilities class
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include <txtrich.h>    // CRichText class
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include <biouids.h>    // KUidBioMessageTypeMtm const
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#include <apgcli.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#include <apmrec.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
#include <DocumentHandler.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#include <Uri16.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#include <UriUtils.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
#include <msvuids.h>    // KUidMsvMessageEntry const
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
#include <PushMtmUi.rsg>
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
// SMUT Unbranch
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#include <csmsgetdetdescinterface.h>
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
#endif // __SERIES60_PUSH_SP 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
// CONSTANTS
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
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
// ================= MEMBER FUNCTIONS =======================
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
// CUnknownContentHandler::NewL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
CUnknownContentHandler* CUnknownContentHandler::NewL()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
    PUSHLOG_ENTERFN("CUnknownContentHandler::NewL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
    CUnknownContentHandler* self = new (ELeave) CUnknownContentHandler; 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
    CleanupStack::PushL( self );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
    self->ConstructL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
    CleanupStack::Pop( self );
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
    PUSHLOG_LEAVEFN("CUnknownContentHandler::NewL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
    return self;
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
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
// CUnknownContentHandler::~CUnknownContentHandler
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
// ---------------------------------------------------------
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
CUnknownContentHandler::~CUnknownContentHandler()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
    PUSHLOG_ENTERFN("CUnknownContentHandler::~CUnknownContentHandler")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
    Cancel();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
    PUSHLOG_LEAVEFN("CUnknownContentHandler::~CUnknownContentHandler")
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
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
// CUnknownContentHandler::CUnknownContentHandler
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
CUnknownContentHandler::CUnknownContentHandler()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
:   CPushContentHandlerBase(), 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
    iSavedMsgId( KMsvNullIndexEntryId )
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
    }
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
// CUnknownContentHandler::ConstructL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
// ---------------------------------------------------------
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 CUnknownContentHandler::ConstructL()
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
    PUSHLOG_ENTERFN("CUnknownContentHandler::ConstructL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
    CPushContentHandlerBase::ConstructL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
    // Added to Active Scheduler.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
    PUSHLOG_LEAVEFN("CUnknownContentHandler::ConstructL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
    }
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
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
// CUnknownContentHandler::CollectGarbageL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
// ---------------------------------------------------------
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 CUnknownContentHandler::CollectGarbageL()
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
    PUSHLOG_ENTERFN("CUnknownContentHandler::CollectGarbageL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
    DoCollectGarbageL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
#ifdef __SERIES60_PUSH_SP
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
    iState = EFilteringAndProcessing;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
#else // __SERIES60_PUSH_SP
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
    // Do nothing - message is discarded.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
    iState = EDone;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
#endif // __SERIES60_PUSH_SP
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
    IdleComplete();
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
    PUSHLOG_LEAVEFN("CUnknownContentHandler::CollectGarbageL")
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
#ifdef __SERIES60_PUSH_SP
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
// CUnknownContentHandler::ProcessingPushMsgEntryL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
// ---------------------------------------------------------
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
void CUnknownContentHandler::ProcessingPushMsgEntryL()
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
    PUSHLOG_ENTERFN("CUnknownContentHandler::ProcessingPushMsgEntryL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
    const TBool bioMsg( BioMessageTypeL() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
    if ( bioMsg )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
        PUSHLOG_WRITE(" BIO message");
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
        // convert to bio format & save
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
        SaveBioMessageEntryL();
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
    else
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
        PUSHLOG_WRITE(" Not BIO message");
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
        // Check if the received content is supported.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
        RApaLsSession apaLs;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
        User::LeaveIfError( apaLs.Connect() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
        CleanupClosePushL<RApaLsSession>( apaLs );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
        // Try to find out the data type.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
        TPtrC contentTypePtr;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
        iMessage->GetContentType( contentTypePtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
        HBufC8* contentT8 = HBufC8::NewMaxLC( contentTypePtr.Length() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
        contentT8->Des().Copy( contentTypePtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
        TDataRecognitionResult result;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
        User::LeaveIfError( apaLs.RecognizeData( KNullDesC(), 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
                                                 *contentT8, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
                                                 result ) );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
        CleanupStack::PopAndDestroy( contentT8 ); // contentT8
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
        CDocumentHandler* docHandler = CDocumentHandler::NewLC( NULL );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
        TBool supported = docHandler->CanOpenL( result.iDataType );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
        CleanupStack::PopAndDestroy( 2, &apaLs ); // docHandler, apaLs
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
        // Save only supported msg.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
        if ( supported )
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
                // create unknown push message entry and save
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
                SaveUnknownPushMsgEntryL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
            }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
        }
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
    iState = EDone;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
    IdleComplete();
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
    PUSHLOG_LEAVEFN("CUnknownContentHandler::ProcessingPushMsgEntryL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
// CUnknownContentHandler::BioMessageTypeL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
TBool CUnknownContentHandler::BioMessageTypeL()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
    PUSHLOG_ENTERFN("CUnknownContentHandler::BioMessageTypeL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
    // need to create local RFs for BIO otherwise raises exception
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
    RFs localFS;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
    CleanupClosePushL( localFS );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
    User::LeaveIfError( localFS.Connect() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
    CBIODatabase* bioDB = CBIODatabase::NewLC( localFS );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
    TPtrC contentTypePtr;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    iMessage->GetContentType( contentTypePtr );
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
    iBioMsgUID = KNullUid;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
    TBool isBio = EFalse;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
    // IsBioMessageL returns KErrNone if found or KErrNotFound if not found 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    if ( bioDB->IsBioMessageL( EBioMsgIdIana, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
                           contentTypePtr, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
                           NULL, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
                           iBioMsgUID ) == KErrNone )
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
        isBio = ETrue;
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
    CleanupStack::PopAndDestroy( 2 ); // bioDB, localFS
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    PUSHLOG_LEAVEFN("CUnknownContentHandler::BioMessageTypeL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    return isBio;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
// CUnknownContentHandler::SaveBioMessageEntryL
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
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
void CUnknownContentHandler::SaveBioMessageEntryL()
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
    PUSHLOG_ENTERFN("CUnknownContentHandler::SaveBioMessageEntryL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
    // create sms message from CPushMessage and then save message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
    RFs fileSession;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
    User::LeaveIfError(fileSession.Connect());
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
    CleanupClosePushL(fileSession);
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
    CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
    CleanupStack::PushL(smsBuffer);
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
    CSmsMessage* smsMessage = CSmsMessage::NewL( fileSession, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
                                                 CSmsPDU::ESmsDeliver, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
                                                 smsBuffer );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
    CleanupStack::PushL( smsMessage );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
    smsMessage->SmsPDU().SetAlphabet( TSmsDataCodingScheme::ESmsAlphabet8Bit );
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
    TPtrC8 fieldValue;
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
    if ( iMessage->GetBinaryHeaderField( EHttpFrom, fieldValue ) ||
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
     iMessage->GetBinaryHeaderField( EHttpXWapInitiatorURI, fieldValue ) ||
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
     iMessage->GetBinaryHeaderField( EHttpContentLocation, fieldValue ) )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
        // Convert 8 bit to 16 bit
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
        HBufC* tempAddr = HBufC::NewLC( fieldValue.Length() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
        tempAddr->Des().Copy( fieldValue );
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
        smsMessage->SmsPDU().SetToFromAddressL( *tempAddr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
        CleanupStack::PopAndDestroy( tempAddr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
    if ( iMessage->GetMessageBody( fieldValue ) )
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
        HBufC* tempBody = HBufC::NewLC( fieldValue.Length() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
        tempBody->Des().Copy( fieldValue );
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
        smsBuffer->InsertL( 0, *tempBody );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
        CleanupStack::PopAndDestroy( tempBody );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
    CleanupStack::Pop( 2 ); //smsBuffer, smsMessage
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
    StoreMsgL( smsMessage ); // destroys CSmsMessage (contains smsBuffer)
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
    CleanupStack::PopAndDestroy( &fileSession );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
    PUSHLOG_LEAVEFN("CUnknownContentHandler::SaveBioMessageEntryL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
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
// CUnknownContentHandler::StoreMsgL
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
void CUnknownContentHandler::StoreMsgL( CSmsMessage* aSmsMsg )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
    PUSHLOG_ENTERFN("CUnknownContentHandler::StoreMsgL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
    CleanupStack::PushL( aSmsMsg );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
    // Create a CSmsHeader based on this message. smsHdr takes ownership of aSmsMsg
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
    CSmsHeader* smsHdr = CSmsHeader::NewL( aSmsMsg );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
    CleanupStack::Pop( aSmsMsg );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
    CleanupStack::PushL( smsHdr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
    // get root entry
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
    CMsvEntry* msvEntry = iMsvSession->GetEntryL( KMsvRootIndexEntryId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
    CleanupStack::PushL( msvEntry );
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
    // create an invisible blank entry 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
    TMsvEntry entry;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
    entry.iType = KUidMsvMessageEntry;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
    entry.SetVisible( EFalse );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
    entry.SetInPreparation( ETrue );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
    entry.SetReadOnly( EFalse );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
    entry.SetUnread( ETrue );
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
    TMsvId serviceId = SetBioServiceIdL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
    TBuf<KSmsDescriptionLength> description;    
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
// SMUT Unbranch
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
    CSmsGetDetDescInterface* smsPlugin = CSmsGetDetDescInterface::NewL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
    CleanupStack::PushL( smsPlugin );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
    if ( iBioMsgUID != KNullUid )
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
        // sets entry with values passed in
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
        TSmsUtilities::PopulateMsgEntry( entry, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
                                         *aSmsMsg, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
                                         serviceId, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
                                         KUidBIOMessageTypeMtm );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
        entry.iBioType = iBioMsgUID.iUid;
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
        // Look up and set the description
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
        TInt index;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
        CBIODatabase* bioDB = CBIODatabase::NewLC( msvEntry->Session().FileSession() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
        bioDB->GetBioIndexWithMsgIDL( iBioMsgUID, index );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
        description.Copy( bioDB->BifReader(index).Description() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
        entry.iDescription.Set( description );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
        CleanupStack::PopAndDestroy(); // bioDB
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
    else
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
        // sets entry with values passed in
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
        TSmsUtilities::PopulateMsgEntry( entry, *aSmsMsg, serviceId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
        // Look up and set the description
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
// SMUT Unbranch
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
        smsPlugin->GetDescription( *aSmsMsg, description );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
        entry.iDescription.Set( description );
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
    // Set the details
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
    TBuf<KSmsDetailsLength> details;    
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
    TInt err = smsPlugin->GetDetails( msvEntry->Session().FileSession(), 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
                                          *aSmsMsg, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
                                          details );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
    if ( !err )
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
        entry.iDetails.Set( details );
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
// SMUT Unbranch
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
    CleanupStack::PopAndDestroy( smsPlugin );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
    // Store entry in inbox
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
    msvEntry->SetEntryL( KMsvGlobalInBoxIndexEntryId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
    msvEntry->CreateL( entry );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
    msvEntry->Session().CleanupEntryPushL( entry.Id() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
    msvEntry->SetEntryL( entry.Id() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
    // Save the message
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
    CMsvStore* store = msvEntry->EditStoreL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
    CleanupStack::PushL( store );
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
    // Save off the CSmsHdr
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
    smsHdr->StoreL( *store );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
    // Save the body
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
    // Create and fill a CRichText object to save to store..
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
    CParaFormatLayer* paraFormatLayer = CParaFormatLayer::NewL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
    CleanupStack::PushL( paraFormatLayer );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
    CCharFormatLayer* charFormatLayer = CCharFormatLayer::NewL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
    CleanupStack::PushL( charFormatLayer );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
    CRichText* richText = CRichText::NewL( paraFormatLayer, charFormatLayer );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
    CleanupStack::PushL( richText );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
    HBufC* bufBody=HBufC::NewLC( aSmsMsg->Buffer().Length() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
    TPtr bufBodyPtr = bufBody->Des();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
    aSmsMsg->Buffer().Extract( bufBodyPtr, 0, aSmsMsg->Buffer().Length() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
    richText->InsertL( 0, bufBodyPtr ); 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
    store->StoreBodyTextL( *richText );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
    CleanupStack::PopAndDestroy( 4 ); //bufBody, richText, charFormatLayer, paraFormatLayer
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
    
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
    store->CommitL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
    entry.SetReadOnly( ETrue );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
    entry.SetVisible( ETrue );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
    entry.SetInPreparation( EFalse );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
    msvEntry->ChangeL( entry );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
    CleanupStack::PopAndDestroy(); //store
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
    msvEntry->Session().CleanupEntryPop(); //entry
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
    CleanupStack::PopAndDestroy( 2 ); //msvEntry, smsHdr
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
    PUSHLOG_LEAVEFN("CUnknownContentHandler::StoreMsgL")
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
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
// CUnknownContentHandler::SetBioServiceIdL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
// ---------------------------------------------------------
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
TMsvId CUnknownContentHandler::SetBioServiceIdL()
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
    PUSHLOG_ENTERFN("CUnknownContentHandler::SetBioServiceIdL")
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
    CMsvEntry* msvEntry = iMsvSession->GetEntryL( KMsvRootIndexEntryId );
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
    CleanupStack::PushL( msvEntry );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
    
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
    TMsvId serviceId = KMsvNullIndexEntryId; 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
    TRAPD( err, TSmsUtilities::ServiceIdL( *msvEntry, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
                                           serviceId, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
                                           KUidBIOMessageTypeMtm ) );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
    if ( err == KErrNotFound )
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
        serviceId = KMsvLocalServiceIndexEntryId;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
        err = KErrNone;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
    
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
    CleanupStack::PopAndDestroy(); //msvEntry
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
    User::LeaveIfError( err );
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
    PUSHLOG_LEAVEFN("CUnknownContentHandler::SetBioServiceIdL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
    return serviceId;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
// CUnknownContentHandler::SaveUnknownPushMsgEntryL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
void CUnknownContentHandler::SaveUnknownPushMsgEntryL()
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
    PUSHLOG_ENTERFN("CUnknownContentHandler::SaveUnknownPushMsgEntryL")
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
    CUnknownPushMsgEntry* unknownPushMsgEntry = 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   429
                          CUnknownPushMsgEntry::NewL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   430
    CleanupStack::PushL( unknownPushMsgEntry );
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
    SetUnknownPushMsgEntryFieldsL( *unknownPushMsgEntry );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
    iSavedMsgId = unknownPushMsgEntry->SaveL( *iMsvSession, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
                                              KMsvGlobalInBoxIndexEntryId );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
    CleanupStack::PopAndDestroy( unknownPushMsgEntry ); // unknownPushMsgEntry
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   439
    PUSHLOG_LEAVEFN("CUnknownContentHandler::SaveUnknownPushMsgEntryL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
// CUnknownContentHandler::SetUnknownPushMsgEntryFieldsL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   445
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   446
void CUnknownContentHandler::SetUnknownPushMsgEntryFieldsL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
                             ( CUnknownPushMsgEntry& aUnknownPushMsgEntry )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   448
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   449
    PUSHLOG_ENTERFN("CUnknownContentHandler::SetUnknownPushMsgEntryFieldsL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   450
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   451
    // Set all the relevant fields
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   452
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   453
    // Get server address.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   454
    TPtrC8 srvAddress;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   455
    if ( iMessage->GetServerAddress( srvAddress ) )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   456
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   457
        aUnknownPushMsgEntry.SetFromL( srvAddress );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   458
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   459
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   460
    TPtrC contentTypePtr;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
    iMessage->GetContentType( contentTypePtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   462
    aUnknownPushMsgEntry.SetContentTypeL( contentTypePtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
    TPtrC8 msgBodyPtr;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
    iMessage->GetMessageBody( msgBodyPtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
    aUnknownPushMsgEntry.SetMessageDataL( msgBodyPtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
    // First line in Inbox: TMsvEntry::iDetails.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
    if ( srvAddress.Length() == 0 )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
        // Read from resource.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   472
        HBufC* details = 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
            iStrRscReader->AllocReadResourceLC( R_PUSHMISC_UNK_SENDER );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
        aUnknownPushMsgEntry.SetMsgDetailsL( *details );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
        CleanupStack::PopAndDestroy( details );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   476
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
    else
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   478
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
        // Convert the "From" information to the format required by the UI 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
        // spec and then decode it.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
        HBufC* details = iWapPushUtils->ConvertDetailsL( srvAddress );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
        CleanupStack::PushL( details );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
        HBufC* convertedFrom = 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
            CPushMtmUtil::ConvertUriToDisplayFormL( *details );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
        CleanupStack::PushL( convertedFrom );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
        //
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
        aUnknownPushMsgEntry.SetMsgDetailsL( *convertedFrom );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
        //
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
        CleanupStack::PopAndDestroy( 2, details ); // convertedFrom, details
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
    // Second line in Inbox: TMsvEntry::iDescription.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
    TPtrC8 contentUriPtr;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
    iMessage->GetBinaryHeaderField( EHttpXWapContentURI, contentUriPtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
    // Copy the 8-bit descriptor into a unicode one.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
    HBufC* contentUri = HBufC::NewMaxLC( contentUriPtr.Length() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
    contentUri->Des().Copy( contentUriPtr );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
    // Extract file name from X-wap-content-uri.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
    HBufC* fileName = FileNameFromUriL( *contentUri );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
    CleanupStack::PopAndDestroy( contentUri ); // contentUri
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
    CleanupStack::PushL( fileName );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
    if ( fileName->Length() == 0 )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
        // TODO: Read from resource.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
        //"Unknown content type" qtn_wap_push_msg_content_not_supported
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
    else
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   510
        aUnknownPushMsgEntry.SetMsgDescriptionL( *fileName );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
    CleanupStack::PopAndDestroy( fileName ); // fileName
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
    PUSHLOG_LEAVEFN("CUnknownContentHandler::SetUnknownPushMsgEntryFieldsL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
// CUnknownContentHandler::FileNameFromUriL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
HBufC* CUnknownContentHandler::FileNameFromUriL( const TDesC& aUri ) const
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
    TUriParser pars;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
    User::LeaveIfError( pars.Parse( aUri ) );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
    HBufC* res = NULL;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
    if ( pars.IsPresent( EUriPath ) )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
        TPtrC path = pars.Extract( EUriPath );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
        // Extract the remaining text after the last slash character.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
        // If the path contains a file name, then it has to contain 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
        // a slash also, so if there is no slash then it's sure that there 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
        // is no file name in it.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
        TInt index = path.LocateReverse( TChar('/') );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
        if ( index < 0 )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
            {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
            // No file name.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
            }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
        else if ( ++index < path.Length() ) // If not at the end...
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
            {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
            // Last slash found. Extract the text after the slash.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
            res = path.Mid( index ).AllocL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
            }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
    if ( !res )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
        res = KNullDesC().AllocL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
    return res;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
#endif // __SERIES60_PUSH_SP
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
// CUnknownContentHandler::HandleMessageL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
void CUnknownContentHandler::HandleMessageL( CPushMessage* aPushMsg, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
                                             TRequestStatus& aStatus )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
    PUSHLOG_ENTERFN("CUnknownContentHandler::HandleMessageL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
    __ASSERT_DEBUG( aPushMsg != NULL, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   568
                    ContHandPanic( EPushContHandPanMsgNull ) );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   569
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   570
    iMessage = aPushMsg;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   571
    iAcknowledge = ETrue;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   572
    SetConfirmationStatus( aStatus );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
    iState = EGarbageCollecting;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
    IdleComplete();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
// CUnknownContentHandler::HandleMessageL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
void CUnknownContentHandler::HandleMessageL( CPushMessage* aPushMsg )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   582
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   583
    PUSHLOG_ENTERFN("CUnknownContentHandler::HandleMessageL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   584
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   585
    __ASSERT_DEBUG( aPushMsg != NULL, 
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   586
                    ContHandPanic( EPushContHandPanMsgNull ) );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   587
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   588
    iAcknowledge = EFalse;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   589
    iMessage = aPushMsg;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   590
    iState = EGarbageCollecting;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   591
    IdleComplete();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   592
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   593
    PUSHLOG_LEAVEFN("CUnknownContentHandler::HandleMessageL")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   594
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   596
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
// CUnknownContentHandler::CancelHandleMessage
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
void CUnknownContentHandler::CancelHandleMessage()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
    PUSHLOG_ENTERFN("CUnknownContentHandler::CancelHandleMessage")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
    Cancel();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   604
    PUSHLOG_LEAVEFN("CUnknownContentHandler::CancelHandleMessage")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   605
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   606
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   608
// CUnknownContentHandler::CPushHandlerBase_Reserved1
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   609
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   610
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   611
void CUnknownContentHandler::CPushHandlerBase_Reserved1()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   612
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   614
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   615
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   616
// CUnknownContentHandler::CPushHandlerBase_Reserved2
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
void CUnknownContentHandler::CPushHandlerBase_Reserved2()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   624
// CUnknownContentHandler::DoCancel
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   625
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   626
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
void CUnknownContentHandler::DoCancel()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   628
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   629
    PUSHLOG_ENTERFN("CUnknownContentHandler::DoCancel")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
    Complete( KErrCancel );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   631
    PUSHLOG_LEAVEFN("CUnknownContentHandler::DoCancel")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   632
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   634
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   635
// CUnknownContentHandler::RunL
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   636
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   637
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   638
void CUnknownContentHandler::RunL()
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   639
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   640
    // Handle errors in RunError().
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   641
    PUSHLOG_WRITE_FORMAT("iStatus.Int(): %d",iStatus.Int())
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   642
    User::LeaveIfError( iStatus.Int() );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   643
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   644
    // use active state machine routine to manage activites:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   645
    switch ( iState )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   646
        {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   647
        case EGarbageCollecting:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   648
            {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   649
            CollectGarbageL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   650
            break;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   651
            }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   652
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   653
#ifdef __SERIES60_PUSH_SP
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   654
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   655
        case EFilteringAndProcessing:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   656
            {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   657
            if ( !FilterPushMsgL() )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   658
                {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   659
                // It did not pass the filter. Done.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   660
                iState = EDone;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   661
                IdleComplete();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   662
                }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   663
            else
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   664
                {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   665
                // Continue.
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   666
                ProcessingPushMsgEntryL();
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   667
                }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   668
            break;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   669
            }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   670
        
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   671
#endif // __SERIES60_PUSH_SP
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   672
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   673
        default:
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   674
            {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   675
            PUSHLOG_WRITE("CUnknownContentHandler default EDone")
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   676
            Complete( KErrNone );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   677
            break;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   678
            }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   679
        }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   680
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   681
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   682
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   683
// CUnknownContentHandler::RunError
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   684
// ---------------------------------------------------------
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   685
//
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   686
TInt CUnknownContentHandler::RunError( TInt aError )
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   687
    {
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   688
    PUSHLOG_WRITE_FORMAT("CUnknownContentHandler::RunError: %d",aError)
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   689
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   690
    iState = EDone;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   691
    Complete( aError );
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   692
    return KErrNone;
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   693
    }
4455192101e4 Nokia wk34 delivery
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   694