omadrm/drmplugins/drmrecognizer/src/RecDRM.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:21:16 +0100
branchRCL_3
changeset 27 1481bf457703
parent 26 1221b68b8a5f
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
95b198f216e5 Revision: 200949
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".
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:  Symbian recognizer for DRM protected files
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
// INCLUDE FILES
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <apmrec.h>
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <apmstd.h>
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <ecom/ecom.h>
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <ecom/implementationproxy.h>
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
    24
#include <featmgr.h>
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    26
#include "RecDRM.h"
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#define RECOGNIZE_KEY_CHAIN
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
// CONSTANTS
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
const TUid KUidDRMRecognizer={ 0x101F51F4 };
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
// Version must be 1 so that it conforms to OMA DRM 1.0 specification
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
const TInt KDCFVersionSupported( 1 );
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
// minimum size of supported mime-type
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
const TInt KMinContentTypeLen( 3 );
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
// maximum amount of buffer space we will ever use
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
const TInt KMaxBufferLength=256;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
const TInt KDCFHeaderLength=3;
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
    43
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
    44
#ifdef DRM_OMA2_ENABLED
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
const TInt KLengthBoxSize = 4;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
const TInt KLengthBoxType = 4;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
const TInt KLengthBoxSize64 = 8;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
const TInt KLengthVersion = 1;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
const TInt KLengthFlags = 3;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
_LIT8(KFTypPrefix, "ftyp");
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
_LIT8(KODFPrefix, "odcf");
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    53
_LIT8(KRoapTriggerElement, "roap-trigger:roapTrigger"); // before OMA spec CR, ROAP Trigger namespace prefix was roap-trigger
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
_LIT8(KRoapTriggerElement2, "roap:roapTrigger");
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
_LIT8(KRoapTriggerType, "application/vnd.oma.drm.roap-trigger+xml");
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
    56
#endif
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    58
const TImplementationProxy ImplementationTable[] =
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    59
        {
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    60
        IMPLEMENTATION_PROXY_ENTRY(0x101F6DB8, CApaDRMRecognizer::CreateRecognizerL)
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    61
        };
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
#ifdef DRM_OMA2_ENABLED
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
TUint32 ReadUint32FromBlock(const TDesC8& aBlock, TInt aOffset)
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
    {
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
    return (aBlock[aOffset] << 24) +
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
        (aBlock[aOffset + 1] << 16) +
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
        (aBlock[aOffset + 2] << 8) +
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
        aBlock[aOffset + 3];
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
    }
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
TInt ReadIntFromBlock(const TDesC8& aBlock, TInt aOffset)
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
    {
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
    return (aBlock[aOffset] << 24) +
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
        (aBlock[aOffset + 1] << 16) +
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
        (aBlock[aOffset + 2] << 8) +
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
        aBlock[aOffset + 3];
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
    }
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
TUint16 ReadUint16FromBlock(const TDesC8& aBlock, TInt aOffset)
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
    {
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
    return ((aBlock[aOffset] << 8) + aBlock[aOffset + 1]);
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
    }
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
#endif
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
CApaDRMRecognizer::CApaDRMRecognizer():
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    87
    CApaDataRecognizerType( KUidDRMRecognizer,CApaDataRecognizerType::ENormal )
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
{
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    89
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    90
    iCountDataTypes = 0;
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    91
    return;
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
}
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
CApaDRMRecognizer::~CApaDRMRecognizer()
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
{
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
    96
    FeatureManager::UnInitializeLib();
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
}
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
CApaDataRecognizerType* CApaDRMRecognizer::CreateRecognizerL()
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
{
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   102
    FeatureManager::InitializeLibL();
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   103
	return new (ELeave) CApaDRMRecognizer ();
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
}
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   105
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
TUint CApaDRMRecognizer::PreferredBufSize()
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
{
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   109
    return KMaxBufferLength;
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
}
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
#ifdef _DEBUG
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
TDataType CApaDRMRecognizer::SupportedDataTypeL( TInt aIndex ) const
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
#else
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
TDataType CApaDRMRecognizer::SupportedDataTypeL( TInt /*aIndex*/ ) const
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
#endif
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
{
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
__ASSERT_DEBUG( aIndex >= 0 && aIndex < iCountDataTypes, User::Invariant() );
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   119
    return TDataType( _L8("application/vdn.omd.drm.content") ); // this should never be run
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
}
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
void CApaDRMRecognizer::DoRecognizeL( const TDesC& aName, const TDesC8& aBuffer )
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
{
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   124
    if ( aBuffer.Size() < 3)
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
        {
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
        return;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
        }
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   128
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   129
#ifdef RECOGNIZE_KEY_CHAIN
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   130
    // Recognize device key chain
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   131
    if ( aName.Length() > 3 && aName.Right(4).CompareF(_L(".dkc")) == 0)
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
        {
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
        iConfidence = ECertain;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
        iDataType = TDataType( _L8("application/x-device-key-chain") );
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
        return;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
        }
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   137
#endif
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   138
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
#ifdef DRM_OMA2_ENABLED
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   140
	if( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   141
	    {    
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   142
        // Recognize ROAP Trigger
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   143
        if ( RecognizeRoapTrigger( aBuffer ) )
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   144
            {
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   145
            return;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   146
            }
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   147
	
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   148
        // Recognize DCFv2    
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   149
        if ( RecognizeODF( aBuffer ) )
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   150
            {
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   151
            return;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   152
            }
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   153
	    }
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   154
#endif	
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   155
	// Recognize DCFv1
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   156
	TUint8 version = aBuffer[0];
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   157
	TUint8 contentTypeLen = aBuffer[1];
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   158
	TUint8 contentURILen = aBuffer[2];
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   159
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   160
    if ( contentTypeLen < KMinContentTypeLen || contentURILen == 0 )
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   161
    {
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
        return;
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   163
    }
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   164
    if ( version != KDCFVersionSupported )
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   165
    {
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   166
        return;
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   167
    }
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   169
    // Too little data received
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   170
    if ( aBuffer.Size() < ( contentTypeLen + KDCFHeaderLength ) )
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   171
    {
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   172
        return;
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   173
    }
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   175
    TPtrC8 mimeType = aBuffer.Mid( KDCFHeaderLength, contentTypeLen );
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   176
    if ( mimeType.Locate( '/' ) != KErrNotFound )
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   177
    {
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   178
        iConfidence = ECertain;
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   179
        iDataType=TDataType( mimeType );
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   180
    }
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   182
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   183
    return;
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
}
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
#ifdef DRM_OMA2_ENABLED
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
TBool CApaDRMRecognizer::RecognizeRoapTrigger( const TDesC8& aBuffer )
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
{
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   189
        if( ! ( FeatureManager::FeatureSupported( 
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   190
                KFeatureIdFfOmadrm2Support ) ) )
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   191
            {
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   192
            return EFalse;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   193
            }
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   194
        
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
        if ( aBuffer.FindF( KRoapTriggerElement() ) != KErrNotFound
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
             || aBuffer.FindF( KRoapTriggerElement2() ) != KErrNotFound )
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
        {
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
            iConfidence = ECertain;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
            iDataType=TDataType( KRoapTriggerType() );
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
            return ETrue;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
        }
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   202
    return EFalse;
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
}
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
TBool CApaDRMRecognizer::RecognizeODF( const TDesC8& aBuffer )
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
{
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   207
    
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   208
    if( ! ( FeatureManager::FeatureSupported(
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   209
            KFeatureIdFfOmadrm2Support ) ) )
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   210
        {
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   211
        return EFalse;
12
8a03a285ab14 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   212
        }
27
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   213
    
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   214
	if ( aBuffer.Size() < 24 ) return EFalse;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   215
	TPtrC8 ftypPrefix = aBuffer.Mid( 4, KFTypPrefix().Length() );
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   216
	if ( KFTypPrefix().CompareF( ftypPrefix ) == KErrNone )
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   217
	{
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   218
		TPtrC8 odfPrefix = aBuffer.Mid( 8, KODFPrefix().Length() );
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   219
		if ( KODFPrefix().CompareF( odfPrefix ) == KErrNone )
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   220
		{
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   221
			TBuf8<4> buffer;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   222
    		TUint32 size;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   223
    		TPtr8 ptr(NULL, 0);
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   224
    		TUint32 offset(20);
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   225
    
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   226
    		// ODRM box header
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   227
    		buffer.Zero();
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   228
    		buffer.Copy( aBuffer.Mid( offset, 4 ));
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   229
    		size = ReadUint32FromBlock( buffer, 0 );
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   230
    		offset += KLengthBoxSize + KLengthBoxType + KLengthVersion + KLengthFlags;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   231
    		
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   232
    		if (size == 1)
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   233
        	{
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   234
        		offset += KLengthBoxSize64;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   235
        	}
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   236
    		if ( aBuffer.Size() < offset+4 ) return EFalse;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   237
    		
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   238
    		// Discrete headers box header
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   239
    		buffer.Zero();
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   240
    		buffer.Copy( aBuffer.Mid( offset, 4 ));
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   241
    		size = ReadUint32FromBlock( buffer, 0 );
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   242
    		offset += KLengthBoxSize + KLengthBoxType + KLengthVersion + KLengthFlags;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   243
    		if ( size == 1 )
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   244
        	{
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   245
        		offset += KLengthBoxSize64;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   246
        	}
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   247
    		if ( aBuffer.Size() < offset+1 ) return EFalse;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   248
    		
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   249
    		// Content type
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   250
    		buffer.Zero();
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   251
    		buffer.Copy( aBuffer.Mid( offset, 1 ));
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   252
    		if ( aBuffer.Size() < offset + 1 + buffer[0] ) return EFalse;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   253
    		TPtrC8 mimeType = aBuffer.Mid( offset+1, buffer[0] );
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   254
   			
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   255
   			iConfidence = ECertain;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   256
			iDataType=TDataType( mimeType );
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   257
			return ETrue;
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   258
		}
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   259
		
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   260
	}
1481bf457703 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 26
diff changeset
   261
	return EFalse;
0
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
}
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
#endif
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
    {
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
    return ImplementationTable;
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
    }
95b198f216e5 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270