author | Simon Howkins <simonh@symbian.org> |
Wed, 27 Oct 2010 16:22:14 +0100 | |
changeset 1316 | 0b4a09013baf |
parent 872 | 17498133d9ad |
permissions | -rw-r--r-- |
793
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1 |
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2 |
// All rights reserved. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
3 |
// This component and the accompanying materials are made available |
872 | 4 |
// under the terms of the License "Eclipse Public License v1.0" |
793
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
5 |
// which accompanies this distribution, and is available |
872 | 6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html". |
793
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
7 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
8 |
// Initial Contributors: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
9 |
// Nokia Corporation - initial contribution. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
10 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
11 |
// Contributors: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
12 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
13 |
// Description: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
14 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
15 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
16 |
#include <e32std.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
17 |
#include <s32file.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
18 |
#include <s32ucmp.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
19 |
#include <bautils.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
20 |
#include <barsread.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
21 |
#include <barsc.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
22 |
#include <barsread2.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
23 |
#include <barsc2.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
24 |
#include <apfdef.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
25 |
#include "APGAIR.H" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
26 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
27 |
#ifdef _DEBUG |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
28 |
#include "APGSTD.H" // panic codes |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
29 |
#endif // _DEBUG |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
30 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
31 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
32 |
// the two #defines immediately below are #defined to "nothing" so that only the minimal set of functions that ought to be "removed" because of SYMBIAN_REMOVE_UI_FRAMEWORKS_V1 (but which are needed still because of UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) are actually exported |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
33 |
#define IMPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
34 |
#define EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
35 |
#endif // UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
36 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
37 |
#include "APGICNFL.H" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
38 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
39 |
#if !defined(EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
40 |
// we're compiling a source file that doesn't define EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER, so give it it's default "value" of "EXPORT_C" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
41 |
#define EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER EXPORT_C |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
42 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
43 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
44 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
45 |
// Try and reduce the bitmap mask depth to 1bpp (2 colours) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
46 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
47 |
LOCAL_D CFbsBitmap* TryCompressMaskL(const CFbsBitmap& aMask) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
48 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
49 |
CFbsBitmap* newMask=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
50 |
if (aMask.DisplayMode()!=EGray2 && aMask.IsMonochrome()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
51 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
52 |
newMask=new(ELeave) CFbsBitmap; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
53 |
CleanupStack::PushL(newMask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
54 |
const TSize size=aMask.SizeInPixels(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
55 |
User::LeaveIfError(newMask->Create(size,EGray2)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
56 |
CFbsBitmapDevice* device=CFbsBitmapDevice::NewL(newMask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
57 |
CleanupStack::PushL(device); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
58 |
CFbsBitGc* gc=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
59 |
User::LeaveIfError(device->CreateContext(gc)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
60 |
CleanupStack::PushL(gc); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
61 |
TPoint origin(0,0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
62 |
gc->BitBlt(origin,&aMask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
63 |
CleanupStack::PopAndDestroy(2); // gc, device |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
64 |
CleanupStack::Pop(newMask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
65 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
66 |
return newMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
67 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
68 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
69 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
70 |
// Class CApaMaskedBitmap |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
71 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
72 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
73 |
CApaMaskedBitmap::CApaMaskedBitmap() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
74 |
:CFbsBitmap() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
75 |
{} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
76 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
77 |
EXPORT_C CApaMaskedBitmap::~CApaMaskedBitmap() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
78 |
/** Destructor. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
79 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
80 |
Frees resources owned by the object prior to its destruction. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
81 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
82 |
delete iMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
83 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
84 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
85 |
EXPORT_C CApaMaskedBitmap* CApaMaskedBitmap::NewLC() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
86 |
/** Creates a default application icon object. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
87 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
88 |
@return A pointer to the new application icon object. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
89 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
90 |
CApaMaskedBitmap* self=new(ELeave) CApaMaskedBitmap; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
91 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
92 |
self->ConstructL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
93 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
94 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
95 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
96 |
EXPORT_C CApaMaskedBitmap* CApaMaskedBitmap::NewL(const CApaMaskedBitmap* aSourceIcon) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
97 |
/** Creates a new application icon object, making a duplicate copy of an existing |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
98 |
application icon. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
99 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
100 |
@param aSourceIcon A pointer to an existing application icon. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
101 |
@return A pointer to the new application icon object. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
102 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
103 |
CApaMaskedBitmap* self=new(ELeave) CApaMaskedBitmap; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
104 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
105 |
self->ConstructL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
106 |
User::LeaveIfError( self->iMask->Duplicate(aSourceIcon->Mask()->Handle()) ); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
107 |
User::LeaveIfError( self->Duplicate(aSourceIcon->Handle()) ); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
108 |
CleanupStack::Pop(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
109 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
110 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
111 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
112 |
void CApaMaskedBitmap::ConstructL() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
113 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
114 |
__DECLARE_NAME(_S("CApaMaskedBitmap")); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
115 |
if (!iFbs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
116 |
User::Leave(KErrCouldNotConnect); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
117 |
iMask=new(ELeave) CFbsBitmap; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
118 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
119 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
120 |
EXPORT_C CFbsBitmap* CApaMaskedBitmap::Mask() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
121 |
/** Gets the icon's mask. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
122 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
123 |
@return A pointer to the mask bitmap. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
124 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
125 |
return iMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
126 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
127 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
128 |
EXPORT_C void CApaMaskedBitmap::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
129 |
/** Internalizes the application icon from the read stream. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
130 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
131 |
@param aStream The read stream. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
132 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
133 |
__ASSERT_DEBUG(iMask, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
134 |
CFbsBitmap::InternalizeL(aStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
135 |
aStream >> *iMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
136 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
137 |
// Try to reduce the colour depth of the bitmap mask |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
138 |
CFbsBitmap* tempMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
139 |
tempMask = TryCompressMaskL(*iMask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
140 |
// tempMask = NULL if iMask could not be reduced |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
141 |
if (tempMask != NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
142 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
143 |
delete iMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
144 |
iMask = tempMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
145 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
146 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
147 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
148 |
void CApaMaskedBitmap::SetRomBitmapL(TUint8* aRomPointer) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
149 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
150 |
__ASSERT_DEBUG(iMask, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
151 |
TInt bitmapSize = 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
152 |
CFbsBitmap::SetRomBitmapL(reinterpret_cast<CBitwiseBitmap*>(aRomPointer),bitmapSize); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
153 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
154 |
aRomPointer += bitmapSize; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
155 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
156 |
iMask->SetRomBitmapL(reinterpret_cast<CBitwiseBitmap*>(aRomPointer),bitmapSize); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
157 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
158 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
159 |
EXPORT_C void CApaMaskedBitmap::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
160 |
/** Externalises the application icon to the specified stream. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
161 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
162 |
@param aStream The write stream. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
163 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
164 |
__ASSERT_DEBUG(iMask, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
165 |
CFbsBitmap::ExternalizeL(aStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
166 |
aStream << *iMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
167 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
168 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
169 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
170 |
EXPORT_C void CApaMaskedBitmap::SetMaskBitmap(CFbsBitmap* aMask) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
171 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
172 |
Sets the icon's mask |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
173 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
174 |
@publishedAll |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
175 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
176 |
@param aMask A pointer to the mask bitmap |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
177 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
178 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
179 |
delete iMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
180 |
iMask = aMask; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
181 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
182 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
183 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
184 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
185 |
#if (defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER)) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
186 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
187 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
188 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
189 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
190 |
// Class CApaAIFCaption |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
191 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
192 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
193 |
CApaAIFCaption::~CApaAIFCaption() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
194 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
195 |
delete iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
196 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
197 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
198 |
CApaAIFCaption* CApaAIFCaption::NewLC(TLanguage aLanguage,const TDesC& aCaption) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
199 |
// static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
200 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
201 |
CApaAIFCaption* self=new(ELeave) CApaAIFCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
202 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
203 |
self->ConstructL(aLanguage,aCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
204 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
205 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
206 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
207 |
void CApaAIFCaption::ConstructL(TLanguage aLanguage,const TDesC& aCaption) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
208 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
209 |
iLanguage=aLanguage; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
210 |
HBufC* newCaption=aCaption.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
211 |
delete(iCaption); // after the AllocL succeeds |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
212 |
iCaption=newCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
213 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
214 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
215 |
TLanguage CApaAIFCaption::Language() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
216 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
217 |
return iLanguage; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
218 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
219 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
220 |
TApaAppCaption CApaAIFCaption::Caption() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
221 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
222 |
return *iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
223 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
224 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
225 |
CApaAIFCaption::CApaAIFCaption() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
226 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
227 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
228 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
229 |
void CApaAIFCaption::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
230 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
231 |
HBufC* newCaption=HBufC::NewL(aStream,KApaMaxAppCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
232 |
delete(iCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
233 |
iCaption=newCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
234 |
iLanguage=(TLanguage)aStream.ReadInt16L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
235 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
236 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
237 |
void CApaAIFCaption::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
238 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
239 |
aStream << *iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
240 |
aStream.WriteInt16L(iLanguage); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
241 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
242 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
243 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
244 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
245 |
// Class CApaAIFViewData |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
246 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
247 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
248 |
CApaAIFViewData::~CApaAIFViewData() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
249 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
250 |
if (iCaptionArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
251 |
iCaptionArray->ResetAndDestroy(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
252 |
delete iCaptionArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
253 |
if (iIconArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
254 |
iIconArray->ResetAndDestroy(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
255 |
delete iIconArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
256 |
delete iIconIndexArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
257 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
258 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
259 |
CApaAIFViewData::CApaAIFViewData() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
260 |
{} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
261 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
262 |
void CApaAIFViewData::ConstructL() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
263 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
264 |
iCaptionArray=new(ELeave) CArrayPtrFlat<CApaAIFCaption>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
265 |
iIconArray=new(ELeave) CArrayPtrFlat<CApaMaskedBitmap>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
266 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
267 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
268 |
CApaAIFViewData* CApaAIFViewData::NewLC() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
269 |
// static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
270 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
271 |
CApaAIFViewData* self=new(ELeave) CApaAIFViewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
272 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
273 |
self->ConstructL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
274 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
275 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
276 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
277 |
CApaAIFViewData* CApaAIFViewData::NewLC(const CApaAIFViewData& aSourceData) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
278 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
279 |
CApaAIFViewData* self = CApaAIFViewData::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
280 |
self->ConstructL(aSourceData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
281 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
282 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
283 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
284 |
void CApaAIFViewData::ConstructL(const CApaAIFViewData& aSourceData) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
285 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
286 |
// Make a copy of aSourceData in this object |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
287 |
// N.B. this is not an atomic operation and if the function leaves |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
288 |
// there is no guarantee that this object will be in a valid state. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
289 |
// Should only be called from CApaAIFViewData::NewLC(const CApaAIFViewData& aSourceData) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
290 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
291 |
// Screen mode |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
292 |
iScreenMode = aSourceData.iScreenMode; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
293 |
// Icon array |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
294 |
TInt count = (aSourceData.iIconArray ? aSourceData.iIconArray->Count() : 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
295 |
TInt i; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
296 |
for (i=0; i < count; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
297 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
298 |
// Get the icon from array and duplicate it |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
299 |
const CApaMaskedBitmap& srcIcon = (*aSourceData.iIconArray->At(i)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
300 |
CApaMaskedBitmap* icon = CApaMaskedBitmap::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
301 |
User::LeaveIfError(icon->Duplicate(srcIcon.Handle())); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
302 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
303 |
CFbsBitmap* mask = new(ELeave) CFbsBitmap(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
304 |
CleanupStack::PushL(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
305 |
User::LeaveIfError(mask->Duplicate(srcIcon.Mask()->Handle())); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
306 |
icon->SetMaskBitmap(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
307 |
CleanupStack::Pop(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
308 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
309 |
iIconArray->AppendL(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
310 |
CleanupStack::Pop(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
311 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
312 |
// Caption array |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
313 |
count = (aSourceData.iCaptionArray ? aSourceData.iCaptionArray->Count() : 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
314 |
for (i=0; i < count; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
315 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
316 |
const CApaAIFCaption& srcCaption = (*aSourceData.iCaptionArray->At(i)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
317 |
CApaAIFCaption* caption = CApaAIFCaption::NewLC(srcCaption.Language(), srcCaption.Caption()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
318 |
iCaptionArray->AppendL(caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
319 |
CleanupStack::Pop(caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
320 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
321 |
// View UID |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
322 |
iViewUid = aSourceData.iViewUid; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
323 |
// Icon index array |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
324 |
count = (aSourceData.iIconIndexArray ? aSourceData.iIconIndexArray->Count() : 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
325 |
for (i=0; i < count; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
326 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
327 |
AddIconIndexL(aSourceData.iIconIndexArray->At(i)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
328 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
329 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
330 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
331 |
void CApaAIFViewData::LoadIconsL(const TDesC& aFileName, TUint aMbmOffset) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
332 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
333 |
// This function is called when loading the AIF version 2 format |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
334 |
// When loading the RSC block, any view icons will have been added to iIconIndexArray as MBM indexes. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
335 |
// This function loads the view icons from the MBM using these indexes. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
336 |
__ASSERT_DEBUG(iIconArray->Count()==0,Panic(EDPanicArrayNotEmpty)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
337 |
const TInt iconCount = (iIconIndexArray ? iIconIndexArray->Count() : 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
338 |
for (TInt i=0; i < iconCount; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
339 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
340 |
const TInt mbmIndex = iIconIndexArray->At(i) * 2; // Each icon is a mask and bitmap == 2 items in MBM |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
341 |
CApaMaskedBitmap* icon = CApaMaskedBitmap::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
342 |
CFbsBitmap* mask = new(ELeave) CFbsBitmap(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
343 |
CleanupStack::PushL(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
344 |
User::LeaveIfError(icon->Load(aFileName, mbmIndex, ETrue, aMbmOffset)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
345 |
User::LeaveIfError(mask->Load(aFileName, mbmIndex + 1, ETrue, aMbmOffset)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
346 |
icon->SetMaskBitmap(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
347 |
CleanupStack::Pop(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
348 |
iIconArray->AppendL(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
349 |
CleanupStack::Pop(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
350 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
351 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
352 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
353 |
void CApaAIFViewData::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
354 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
355 |
// Uid |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
356 |
iViewUid.iUid=aStream.ReadInt32L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
357 |
// Screen mode |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
358 |
iScreenMode=aStream.ReadInt32L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
359 |
// Captions |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
360 |
if (iCaptionArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
361 |
iCaptionArray->ResetAndDestroy(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
362 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
363 |
iCaptionArray=new(ELeave) CArrayPtrFlat<CApaAIFCaption>(1); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
364 |
TCardinality card; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
365 |
aStream>>card; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
366 |
const TInt captionCount(card); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
367 |
CApaAIFCaption* caption=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
368 |
for (TInt ii=0;ii<captionCount;ii++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
369 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
370 |
caption=new(ELeave) CApaAIFCaption(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
371 |
CleanupStack::PushL(caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
372 |
aStream >> *caption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
373 |
iCaptionArray->AppendL(caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
374 |
CleanupStack::Pop(caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
375 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
376 |
// Icons |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
377 |
if (iIconArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
378 |
iIconArray->ResetAndDestroy(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
379 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
380 |
iIconArray=new(ELeave) CArrayPtrFlat<CApaMaskedBitmap>(2); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
381 |
aStream>>card; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
382 |
const TInt iconCount(card); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
383 |
CApaMaskedBitmap* icon=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
384 |
for (TInt jj=0;jj<iconCount;jj++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
385 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
386 |
icon=CApaMaskedBitmap::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
387 |
aStream >> *icon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
388 |
iIconArray->AppendL(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
389 |
CleanupStack::Pop(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
390 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
391 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
392 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
393 |
void CApaAIFViewData::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
394 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
395 |
// Uid |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
396 |
aStream.WriteInt32L(iViewUid.iUid); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
397 |
// Screen Mode |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
398 |
aStream.WriteInt32L(iScreenMode); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
399 |
// Captions |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
400 |
const TInt captionCount=iCaptionArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
401 |
aStream<<TCardinality(captionCount); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
402 |
for (TInt ii=0;ii<captionCount;ii++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
403 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
404 |
aStream << *((*iCaptionArray)[ii]); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
405 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
406 |
// Icons |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
407 |
const TInt iconCount=iIconArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
408 |
aStream<<TCardinality(iconCount); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
409 |
for (TInt jj=0;jj<iconCount;jj++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
410 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
411 |
aStream << *((*iIconArray)[jj]); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
412 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
413 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
414 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
415 |
void CApaAIFViewData::SetScreenMode(TInt aScreenMode) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
416 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
417 |
iScreenMode=aScreenMode; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
418 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
419 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
420 |
void CApaAIFViewData::AddCaptionL(TLanguage aLanguage,const TDesC& aCaption) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
421 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
422 |
CApaAIFCaption* caption=CApaAIFCaption::NewLC(aLanguage,aCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
423 |
iCaptionArray->AppendL(caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
424 |
CleanupStack::Pop(caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
425 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
426 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
427 |
void CApaAIFViewData::AddIconL(CApaMaskedBitmap& aIcon) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
428 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
429 |
CApaMaskedBitmap* icon=CApaMaskedBitmap::NewL(&aIcon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
430 |
CleanupStack::PushL(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
431 |
iIconArray->AppendL(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
432 |
CleanupStack::Pop(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
433 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
434 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
435 |
void CApaAIFViewData::AddIconIndexL(TInt aIndex) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
436 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
437 |
if (!iIconIndexArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
438 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
439 |
iIconIndexArray = new(ELeave) CArrayFixFlat<TInt>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
440 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
441 |
iIconIndexArray->AppendL(aIndex); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
442 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
443 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
444 |
void CApaAIFViewData::SetViewUid(TUid aUid) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
445 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
446 |
iViewUid=aUid; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
447 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
448 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
449 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER TApaAppCaption CApaAIFViewData::CaptionL(TLanguage aLanguage) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
450 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
451 |
RFs fs; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
452 |
CleanupClosePushL(fs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
453 |
User::LeaveIfError(fs.Connect()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
454 |
RArray<TLanguage> downgradePath; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
455 |
CleanupClosePushL(downgradePath); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
456 |
BaflUtils::GetDowngradePathL(fs,aLanguage,downgradePath); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
457 |
TApaAppCaption result(KNullDesC); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
458 |
const TInt languagecount=downgradePath.Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
459 |
const TInt count=iCaptionArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
460 |
for (TInt j=0; j<languagecount; j++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
461 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
462 |
for (TInt ii=0;ii<count;ii++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
463 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
464 |
const CApaAIFCaption& caption=*(*iCaptionArray)[ii]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
465 |
if (caption.Language()==downgradePath[j]) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
466 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
467 |
result=caption.Caption(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
468 |
j=languagecount; // to exit outer loop |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
469 |
break; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
470 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
471 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
472 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
473 |
CleanupStack::PopAndDestroy(2, &fs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
474 |
return result; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
475 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
476 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
477 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER CApaMaskedBitmap* CApaAIFViewData::IconByIndexL(TInt aIndex) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
478 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
479 |
return (*iIconArray)[aIndex]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
480 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
481 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
482 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER TInt CApaAIFViewData::NumberOfIcons() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
483 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
484 |
return (iIconIndexArray ? iIconIndexArray->Count() : iIconArray->Count()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
485 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
486 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
487 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER TUid CApaAIFViewData::ViewUid() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
488 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
489 |
return iViewUid; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
490 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
491 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
492 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER TInt CApaAIFViewData::ScreenMode() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
493 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
494 |
return iScreenMode; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
495 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
496 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
497 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
498 |
// Class CApaAppInfoFile |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
499 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
500 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
501 |
CApaAppInfoFile::CApaAppInfoFile(RFs& aFs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
502 |
:iFs(aFs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
503 |
{} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
504 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
505 |
void CApaAppInfoFile::TCaptionHeader::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
506 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
507 |
aStream >> iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
508 |
iLanguage=(TLanguage)aStream.ReadInt16L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
509 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
510 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
511 |
void CApaAppInfoFile::TCaptionHeader::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
512 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
513 |
aStream << iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
514 |
aStream.WriteInt16L(iLanguage); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
515 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
516 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
517 |
void CApaAppInfoFile::TIconHeader::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
518 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
519 |
aStream >> iIcon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
520 |
iIconSideInPixels=aStream.ReadInt16L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
521 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
522 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
523 |
void CApaAppInfoFile::TIconHeader::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
524 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
525 |
aStream << iIcon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
526 |
aStream.WriteInt16L(iIconSideInPixels); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
527 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
528 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
529 |
void CApaAppInfoFile::TDataTypeHeader::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
530 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
531 |
aStream >> iDataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
532 |
iPriority=aStream.ReadInt16L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
533 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
534 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
535 |
void CApaAppInfoFile::TDataTypeHeader::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
536 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
537 |
aStream << iDataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
538 |
aStream.WriteInt16L(iPriority); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
539 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
540 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
541 |
void CApaAppInfoFile::TViewDataHeader::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
542 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
543 |
aStream >> iViewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
544 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
545 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
546 |
void CApaAppInfoFile::TViewDataHeader::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
547 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
548 |
aStream << iViewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
549 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
550 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
551 |
void CApaAppInfoFile::TFileOwnershipInfoHeader::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
552 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
553 |
aStream >> iOwnedFileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
554 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
555 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
556 |
void CApaAppInfoFile::TFileOwnershipInfoHeader::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
557 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
558 |
aStream << iOwnedFileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
559 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
560 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
561 |
CApaAppInfoFile::~CApaAppInfoFile() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
562 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
563 |
if (iCaptionHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
564 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
565 |
const TInt maxIndex=iCaptionHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
566 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
567 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
568 |
const TSwizzle<HBufC>& caption = iCaptionHeaderArray->At(i).iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
569 |
if (caption.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
570 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
571 |
delete caption.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
572 |
iCaptionHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
573 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
574 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
575 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
576 |
delete iCaptionHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
577 |
delete iIconHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
578 |
if (iDataTypeHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
579 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
580 |
const TInt maxIndex=iDataTypeHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
581 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
582 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
583 |
const TSwizzle<TDataType>& dataType = iDataTypeHeaderArray->At(i).iDataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
584 |
if (dataType.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
585 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
586 |
delete dataType.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
587 |
iDataTypeHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
588 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
589 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
590 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
591 |
delete iDataTypeHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
592 |
if (iViewDataHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
593 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
594 |
const TInt maxIndex=iViewDataHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
595 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
596 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
597 |
const TSwizzle<CApaAIFViewData>& viewData = iViewDataHeaderArray->At(i).iViewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
598 |
if (viewData.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
599 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
600 |
delete viewData.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
601 |
iViewDataHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
602 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
603 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
604 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
605 |
delete iViewDataHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
606 |
if (iFileOwnershipInfoHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
607 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
608 |
const TInt maxIndex=iFileOwnershipInfoHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
609 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
610 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
611 |
const TSwizzle<HBufC>& fileName = iFileOwnershipInfoHeaderArray->At(i).iOwnedFileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
612 |
if (fileName.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
613 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
614 |
delete fileName.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
615 |
iFileOwnershipInfoHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
616 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
617 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
618 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
619 |
delete iFileOwnershipInfoHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
620 |
delete iStore; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
621 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
622 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
623 |
void CApaAppInfoFile::ConstructL() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
624 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
625 |
iCaptionHeaderArray=new(ELeave) CArrayFixFlat<TCaptionHeader>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
626 |
iIconHeaderArray=new(ELeave) CArrayFixFlat<TIconHeader>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
627 |
iDataTypeHeaderArray=new(ELeave) CArrayFixFlat<TDataTypeHeader>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
628 |
iViewDataHeaderArray=new(ELeave) CArrayFixFlat<TViewDataHeader>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
629 |
iFileOwnershipInfoHeaderArray=new(ELeave) CArrayFixFlat<TFileOwnershipInfoHeader>(4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
630 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
631 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
632 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
633 |
// Class CApaAppInfoFileReader |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
634 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
635 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
636 |
CApaAppInfoFileReader::CApaAppInfoFileReader(RFs& aFs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
637 |
:CApaAppInfoFile(aFs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
638 |
{} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
639 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
640 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER CApaAppInfoFileReader::~CApaAppInfoFileReader() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
641 |
/** Destructor. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
642 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
643 |
Destroys all resources owned by the aif file reader. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
644 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
645 |
delete iDefaultCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
646 |
delete iAifFileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
647 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
648 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
649 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER CApaAppInfoFileReader* CApaAppInfoFileReader::NewLC(RFs& aFs, const TDesC& aFileName,TUid aUid) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
650 |
/** Allocates and constructs the aif file reader and internalises the contents |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
651 |
of the specified aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
652 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
653 |
@param aFs Connected session with the file server. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
654 |
@param aFileName The full path and (language-neutral) filename of the aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
655 |
@param aApplicationUid The application's UID. If you specify a value other |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
656 |
than KNullUid, the aif file must have this value as its third (most derived) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
657 |
UID. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
658 |
@leave KErrCorrupt The UID specified is incorrect, or if KNullUid was specified, |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
659 |
the aif file's second UID was not KUidAppInfoFile. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
660 |
@return Pointer to the newly constructed and initialised aif file reader. The |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
661 |
object is left on the cleanup stack. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
662 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
663 |
CApaAppInfoFileReader* self=new(ELeave) CApaAppInfoFileReader(aFs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
664 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
665 |
self->ConstructL(aFileName,aUid); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
666 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
667 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
668 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
669 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER CApaAppInfoFileReader* CApaAppInfoFileReader::NewL(RFs& aFs, const TDesC& aFileName,TUid aUid) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
670 |
/** Allocates and constructs the aif file reader and internalises the contents |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
671 |
of the specified aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
672 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
673 |
@param aFs Connected session with the file server. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
674 |
@param aFileName The full path and (language-neutral) filename of the aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
675 |
@param aApplicationUid The application's UID. If you specify a value other |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
676 |
than KNullUid, the aif file must have this as its third (most derived) UID. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
677 |
@leave KErrCorrupt The UID specified is incorrect, or if KNullUid was specified, |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
678 |
the aif file's second UID was not KUidAppInfoFile. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
679 |
@return Pointer to the newly constructed and initialised aif file reader. The |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
680 |
object is popped from the cleanup stack. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
681 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
682 |
CApaAppInfoFileReader* self=CApaAppInfoFileReader::NewLC(aFs, aFileName,aUid); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
683 |
CleanupStack::Pop(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
684 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
685 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
686 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
687 |
void CApaAppInfoFileReader::ConstructL(const TDesC& aFileName,TUid aMostDerivedUid) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
688 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
689 |
__DECLARE_NAME(_S("CApaAppInfoFileReader")); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
690 |
CApaAppInfoFile::ConstructL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
691 |
TParse parse; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
692 |
User::LeaveIfError(parse.Set(aFileName,NULL,NULL)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
693 |
iDefaultCaption=parse.Name().AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
694 |
TFileName localFileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
695 |
localFileName.Copy(aFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
696 |
BaflUtils::NearestLanguageFile(iFs,localFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
697 |
iRomPointer=iFs.IsFileInRom(localFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
698 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
699 |
iAifFileName = localFileName.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
700 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
701 |
// Get the file type |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
702 |
TEntry entry; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
703 |
User::LeaveIfError(iFs.Entry(localFileName, entry)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
704 |
if (!entry.IsTypeValid()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
705 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
706 |
// Invalid UID |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
707 |
User::Leave(KErrCorrupt); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
708 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
709 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
710 |
// Determine the type of AIF file |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
711 |
const TUidType& type = entry.iType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
712 |
if (( |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
713 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
714 |
type[1] == KUidInterimFormatFileForJavaMIDletInstaller |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
715 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
716 |
) && (aMostDerivedUid == KNullUid || type[2] == aMostDerivedUid)) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
717 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
718 |
// Read old AIF format file |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
719 |
CFileStore* store = CFileStore::OpenL(iFs,localFileName,EFileRead|EFileShareReadersOnly); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
720 |
iStore = store; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
721 |
RStoreReadStream inStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
722 |
inStream.OpenLC(*store,store->Root()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
723 |
InternalizeL(inStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
724 |
CleanupStack::PopAndDestroy(&inStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
725 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
726 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
727 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
728 |
// it's the wrong file!!!!! |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
729 |
User::Leave(KErrCorrupt); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
730 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
731 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
732 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
733 |
void CApaAppInfoFileReader::LoadAifFileVersionTwoL(const TDesC& aFileName, TUid aMostDerivedUid) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
734 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
735 |
// Version 2 AIF format: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
736 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
737 |
// +--------------------- - - -------- - - ---+ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
738 |
// | UID | RSC len | RSC block | MBM block | |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
739 |
// +--------------------- - - -------- - - ---+ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
740 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
741 |
// UID = 4 bytes (incl. checksum) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
742 |
// RSC len = 4 bytes |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
743 |
// RSC block = RSC len bytes + padding to make MBM block 4-byte aligned |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
744 |
// MBM block = remainder of file, 4-byte aligned |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
745 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
746 |
// Read 16-bit block for length of RSC file |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
747 |
RFile file; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
748 |
User::LeaveIfError(file.Open(iFs, aFileName, EFileRead | EFileShareReadersOnly)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
749 |
CleanupClosePushL(file); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
750 |
TInt aifHeaderOffset = 16; // skip over UID and checksum |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
751 |
User::LeaveIfError(file.Seek(ESeekStart, aifHeaderOffset)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
752 |
TBuf8<4> buffer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
753 |
User::LeaveIfError(file.Read(buffer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
754 |
const TInt rscLength = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
755 |
TInt fileSize = 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
756 |
User::LeaveIfError(file.Size(fileSize)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
757 |
CleanupStack::PopAndDestroy(&file); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
758 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
759 |
// Open RSC file using offset |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
760 |
RResourceFile resFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
761 |
resFile.OpenL(iFs, aFileName, aifHeaderOffset + 4, rscLength); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
762 |
CleanupClosePushL(resFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
763 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
764 |
// Read the first resource (AIF_DATA struct) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
765 |
HBufC8* resource = resFile.AllocReadLC(1); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
766 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
767 |
TResourceReader reader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
768 |
reader.SetBuffer(resource); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
769 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
770 |
// Read app UID |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
771 |
const TInt uid = reader.ReadInt32(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
772 |
if ((aMostDerivedUid != KNullUid) && (uid != aMostDerivedUid.iUid)) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
773 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
774 |
User::Leave(KErrCorrupt); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
775 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
776 |
// Num icons |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
777 |
const TInt numIcons = reader.ReadInt16(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
778 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
779 |
// Caption array |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
780 |
const TInt captionArraySize = reader.ReadInt16(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
781 |
TInt i; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
782 |
for (i=0; i < captionArraySize; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
783 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
784 |
TCaptionHeader header; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
785 |
header.iLanguage = static_cast<TLanguage>(reader.ReadInt16()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
786 |
TPtrC caption = reader.ReadTPtrC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
787 |
header.iCaption = caption.AllocLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
788 |
iCaptionHeaderArray->AppendL(header); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
789 |
CleanupStack::Pop(header.iCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
790 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
791 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
792 |
// Read capability flags |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
793 |
iCapability.iAppIsHidden = reader.ReadInt8(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
794 |
iCapability.iEmbeddability = static_cast<TApaAppCapability::TEmbeddability>(reader.ReadInt8()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
795 |
iCapability.iSupportsNewFile = reader.ReadInt8(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
796 |
iCapability.iLaunchInBackground = reader.ReadInt8(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
797 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
798 |
// Group name |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
799 |
iCapability.iGroupName = reader.ReadTPtrC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
800 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
801 |
// Datatype list |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
802 |
const TInt dataTypeArraySize = reader.ReadInt16(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
803 |
for (i=0; i < dataTypeArraySize; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
804 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
805 |
TDataTypeHeader dataTypeHeader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
806 |
dataTypeHeader.iPriority = (TDataTypePriority)reader.ReadInt16(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
807 |
TPtrC8 dataTypePtr = reader.ReadTPtrC8(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
808 |
TDataType* dataType = new(ELeave) TDataType(dataTypePtr); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
809 |
CleanupStack::PushL(dataType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
810 |
dataTypeHeader.iDataType = dataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
811 |
iDataTypeHeaderArray->AppendL(dataTypeHeader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
812 |
CleanupStack::Pop(dataType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
813 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
814 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
815 |
// Read MBM block |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
816 |
iMbmOffset = aifHeaderOffset + 4 + rscLength; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
817 |
// Calculate any padding after the RSC (MBM block must be 4-byte aligned) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
818 |
TInt mbmPadding = (rscLength % 4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
819 |
if (mbmPadding) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
820 |
mbmPadding = 4 - mbmPadding; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
821 |
iMbmOffset += mbmPadding; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
822 |
TInt iconIndex = 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
823 |
if (fileSize > iMbmOffset) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
824 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
825 |
// Populate the icon array |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
826 |
AddIconHeadersL(aFileName, iMbmOffset, numIcons); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
827 |
iconIndex += numIcons; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
828 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
829 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
830 |
// View list |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
831 |
const TInt viewListArraySize = reader.ReadInt16(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
832 |
for (i=0; i < viewListArraySize; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
833 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
834 |
CApaAIFViewData* viewData = CApaAIFViewData::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
835 |
viewData->SetViewUid(TUid::Uid(reader.ReadInt32())); // Read UID |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
836 |
viewData->SetScreenMode(reader.ReadInt32()); // Read screenmode |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
837 |
TInt numViewIcons = reader.ReadInt16(); // Read num icons |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
838 |
TInt j = 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
839 |
for ( ; j < numViewIcons; j++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
840 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
841 |
viewData->AddIconIndexL(iconIndex); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
842 |
iconIndex++; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
843 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
844 |
// Read caption array |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
845 |
const TInt viewCaptArraySize = reader.ReadInt16(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
846 |
for (j=0; j < viewCaptArraySize; j++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
847 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
848 |
TLanguage langCode = static_cast<TLanguage>(reader.ReadInt16()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
849 |
TPtrC caption = reader.ReadTPtrC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
850 |
viewData->AddCaptionL(langCode, caption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
851 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
852 |
TViewDataHeader header; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
853 |
header.iViewData = viewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
854 |
iViewDataHeaderArray->AppendL(header); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
855 |
CleanupStack::Pop(viewData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
856 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
857 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
858 |
// File ownership list |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
859 |
const TInt fileOwnershipArraySize = reader.ReadInt16(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
860 |
for (i=0; i < fileOwnershipArraySize; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
861 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
862 |
// Filename |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
863 |
TFileOwnershipInfoHeader ownership; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
864 |
TPtrC fileNamePtr = reader.ReadTPtrC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
865 |
ownership.iOwnedFileName = fileNamePtr.AllocLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
866 |
iFileOwnershipInfoHeaderArray->AppendL(ownership); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
867 |
CleanupStack::Pop(ownership.iOwnedFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
868 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
869 |
CleanupStack::PopAndDestroy(2, &resFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
870 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
871 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
872 |
void CApaAppInfoFileReader::AddIconHeadersL(const TDesC& aFileName, TInt32 aFileOffset, TInt aNumIcons) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
873 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
874 |
CFbsBitmap* bmp = new(ELeave) CFbsBitmap(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
875 |
CleanupStack::PushL(bmp); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
876 |
for (TInt i=0; i < aNumIcons; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
877 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
878 |
User::LeaveIfError(bmp->Load(aFileName, i * 2, ETrue, aFileOffset)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
879 |
TSize iconSize = bmp->SizeInPixels(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
880 |
TIconHeader header; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
881 |
header.iIcon = NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
882 |
header.iIconMain = NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
883 |
header.iIconMask = NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
884 |
header.iIconSideInPixels = iconSize.iWidth; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
885 |
iIconHeaderArray->AppendL(header); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
886 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
887 |
CleanupStack::PopAndDestroy(bmp); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
888 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
889 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
890 |
void CApaAppInfoFileReader::InternalizeL(RReadStream& aStream) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
891 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
892 |
aStream>> *iCaptionHeaderArray; // Internalizes the headers only |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
893 |
aStream>> *iIconHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
894 |
aStream>> iCapability; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
895 |
TInt version=EAifVersionOriginal; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
896 |
TRAP_IGNORE(version=aStream.ReadInt32L()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
897 |
if (version<EAifVersionAddsDataType) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
898 |
return; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
899 |
aStream>> *iDataTypeHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
900 |
if (version<EAifVersionAddsViewData) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
901 |
return; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
902 |
aStream>> *iViewDataHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
903 |
if (version<EAifVersionAddsFileOwnershipInfo) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
904 |
return; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
905 |
aStream>> *iFileOwnershipInfoHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
906 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
907 |
if (version<EAifVersionAddsJavaMIDletInfo) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
908 |
return; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
909 |
iJavaMIDletInfo_AmsAuthId=aStream.ReadUint32L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
910 |
iJavaMIDletInfo_MIDlet=aStream.ReadInt32L(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
911 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
912 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
913 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
914 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER TApaAppCaption CApaAppInfoFileReader::CaptionL(TLanguage aLanguage) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
915 |
// Find language id and return matching caption, loaded from file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
916 |
// Does not allocate storage for the caption so there's no need to delete the array elements. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
917 |
/** Searches for the most appropriate caption in the aif file for the language |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
918 |
specified. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
919 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
920 |
If a caption in the specified language is not found, the function searches |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
921 |
for the best alternative using the language downgrade path. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
922 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
923 |
If there are no captions at all in the aif file, a default caption is used |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
924 |
(the aif filename). |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
925 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
926 |
@param aLanguage The language of the required caption. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
927 |
@return The application's caption. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
928 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
929 |
RFs fs; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
930 |
CleanupClosePushL(fs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
931 |
User::LeaveIfError(fs.Connect()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
932 |
RArray<TLanguage> downgradePath; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
933 |
CleanupClosePushL(downgradePath); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
934 |
BaflUtils::GetDowngradePathL(fs,aLanguage,downgradePath); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
935 |
TApaAppCaption result(*iDefaultCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
936 |
const TInt count=iCaptionHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
937 |
if (count>0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
938 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
939 |
const TInt languageCount=downgradePath.Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
940 |
TInt captionIndex=KErrNotFound; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
941 |
for (TInt j=0; j<languageCount; j++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
942 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
943 |
for (TInt i=0;i<count;i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
944 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
945 |
if ((*iCaptionHeaderArray)[i].iLanguage==downgradePath[j]) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
946 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
947 |
captionIndex=i; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
948 |
j=languageCount;//to exit outer loop |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
949 |
break; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
950 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
951 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
952 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
953 |
TCaptionHeader pCaptionHeader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
954 |
if (captionIndex!=KErrNotFound) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
955 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
956 |
pCaptionHeader=(*iCaptionHeaderArray)[captionIndex]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
957 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
958 |
else // use caption for the first language specified in the aif file |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
959 |
// since we don't have anything more suitable |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
960 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
961 |
pCaptionHeader=(*iCaptionHeaderArray)[0]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
962 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
963 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
964 |
if (iStore) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
965 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
966 |
RStoreReadStream inStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
967 |
inStream.OpenLC(*iStore,pCaptionHeader.iCaption.AsId()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
968 |
inStream >> result; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
969 |
CleanupStack::PopAndDestroy(&inStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
970 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
971 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
972 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
973 |
__ASSERT_DEBUG(pCaptionHeader.iCaption.IsPtr(), Panic(EPanicNoCaption)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
974 |
result = *(pCaptionHeader.iCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
975 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
976 |
downgradePath.Reset(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
977 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
978 |
CleanupStack::PopAndDestroy(2, &fs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
979 |
return result; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
980 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
981 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
982 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileReader::StretchDrawL(CFbsBitmap* aSource,CFbsBitmap* aTarget,TSize aSizeInPixels) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
983 |
/** Creates a new bitmap based on another, stretched or compressed to the specified |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
984 |
size. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
985 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
986 |
@param aSource The source bitmap to copy. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
987 |
@param aTarget The target bitmap. On return, this is set to be a copy of aSource, |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
988 |
but stretched or compressed to the specified size. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
989 |
@param aSizeInPixels The required size for the target bitmap. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
990 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
991 |
User::LeaveIfError(aTarget->Create(aSizeInPixels,aSource->DisplayMode())); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
992 |
CFbsBitmapDevice* bitDev=CFbsBitmapDevice::NewL(aTarget); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
993 |
CleanupStack::PushL(bitDev); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
994 |
CFbsBitGc* gc; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
995 |
User::LeaveIfError(bitDev->CreateContext((CGraphicsContext*&)gc)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
996 |
gc->DrawBitmap(TRect(aSizeInPixels),aSource); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
997 |
delete gc; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
998 |
CleanupStack::PopAndDestroy(bitDev); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
999 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1000 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1001 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER TInt CApaAppInfoFileReader::NumberOfBitmaps() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1002 |
/** Returns the number of icons in the aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1003 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1004 |
@return The number of icons in the aif file. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1005 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1006 |
return iIconHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1007 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1008 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1009 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER CApaMaskedBitmap* CApaAppInfoFileReader::CreateMaskedBitmapByIndexLC(TInt aIndex) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1010 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1011 |
const TInt count=iIconHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1012 |
if (count<=aIndex) // panic? |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1013 |
User::Leave(KErrNotFound); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1014 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1015 |
CApaMaskedBitmap* icon=CApaMaskedBitmap::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1016 |
if (iStore) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1017 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1018 |
RStoreReadStream inStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1019 |
inStream.OpenLC(*iStore,(*iIconHeaderArray)[aIndex].iIcon.AsId()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1020 |
MStreamBuf* src=inStream.Source(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1021 |
__ASSERT_DEBUG(src, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1022 |
const TUid uid = TUid::Uid(inStream.ReadInt32L()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1023 |
src->SeekL(MStreamBuf::ERead,-4); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1024 |
if (uid==KCBitwiseBitmapUid) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1025 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1026 |
TUint32* fileOffsetPtr=(TUint32*) src; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1027 |
fileOffsetPtr+=4; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1028 |
icon->SetRomBitmapL(iRomPointer+(*fileOffsetPtr)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1029 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1030 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1031 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1032 |
inStream >> *icon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1033 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1034 |
CleanupStack::PopAndDestroy(&inStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1035 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1036 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1037 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1038 |
CFbsBitmap* mask = new(ELeave) CFbsBitmap(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1039 |
CleanupStack::PushL(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1040 |
TInt mbmIndex = aIndex * 2; // we need to map 'icon index' to 'mbm index' (bmp + mask) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1041 |
__ASSERT_DEBUG(iAifFileName, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1042 |
User::LeaveIfError(icon->Load(*iAifFileName, mbmIndex, ETrue, iMbmOffset)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1043 |
User::LeaveIfError(mask->Load(*iAifFileName, mbmIndex + 1, ETrue, iMbmOffset)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1044 |
icon->SetMaskBitmap(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1045 |
CleanupStack::Pop(mask); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1046 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1047 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1048 |
return icon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1049 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1050 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1051 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER CApaMaskedBitmap* CApaAppInfoFileReader::CreateMaskedBitmapL(TInt aIconSideInPixels) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1052 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1053 |
// Use CreateMaskedBitmapByIndexLC. To access a bitmap by size use RApaLsSession APIs. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1054 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1055 |
/** Creates a new masked bitmap based on the one in the aif file whose size is |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1056 |
closest to the size specified. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1057 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1058 |
If all bitmaps in the file are larger than the size specified, the new bitmap |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1059 |
is based on the smallest and is shrunk to the specified size. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1060 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1061 |
@deprecated |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1062 |
@param aIconSideInPixels The maximum width and height in pixels of the bitmap. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1063 |
The new bitmap will be this size, or smaller. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1064 |
@leave KErrNotFound There are no bitmaps in the file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1065 |
@return Pointer to the new bitmap. The caller takes ownership. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1066 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1067 |
__ASSERT_DEBUG(iIconHeaderArray, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1068 |
const TInt count=iIconHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1069 |
if (count==0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1070 |
User::Leave(KErrNotFound); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1071 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1072 |
TInt closest=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1073 |
TInt smallest=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1074 |
TInt minSoFar=KMaxTInt; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1075 |
TInt smallestSoFar=KMaxTInt; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1076 |
TInt delta=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1077 |
for (TInt i=0;i<count;i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1078 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1079 |
TIconHeader* pIconHeader=(&(*iIconHeaderArray)[i]); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1080 |
delta = aIconSideInPixels-pIconHeader->iIconSideInPixels; // Abs() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1081 |
if (pIconHeader->iIconSideInPixels<smallestSoFar) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1082 |
{ // the smallest is used if they're all too big |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1083 |
smallest = i; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1084 |
smallestSoFar = pIconHeader->iIconSideInPixels; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1085 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1086 |
if (delta>=0 && delta<minSoFar) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1087 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1088 |
minSoFar=delta; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1089 |
closest=i; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1090 |
if (delta==0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1091 |
break; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1092 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1093 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1094 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1095 |
if (minSoFar==KMaxTInt) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1096 |
closest = smallest; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1097 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1098 |
CApaMaskedBitmap* icon = CreateMaskedBitmapByIndexLC(closest); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1099 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1100 |
if (minSoFar==KMaxTInt) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1101 |
{// all the icons are too big - squash down the smallest |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1102 |
CApaMaskedBitmap* newIcon=CApaMaskedBitmap::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1103 |
TSize iconSize(aIconSideInPixels,aIconSideInPixels); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1104 |
StretchDrawL(icon,newIcon,iconSize); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1105 |
StretchDrawL(icon->Mask(),newIcon->Mask(),iconSize); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1106 |
CleanupStack::Pop(newIcon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1107 |
CleanupStack::PopAndDestroy(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1108 |
return newIcon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1109 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1110 |
CleanupStack::Pop(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1111 |
return icon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1112 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1113 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1114 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileReader::Capability(TDes8& aInfo)const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1115 |
/** Gets the capability information read from the aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1116 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1117 |
@param aInfo A TApaAppCapabilityBuf object. On return, this contains the application's |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1118 |
capabilities. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1119 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1120 |
TApaAppCapabilityBuf buf(iCapability); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1121 |
TApaAppCapability::CopyCapability(aInfo,buf); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1122 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1123 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1124 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileReader::DataTypesSupportedL(CArrayFix<TDataTypeWithPriority>& aTypeList) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1125 |
/** Gets the MIME types supported by the application, and their priorities. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1126 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1127 |
@param aTypeList An empty array. On return, this contains the MIME type priorities |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1128 |
read from the aif file. MIME type priorities determine which application is |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1129 |
launched to display a particular document. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1130 |
@panic APGRFX 29 The aTypeList array is not empty when calling the function. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1131 |
Debug builds only. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1132 |
@panic APGRFX 33 The internal array holding the MIME type information is uninitialised. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1133 |
Debug builds only. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1134 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1135 |
__ASSERT_DEBUG(aTypeList.Count()==0,Panic(EDPanicArrayNotEmpty)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1136 |
__ASSERT_DEBUG(iDataTypeHeaderArray,Panic(EDPanicInvalidDataTypeArray)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1137 |
TInt count=iDataTypeHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1138 |
for (TInt i=0; i<count; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1139 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1140 |
const TDataTypeHeader& header=(*iDataTypeHeaderArray)[i]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1141 |
if (iStore) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1142 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1143 |
RStoreReadStream inStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1144 |
inStream.OpenLC(*iStore,header.iDataType.AsId()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1145 |
TDataType dataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1146 |
inStream >> dataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1147 |
aTypeList.AppendL(TDataTypeWithPriority(dataType,header.iPriority)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1148 |
CleanupStack::PopAndDestroy(&inStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1149 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1150 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1151 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1152 |
aTypeList.AppendL(TDataTypeWithPriority(*(header.iDataType), header.iPriority)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1153 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1154 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1155 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1156 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1157 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileReader::GetViewsL(CArrayPtr<CApaAIFViewData>& aViewList) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1158 |
/** Gets the application view data contained in the aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1159 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1160 |
The view data is an array of view UIDs and their associated captions and icons. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1161 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1162 |
@internalComponent |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1163 |
@param aViewList An empty array. On return, this contains the view data read |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1164 |
from the aif file. If the file does not contain any application view data, |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1165 |
this array will be empty on return. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1166 |
@panic APGRFX 29 The aViewList array is not empty when calling the function. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1167 |
Debug builds only. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1168 |
@panic APGRFX 34 The internal array holding the view data is uninitialised. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1169 |
Debug builds only. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1170 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1171 |
__ASSERT_DEBUG(aViewList.Count()==0,Panic(EDPanicArrayNotEmpty)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1172 |
__ASSERT_DEBUG(iViewDataHeaderArray,Panic(EDPanicInvalidViewArray)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1173 |
TInt count=iViewDataHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1174 |
for (TInt i=0; i<count; i++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1175 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1176 |
const TViewDataHeader& header=(*iViewDataHeaderArray)[i]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1177 |
if (iStore) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1178 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1179 |
CApaAIFViewData* viewData=CApaAIFViewData::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1180 |
RStoreReadStream inStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1181 |
inStream.OpenLC(*iStore,header.iViewData.AsId()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1182 |
inStream >> *viewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1183 |
aViewList.AppendL(viewData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1184 |
CleanupStack::PopAndDestroy(&inStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1185 |
CleanupStack::Pop(viewData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1186 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1187 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1188 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1189 |
// Load any icons for the view |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1190 |
// Have to create a copy here as the old AIF format (above) gives external ownership |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1191 |
// of CApaAIFViewData items in aViewList. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1192 |
CApaAIFViewData* headerViewData = header.iViewData.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1193 |
CApaAIFViewData* viewData = CApaAIFViewData::NewLC(*headerViewData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1194 |
viewData->LoadIconsL(*iAifFileName, iMbmOffset); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1195 |
aViewList.AppendL(viewData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1196 |
CleanupStack::Pop(viewData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1197 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1198 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1199 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1200 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1201 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileReader::GetOwnedFilesL(CDesCArray& aOwnedFilesList) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1202 |
/** Gets a list of the files that the application has claimed ownership of in the |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1203 |
aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1204 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1205 |
@param aOwnedFilesList An empty array. On return, this contains the names |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1206 |
of the files identified as being owned by the application. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1207 |
@panic APGRFX 29 The aOwnedFilesList array is not empty when calling the function. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1208 |
Debug builds only. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1209 |
@panic APGRFX 35 The internal array holding the owned files list is uninitialised. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1210 |
Debug builds only. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1211 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1212 |
__ASSERT_DEBUG(aOwnedFilesList.Count()==0,Panic(EDPanicArrayNotEmpty)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1213 |
__ASSERT_DEBUG(iFileOwnershipInfoHeaderArray,Panic(EDPanicInvalidFileOwnershipArray)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1214 |
const TInt count=iFileOwnershipInfoHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1215 |
for (TInt ii=0; ii<count; ii++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1216 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1217 |
const TFileOwnershipInfoHeader& header=(*iFileOwnershipInfoHeaderArray)[ii]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1218 |
if (iStore) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1219 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1220 |
TFileName fileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1221 |
RStoreReadStream inStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1222 |
inStream.OpenLC(*iStore,header.iOwnedFileName.AsId()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1223 |
inStream >> fileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1224 |
aOwnedFilesList.AppendL(fileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1225 |
CleanupStack::PopAndDestroy(&inStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1226 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1227 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1228 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1229 |
aOwnedFilesList.AppendL(*(header.iOwnedFileName)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1230 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1231 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1232 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1233 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1234 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1235 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1236 |
// Class CApaAppInfoFileWriter |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1237 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1238 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1239 |
CApaAppInfoFileWriter::CApaAppInfoFileWriter(RFs& aFs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1240 |
:CApaAppInfoFile(aFs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1241 |
{} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1242 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1243 |
EXPORT_C CApaAppInfoFileWriter::~CApaAppInfoFileWriter() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1244 |
// Must delete caption and icon pointers that have been set in AddCaptionL and AddIconL |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1245 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1246 |
if (iCaptionHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1247 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1248 |
const TInt maxIndex=iCaptionHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1249 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1250 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1251 |
const TCaptionHeader& pCaption=(*iCaptionHeaderArray)[i]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1252 |
if (pCaption.iCaption.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1253 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1254 |
delete pCaption.iCaption.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1255 |
iCaptionHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1256 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1257 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1258 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1259 |
if (iIconHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1260 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1261 |
const TInt maxIndex=iIconHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1262 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1263 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1264 |
const TIconHeader& pIcon=(*iIconHeaderArray)[i]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1265 |
if (pIcon.iIcon.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1266 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1267 |
delete pIcon.iIcon.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1268 |
iIconHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1269 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1270 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1271 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1272 |
if (iDataTypeHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1273 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1274 |
const TInt maxIndex=iDataTypeHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1275 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1276 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1277 |
const TDataTypeHeader& pData=(*iDataTypeHeaderArray)[i]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1278 |
if (pData.iDataType.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1279 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1280 |
delete pData.iDataType.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1281 |
iDataTypeHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1282 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1283 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1284 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1285 |
if (iViewDataHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1286 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1287 |
const TInt maxIndex=iViewDataHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1288 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1289 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1290 |
const TViewDataHeader& pView=(*iViewDataHeaderArray)[i]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1291 |
if (pView.iViewData.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1292 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1293 |
delete pView.iViewData.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1294 |
iViewDataHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1295 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1296 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1297 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1298 |
if (iFileOwnershipInfoHeaderArray) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1299 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1300 |
const TInt maxIndex=iFileOwnershipInfoHeaderArray->Count() - 1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1301 |
for(TInt i=maxIndex; i>=0; i--) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1302 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1303 |
const TFileOwnershipInfoHeader& pView=(*iFileOwnershipInfoHeaderArray)[i]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1304 |
if (pView.iOwnedFileName.IsPtr()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1305 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1306 |
delete pView.iOwnedFileName.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1307 |
iFileOwnershipInfoHeaderArray->Delete(i); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1308 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1309 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1310 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1311 |
delete iMap; // Must delete before iStore |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1312 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1313 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1314 |
// CApaResourceFileWriterBase::MDataSink |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1315 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1316 |
void CApaResourceFileWriterBase::MDataSink::WriteBufferL(const TDesC8& aBuffer) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1317 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1318 |
if (aBuffer.Length()>0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1319 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1320 |
if (iBufferSinkForCompressedUnicodeFormat!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1321 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1322 |
WriteInCompressedUnicodeFormatL(aBuffer.Length(), aBuffer, EFalse); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1323 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1324 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1325 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1326 |
DoWriteBufferL(aBuffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1327 |
iNumberOfBytesWhenUncompressed+=aBuffer.Length(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1328 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1329 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1330 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1331 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1332 |
void CApaResourceFileWriterBase::MDataSink::WriteCompressedUnicodeRunL(TInt aNumberOfBytesWhenUncompressed, const TDesC8& aTextAsCompressedUnicode) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1333 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1334 |
WriteInCompressedUnicodeFormatL(aNumberOfBytesWhenUncompressed, aTextAsCompressedUnicode, ETrue); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1335 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1336 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1337 |
void CApaResourceFileWriterBase::MDataSink::WriteInCompressedUnicodeFormatL(TInt aNumberOfBytesWhenUncompressed, const TDesC8& aData, TBool aCompressedUnicode) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1338 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1339 |
__ASSERT_DEBUG(iBufferSinkForCompressedUnicodeFormat!=NULL, Panic(EPanicWrongResourceFormat1)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1340 |
const TInt dataLength=aData.Length(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1341 |
__ASSERT_DEBUG(((dataLength==0) && ((aNumberOfBytesWhenUncompressed==0) || (aNumberOfBytesWhenUncompressed==1))) || |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1342 |
((dataLength>0) && (aNumberOfBytesWhenUncompressed>0)), Panic(EPanicBadCompressedUnicodeRun)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1343 |
if (dataLength>0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1344 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1345 |
if ((iNumberOfBytesWhenUncompressed==0) && (iBufferSinkForCompressedUnicodeFormat->iNumberOfBytesWhenUncompressed==0)) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1346 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1347 |
if (aCompressedUnicode) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1348 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1349 |
iFlags|=EFlag_InCompressedUnicodeRun; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1350 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1351 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1352 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1353 |
iFlags&=~EFlag_InCompressedUnicodeRun; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1354 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1355 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1356 |
else if ((iFlags&EFlag_InCompressedUnicodeRun)^(aCompressedUnicode? EFlag_InCompressedUnicodeRun: 0)) // if we're changing the state of the EFlag_InCompressedUnicodeRun flag |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1357 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1358 |
FlushL(EFalse); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1359 |
iFlags^=EFlag_InCompressedUnicodeRun; // toggle the EFlag_InCompressedUnicodeRun flag |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1360 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1361 |
static_cast<MDataSink*>(iBufferSinkForCompressedUnicodeFormat)->DoWriteBufferL(aData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1362 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1363 |
iBufferSinkForCompressedUnicodeFormat->iNumberOfBytesWhenUncompressed+=aNumberOfBytesWhenUncompressed; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1364 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1365 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1366 |
TInt CApaResourceFileWriterBase::MDataSink::NumberOfBytesWhenUncompressed() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1367 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1368 |
TInt numberOfBytesWhenUncompressed=iNumberOfBytesWhenUncompressed; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1369 |
if (iBufferSinkForCompressedUnicodeFormat!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1370 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1371 |
numberOfBytesWhenUncompressed+=iBufferSinkForCompressedUnicodeFormat->iNumberOfBytesWhenUncompressed; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1372 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1373 |
return numberOfBytesWhenUncompressed; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1374 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1375 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1376 |
CApaResourceFileWriterBase::MDataSink::MDataSink(RBufferSink* aBufferSinkForCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1377 |
:iNumberOfBytesWhenUncompressed(0), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1378 |
iFlags(0), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1379 |
iBufferSinkForCompressedUnicodeFormat(aBufferSinkForCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1380 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1381 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1382 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1383 |
void CApaResourceFileWriterBase::MDataSink::FlushL(TBool aFinalFlush) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1384 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1385 |
if (iBufferSinkForCompressedUnicodeFormat!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1386 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1387 |
RBuf8 run; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1388 |
CleanupClosePushL(run); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1389 |
TInt numberOfBytesInRunWhenUncompressed=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1390 |
iBufferSinkForCompressedUnicodeFormat->FlushAndGetAndResetL(numberOfBytesInRunWhenUncompressed, run); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1391 |
if (numberOfBytesInRunWhenUncompressed>0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1392 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1393 |
if ((iNumberOfBytesWhenUncompressed==0) && ((iFlags&EFlag_InCompressedUnicodeRun)==0)) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1394 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1395 |
WriteRunLengthL(0); // insert initial zero-length run-length as we're not starting with compressed Unicode |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1396 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1397 |
__ASSERT_DEBUG(run.Length()>0, Panic(EPanicBadRunLength)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1398 |
WriteRunLengthL(run.Length()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1399 |
DoWriteBufferL(run); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1400 |
iNumberOfBytesWhenUncompressed+=numberOfBytesInRunWhenUncompressed; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1401 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1402 |
CleanupStack::PopAndDestroy(&run); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1403 |
if (aFinalFlush && (iNumberOfBytesWhenUncompressed==0)) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1404 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1405 |
WriteRunLengthL(0); // write a zero-length run-length as the resource is completely empty |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1406 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1407 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1408 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1409 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1410 |
void CApaResourceFileWriterBase::MDataSink::Reset(TInt& aNumberOfBytesWhenUncompressed) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1411 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1412 |
aNumberOfBytesWhenUncompressed=iNumberOfBytesWhenUncompressed; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1413 |
iNumberOfBytesWhenUncompressed=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1414 |
iFlags=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1415 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1416 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1417 |
void CApaResourceFileWriterBase::MDataSink::WriteRunLengthL(TInt aRunLength) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1418 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1419 |
__ASSERT_DEBUG((aRunLength&~0x7fff)==0, Panic(EPanicBadRunLengthParameter)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1420 |
__ASSERT_DEBUG(CompressedUnicodeFormat(), Panic(EPanicWrongResourceFormat2)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1421 |
TBuf8<2> buffer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1422 |
if (aRunLength&~0x7f) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1423 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1424 |
buffer.Append((aRunLength>>8)|0x80); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1425 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1426 |
buffer.Append(aRunLength&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1427 |
DoWriteBufferL(buffer); // must call DoWriteBufferL here (not WriteBufferL) so that iNumberOfBytesWhenUncompressed is not altered |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1428 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1429 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1430 |
// CApaResourceFileWriterBase::RBufferSink |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1431 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1432 |
CApaResourceFileWriterBase::RBufferSink::RBufferSink(RBufferSink* aBufferSinkForCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1433 |
:MDataSink(aBufferSinkForCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1434 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1435 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1436 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1437 |
void CApaResourceFileWriterBase::RBufferSink::ConstructLC() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1438 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1439 |
iBuffer.CreateL(20); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1440 |
CleanupClosePushL(*this); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1441 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1442 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1443 |
void CApaResourceFileWriterBase::RBufferSink::Close() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1444 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1445 |
iBuffer.Close(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1446 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1447 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1448 |
void CApaResourceFileWriterBase::RBufferSink::FlushAndGetAndResetL(TInt& aNumberOfBytesWhenUncompressed, RBuf8& aBuffer) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1449 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1450 |
FlushL(ETrue); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1451 |
iBuffer.Swap(aBuffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1452 |
Reset(aNumberOfBytesWhenUncompressed); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1453 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1454 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1455 |
void CApaResourceFileWriterBase::RBufferSink::DoWriteBufferL(const TDesC8& aBuffer) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1456 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1457 |
if (iBuffer.MaxLength()-iBuffer.Length()<aBuffer.Length()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1458 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1459 |
iBuffer.ReAllocL(iBuffer.Length()+aBuffer.Length()+20); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1460 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1461 |
iBuffer.Append(aBuffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1462 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1463 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1464 |
// CApaResourceFileWriterBase |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1465 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1466 |
CApaResourceFileWriterBase::CApaResourceFileWriterBase() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1467 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1468 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1469 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1470 |
void CApaResourceFileWriterBase::DoGenerateFileContentsL(RBuf8& aBuffer, TUid aUid2, TUid aUid3) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1471 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1472 |
TInt mainResourceSizeInBytesWhenUncompressed=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1473 |
RBuf8 mainResourceInFormatContainingCompressedUnicode; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1474 |
MainResourceInCompiledFormatLC(mainResourceSizeInBytesWhenUncompressed, mainResourceInFormatContainingCompressedUnicode, ETrue); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1475 |
TInt temp=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1476 |
RBuf8 mainResourceInFormatNotContainingCompressedUnicode; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1477 |
MainResourceInCompiledFormatLC(temp, mainResourceInFormatNotContainingCompressedUnicode, EFalse); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1478 |
__ASSERT_DEBUG(temp==mainResourceSizeInBytesWhenUncompressed, Panic(EPanicInconsistentResourceSizeInBytes)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1479 |
TBool mainResourceInCompressedUnicodeFormat=ETrue; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1480 |
TPtrC8 mainResourceInSmallestFormat(mainResourceInFormatContainingCompressedUnicode); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1481 |
if (mainResourceInSmallestFormat.Length()>=mainResourceInFormatNotContainingCompressedUnicode.Length()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1482 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1483 |
mainResourceInCompressedUnicodeFormat=EFalse; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1484 |
mainResourceInSmallestFormat.Set(mainResourceInFormatNotContainingCompressedUnicode); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1485 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1486 |
TBool secondResourceInCompressedUnicodeFormat=EFalse; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1487 |
const TDesC8* const secondResource=SecondResourceL(secondResourceInCompressedUnicodeFormat); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1488 |
RBufferSink bufferSink(NULL); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1489 |
bufferSink.ConstructLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1490 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1491 |
WriteUidTypeL(bufferSink, aUid2, aUid3); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1492 |
WriteUint8L(bufferSink, 0); // flags |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1493 |
WriteLittleEndianUint16L(bufferSink, (secondResource==NULL)? mainResourceSizeInBytesWhenUncompressed: Max(mainResourceSizeInBytesWhenUncompressed, secondResource->Length())); // the size in bytes of the largest resource in the file when uncompressed |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1494 |
TUint bitArray=0; // bit-array (one per top-level resource) indicating whether each top-level resource contains compressed unicode or not |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1495 |
if (mainResourceInCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1496 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1497 |
bitArray|=0x01; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1498 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1499 |
if (secondResourceInCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1500 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1501 |
bitArray|=0x02; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1502 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1503 |
WriteUint8L(bufferSink, bitArray); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1504 |
WriteBufferL(bufferSink, mainResourceInSmallestFormat); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1505 |
if (secondResource!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1506 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1507 |
WriteBufferL(bufferSink, *secondResource); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1508 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1509 |
TInt filePosition=16+1+2+1; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1510 |
WriteLittleEndianUint16L(bufferSink, filePosition); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1511 |
filePosition+=mainResourceInSmallestFormat.Length(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1512 |
WriteLittleEndianUint16L(bufferSink, filePosition); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1513 |
if (secondResource!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1514 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1515 |
filePosition+=secondResource->Length(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1516 |
WriteLittleEndianUint16L(bufferSink, filePosition); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1517 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1518 |
TInt notUsed; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1519 |
bufferSink.FlushAndGetAndResetL(notUsed, aBuffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1520 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1521 |
CleanupStack::PopAndDestroy(3, &mainResourceInFormatContainingCompressedUnicode); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1522 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1523 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1524 |
void CApaResourceFileWriterBase::WriteUidTypeL(MDataSink& aDataSink, TUid aUid2, TUid aUid3) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1525 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1526 |
aDataSink.WriteBufferL(TCheckedUid(TUidType(TUid::Uid(0x101f4a6b), aUid2, aUid3)).Des()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1527 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1528 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1529 |
void CApaResourceFileWriterBase::WriteTextL(MDataSink& aDataSink, const TDesC& aText) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1530 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1531 |
// LTEXT |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1532 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1533 |
WriteUint8L(aDataSink, aText.Length()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1534 |
if (!aDataSink.CompressedUnicodeFormat()) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1535 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1536 |
if ((aDataSink.NumberOfBytesWhenUncompressed()%2)!=0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1537 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1538 |
WriteUint8L(aDataSink, 0xab); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1539 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1540 |
const TInt lengthOfTextInBytes=aText.Size(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1541 |
WriteBufferL(aDataSink, TPtrC8(reinterpret_cast<const TUint8*>(aText.Ptr()), lengthOfTextInBytes)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1542 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1543 |
else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1544 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1545 |
TInt numberOfBytesWhenUncompressed=aText.Size(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1546 |
if ((aDataSink.NumberOfBytesWhenUncompressed()%2)!=0) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1547 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1548 |
++numberOfBytesWhenUncompressed; // for the padding-byte 0xab when it's uncompressed |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1549 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1550 |
HBufC8* const textAsCompressedUnicode=AsCompressedUnicodeLC(aText); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1551 |
aDataSink.WriteCompressedUnicodeRunL(numberOfBytesWhenUncompressed, *textAsCompressedUnicode); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1552 |
CleanupStack::PopAndDestroy(textAsCompressedUnicode); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1553 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1554 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1555 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1556 |
void CApaResourceFileWriterBase::WriteText8L(MDataSink& aDataSink, const TDesC8& aText8) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1557 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1558 |
// LTEXT8 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1559 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1560 |
WriteUint8L(aDataSink, aText8.Length()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1561 |
WriteBufferL(aDataSink, aText8); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1562 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1563 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1564 |
void CApaResourceFileWriterBase::WriteUint8L(MDataSink& aDataSink, TUint aUint8) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1565 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1566 |
TBuf8<1> buffer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1567 |
buffer.Append(aUint8&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1568 |
aDataSink.WriteBufferL(buffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1569 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1570 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1571 |
void CApaResourceFileWriterBase::WriteLittleEndianUint16L(MDataSink& aDataSink, TUint aUint16) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1572 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1573 |
TBuf8<2> buffer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1574 |
buffer.Append(aUint16&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1575 |
buffer.Append((aUint16>>8)&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1576 |
aDataSink.WriteBufferL(buffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1577 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1578 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1579 |
void CApaResourceFileWriterBase::WriteLittleEndianUint32L(MDataSink& aDataSink, TUint aUint32) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1580 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1581 |
TBuf8<4> buffer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1582 |
buffer.Append(aUint32&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1583 |
buffer.Append((aUint32>>8)&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1584 |
buffer.Append((aUint32>>16)&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1585 |
buffer.Append((aUint32>>24)&0xff); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1586 |
aDataSink.WriteBufferL(buffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1587 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1588 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1589 |
void CApaResourceFileWriterBase::WriteBufferL(MDataSink& aDataSink, const TDesC8& aBuffer) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1590 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1591 |
aDataSink.WriteBufferL(aBuffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1592 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1593 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1594 |
HBufC8* CApaResourceFileWriterBase::AsCompressedUnicodeLC(const TDesC& aUncompressedUnicode) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1595 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1596 |
TUnicodeCompressor unicodeCompressor; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1597 |
TMemoryUnicodeSource decompressedUnicode1(aUncompressedUnicode.Ptr()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1598 |
TMemoryUnicodeSource decompressedUnicode2(aUncompressedUnicode.Ptr()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1599 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1600 |
// Create a buffer big enough to hold all the compressed output |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1601 |
TInt compressedUnicodeSizeInBytes = TUnicodeCompressor::CompressedSizeL(decompressedUnicode1, aUncompressedUnicode.Length()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1602 |
HBufC8* const compressedUnicodeBuffer=HBufC8::NewLC(compressedUnicodeSizeInBytes); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1603 |
TUint8* const compressedUnicodeBuffer_asBytePointer=const_cast<TUint8*>(compressedUnicodeBuffer->Ptr()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1604 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1605 |
// Compress the Unicode string |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1606 |
TInt numberOfInputElementsConsumed = 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1607 |
TInt numberOfOutputBytes = 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1608 |
unicodeCompressor.CompressL(compressedUnicodeBuffer_asBytePointer, decompressedUnicode2, compressedUnicodeSizeInBytes, aUncompressedUnicode.Length(), &numberOfOutputBytes, &numberOfInputElementsConsumed); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1609 |
TInt temp = 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1610 |
unicodeCompressor.FlushL(compressedUnicodeBuffer_asBytePointer, compressedUnicodeSizeInBytes, temp); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1611 |
numberOfOutputBytes+=temp; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1612 |
TPtr8 compressedUnicodeBuffer_asWritable(compressedUnicodeBuffer->Des()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1613 |
compressedUnicodeBuffer_asWritable.SetLength(numberOfOutputBytes); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1614 |
return compressedUnicodeBuffer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1615 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1616 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1617 |
void CApaResourceFileWriterBase::MainResourceInCompiledFormatLC(TInt& aMainResourceSizeInBytesWhenUncompressed, RBuf8& aBuffer, TBool aCompressedUnicodeFormat) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1618 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1619 |
CleanupClosePushL(aBuffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1620 |
RBufferSink bufferSinkForCompressedUnicodeFormat(NULL); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1621 |
if (aCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1622 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1623 |
bufferSinkForCompressedUnicodeFormat.ConstructLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1624 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1625 |
RBufferSink bufferSink(aCompressedUnicodeFormat? &bufferSinkForCompressedUnicodeFormat: NULL); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1626 |
bufferSink.ConstructLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1627 |
MainResourceInCompiledFormatL(bufferSink); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1628 |
bufferSink.FlushAndGetAndResetL(aMainResourceSizeInBytesWhenUncompressed, aBuffer); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1629 |
CleanupStack::PopAndDestroy(&bufferSink); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1630 |
if (aCompressedUnicodeFormat) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1631 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1632 |
CleanupStack::PopAndDestroy(&bufferSinkForCompressedUnicodeFormat); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1633 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1634 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1635 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1636 |
// CApaRegistrationResourceFileWriter |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1637 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1638 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1639 |
Creates a new CApaRegistrationResourceFileWriter instance. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1640 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1641 |
@param aAppUid The UID of the application. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1642 |
@param aAppFile The name and extension of the file to generate. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1643 |
@param aAttributes The attributes of the application. See the TApaAppCapability class for more details. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1644 |
@return A pointer to the new CApaRegistrationResourceFileWriter instance. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1645 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1646 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1647 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1648 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1649 |
EXPORT_C CApaRegistrationResourceFileWriter* CApaRegistrationResourceFileWriter::NewL(TUid aAppUid, const TDesC& aAppFile, TUint aAttributes) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1650 |
// aAppFile does not need to have the drive set |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1651 |
{ // static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1652 |
CApaRegistrationResourceFileWriter* const self=new(ELeave) CApaRegistrationResourceFileWriter(aAppUid, aAttributes); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1653 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1654 |
self->ConstructL(aAppFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1655 |
CleanupStack::Pop(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1656 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1657 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1658 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1659 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1660 |
The destructor for the CApaRegistrationResourceFileWriter class. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1661 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1662 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1663 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1664 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1665 |
EXPORT_C CApaRegistrationResourceFileWriter::~CApaRegistrationResourceFileWriter() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1666 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1667 |
delete iAppFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1668 |
delete iLocalisableResourceFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1669 |
delete iGroupName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1670 |
delete iOpaqueData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1671 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1672 |
TInt i; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1673 |
for (i=iDataTypeList.Count()-1; i>=0; --i) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1674 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1675 |
delete iDataTypeList[i].iType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1676 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1677 |
iDataTypeList.Close(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1678 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1679 |
for (i=iFileOwnershipList.Count()-1; i>=0; --i) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1680 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1681 |
delete iFileOwnershipList[i].iFileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1682 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1683 |
iFileOwnershipList.Close(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1684 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1685 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1686 |
TUid CApaRegistrationResourceFileWriter::AppUid() const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1687 |
/** @internalComponent */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1688 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1689 |
return iAppUid; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1690 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1691 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1692 |
void CApaRegistrationResourceFileWriter::GenerateFileContentsL(RBuf8& aBuffer) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1693 |
/** @internalComponent */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1694 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1695 |
DoGenerateFileContentsL(aBuffer, KUidAppRegistrationFile, iAppUid); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1696 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1697 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1698 |
void CApaRegistrationResourceFileWriter::SetLocalisableResourceFileL(const TDesC& aLocalisableResourceFile) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1699 |
/** @internalComponent */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1700 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1701 |
HBufC* const localisableResourceFile=aLocalisableResourceFile.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1702 |
delete iLocalisableResourceFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1703 |
iLocalisableResourceFile=localisableResourceFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1704 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1705 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1706 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1707 |
Sets or clears the hidden attribute. The usual purpose of the hidden attribute is to |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1708 |
decide if the application should appear in the task list or not but this could vary between |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1709 |
products. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1710 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1711 |
@param aAppIsHidden The value of the hidden flag. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1712 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1713 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1714 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1715 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1716 |
EXPORT_C void CApaRegistrationResourceFileWriter::SetAppIsHiddenL(TBool aAppIsHidden) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1717 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1718 |
iAppIsHidden=aAppIsHidden? 1: 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1719 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1720 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1721 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1722 |
Sets the embeddability attribute. See the TApaAppCapability::TEmbeddability class for more details. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1723 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1724 |
@param aEmbeddability The value of the embeddability flags. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1725 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1726 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1727 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1728 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1729 |
EXPORT_C void CApaRegistrationResourceFileWriter::SetEmbeddabilityL(TApaAppCapability::TEmbeddability aEmbeddability) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1730 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1731 |
iEmbeddability=aEmbeddability; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1732 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1733 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1734 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1735 |
Specifies if the application supports the creation of a new file or not. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1736 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1737 |
@param aSupportsNewFile ETrue to specify that the application supports the creation of a new file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1738 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1739 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1740 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1741 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1742 |
EXPORT_C void CApaRegistrationResourceFileWriter::SetSupportsNewFileL(TBool aSupportsNewFile) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1743 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1744 |
iSupportsNewFile=aSupportsNewFile? 1: 0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1745 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1746 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1747 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1748 |
Specifies if the application must be launched in the background. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1749 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1750 |
@param aLaunchInBackground ETrue if the application must be launched in the background, EFalse otherwise. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1751 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1752 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1753 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1754 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1755 |
EXPORT_C void CApaRegistrationResourceFileWriter::SetLaunchInBackgroundL(TBool aLaunchInBackground) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1756 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1757 |
iLaunchInBackground=aLaunchInBackground; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1758 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1759 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1760 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1761 |
Sets the name of the application group. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1762 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1763 |
@param aGroupName The name of the application group. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1764 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1765 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1766 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1767 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1768 |
EXPORT_C void CApaRegistrationResourceFileWriter::SetGroupNameL(const TDesC& aGroupName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1769 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1770 |
HBufC* const groupName=aGroupName.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1771 |
delete iGroupName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1772 |
iGroupName=groupName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1773 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1774 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1775 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1776 |
Sets the default screen number. This can be used to specify the preferred screen on devices |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1777 |
that support more than one screen. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1778 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1779 |
@param aDefaultScreenNumber The name of the default screen. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1780 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1781 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1782 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1783 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1784 |
EXPORT_C void CApaRegistrationResourceFileWriter::SetDefaultScreenNumberL(TInt aDefaultScreenNumber) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1785 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1786 |
iDefaultScreenNumber=aDefaultScreenNumber; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1787 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1788 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1789 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1790 |
Sets the opaque data. The opaque data is some data that is specific to the type of application. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1791 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1792 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1793 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1794 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1795 |
EXPORT_C void CApaRegistrationResourceFileWriter::SetOpaqueDataL(const TDesC8& aOpaqueData) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1796 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1797 |
HBufC8* const opaqueData=aOpaqueData.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1798 |
delete iOpaqueData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1799 |
iOpaqueData=opaqueData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1800 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1801 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1802 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1803 |
Adds a datatype to the list of datatypes that the application can handle. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1804 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1805 |
@param aPriority The priority. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1806 |
@param aType The datatype. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1807 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1808 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1809 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1810 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1811 |
EXPORT_C void CApaRegistrationResourceFileWriter::AddDataTypeL(TInt aPriority, const TDesC8& aType) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1812 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1813 |
SDataType dataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1814 |
dataType.iPriority=aPriority; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1815 |
dataType.iType=aType.AllocLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1816 |
iDataTypeList.AppendL(dataType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1817 |
CleanupStack::Pop(dataType.iType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1818 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1819 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1820 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1821 |
Adds a file to the list of files owned by the CApaRegistrationResourceFileWriter instances. These files |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1822 |
are deleted if an error occurs whil registering the new applications. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1823 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1824 |
@param aFileName The name of the file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1825 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1826 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1827 |
@released |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1828 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1829 |
EXPORT_C void CApaRegistrationResourceFileWriter::AddFileOwnershipInfoL(const TDesC& aFileName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1830 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1831 |
SFileOwnershipInfo fileOwnershipInfo; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1832 |
fileOwnershipInfo.iFileName=aFileName.AllocLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1833 |
iFileOwnershipList.AppendL(fileOwnershipInfo); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1834 |
CleanupStack::Pop(fileOwnershipInfo.iFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1835 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1836 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1837 |
CApaRegistrationResourceFileWriter::CApaRegistrationResourceFileWriter(TUid aAppUid, TUint aAttributes) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1838 |
:iAppUid(aAppUid), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1839 |
iAppFile(NULL), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1840 |
iAttributes(aAttributes), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1841 |
iLocalisableResourceFile(NULL), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1842 |
iAppIsHidden(0), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1843 |
iEmbeddability(TApaAppCapability::ENotEmbeddable), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1844 |
iSupportsNewFile(0), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1845 |
iLaunchInBackground(0), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1846 |
iGroupName(NULL), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1847 |
iDefaultScreenNumber(0), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1848 |
iOpaqueData(NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1849 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1850 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1851 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1852 |
void CApaRegistrationResourceFileWriter::ConstructL(const TDesC& aAppFile) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1853 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1854 |
iAppFile=aAppFile.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1855 |
iLocalisableResourceFile=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1856 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1857 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1858 |
void CApaRegistrationResourceFileWriter::WriteDataTypeL(MDataSink& aDataSink, const SDataType& aDataType) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1859 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1860 |
// DATATYPE |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1861 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1862 |
// LONG priority |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1863 |
WriteLittleEndianUint32L(aDataSink, aDataType.iPriority); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1864 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1865 |
// LTEXT8 type(KMaxDataTypeLength) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1866 |
WriteText8L(aDataSink, *aDataType.iType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1867 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1868 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1869 |
void CApaRegistrationResourceFileWriter::WriteFileOwnershipInfoL(MDataSink& aDataSink, const SFileOwnershipInfo& aFileOwnershipInfo) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1870 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1871 |
// FILE_OWNERSHIP_INFO |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1872 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1873 |
// LTEXT file_name(KMaxFileNameLength) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1874 |
WriteTextL(aDataSink, *aFileOwnershipInfo.iFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1875 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1876 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1877 |
void CApaRegistrationResourceFileWriter::MainResourceInCompiledFormatL(MDataSink& aDataSink) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1878 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1879 |
// APP_REGISTRATION_INFO |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1880 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1881 |
// LONG reserved_long = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1882 |
WriteLittleEndianUint32L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1883 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1884 |
// LLINK reserved_llink = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1885 |
WriteLittleEndianUint32L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1886 |
__ASSERT_DEBUG(iAppFile, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1887 |
// LTEXT app_file(KMaxFileNameLength) = "" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1888 |
WriteTextL(aDataSink, *iAppFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1889 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1890 |
// LONG attributes = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1891 |
WriteLittleEndianUint32L(aDataSink, iAttributes); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1892 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1893 |
// LTEXT localisable_resource_file(KMaxFileNameLength) = "" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1894 |
TPtrC localisableResourceFile(KNullDesC); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1895 |
if (iLocalisableResourceFile!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1896 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1897 |
localisableResourceFile.Set(*iLocalisableResourceFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1898 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1899 |
WriteTextL(aDataSink, localisableResourceFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1900 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1901 |
// LONG localisable_resource_id = 1 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1902 |
WriteLittleEndianUint32L(aDataSink, 1); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1903 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1904 |
// BYTE hidden = KAppNotHidden |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1905 |
WriteUint8L(aDataSink, iAppIsHidden); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1906 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1907 |
// BYTE embeddability = KAppNotEmbeddable |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1908 |
WriteUint8L(aDataSink, iEmbeddability); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1909 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1910 |
// BYTE newfile = KAppDoesNotSupportNewFile |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1911 |
WriteUint8L(aDataSink, iSupportsNewFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1912 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1913 |
// BYTE launch = KAppLaunchInForeground |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1914 |
WriteUint8L(aDataSink, iLaunchInBackground); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1915 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1916 |
// LTEXT group_name(KAppMaxGroupName) = "" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1917 |
TPtrC groupName(KNullDesC); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1918 |
if (iGroupName!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1919 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1920 |
groupName.Set(*iGroupName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1921 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1922 |
WriteTextL(aDataSink, groupName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1923 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1924 |
// BYTE default_screen_number = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1925 |
WriteUint8L(aDataSink, iDefaultScreenNumber); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1926 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1927 |
// LEN WORD STRUCT datatype_list[] |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1928 |
TInt i; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1929 |
const TInt numberOfDataTypes=iDataTypeList.Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1930 |
WriteLittleEndianUint16L(aDataSink, numberOfDataTypes); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1931 |
for (i=0; i<numberOfDataTypes; ++i) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1932 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1933 |
WriteDataTypeL(aDataSink, iDataTypeList[i]); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1934 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1935 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1936 |
// LEN WORD STRUCT file_ownership_list[] |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1937 |
const TInt numberOfOwnershipItems=iFileOwnershipList.Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1938 |
WriteLittleEndianUint16L(aDataSink, numberOfOwnershipItems); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1939 |
for (i=0; i<numberOfOwnershipItems; ++i) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1940 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1941 |
WriteFileOwnershipInfoL(aDataSink, iFileOwnershipList[i]); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1942 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1943 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1944 |
// LEN WORD STRUCT service_list[] |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1945 |
WriteLittleEndianUint16L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1946 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1947 |
// LLINK opaque_data = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1948 |
WriteLittleEndianUint32L(aDataSink, (iOpaqueData!=NULL)? 2: 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1949 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1950 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1951 |
const TDesC8* CApaRegistrationResourceFileWriter::SecondResourceL(TBool& aSecondResourceInCompressedUnicodeFormat) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1952 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1953 |
aSecondResourceInCompressedUnicodeFormat=EFalse; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1954 |
return iOpaqueData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1955 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1956 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1957 |
// CApaLocalisableResourceFileWriter |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1958 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1959 |
EXPORT_C CApaLocalisableResourceFileWriter* CApaLocalisableResourceFileWriter::NewL(const TDesC& aShortCaption, const TDesC& aCaption, TInt aNumberOfIcons, const TDesC& aGroupName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1960 |
{ // static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1961 |
CApaLocalisableResourceFileWriter* const self=new(ELeave) CApaLocalisableResourceFileWriter(aNumberOfIcons); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1962 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1963 |
self->ConstructL(aShortCaption, aCaption, aGroupName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1964 |
CleanupStack::Pop(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1965 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1966 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1967 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1968 |
EXPORT_C CApaLocalisableResourceFileWriter::~CApaLocalisableResourceFileWriter() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1969 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1970 |
delete iShortCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1971 |
delete iCaptionAndIcon.iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1972 |
delete iCaptionAndIcon.iIconFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1973 |
delete iGroupName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1974 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1975 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1976 |
void CApaLocalisableResourceFileWriter::GenerateFileContentsL(RBuf8& aBuffer) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1977 |
/** @internalComponent */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1978 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1979 |
DoGenerateFileContentsL(aBuffer, TUid::Null(), TUid::Null()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1980 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1981 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1982 |
void CApaLocalisableResourceFileWriter::SetIconFileL(const TDesC& aIconFile) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1983 |
/** @internalComponent */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1984 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1985 |
HBufC* const iconFile=aIconFile.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1986 |
delete iCaptionAndIcon.iIconFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1987 |
iCaptionAndIcon.iIconFile=iconFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1988 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1989 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1990 |
CApaLocalisableResourceFileWriter::CApaLocalisableResourceFileWriter(TInt aNumberOfIcons) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1991 |
:iShortCaption(NULL), |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1992 |
iGroupName(NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1993 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1994 |
iCaptionAndIcon.iCaption=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1995 |
iCaptionAndIcon.iNumberOfIcons=aNumberOfIcons; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1996 |
iCaptionAndIcon.iIconFile=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1997 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1998 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1999 |
void CApaLocalisableResourceFileWriter::ConstructL(const TDesC& aShortCaption, const TDesC& aCaption, const TDesC& aGroupName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2000 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2001 |
iShortCaption=aShortCaption.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2002 |
iCaptionAndIcon.iCaption=aCaption.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2003 |
iCaptionAndIcon.iIconFile=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2004 |
iGroupName=aGroupName.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2005 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2006 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2007 |
void CApaLocalisableResourceFileWriter::WriteCaptionAndIconInfoL(MDataSink& aDataSink, const SCaptionAndIconInfo& aCaptionAndIcon) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2008 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2009 |
// CAPTION_AND_ICON_INFO |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2010 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2011 |
// LONG reserved_long = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2012 |
WriteLittleEndianUint32L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2013 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2014 |
// LLINK reserved_llink = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2015 |
WriteLittleEndianUint32L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2016 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2017 |
// LTEXT caption(KMaxCaption) = "" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2018 |
WriteTextL(aDataSink, *aCaptionAndIcon.iCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2019 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2020 |
// WORD number_of_icons = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2021 |
WriteLittleEndianUint16L(aDataSink, aCaptionAndIcon.iNumberOfIcons); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2022 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2023 |
// LTEXT icon_file(KMaxFileNameLength) = "" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2024 |
TPtrC iconFile(KNullDesC); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2025 |
if (aCaptionAndIcon.iIconFile!=NULL) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2026 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2027 |
iconFile.Set(*aCaptionAndIcon.iIconFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2028 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2029 |
WriteTextL(aDataSink, iconFile); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2030 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2031 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2032 |
void CApaLocalisableResourceFileWriter::MainResourceInCompiledFormatL(MDataSink& aDataSink) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2033 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2034 |
// LOCALISABLE_APP_INFO |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2035 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2036 |
// LONG reserved_long = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2037 |
WriteLittleEndianUint32L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2038 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2039 |
// LLINK reserved_llink = 0 |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2040 |
WriteLittleEndianUint32L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2041 |
__ASSERT_DEBUG(iShortCaption, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2042 |
// LTEXT short_caption(KMaxCaption) = "" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2043 |
WriteTextL(aDataSink, *iShortCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2044 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2045 |
// STRUCT caption_and_icon |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2046 |
WriteCaptionAndIconInfoL(aDataSink, iCaptionAndIcon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2047 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2048 |
// LEN WORD STRUCT view_list[] |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2049 |
WriteLittleEndianUint16L(aDataSink, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2050 |
__ASSERT_DEBUG(iGroupName, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2051 |
// LTEXT group_name(KAppMaxGroupName) = "" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2052 |
WriteTextL(aDataSink, *iGroupName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2053 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2054 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2055 |
const TDesC8* CApaLocalisableResourceFileWriter::SecondResourceL(TBool& aSecondResourceInCompressedUnicodeFormat) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2056 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2057 |
aSecondResourceInCompressedUnicodeFormat=EFalse; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2058 |
return NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2059 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2060 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2061 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2062 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2063 |
// ForJavaMIDletInstaller |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2064 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2065 |
EXPORT_C void ForJavaMIDletInstaller::CheckInterimFormatFileNotCorruptL(RFile& aInterimFormatFile) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2066 |
{ // static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2067 |
RFile temporaryDuplicateOfFile; // this is needed as CFileStore::FromLC takes ownership of the file that it's passed, and closes the RFile object passed in - we still want to use it, so we'll create this temporary duplicate RFile object (it also handily means we don't have to rewind the RFile to the start when we copy it below) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2068 |
User::LeaveIfError(temporaryDuplicateOfFile.Duplicate(aInterimFormatFile)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2069 |
CFileStore* const fileStore=CFileStore::FromLC(temporaryDuplicateOfFile); // CFileStore::FromLC takes *immediate* ownership of the file it's passed (i.e. before doing anything that can leave) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2070 |
if (fileStore->Type()[1]!=KUidInterimFormatFileForJavaMIDletInstaller) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2071 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2072 |
User::Leave(KErrCorrupt); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2073 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2074 |
RStoreReadStream rootStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2075 |
rootStream.OpenLC(*fileStore,fileStore->Root()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2076 |
RFs unconnectedFs; // should not actually be used, so we don't need to use a real, connected RFs |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2077 |
CApaAppInfoFileReader* const appInfoFileReader=new(ELeave) CApaAppInfoFileReader(unconnectedFs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2078 |
CleanupStack::PushL(appInfoFileReader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2079 |
appInfoFileReader->CApaAppInfoFile::ConstructL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2080 |
appInfoFileReader->InternalizeL(rootStream); // will leave if the file is corrupt/badly formed |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2081 |
CleanupStack::PopAndDestroy(3, fileStore); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2082 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2083 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2084 |
EXPORT_C void ForJavaMIDletInstaller::GetJavaMIDletInfoL(RFs& aFs, const TDesC& aFileName,TUint32& aJavaMIDletInfo_AmsAuthId,TUint32& aJavaMIDletInfo_MIDlet) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2085 |
{ // static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2086 |
CApaAppInfoFileReader* const appInfoFileReader=CApaAppInfoFileReader::NewLC(aFs, aFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2087 |
aJavaMIDletInfo_AmsAuthId=appInfoFileReader->iJavaMIDletInfo_AmsAuthId; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2088 |
aJavaMIDletInfo_MIDlet=appInfoFileReader->iJavaMIDletInfo_MIDlet; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2089 |
CleanupStack::PopAndDestroy(appInfoFileReader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2090 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2091 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2092 |
EXPORT_C CApaAppInfoFileWriter* ForJavaMIDletInstaller::NewInterimFormatFileWriterLC(RFs& aFs,const TDesC& aFileName,TUid aApplicationUid,TUint32 aJavaMIDletInfo_AmsAuthId,TInt aJavaMIDletInfo_MIDlet) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2093 |
{ // static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2094 |
CApaAppInfoFileWriter* self=new(ELeave) CApaAppInfoFileWriter(aFs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2095 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2096 |
self->ConstructL(aFileName,aApplicationUid,KUidInterimFormatFileForJavaMIDletInstaller,aJavaMIDletInfo_AmsAuthId,aJavaMIDletInfo_MIDlet); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2097 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2098 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2099 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2100 |
#endif // UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2101 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2102 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER CApaAppInfoFileWriter* CApaAppInfoFileWriter::NewLC(RFs& aFs, const TDesC& aFileName,TUid aUid) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2103 |
/** Allocates and constructs an aif file writer. It leaves if the path of the |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2104 |
specified aif file does not exist. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2105 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2106 |
@param aFs Connected session with the file server. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2107 |
@param aFileName The full path and (language-neutral) filename of the aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2108 |
@param aUid The application's third (most derived) UID. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2109 |
@return Pointer to the newly constructed and initialised aif file writer. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2110 |
The object is left on the cleanup stack. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2111 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2112 |
CApaAppInfoFileWriter* self=new(ELeave) CApaAppInfoFileWriter(aFs); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2113 |
CleanupStack::PushL(self); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2114 |
self->ConstructL(aFileName,aUid); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2115 |
return self; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2116 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2117 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2118 |
void CApaAppInfoFileWriter::ConstructL(const TDesC& aFileName,TUid aUid |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2119 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2120 |
,TUid aMiddleUid/*=KUidAppInfoFile*/,TUint32 aJavaMIDletInfo_AmsAuthId/*=0*/,TInt aJavaMIDletInfo_MIDlet/*=0*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2121 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2122 |
) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2123 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2124 |
__DECLARE_NAME(_S("CApaAppInfoFileWriter")); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2125 |
CApaAppInfoFile::ConstructL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2126 |
TInt ret=iFs.MkDirAll(aFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2127 |
if (ret!=KErrAlreadyExists) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2128 |
User::LeaveIfError(ret); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2129 |
CFileStore* store=CDirectFileStore::ReplaceL(iFs,aFileName,EFileRead|EFileWrite); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2130 |
iStore = store; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2131 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2132 |
iJavaMIDletInfo_AmsAuthId=aJavaMIDletInfo_AmsAuthId; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2133 |
iJavaMIDletInfo_MIDlet=aJavaMIDletInfo_MIDlet; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2134 |
#else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2135 |
const TUid aMiddleUid=KUidAppInfoFile; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2136 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2137 |
store->SetTypeL(TUidType(KDirectFileStoreLayoutUid,aMiddleUid,aUid)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2138 |
iMap=CStoreMap::NewL(*store); // Ready for Storing components |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2139 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2140 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2141 |
void CApaAppInfoFileWriter::ExternalizeL(RWriteStream& aStream) const |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2142 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2143 |
__ASSERT_DEBUG(iCaptionHeaderArray, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2144 |
aStream<< *iCaptionHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2145 |
aStream<< *iIconHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2146 |
aStream<< iCapability; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2147 |
aStream.WriteInt32L( |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2148 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2149 |
EAifVersionAddsJavaMIDletInfo |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2150 |
#else |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2151 |
EAifVersionAddsFileOwnershipInfo |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2152 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2153 |
); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2154 |
aStream<< *iDataTypeHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2155 |
aStream<< *iViewDataHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2156 |
aStream << *iFileOwnershipInfoHeaderArray; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2157 |
#if defined(UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2158 |
aStream.WriteUint32L(iJavaMIDletInfo_AmsAuthId); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2159 |
aStream.WriteInt32L(iJavaMIDletInfo_MIDlet); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2160 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2161 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2162 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2163 |
EXPORT_C void CApaAppInfoFileWriter::StoreL() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2164 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2165 |
__ASSERT_DEBUG(iMap, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2166 |
__ASSERT_DEBUG(iStore, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2167 |
RStoreWriteStream outStream(*iMap); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2168 |
TStreamId id=outStream.CreateLC(*iStore); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2169 |
ExternalizeL(outStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2170 |
outStream.CommitL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2171 |
CleanupStack::PopAndDestroy(&outStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2172 |
iMap->Reset(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2173 |
iStore->SetRootL(id); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2174 |
iStore->CommitL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2175 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2176 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2177 |
EXPORT_C void CApaAppInfoFileWriter::AddCaptionL(TLanguage aLanguage,const TDesC& aCaption) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2178 |
/** Appends a caption in the specified language to the aif file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2179 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2180 |
@param aLanguage The language of the specified caption. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2181 |
@param aCaption The new caption. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2182 |
@leave KErrBadName The caption's name is longer than KApaMaxAppCaption characters. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2183 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2184 |
// Write caption out to a new stream and add to iCaptionHeaderArray |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2185 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2186 |
if (aCaption.Length()>KApaMaxAppCaption) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2187 |
User::Leave(KErrBadName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2188 |
TCaptionHeader captionHeader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2189 |
captionHeader.iLanguage=aLanguage; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2190 |
captionHeader.iCaption=aCaption.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2191 |
CleanupStack::PushL(captionHeader.iCaption.AsPtr()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2192 |
RStoreWriteStream outStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2193 |
__ASSERT_DEBUG(iStore, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2194 |
TStreamId id=outStream.CreateLC(*iStore); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2195 |
outStream << *captionHeader.iCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2196 |
outStream.CommitL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2197 |
CleanupStack::PopAndDestroy(&outStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2198 |
iMap->BindL(captionHeader.iCaption,id); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2199 |
iCaptionHeaderArray->AppendL(captionHeader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2200 |
CleanupStack::Pop(captionHeader.iCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2201 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2202 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2203 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileWriter::AddIconL(const TDesC& aIconFileName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2204 |
/** Loads the icon's bitmap and mask from the specified mbm file |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2205 |
and writes the icon to the aif file. Takes ownership of the icon. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2206 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2207 |
@param aIconFileName Full path and filename of the icon file (with a .mbm |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2208 |
extension) containing the icon bitmap at identifier 0 and its mask at 1. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2209 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2210 |
// Icon file must contain 2 bitmaps: icon and mask, and they are assumed to be the same size. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2211 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2212 |
CApaMaskedBitmap* icon=CApaMaskedBitmap::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2213 |
User::LeaveIfError(icon->Load(aIconFileName,0)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2214 |
User::LeaveIfError((icon->Mask())->Load(aIconFileName,1)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2215 |
CleanupStack::Pop(icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2216 |
AddIconL(*icon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2217 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2218 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2219 |
EXPORT_C void CApaAppInfoFileWriter::AddIconL(CApaMaskedBitmap& aIcon) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2220 |
/** Writes the specified pre-loaded icon to the aif file, and takes ownership of it. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2221 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2222 |
@param aIcon The new icon. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2223 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2224 |
// Guaranteed to take ownership of the aIcon |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2225 |
// Will delete aIcon if it leaves |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2226 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2227 |
CleanupStack::PushL(&aIcon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2228 |
TIconHeader iconHeader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2229 |
iconHeader.iIcon = &aIcon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2230 |
iconHeader.iIconSideInPixels = aIcon.SizeInPixels().iWidth; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2231 |
RStoreWriteStream outStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2232 |
__ASSERT_DEBUG(iStore, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2233 |
TStreamId id=outStream.CreateLC(*iStore); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2234 |
outStream << *iconHeader.iIcon; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2235 |
outStream.CommitL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2236 |
CleanupStack::PopAndDestroy(&outStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2237 |
iMap->BindL(iconHeader.iIcon,id); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2238 |
iIconHeaderArray->AppendL(iconHeader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2239 |
CleanupStack::Pop(&aIcon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2240 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2241 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2242 |
EXPORT_C TInt CApaAppInfoFileWriter::SetCapability(const TDesC8& aInfo) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2243 |
/** Sets the application's capability information. Note that the |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2244 |
information is not written to the aif file until StoreL() is called. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2245 |
@param aInfo A TApaAppCapabilityBuf object. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2246 |
@return KErrNone always. */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2247 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2248 |
// check that aInfo is of a permissable length |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2249 |
TApaAppCapabilityBuf buf; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2250 |
TApaAppCapability::CopyCapability(buf,aInfo); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2251 |
iCapability = buf(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2252 |
return KErrNone; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2253 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2254 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2255 |
EXPORT_C void CApaAppInfoFileWriter::AddDataTypeL(const TDataTypeWithPriority& aTypePriority) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2256 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2257 |
__ASSERT_DEBUG(aTypePriority.iDataType.Des8().Length()>0,Panic(EDPanicBadDataType)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2258 |
__ASSERT_DEBUG(aTypePriority.iPriority<KDataTypePriorityUserSpecified,Panic(EDPanicBadDataType)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2259 |
TDataTypeHeader header; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2260 |
TDataType* dataType=new(ELeave) TDataType(aTypePriority.iDataType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2261 |
CleanupStack::PushL(dataType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2262 |
header.iDataType=dataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2263 |
RStoreWriteStream outStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2264 |
__ASSERT_DEBUG(iStore, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2265 |
TStreamId id=outStream.CreateLC(*iStore); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2266 |
outStream << *header.iDataType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2267 |
outStream.CommitL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2268 |
CleanupStack::PopAndDestroy(&outStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2269 |
__ASSERT_DEBUG(iMap, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2270 |
iMap->BindL(header.iDataType,id); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2271 |
header.iPriority=aTypePriority.iPriority; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2272 |
iDataTypeHeaderArray->AppendL(header); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2273 |
CleanupStack::Pop(dataType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2274 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2275 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2276 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2277 |
// Adds a view with id aViewId to the data to be stored in the AIF. Icons and captions can be added to the |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2278 |
// view before it is stored - view data is written to an inline store so all the information for the view must |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2279 |
// be added and then the call to store the data made. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2280 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2281 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileWriter::AddViewL(TUid aViewId) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2282 |
// Write view data out to a new stream and add to iViewDataHeaderArray |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2283 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2284 |
AddViewL(aViewId,0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2285 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2286 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2287 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileWriter::AddViewL(TUid aViewId,TInt aScreenMode) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2288 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2289 |
TViewDataHeader viewDataHeader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2290 |
CApaAIFViewData* viewData=CApaAIFViewData::NewLC(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2291 |
viewData->SetViewUid(aViewId); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2292 |
viewData->SetScreenMode(aScreenMode); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2293 |
viewDataHeader.iViewData=viewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2294 |
__ASSERT_DEBUG(iViewDataHeaderArray, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2295 |
iViewDataHeaderArray->AppendL(viewDataHeader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2296 |
CleanupStack::Pop(viewData); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2297 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2298 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2299 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2300 |
// Stores the view data in the AIF, writing the store inline. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2301 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2302 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileWriter::StoreViewL(TUid aViewId) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2303 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2304 |
__ASSERT_DEBUG(iViewDataHeaderArray, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2305 |
const TInt count=iViewDataHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2306 |
for (TInt ii=0;ii<count;ii++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2307 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2308 |
const TViewDataHeader& pData=(*iViewDataHeaderArray)[ii]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2309 |
if (pData.iViewData.AsPtr()->ViewUid() == aViewId) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2310 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2311 |
RStoreWriteStream outStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2312 |
__ASSERT_DEBUG(iStore, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2313 |
TStreamId id=outStream.CreateLC(*iStore); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2314 |
outStream << *pData.iViewData; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2315 |
outStream.CommitL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2316 |
CleanupStack::PopAndDestroy(&outStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2317 |
iMap->BindL(pData.iViewData,id); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2318 |
return; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2319 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2320 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2321 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2322 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2323 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2324 |
// Adds the icon aIcon to the view data with id aViewId which will later be stored in the AIF. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2325 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2326 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileWriter::AddViewIconL(CApaMaskedBitmap& aIcon,TUid aViewId) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2327 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2328 |
CApaAIFViewData* viewData=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2329 |
__ASSERT_DEBUG(iViewDataHeaderArray, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2330 |
const TInt count=iViewDataHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2331 |
for (TInt ii=0;ii<count;ii++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2332 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2333 |
const TViewDataHeader& pData=(*iViewDataHeaderArray)[ii]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2334 |
if (pData.iViewData.AsPtr()->ViewUid() == aViewId) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2335 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2336 |
viewData=pData.iViewData.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2337 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2338 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2339 |
if (viewData) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2340 |
viewData->AddIconL(aIcon); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2341 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2342 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2343 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2344 |
// Adds the caption aCaption in langauge aLanguage to the view data with id aViewId which will later be stored in the AIF. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2345 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2346 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileWriter::AddViewCaptionL(TLanguage aLanguage,const TDesC& aCaption,TUid aViewId) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2347 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2348 |
CApaAIFViewData* viewData=NULL; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2349 |
const TInt count=iViewDataHeaderArray->Count(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2350 |
for (TInt ii=0;ii<count;ii++) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2351 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2352 |
const TViewDataHeader& pData=(*iViewDataHeaderArray)[ii]; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2353 |
if (pData.iViewData.AsPtr()->ViewUid() == aViewId) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2354 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2355 |
viewData=pData.iViewData.AsPtr(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2356 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2357 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2358 |
if (viewData) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2359 |
viewData->AddCaptionL(aLanguage,aCaption); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2360 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2361 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2362 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2363 |
// Adds the name aOwnedFileName to the list of files described as being owned by this application to later be stored in the AIF. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2364 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2365 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void CApaAppInfoFileWriter::AddOwnedFileL(const TDesC& aOwnedFileName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2366 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2367 |
if (aOwnedFileName.Length()>KMaxFileName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2368 |
User::Leave(KErrBadName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2369 |
TFileOwnershipInfoHeader fileOwnershipInfoHeader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2370 |
fileOwnershipInfoHeader.iOwnedFileName=aOwnedFileName.AllocL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2371 |
CleanupStack::PushL(fileOwnershipInfoHeader.iOwnedFileName.AsPtr()); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2372 |
RStoreWriteStream outStream; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2373 |
__ASSERT_DEBUG(iStore, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2374 |
TStreamId id=outStream.CreateLC(*iStore); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2375 |
outStream << *fileOwnershipInfoHeader.iOwnedFileName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2376 |
outStream.CommitL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2377 |
CleanupStack::PopAndDestroy(&outStream); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2378 |
__ASSERT_DEBUG(iMap, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2379 |
iMap->BindL(fileOwnershipInfoHeader.iOwnedFileName,id); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2380 |
__ASSERT_DEBUG(iFileOwnershipInfoHeaderArray, Panic(EPanicNullPointer)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2381 |
iFileOwnershipInfoHeaderArray->AppendL(fileOwnershipInfoHeader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2382 |
CleanupStack::Pop(fileOwnershipInfoHeader.iOwnedFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2383 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2384 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2385 |
CApaAppCaptionFileReader::CApaAppCaptionFileReader(RFs& aFs,const TDesC& aAppFileName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2386 |
: iFs(aFs) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2387 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2388 |
__ASSERT_DEBUG((aAppFileName.Length()+KApparcExtraLengthOfCaptionFileName<KMaxFileName),Panic(EFilenameTooLong)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2389 |
TParse appFileNameParse; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2390 |
appFileNameParse.Set(aAppFileName,NULL,NULL); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2391 |
iCaptionFileName=appFileNameParse.DriveAndPath(); //extract path name |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2392 |
iCaptionFileName.Append(appFileNameParse.Name()); //add app name without extension |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2393 |
iCaptionFileName.Append(KApaCaptionFileSuffix); //add suffix |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2394 |
iCaptionFileName.Append(KAppResourceFileExtension); //add extension |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2395 |
BaflUtils::NearestLanguageFile(aFs,iCaptionFileName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2396 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2397 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2398 |
void CApaAppCaptionFileReader::GetCaptionsL(TApaAppCaption& aCaption,TApaAppCaption& aShortCaption) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2399 |
//reads the caption and shortcaption of the current language from the appropriate caption file |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2400 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2401 |
CResourceFile* file = CResourceFile::NewL(iFs, iCaptionFileName, 0, 0); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2402 |
CleanupStack::PushL(file); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2403 |
RResourceReader reader; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2404 |
reader.OpenL(file, 1); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2405 |
CleanupClosePushL(reader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2406 |
aCaption = reader.ReadTPtrCL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2407 |
aShortCaption = reader.ReadTPtrCL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2408 |
CleanupStack::PopAndDestroy(&reader); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2409 |
CleanupStack::PopAndDestroy(file); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2410 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2411 |
if ((!aShortCaption.Length())&&(aCaption.Length())) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2412 |
aShortCaption=aCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2413 |
else if ((!aCaption.Length())&&(aShortCaption.Length())) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2414 |
aCaption=aShortCaption; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2415 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2416 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2417 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2418 |
// Sets the drive of aAifName to the current locale drive. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2419 |
// Assumes that aAifName is already a valid full filename. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2420 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2421 |
EXPORT_C_NOT_NEEDED_FOR_JAVA_MIDLET_INSTALLER void AppInfoFileUtils::GetAifFileName(const RFs& aFs,TDes& aAifName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2422 |
{ // static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2423 |
TFileName aifName(aAifName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2424 |
BaflUtils::NearestLanguageFile(aFs,aifName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2425 |
aAifName=aifName; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2426 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2427 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2428 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2429 |
// Sets aAifName to the full path of the relevant .AIF file. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2430 |
// Note that this may be on a different drive to the .APP file if the system drive has been |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2431 |
// set to point to a new locale that has been downloaded. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2432 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2433 |
void AppInfoFileUtils::GetAifFileNameL(const RFs& aFs,const TDesC& aFullName,TDes& aAifName) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2434 |
{ // static |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2435 |
TParse parse; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2436 |
User::LeaveIfError(parse.Set(KAppInfoFileExtension,&aFullName,NULL)); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2437 |
aAifName=parse.FullName(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2438 |
AppInfoFileUtils::GetAifFileName(aFs,aAifName); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2439 |
} |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2440 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2441 |
#endif // UI_FRAMEWORKS_V1_REMNANT_FOR_JAVA_MIDLET_INSTALLER |