breakdeps/SVGDocumentImpl.cpp
author William Roberts <williamr@symbian.org>
Thu, 18 Nov 2010 15:45:28 +0000
changeset 138 6028e81d48fd
parent 56 865fbeda552a
permissions -rw-r--r--
Update stem_rom.oby and rom_content.csv to remove multimedia Also removed spurious Phonebook2_reg.rsc file which causes PhoneBook to appear in the matrix menu
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     1
/*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     8
*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    11
*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    12
* Contributors:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    13
*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    14
* Description:  SVG Implementation source file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    15
 *
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    16
*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    17
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    18
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    19
#include <utf.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    20
#include <s32mem.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    21
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    22
#include "SVGContentHandler.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    23
#include "Svgdecoder.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    24
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    25
#include  "SVGDocumentImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    26
#include  "SVGEngineImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    27
#include  "SVGSvgElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    28
#include  "SVGLineElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    29
#include  "SVGRectElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    30
#include  "SVGCircleElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    31
#include  "SVGEllipseElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    32
#include  "SVGPolylineElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    33
#include  "SVGGElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    34
#include  "SVGPathElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    35
#include  "SVGMpathElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    36
#include  "SVGSchemaData.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    37
#include  "SVGTextElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    38
#include  "SVGImageElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    39
#include  "SVGUseElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    40
#include  "SVGAElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    41
#include  "SVGStyleElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    42
#include  "SVGForeignObjectElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    43
#include  "SVGSetElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    44
#include  "SVGAnimateTransformElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    45
#include  "SVGAnimateElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    46
#include  "SVGAnimateMotionElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    47
#include  "SVGAnimationElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    48
#include  "SVGMetadataElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    49
#include  "SVGDescElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    50
#include  "SVGDefsElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    51
#include  "SVGTitleElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    52
#include  "SVGFontElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    53
#include  "SVGFontFaceElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    54
#include  "SVGGlyphElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    55
#include  "SVGMissingGlyphElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    56
#include  "SvgHkernelementimpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    57
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    58
#include "SVGLinearGradientElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    59
#include "SVGRadialGradientElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    60
#include "SvgStopElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    61
#include "SVGDiscardElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    62
#include "SVGScriptElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    63
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
    64
//#include "SVGAudioElementImpl.h"
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    65
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    66
//#ifdef RD_SVGT_MEDIAANIMATION_SUPPORT
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    67
#include "SVGMediaAnimationElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    68
//#endif
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    69
#include "SVGTextAreaElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    70
#include "SVGSolidColorElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    71
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    72
#include "SVGFloatCssValueImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    73
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    74
#include "SVGEventHandler.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    75
#include "SVGErrorImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    76
#include "SVGFontHashMap.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    77
#include "SVGTimeContainer.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    78
#include <ezgzip.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    79
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    80
#include <caf/caf.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    81
#include <bautils.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    82
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    83
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    84
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    85
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    86
CSvgDocumentImpl* CSvgDocumentImpl::NewL( CSvgBitmapFontProvider* aSvgBitmapFontProvider, const TBool aHasParent,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    87
    const TSvgSyncBehaviour aSyncBehavDefault,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    88
    const TInt32 aSyncTolDefault )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    89
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    90
    CSvgDocumentImpl*   self    = new ( ELeave ) CSvgDocumentImpl(aSvgBitmapFontProvider, 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    91
        aHasParent, aSyncBehavDefault, aSyncTolDefault );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    92
    CleanupStack::PushL( self );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    93
    self->ConstructL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    94
    CleanupStack::Pop();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    95
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    96
    return self;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    97
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    98
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    99
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   100
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   101
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   102
CSvgDocumentImpl* CSvgDocumentImpl::NewLC( CSvgBitmapFontProvider* aSvgBitmapFontProvider, const TBool aHasParent,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   103
    const TSvgSyncBehaviour aSyncBehavDefault,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   104
    const TInt32 aSyncTolDefault )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   105
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   106
    CSvgDocumentImpl*   self    = new ( ELeave ) CSvgDocumentImpl(aSvgBitmapFontProvider,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   107
        aHasParent, aSyncBehavDefault, aSyncTolDefault );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   108
    CleanupStack::PushL( self );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   109
    self->ConstructL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   110
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   111
    return self;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   112
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   113
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   114
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   115
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   116
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   117
void CSvgDocumentImpl::ConstructL()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   118
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   119
    iSchemaData = CSvgSchemaData::NewL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   120
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   121
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   122
    iEventHandler = CSvgEventHandler::NewL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   123
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   124
    // create CSvgErrorImpl object
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   125
//   iSvgError = CSvgErrorImpl::NewL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   126
    iIsInteractive = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   127
    iHasGroupOpacity = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   128
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   129
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   130
//	iImageHashMap = CSvgImageHashMap::NewL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   131
	iFontHashMap = CSvgFontHashMap::NewL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   132
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   133
	iMemoryManager = CSvgMemoryManager::NewL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   134
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   135
		iTimeForJSR226 = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   136
    // Create the time container used for Runtime Sync
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   137
    iTimeContainer = CSvgTimeContainer::NewL( this, iHasParent );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   138
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   139
    // Add to the time container
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   140
    iTimeContainer->AddTimedEntityL( this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   141
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   142
    //set media state to ready as default for document
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   143
    iTimeContainer->TimedEntityReady( this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   144
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   145
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   146
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   147
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   148
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   149
CSvgDocumentImpl::CSvgDocumentImpl( CSvgBitmapFontProvider* aSvgBitmapFontProvider, const TBool aHasParent,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   150
    const TSvgSyncBehaviour aSyncBehavDefault,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   151
    const TInt32 aSyncTolDefault ) : 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   152
                                       iInitSortList( ETrue ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   153
                                       iReqExReqFtrSysLTested( EFalse ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   154
                                       iFinishedParsing( EFalse ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   155
                                       iFontHashMap( NULL ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   156
                                       iEngine(NULL),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   157
                                       iMultipleRendering( EFalse ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   158
                                       iHasGradientElement( EFalse ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   159
                                       iIsThumbNailMode( EFalse ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   160
                                       iIsDRMProtected( EFalse ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   161
                                       iHasParent( aHasParent ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   162
                                       iSyncBehaviorDefault( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   163
                                        aSyncBehavDefault ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   164
                                       iSyncToleranceDefault( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   165
                                        aSyncTolDefault),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   166
                                        iSvgBitmapFontProvider(aSvgBitmapFontProvider)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   167
                                                                                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   168
                                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   169
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   170
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   171
    SetDRMMode( ETrue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   172
    SetDRMRights( ETrue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   173
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   174
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   175
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   176
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   177
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   178
CSvgDocumentImpl::~CSvgDocumentImpl()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   179
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   180
    if ( iTimeContainer )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   181
       {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   182
       // Stop timer and reset time
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   183
       iTimeContainer->UserStop();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   184
       iTimeContainer->UserResetTime();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   185
       }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   186
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   187
    if (iPerfText)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   188
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   189
        delete iPerfText;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   190
        iPerfText = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   191
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   192
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   193
    if( iSchemaData )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   194
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   195
        delete iSchemaData;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   196
        iSchemaData = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   197
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   198
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   199
    if( iEventHandler )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   200
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   201
        delete iEventHandler;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   202
        iEventHandler = NULL ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   203
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   204
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   205
//    if( iSvgError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   206
//        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   207
//        delete iSvgError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   208
//        iSvgError = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   209
//        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   210
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   211
    if( iRootElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   212
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   213
        delete iRootElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   214
        iRootElement = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   215
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   216
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   217
/*	if ( iImageHashMap )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   218
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   219
		//probably should check to verify that the image ptrs
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   220
		//in this have had their images deleted somehow to be safe
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   221
		delete iImageHashMap;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   222
		iImageHashMap = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   223
	} */
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   224
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   225
	if ( iFontHashMap )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   226
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   227
		delete iFontHashMap;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   228
		iFontHashMap = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   229
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   230
    iSvgMouseListeners.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   231
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   232
	iSvgAnimations.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   233
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   234
    if ( iXmlHandler )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   235
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   236
        delete iXmlHandler;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   237
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   238
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   239
    if ( iError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   240
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   241
        delete iError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   242
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   243
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   244
 	if ( iMemoryManager )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   245
 		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   246
 		delete iMemoryManager;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   247
    	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   248
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   249
    delete iTimeContainer;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   250
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   251
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   252
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   253
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   254
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   255
void CSvgDocumentImpl::SetEngine( CSvgEngineImpl* aEngine )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   256
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   257
    iEngine = aEngine;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   258
    // Propogate this to all child documentsas well
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   259
    // Only animation elements currently possess a new document
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   260
    // Locate all the active animation elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   261
    RPointerArray<CSvgElementImpl> lAnimationEleList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   262
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   263
    FindAllElements( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   264
            (CSvgElementImpl* )RootElement(),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   265
            KSvgMediaAnimationElement, lAnimationEleList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   266
    // Set the engine on the child documents associated with the animation elements as well
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   267
    TInt lAnimationEleCnt = lAnimationEleList.Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   268
    for ( TInt lCurAnimationEle = 0; lCurAnimationEle < lAnimationEleCnt; lCurAnimationEle++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   269
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   270
        CSvgMediaAnimationElementImpl* lAnimationElement = 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   271
            (CSvgMediaAnimationElementImpl* )lAnimationEleList[ lCurAnimationEle ];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   272
        CSvgDocumentImpl* lChildDoc = lAnimationElement->GetChildDocument();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   273
        if ( lChildDoc )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   274
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   275
            lChildDoc->SetEngine( aEngine );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   276
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   277
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   278
    lAnimationEleList.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   279
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   280
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   281
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   282
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   283
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   284
CSvgEngineImpl* CSvgDocumentImpl::Engine()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   285
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   286
    return iEngine;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   287
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   288
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   289
//***********************************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   290
// From MXmlDocument
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   291
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   292
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   293
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   294
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   295
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   296
MXmlElement* CSvgDocumentImpl::CreateElementL( const TDesC& aTagName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   297
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   298
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   299
    TInt position = iSchemaData->GetSVGElementId(aTagName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   300
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   301
    if ( position == KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   302
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   303
        return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   304
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   305
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   306
    	return CreateElementL( position );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   307
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   308
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   309
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   310
    // ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   311
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   312
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   313
MXmlElement* CSvgDocumentImpl::CreateElementL(const TUint8 aTagName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   314
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   315
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   316
    TInt position = (TInt) aTagName;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   317
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   318
    //##4 this uses the rearrangement of elements, all these elements are same as g element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   319
    // same constructor
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   320
    //
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   321
    // =====> creating fake G elements to take the place of others...
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   322
    //
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   323
    //need to remove G elements as place holders that is a bad idea
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   324
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   325
    if( position >= KSvgAltglyphElement && position <= KSvgViewElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   326
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   327
        return ( MXmlElement * ) CSvgGElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   328
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   329
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   330
    switch ( position )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   331
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   332
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   333
        case KSvgPathElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   334
            // path
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   335
            return ( MXmlElement * ) CSvgPathElementImpl::NewL(  (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   336
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   337
        case KSvgStopElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   338
        	// stop
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   339
            return ( MXmlElement * ) CSvgStopElementImpl::NewL((TUint8) position,this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   340
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   341
        case KSvgLinearGradientElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   342
        	// linearGradient
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   343
            return ( MXmlElement * ) CSvgLinearGradientElementImpl::NewL((TUint8) position,this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   344
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   345
        case KSvgRectElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   346
            // rect
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   347
            return ( MXmlElement * ) CSvgRectElementImpl::NewL(  (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   348
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   349
        case KSvgPolygonElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   350
        	// polygon
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   351
            return ( MXmlElement * ) CSvgPolylineElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   352
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   353
        case KSvgSvgElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   354
            // svg
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   355
            return ( MXmlElement * ) CSvgSvgElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   356
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   357
        case KSvgRadialGradientElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   358
        	// radialGradient
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   359
            return ( MXmlElement * ) CSvgRadialGradientElementImpl::NewL((TUint8) position,this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   360
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   361
        case KSvgCircleElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   362
            // circle
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   363
            return ( MXmlElement * ) CSvgCircleElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   364
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   365
        case KSvgLineElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   366
            // line
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   367
            return ( MXmlElement * ) CSvgLineElementImpl::NewL( (TUint8) position,this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   368
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   369
        case KSvgPolylineElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   370
            // polyline
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   371
            return ( MXmlElement * ) CSvgPolylineElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   372
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   373
        case KSvgEllipseElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   374
            // ellipse
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   375
            return ( MXmlElement * ) CSvgEllipseElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   376
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   377
        case KSvgDefsElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   378
			// defs
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   379
        	return ( MXmlElement * ) CSvgDefsElementImpl::NewL((TUint8) position, this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   380
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   381
		case KSvgForeignObjectElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   382
			// foreignObject
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   383
    		return ( MXmlElement * ) CSvgForeignObjectElementImpl::NewL((TUint8) position, this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   384
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   385
        case KSvgStyleElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   386
            // style
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   387
            return ( MXmlElement * ) CSvgStyleElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   388
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   389
        case KSvgUseElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   390
            // use
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   391
            return ( MXmlElement * ) CSvgUseElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   392
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   393
        case KSvgImageElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   394
            // image
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   395
            return ( MXmlElement * ) CSvgImageElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   396
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   397
        case KSvgAnimateColorElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   398
            // animateColor
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   399
        case KSvgAnimateElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   400
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   401
            // animate
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   402
            CSvgAnimateElementImpl* lAnimateElement = CSvgAnimateElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   403
            iSvgAnimations.Append(lAnimateElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   404
            return ( MXmlElement * ) lAnimateElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   405
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   406
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   407
        case KSvgSetElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   408
            // set
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   409
            return ( MXmlElement * ) CSvgSetElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   410
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   411
        case KSvgMpathElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   412
        	// mPath
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   413
            return ( MXmlElement * ) CSvgMpathElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   414
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   415
        case KSvgDiscardElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   416
  			// discard
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   417
            return ( MXmlElement * ) CSvgDiscardElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   418
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   419
 /*       case KSvgAnimationElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   420
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   421
            // animation
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   422
            CSvgAnimationElementImpl* lAnimationElementImpl = CSvgAnimationElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   423
            iSvgAnimations.Append( lAnimationElementImpl );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   424
            return ( MXmlElement * ) lAnimationElementImpl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   425
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   426
*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   427
        case KSvgScriptElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   428
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   429
            // script
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   430
            return ( MXmlElement * ) CSvgScriptElementImpl::NewL((TUint8) position,this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   431
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   432
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   433
        case KSvgSolidColorElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   434
            // solidColor
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   435
            return ( MXmlElement * ) CSvgSolidColorElementImpl::NewL((TUint8) position,this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   436
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   437
        case KSvgMetadataElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   438
        	// metaData
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   439
        	return ( MXmlElement * ) CSvgMetadataElementImpl::NewL((TUint8) position, this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   440
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   441
        case KSvgDescElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   442
        	// desc
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   443
        	return ( MXmlElement * ) CSvgDescElementImpl::NewL((TUint8) position, this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   444
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   445
        case KSvgTitleElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   446
        	// title
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   447
        	return ( MXmlElement * ) CSvgTitleElementImpl::NewL((TUint8) position, this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   448
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   449
        case KSvgTextElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   450
            // text
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   451
            //add in the boolean thing here....
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   452
            return ( MXmlElement * ) CSvgTextElementImpl::NewL(  (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   453
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   454
        case KSvgTextAreaElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   455
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   456
            // textArea
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   457
            return ( MXmlElement * ) CSvgTextAreaElementImpl::NewL((TUint8) position,this);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   458
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   459
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   460
        case KSvgAnimateMotionElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   461
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   462
            // animateMotion
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   463
            CSvgAnimateMotionElementImpl* lAnimateMotionElement = CSvgAnimateMotionElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   464
            iSvgAnimations.Append(lAnimateMotionElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   465
            return ( MXmlElement * ) lAnimateMotionElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   466
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   467
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   468
        case KSvgAnimateTransformElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   469
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   470
            // animateTransform
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   471
            CSvgAnimateTransformElementImpl* lAnimateTransformElement = CSvgAnimateTransformElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   472
            iSvgAnimations.Append(lAnimateTransformElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   473
            return ( MXmlElement * ) lAnimateTransformElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   474
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   475
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   476
        case KSvgGlyphElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   477
            // glyph
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   478
#ifdef SVG_FONTS_INCLUDE
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   479
            return ( MXmlElement * ) CSvgGlyphElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   480
#else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   481
            return ( MXmlElement * ) CSvgGElementImpl::NewL( _L( "g" ),(TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   482
#endif
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   483
        case KSvgFontElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   484
            // font
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   485
#ifdef SVG_FONTS_INCLUDE
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   486
            return ( MXmlElement * ) CSvgFontElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   487
#else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   488
            return ( MXmlElement * ) CSvgGElementImpl::NewL( _L( "g" ),(TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   489
#endif
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   490
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   491
        case KSvgAElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   492
            // a
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   493
            return ( MXmlElement * ) CSvgAElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   494
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   495
        case KSvgFontfaceElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   496
            // font-face
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   497
#ifdef SVG_FONTS_INCLUDE
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   498
            return ( MXmlElement * ) CSvgFontFaceElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   499
#else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   500
            return ( MXmlElement * ) CSvgGElementImpl::NewL( _L( "g" )(TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   501
#endif
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   502
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   503
        case KSvgMissingglyphElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   504
            // missing-glyph
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   505
#ifdef SVG_FONTS_INCLUDE
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   506
            return ( MXmlElement * ) CSvgMissingGlyphElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   507
#else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   508
            return ( MXmlElement * ) CSvgGElementImpl::NewL( _L( "g" )(TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   509
#endif
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   510
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   511
        case KSvgHkernElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   512
            // hkern
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   513
#ifdef SVG_FONTS_INCLUDE
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   514
            return ( MXmlElement * ) CSvgHkernElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   515
#else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   516
            return ( MXmlElement * ) CSvgGElementImpl::NewL( _L( "g" )(TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   517
#endif
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
   518
#if 0
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   519
        case KSvgAudioElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   520
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   521
            CSvgAudioElementImpl* lAudioElement = CSvgAudioElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   522
            iSvgAnimations.Append(lAudioElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   523
            return ( MXmlElement * ) lAudioElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   524
            }
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
   525
#endif
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   526
//#ifdef RD_SVGT_MEDIAANIMATION_SUPPORT
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   527
        case KSvgMediaAnimationElement:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   528
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   529
            CSvgMediaAnimationElementImpl* lMediaAnimationElement = CSvgMediaAnimationElementImpl::NewL( (TUint8) position, this );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   530
            iSvgAnimations.Append(lMediaAnimationElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   531
            return ( MXmlElement * ) lMediaAnimationElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   532
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   533
//#endif
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   534
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   535
        } // for switch
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   536
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   537
        return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   538
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   539
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   540
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   541
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   542
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   543
TInt CSvgDocumentImpl::CreateAttribute( const TDesC& /* aName */ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   544
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   545
    return KErrNone;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   546
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   547
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   548
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   549
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   550
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   551
MXmlElement* CSvgDocumentImpl::GetElementById( const TDesC& aElementId )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   552
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   553
    if(iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   554
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   555
            const TDesC* myId = iRootElement->Id();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   556
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   557
                if (myId)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   558
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   559
                    if (myId->Length() > 0)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   560
                    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   561
                        if ( *myId == aElementId )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   562
                        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   563
                            return iRootElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   564
                        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   565
                    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   566
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   567
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   568
    MXmlElement* element = SearchElementById( iRootElement, aElementId );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   569
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   570
    return element;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   571
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   572
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   573
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   574
        return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   575
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   576
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   577
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   578
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   579
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   580
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   581
TInt CSvgDocumentImpl::GetNumberOfIds(MXmlElement* aElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   582
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   583
    TInt count = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   584
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   585
    CSvgElementImpl* child = ( CSvgElementImpl* ) aElement->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   586
    while ( child != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   587
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   588
            const TDesC* lPtr = child->Id();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   589
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   590
            if (lPtr)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   591
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   592
                count++;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   593
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   594
                // search children
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   595
                TInt inside_count = GetNumberOfIds( child );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   596
                if ( inside_count > 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   597
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   598
                    count = count + inside_count;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   599
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   600
                // search siblings
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   601
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   602
                child = ( CSvgElementImpl * ) child->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   603
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   604
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   605
   return count;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   606
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   607
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   608
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   609
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   610
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   611
TDesC* CSvgDocumentImpl::GetId(TInt index)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   612
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   613
				TDesC* id = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   614
        RPointerArray<TDesC> ids;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   615
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   616
        FindAllIds( (CSvgElementImpl*)RootElement(), ids );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   617
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   618
        if (index < ids.Count())
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   619
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   620
            id = ids[index];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   621
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   622
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   623
        ids.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   624
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   625
    return id;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   626
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   627
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   628
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   629
// // Return all elements of the given type
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   630
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   631
void CSvgDocumentImpl::FindAllIds( CSvgElementImpl* aStartElement, RPointerArray<TDesC>& aList )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   632
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   633
    if ( aStartElement == NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   634
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   635
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   636
    CSvgElementImpl* child = (CSvgElementImpl*)aStartElement->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   637
    while ( child != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   638
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   639
        // add to list if child is found
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   640
        const TDesC* myId = child->Id();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   641
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   642
        if ( myId )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   643
            aList.Append( myId );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   644
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   645
        // find in grandchildren
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   646
        FindAllIds( child, aList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   647
        child = (CSvgElementImpl*)child->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   648
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   649
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   650
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   651
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   652
//***********************************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   653
// From MSvgDocument
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   654
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   655
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   656
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   657
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   658
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   659
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   660
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   661
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   662
TDesC& CSvgDocumentImpl::GetUrl()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   663
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   664
    return iUri;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   665
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   666
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   667
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   668
// // Returns the value of the current focus index. 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   669
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   670
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   671
TInt32 CSvgDocumentImpl::GetCurFocusIndex()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   672
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   673
	return iCurObjIdx;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   674
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   675
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   676
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   677
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   678
// // Increment the focus index by one value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   679
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   680
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   681
TInt32 CSvgDocumentImpl::IncCurFocusIndex()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   682
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   683
	return ++iCurObjIdx;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   684
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   685
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   686
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   687
// // Decrement the focus index by one value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   688
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   689
TInt32 CSvgDocumentImpl::DecCurFocusIndex()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   690
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   691
	return --iCurObjIdx;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   692
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   693
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   694
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   695
// // Sets the focus index to the given value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   696
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   697
void CSvgDocumentImpl::SetCurFocusIndex(TInt32 aVal)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   698
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   699
	iCurObjIdx = aVal;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   700
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   701
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   702
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   703
// // Returns the current focus object
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   704
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   705
CSvgElementImpl* CSvgDocumentImpl::GetCurFocusObject()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   706
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   707
	return iCurrentFocusObject;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   708
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   709
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   710
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   711
// // Sets the current focus element to the element specified
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   712
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   713
void CSvgDocumentImpl::SetCurFocusObject(CSvgElementImpl* aElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   714
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   715
	iCurrentFocusObject = aElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   716
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   717
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   718
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   719
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   720
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   721
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   722
EXPORT_C MXmlElement* CSvgDocumentImpl::RootElement()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   723
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   724
    return iRootElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   725
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   726
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   727
//***********************************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   728
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   729
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   730
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   731
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   732
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   733
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   734
MXmlElement* CSvgDocumentImpl::SearchElementById( MXmlElement* aElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   735
                                                  const TDesC& aElementId )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   736
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   737
    CSvgElementImpl* child = ( CSvgElementImpl* ) aElement->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   738
    while ( child != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   739
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   740
            const TDesC* lPtr = child->Id();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   741
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   742
            if (lPtr)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   743
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   744
                if ( *lPtr == aElementId )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   745
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   746
                    return child;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   747
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   748
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   749
                // search children
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   750
                MXmlElement* childrenMatch = SearchElementById( child, aElementId );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   751
                if ( childrenMatch != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   752
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   753
                    return childrenMatch;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   754
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   755
                // search siblings
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   756
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   757
                child = ( CSvgElementImpl * ) child->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   758
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   759
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   760
    return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   761
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   762
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   763
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   764
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   765
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   766
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   767
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   768
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   769
MXmlElement* CSvgDocumentImpl::AppendChildL( MXmlElement* aNewChild )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   770
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   771
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   772
    if ( aNewChild && ((CXmlElementImpl*)aNewChild)->ElemID() == KSvgSvgElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   773
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   774
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   775
        // Set new node as the root element, if it is
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   776
        if ( iRootElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   777
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   778
            return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   779
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   780
        iRootElement = (CSvgElementImpl *) aNewChild;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   781
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   782
        // Set the new node's next sibling
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   783
        aNewChild->SetNextSibling( NULL );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   784
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   785
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   786
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   787
        return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   788
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   789
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   790
    return aNewChild;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   791
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   792
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   793
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   794
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   795
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   796
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   797
CSvgSchemaData* CSvgDocumentImpl::SchemaData()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   798
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   799
    return iSchemaData;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   800
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   801
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   802
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   803
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   804
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   805
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   806
void CSvgDocumentImpl::SetUri( const TDesC& aUri )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   807
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   808
    iUri.Zero();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   809
    iUri.Copy(aUri);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   810
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   811
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   812
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   813
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   814
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   815
void CSvgDocumentImpl::GetUri( TDes& aUri )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   816
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   817
    aUri.Zero();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   818
    aUri.Copy(iUri);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   819
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   820
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   821
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   822
// Register an element for receiving events using the event mask
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   823
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   824
void CSvgDocumentImpl::AddToEventReceiverListL( MSvgEventReceiver* aElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   825
                                             TUint8 aEventMask)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   826
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   827
    if (iEventHandler != NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   828
    iEventHandler->AddToEventReceiverListL( aElement, aEventMask );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   829
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   830
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   831
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   832
// Register an element for receiving events and events using the event mask
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   833
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   834
void CSvgDocumentImpl::AddToEventReceiverListL( MSvgEventReceiver* aElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   835
                                                TSvgEvent aEvent,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   836
                                             TUint8 aEventMask)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   837
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   838
    if (iEventHandler != NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   839
    iEventHandler->AddToEventReceiverListL( aElement,aEvent,aEventMask );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   840
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   841
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   842
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   843
// Unregister an element for receiving events using the event mask
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   844
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   845
void CSvgDocumentImpl::RemoveFromEventReceiverList( MSvgEventReceiver* aElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   846
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   847
    if (iEventHandler != NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   848
    iEventHandler->RemoveFromEventReceiverList( aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   849
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   850
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   851
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   852
// Provide event handler the event timing information for the
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   853
// completion of event.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   854
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   855
void CSvgDocumentImpl::AddEventBeginTime(MSvgEventReceiver* aElement, TUint32 aTime, MSvgEventReceiver* aTargetElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   856
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   857
    if (iEventHandler != NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   858
    iEventHandler->AddEventBeginTime( aElement, aTime, aTargetElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   859
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   860
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   861
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   862
// Sort the events in a time scale according to their absolute start
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   863
// and finish times
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   864
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   865
void CSvgDocumentImpl::SortEventList()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   866
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   867
    if (iEventHandler != NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   868
    iEventHandler->SortEventList();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   869
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   870
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   871
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   872
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   873
// Returns an element that is registered for the given event mask and
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   874
// is the first one starting from the given index (either up or down the
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   875
// list based on the aNext parameter)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   876
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   877
CSvgElementImpl* CSvgDocumentImpl::GetEventReceiverElement(TInt32 aIndex, TBool aNext, TUint8 aEventMask, TInt32& aNewIndex)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   878
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   879
    if (iEventHandler != NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   880
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   881
            return (CSvgElementImpl*)iEventHandler->GetEventReceiver(aIndex, aNext, aEventMask, aNewIndex);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   882
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   883
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   884
    return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   885
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   886
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   887
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   888
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   889
// Is Animation file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   890
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   891
TBool CSvgDocumentImpl::IsAnimationFile()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   892
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   893
    if( (iEventHandler != NULL) && iEventHandler->Count() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   894
        return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   895
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   896
        return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   897
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   898
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   899
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   900
// IsValidSubEventMask
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   901
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   902
TBool CSvgDocumentImpl::IsValidSubEventMask(TUint16 aSubEventMask)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   903
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   904
    if(iEventHandler)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   905
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   906
        return(iEventHandler->IsValidSubEventMask(aSubEventMask));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   907
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   908
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   909
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   910
        return EFalse;    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   911
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   912
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   913
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   914
// Set DRM Mode
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   915
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   916
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   917
void CSvgDocumentImpl::SetDRMMode(TBool aEnable)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   918
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   919
    iDrmEnable = aEnable;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   920
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   921
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   922
// Set DRM Mode
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   923
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   924
void CSvgDocumentImpl::Reset(MSvgEvent *aEvent)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   925
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   926
    if ( iAnimationResetNeeded && iEventHandler != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   927
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   928
        iEventHandler->Reset( aEvent );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   929
        iAnimationResetNeeded = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   930
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   931
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   932
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   933
// Set DRM Mode
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   934
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   935
TBool CSvgDocumentImpl::SvgElementPresent(CSvgElementImpl* aElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   936
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   937
    if(iRootElement == NULL) return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   938
    if ( ( ( CSvgElementImpl * ) iRootElement ) == aElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   939
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   940
        return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   941
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   942
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   943
    return SearchByPointer(iRootElement, aElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   944
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   945
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   946
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   947
// Set DRM Mode
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   948
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   949
TBool CSvgDocumentImpl::SearchByPointer(CSvgElementImpl* aParent, CSvgElementImpl* aElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   950
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   951
    CSvgElementImpl* child = ( CSvgElementImpl* ) aParent->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   952
    while ( child != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   953
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   954
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   955
        if ( child  == aElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   956
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   957
            return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   958
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   959
        // search children
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   960
        TBool result = SearchByPointer( child, aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   961
        if (result)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   962
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   963
            return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   964
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   965
        // search siblings
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   966
        child = ( CSvgElementImpl * ) child->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   967
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   968
    return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   969
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   970
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   971
// Set DRM Mode
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   972
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   973
void CSvgDocumentImpl::SetFocusElement(CXmlElementImpl* aElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   974
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   975
    iCurrentFocusObject = (CSvgElementImpl*)aElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   976
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   977
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   978
// Set DRM Mode
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   979
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   980
CXmlElementImpl* CSvgDocumentImpl::GetFocusElement()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   981
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   982
    return (CXmlElementImpl*) iCurrentFocusObject;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   983
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   984
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   985
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   986
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   987
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   988
void CSvgDocumentImpl::ReInitialize()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   989
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   990
    if(iMultipleRendering)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   991
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   992
        if (iEventHandler != NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   993
        iEventHandler->ReInitialize();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   994
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   995
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   996
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   997
        iMultipleRendering= ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   998
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   999
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1000
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1001
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1002
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1003
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1004
void CSvgDocumentImpl::Load( const TDesC& aFileName, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1005
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1006
    aError.SetErrorCode( ESvgNoError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1007
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1008
    RFs session;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1009
    OpenSession( session, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1010
    if ( aError.HasError() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1011
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1012
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1013
    RFile fileHandle;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1014
    TInt openError = fileHandle.Open( session, aFileName, EFileRead );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1015
    if ( openError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1016
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1017
        PrepareError( aError, ESvgUnknown, openError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1018
                      _L( "Fail to open file for reading: " ), aFileName );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1019
        session.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1020
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1021
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1022
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1023
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1024
        Load( fileHandle, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1025
        session.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1026
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1027
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1028
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1029
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1030
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1031
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1032
void CSvgDocumentImpl::Load( const TDesC8& aByteData, CSvgErrorImpl& aError, TBool aRemoveFalseSwitchElements )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1033
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1034
    aError.SetErrorCode( ESvgNoError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1035
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1036
    //-------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1037
    // Byte array is gzipped and/or drm:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1038
    // Write buffer to file:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1039
    // a) GZip only has filename function to unzip
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1040
    // b) Drm only has file-handle to decrypt
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1041
    //-------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1042
    if ( IsGzipContent( aByteData ) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1043
         ( iDrmEnable && IsDRMContent( aByteData ) ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1044
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1045
        RFs session;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1046
        OpenSession( session, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1047
        if ( aError.HasError() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1048
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1049
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1050
        // Write byte-array to temp file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1051
        TFileName zippedTempFilename;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1052
        if ( WriteToTempFile( session, aByteData, zippedTempFilename, aError ) != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1053
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1054
            session.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1055
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1056
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1057
        Load( zippedTempFilename, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1058
        session.Delete( zippedTempFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1059
        session.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1060
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1061
    //-------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1062
    // byte-array is neither gzipped nor DRM encrypted
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1063
    //-------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1064
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1065
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1066
        iIsDRMProtected = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1067
        iEventHandler->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1068
        TRAPD(error,ProcessSvgContentL( aByteData, aError, aRemoveFalseSwitchElements ));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1069
        if ( error != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1070
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1071
            PrepareError( aError, ESvgNoMemory, error,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1072
                          _L( "Out of Memory: " ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1073
                          _L( "Instantiating Parser" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1074
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1075
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1076
        iInitialDrawFlag = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1077
        iFinishedParsing = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1078
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1079
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1080
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1081
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1082
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1083
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1084
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1085
void CSvgDocumentImpl::Load( RFile& aFileHandle, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1086
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1087
    aError.SetErrorCode( ESvgNoError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1088
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1089
    RFs session;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1090
    OpenSession( session, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1091
    if ( !aError.HasError() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1092
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1093
        Load( session, aFileHandle, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1094
        session.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1095
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1096
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1097
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1098
// CSvgDocumentImpl::ParentTimeContainerTick
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1099
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1100
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1101
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1102
void CSvgDocumentImpl::ParentTimeContainerTick( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1103
    TSvgTick aTick ) // Current tick information 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1104
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1105
    TBool lDoRedraw = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1106
    if ( iHasParent )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1107
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1108
        // Do not redraw in child document to avoid
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1109
        // double redraws.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1110
        lDoRedraw = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1111
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1112
    // Create timer event and propogate to engine
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1113
    TSvgTimerEvent lTimerEvent( aTick.iParentTcTick );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1114
    // Send to engine to process the timer event
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1115
    TRAPD( lProcEvtErr, Engine()->ProcessEventL( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1116
        this, &lTimerEvent, lDoRedraw ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1117
    if ( lProcEvtErr != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1118
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1119
        // Error Processing
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1120
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1121
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1122
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1123
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1124
// CSvgDocumentImpl::GetEntitySyncBehavior
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1125
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1126
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1127
//        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1128
TSvgSyncBehaviour CSvgDocumentImpl::GetEntitySyncBehavior()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1129
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1130
    // Document is locked with the parent tc timeline
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1131
    return ESvgSyncLocked; 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1132
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1133
        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1134
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1135
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1136
// CSvgDocumentImpl::GetEntityCurrentTime
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1137
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1138
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1139
//        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1140
void CSvgDocumentImpl::GetEntityCurrentTime( TUint32& 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1141
            /* aEntityCurTime */) // Current Entity Time in msecs. 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1142
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1143
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1144
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1145
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1146
// CSvgDocumentImpl::GetCnfSyncMasterStatus
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1147
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1148
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1149
//        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1150
void CSvgDocumentImpl::GetCnfSyncMasterStatus( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1151
            TBool& aIsSyncMaster ) // Indicates whether the element is configured as 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1152
                                   // Sync Master. 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1153
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1154
    // Document can never be a sync master
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1155
    aIsSyncMaster = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1156
    }                                   
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1157
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1158
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1159
// CSvgDocumentImpl::GetCurSyncMasterStatus
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1160
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1161
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1162
void CSvgDocumentImpl::GetCurSyncMasterStatus( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1163
            TBool& aIsSyncMaster ) // Indicates whether the element is currrently 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1164
                                  // Sync Master. 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1165
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1166
    // Document can never be a sync master
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1167
    aIsSyncMaster = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1168
    }        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1169
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1170
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1171
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1172
// CSvgDocumentImpl::SetCurSyncMasterStatus
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1173
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1174
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1175
void CSvgDocumentImpl::SetCurSyncMasterStatus( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1176
    TBool /*aSyncMasterStatus */) // Indicates whether the element is 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1177
                                  // currrently Sync Master.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1178
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1179
    // Document sync master status is always false as it can never be 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1180
    // a sync master
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1181
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1182
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1183
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1184
// CSvgDocumentImpl::CanGenerateTick
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1185
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1186
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1187
TBool CSvgDocumentImpl::CanGenerateTick()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1188
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1189
    // Document cannot generate tick, as it is not a inherently timed element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1190
    return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1191
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1192
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1193
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1194
// CSvgDocumentImpl::CanUseParentTick
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1195
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1196
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1197
TBool CSvgDocumentImpl::CanUseParentTick()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1198
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1199
    // Return True as document can always use parent tick to 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1200
    // advance itself
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1201
    return ( ETrue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1202
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1203
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1204
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1205
// CSvgDocumentImpl::ResyncTimedEntity
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1206
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1207
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1208
void CSvgDocumentImpl::ResyncTimedEntity( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1209
            TUint32 /*aSynctime*/ ) // Time for resync in msecs.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1210
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1211
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1212
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1213
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1214
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1215
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1216
// CSvgDocumentImpl::PauseTimedEntity
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1217
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1218
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1219
void CSvgDocumentImpl::PauseTimedEntity()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1220
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1221
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1222
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1223
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1224
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1225
// CSvgDocumentImpl::ResumeTimedEntity
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1226
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1227
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1228
void CSvgDocumentImpl::ResumeTimedEntity()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1229
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1230
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1231
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1232
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1233
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1234
// CSvgDocumentImpl::StopTimedEntity
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1235
// From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1236
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1237
void CSvgDocumentImpl::StopTimedEntity()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1238
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1239
    iEventHandler->ResetTimes();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1240
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1241
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1242
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1243
//From MSvgTimedEntityInterface
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1244
TSvgObjectType CSvgDocumentImpl::ObjectType()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1245
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1246
	return ESvgDocumentElement;	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1247
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1248
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1249
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1250
//returns the child time container of the element 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1251
//used in timecontainer
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1252
CSvgTimeContainer* CSvgDocumentImpl::GetChildTimeContainer()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1253
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1254
    return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1255
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1256
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1257
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1258
//if node has a child
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1259
//		visit the child call postorder on that
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1260
//add current node
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1261
//if there are siblings 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1262
//		visit all siblings
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1263
void CSvgDocumentImpl::ParsePostOrderMediaElements( CSvgElementImpl* aRoot, 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1264
    RPointerArray<CSvgElementImpl>& aPostOrderList)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1265
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1266
    if ( !aRoot )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1267
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1268
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1269
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1270
        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1271
	CSvgElementImpl* lNodePtr = ( CSvgElementImpl* )aRoot->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1272
	while ( lNodePtr != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1273
	    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1274
	    ParsePostOrderMediaElements( lNodePtr, aPostOrderList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1275
        lNodePtr = (CSvgElementImpl* )(lNodePtr->NextSibling() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1276
	    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1277
	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1278
	// Add only media elements, currently animation and audio
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
  1279
	if ( aRoot->ElemID() == KSvgMediaAnimationElement )	
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1280
	    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1281
	    aPostOrderList.Append( aRoot );	    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1282
	    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1283
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1284
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1285
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1286
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1287
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1288
void CSvgDocumentImpl::Load( RFs& aSession, RFile& aFileHandle, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1289
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1290
    iEventHandler->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1291
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1292
    RFile ungzippedFile;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1293
    RFile* fileHandle = &aFileHandle;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1294
    TFileName tempFilename;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1295
    TBool needToDeleteTempFile = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1296
    iIsDRMProtected = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1297
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1298
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1299
    // Check for gzip format: write to temp file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1300
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1301
    // Ignore Gzip content due to platform security: uncompressed file must be created
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1302
    if ( IsGzipContent( aFileHandle ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1303
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1304
        //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1305
        // Ungzipped content may be DRM or txt-svg or binary-svg
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1306
        //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1307
        needToDeleteTempFile = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1308
        if ( !ProcessGZipContent( aSession, aFileHandle, tempFilename, aError ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1309
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1310
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1311
        // Open ungzipped file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1312
        TInt openError = ungzippedFile.Open( aSession, tempFilename, EFileRead );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1313
        if ( openError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1314
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1315
            // couldn't open temp file for writing
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1316
            PrepareError( aError, ESvgUnknown, openError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1317
                          _L( "Loading GZipped SVG File failed: " ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1318
                          _L( "Error Opening Temp File for Reading." ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1319
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1320
            // Delete uncompress temp file if needed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1321
            if ( needToDeleteTempFile )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1322
                aSession.Delete( tempFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1323
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1324
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1325
        fileHandle = &ungzippedFile;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1326
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1327
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1328
    HBufC8* svgByteArray = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1329
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1330
    // Decrypt DRM
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1331
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1332
    if ( iDrmEnable && IsDRMContent( *fileHandle ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1333
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1334
        TRAPD( drmError, svgByteArray = ProcessDRMContentL( *fileHandle, aError ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1335
        if ( drmError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1336
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1337
            PrepareError( aError, ESvgNoMemory, drmError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1338
                          _L( "Out of Memory: " ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1339
                          _L( "Instantiating DRM Decoder" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1340
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1341
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1342
        // drm failed, error should already be set
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1343
        else if ( svgByteArray == NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1344
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1345
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1346
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1347
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1348
        if ( needToDeleteTempFile && ( drmError || svgByteArray == NULL ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1349
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1350
            aSession.Delete( tempFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1351
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1352
        iIsDRMProtected = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1353
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1354
    // Read Non encrypted data
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1355
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1356
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1357
        //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1358
        // Read plain file: txt-svg or binary-svg
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1359
        //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1360
        TInt fileLength = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1361
        fileHandle->Size( fileLength );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1362
        TRAPD( error, svgByteArray = HBufC8::NewL( fileLength ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1363
        if ( error != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1364
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1365
            PrepareError( aError, ESvgNoMemory, error,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1366
                          _L( "Out of Memory" ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1367
                          _L( "Allocating byte-array for data" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1368
            if ( needToDeleteTempFile )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1369
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1370
                aSession.Delete( tempFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1371
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1372
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1373
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1374
        TInt pos = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1375
        fileHandle->Seek( ESeekStart, pos );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1376
        TPtr8 des = svgByteArray->Des();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1377
        TInt readError = fileHandle->Read( des );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1378
        if ( readError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1379
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1380
            PrepareError( aError, ESvgUnknown, readError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1381
                          _L( "Reading SVG File Failed." ), _L( "" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1382
            delete svgByteArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1383
            if ( needToDeleteTempFile )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1384
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1385
                aSession.Delete( tempFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1386
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1387
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1388
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1389
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1390
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1391
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1392
    // Parser binary or plain svg content
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1393
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1394
    TRAPD( svgError, ProcessSvgContentL( *svgByteArray, aError ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1395
    if ( svgError != KErrNone || ( aError.HasError() && !aError.IsWarning() ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1396
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1397
        delete svgByteArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1398
        if ( !aError.HasError() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1399
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1400
            PrepareError( aError, ESvgNoMemory, svgError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1401
                           _L( "Out of Memory: " ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1402
                           _L( "Instantiating SVG ContentHandler/Decoder" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1403
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1404
        if ( needToDeleteTempFile )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1405
            aSession.Delete( tempFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1406
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1407
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1408
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1409
    iInitialDrawFlag = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1410
    iFinishedParsing = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1411
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1412
    delete svgByteArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1413
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1414
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1415
    // Delete uncompress temp file if needed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1416
    if ( needToDeleteTempFile )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1417
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1418
        // Close only when file handle is for temp file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1419
        fileHandle->Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1420
        aSession.Delete( tempFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1421
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1422
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1423
    // Prepare engine to draw document
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1424
    LoadingCompleted();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1425
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1426
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1427
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1428
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1429
// Leaves only when allocating memory fails
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1430
// Reports other errors
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1431
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1432
void CSvgDocumentImpl::ProcessSvgContentL( const TDesC8& aByteArray, CSvgErrorImpl& aError, TBool aRemoveFalseSwitchElements )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1433
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1434
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1435
    // Determine binary or xml svg file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1436
    //************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1437
    if ( IsBinarySvg( aByteArray ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1438
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1439
        TInt error = KErrNone;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1440
        CSvgDecoder* decoder = CSvgDecoder::NewL( aByteArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1441
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1442
        TRAP( error, iRootElement = decoder->StartDecodingL( this, aError ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1443
        if ( error != KErrNone || iRootElement == NULL && !aError.HasError() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1444
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1445
            if ( error != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1446
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1447
                PrepareError( aError, ESvgbFileNotValid, error,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1448
                              _L( "Invalid binary file." ), _L( "" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1449
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1450
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1451
        delete decoder;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1452
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1453
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1454
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1455
        iXmlHandler = CSvgContentHandler::NewL( aRemoveFalseSwitchElements );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1456
        iRootElement = iXmlHandler->ParseByteData( this, aByteArray, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1457
        delete iXmlHandler;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1458
        iXmlHandler = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1459
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1460
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1461
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1462
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1463
// JSR226 only!!
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1464
// Allows filling of document from JSR side with 16 bit string instead of 8
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1465
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1466
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1467
void CSvgDocumentImpl::Load16BitString( const TDesC16& aSvgString, CSvgErrorImpl& aError, TBool aRemoveFalseSwitchElements )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1468
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1469
    aError.SetErrorCode( ESvgNoError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1470
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1471
    iIsDRMProtected = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1472
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1473
    if (iEventHandler)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1474
    iEventHandler->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1475
    TRAPD(error,Process16BitSvgContentL( aSvgString, aError, aRemoveFalseSwitchElements ));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1476
    if ( error != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1477
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1478
    	PrepareError( aError, ESvgNoMemory, error,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1479
                          _L( "Out of Memory: " ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1480
                          _L( "Instantiating Parser" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1481
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1482
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1483
    iInitialDrawFlag = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1484
    iFinishedParsing = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1485
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1486
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1487
void CSvgDocumentImpl::Process16BitSvgContentL( const TDesC16& aSvgString, CSvgErrorImpl& aError, TBool aRemoveFalseSwitchElements )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1488
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1489
    iXmlHandler = CSvgContentHandler::NewL( aRemoveFalseSwitchElements );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1490
    iRootElement = iXmlHandler->Parse16BitData( this, aSvgString, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1491
    delete iXmlHandler;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1492
    iXmlHandler = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1493
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1494
// END OF JSR226 ONLY
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1495
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1496
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1497
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1498
void CSvgDocumentImpl::CancelParsing()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1499
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1500
    // Check if there is animation element in the parent svg
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1501
    RPointerArray<CSvgElementImpl> lAnimationEleList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1502
    FindAllElements((CSvgElementImpl* )RootElement(),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1503
               KSvgMediaAnimationElement, lAnimationEleList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1504
    TInt lAnimationEleCnt = lAnimationEleList.Count();    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1505
    for ( TInt lCurAnimationEle = 0; 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1506
            lCurAnimationEle < lAnimationEleCnt; lCurAnimationEle++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1507
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1508
        CSvgMediaAnimationElementImpl* lAnimationElement = 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1509
            (CSvgMediaAnimationElementImpl* )lAnimationEleList[ lCurAnimationEle ];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1510
        CSvgDocumentImpl* lChildDoc = lAnimationElement->GetChildDocument();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1511
        if ( lChildDoc )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1512
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1513
            lChildDoc->CancelParsing(); // Cancel parsing on child svg
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1514
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1515
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1516
    lAnimationEleList.Close();    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1517
    if ( iXmlHandler )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1518
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1519
        iXmlHandler->CancelParsing();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1520
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1521
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1522
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1523
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1524
TBool CSvgDocumentImpl::IsParsing()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1525
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1526
    // xml handler is set to NULL after parsing
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1527
    return iXmlHandler != NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1528
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1529
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1530
//***************************************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1531
// The function isGroupOpacity checks to see if there is a valid opacity
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1532
// attribute.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1533
//***************************************************************************
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1534
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1535
TBool CSvgDocumentImpl::isGroupOpacity( CSvgElementImpl* aElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1536
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1537
	TBool lReturnValue = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1538
    CCssValue*  lCssValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1539
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1540
    aElement->FindProperty( KCSS_ATTR_GROUP_OPACITY, lCssValue, aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1541
    if ( lCssValue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1542
       {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1543
        if ( ((CFloatCssValueImpl*)lCssValue)->Value() != KFloatFixOne )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1544
           {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1545
           // valid opacity value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1546
            lReturnValue = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1547
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1548
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1549
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1550
    return lReturnValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1551
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1552
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1553
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1554
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1555
// Pre-condition: content is DRM
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1556
// The content of a DRM may be svg-text or svg-bin
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1557
// Leaves only for memory allocation failure
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1558
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1559
HBufC8* CSvgDocumentImpl::ProcessDRMContentL( RFile& aFileHandle, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1560
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1561
    // Open File Content and Data
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1562
    ContentAccess::CContent* content = ContentAccess::CContent::NewLC( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1563
            aFileHandle );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1564
    // Note: very important to use EView and NOT EPlay
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1565
    ContentAccess::CData* data = content->OpenContentLC( ContentAccess::EView );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1566
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1567
    // Read Length of Content
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1568
    TInt length = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1569
    TRAPD( sizeError, data->DataSizeL( length ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1570
    // Cannot get length of data
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1571
    if ( sizeError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1572
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1573
        ProcessDRMError( sizeError, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1574
        CleanupStack::PopAndDestroy( 2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1575
        return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1576
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1577
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1578
    // Allocate Memory for Content: no leavable command after this
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1579
    // so, pushing onto cleanup stack not needed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1580
    HBufC8* buffer = HBufC8::NewL( length );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1581
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1582
    TPtr8 des = buffer->Des();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1583
    TInt readError = data->Read( des );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1584
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1585
    // Check for read error
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1586
    if ( readError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1587
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1588
        ProcessDRMError( readError, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1589
        CleanupStack::PopAndDestroy( 2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1590
        delete buffer;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1591
        return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1592
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1593
    // Only consume rights when not in thumb nail mode
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1594
    else if ( !iIsThumbNailMode )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1595
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1596
        // Do not consume drm rights if iDrmRightsConsumptionEnabled is EFalse
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1597
        if(iDrmRightsConsumptionEnabled)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1598
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1599
        TInt intentError = data->ExecuteIntent( ContentAccess::EView );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1600
        if ( intentError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1601
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1602
            ProcessDRMError( readError, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1603
            aError.SetIsWarning( ETrue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1604
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1605
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1606
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1607
    CleanupStack::PopAndDestroy( 2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1608
    return buffer;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1609
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1610
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1611
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1612
// Un-gzip to a temp file and return the name of temp file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1613
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1614
TBool CSvgDocumentImpl::ProcessGZipContent( RFs& aSession,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1615
                                            RFile& aGZipFileHandle,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1616
                                            TFileName& aUnzippedFileName ,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1617
                                            CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1618
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1619
    // Write data to temp file: gzip does not have function to read RFile
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1620
    TFileName gzipFilename;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1621
    if ( WriteToTempFile( aSession, aGZipFileHandle, gzipFilename, aError ) != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1622
        return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1623
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1624
    TBool result = ProcessGZipContent( aSession, gzipFilename, aUnzippedFileName, aError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1625
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1626
    // Delete temp gzipped file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1627
    aSession.Delete( gzipFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1628
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1629
    return result;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1630
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1631
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1632
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1633
// Uncompress to a temporary file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1634
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1635
TBool CSvgDocumentImpl::ProcessGZipContent( RFs& aSession,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1636
                                            TFileName& aZippedFileName,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1637
                                            TFileName& aUnzippedFileName ,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1638
                                            CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1639
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1640
    // Create ungzipped temp file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1641
    TFileName path;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1642
    GetProcessPrivatePath( aSession, path );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1643
    RFile gzipOutputFile;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1644
    TInt replaceError = gzipOutputFile.Temp( aSession, path, aUnzippedFileName, EFileWrite );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1645
    if ( replaceError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1646
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1647
        // couldn't open temp file for writing
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1648
        PrepareError( aError, ESvgUnknown, replaceError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1649
                      _L( "Failed to create file or unGZip: " ), aUnzippedFileName );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1650
        return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1651
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1652
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1653
    // okay so far, uncompressing
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1654
    CEZGZipToFile* uncompressor = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1655
    TRAPD( uncompressorError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1656
           uncompressor = CEZGZipToFile::NewL( aSession, aZippedFileName, gzipOutputFile ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1657
    if ( uncompressorError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1658
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1659
        PrepareError( aError, ESvgUnknown, uncompressorError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1660
                      _L( "Out of memory: " ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1661
                      _L( "Instantiating GZip decompressor" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1662
        gzipOutputFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1663
        aSession.Delete( aUnzippedFileName );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1664
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1665
        return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1666
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1667
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1668
    // Decompress file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1669
    TBool done = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1670
    while ( !done )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1671
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1672
        TRAPD( inflateError, done = !uncompressor->InflateL() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1673
        if ( inflateError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1674
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1675
            PrepareError( aError, ESvgUnknown, inflateError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1676
                          _L( "Uncompressing GZip file failed." ), _L( "" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1677
            delete uncompressor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1678
            gzipOutputFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1679
            aSession.Delete( aUnzippedFileName );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1680
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1681
            return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1682
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1683
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1684
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1685
    gzipOutputFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1686
    delete uncompressor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1687
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1688
    return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1689
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1690
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1691
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1692
// Error codes taken from caf/content.h
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1693
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1694
void CSvgDocumentImpl::ProcessDRMError( TInt errorCode, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1695
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1696
    if ( errorCode == KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1697
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1698
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1699
    if ( errorCode == KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1700
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1701
        aError.SetDescription( _L( "Content Not Found" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1702
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1703
    else if ( errorCode == KErrCAPendingRights )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1704
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1705
        aError.SetDescription( _L( "Rights Have Not Arrived" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1706
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1707
    else if ( errorCode == KErrCANoPermission )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1708
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1709
        aError.SetDescription( _L( "No Permission to Play Content" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1710
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1711
    else if ( errorCode == KErrCANoRights )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1712
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1713
        aError.SetDescription( _L( "No Rights Exists for Content" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1714
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1715
    else if ( errorCode == KErrCANotSupported )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1716
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1717
        aError.SetDescription( _L( "Unable to Open Content" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1718
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1719
    else if ( errorCode == KErrPermissionDenied )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1720
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1721
        aError.SetDescription( _L( "No Permission to Open Content" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1722
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1723
    else if ( errorCode == KErrAccessDenied )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1724
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1725
        aError.SetDescription( _L( "Content Already in Use or No DRM Capability" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1726
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1727
    else if ( errorCode == KErrCASizeNotDetermined )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1728
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1729
        aError.SetDescription( _L( "Cannot Determine Size of Content" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1730
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1731
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1732
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1733
        aError.SetDescription( _L( "Unknown DRM Error" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1734
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1735
    aError.SetIsWarning( EFalse );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1736
    aError.SetErrorCode( ESvgDRMFailure );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1737
    aError.SetSystemErrorCode( errorCode );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1738
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1739
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1740
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1741
// Returns true if the first two bytes of the given file could be a gzip file.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1742
// This function is modified from the function in EZGZipFile class.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1743
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1744
TBool CSvgDocumentImpl::IsGzipContent( RFile& aFileHandle )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1745
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1746
    TUint8 ids[2];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1747
    TPtr8 des( ids, 0, sizeof( TUint8 ) * 2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1748
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1749
    if ( aFileHandle.Read( des ) != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1750
        return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1751
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1752
    // reset to start of file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1753
    TInt zero = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1754
    aFileHandle.Seek( ESeekStart, zero );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1755
    return ( ids[0] == 31 && ids[1] == 139 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1756
//    return ( ids[0] == EZGZipFile::ID1 && ids[1] == EZGZipFile::ID2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1757
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1758
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1759
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1760
// Returns whether the byte-array header matches a GZIP signature
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1761
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1762
TBool CSvgDocumentImpl::IsGzipContent( const TDesC8& aByteArray )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1763
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1764
    return aByteArray.Length() >= 2 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1765
           aByteArray[0] == 31 && aByteArray[1] == 139;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1766
//           aByteArray[0] == EZGZipFile::ID1 && aByteArray[1] == EZGZipFile::ID2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1767
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1768
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1769
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1770
// Returns whether the byte-array header matches a SVG binary signature
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1771
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1772
TBool CSvgDocumentImpl::IsBinarySvg( const TDesC8& aByteArray )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1773
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1774
	//const TUint32 KBinaryFile          = 66737868;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1775
	//const TUint32 KBinaryFile2         = 66737869;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1776
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1777
	if ((aByteArray.Length() >= 4 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1778
           aByteArray[0] == 0xCC && aByteArray[1] == 0x56 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1779
           aByteArray[2] == 0xFA && aByteArray[3] == 0x03) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1780
        (aByteArray.Length() >= 4 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1781
           aByteArray[0] == 0xCD && aByteArray[1] == 0x56 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1782
           aByteArray[2] == 0xFA && aByteArray[3] == 0x03) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1783
        (aByteArray.Length() >= 4 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1784
           aByteArray[0] == 0xCE && aByteArray[1] == 0x56 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1785
           aByteArray[2] == 0xFA && aByteArray[3] == 0x03) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1786
        (aByteArray.Length() >= 4 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1787
           aByteArray[0] == 0xCF && aByteArray[1] == 0x56 &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1788
           aByteArray[2] == 0xFA && aByteArray[3] == 0x03) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1789
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1790
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1791
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1792
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1793
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1794
    	return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1795
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1796
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1797
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1798
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1799
// Returns whether the file header matches a DRM signature
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1800
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1801
TBool CSvgDocumentImpl::IsDRMContent( RFile& aFileHandle )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1802
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1803
    TUint8 ids[2];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1804
    TPtr8 des( ids, 0, sizeof( TUint8 ) * 2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1805
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1806
    if ( aFileHandle.Read( des ) != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1807
        return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1808
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1809
    // reset to start of file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1810
    TInt zero = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1811
    aFileHandle.Seek( ESeekStart, zero );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1812
    return ( ids[0] == 0x01 && ids[1] == 0x0D );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1813
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1814
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1815
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1816
// Returns whether the file header matches a DRM signature
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1817
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1818
TBool CSvgDocumentImpl::IsDRMContent( const TDesC8& aByteArray )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1819
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1820
    return ( aByteArray.Length() > 1 && aByteArray[0] == 0x01 && aByteArray[1] == 0x0D );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1821
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1822
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1823
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1824
// Generate the "c:/private/<sid>" directory name
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1825
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1826
TInt CSvgDocumentImpl::GetProcessPrivatePath( RFs& aSession, TFileName& aPath )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1827
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1828
    aSession.PrivatePath( aPath );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1829
    aPath.Insert( 0, _L( "c:" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1830
    return KErrNone;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1831
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1832
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1833
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1834
// Create "c:/private/<sid>" directory if it does not already exist
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1835
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1836
TInt CSvgDocumentImpl::CreateProcessPrivateDirectory( RFs& aSession, TFileName& aPath )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1837
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1838
    GetProcessPrivatePath( aSession, aPath );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1839
    return ( !BaflUtils::FolderExists( aSession, aPath ) ) ? aSession.MkDir( aPath ) : KErrNone;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1840
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1841
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1842
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1843
// Open a file session, error is indicated in aError
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1844
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1845
void CSvgDocumentImpl::OpenSession( RFs& aSession, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1846
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1847
    TInt error = aSession.Connect();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1848
    if ( error != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1849
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1850
        // couldn't open temp file for writing
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1851
        PrepareError( aError, ESvgUnknown, error,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1852
                      _L( "Connecting File Session Failed." ), _L( "" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1853
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1854
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1855
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1856
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1857
// Session must be opened successfully
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1858
// File name of temp file is store in aFilename
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1859
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1860
TInt CSvgDocumentImpl::WriteToTempFile( RFs& aSession, const TDesC8& aByteArray,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1861
                                        TFileName& aFilename, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1862
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1863
    // Create temporary file for byte-array
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1864
    TFileName path;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1865
    CreateProcessPrivateDirectory( aSession, path );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1866
    RFile writeFile;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1867
    TInt tempError = writeFile.Temp( aSession, path, aFilename, EFileWrite );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1868
    if ( tempError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1869
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1870
        PrepareError( aError, ESvgUnknown, tempError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1871
                      _L( "Failed open temp file to write data." ), aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1872
        return tempError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1873
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1874
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1875
    // Write byte-array to file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1876
    TInt writeError = writeFile.Write( aByteArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1877
    if ( writeError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1878
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1879
        PrepareError( aError, ESvgUnknown, writeError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1880
                      _L( "Failed to write data to temp file." ), aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1881
        writeFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1882
        aSession.Delete( aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1883
        return writeError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1884
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1885
    writeFile.Flush();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1886
    writeFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1887
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1888
    return KErrNone;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1889
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1890
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1891
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1892
// Session must be opened successfully
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1893
// File name of temp file is store in aFilename
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1894
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1895
TInt CSvgDocumentImpl::WriteToTempFile( RFs& aSession, RFile& aFileHandle,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1896
                                        TFileName& aFilename, CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1897
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1898
    // Create temporary file for byte-array
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1899
    TFileName path;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1900
    CreateProcessPrivateDirectory( aSession, path );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1901
    RFile writeFile;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1902
    TInt tempError = writeFile.Temp( aSession, path, aFilename, EFileWrite );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1903
    if ( tempError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1904
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1905
        PrepareError( aError, ESvgUnknown, tempError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1906
                      _L( "Failed open temp file to write data." ), path );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1907
        return tempError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1908
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1909
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1910
    // Write data to temp file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1911
    TInt size;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1912
    TInt sizeError = aFileHandle.Size( size );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1913
    if ( sizeError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1914
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1915
        PrepareError( aError, ESvgUnknown, sizeError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1916
                      _L( "Failed to get data length of file." ), aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1917
        aSession.Delete( aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1918
        return sizeError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1919
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1920
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1921
    TBuf8<1024> buffer;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1922
    TInt bytesCopied = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1923
    while ( bytesCopied < size )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1924
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1925
        buffer.Zero();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1926
        TInt bytesToCopy = ( size - bytesCopied < 1024 ) ? size - bytesCopied : 1024;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1927
        // read data
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1928
        TInt readError = aFileHandle.Read( buffer, bytesToCopy );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1929
        if ( readError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1930
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1931
            PrepareError( aError, ESvgUnknown, readError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1932
                          _L( "Failed to read data to copy to temp file: " ), aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1933
            writeFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1934
            aSession.Delete( aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1935
            return readError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1936
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1937
        // write data
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1938
        TInt writeError = writeFile.Write( buffer, bytesToCopy );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1939
        if ( writeError != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1940
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1941
            PrepareError( aError, ESvgUnknown, writeError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1942
                          _L( "Failed to write to temp file: " ), aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1943
            writeFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1944
            aSession.Delete( aFilename );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1945
            return writeError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1946
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1947
        bytesCopied += bytesToCopy;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1948
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1949
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1950
    writeFile.Flush();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1951
    writeFile.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1952
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1953
    return KErrNone;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1954
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1955
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1956
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1957
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1958
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1959
void CSvgDocumentImpl::PrepareError( CSvgErrorImpl& aError,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1960
                                     TSvgErrorCode aSvgErrorCode,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1961
                                     TInt aSystemErrorCode,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1962
                                     const TDesC& aMsg1,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1963
                                     const TDesC& aMsg2 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1964
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1965
    aError.SetDescription( aMsg1, aMsg2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1966
    aError.SetErrorCode( aSvgErrorCode );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1967
    aError.SetSystemErrorCode( aSystemErrorCode );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1968
    aError.SetIsWarning( EFalse );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1969
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1970
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1971
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1972
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1973
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1974
void CSvgDocumentImpl::LoadingCompleted()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1975
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1976
    if ( iEngine != NULL && iEngine->GraphicsContext() != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1977
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1978
        iEngine->GraphicsContext()->SetDoDithering( iHasGradientElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1979
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1980
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1981
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1982
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1983
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1984
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1985
void CSvgDocumentImpl::SetThumbNailMode( TBool aThumbNailMode )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1986
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1987
    iIsThumbNailMode = aThumbNailMode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1988
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1989
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1990
//==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1991
// CSvgDocumentImpl::SetDRMRights( TBool aEnable )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1992
//==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1993
void CSvgDocumentImpl::SetDRMRights( TBool aEnable)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1994
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1995
	iDrmRightsConsumptionEnabled = aEnable;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1996
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1997
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1998
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1999
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2000
TBool CSvgDocumentImpl::IsThumbNailOnly()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2001
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2002
    return iIsThumbNailMode && iIsDRMProtected;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2003
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2004
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2005
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2006
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2007
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2008
void CSvgDocumentImpl::SetWasPrepared( TBool aBool )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2009
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2010
    iWasPrepared = aBool;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2011
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2012
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2013
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2014
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2015
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2016
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2017
TBool CSvgDocumentImpl::WasPrepared()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2018
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2019
    return iWasPrepared;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2020
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2021
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2022
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2023
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2024
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2025
void CSvgDocumentImpl::SetLoadingListeners( const RPointerArray<MSvgLoadingListener>* aList )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2026
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2027
    iLoadingListeners = aList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2028
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2029
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2030
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2031
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2032
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2033
const RPointerArray<MSvgLoadingListener>* CSvgDocumentImpl::GetLoadingListeners()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2034
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2035
    return iLoadingListeners;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2036
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2037
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2038
/*---------------------------MouseListener---------------------------*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2039
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2040
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2041
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2042
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2043
void CSvgDocumentImpl::AddInternalMouseListener( const MSvgMouseListener* aListener )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2044
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2045
    TInt index = iSvgMouseListeners.Find( aListener );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2046
    if ( aListener != NULL && index == KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2047
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2048
        iSvgMouseListeners.Append( aListener );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2049
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2050
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2051
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2052
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2053
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2054
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2055
void CSvgDocumentImpl::RemoveInternalMouseListener( const MSvgMouseListener* aListener )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2056
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2057
    TInt index = iSvgMouseListeners.Find( aListener );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2058
    if ( index != KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2059
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2060
        iSvgMouseListeners.Remove( index );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2061
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2062
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2063
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2064
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2065
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2066
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2067
TInt CSvgDocumentImpl::MouseInternalListenerCount()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2068
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2069
    return iSvgMouseListeners.Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2070
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2071
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2072
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2073
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2074
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2075
void CSvgDocumentImpl::NotifyInternalMousePressed( RPointerArray<CSvgElementImpl>& aElements,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2076
                                          TInt aX, TInt aY )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2077
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2078
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2079
    for ( TInt i = 0; i < iSvgMouseListeners.Count(); i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2080
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2081
        iSvgMouseListeners[i]->MousePressed( aElements, aX, aY );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2082
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2083
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2084
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2085
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2086
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2087
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2088
void CSvgDocumentImpl::NotifyInternalMouseReleased( RPointerArray<CSvgElementImpl>& aElements,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2089
                                          TInt aX, TInt aY )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2090
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2091
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2092
    for ( TInt i = 0; i < iSvgMouseListeners.Count(); i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2093
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2094
        iSvgMouseListeners[i]->MouseReleased( aElements, aX, aY );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2095
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2096
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2097
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2098
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2099
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2100
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2101
void CSvgDocumentImpl::NotifyInternalMouseEntered( RPointerArray<CSvgElementImpl>& aElements,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2102
                                          TInt aX, TInt aY )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2103
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2104
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2105
    for ( TInt i = 0; i < iSvgMouseListeners.Count(); i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2106
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2107
        iSvgMouseListeners[i]->MouseEntered( aElements, aX, aY );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2108
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2109
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2110
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2111
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2112
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2113
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2114
void CSvgDocumentImpl::NotifyInternalMouseExited( RPointerArray<CSvgElementImpl>& aElements,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2115
                                          TInt aX, TInt aY )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2116
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2117
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2118
    for ( TInt i = 0; i < iSvgMouseListeners.Count(); i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2119
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2120
        iSvgMouseListeners[i]->MouseExited( aElements, aX, aY );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2121
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2122
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2123
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2124
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2125
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2126
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2127
void CSvgDocumentImpl::NotifyInternalMouseMoved( RPointerArray<CSvgElementImpl>& aElements,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2128
                                          TInt aX, TInt aY )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2129
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2130
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2131
    for ( TInt i = 0; i < iSvgMouseListeners.Count(); i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2132
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2133
        iSvgMouseListeners[i]->MouseMoved( aElements, aX, aY );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2134
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2135
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2136
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2137
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2138
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2139
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2140
void CSvgDocumentImpl::NotifyDocumentStart()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2141
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2142
    if ( iLoadingListeners != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2143
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2144
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2145
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2146
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2147
            (*iLoadingListeners)[i]->DocumentStart();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2148
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2149
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2150
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2151
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2152
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2153
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2154
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2155
void CSvgDocumentImpl::NotifyDocumentEnd()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2156
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2157
    if ( iLoadingListeners != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2158
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2159
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2160
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2161
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2162
            (*iLoadingListeners)[i]->DocumentEnd();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2163
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2164
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2165
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2166
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2167
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2168
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2169
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2170
void CSvgDocumentImpl::NotifyElementStart( const TDesC& aTagName,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2171
                                           MSvgAttributeList& aAttributeList,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2172
                                           TBool aIsSvgChild )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2173
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2174
    // Do not send back attribute list if content was decrypted
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2175
    // from DRM protected content.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2176
    if ( iLoadingListeners != NULL && !iIsDRMProtected )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2177
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2178
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2179
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2180
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2181
            if ( aIsSvgChild || (*iLoadingListeners)[i]->ReportAllElements() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2182
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2183
                (*iLoadingListeners)[i]->ElementStart( aTagName, aAttributeList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2184
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2185
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2186
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2187
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2188
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2189
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2190
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2191
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2192
void CSvgDocumentImpl::NotifyElementEnd( const TDesC& aTagName, TBool aIsSvgChild )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2193
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2194
    if ( iLoadingListeners != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2195
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2196
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2197
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2198
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2199
            if ( aIsSvgChild || (*iLoadingListeners)[i]->ReportAllElements() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2200
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2201
                (*iLoadingListeners)[i]->ElementEnd( aTagName );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2202
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2203
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2204
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2205
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2206
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2207
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2208
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2209
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2210
void CSvgDocumentImpl::NotifyUnsupportedElement( const TDesC& aTagName,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2211
                                                 MSvgAttributeList& aAttributeList )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2212
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2213
    if ( iLoadingListeners != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2214
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2215
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2216
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2217
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2218
            (*iLoadingListeners)[i]->UnsupportedElement( aTagName, aAttributeList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2219
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2220
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2221
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2222
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2223
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2224
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2225
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2226
void CSvgDocumentImpl::NotifyExternalDataRequested( const TDesC& aUri )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2227
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2228
    if ( iLoadingListeners != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2229
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2230
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2231
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2232
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2233
            (*iLoadingListeners)[i]->ExternalDataRequested( aUri );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2234
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2235
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2236
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2237
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2238
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2239
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2240
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2241
void CSvgDocumentImpl::NotifyExternalDataReceived( const TDesC& aUri )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2242
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2243
    if ( iLoadingListeners != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2244
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2245
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2246
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2247
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2248
            (*iLoadingListeners)[i]->ExternalDataReceived( aUri );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2249
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2250
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2251
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2252
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2253
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2254
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2255
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2256
void CSvgDocumentImpl::NotifyExternalDataRequestFailed( const TDesC& aUri )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2257
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2258
    if ( iLoadingListeners != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2259
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2260
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2261
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2262
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2263
            (*iLoadingListeners)[i]->ExternalDataRequestFailed( aUri );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2264
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2265
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2266
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2267
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2268
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2269
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2270
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2271
TUint32 CSvgDocumentImpl::IsIndefiniteAnimation()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2272
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2273
    if ( !iCheckedAnimationDuration )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2274
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2275
        AnimationDuration();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2276
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2277
    // special value for indefinite animation
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2278
    return ( iAnimationDuration == KIndefiniteAnimationDuration );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2279
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2280
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2281
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2282
// Need method description
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2283
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2284
TUint32 CSvgDocumentImpl::AnimationDuration()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2285
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2286
    if ( iCheckedAnimationDuration )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2287
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2288
        return IsIndefiniteAnimation() ? 0xFFFFFFFF : iAnimationDuration;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2289
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2290
    else if ( iRootElement == NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2291
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2292
        return 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2293
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2294
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2295
    if ( iIsInteractive )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2296
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2297
        // If there is interactivity in the content, set the animation
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2298
        // duration to indefinite so that the timer continues to run.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2299
        iAnimationDuration = KIndefiniteAnimationDuration;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2300
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2301
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2302
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2303
        iAnimationDuration = SubtreeDuration( iRootElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2304
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2305
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2306
    iCheckedAnimationDuration = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2307
    return IsIndefiniteAnimation() ? 0xFFFFFFFF : iAnimationDuration;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2308
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2309
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2310
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2311
// Return the longest animation in subtree
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2312
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2313
TUint32 CSvgDocumentImpl::SubtreeDuration( CSvgElementImpl* aRootElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2314
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2315
    TUint dur = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2316
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2317
    if ( aRootElement->IsAnimatedElement() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2318
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2319
        dur = ( ( CSvgAnimationBase * ) aRootElement )->CompleteDuration();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2320
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2321
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2322
	else if ( aRootElement->ElemID() == KSvgDiscardElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2323
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2324
			dur = ((CSvgDiscardElementImpl*)aRootElement)->AbsoluteBeginTime();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2325
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2326
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2327
    // check child duration
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2328
    TUint childDur;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2329
    CSvgElementImpl* child = (CSvgElementImpl*)aRootElement->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2330
    while ( child != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2331
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2332
        childDur = SubtreeDuration( child );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2333
        if ( childDur > dur )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2334
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2335
            dur = childDur;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2336
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2337
        child = (CSvgElementImpl*)child->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2338
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2339
    return dur;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2340
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2341
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2342
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2343
// notified from outside (AppendChild/RemoveChild)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2344
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2345
void CSvgDocumentImpl::ElementAppendedOrRemoved()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2346
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2347
    // Clear flag to retrieve animation duration on AnimationDuration() call
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2348
    iCheckedAnimationDuration = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2349
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2350
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2351
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2352
// Return all elements of the given type
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2353
// or all of the elements if the type = -1
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2354
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2355
void CSvgDocumentImpl::FindAllElements( CSvgElementImpl* aStartElement, TInt aElementId,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2356
                                      RPointerArray<CSvgElementImpl>& aList,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2357
                                      TSvgSearchFlags aFlags )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2358
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2359
    if ( aStartElement == NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2360
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2361
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2362
    CSvgElementImpl* child = (CSvgElementImpl*)aStartElement->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2363
    while ( child != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2364
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2365
        // add to list if child is found
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2366
        if ( child->ElemID() == aElementId || aElementId == -1 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2367
            aList.Append( child );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2368
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2369
        // find in grandchildren
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2370
        if ( aFlags & ESvgSearchExcludeUseSubtree )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2371
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2372
            // If Exclude Use Subtree, ignore the subtree under use element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2373
            if ( child->ElemID() != KSvgUseElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2374
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2375
                FindAllElements( child, aElementId, aList, aFlags );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2376
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2377
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2378
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2379
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2380
            FindAllElements( child, aElementId, aList, aFlags );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2381
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2382
        child = (CSvgElementImpl*)child->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2383
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2384
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2385
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2386
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2387
// ImageLoadingObserver interface method
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2388
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2389
void CSvgDocumentImpl::ImageLoadingCompleted( TInt aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2390
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2391
    iImageElementCnt--;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2392
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2393
    if ( iLoadingListeners != NULL && iImageElementCnt == 0)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2394
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2395
        TInt loadingListenersCnt = iLoadingListeners->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2396
        for ( TInt i = 0; i < loadingListenersCnt; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2397
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2398
            (*iLoadingListeners)[i]->ImagesLoaded(aError);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2399
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2400
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2401
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2402
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2403
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2404
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2405
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2406
// Loops through the tree and prints out all of the elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2407
// (almost regenerating the DOM tree)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2408
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2409
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2410
void CSvgDocumentImpl::PrintAllElements( CSvgElementImpl* aStartElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2411
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2412
	if ( aStartElement == NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2413
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2414
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2415
	aStartElement->Print( EFalse );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2416
	//===> comment the styles out to generate true SVG content
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2417
	//	aStartElement->PrintStyleProperties();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2418
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2419
	CSvgElementImpl* child = (CSvgElementImpl*)aStartElement->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2420
	PrintAllElements( child );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2421
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2422
	child = (CSvgElementImpl*)aStartElement->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2423
	PrintAllElements( child );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2424
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2425
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2426
TBool CSvgDocumentImpl::HasError()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2427
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2428
    return iError && iError->HasError();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2429
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2430
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2431
MSvgError* CSvgDocumentImpl::GetError()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2432
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2433
    return iError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2434
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2435
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2436
void CSvgDocumentImpl::SetIsWarning( TBool aIsWarning )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2437
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2438
	if (iError)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2439
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2440
		iError->SetIsWarning( aIsWarning );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2441
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2442
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2443
void CSvgDocumentImpl::SetError( TInt aErrorType, const TDesC& aMsg1, const TDesC& aMsg2 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2444
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2445
    if ( !iError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2446
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2447
        TRAPD( error, iError = CSvgErrorImpl::NewL() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2448
        if ( error != KErrNone )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2449
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2450
            return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2451
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2452
        PrepareError( *iError, ESvgUnknown, aErrorType, aMsg1, aMsg2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2453
        iError->SetIsWarning( ETrue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2454
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2455
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2456
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2457
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2458
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2459
// Accessor funciton for SyncBehaviorDefault value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2460
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2461
TSvgSyncBehaviour CSvgDocumentImpl::SyncBehaviorDefault()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2462
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2463
    return iSyncBehaviorDefault;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2464
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2465
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2466
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2467
// Accessor funciton for SyncBehaviorDefault value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2468
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2469
TUint32 CSvgDocumentImpl::SyncToleranceDefault()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2470
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2471
    return iSyncToleranceDefault;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2472
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2473
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2474
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2475
// CSvgDocumentImpl::SetCurrentTime
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2476
// Set Function for the document's current time
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2477
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2478
void CSvgDocumentImpl::SetCurrentTime( TInt32 aCurTime )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2479
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2480
    if ( iTimeContainer )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2481
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2482
        iTimeContainer->SetCurrentTime( aCurTime );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2483
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2484
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2485
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2486
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2487
// CSvgDocumentImpl::CurrentTime
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2488
// Accessor for the Document's current time
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2489
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2490
TInt32 CSvgDocumentImpl::CurrentTime()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2491
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2492
    if ( iTimeContainer )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2493
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2494
        return iTimeContainer->CurrentTime();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2495
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2496
    return KErrGeneral;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2497
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2498
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2499
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2500
// CSvgDocumentImpl::SetSyncBehavior
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2501
// Set the Synchronised behaviour for the time container
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2502
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2503
void CSvgDocumentImpl::SetTCSyncBehavior( const TSvgSyncBehaviour aValue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2504
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2505
    if ( iTimeContainer )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2506
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2507
        iTimeContainer->SetSyncBehavior( aValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2508
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2509
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2510
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2511
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2512
// CSvgDocumentImpl::SetSyncTolerance
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2513
// Set the Synchronised Tolerance for the time container
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2514
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2515
void CSvgDocumentImpl::SetTCSyncTolerance( const TUint32 aValue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2516
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2517
    if ( iTimeContainer )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2518
        {    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2519
        iTimeContainer->SetSyncTolerance( aValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2520
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2521
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2522
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2523
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2524
// CSvgDocumentImpl::SetSyncMaster
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2525
// Set the time container as Synchronised Master
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2526
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2527
void CSvgDocumentImpl::SetTCSyncMaster( const TBool aValue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2528
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2529
    if ( iTimeContainer )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2530
        {    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2531
        iTimeContainer->SetSyncMaster( aValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2532
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2533
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2534
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2535
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2536
// CSvgDocumentImpl::TimeContainer
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2537
// Accessor for time container
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2538
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2539
//
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2540
CSvgTimeContainer* CSvgDocumentImpl::TimeContainer()    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2541
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2542
    return iTimeContainer;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2543
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2544
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2545
void CSvgDocumentImpl::DocumentTransform(TGfxAffineTransform& aTr)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2546
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2547
        iTransformMatrix = aTr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2548
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2549
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2550
TGfxAffineTransform CSvgDocumentImpl::GetDocumentTransform()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2551
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2552
        return iTransformMatrix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2553
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2554
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2555
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2556
CSvgBitmapFontProvider * CSvgDocumentImpl::GetBitmapFontProvider()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2557
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2558
	return iSvgBitmapFontProvider ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2559
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2560
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2561
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2562
// CSvgDocumentImpl::SvgHasAnimationElement
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2563
// Checks if Document has Animation Element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2564
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2565
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2566
TBool CSvgDocumentImpl::SvgHasAnimationElement()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2567
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2568
        RPointerArray<CSvgElementImpl> lAnimationEleList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2569
        FindAllElements((CSvgElementImpl* )RootElement(),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2570
                   KSvgMediaAnimationElement, lAnimationEleList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2571
        TInt lAnimationEleCnt = lAnimationEleList.Count();    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2572
        lAnimationEleList.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2573
        if ( lAnimationEleCnt > 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2574
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2575
            return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2576
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2577
       
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2578
        return EFalse;     
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2579
       
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2580
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2581
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2582
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2583
// CSvgDocumentImpl::IsDocumentContentInteractive
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2584
// Checks if Document content is InterActive 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2585
// -----------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2586
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2587
TBool CSvgDocumentImpl::IsDocumentContentInteractive()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2588
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2589
        RPointerArray<CSvgElementImpl> elements;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2590
        FindAllElements( (CSvgElementImpl* )RootElement(),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2591
                                     KSvgAElement, elements );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2592
        if ( elements.Count() != 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2593
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2594
            elements.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2595
            return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2596
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2597
        elements.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2598
       
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2599
        if ( iIsInteractive )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2600
            return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2601
        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2602
        // Check if animation element is there 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2603
        RPointerArray<CSvgElementImpl> lAnimationEleList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2604
        FindAllElements((CSvgElementImpl* )RootElement(),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2605
                   KSvgMediaAnimationElement, lAnimationEleList );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2606
                   
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2607
        // If no animation element is present then return EFalse           
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2608
        TInt lAnimationEleCnt = lAnimationEleList.Count();  
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2609
        if ( lAnimationEleCnt == 0 ) 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2610
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2611
           lAnimationEleList.Close();  
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2612
           return EFalse; 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2613
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2614
        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2615
        // Check all animation element and if any child svg has ..
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2616
        // interactive content then return ETrue   
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2617
        for ( TInt lCurAnimationEle = 0; 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2618
                lCurAnimationEle < lAnimationEleCnt; lCurAnimationEle++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2619
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2620
           CSvgMediaAnimationElementImpl* lAnimationElement = 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2621
            (CSvgMediaAnimationElementImpl* )lAnimationEleList[ lCurAnimationEle ];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2622
           CSvgDocumentImpl* lChildDoc = lAnimationElement->GetChildDocument();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2623
           // if child svg has interavitve content then return
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2624
           if(lChildDoc && lChildDoc->iIsInteractive)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2625
           {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2626
           		lAnimationEleList.Close();                
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2627
           		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2628
           }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2629
        }  
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2630
        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2631
        lAnimationEleList.Close();                
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2632
        return EFalse;   
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2633
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2634
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2635
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2636
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2637
void CSvgDocumentImpl::SetImageElementsCount(TInt aCnt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2638
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2639
    iImageElementCnt = aCnt;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2640
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2641
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2642
TInt CSvgDocumentImpl::GetImageElementsCount()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2643
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2644
    return iImageElementCnt;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2645
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2646
// End of file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2647