localisation/apparchitecture/aplist/aplapplistitem.cpp
author Maciej Seroka <maciejs@symbian.org>
Fri, 15 Oct 2010 11:54:08 +0100
branchSymbian3
changeset 74 08fe4219b8dd
parent 57 b8d18c84f71c
permissions -rw-r--r--
Fixed http smoke test (to use Winsock)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 2006-2010 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
// aplapplistitem.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 "aplapplistitem.h"
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    18
#include "APGAPLST.H"				// KApaIconIndexSmall, KApaIconIndexMedium, KApaIconIndexLarge
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    19
#include "../apgrfx/APGSTD.H" 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    20
#include "APFDEF.H"					// KAppResourceFileExtension
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    21
#include "../apparc/TRACE.H"
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    22
#include <bautils.h>
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    23
#include "../apgrfx/APGPRIV.H"		// KLitPathForNonNativeResourceAndIconFiles
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    24
#include "../apgrfx/apprivate.h"	// KLitPathForNonNativeResourceAndIconFiles
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    25
#include "aplappinforeader.h"
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    26
#include <e32uid.h>
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    27
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    28
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    29
// Delays in the pseudo idle object that builds the application list
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
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
// Local functions
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    34
//
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
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
    37
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
// class TApaAppEntry
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
/** Constructs an empty application entry object.
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
The full path name is empty, and the triplet of UIDs forming the UID type 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    46
are set to null UIDs. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    47
EXPORT_C TApaAppEntry::TApaAppEntry()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    48
	: iUidType(TUidType()),
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    49
	iFullName(KNullDesC)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    50
	{}
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
/** Constructs an application entry object from the specified application 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    54
DLL full path name and UID type. 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    55
@param aAppUidType UID type.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    56
@param aDllName Application DLL full path name. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    57
TApaAppEntry::TApaAppEntry(const TUidType& aAppUidType,const TFileName& aDllName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    58
	: iUidType(aAppUidType),
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    59
	iFullName(aDllName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    60
	{}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    61
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    62
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    63
/** Externalises the application entry to a write stream.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    64
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    65
@param aStream The write stream. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    66
void TApaAppEntry::ExternalizeL(RWriteStream& aStream)const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    67
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    68
	aStream<< iUidType[0];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    69
	aStream<< iUidType[1];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    70
	aStream<< iUidType[2];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    71
	aStream<< iFullName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    72
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    73
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
/** Internalises the application entry from a read stream.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    76
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    77
@param aStream The read stream. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    78
void TApaAppEntry::InternalizeL(RReadStream& aStream)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    79
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    80
	TUid uid1;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    81
	TUid uid2;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    82
	TUid uid3;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    83
	aStream>> uid1;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    84
	aStream>> uid2;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    85
	aStream>> uid3;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    86
	iUidType = TUidType(uid1,uid2,uid3);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    87
	aStream>> iFullName;
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
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
// Class CApaAppViewData
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
CApaAppViewData::~CApaAppViewData()
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 iIcons;
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 iIconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    99
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   100
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   101
CApaAppViewData::CApaAppViewData()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   102
	: iNonMbmIconFile(EFalse)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   103
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   104
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   105
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   106
void CApaAppViewData::ConstructL()
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
	iIcons=CApaAppIconArray::NewL();
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   111
CApaAppViewData* CApaAppViewData::NewLC()
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
	CApaAppViewData* self=new(ELeave) CApaAppViewData();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   114
	CleanupStack::PushL(self);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   115
	self->ConstructL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   116
	return self;	
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   119
void CApaAppViewData::SetUid(TUid aUid)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   120
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   121
	iUid=aUid;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   122
	}
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
void CApaAppViewData::SetScreenMode(TInt aScreenMode)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   125
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   126
	iScreenMode=aScreenMode;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   127
	}
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
EXPORT_C TInt CApaAppViewData::ScreenMode() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   130
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   131
	return iScreenMode;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   132
	}
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
void CApaAppViewData::SetCaptionL(const TDesC& aCaption)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   135
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   136
	HBufC* newCaption=aCaption.AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   137
	delete(iCaption); // after the AllocL succeeds
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   138
	iCaption=newCaption;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   141
void CApaAppViewData::SetIconArray(CApaAppIconArray* aIcons)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   142
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   143
	delete iIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   144
	iIcons = aIcons;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   147
void CApaAppViewData::SetIconFileNameL(const TDesC& aFileName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   148
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   149
	HBufC* fileName = aFileName.AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   150
	delete iIconFileName; // after the AllocL succeeds
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   151
	iIconFileName = fileName;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   154
void CApaAppViewData::SetNumOfViewIcons(TInt aNumOfViewIcons)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   155
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   156
	iNumOfViewIcons = aNumOfViewIcons;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   159
void CApaAppViewData::SetNonMbmIconFile(TBool aNonMbmIconFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   160
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   161
	iNonMbmIconFile = aNonMbmIconFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   162
	}
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
EXPORT_C TUid CApaAppViewData::Uid() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   165
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   166
	return iUid;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   167
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   168
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   169
EXPORT_C CApaMaskedBitmap* CApaAppViewData::Icon(const TSize& aSize) const
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
	return iIcons->IconBySize(aSize);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   172
	}
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
EXPORT_C CArrayFixFlat<TSize>* CApaAppViewData::IconSizesL() const
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
	return iIcons->IconSizesL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   177
	}
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
EXPORT_C TPtrC CApaAppViewData::IconFileName() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   180
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   181
	if (iIconFileName)
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
		return *iIconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   184
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   185
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   186
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   187
		return TPtrC(KNullDesC);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   188
		}
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
EXPORT_C TBool CApaAppViewData::NonMbmIconFile() const
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
	return iNonMbmIconFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   194
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   195
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
// class CApaAppEntry
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   201
CApaAppEntry* CApaAppEntry::NewL(const TApaAppEntry& aAppEntry)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   202
	{ // static
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   203
	CApaAppEntry* self=new(ELeave) CApaAppEntry(aAppEntry.iUidType);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   204
	CleanupStack::PushL(self);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   205
	self->ConstructL(aAppEntry.iFullName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   206
	CleanupStack::Pop(self);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   207
	return self;
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
CApaAppEntry::~CApaAppEntry()
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
	delete iFullName;
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
void CApaAppEntry::Get(TApaAppEntry& aAppEntry) 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
	aAppEntry.iFullName=*iFullName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   218
	aAppEntry.iUidType=iUidType;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   221
CApaAppEntry::CApaAppEntry(const TUidType& aUidType)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   222
	: iUidType(aUidType)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   223
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   224
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   225
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   226
void CApaAppEntry::ConstructL(const TDesC& aFileName)
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
	iFullName=aFileName.AllocL();
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   231
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   232
//
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   233
// Class CApaAppData
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   236
EXPORT_C CApaAppData* CApaAppData::NewL(const TApaAppEntry& aAppEntry, RFs& aFs)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   237
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   238
	CApaAppData* self=new(ELeave) CApaAppData(aFs);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   239
	CleanupStack::PushL(self);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   240
	self->ConstructL(aAppEntry);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   241
	CleanupStack::Pop(); // self
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   242
	return self;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   243
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   244
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   245
CApaAppData::CApaAppData(RFs& aFs)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   246
	:iCaption(NULL), iShortCaption(NULL), 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   247
	iIsPresent(CApaAppData::EIsPresent), iFs(aFs),
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   248
	iNonMbmIconFile(EFalse),
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   249
	iApplicationLanguage(ELangNone), iIndexOfFirstOpenService(-1),
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   250
	iNonNativeApplicationType(TUid::Null()),
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   251
	iShortCaptionFromResourceFile(NULL)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   252
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   253
	}
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
void CApaAppData::ConstructL(const TApaAppEntry& aAppEntry)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   256
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   257
	iUidType = aAppEntry.iUidType; // if the 2nd UID is KUidAppRegistrationFile, iUidType will be updated in ReadApplicationInformationFromResourceFiles() to reflect the TUidType for the application binary
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   258
	if (ApaUtils::TypeUidIsForRegistrationFile(aAppEntry.iUidType))
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
		iRegistrationFile = aAppEntry.iFullName.AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   261
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   262
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   263
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   264
		iFullName = aAppEntry.iFullName.AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   265
		}
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
	iCapabilityBuf.FillZ(iCapabilityBuf.MaxLength());
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   268
	iIcons = CApaAppIconArray::NewL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   269
	iViewDataArray=new(ELeave) CArrayPtrFlat<CApaAppViewData>(1);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   270
	iOwnedFileArray=new(ELeave) CDesCArraySeg(1);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   271
	User::LeaveIfError(ReadApplicationInformationFromResourceFiles());
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   272
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   273
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   274
// Return a standard error code
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   275
// The value returned only reflect the caption status
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   276
// If there is errors setting up captions the old values are retained
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   277
// All other errors are silently ignored
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   278
// General notes:
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   279
// 1. This method is deliberately very similar to the old CApaAppData::GetAifData
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   280
//    in order to maintain behavioural compatibility for V1 apps
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   281
// 2. Be very careful in this method, because it can be called on a newly constructed object,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   282
//    or on an existing object, so don't assume member data pointers will be NULL
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   283
TInt CApaAppData::ReadApplicationInformationFromResourceFiles()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   284
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   285
	HBufC* caption = NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   286
	HBufC* shortCaption = NULL;
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
	iTimeStamp = TTime(0); // cannot init in constructor because this function can be called on an existing CApaAppData object
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   289
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   290
	if(iRegistrationFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   291
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   292
		CApaAppInfoReader* appInfoReader = NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   293
		TRAP_IGNORE(appInfoReader = CApaAppInfoReader::NewL(iFs, *iRegistrationFile, iUidType[2]));	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   294
		if (!appInfoReader)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   295
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   296
			if (!iFullName)
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
				// assume that if iFullName is NULL, this method has been called as part
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   299
				// of constructing a new app data object. The CApaAppInfoReader derived object
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   300
				// could not be created, therefore we have no way to determine the full filename
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   301
				// of the app binary, so give up
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   302
				return KErrNoMemory;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   303
				}
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
		else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   306
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   307
			TBool readSuccessful=EFalse;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   308
			TRAP_IGNORE(readSuccessful= appInfoReader->ReadL());
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
			HBufC* const appBinaryFullName = appInfoReader->AppBinaryFullName();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   311
			if (appBinaryFullName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   312
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   313
				delete iFullName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   314
				iFullName = appBinaryFullName;
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
				
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   317
			if (!iFullName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   318
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   319
				delete appInfoReader;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   320
				return KErrNoMemory;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   321
				}
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
			// if this object has just been constructed, iUidType is currently the TUidType
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   324
			// of the registration file, it should be the TUidType of the app binary file
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   325
			TUidType uidType = appInfoReader->AppBinaryUidType();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   326
			if (uidType[1].iUid != KNullUid.iUid)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   327
				iUidType = uidType;
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
			// must get captions regardless of value of readSuccessful,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   330
			// because the V1 reader might have read captions
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   331
			// this is done to maintain behavioural compatibility with V1
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   332
			caption = appInfoReader->Caption();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   333
			shortCaption = appInfoReader->ShortCaption();
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
			CApaAppIconArray* icons = appInfoReader->Icons();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   336
			if(icons)
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
				delete iIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   339
				iIcons = icons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   340
				iIconLoader = appInfoReader->IconLoader();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   341
				}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   342
			else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   343
				{			
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   344
				TRAPD(err, icons = CApaAppIconArray::NewL());
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   345
				if(err == KErrNone)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   346
					{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   347
					delete iIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   348
					iIcons = icons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   349
					}
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
				
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   352
			iTimeStamp = appInfoReader->TimeStamp();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   353
			delete iLocalisableResourceFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   354
			iLocalisableResourceFileName = appInfoReader->LocalisableResourceFileName();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   355
			iLocalisableResourceFileTimeStamp = appInfoReader->LocalisableResourceFileTimeStamp();
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
			const TBool isNonNativeApp = 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   358
				(TParsePtrC(*iRegistrationFile).Path().CompareF(KLitPathForNonNativeResourceAndIconFiles) == 0);
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
			if (isNonNativeApp)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   361
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   362
				// In the case of a non-native app, the resource file has been prefixed with a
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   363
				// TCheckedUid, the second of whose UIDs is the non-native application type uid.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   364
				TEntry entry;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   365
				const TInt error=iFs.Entry(*iRegistrationFile, entry);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   366
				if (error!=KErrNone)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   367
					{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   368
					delete appInfoReader;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   369
					return error;
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
					
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   372
				__ASSERT_DEBUG(entry.iType[0].iUid==KUidPrefixedNonNativeRegistrationResourceFile, Panic(EPanicUnexpectedUid));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   373
				iNonNativeApplicationType=entry.iType[1];
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   376
			delete iOpaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   377
			iOpaqueData = appInfoReader->OpaqueData();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   378
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   379
			if (readSuccessful)
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
				appInfoReader->Capability(iCapabilityBuf);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   382
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   383
				iDefaultScreenNumber = appInfoReader->DefaultScreenNumber();
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
				delete iIconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   386
				iIconFileName = appInfoReader->IconFileName();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   387
				iIconFileTimeStamp = appInfoReader->IconFileTimeStamp();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   388
				iNonMbmIconFile = appInfoReader->NonMbmIconFile();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   389
				iNumOfAppIcons = appInfoReader->NumOfAppIcons();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   390
				iApplicationLanguage = appInfoReader->AppLanguage();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   391
						
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   392
				// views
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   393
				iViewDataArray->ResetAndDestroy();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   394
				CArrayPtrFlat<CApaAppViewData>* viewDataArray = appInfoReader->Views();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   395
				if (viewDataArray)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   396
					{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   397
					delete iViewDataArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   398
					iViewDataArray = viewDataArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   399
					
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   400
					if(!iIconLoader && ViewMbmIconsRequireLoading())
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   401
					    {
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   402
					    //if VIEW_DATA contains a MBM icon we need to initialize iIconLoader
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   403
					    iIconLoader = appInfoReader->IconLoader();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   404
					    }
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
				// owned files
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   408
				iOwnedFileArray->Reset();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   409
				CDesCArray* const ownedFileArray = appInfoReader->OwnedFiles();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   410
				if (ownedFileArray)
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
					delete iOwnedFileArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   413
					iOwnedFileArray = ownedFileArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   414
					}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   415
				
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   416
				UpdateServiceArray(appInfoReader->ServiceArray(iIndexOfFirstOpenService));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   417
				}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   418
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   419
			delete appInfoReader;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   420
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   421
		}
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
	if (!caption)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   424
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   425
		TParsePtrC parse (*iFullName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   426
		caption = parse.Name().Alloc();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   427
		}
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
	// Put the captions into place
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   430
	if (caption)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   431
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   432
		if (!shortCaption)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   433
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   434
			shortCaption = caption->Alloc();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   435
			if (!shortCaption)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   436
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   437
				delete caption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   438
				caption = NULL;
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
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   441
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   442
		delete iCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   443
		iCaption = caption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   444
		delete iShortCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   445
		iShortCaption = shortCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   446
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   447
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   448
	return caption ? KErrNone : KErrNoMemory;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   449
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   450
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   451
EXPORT_C CApaAppData::~CApaAppData()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   452
// Just delete components, NOT iNext (next CApaAppData in the list).
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   453
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   454
	delete iSuccessor;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   455
	delete iCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   456
	delete iShortCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   457
	delete iFullName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   458
	delete iShortCaptionFromResourceFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   459
	delete iIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   460
	delete iIconLoader;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   461
	if(iViewDataArray)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   462
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   463
		iViewDataArray->ResetAndDestroy();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   464
		delete iViewDataArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   465
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   466
	delete iOwnedFileArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   467
	delete iIconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   468
	delete iLocalisableResourceFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   469
	if (iServiceArray)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   470
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   471
		CleanupServiceArray(iServiceArray);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   472
		iServiceArray = NULL;
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
	delete iOpaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   475
	delete iRegistrationFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   476
	iNext = NULL;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   479
void CApaAppData::UpdateServiceArray(CArrayFixFlat<TApaAppServiceInfo>* aNewServiceArray)
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
	// clear out any existing service info
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   482
	if (iServiceArray)
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
		CleanupServiceArray(iServiceArray);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   485
		iServiceArray = NULL;
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
	// store new service array
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   488
	iServiceArray = aNewServiceArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   489
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   490
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   491
TDataTypePriority CApaAppData::DataType(const TDataType& aDataType, const CArrayFixFlat<TDataTypeWithPriority>& aDataTypeArray) const
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
	TInt count=aDataTypeArray.Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   494
	for (TInt ii=0;ii<count;ii++)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   495
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   496
		const TDataTypeWithPriority& type=aDataTypeArray[ii];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   497
		if (type.iDataType==aDataType)
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
			return type.iPriority;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   500
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   501
		else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   502
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   503
			TPtrC8 src=type.iDataType.Des8();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   504
			TPtrC8 trg=aDataType.Des8();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   505
			if (src.Match(trg)==0 || trg.Match(src)==0)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   506
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   507
				if (type.iPriority == KDataTypePrioritySystem)
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
					// This is more or less a magic number so don't decrement
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   510
					return KDataTypePrioritySystem;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   511
					}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   512
				else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   513
					{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   514
					return (TInt16)(type.iPriority-1);
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
				}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   517
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   518
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   519
	return KDataTypePriorityNotSupported;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   522
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   523
 * Returns the CApaMaskedBitmap of size aSize for the application associated
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   524
 * with this CApaAppData. If the icons for the application are not yet loaded then it would be loaded first.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   525
 * If there is not a bitmap of exact size aSize then 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   526
 * the icon closest to but smaller than the one asked for is returned, or NULL if
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   527
 * none is smaller.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   528
 * 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   529
 * @since Uikon1.2
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   530
 */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   531
EXPORT_C CApaMaskedBitmap* CApaAppData::Icon(TSize aSize) const
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
	return iIcons->IconBySize(aSize);
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   536
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   537
 * Returns a pointer to the small, medium or large application icon for aIconIndex equal to 0, 1 or 2 respectively.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   538
 * Panics if aIconIndex is not one of these three values.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   539
 *
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   540
 * This method is superseded by an overload which returns the icon by finding the closest match to a specified size.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   541
 *
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   542
 * @deprecated
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   543
 */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   544
EXPORT_C CApaMaskedBitmap* CApaAppData::Icon(TInt aIconIndex) const
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
	__ASSERT_DEBUG(aIconIndex>-1 && aIconIndex<3, Panic(EDPanicBadIconSize)); //only support old behaviour
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   547
	TSize sizeExpected;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   548
	switch(aIconIndex)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   549
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   550
	case KApaIconIndexSmall:
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   551
		sizeExpected=TSize(24,24);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   552
		break;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   553
	case KApaIconIndexMedium:
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   554
		sizeExpected=TSize(32,32);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   555
		break;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   556
	case KApaIconIndexLarge:
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   557
		sizeExpected=TSize(48,48);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   558
		break;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   559
	default:
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   560
		break;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   561
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   562
	return Icon(sizeExpected);
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   565
void CApaAppData::LoadIconsL()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   566
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   567
	iIconLoader->LoadAllIconsL();
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
EXPORT_C CArrayFixFlat<TSize>* CApaAppData::IconSizesL()const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   571
/** Gets the sizes of icons available for the application. 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   572
* If the icons for the application are not yet loaded then it would be loaded first.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   573
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   574
@return A pointer to an array of the icon sizes. The caller takes ownership. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   575
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   576
	return iIcons->IconSizesL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   577
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   578
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   579
EXPORT_C TApaAppEntry CApaAppData::AppEntry() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   580
/** Constructs an application entry based on this object.
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
@return The application entry. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   583
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   584
	return TApaAppEntry(iUidType,*iFullName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   585
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   586
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   587
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   588
EXPORT_C void CApaAppData::Capability(TDes8& aCapabilityBuf)const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   589
/** Gets the application's capabilities.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   590
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   591
@param aCapabilityBuf On return, contains the application's capabilities, 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   592
specified as a TApaAppCapabilityBuf object. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   593
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   594
	TApaAppCapability::CopyCapability(aCapabilityBuf,iCapabilityBuf);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   595
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   596
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
 * Returns a pointer to the array of view data objects current for this application. Does not imply transfer of ownership.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   599
 *
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   600
 * @since App-Framework_6.1
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   601
 */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   602
EXPORT_C CArrayPtrFlat<CApaAppViewData>* CApaAppData::Views() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   603
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   604
	return iViewDataArray;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   605
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   606
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   607
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   608
 * Returns a pointer to the array of files for which this application claims ownership. Does not imply transfer of ownership.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   609
 *
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   610
 * @since App-Framework_6.1
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   611
 */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   612
EXPORT_C CDesCArray* CApaAppData::OwnedFiles() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   613
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   614
	return iOwnedFileArray;
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
TBool CApaAppData::Update()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   618
// returns true if changes were made to the cached data
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   619
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   620
	__APA_PROFILE_START(17);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   621
	TBool changed=EFalse;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   622
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   623
	// Get app info file entry
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   624
	TEntry entry;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   625
	TInt ret;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   626
	if (iRegistrationFile != NULL)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   627
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   628
		ret = iFs.Entry(*iRegistrationFile, entry);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   629
		if (ret==KErrNone && entry.iModified!=iTimeStamp)
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
			// assume registration file may have changed
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   632
			changed = ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   633
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   634
		else
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
			if (iLocalisableResourceFileName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   637
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   638
				// see if localisable resource information might have changed
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   639
				TParse parse;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   640
				ret = parse.SetNoWild(KAppResourceFileExtension, iLocalisableResourceFileName, NULL);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   641
				if (ret == KErrNone)
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
					TFileName resourceFileName(parse.FullName());
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   644
					TLanguage language;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   645
					BaflUtils::NearestLanguageFileV2(iFs, resourceFileName, language);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   646
					(void)language;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   647
					if (resourceFileName.CompareF(*iLocalisableResourceFileName)!=0)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   648
						{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   649
						changed = ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   650
						}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   651
					else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   652
						{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   653
						ret = iFs.Entry(*iLocalisableResourceFileName, entry);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   654
						if ((ret==KErrNotFound && iLocalisableResourceFileTimeStamp!=TTime(0)) ||
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   655
							(ret==KErrNone && entry.iModified!=iLocalisableResourceFileTimeStamp))
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
							changed = ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   658
							}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   659
						}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   660
					}
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
	if (changed)
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
		// re-read data
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   667
		// Ignore result, nothing we can do in case failure
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   668
		// and the old values should be preserved
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   669
		const TInt ignore = ReadApplicationInformationFromResourceFiles();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   670
		} //lint !e529 Symbol 'ignore' not subsequently referenced
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   671
		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   672
	else 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   673
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   674
		if (iIconFileName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   675
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   676
			ret = iFs.Entry(*iIconFileName, entry);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   677
			// See if the icon file has been "modified"
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   678
			// It could have been replaced with a differnt version, deleted or added 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   679
			// if the icon file specified in the resource was missing
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   680
			if ((ret==KErrNotFound && iIconFileTimeStamp!=TTime(0)) ||
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   681
					(ret==KErrNone && entry.iModified!=iIconFileTimeStamp))
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   682
					{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   683
					// Assume the icon file has changed
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   684
					iIconFileTimeStamp = entry.iModified;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   685
					changed = ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   686
					}
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
		}
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
	__APA_PROFILE_END(17);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   691
	return changed;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   692
	}
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
EXPORT_C TDataTypePriority CApaAppData::DataType(const TDataType& aDataType) const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   695
// returns the priority of the data type
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   696
/** If the application supports the specified data type, the function returns 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   697
the priority with which it should be selected for handling it.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   698
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   699
If the application does not support the specified data type, 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   700
KDataTypePriorityNotSupported is returned.
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
Note that the function supports wildcard matching, using "*" and "?". In the case 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   703
of a wildcard match, the priority value returned is reduced by 1, so that in this 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   704
case, the application could never have the maximum priority 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   705
(KDataTypePriorityUserSpecified).
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
@param aDataType The data type of interest.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   708
@return The priority with which the application should be selected for handling 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   709
the specified data type, or KDataTypePriorityNotSupported if the data type is 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   710
not supported. */
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
	if (iIndexOfFirstOpenService >= 0)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   713
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   714
		const CArrayFixFlat<TDataTypeWithPriority>& dataTypeArray = 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   715
			(*iServiceArray)[iIndexOfFirstOpenService].DataTypes();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   716
		return DataType(aDataType, dataTypeArray);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   717
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   718
	return KDataTypePriorityNotSupported;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   721
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   722
EXPORT_C TBool CApaAppData::IsPending() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   723
/* Returns true if the app info is not yet updated by the current scan. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   724
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   725
	return (iIsPresent==CApaAppData::EPresentPendingUpdate 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   726
		|| iIsPresent==CApaAppData::ENotPresentPendingUpdate);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   727
	}
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
EXPORT_C TBool CApaAppData::CanUseScreenMode(TInt aScreenMode)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   730
/** Tests whether the specified screen mode is valid for any of 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   731
this application's views. If the app has no views, the function 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   732
assumes that only the default screen mode (at screen mode index 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   733
zero) is allowed. This function is used by CApaAppList to create 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   734
a list of valid applications.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   735
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   736
@param aScreenMode The index of the screen mode.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   737
@return True if screen mode is valid, otherwise false. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   738
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   739
	const TInt count=iViewDataArray->Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   740
	// If there are no views, assume only the default screen mode is allowed
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   741
	TBool ret=(count==0 && aScreenMode==0);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   742
	for(TInt ii=0;ii<count;ii++)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   743
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   744
		const CApaAppViewData* data=(*iViewDataArray)[ii];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   745
		if(data->ScreenMode()==aScreenMode)
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
			ret=ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   748
			break;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   749
			}
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
	return ret;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   752
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   753
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   754
EXPORT_C void CApaAppData::GetIconInfo(TInt& aIconCount, TInt& aDefaultIconsUsed) const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   755
/** Gets icon information for the app. If the icons for the application are not yet loaded then it would be loaded first.
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
@param aIconCount On return, this contains the number of app icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   758
@param aDefaultIconsUsed On return, this indicates whether the default icons have been used
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   759
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   760
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   761
	aIconCount = iIcons->Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   762
	aDefaultIconsUsed = iIcons->DefaultIconsUsed();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   763
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   764
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   765
/** Gets the default screen number used by the application.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   766
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   767
A device may have more than once screen. This function
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   768
returns the number associated with the screen which will
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   769
be the default screen used by the application.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   770
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   771
@return The default screen number
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   772
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   773
EXPORT_C TUint CApaAppData::DefaultScreenNumber() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   774
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   775
	return iDefaultScreenNumber;
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   778
/** Returns true if app info was provided by a registration file
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   779
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   780
@return true if app info was provided by a registration file
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   781
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   782
EXPORT_C TBool CApaAppData::RegistrationFileUsed() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   783
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   784
	return iRegistrationFile != NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   785
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   786
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   787
/** Returns the full filename of the registration resource file
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
@return The full path and filename of the registration resource file.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   790
@internalTechnology
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   791
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   792
EXPORT_C TPtrC CApaAppData::RegistrationFileName() const
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
	if (iRegistrationFile)
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
		return *iRegistrationFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   797
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   798
	else
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
		return TPtrC(KNullDesC);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   801
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   802
	}
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   805
/** Returns the full filename of the localisable resource file
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   806
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   807
@return The full path and filename of the localisable resource file.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   808
@internalTechnology
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   809
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   810
EXPORT_C TPtrC CApaAppData::LocalisableResourceFileName() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   811
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   812
	if (iLocalisableResourceFileName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   813
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   814
		return *iLocalisableResourceFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   815
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   816
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   817
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   818
		return TPtrC(KNullDesC);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   819
		}
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
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
/** Returns the non-native application opaque data
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   824
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   825
@return The non-native application opaque data.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   826
@internalComponent
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   827
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   828
EXPORT_C TPtrC8 CApaAppData::OpaqueData() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   829
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   830
	if (iOpaqueData)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   831
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   832
		return *iOpaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   833
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   834
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   835
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   836
		return TPtrC8(KNullDesC8);
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
EXPORT_C TUid CApaAppData::NonNativeApplicationType() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   841
/** @internalComponent */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   842
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   843
	return iNonNativeApplicationType;
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
/** Returns the full filename of the file containing application icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   847
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   848
@return The full path and filename of the icon file.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   849
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   850
EXPORT_C TPtrC CApaAppData::IconFileName() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   851
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   852
	if (iIconFileName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   853
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   854
		return *iIconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   855
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   856
	else
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
		return TPtrC(KNullDesC);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   859
		}
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
/** Returns true if the application provides a non-MBM icon filename.
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
If this function returns false, this does not necessarily mean
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   865
an MBM icon filename is provided.
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
@return true if the application provides a non-MBM icon filename.
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
EXPORT_C TBool CApaAppData::NonMbmIconFile() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   870
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   871
	return iNonMbmIconFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   872
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   873
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   874
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   875
/** Determines the current language the application is using to display its
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   876
user interface.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   877
@return The current language.
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
EXPORT_C TLanguage CApaAppData::ApplicationLanguage() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   880
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   881
	return iApplicationLanguage;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   882
	}
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
/** Returns true if the application implements the specified service.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   885
@param aServiceUid The service UID.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   886
@return true if the application implements the specified service.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   887
@internalComponent
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
EXPORT_C TBool CApaAppData::ImplementsService(TUid aServiceUid) const
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
	if (iServiceArray)
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
		TInt count = iServiceArray->Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   894
		for (TInt i = count-1; i >= 0; i--)
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
			if ((*iServiceArray)[i].Uid() == aServiceUid)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   897
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   898
				return ETrue;
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
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   901
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   902
	return EFalse;
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
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   905
/** Checks if the application implements the specified service and if the 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   906
service explicitly supports the datatype. Explicitly means that the datatype is
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   907
listed in the service's list of datatype in the registration file and is
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   908
not the general datatype associated with the application (aka the Open service).
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   909
@param aServiceUid The service UID.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   910
@param aDataType The datattype
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   911
@return The priority. KDataTypePriorityNotSupported if the app doesn't support
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   912
this service with this datatype.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   913
@internalComponent
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   914
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   915
TInt CApaAppData::ImplementsServiceWithDataType(TUid aServiceUid, const TDataType& aDataType) const
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
	TInt result = KDataTypePriorityNotSupported;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   918
	if (iServiceArray)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   919
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   920
		TInt count = iServiceArray->Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   921
		for (TInt i = count-1; i >= 0; i--)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   922
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   923
			// There can be more than one instance of a given service so we iterate
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   924
			// through the whole service list even if we have already found a suitable
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   925
			// service.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   926
			if ((*iServiceArray)[i].Uid() == aServiceUid)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   927
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   928
				const CArrayFixFlat<TDataTypeWithPriority>& datatypes =
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   929
					(*iServiceArray)[i].DataTypes();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   930
				TInt priority = DataType(aDataType, datatypes);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   931
				if (priority > result)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   932
					{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   933
					result = priority;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   934
					}
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
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   937
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   938
	return result;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   939
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   940
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   941
EXPORT_C void CApaAppData::SetShortCaptionL(const TDesC& aShortCaption)
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
	if(iShortCaption->Compare(aShortCaption) != 0)
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
		HBufC* newShortCaption=aShortCaption.AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   946
		if (!iShortCaptionFromResourceFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   947
			{ // store the rsc file caption into iShortCaptionFromResourceFile so that it can be externalized.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   948
			iShortCaptionFromResourceFile = iShortCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   949
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   950
		else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   951
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   952
			delete iShortCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   953
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   954
		iShortCaption = newShortCaption;
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
	}
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
/** Sets the caption of the application. If the caption is from central repository,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   959
 it overrides tha value from the resource file.  
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
EXPORT_C void CApaAppData::SetCaptionL(const TDesC& aCaption)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   962
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   963
	if(iCaption->Compare(aCaption) != 0)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   964
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   965
		HBufC* newCaption=aCaption.AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   966
		if (!iCaptionFromResourceFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   967
			{ // store the rsc file caption into iCaptionFromResourceFile so that it can be externalized.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   968
			iCaptionFromResourceFile = iCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   969
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   970
		else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   971
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   972
			delete iCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   973
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   974
		iCaption = newCaption;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   975
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   976
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   977
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   978
/** Sets the icon details of an application. If these details are from the central repository,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   979
 it overrides the value in the resource file and loads it.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   980
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   981
EXPORT_C void CApaAppData::SetIconsL(const TDesC& aFileName, TInt aNumIcons)
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
	if (iIconFileName && 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   984
		iIconFileName->Compare(aFileName) == 0 &&
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   985
		iNumOfAppIcons == aNumIcons)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   986
		return;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   987
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   988
	if (!iIconFileNameFromResourceFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   989
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   990
	 	iNumOfAppIconsFromResourceFile = iNumOfAppIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   991
	 	iIconFileNameFromResourceFile = iIconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   992
	 	iIconFileName = NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   993
	 	iNonMbmIconFileFromResourceFile = iNonMbmIconFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   994
	 	iIconFileTimeStampFromResourceFile = iIconFileTimeStamp;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   995
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   996
		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   997
	iNonMbmIconFile = !CApaAppInfoReader::FileIsMbmWithGenericExtensionL(aFileName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   998
	iNumOfAppIcons = aNumIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   999
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1000
	if (aFileName != KNullDesC)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1001
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1002
		iIconFileName = aFileName.AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1003
		if (!iNonMbmIconFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1004
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1005
			if (iNumOfAppIcons > 0)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1006
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1007
				// Creates an Application Icon Array
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1008
				CApaAppIconArray* icons = CApaAppIconArray::NewAppIconsL(iNumOfAppIcons, *iIconFileName, *iIconLoader);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1009
				delete iIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1010
				iIcons = icons;
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
		else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1014
			{	// Creates an Empty Icon Array if application has Non-Mbm Icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1015
			CApaAppIconArray* icons = CApaAppIconArray::NewL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1016
			delete iIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1017
			iIcons = icons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1018
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1019
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1020
	else
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
		CApaAppIconArray* icons = CApaAppIconArray::NewDefaultIconsL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1023
		delete iIcons;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1024
		iIcons = icons;
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
	}
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
void CApaAppData::SetAppPending()
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
	if (iIsPresent == CApaAppData::ENotPresent 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1031
		|| iIsPresent == CApaAppData::ENotPresentPendingUpdate)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1032
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1033
		iIsPresent = CApaAppData::ENotPresentPendingUpdate;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1034
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1035
	else
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
		iIsPresent = CApaAppData::EPresentPendingUpdate;
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
	}
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
void CApaAppData::InternalizeL(RReadStream& aReadStream)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1042
/** Internalizes the appdata from the AppsList.bin file */
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
	TUint highTime = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1045
	TUint lowTime = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1046
	iTimeStamp = TTime(MAKE_TINT64(highTime, lowTime));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1047
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1048
	highTime = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1049
	lowTime = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1050
	iIconFileTimeStamp = TTime(MAKE_TINT64(highTime, lowTime));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1051
	iCaption = HBufC::NewL(aReadStream, KMaxFileName);	// Caption
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1052
	iShortCaption = HBufC::NewL(aReadStream, KMaxFileName);	// Shortcaption
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1053
	iFullName = HBufC::NewL(aReadStream, KMaxFileName);		// Filename of application binary
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
	TUid uid1;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1056
	uid1.iUid = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1057
	TUid uid2;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1058
	uid2.iUid = aReadStream.ReadUint32L();	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1059
	TUid uid3;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1060
	uid3.iUid = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1061
	iUidType = TUidType(uid1, uid2, uid3);	// Application UID
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
	aReadStream >> iCapabilityBuf;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1064
	iRegistrationFile = HBufC::NewL(aReadStream, KMaxFileName);	// Registration Filename
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1065
	iDefaultScreenNumber = aReadStream.ReadUint32L();	// Default Screen number
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1066
	iNumOfAppIcons = aReadStream.ReadInt32L();	// No. of icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1067
	iNonMbmIconFile = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1068
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1069
	HBufC* iconFileName = HBufC::NewL(aReadStream, KMaxFileName);	// Icon Filename
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1070
	if (*iconFileName != KNullDesC)
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
		iIconFileName = iconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1073
		if (!iNonMbmIconFile)
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
			if (iNumOfAppIcons > 0)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1076
				{ // Create IconLoader to load icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1077
				iIconLoader = CApaIconLoader::NewL(iFs);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1078
				// Creates an Application Icon Array
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1079
				iIcons = CApaAppIconArray::NewAppIconsL(iNumOfAppIcons, *iIconFileName, *iIconLoader);
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
			else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1082
			    TRAP_IGNORE(iIcons = CApaAppIconArray::NewDefaultIconsL()); // Creates and Loads Default Icons.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1083
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1084
		else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1085
			{	// Creates an Empty Icon Array if application has Non-Mbm Icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1086
			iIcons = CApaAppIconArray::NewL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1087
			}
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
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1090
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1091
		delete iconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1092
		TRAP_IGNORE(iIcons = CApaAppIconArray::NewDefaultIconsL()); // Creates and Loads Default Icons.
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
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1095
	HBufC* localisableResourceFileName = HBufC::NewL(aReadStream, KMaxFileName);	// Registration Filename
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1096
	if (*localisableResourceFileName != KNullDesC)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1097
		iLocalisableResourceFileName = localisableResourceFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1098
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1099
		delete localisableResourceFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1100
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1101
	highTime = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1102
	lowTime = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1103
	iLocalisableResourceFileTimeStamp = TTime(MAKE_TINT64(highTime, lowTime));	// Localisable file timestamp
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
	iApplicationLanguage = (TLanguage)aReadStream.ReadInt32L();	// Application Language
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1106
	iIndexOfFirstOpenService = aReadStream.ReadUint32L();		// Index of first open service
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1107
	iNonNativeApplicationType.iUid = aReadStream.ReadUint32L();
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
	HBufC8* opaqueData = HBufC8::NewL(aReadStream, KMaxFileName);	// Opaque Data
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1110
	if (*opaqueData != KNullDesC8)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1111
		iOpaqueData = opaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1112
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1113
		delete opaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1114
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1115
	iViewDataArray = new(ELeave) CArrayPtrFlat<CApaAppViewData>(1);	// ViewDataArray
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1116
	const TInt viewCount = aReadStream.ReadInt32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1117
	TInt i;	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1118
	for (i = 0; i < viewCount; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1119
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1120
		CApaAppViewData* pView = CApaAppViewData::NewLC();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1121
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1122
		pView->iCaption = HBufC::NewL(aReadStream, KMaxFileName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1123
		pView->iNumOfViewIcons = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1124
		pView->iNonMbmIconFile = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1125
		HBufC* iconFileName = HBufC::NewL(aReadStream, KMaxFileName);	// Icon Filename		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1126
		if (*iconFileName != KNullDesC)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1127
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1128
			pView->iIconFileName = iconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1129
			if (!pView->iNonMbmIconFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1130
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1131
				if (pView->iNumOfViewIcons > 0)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1132
					{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1133
					if (!iIconLoader)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1134
						{	// Create Icon Loader if it was not done for App or any of the previous views for the App.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1135
						iIconLoader = CApaIconLoader::NewL(iFs);
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
					// Creates an Application View Icon Array
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1138
					CApaAppIconArray* iconViewArray = CApaAppIconArray::NewViewIconsL(pView->iNumOfViewIcons, *pView->iIconFileName, *iIconLoader);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1139
					pView->SetIconArray(iconViewArray);
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
				}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1142
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1143
		else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1144
			delete iconFileName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1145
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1146
		pView->iScreenMode = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1147
		pView->iUid.iUid = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1148
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1149
		iViewDataArray->AppendL(pView);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1150
		CleanupStack::Pop(pView);
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
	iServiceArray = new(ELeave) CArrayFixFlat<TApaAppServiceInfo>(1);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1154
	const TInt serviceCount = aReadStream.ReadUint32L();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1155
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1156
	for (i = 0; i < serviceCount; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1157
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1158
		TApaAppServiceInfo serviceInfo ;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1159
		aReadStream >> serviceInfo;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1160
		iServiceArray->AppendL(serviceInfo);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1161
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1162
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1163
	iOwnedFileArray = new(ELeave) CDesCArraySeg(1);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1164
	const TInt fileCount = aReadStream.ReadUint32L();	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1165
	for (i = 0; i < fileCount; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1166
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1167
		TFileName ownedFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1168
		aReadStream >> ownedFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1169
		iOwnedFileArray->AppendL(ownedFile);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1170
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1171
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1172
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1173
TBool CApaAppData::ViewMbmIconsRequireLoading() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1174
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1175
	const TInt count = iViewDataArray->Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1176
	for (TInt i = 0; i < count; ++i)
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
		const CApaAppViewData* const viewData = iViewDataArray->At(i);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1179
		if ((!viewData->iNonMbmIconFile) && (!viewData->iIcons->AreViewIconsLoaded()))
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1180
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1181
			return ETrue;
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
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1184
	return EFalse;
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
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1187
TBool CApaAppData::MbmIconsRequireLoading() const
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1188
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1189
	if (!iNonMbmIconFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1190
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1191
		if (!iIcons->AreAppIconsLoaded())
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1192
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1193
			return ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1194
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1195
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1196
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1197
	if (ViewMbmIconsRequireLoading())
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1198
		{// if a view has mbm icons, and its not yet loaded we should load its icons.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1199
		return ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1200
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1201
	return EFalse; // icons were loaded already so no need to load them again.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1202
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1203
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1204
void CApaAppData::ExternalizeL(RWriteStream& aWriteStream) const
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
	aWriteStream.WriteUint32L(I64HIGH(iTimeStamp.Int64()));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1207
	aWriteStream.WriteUint32L(I64LOW(iTimeStamp.Int64()));
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
	if (iIconFileNameFromResourceFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1210
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1211
		aWriteStream.WriteUint32L(I64HIGH(iIconFileTimeStampFromResourceFile.Int64()));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1212
	    aWriteStream.WriteUint32L(I64LOW(iIconFileTimeStampFromResourceFile.Int64()));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1213
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1214
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1215
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1216
		aWriteStream.WriteUint32L(I64HIGH(iIconFileTimeStamp.Int64()));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1217
		aWriteStream.WriteUint32L(I64LOW(iIconFileTimeStamp.Int64()));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1218
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1219
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1220
	if (iCaptionFromResourceFile) // Caption present in the resource file would be externalized if the one in applist has dynamically changed
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1221
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1222
		aWriteStream << *iCaptionFromResourceFile;
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
	else
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
		aWriteStream << *iCaption;	// Caption
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1227
		}
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
	if (iShortCaptionFromResourceFile)	// Short caption present in the resource file would be externalized if the one in applist has dynamically changed
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1230
		aWriteStream << *iShortCaptionFromResourceFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1231
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1232
		aWriteStream << *iShortCaption;
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
	aWriteStream << *iFullName;	// FullName
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1235
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1236
	TInt i = 0;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1237
	for (i = 0; i < 3; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1238
		aWriteStream << iUidType[i];	// Uid Type
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1239
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1240
	aWriteStream << iCapabilityBuf;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1241
	aWriteStream << RegistrationFileName();	// Registration filename
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1242
	aWriteStream.WriteUint32L(iDefaultScreenNumber);	// Default screen number
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1243
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1244
	if (iIconFileNameFromResourceFile)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1245
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1246
		aWriteStream.WriteUint32L(iNumOfAppIconsFromResourceFile);	// number of icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1247
		aWriteStream.WriteUint32L(iNonMbmIconFileFromResourceFile);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1248
		aWriteStream << *iIconFileNameFromResourceFile;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1249
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1250
	else
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
		aWriteStream.WriteUint32L(iNumOfAppIcons);	// number of icons
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1253
		aWriteStream.WriteUint32L(iNonMbmIconFile);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1254
		aWriteStream << IconFileName();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1255
		}
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
	aWriteStream << LocalisableResourceFileName();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1258
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1259
	aWriteStream.WriteUint32L(I64HIGH(iLocalisableResourceFileTimeStamp.Int64()));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1260
	aWriteStream.WriteUint32L(I64LOW(iLocalisableResourceFileTimeStamp.Int64()));
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
	aWriteStream.WriteInt32L(iApplicationLanguage);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1263
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1264
	aWriteStream.WriteUint32L(iIndexOfFirstOpenService);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1265
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1266
	aWriteStream.WriteUint32L(iNonNativeApplicationType.iUid);
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
	aWriteStream << OpaqueData();
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
	TInt count = iViewDataArray->Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1271
	aWriteStream.WriteUint32L(count);
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
	for (i = 0; i < count; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1274
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1275
		const CApaAppViewData* const viewData = iViewDataArray->At(i);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1276
		aWriteStream << *(viewData->iCaption);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1277
		aWriteStream.WriteUint32L(viewData->iNumOfViewIcons);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1278
		aWriteStream.WriteUint32L(viewData->iNonMbmIconFile);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1279
		aWriteStream << viewData->IconFileName();		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1280
		aWriteStream.WriteUint32L(viewData->iScreenMode);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1281
		aWriteStream.WriteUint32L(viewData->iUid.iUid);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1282
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1283
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1284
	// TApaAppServiceInfo service array
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1285
	if (iServiceArray)
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
		count = iServiceArray->Count();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1288
		aWriteStream.WriteUint32L(count);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1289
		for (i = 0; i < count; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1290
			aWriteStream << iServiceArray->At(i);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1291
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1292
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1293
		aWriteStream.WriteUint32L(NULL);
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
	if (iOwnedFileArray)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1296
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1297
		count = iOwnedFileArray->MdcaCount();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1298
		aWriteStream.WriteUint32L(count);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1299
		for (i = 0; i < count; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1300
			aWriteStream << (*iOwnedFileArray)[i];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1301
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1302
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1303
		aWriteStream.WriteUint32L(0);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1304
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
  1305