author | Maciej Seroka <maciejs@symbian.org> |
Fri, 15 Oct 2010 11:54:08 +0100 | |
branch | Symbian3 |
changeset 74 | 08fe4219b8dd |
parent 57 | b8d18c84f71c |
permissions | -rw-r--r-- |
57
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1 |
// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2 |
// All rights reserved. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
3 |
// This component and the accompanying materials are made available |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
4 |
// under the terms of "Eclipse Public License v1.0" |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
5 |
// which accompanies this distribution, and is available |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html". |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
7 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
8 |
// Initial Contributors: |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
9 |
// Nokia Corporation - initial contribution. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
10 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
11 |
// Contributors: |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
12 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
13 |
// Description: |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
14 |
// aplappinforeader.cpp |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
15 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
16 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
17 |
#include "aplapplist.h" |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
18 |
#include "aplapplistitem.h" |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
19 |
#include "aplappinforeader.h" |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
20 |
#include <apgaplst.h> |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
21 |
#include <bautils.h> |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
22 |
#include "APGICNFL.H" |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
23 |
#include "APFDEF.H" |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
24 |
#include "../apgrfx/apprivate.h" // KUidPrefixedNonNativeRegistrationResourceFile |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
25 |
#include <barsc2.h> |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
26 |
#include <barsread2.h> |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
27 |
#include <e32uid.h> |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
28 |
#include "../apgrfx/APGSTD.H" // EPanicNullPointer |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
29 |
#include "../apgrfx/apsecutils.h" // CApaSecurityUtils |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
30 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
31 |
const TUint KResourceOffsetMask = 0xFFFFF000; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
32 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
33 |
_LIT(KAppBinaryPathAndExtension, "\\sys\\bin\\.exe"); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
34 |
const TInt KAppRegistrationInfoResourceId = 1; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
35 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
36 |
// The 2nd UID that defines a resource file as being an application registration resource file. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
37 |
const TUid KUidAppRegistrationFile = {0x101F8021}; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
38 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
39 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
40 |
// Local functions |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
41 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
42 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
43 |
extern void CleanupServiceArray(TAny* aServiceArray); // Implemented in AplAppList.cpp |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
44 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
45 |
// ApaUtils |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
46 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
47 |
TBool ApaUtils::TypeUidIsForRegistrationFile(const TUidType& aUidType) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
48 |
{ // static |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
49 |
return (aUidType[1].iUid==KUidAppRegistrationFile.iUid || |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
50 |
aUidType[0].iUid==KUidPrefixedNonNativeRegistrationResourceFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
51 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
52 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
53 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
54 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
55 |
// CApaAppInfoReader |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
56 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
57 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
58 |
// The behaviour of the Take-methods of this class is a little non-standard, as it |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
59 |
// transfers ownership of the pointer owned by a CApaAppInfoReader derived object |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
60 |
// to the caller. This means that this function is only designed to be called once. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
61 |
// Doing things this way provides a small performance optimisation by enabling the caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
62 |
// to delete it's stored pointer, and replace it with one returned by this function, |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
63 |
// instead of having to copy the object (copying could be expensive for the methods |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
64 |
// of this class that need to return arrays). |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
65 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
66 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
67 |
CApaAppInfoReader* CApaAppInfoReader::NewL(RFs& aFs, const TDesC& aRegistrationFileName, TUid aAppUid) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
68 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
69 |
CApaAppInfoReader* self = new(ELeave) CApaAppInfoReader(aFs, aRegistrationFileName, aAppUid); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
70 |
CleanupStack::PushL(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
71 |
self->ConstructL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
72 |
CleanupStack::Pop(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
73 |
return self; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
74 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
75 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
76 |
CApaAppInfoReader::CApaAppInfoReader(RFs& aFs, const TDesC& aRegistrationFileName, TUid aAppUid) : |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
77 |
iFs(aFs), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
78 |
iAppUid(aAppUid), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
79 |
iTimeStamp(0), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
80 |
iDefaultScreenNumber(0), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
81 |
iNonMbmIconFile(EFalse), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
82 |
iLocalisableResourceFileTimeStamp(0), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
83 |
iApplicationLanguage(ELangNone), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
84 |
iIndexOfFirstOpenService(KErrNotFound), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
85 |
iRegistrationFileName(aRegistrationFileName) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
86 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
87 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
88 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
89 |
void CApaAppInfoReader::ConstructL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
90 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
91 |
iIconLoader = CApaIconLoader::NewL(iFs); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
92 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
93 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
94 |
CApaAppInfoReader::~CApaAppInfoReader() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
95 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
96 |
delete iAppBinaryFullName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
97 |
delete iCaption; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
98 |
delete iShortCaption; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
99 |
delete iIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
100 |
if (iViewDataArray) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
101 |
iViewDataArray->ResetAndDestroy(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
102 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
103 |
delete iViewDataArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
104 |
delete iOwnedFileArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
105 |
delete iIconFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
106 |
delete iLocalisableResourceFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
107 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
108 |
if (iServiceArray) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
109 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
110 |
CleanupServiceArray(iServiceArray); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
111 |
iServiceArray = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
112 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
113 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
114 |
delete iOpaqueData; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
115 |
delete iIconLoader; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
116 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
117 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
118 |
HBufC* CApaAppInfoReader::AppBinaryFullName() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
119 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
120 |
HBufC* fileName = iAppBinaryFullName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
121 |
iAppBinaryFullName = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
122 |
return fileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
123 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
124 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
125 |
TUidType CApaAppInfoReader::AppBinaryUidType() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
126 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
127 |
return iAppBinaryUidType; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
128 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
129 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
130 |
TTime CApaAppInfoReader::TimeStamp() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
131 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
132 |
return iTimeStamp; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
133 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
134 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
135 |
TTime CApaAppInfoReader::IconFileTimeStamp() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
136 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
137 |
return iIconFileTimeStamp; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
138 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
139 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
140 |
void CApaAppInfoReader::Capability(TDes8& aCapabilityBuf) const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
141 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
142 |
TApaAppCapabilityBuf buf(iCapability); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
143 |
TApaAppCapability::CopyCapability(aCapabilityBuf, buf); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
144 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
145 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
146 |
TUint CApaAppInfoReader::DefaultScreenNumber() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
147 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
148 |
return iDefaultScreenNumber; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
149 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
150 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
151 |
HBufC* CApaAppInfoReader::Caption() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
152 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
153 |
HBufC* caption = iCaption; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
154 |
iCaption = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
155 |
return caption; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
156 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
157 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
158 |
HBufC* CApaAppInfoReader::ShortCaption() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
159 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
160 |
HBufC* shortCaption = iShortCaption; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
161 |
iShortCaption = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
162 |
return shortCaption; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
163 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
164 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
165 |
CApaAppIconArray* CApaAppInfoReader::Icons() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
166 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
167 |
CApaAppIconArray* icons = iIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
168 |
iIcons = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
169 |
return icons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
170 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
171 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
172 |
TInt CApaAppInfoReader::NumOfAppIcons() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
173 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
174 |
return iNumOfAppIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
175 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
176 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
177 |
CArrayPtrFlat<CApaAppViewData>* CApaAppInfoReader::Views() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
178 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
179 |
CArrayPtrFlat<CApaAppViewData>* viewDataArray = iViewDataArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
180 |
iViewDataArray = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
181 |
return viewDataArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
182 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
183 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
184 |
CDesCArray* CApaAppInfoReader::OwnedFiles() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
185 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
186 |
CDesCArray* ownedFileArray = iOwnedFileArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
187 |
iOwnedFileArray = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
188 |
return ownedFileArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
189 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
190 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
191 |
HBufC* CApaAppInfoReader::IconFileName() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
192 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
193 |
HBufC* iconFileName = iIconFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
194 |
iIconFileName = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
195 |
return iconFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
196 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
197 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
198 |
TBool CApaAppInfoReader::NonMbmIconFile() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
199 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
200 |
return iNonMbmIconFile; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
201 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
202 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
203 |
HBufC* CApaAppInfoReader::LocalisableResourceFileName() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
204 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
205 |
HBufC* localisableResourceFileName = iLocalisableResourceFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
206 |
iLocalisableResourceFileName = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
207 |
return localisableResourceFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
208 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
209 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
210 |
TTime CApaAppInfoReader::LocalisableResourceFileTimeStamp() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
211 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
212 |
return iLocalisableResourceFileTimeStamp; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
213 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
214 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
215 |
TLanguage CApaAppInfoReader::AppLanguage() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
216 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
217 |
return iApplicationLanguage; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
218 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
219 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
220 |
CArrayFixFlat<TApaAppServiceInfo>* CApaAppInfoReader::ServiceArray(TInt& aIndexOfFirstOpenService) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
221 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
222 |
CArrayFixFlat<TApaAppServiceInfo>* serviceArray = iServiceArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
223 |
iServiceArray = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
224 |
aIndexOfFirstOpenService = iIndexOfFirstOpenService; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
225 |
return serviceArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
226 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
227 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
228 |
HBufC8* CApaAppInfoReader::OpaqueData() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
229 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
230 |
HBufC8* opaqueData = iOpaqueData; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
231 |
iOpaqueData = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
232 |
return opaqueData; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
233 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
234 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
235 |
CApaIconLoader* CApaAppInfoReader::IconLoader() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
236 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
237 |
CApaIconLoader* iconLoader = iIconLoader; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
238 |
iIconLoader = NULL; // ownership transferred to caller |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
239 |
return iconLoader; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
240 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
241 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
242 |
// reads as much info as it can |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
243 |
// at least captions and icons must be setup on return from this method (using defaults if necessary) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
244 |
TBool CApaAppInfoReader::ReadL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
245 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
246 |
TEntry entry; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
247 |
User::LeaveIfError(iFs.Entry(iRegistrationFileName, entry)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
248 |
iTimeStamp = entry.iModified; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
249 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
250 |
TUint fileOffset = 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
251 |
TInt fileLength = 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
252 |
TUid firstUid(KExecutableImageUid); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
253 |
TUid middleUid(KUidApp); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
254 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
255 |
// in the case of a non-native application, the resource file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
256 |
// has been padded with the application type uid |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
257 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
258 |
if (TParsePtrC(iRegistrationFileName).Path().CompareF(KLitPathForNonNativeResourceAndIconFiles)==0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
259 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
260 |
fileOffset = sizeof(TCheckedUid); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
261 |
fileLength = entry.iSize-fileOffset; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
262 |
firstUid = KNullUid; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
263 |
middleUid = entry[1]; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
264 |
if (middleUid == KNullUid) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
265 |
User::Leave(KErrCorrupt); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
266 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
267 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
268 |
// set the TUidType for the app binary |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
269 |
// cannot read the TEntry info from the app binary because it's in \sys\bin |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
270 |
iAppBinaryUidType = TUidType(firstUid, middleUid, iAppUid); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
271 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
272 |
CResourceFile* registrationFile = CResourceFile::NewLC(iFs, iRegistrationFileName, fileOffset, fileLength); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
273 |
RResourceReader resourceReader; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
274 |
resourceReader.OpenLC(registrationFile, KAppRegistrationInfoResourceId); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
275 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
276 |
TRAPD(err, ReadMandatoryInfoL(resourceReader)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
277 |
if (err) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
278 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
279 |
CleanupStack::PopAndDestroy(); // resourceReader |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
280 |
CleanupStack::PopAndDestroy(registrationFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
281 |
return EFalse; // might have read something, but failed to setup enough info to make it worthwhile trying to read any more |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
282 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
283 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
284 |
CResourceFile* localisableFile = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
285 |
TUint localisableResourceId = 1; // only initialising this here to keep the compiler happy, as it's concerned that the variable might be used without having been initialised. The variable should be initialised later, before it's used |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
286 |
TRAP(err, ReadNonLocalisableInfoL(resourceReader, localisableFile, localisableResourceId)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
287 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
288 |
if (!err) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
289 |
TRAP(err, ReadNonLocalisableOptionalInfoL(resourceReader, registrationFile, localisableFile)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
290 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
291 |
TBool useDefaultIcons = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
292 |
if (!err && localisableFile) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
293 |
TRAP(err, ReadLocalisableInfoL(*localisableFile, localisableResourceId, useDefaultIcons)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
294 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
295 |
delete localisableFile; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
296 |
localisableFile = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
297 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
298 |
// if anything went wrong, we tell the caller that the read was unsuccessful. Some |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
299 |
// of the members of this class may contain data which is not complete, but this doesn't matter |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
300 |
// because the caller shouldn't try to access the data if the read was unsuccessful |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
301 |
const TBool readSuccessful = (err == KErrNone); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
302 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
303 |
if (useDefaultIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
304 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
305 |
delete iIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
306 |
iIcons = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
307 |
TRAP_IGNORE(iIcons = CApaAppIconArray::NewDefaultIconsL()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
308 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
309 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
310 |
CleanupStack::PopAndDestroy(); // resourceReader |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
311 |
CleanupStack::PopAndDestroy(registrationFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
312 |
return readSuccessful; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
313 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
314 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
315 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
316 |
// this method reads the minimum information required to register an app |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
317 |
// if this fails (Leaves), we say the read has been unsuccessful |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
318 |
void CApaAppInfoReader::ReadMandatoryInfoL(RResourceReader& aResourceReader) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
319 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
320 |
aResourceReader.ReadUint32L(); // skip over LONG reserved_long |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
321 |
aResourceReader.ReadUint32L(); // skip over LLINK reserved_llink |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
322 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
323 |
// read LTEXT app_file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
324 |
const TPtrC appFile(aResourceReader.ReadTPtrCL()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
325 |
TParse parse; // this object gets used for 2 purposes: first to check that a TParsePtrC can be created over "appFile" without it panicking, and second to construct iAppBinaryFullName |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
326 |
User::LeaveIfError(parse.SetNoWild(appFile, NULL, NULL)); // do this before creating a TParsePtrC, since TParsePtrC's constructor panics if it fails (which would provide an easy way for malware to kill the Apparc server) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
327 |
const TParsePtrC appFileParser(appFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
328 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
329 |
// read LONG attributes |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
330 |
iCapability.iAttributes = aResourceReader.ReadUint32L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
331 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
332 |
if (!appFileParser.NamePresent()) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
333 |
User::Leave(KErrCorrupt); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
334 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
335 |
const TPtrC appNameWithoutExtension(appFileParser.Name()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
336 |
const TPtrC registrationFileDrive(TParsePtrC(iRegistrationFileName).Drive()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
337 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
338 |
if (iCapability.iAttributes & TApaAppCapability::ENonNative) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
339 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
340 |
if (!appFileParser.PathPresent() || !appFileParser.ExtPresent()) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
341 |
User::Leave(KErrCorrupt); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
342 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
343 |
const TPtrC appFilePath(appFileParser.Path()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
344 |
const TPtrC appFileNameAndExt(appFileParser.NameAndExt()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
345 |
TPtrC appFileDrive(registrationFileDrive); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
346 |
if (appFileParser.DrivePresent()) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
347 |
appFileDrive.Set(appFileParser.Drive()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
348 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
349 |
User::LeaveIfError(parse.SetNoWild(appFileDrive, &appFilePath, &appFileNameAndExt)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
350 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
351 |
else if (iCapability.iAttributes & TApaAppCapability::EBuiltAsDll) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
352 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
353 |
User::Leave(KErrNotSupported); // legacy dll-style app |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
354 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
355 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
356 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
357 |
// exe-style app |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
358 |
User::LeaveIfError(parse.SetNoWild(registrationFileDrive, &KAppBinaryPathAndExtension, &appNameWithoutExtension)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
359 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
360 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
361 |
iAppBinaryFullName = parse.FullName().AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
362 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
363 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
364 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
365 |
HBufC* CApaAppInfoReader::CreateFullIconFileNameL(const TDesC& aIconFileName) const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
366 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
367 |
HBufC* filename = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
368 |
if (aIconFileName.Length() == 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
369 |
return NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
370 |
/* |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
371 |
* aIconFileName may contain a valid string in some format (for eg. URI format) other than path to a regular file on disk |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
372 |
* and that can be a mbm or non-mbm file. Such a filename will be reported as invalid filename by iFs.IsValidName() method. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
373 |
* aIconFileName will be returned since it is a valid string. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
374 |
*/ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
375 |
if(!iFs.IsValidName(aIconFileName)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
376 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
377 |
filename = aIconFileName.AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
378 |
return filename; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
379 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
380 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
381 |
TParsePtrC parsePtr(aIconFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
382 |
if (parsePtr.IsWild() || !parsePtr.PathPresent() || !parsePtr.NamePresent()) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
383 |
return NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
384 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
385 |
// check for fully qualified icon filename |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
386 |
if (parsePtr.DrivePresent() && BaflUtils::FileExists(iFs, aIconFileName)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
387 |
filename = aIconFileName.AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
388 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
389 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
390 |
// check for icon file on same drive as localisable resource file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
391 |
TParse parse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
392 |
TPtrC localisableResourceFileDrive = TParsePtrC(*iLocalisableResourceFileName).Drive(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
393 |
TInt ret = parse.SetNoWild(localisableResourceFileDrive, &aIconFileName, NULL); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
394 |
if (ret == KErrNone && BaflUtils::FileExists(iFs, parse.FullName())) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
395 |
filename = parse.FullName().AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
396 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
397 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
398 |
TPtrC registrationFileDrive = TParsePtrC(iRegistrationFileName).Drive(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
399 |
if (TInt(TDriveUnit(registrationFileDrive)) != TInt(TDriveUnit(localisableResourceFileDrive))) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
400 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
401 |
// check for icon file on same drive as registration file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
402 |
ret = parse.SetNoWild(registrationFileDrive, &aIconFileName, NULL); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
403 |
if (ret == KErrNone && BaflUtils::FileExists(iFs, parse.FullName())) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
404 |
filename = parse.FullName().AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
405 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
406 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
407 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
408 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
409 |
return filename; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
410 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
411 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
412 |
void CApaAppInfoReader::ReadLocalisableInfoL(const CResourceFile& aResourceFile, TUint aResourceId, TBool& aUseDefaultIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
413 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
414 |
RResourceReader resourceReader; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
415 |
resourceReader.OpenLC(&aResourceFile, aResourceId); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
416 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
417 |
resourceReader.ReadUint32L(); // skip over LONG reserved_long |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
418 |
resourceReader.ReadUint32L(); // skip over LLINK reserved_llink |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
419 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
420 |
// read LTEXT short_caption |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
421 |
iShortCaption = resourceReader.ReadHBufCL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
422 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
423 |
resourceReader.ReadUint32L(); // skip over LONG reserved_long |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
424 |
resourceReader.ReadUint32L(); // skip over LLINK reserved_llink |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
425 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
426 |
// read LTEXT caption |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
427 |
iCaption = resourceReader.ReadHBufCL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
428 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
429 |
// read WORD number_of_icons |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
430 |
const TInt numOfIcons = resourceReader.ReadInt16L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
431 |
iNumOfAppIcons = numOfIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
432 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
433 |
// read LTEXT icon_file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
434 |
TPtrC iconFile = resourceReader.ReadTPtrCL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
435 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
436 |
ASSERT(!iIconFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
437 |
iIconFileName = CreateFullIconFileNameL(iconFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
438 |
if (iIconFileName) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
439 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
440 |
TEntry entry; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
441 |
TInt ret = iFs.Entry(*iIconFileName, entry); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
442 |
if (KErrNone == ret) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
443 |
iIconFileTimeStamp = entry.iModified; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
444 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
445 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
446 |
aUseDefaultIcons = EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
447 |
if (iFs.IsValidName(*iIconFileName)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
448 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
449 |
RFile file; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
450 |
TInt fileSize( 0 ); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
451 |
User::LeaveIfError( file.Open(iFs, *iIconFileName, EFileShareReadersOnly )); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
452 |
CleanupClosePushL( file ); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
453 |
User::LeaveIfError( file.Size( fileSize ) ); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
454 |
CleanupStack::PopAndDestroy();//file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
455 |
if ( fileSize > 0 ) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
456 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
457 |
if(FileIsMbmWithGenericExtensionL(*iIconFileName)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
458 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
459 |
if (numOfIcons > 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
460 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
461 |
CApaAppIconArray* iconArray = CApaAppIconArray::NewAppIconsL(numOfIcons, *iIconFileName, *iIconLoader); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
462 |
delete iIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
463 |
iIcons = iconArray; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
464 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
465 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
466 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
467 |
aUseDefaultIcons = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
468 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
469 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
470 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
471 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
472 |
iNonMbmIconFile = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
473 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
474 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
475 |
//File is of size 0 with Valid filename |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
476 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
477 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
478 |
aUseDefaultIcons = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
479 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
480 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
481 |
//If the filename is not a valid name then the file is treated as a non-mbm file. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
482 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
483 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
484 |
iNonMbmIconFile = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
485 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
486 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
487 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
488 |
// read LEN WORD STRUCT view_list[] |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
489 |
const TInt numOfViews = resourceReader.ReadInt16L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
490 |
if (numOfViews > 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
491 |
iViewDataArray = new(ELeave) CArrayPtrFlat<CApaAppViewData>(1); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
492 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
493 |
for(TInt view = 0; view < numOfViews; ++view) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
494 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
495 |
CApaAppViewData* viewData = CApaAppViewData::NewLC(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
496 |
resourceReader.ReadUint32L(); // skip over LONG reserved_long |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
497 |
resourceReader.ReadUint32L(); // skip over LLINK reserved_llink |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
498 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
499 |
// read LONG uid |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
500 |
const TUid viewUid = {resourceReader.ReadInt32L()}; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
501 |
viewData->SetUid(viewUid); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
502 |
// read LONG screen_mode |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
503 |
const TInt screenMode = {resourceReader.ReadInt32L()}; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
504 |
viewData->SetScreenMode(screenMode); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
505 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
506 |
resourceReader.ReadUint32L(); // skip over LONG reserved_long |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
507 |
resourceReader.ReadUint32L(); // skip over LLINK reserved_llink |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
508 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
509 |
// read LTEXT caption |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
510 |
TPtrC viewCaption = resourceReader.ReadTPtrCL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
511 |
viewData->SetCaptionL(viewCaption); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
512 |
// read WORD number_of_icons |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
513 |
const TInt numOfViewIcons = resourceReader.ReadInt16L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
514 |
viewData->SetNumOfViewIcons(numOfViewIcons); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
515 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
516 |
// read LTEXT icon_file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
517 |
TPtrC viewIconFile = resourceReader.ReadTPtrCL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
518 |
HBufC* const fullViewIconFileName = CreateFullIconFileNameL(viewIconFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
519 |
if (fullViewIconFileName) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
520 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
521 |
CleanupStack::PushL(fullViewIconFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
522 |
viewIconFile.Set(*fullViewIconFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
523 |
viewData->SetIconFileNameL(viewIconFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
524 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
525 |
if (iFs.IsValidName(viewIconFile)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
526 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
527 |
if(!FileIsMbmWithGenericExtensionL(viewIconFile)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
528 |
viewData->SetNonMbmIconFile(ETrue); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
529 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
530 |
else //If the filename is not a valid name then the file is treated as a non-mbm file. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
531 |
viewData->SetNonMbmIconFile(ETrue); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
532 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
533 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
534 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
535 |
viewIconFile.Set(KNullDesC); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
536 |
if (numOfViewIcons > 0 && iIconFileName) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
537 |
viewIconFile.Set(*iIconFileName); // default to app icon filename |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
538 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
539 |
if (numOfViewIcons > 0 && iFs.IsValidName(viewIconFile) && FileIsMbmWithGenericExtensionL(viewIconFile)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
540 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
541 |
CApaAppIconArray* iconArray = CApaAppIconArray::NewViewIconsL(numOfViewIcons, viewIconFile, *iIconLoader); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
542 |
viewData->SetIconArray(iconArray); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
543 |
iconArray = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
544 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
545 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
546 |
if (fullViewIconFileName) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
547 |
CleanupStack::PopAndDestroy(fullViewIconFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
548 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
549 |
iViewDataArray->AppendL(viewData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
550 |
CleanupStack::Pop(viewData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
551 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
552 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
553 |
// Read LTEXT group_name |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
554 |
// If a localised group name has been specified, it overrides |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
555 |
// The group name (if any), specified by APP_REGISTRATION_INFO |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
556 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
557 |
TApaAppGroupName groupName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
558 |
TRAPD(ret, (groupName = resourceReader.ReadTPtrCL())); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
559 |
if (ret != KErrNone) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
560 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
561 |
if (ret != KErrEof) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
562 |
User::Leave(ret); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
563 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
564 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
565 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
566 |
if (groupName.Length() > 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
567 |
iCapability.iGroupName = groupName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
568 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
569 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
570 |
CleanupStack::PopAndDestroy(&resourceReader); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
571 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
572 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
573 |
/*An MBM file may have a generic icon extension. In this case, as a way to check whether the file is an MBM one, |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
574 |
it is necessary to read the content of the fist four 32bit words of it and find out whether these words correspond to |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
575 |
KWriteonceFileStoreUid, KMultiBitmapFileImageUid, zero and KMultiBitmapFileImageChecksum respectively (defined in graphics/gditools/bmconv/bmconv.h). |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
576 |
So the file is opened and the first 4 32 bit words are extracted and compared with the header information of standard MBM file. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
577 |
If they match, the function returns ETrue, else it returns EFalse */ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
578 |
TBool CApaAppInfoReader::FileIsMbmWithGenericExtensionL(const TDesC& aFileName) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
579 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
580 |
if (aFileName.Length() > 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
581 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
582 |
//open a file in Share mode - this will allow other methods to access it too |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
583 |
RFile file; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
584 |
RFs fs; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
585 |
User::LeaveIfError(fs.Connect()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
586 |
CleanupClosePushL(fs); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
587 |
User::LeaveIfError(file.Open(fs,aFileName,EFileShareReadersOnly)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
588 |
//this is done beacuse the file can also be accessed by applist at the same time |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
589 |
//buffer stores the 16 bytes of the file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
590 |
CleanupClosePushL(file); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
591 |
TBuf8<16> buffer; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
592 |
User::LeaveIfError(file.Read(buffer,16)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
593 |
CleanupStack::PopAndDestroy();//file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
594 |
CleanupStack::PopAndDestroy(&fs);//fs |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
595 |
//we use a constant pointer to the buffer to read header info |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
596 |
TPtrC8 filePointer(buffer); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
597 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
598 |
/*The first 16 bytes of an MBM file are the same for any generic MBM file. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
599 |
These are : |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
600 |
KWriteOnceFileStoreUid = 0x10000037(Emulator MBM file) 0x10000041(ROM image) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
601 |
KMultiBitMapFileImageUid = 0x10000042(Emulator MBM file) 0x00000001(ROM image) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
602 |
Zero = 0x00000000(Emulator MBM file) 0x0000000C(ROM image) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
603 |
checksum = 0x47396439(Emulator MBM file) 0x10000040(ROM image) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
604 |
The first 16 bytes of the given file is compared with these standard values to ascertain it is MBM file*/ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
605 |
if((filePointer[3]==0x10)&&(filePointer[2]==0x00)&&(filePointer[1]==0x00)&&(filePointer[0]==0x37)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
606 |
{//KWriteOnceFileStoreUid = 0x10000037 |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
607 |
if((filePointer[7]==0x10)&&(filePointer[6]==0x00)&&(filePointer[5]==0x00)&&(filePointer[4]==0x42)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
608 |
{//KMultiBitMapFileImageUid = 0x10000042 |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
609 |
if((filePointer[11]==0x00)&&(filePointer[10]==0x00)&&(filePointer[9]==0x00)&&(filePointer[8]==0x00)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
610 |
{//Zero = 0x00000000) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
611 |
if((filePointer[15]==0x47)&&(filePointer[14]==0x39)&&(filePointer[13]==0x64)&&(filePointer[12]==0x39)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
612 |
{//checksum = 0x47396439 |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
613 |
return ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
614 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
615 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
616 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
617 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
618 |
//Else Check for ROM Image MBM file's header |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
619 |
else if((filePointer[3]==0x10)&&(filePointer[2]==0x00)&&(filePointer[1]==0x00)&&(filePointer[0]==0x41)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
620 |
{//KWriteOnceFileStoreUid = 0x10000041 |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
621 |
if((filePointer[7]==0x00)&&(filePointer[6]==0x00)&&(filePointer[5]==0x00)&&(filePointer[4]==0x01)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
622 |
{//KMultiBitMapFileImageUid = 0x00000001 |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
623 |
if((filePointer[11]==0x00)&&(filePointer[10]==0x00)&&(filePointer[9]==0x00)&&(filePointer[8]==0x0C)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
624 |
{//Zero = 0x0000000C) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
625 |
if((filePointer[15]==0x10)&&(filePointer[14]==0x00)&&(filePointer[13]==0x00)&&(filePointer[12]==0x40)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
626 |
{//checksum = 0x10000040 |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
627 |
return ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
628 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
629 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
630 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
631 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
632 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
633 |
return EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
634 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
635 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
636 |
HBufC8* CApaAppInfoReader::ReadOpaqueDataL(TUint aResourceId, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
637 |
{ // static |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
638 |
HBufC8* opaqueData = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
639 |
if (aResourceId == 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
640 |
opaqueData = HBufC8::NewL(0); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
641 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
642 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
643 |
if (aResourceId & KResourceOffsetMask) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
644 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
645 |
// expecting opaque data to be in the localisable resource file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
646 |
if (aLocalisableResourceFile) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
647 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
648 |
aLocalisableResourceFile->ConfirmSignatureL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
649 |
opaqueData = aLocalisableResourceFile->AllocReadLC(aResourceId); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
650 |
CleanupStack::Pop(opaqueData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
651 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
652 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
653 |
opaqueData = HBufC8::NewL(0); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
654 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
655 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
656 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
657 |
// expecting opaque data to be in the registration file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
658 |
__ASSERT_ALWAYS(aRegistrationFile, Panic(EPanicNullPointer)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
659 |
opaqueData = aRegistrationFile->AllocReadLC(aResourceId); //lint !e613 Suppress ossible use of null pointer |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
660 |
CleanupStack::Pop(opaqueData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
661 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
662 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
663 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
664 |
return opaqueData; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
665 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
666 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
667 |
void CApaAppInfoReader::ReadNonLocalisableOptionalInfoL(RResourceReader& aResourceReader, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
668 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
669 |
// read LEN WORD STRUCT service_list[] |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
670 |
TInt serviceCount = 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
671 |
// service information was not present in the first release of the registration file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
672 |
// APP_REGISTRATION_INFO resource struct |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
673 |
// this method must not leave if the registration file doesn't contain service information, so the |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
674 |
// following call to ReadInt16L is trapped to ensure this method doesn't leave just because |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
675 |
// there is no more information in the resource to read (KErrEof) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
676 |
TRAPD(err, serviceCount = aResourceReader.ReadInt16L()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
677 |
if (err) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
678 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
679 |
if (err == KErrEof) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
680 |
return; // end of resource reached |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
681 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
682 |
User::Leave(err); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
683 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
684 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
685 |
if (!iServiceArray && serviceCount > 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
686 |
iServiceArray = new(ELeave) CArrayFixFlat<TApaAppServiceInfo>(4); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
687 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
688 |
while (serviceCount--) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
689 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
690 |
const TUid serviceUid = {aResourceReader.ReadUint32L()}; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
691 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
692 |
if ((serviceUid == KOpenServiceUid) && (iOpenServiceIsLegacy)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
693 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
694 |
ASSERT(iIndexOfFirstOpenService == 0); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
695 |
// If we found an Open service in the SERVICE_INFO declaration |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
696 |
// then we must ignore the legacy one |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
697 |
(*iServiceArray)[0].Release(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
698 |
iServiceArray->Delete(0); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
699 |
iOpenServiceIsLegacy = EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
700 |
iIndexOfFirstOpenService = KErrNotFound; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
701 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
702 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
703 |
CArrayFixFlat<TDataTypeWithPriority>* mimeTypesSupported = new(ELeave) CArrayFixFlat<TDataTypeWithPriority>(5); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
704 |
CleanupStack::PushL(mimeTypesSupported); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
705 |
ReadMimeTypesSupportedL(aResourceReader, *mimeTypesSupported); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
706 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
707 |
const TUint resourceId = aResourceReader.ReadUint32L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
708 |
HBufC8* opaqueData = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
709 |
opaqueData = ReadOpaqueDataL(resourceId, aRegistrationFile, aLocalisableResourceFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
710 |
CleanupStack::PushL(opaqueData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
711 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
712 |
TApaAppServiceInfo serviceInfo(serviceUid, mimeTypesSupported, opaqueData); // takes ownership of opaqueData |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
713 |
iServiceArray->AppendL(serviceInfo); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
714 |
CleanupStack::Pop(opaqueData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
715 |
CleanupStack::Pop(mimeTypesSupported); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
716 |
if ((serviceUid == KOpenServiceUid) && (iIndexOfFirstOpenService < 0)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
717 |
iIndexOfFirstOpenService = iServiceArray->Count() - 1; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
718 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
719 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
720 |
// read LLINK opaque_data |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
721 |
const TUint resourceId = aResourceReader.ReadUint32L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
722 |
delete iOpaqueData; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
723 |
iOpaqueData = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
724 |
iOpaqueData = ReadOpaqueDataL(resourceId, aRegistrationFile, aLocalisableResourceFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
725 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
726 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
727 |
void CApaAppInfoReader::ReadNonLocalisableInfoL(RResourceReader& aResourceReader, CResourceFile*& aLocalisableResourceFile, TUint& aLocalisableResourceId) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
728 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
729 |
ASSERT(aLocalisableResourceFile == NULL); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
730 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
731 |
// read LTEXT localisable_resource_file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
732 |
TPtrC localisableResourceFileName(aResourceReader.ReadTPtrCL()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
733 |
if (localisableResourceFileName.Length() > 0 && iFs.IsValidName(localisableResourceFileName)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
734 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
735 |
// determine the language specific name of the localisable resource file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
736 |
TParse parse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
737 |
TParsePtrC parsePtr(iRegistrationFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
738 |
User::LeaveIfError(parse.SetNoWild(parsePtr.Drive(), &KAppResourceFileExtension, &localisableResourceFileName)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
739 |
TFileName resourceFileName(parse.FullName()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
740 |
BaflUtils::NearestLanguageFileV2(iFs, resourceFileName, iApplicationLanguage); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
741 |
iLocalisableResourceFileName = resourceFileName.AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
742 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
743 |
TEntry entry; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
744 |
User::LeaveIfError(iFs.Entry(*iLocalisableResourceFileName, entry)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
745 |
iLocalisableResourceFileTimeStamp = entry.iModified; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
746 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
747 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
748 |
// open the localisable resource file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
749 |
aLocalisableResourceFile = CResourceFile::NewL(iFs, resourceFileName, 0, 0); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
750 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
751 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
752 |
// read LONG localisable_resource_id |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
753 |
aLocalisableResourceId = aResourceReader.ReadUint32L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
754 |
if (aLocalisableResourceFile && (aLocalisableResourceId & KResourceOffsetMask)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
755 |
aLocalisableResourceFile->ConfirmSignatureL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
756 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
757 |
iCapability.iAppIsHidden = aResourceReader.ReadInt8L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
758 |
iCapability.iEmbeddability = static_cast<TApaAppCapability::TEmbeddability>(aResourceReader.ReadInt8L()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
759 |
iCapability.iSupportsNewFile = aResourceReader.ReadInt8L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
760 |
iCapability.iLaunchInBackground = aResourceReader.ReadInt8L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
761 |
iCapability.iGroupName = aResourceReader.ReadTPtrCL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
762 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
763 |
// read BYTE default_screen_number |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
764 |
iDefaultScreenNumber = aResourceReader.ReadUint8L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
765 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
766 |
//read the datatypes |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
767 |
CArrayFixFlat<TDataTypeWithPriority>* datatypes = new(ELeave) CArrayFixFlat<TDataTypeWithPriority>(5); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
768 |
CleanupStack::PushL(datatypes); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
769 |
ReadMimeTypesSupportedL(aResourceReader, *datatypes); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
770 |
//dataTypes is deleted if |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
771 |
// A. There are no legacy datatypes |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
772 |
// B. Control panel plugin apps are not allowed to register MIME types.If they happen to have any, these datatypes should be ignored. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
773 |
if ((iCapability.iAttributes & TApaAppCapability::EControlPanelItem) || (datatypes->Count() == 0)) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
774 |
CleanupStack::PopAndDestroy(datatypes); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
775 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
776 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
777 |
ASSERT(!iServiceArray); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
778 |
iServiceArray = new(ELeave) CArrayFixFlat<TApaAppServiceInfo>(4); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
779 |
HBufC8* opaqueData = HBufC8::NewL(0); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
780 |
CleanupStack::PushL(opaqueData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
781 |
TApaAppServiceInfo serviceInfo(KOpenServiceUid, datatypes, opaqueData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
782 |
iServiceArray->AppendL(serviceInfo); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
783 |
CleanupStack::Pop(opaqueData); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
784 |
CleanupStack::Pop(datatypes); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
785 |
iIndexOfFirstOpenService = 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
786 |
iOpenServiceIsLegacy = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
787 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
788 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
789 |
// read LEN WORD STRUCT file_ownership_list[] |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
790 |
const TInt fileOwnershipArraySize = aResourceReader.ReadInt16L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
791 |
if (fileOwnershipArraySize > 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
792 |
iOwnedFileArray = new(ELeave) CDesCArraySeg(1); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
793 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
794 |
for (TInt i=0; i < fileOwnershipArraySize; i++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
795 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
796 |
TPtrC fileNamePtr = aResourceReader.ReadTPtrCL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
797 |
iOwnedFileArray->AppendL(fileNamePtr); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
798 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
799 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
800 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
801 |
void CApaAppInfoReader::ReadMimeTypesSupportedL(RResourceReader& aResourceReader, |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
802 |
CArrayFixFlat<TDataTypeWithPriority>& aMimeTypesSupported) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
803 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
804 |
// read LEN WORD STRUCT datatype_list[] |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
805 |
const TInt dataTypeArraySize = aResourceReader.ReadInt16L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
806 |
if (dataTypeArraySize <= 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
807 |
return; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
808 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
809 |
for (TInt i=0; i < dataTypeArraySize; i++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
810 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
811 |
TDataTypePriority priority = static_cast<TDataTypePriority>(aResourceReader.ReadInt32L()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
812 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
813 |
//Check for data priority of UnTrusted apps however the trusted apps will not have any restrictions |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
814 |
//over the data priority. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
815 |
//If an untrusted app has write device data capability (i.e. still has priority = KDataTypePrioritySystem), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
816 |
//do not restrict to KDataTypeUnTrustedPriorityThreshold |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
817 |
if (priority > KDataTypeUnTrustedPriorityThreshold || priority == KDataTypePrioritySystem ) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
818 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
819 |
ReadAppSecurityInfo(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
820 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
821 |
if (priority == KDataTypePrioritySystem) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
822 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
823 |
// Check that the app has capability WriteDeviceData |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
824 |
if (!iHasWriteDeviceDataCap) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
825 |
priority = KDataTypePriorityNormal; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
826 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
827 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
828 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
829 |
//data priority for UnTrusted apps would be capped if it is greater than the threshold priority i.e, KMaxTInt16. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
830 |
TInt match=iRegistrationFileName.MatchF(KLitPathForUntrustedRegistrationResourceFiles); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
831 |
if (match != KErrNotFound && !iIsSidTrusted) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
832 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
833 |
//if registration file is in import directory and |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
834 |
//its sid is in unprotected range - downgrade the priority |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
835 |
priority = KDataTypeUnTrustedPriorityThreshold; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
836 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
837 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
838 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
839 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
840 |
TPtrC8 dataTypePtr = aResourceReader.ReadTPtrC8L(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
841 |
TDataType dataType(dataTypePtr); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
842 |
TDataTypeWithPriority dataTypeWithPriority(dataType, priority); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
843 |
aMimeTypesSupported.AppendL(dataTypeWithPriority); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
844 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
845 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
846 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
847 |
// This method can be used to check whether app has a WriteDeviceCap |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
848 |
// and its sid is trusted |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
849 |
void CApaAppInfoReader::ReadAppSecurityInfo() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
850 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
851 |
if (!iSecurityInfoHasBeenRead) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
852 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
853 |
__ASSERT_DEBUG( iAppBinaryFullName, Panic(EPanicNullPointer) ); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
854 |
const TInt err = CApaSecurityUtils::CheckAppSecurity( *iAppBinaryFullName, |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
855 |
iHasWriteDeviceDataCap, iIsSidTrusted); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
856 |
if ( KErrNone != err ) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
857 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
858 |
iHasWriteDeviceDataCap = EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
859 |
iIsSidTrusted = EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
860 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
861 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
862 |
iSecurityInfoHasBeenRead = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
863 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
864 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
865 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
866 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
867 |
// Class CApaIconLoader |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
868 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
869 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
870 |
CApaIconLoader* CApaIconLoader::NewL(RFs& aFs) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
871 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
872 |
CApaIconLoader* self = NewLC(aFs); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
873 |
CleanupStack::Pop(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
874 |
return self; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
875 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
876 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
877 |
CApaIconLoader* CApaIconLoader::NewLC(RFs& aFs) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
878 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
879 |
CApaIconLoader* self = new(ELeave) CApaIconLoader(aFs); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
880 |
CleanupStack::PushL(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
881 |
self->ConstructL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
882 |
return self; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
883 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
884 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
885 |
CApaIconLoader::CApaIconLoader(RFs& aFs) : iFs(aFs) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
886 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
887 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
888 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
889 |
void CApaIconLoader::ConstructL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
890 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
891 |
} //lint !e1762 Suppress member function could be made const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
892 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
893 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
894 |
CApaIconLoader::~CApaIconLoader() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
895 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
896 |
TInt arrayCount = iIconIndexArray.Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
897 |
while (--arrayCount >= 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
898 |
delete (iIconIndexArray[arrayCount].iFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
899 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
900 |
iIconIndexArray.Close(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
901 |
iIconArrays.Close(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
902 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
903 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
904 |
void CApaIconLoader::AddIconArrayL(const CApaAppIconArray& aIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
905 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
906 |
iIconArrays.AppendL(&aIcons); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
907 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
908 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
909 |
void CApaIconLoader::LoadAllIconsL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
910 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
911 |
const TInt iconArraysCount = iIconArrays.Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
912 |
CleanupClosePushL(iIconArrays); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
913 |
for (TInt ii = 0; ii <iconArraysCount; ++ii) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
914 |
iIconArrays[ii]->LoadIconsL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
915 |
CleanupStack::PopAndDestroy(&iIconArrays); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
916 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
917 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
918 |
// given an mbm filename, returns the next index to read from the file |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
919 |
// always set aUseCache to EFalse on first call in a sequence of calls |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
920 |
TInt CApaIconLoader::IconIndexL(const TDesC& aFileName, TBool& aUseCache) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
921 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
922 |
if (aUseCache) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
923 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
924 |
TInt ret = iIconIndexArray[iCachedArrayIndex].iIndex++; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
925 |
return ret; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
926 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
927 |
else |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
928 |
aUseCache = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
929 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
930 |
// if filename in array, get the next index |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
931 |
TInt ret = 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
932 |
const TInt arrayCount = iIconIndexArray.Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
933 |
TInt arrayIndex; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
934 |
for (arrayIndex = 0; arrayIndex < arrayCount; arrayIndex++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
935 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
936 |
__ASSERT_DEBUG(iIconIndexArray[arrayIndex].iFileName, Panic(EDPanicInvalidIconIndexArray)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
937 |
if (iIconIndexArray[arrayIndex].iFileName->CompareF(aFileName) == 0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
938 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
939 |
ret = iIconIndexArray[arrayIndex].iIndex++; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
940 |
iCachedArrayIndex = arrayIndex; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
941 |
break; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
942 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
943 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
944 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
945 |
if (arrayIndex >= arrayCount) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
946 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
947 |
// filename not found, add it to array |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
948 |
TKeyValuePair keyValuePair; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
949 |
keyValuePair.iFileName = aFileName.AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
950 |
keyValuePair.iIndex = 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
951 |
ret = keyValuePair.iIndex++; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
952 |
User::LeaveIfError(iIconIndexArray.Append(keyValuePair)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
953 |
iCachedArrayIndex = arrayCount; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
954 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
955 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
956 |
return ret; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
957 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
958 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
959 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
960 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
961 |
// returns EFalse if there was an error obtaining aMbmFileName's entry information, |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
962 |
// otherwise returns ETrue. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
963 |
// Leaves if an error occurs while trying to populate aIcons or sort icons |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
964 |
TBool CApaIconLoader::LoadIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CArrayPtr<CApaMaskedBitmap>& aIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
965 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
966 |
TEntry entry; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
967 |
TInt error=iFs.Entry(aMbmFileName,entry); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
968 |
if (error!=KErrNone) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
969 |
return EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
970 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
971 |
TInt iconIndex; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
972 |
TInt fileIndex; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
973 |
TBool useCache = EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
974 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
975 |
// create link to CApaAppList which owns this object as it has a separate share protected RFs |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
976 |
// which can be used to load bitmap icons |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
977 |
CApaAppList* const appList = CApaAppList::Self(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
978 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
979 |
RFile mbmFile; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
980 |
CleanupClosePushL(mbmFile); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
981 |
User::LeaveIfError(mbmFile.Open(appList->ShareProtectedFileServer(), aMbmFileName, EFileShareReadersOnly)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
982 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
983 |
for(iconIndex=0; iconIndex<aNumOfIcons; ++iconIndex) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
984 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
985 |
CApaMaskedBitmap* bitmap = CApaMaskedBitmap::NewLC(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
986 |
fileIndex = IconIndexL(aMbmFileName, useCache); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
987 |
User::LeaveIfError(bitmap->Load(mbmFile, 2*fileIndex)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
988 |
User::LeaveIfError((bitmap->Mask())->Load(mbmFile,2*fileIndex+1)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
989 |
aIcons.AppendL(bitmap); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
990 |
CleanupStack::Pop(bitmap); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
991 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
992 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
993 |
CleanupStack::PopAndDestroy(&mbmFile); // close mbmFile |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
994 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
995 |
// now sort them in ascending order of size |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
996 |
TInt numberOfIcons = aIcons.Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
997 |
// create a new array that we can sort by area, populated from aIcons |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
998 |
RPointerArray<CApaMaskedBitmap> ptrArray(numberOfIcons); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
999 |
CleanupClosePushL(ptrArray); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1000 |
TLinearOrder<CApaMaskedBitmap> order(CApaIconLoader::CompareIcons); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1001 |
for (iconIndex=0; iconIndex<numberOfIcons; iconIndex++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1002 |
User::LeaveIfError(ptrArray.InsertInOrderAllowRepeats(aIcons[iconIndex], order)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1003 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1004 |
// copy the sorted icon pointers back into aIcons - must not Leave inside the loop below |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1005 |
for (iconIndex=0; iconIndex<numberOfIcons; iconIndex++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1006 |
aIcons[iconIndex]=ptrArray[iconIndex]; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1007 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1008 |
CleanupStack::PopAndDestroy(&ptrArray); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1009 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1010 |
return ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1011 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1012 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1013 |
TInt CApaIconLoader::CompareIcons(const CApaMaskedBitmap& aFirst, const CApaMaskedBitmap& aSecond) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1014 |
{ // static |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1015 |
TSize sizeFirst = aFirst.SizeInPixels(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1016 |
TInt areaFirst = sizeFirst.iWidth*sizeFirst.iHeight; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1017 |
TSize sizeSecond = aSecond.SizeInPixels(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1018 |
TInt areaSecond = sizeSecond.iWidth*sizeSecond.iHeight; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1019 |
return areaFirst - areaSecond; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1020 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1021 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1022 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1023 |
// Class CApaAppIconArray |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1024 |
// |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1025 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1026 |
CApaAppIconArray* CApaAppIconArray::NewL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1027 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1028 |
return new(ELeave) CApaAppIconArray(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1029 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1030 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1031 |
/* public factory functions */ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1032 |
CApaAppIconArray* CApaAppIconArray::NewAppIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1033 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1034 |
return NewL(aNumOfIcons,aMbmFileName,aIconLoader,ETrue); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1035 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1036 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1037 |
CApaAppIconArray* CApaAppIconArray::NewViewIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1038 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1039 |
return NewL(aNumOfIcons,aMbmFileName,aIconLoader,EFalse); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1040 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1041 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1042 |
CApaAppIconArray* CApaAppIconArray::NewDefaultIconsL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1043 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1044 |
CApaAppIconArray* self = NewL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1045 |
CleanupStack::PushL(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1046 |
self->GetDefaultIconsL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1047 |
CleanupStack::Pop(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1048 |
return self; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1049 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1050 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1051 |
CApaAppIconArray* CApaAppIconArray::NewRealDefaultIconsLC(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1052 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1053 |
return NewLC(aNumOfIcons,aMbmFileName,aIconLoader,EFalse); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1054 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1055 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1056 |
/* real NewL and NewLC, private */ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1057 |
CApaAppIconArray* CApaAppIconArray::NewL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1058 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1059 |
CApaAppIconArray* self = NewLC(aNumOfIcons,aMbmFileName,aIconLoader,aFallbackToDefaultIcons); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1060 |
CleanupStack::Pop(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1061 |
return self; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1062 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1063 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1064 |
CApaAppIconArray* CApaAppIconArray::NewLC(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1065 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1066 |
CApaAppIconArray* self = new(ELeave) CApaAppIconArray(aNumOfIcons,aIconLoader,aFallbackToDefaultIcons); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1067 |
CleanupStack::PushL(self); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1068 |
self->ConstructL(aMbmFileName); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1069 |
return self; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1070 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1071 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1072 |
CApaAppIconArray::CApaAppIconArray() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1073 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1074 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1075 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1076 |
CApaAppIconArray::CApaAppIconArray(TInt aNumOfIcons, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons) : |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1077 |
iNumOfIcons(aNumOfIcons), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1078 |
iIconLoader(&aIconLoader), |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1079 |
iFallbackToDefaultIcons(aFallbackToDefaultIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1080 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1081 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1082 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1083 |
void CApaAppIconArray::ConstructL(const TDesC& aMbmFileName) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1084 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1085 |
iMbmFileName = aMbmFileName.AllocL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1086 |
ASSERT(iIconLoader); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1087 |
iIconLoader->AddIconArrayL(*this); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1088 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1089 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1090 |
CApaAppIconArray::~CApaAppIconArray() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1091 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1092 |
if(iDefaultIconsUsed) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1093 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1094 |
ASSERT(iDefaultIconsProvider); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1095 |
if(iDefaultIconsProvider) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1096 |
iDefaultIconsProvider->ReleaseDefaultIconArray(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1097 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1098 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1099 |
delete iMbmFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1100 |
if (iIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1101 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1102 |
iIcons->ResetAndDestroy(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1103 |
delete iIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1104 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1105 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1106 |
iDefaultIconsProvider = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1107 |
iIconLoader = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1108 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1109 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1110 |
// returns EFalse if there was an error obtaining iMbmFileName's entry information, |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1111 |
// otherwise returns ETrue or leaves with a system-wide error code |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1112 |
TBool CApaAppIconArray::LoadIconsL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1113 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1114 |
ASSERT(iIconLoader); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1115 |
ASSERT(!iDefaultIconsUsed); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1116 |
ASSERT(!iIcons); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1117 |
iIcons = new(ELeave) CArrayPtrFlat<CApaMaskedBitmap>(5); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1118 |
TBool badMbmEntryInfo = EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1119 |
TRAPD(err,badMbmEntryInfo = !iIconLoader->LoadIconsL(iNumOfIcons,*iMbmFileName,*iIcons)); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1120 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1121 |
// We'll be called by the iconLoader at most once, and after we've been called, |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1122 |
// it might be destroyed. So we shouldn't keep a pointer to it anymore. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1123 |
iIconLoader = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1124 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1125 |
if ((badMbmEntryInfo || err != KErrNone) && iFallbackToDefaultIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1126 |
GetDefaultIconsL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1127 |
else if (badMbmEntryInfo) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1128 |
return EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1129 |
else if (err != KErrNone) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1130 |
User::Leave(err); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1131 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1132 |
return ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1133 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1134 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1135 |
CApaMaskedBitmap* CApaAppIconArray::IconBySize(const TSize& aSize) const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1136 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1137 |
if(iDefaultIconsUsed) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1138 |
return DefaultIcons().IconBySize(aSize); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1139 |
else if(iIcons == NULL && iIconLoader == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1140 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1141 |
// Then we've been created with the default constructor, just pretend |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1142 |
// there's no icon of the right size |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1143 |
return NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1144 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1145 |
else if(iIcons == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1146 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1147 |
// Arriving here means the the icons need loading but havn't been loaded yet. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1148 |
TRAPD(err, iIconLoader->LoadAllIconsL()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1149 |
if (err != KErrNone) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1150 |
return NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1151 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1152 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1153 |
const TInt count = iIcons->Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1154 |
CApaMaskedBitmap* bmp=NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1155 |
for (TInt ii=0;ii<count;ii++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1156 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1157 |
if ((*iIcons)[ii]->SizeInPixels()==aSize) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1158 |
bmp=(*iIcons)[ii]; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1159 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1160 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1161 |
if (!bmp) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1162 |
{// if the exact size has not been found get one with nearest but smaller area |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1163 |
TInt differenceOfClosest=KMaxTInt; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1164 |
TInt indexOfClosest=KMaxTInt; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1165 |
TInt reqArea=aSize.iHeight*aSize.iWidth; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1166 |
TSize bmpSize; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1167 |
TInt difference; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1168 |
for (TInt jj=0;jj<count;jj++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1169 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1170 |
bmpSize=(*iIcons)[jj]->SizeInPixels(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1171 |
difference=reqArea-bmpSize.iHeight*bmpSize.iWidth; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1172 |
if (difference<differenceOfClosest && difference>=0) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1173 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1174 |
differenceOfClosest=difference; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1175 |
indexOfClosest=jj; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1176 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1177 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1178 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1179 |
if (indexOfClosest<KMaxTInt) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1180 |
bmp=(*iIcons)[indexOfClosest]; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1181 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1182 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1183 |
return bmp; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1184 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1185 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1186 |
CArrayFixFlat<TSize>* CApaAppIconArray::IconSizesL() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1187 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1188 |
if(iDefaultIconsUsed) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1189 |
return DefaultIcons().IconSizesL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1190 |
else if(iIcons == NULL && iIconLoader == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1191 |
return new(ELeave)CArrayFixFlat<TSize>(1); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1192 |
else if(iIcons == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1193 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1194 |
// Arriving here means the the icons need loading but havn't been loaded yet. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1195 |
TRAPD(err, iIconLoader->LoadAllIconsL()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1196 |
if (err != KErrNone) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1197 |
return new(ELeave)CArrayFixFlat<TSize>(1); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1198 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1199 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1200 |
const TInt count=iIcons->Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1201 |
CArrayFixFlat<TSize>* arrayOfSizes=new(ELeave)CArrayFixFlat<TSize>(1); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1202 |
CleanupStack::PushL(arrayOfSizes); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1203 |
for(TInt ii=0;ii<count;ii++) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1204 |
arrayOfSizes->AppendL((*iIcons)[ii]->SizeInPixels()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1205 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1206 |
CleanupStack::Pop(arrayOfSizes); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1207 |
return arrayOfSizes; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1208 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1209 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1210 |
TInt CApaAppIconArray::Count() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1211 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1212 |
if(iDefaultIconsUsed) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1213 |
return DefaultIcons().Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1214 |
else if(iIcons == NULL && iIconLoader == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1215 |
return 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1216 |
else if(iIcons == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1217 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1218 |
// Arriving here means the the icons need loading but havn't been loaded yet. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1219 |
TRAPD(err, iIconLoader->LoadAllIconsL()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1220 |
if (err != KErrNone) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1221 |
return 0; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1222 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1223 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1224 |
return iIcons->Count(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1225 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1226 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1227 |
TBool CApaAppIconArray::DefaultIconsUsed() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1228 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1229 |
return iDefaultIconsUsed; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1230 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1231 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1232 |
CApaMaskedBitmap* CApaAppIconArray::operator[](TInt aIndex) const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1233 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1234 |
if(iDefaultIconsUsed) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1235 |
return DefaultIcons()[aIndex]; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1236 |
else if(iIcons == NULL && iIconLoader == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1237 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1238 |
Panic(EPanicIndexOutOfRange); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1239 |
return NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1240 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1241 |
else if(iIcons == NULL) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1242 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1243 |
// Arriving here means the the icons need loading but havn't been loaded yet. |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1244 |
TRAPD(err, iIconLoader->LoadAllIconsL()); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1245 |
if (err != KErrNone) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1246 |
return NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1247 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1248 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1249 |
return (*iIcons)[aIndex]; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1250 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1251 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1252 |
TBool CApaAppIconArray::AreAppIconsLoaded() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1253 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1254 |
if (iDefaultIconsUsed) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1255 |
return ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1256 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1257 |
if (iNumOfIcons > 0 && !iIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1258 |
return EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1259 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1260 |
return ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1261 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1262 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1263 |
TBool CApaAppIconArray::AreViewIconsLoaded() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1264 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1265 |
if (iNumOfIcons > 0 && !iIcons ) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1266 |
return EFalse; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1267 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1268 |
return ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1269 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1270 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1271 |
void CApaAppIconArray::GetDefaultIconsL() |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1272 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1273 |
ASSERT(!iDefaultIconsUsed); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1274 |
iDefaultIconsProvider = CApaAppList::Self(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1275 |
ASSERT(iDefaultIconsProvider); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1276 |
iDefaultIconsProvider->AcquireDefaultIconArrayL(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1277 |
iDefaultIconsUsed = ETrue; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1278 |
delete iMbmFileName; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1279 |
iMbmFileName = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1280 |
if (iIcons) |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1281 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1282 |
iIcons->ResetAndDestroy(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1283 |
delete iIcons; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1284 |
iIcons = NULL; |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1285 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1286 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1287 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1288 |
const CApaAppIconArray& CApaAppIconArray::DefaultIcons() const |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1289 |
{ |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1290 |
ASSERT(iDefaultIconsUsed && iDefaultIconsProvider); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1291 |
return iDefaultIconsProvider->DefaultIconArray(); |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1292 |
} |
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1293 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1294 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1295 |
|
b8d18c84f71c
Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1296 |