installationservices/swcomponentregistry/source/client/appregentries.cpp
branchRCL_3
changeset 66 8b7f4e561641
parent 65 7333d7932ef7
child 70 e8965914fac7
--- a/installationservices/swcomponentregistry/source/client/appregentries.cpp	Tue Aug 31 15:21:33 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1231 +0,0 @@
-/*
-* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-* Implement entry classes for Software Components Registry interface.
-*
-*/
-
-#include <usif/scr/appregentries.h>
-#include <usif/scr/screntries.h>
-#include <scs/streamingarray.h>
-#include <scs/cleanuputils.h>
-
-using namespace Usif;
-///////////////////////
-//TApplicationCharacteristics
-///////////////////////
-EXPORT_C TApplicationCharacteristics::TApplicationCharacteristics()
-    {
-    iEmbeddability = ENotEmbeddable;
-    iSupportsNewFile = EFalse;
-    iAppIsHidden = EFalse;
-    iLaunchInBackground = EFalse;
-    iGroupName = KNullDesC;
-    iAttributes = 0;
-    }
-
-EXPORT_C void TApplicationCharacteristics::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteInt32L((TInt)iEmbeddability);
-    aStream.WriteInt32L(iSupportsNewFile);
-    aStream.WriteInt32L(iAppIsHidden);
-    aStream.WriteInt32L(iLaunchInBackground);
-    aStream.WriteInt32L(iGroupName.Length());
-    aStream.WriteL(iGroupName);
-    aStream.WriteUint32L(iAttributes);
-    }
-
-EXPORT_C void TApplicationCharacteristics::InternalizeL(RReadStream& aStream) 
-    {
-    iEmbeddability = (TAppEmbeddability)aStream.ReadInt32L();
-    iSupportsNewFile = aStream.ReadInt32L();
-    iAppIsHidden = aStream.ReadInt32L();
-    iLaunchInBackground = aStream.ReadInt32L();
-    TInt groupNameLength = aStream.ReadInt32L();
-    aStream.ReadL(iGroupName, groupNameLength);
-    iAttributes = aStream.ReadUint32L();
-    }
-
-///////////////////////
-//CEmbeddabilityFilter
-///////////////////////
-EXPORT_C TEmbeddableFilter::TEmbeddableFilter(): iEmbeddabilityFlags(0)
-    {
-    
-    }
-
-EXPORT_C TUint TEmbeddableFilter::EmbeddabilityFlags() const
-    {
-    return iEmbeddabilityFlags;
-    }
-
-void TEmbeddableFilter::SetEmbeddabilityFlags(TUint aEmbeddabilityFlags)
-    {
-    iEmbeddabilityFlags = aEmbeddabilityFlags;
-    }
-
-EXPORT_C void TEmbeddableFilter::AddEmbeddability(TApplicationCharacteristics::TAppEmbeddability aEmbeddability)
-    {
-    iEmbeddabilityFlags |= (1 << aEmbeddability);
-    }
-
-EXPORT_C TBool TEmbeddableFilter::MatchesEmbeddability(TApplicationCharacteristics::TAppEmbeddability aEmbeddability) const
-    {
-    TUint embeddabilityFlag = (1 << aEmbeddability);
-    return ((embeddabilityFlag & iEmbeddabilityFlags) == 0) ? EFalse : ETrue;
-    }
-
-//////////////////
-//CAppInfoFilter
-//////////////////
-
-CAppInfoFilter::CAppInfoFilter()
-        {
-        
-        }
-
-CAppInfoFilter::~CAppInfoFilter()
-        {
-        
-        }
-
-EXPORT_C CAppInfoFilter* CAppInfoFilter::NewLC()
-        {
-        CAppInfoFilter *self = new(ELeave) CAppInfoFilter();
-        CleanupStack::PushL(self);
-        self->ConstructL();
-        return self;
-        }
-
-
-EXPORT_C CAppInfoFilter* CAppInfoFilter::NewL()
-        {
-        CAppInfoFilter *self = CAppInfoFilter::NewLC();
-        CleanupStack::Pop(self);
-        return self;
-        }
-
-EXPORT_C CAppInfoFilter* CAppInfoFilter::NewL(RReadStream& aStream)
-        {   
-        CAppInfoFilter *self = CAppInfoFilter::NewLC();
-        self->InternalizeL(aStream);
-        CleanupStack::Pop(self);
-        return self;
-        }
-
-void CAppInfoFilter::ConstructL()
-        {
-        iSetFlag = EAllApps;
-        }
-
-EXPORT_C void CAppInfoFilter::ExternalizeL(RWriteStream& aStream) const
-        {
-        aStream.WriteUint16L(iSetFlag);
-        aStream.WriteInt32L(iScreenMode);
-        aStream.WriteUint32L(iEmbeddabilityFilter.EmbeddabilityFlags());
-        aStream.WriteUint32L(iCapabilityAttributeMask);
-        aStream.WriteUint32L(iCapabilityAttributeValue);          
-        aStream.WriteUint32L(iServiceUid.iUid);
-        aStream.WriteUint32L(iAppUid.iUid);
-        }
-
-void CAppInfoFilter::InternalizeL(RReadStream& aStream)
-    {
-    iSetFlag = aStream.ReadUint16L();
-    iScreenMode = aStream.ReadInt32L();  
-    iEmbeddabilityFilter.SetEmbeddabilityFlags(aStream.ReadUint32L());
-    iCapabilityAttributeMask  = aStream.ReadUint32L();
-    iCapabilityAttributeValue = aStream.ReadUint32L();
-    iServiceUid = TUid::Uid(aStream.ReadUint32L());
-    iAppUid = TUid::Uid(aStream.ReadUint32L());
-    }
-
-EXPORT_C void CAppInfoFilter::SetAllApps()
-        {
-        iSetFlag = EAllApps;
-        }
-
-EXPORT_C void CAppInfoFilter::SetAllApps(const TInt aScreenMode)
-        {
-        iScreenMode = aScreenMode;
-        iSetFlag = EAllAppsWithScreenMode;
-        }
-
-EXPORT_C void CAppInfoFilter::SetEmbeddableApps()
-        {
-        iSetFlag = EGetEmbeddableApps;
-        }
-
-EXPORT_C void CAppInfoFilter::SetEmbeddableApps(const TInt aScreenMode)   
-        {
-        iScreenMode = aScreenMode;
-        iSetFlag = EGetEmbeddableAppsWithSreenMode;
-        }
-
-EXPORT_C void CAppInfoFilter::SetEmbeddabilityFilter(TEmbeddableFilter& aEmbeddabilityFilter)
-        {
-        iEmbeddabilityFilter = aEmbeddabilityFilter;
-        iSetFlag = EGetFilteredAppsWithEmbeddabilityFilter;        
-        }
-
-EXPORT_C void CAppInfoFilter::SetEmbeddabilityFilterWithScreenMode(TEmbeddableFilter& aEmbeddabilityFilter, const TInt aScreenMode)
-        {
-        iEmbeddabilityFilter = aEmbeddabilityFilter;
-        iScreenMode = aScreenMode;
-        iSetFlag = EGetFilteredAppsWithEmbeddabilityFilterWithScreenMode;           
-        }
-EXPORT_C void CAppInfoFilter::SetServerApps(const TUid aServiceUid)
-        {
-        iServiceUid = aServiceUid;
-        iSetFlag = EGetServerApps;
-        }
-EXPORT_C void CAppInfoFilter::SetServerApps(const TUid aServiceUid,const TInt aScreenMode)
-        {
-        iServiceUid = aServiceUid;
-        iScreenMode = aScreenMode;
-        iSetFlag = EGetServerAppsWithScreenMode;
-        }
-
-EXPORT_C void CAppInfoFilter::SetCapabilityAttributeMaskAndValue(const TInt aCapabilityAttributeMask, const TInt aCapabilityAttributeValue)
-        {
-        iCapabilityAttributeMask = aCapabilityAttributeMask;
-        iCapabilityAttributeValue =  aCapabilityAttributeValue;
-        iSetFlag =  EGetFilteredAppsWithCapabilityMaskAndValue;
-        }
-
-EXPORT_C void CAppInfoFilter::SetCapabilityAttributeMaskAndValue(const TInt aCapabilityAttributeMask, const TInt aCapabilityAttributeValue, const TInt aScreenMode)
-        {
-        iCapabilityAttributeMask = aCapabilityAttributeMask;
-        iCapabilityAttributeValue =  aCapabilityAttributeValue;
-        iScreenMode = aScreenMode;
-        iSetFlag = EGetFilteredAppsWithCapabilityMaskAndValueWithScreenMode;
-        }
-
-////////////////////////
-//CAppServiceInfoFilter
-////////////////////////
-
-CAppServiceInfoFilter::CAppServiceInfoFilter()
-    {
-        
-    }
-
-CAppServiceInfoFilter::~CAppServiceInfoFilter()
-    {
-    delete iDataType;
-    }
-
-EXPORT_C CAppServiceInfoFilter* CAppServiceInfoFilter::NewLC()
-    {
-    CAppServiceInfoFilter *self = new(ELeave) CAppServiceInfoFilter();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-
-EXPORT_C CAppServiceInfoFilter* CAppServiceInfoFilter::NewL()
-    {
-    CAppServiceInfoFilter *self = CAppServiceInfoFilter::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C CAppServiceInfoFilter* CAppServiceInfoFilter::NewL(RReadStream& aStream)
-    {   
-    CAppServiceInfoFilter *self = CAppServiceInfoFilter::NewLC();
-    self->InternalizeL(aStream);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CAppServiceInfoFilter::ConstructL()
-    {
-    DeleteObjectZ(iDataType);
-    iDataType = KNullDesC().AllocL();
-    
-    }
-
-EXPORT_C void CAppServiceInfoFilter::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteUint16L(iSetFlag);
-    aStream.WriteUint32L(iAppUid.iUid);
-    aStream.WriteUint32L(iServiceUid.iUid);
-    aStream << *iDataType;
-    }
-
-void CAppServiceInfoFilter::InternalizeL(RReadStream& aStream)
-    {
-    iSetFlag = aStream.ReadUint16L();
-    iAppUid = TUid::Uid(aStream.ReadUint32L());
-    iServiceUid = TUid::Uid(aStream.ReadUint32L());
-    DeleteObjectZ(iDataType);
-    iDataType = HBufC::NewL(aStream, KMaxTInt);
-
-    }
-
-
-EXPORT_C void CAppServiceInfoFilter::SetAppUidForServiceInfo (const TUid aAppUid)
-    {
-    iAppUid = aAppUid;
-    iSetFlag = EGetServiceInfoForApp;
-    }
-
-EXPORT_C void CAppServiceInfoFilter::SetServiceUidForServiceImplementations (const TUid aServiceUid)
-    {
-    iServiceUid = aServiceUid;
-    iSetFlag = EGetServiceImplementationForServiceUid;
-    }
-
-EXPORT_C void CAppServiceInfoFilter::SetServiceUidAndDatatTypeForServiceImplementationsL (const TUid aServiceUid, const TDesC& aDataType)
-    {
-    iServiceUid = aServiceUid;
-    DeleteObjectZ(iDataType);
-    iDataType = aDataType.AllocL();
-    iSetFlag = EGetServiceImplementationForServiceUidAndDatatType;
-    }
-
-EXPORT_C void CAppServiceInfoFilter::SetAppUidAndServiceUidForOpaqueData (const TUid aAppUid, const TUid aServiceUid)
-    {
-    iAppUid = aAppUid;
-    iServiceUid = aServiceUid;
-    iSetFlag = EGetOpaqueDataForAppWithServiceUid;
-    }
-
-///////////////////////
-// COpaqueData
-///////////////////////
-
-COpaqueData::COpaqueData()
-    {
-    // empty
-    }
-
-COpaqueData::~COpaqueData()
-    {
-    delete iOpaqueData;
-    }
-
-EXPORT_C COpaqueData* COpaqueData::NewL()
-    {
-    COpaqueData *self = COpaqueData::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C COpaqueData* COpaqueData::NewLC()
-    {
-    COpaqueData *self = new(ELeave) COpaqueData();
-    CleanupStack::PushL(self);
-    self->ConstructL(KNullDesC8(), TLanguage(0));
-    return self;
-    }
-
-EXPORT_C COpaqueData* COpaqueData::NewL(TDesC8& aOpaqueData, TLanguage aLanguage)
-    {
-    COpaqueData *self = COpaqueData::NewLC(aOpaqueData, aLanguage);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C COpaqueData* COpaqueData::NewLC(TDesC8& aOpaqueData, TLanguage aLanguage)
-    {
-    COpaqueData *self = new(ELeave) COpaqueData();
-    CleanupStack::PushL(self);
-    self->ConstructL(aOpaqueData, aLanguage);
-    return self;
-    }
-
-EXPORT_C COpaqueData* COpaqueData::NewL(RReadStream& aStream)
-    {
-    COpaqueData *self = COpaqueData::NewLC();
-    self->InternalizeL(aStream);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void COpaqueData::ConstructL(const TDesC8& aOpaqueData, TLanguage aLanguage)
-    {  
-	//if the length of opaque data is more than 4k, we will truncate it to 4k.
-    const TInt KMaxOpaqueDataLength = 4096;    
-    if (aOpaqueData.Length() > KMaxOpaqueDataLength)
-        {
-        iOpaqueData = HBufC8::NewL(KMaxOpaqueDataLength);
-        iOpaqueData->Des().Copy(aOpaqueData.Ptr(),KMaxOpaqueDataLength);
-        }
-    else
-        {
-        iOpaqueData = aOpaqueData.AllocL();
-        }
-    iLanguage = aLanguage;
-    }
-
-EXPORT_C HBufC8& COpaqueData::OpaqueData()
-    {
-    return *iOpaqueData;
-    }
-
-EXPORT_C TLanguage COpaqueData::Language()
-    {
-    return iLanguage;
-    }
-
-
-EXPORT_C void COpaqueData::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteInt32L(iOpaqueData->Length());
-    aStream << *iOpaqueData;
-    aStream.WriteUint16L(iLanguage);
-    }
-
-EXPORT_C void COpaqueData::InternalizeL(RReadStream& aStream)
-    {
-    DeleteObjectZ(iOpaqueData);
-    
-    TInt32 opaqueDataLength = aStream.ReadInt32L();
-    iOpaqueData = HBufC8::NewL(aStream, opaqueDataLength);
-    iLanguage = (TLanguage) aStream.ReadUint16L();
-    }
-
-///////////////////////
-// CApplicationRegistrationData
-///////////////////////
-
-CApplicationRegistrationData::CApplicationRegistrationData()
-	{
-	// empty
-	}
-
-CApplicationRegistrationData::~CApplicationRegistrationData()
-	{
-	iOwnedFileArray.ResetAndDestroy();
-    iServiceArray.ResetAndDestroy();
-    iLocalizableAppInfoList.ResetAndDestroy();
-    iAppPropertiesArray.ResetAndDestroy();
-    iOpaqueDataArray.ResetAndDestroy();
-	delete iAppFile;									
-	}
-
-EXPORT_C CApplicationRegistrationData* CApplicationRegistrationData::NewL()
-	{
-	CApplicationRegistrationData *self = CApplicationRegistrationData::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CApplicationRegistrationData* CApplicationRegistrationData::NewLC()
-	{
-	CApplicationRegistrationData *self = new(ELeave) CApplicationRegistrationData();
-	CleanupStack::PushL(self);
-	self->ConstructL(KNullDesC());
-	return self;
-	}
-
-EXPORT_C CApplicationRegistrationData* CApplicationRegistrationData::NewL(RReadStream& aStream)
-	{
-	CApplicationRegistrationData *self = CApplicationRegistrationData::NewLC();
-	self->InternalizeL(aStream);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CApplicationRegistrationData* CApplicationRegistrationData::NewL(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<CServiceInfo>& aServiceArray, RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList,
-                                              RPointerArray<CPropertyEntry>& aAppPropertiesArray, TUid aAppUid, 
-                                              const TDesC& aAppFile)
-    {
-    CApplicationRegistrationData *self = CApplicationRegistrationData::NewLC(aOwnedFileArray, aServiceArray, aLocalizableAppInfoList,
-                                              aAppPropertiesArray, aAppUid, aAppFile);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C CApplicationRegistrationData* CApplicationRegistrationData::NewLC(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<CServiceInfo>& aServiceArray, RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList,
-                                               RPointerArray<CPropertyEntry>& aAppPropertiesArray, TUid aAppUid, 
-                                               const TDesC& aAppFile)
-    {
-    CApplicationRegistrationData *self = new(ELeave) CApplicationRegistrationData();
-    CleanupStack::PushL(self);
-    self->ConstructL(aOwnedFileArray, aServiceArray, aLocalizableAppInfoList,
-                     aAppPropertiesArray, aAppUid, aAppFile);
-    return self;
-    }
-
-EXPORT_C CApplicationRegistrationData* CApplicationRegistrationData::NewL(
-        RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<
-                Usif::CServiceInfo>& aServiceArray, RPointerArray<
-                Usif::CLocalizableAppInfo>& aLocalizableAppInfoList,
-        RPointerArray<Usif::CPropertyEntry>& aAppPropertiesArray,
-        RPointerArray<Usif::COpaqueData>& aOpaqueDataArray, TUid aAppUid,
-        const TDesC& aAppFile, TApplicationCharacteristics& aCharacteristics,
-        TInt aDefaultScreenNumber, TInt aTypeId)
-    {
-    CApplicationRegistrationData *self = CApplicationRegistrationData::NewLC(
-            aOwnedFileArray, aServiceArray, aLocalizableAppInfoList,
-            aAppPropertiesArray, aOpaqueDataArray, aAppUid, aAppFile,
-            aCharacteristics, aDefaultScreenNumber, aTypeId);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CApplicationRegistrationData* CApplicationRegistrationData::NewLC(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<Usif::CServiceInfo> &aServiceArray, RPointerArray<Usif::CLocalizableAppInfo>& aLocalizableAppInfoList,
-                                               RPointerArray<Usif::CPropertyEntry>& aAppPropertiesArray, 
-                                               RPointerArray<Usif::COpaqueData>& aOpaqueDataArray, TUid aAppUid, 
-                                               const TDesC& aAppFile, TApplicationCharacteristics& aCharacteristics,
-                                               TInt aDefaultScreenNumber, TInt aTypeId)
-	{
-	CApplicationRegistrationData *self = new(ELeave) CApplicationRegistrationData();
-	CleanupStack::PushL(self);
-	self->ConstructL(aOwnedFileArray, aServiceArray, aLocalizableAppInfoList,
-                     aAppPropertiesArray, aOpaqueDataArray, aAppUid, aAppFile, aCharacteristics,
-                     aDefaultScreenNumber, aTypeId);
-	return self;
-	}
-	
-void CApplicationRegistrationData::ConstructL(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<Usif::CServiceInfo> &aServiceArray, RPointerArray<Usif::CLocalizableAppInfo>& aLocalizableAppInfoList,
-                                               RPointerArray<Usif::CPropertyEntry>& aAppPropertiesArray, 
-                                               RPointerArray<Usif::COpaqueData>& aOpaqueDataArray, TUid aAppUid, 
-                                               const TDesC& aAppFile, TApplicationCharacteristics& aCharacteristics, 
-                                               TInt aDefaultScreenNumber, TInt aTypeId)
-	{
-	iOwnedFileArray = aOwnedFileArray;
-    iServiceArray = aServiceArray;
-    iLocalizableAppInfoList = aLocalizableAppInfoList;
-    iAppPropertiesArray = aAppPropertiesArray;
-    iOpaqueDataArray = aOpaqueDataArray;
-	iAppUid = aAppUid;
-	DeleteObjectZ(iAppFile);
-	iAppFile = aAppFile.AllocL();
-	iTypeId = aTypeId;
-	iCharacteristics.iAttributes = aCharacteristics.iAttributes;
-	iCharacteristics.iAppIsHidden = aCharacteristics.iAppIsHidden;
-	iCharacteristics.iEmbeddability = aCharacteristics.iEmbeddability;
-	iCharacteristics.iSupportsNewFile = aCharacteristics.iSupportsNewFile;
-	iCharacteristics.iLaunchInBackground = aCharacteristics.iLaunchInBackground;
-	iCharacteristics.iGroupName = aCharacteristics.iGroupName;
-	iDefaultScreenNumber = aDefaultScreenNumber;							
-	}
-
-void CApplicationRegistrationData::ConstructL(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<Usif::CServiceInfo> &aServiceArray, RPointerArray<Usif::CLocalizableAppInfo>& aLocalizableAppInfoList,
-                                               RPointerArray<Usif::CPropertyEntry>& aAppPropertiesArray, TUid aAppUid, 
-                                               const TDesC& aAppFile)
-    {
-    iOwnedFileArray = aOwnedFileArray;
-    iServiceArray = aServiceArray;
-    iLocalizableAppInfoList = aLocalizableAppInfoList;
-    iAppPropertiesArray = aAppPropertiesArray;
-    iAppUid = aAppUid;
-    DeleteObjectZ(iAppFile);
-    iAppFile = aAppFile.AllocL();  
-    }
-
-void CApplicationRegistrationData::ConstructL(const TDesC& aAppFile)
-    {
-    DeleteObjectZ(iAppFile);
-    iAppFile = aAppFile.AllocL(); 
-    }
-
-EXPORT_C void CApplicationRegistrationData::ExternalizeL(RWriteStream& aStream) const
-	{
-	ExternalizePointersArrayL(iOwnedFileArray, aStream);
-	ExternalizePointersArrayL(iServiceArray, aStream);
-	ExternalizePointersArrayL(iLocalizableAppInfoList, aStream);
-	ExternalizePointersArrayL(iAppPropertiesArray, aStream);
-	ExternalizePointersArrayL(iOpaqueDataArray, aStream);
-	aStream << iAppUid;
-	aStream << *iAppFile;
-	aStream.WriteInt32L(iTypeId);
-	aStream << iCharacteristics;
-	aStream.WriteInt32L(iDefaultScreenNumber);
-	}
-	
-EXPORT_C void CApplicationRegistrationData::InternalizeL(RReadStream& aStream)
-	{
-	iOwnedFileArray.ResetAndDestroy();
-	InternalizePointersArrayL(iOwnedFileArray, aStream);
-	iServiceArray.ResetAndDestroy();
-	InternalizePointersArrayL(iServiceArray, aStream);
-	iLocalizableAppInfoList.ResetAndDestroy();
-	InternalizePointersArrayL(iLocalizableAppInfoList, aStream);
-	iAppPropertiesArray.ResetAndDestroy();
-	InternalizePointersArrayL(iAppPropertiesArray, aStream);
-	iOpaqueDataArray.ResetAndDestroy();
-	InternalizePointersArrayL(iOpaqueDataArray, aStream);
-
-	aStream >> iAppUid;
-
-	DeleteObjectZ(iAppFile);
-	iAppFile = HBufC::NewL(aStream, KMaxTInt);
-
-	iTypeId = aStream.ReadInt32L();
-	aStream >> iCharacteristics;
-	iDefaultScreenNumber = aStream.ReadInt32L();
-	}
-
-EXPORT_C const TUid CApplicationRegistrationData::AppUid() const
-	{
-	return iAppUid;
-	}
-
-EXPORT_C const TDesC& CApplicationRegistrationData::AppFile() const
-	{
-	return *iAppFile;
-	}
-
-EXPORT_C TInt CApplicationRegistrationData::TypeId() const
-    {
-    return iTypeId;
-    }
-
-EXPORT_C TUint CApplicationRegistrationData::Attributes() const
-	{
-	return iCharacteristics.iAttributes;
-	}
-
-EXPORT_C TBool CApplicationRegistrationData::Hidden() const
-	{
-	return iCharacteristics.iAppIsHidden;
-	}
-
-EXPORT_C TApplicationCharacteristics::TAppEmbeddability CApplicationRegistrationData::Embeddability() const
-	{
-	return iCharacteristics.iEmbeddability;
-	}
-
-EXPORT_C TBool CApplicationRegistrationData::NewFile() const
-	{
-	return iCharacteristics.iSupportsNewFile;
-	}
-
-EXPORT_C TBool CApplicationRegistrationData::Launch() const
-	{
-	return iCharacteristics.iLaunchInBackground;
-	}
-
-EXPORT_C const TDesC& CApplicationRegistrationData::GroupName() const
-	{
-	return iCharacteristics.iGroupName;
-	}
-
-EXPORT_C TInt CApplicationRegistrationData::DefaultScreenNumber() const
-	{
-	return iDefaultScreenNumber;
-	}
-
-EXPORT_C const RPointerArray<HBufC>& CApplicationRegistrationData::OwnedFileArray() const
-	{
-	return iOwnedFileArray;
-	}
-
-EXPORT_C const RPointerArray<CServiceInfo>& CApplicationRegistrationData::ServiceArray() const
-	{
-	return iServiceArray;
-	}
-
-EXPORT_C const RPointerArray<CLocalizableAppInfo>& CApplicationRegistrationData::LocalizableAppInfoList() const
-	{
-	return iLocalizableAppInfoList;
-	}
-
-EXPORT_C const RPointerArray<CPropertyEntry>& CApplicationRegistrationData::AppProperties() const
-	{
-	return iAppPropertiesArray;
-	}
-
-EXPORT_C const RPointerArray<COpaqueData>& CApplicationRegistrationData::AppOpaqueData() const
-    {
-    return iOpaqueDataArray;
-    }
-
-///////////////////////
-// CDataType
-///////////////////////
-
-CDataType::CDataType()
-	{
-	// empty
-	}
-
-CDataType::~CDataType()
-	{
-    delete iType;
-	}
-
-EXPORT_C CDataType* CDataType::NewL()
-	{
-	CDataType *self = CDataType::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CDataType* CDataType::NewLC()
-	{
-	CDataType *self = new(ELeave) CDataType();
-	CleanupStack::PushL(self);
-	self->ConstructL(0, KNullDesC());
-	return self;
-	}
-
-EXPORT_C CDataType* CDataType::NewL(RReadStream& aStream)
-	{
-	CDataType *self = CDataType::NewLC();
-	self->InternalizeL(aStream);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CDataType* CDataType::NewL(TInt aPriority, const TDesC& aType)
-	{
-	CDataType *self = CDataType::NewLC(aPriority, aType);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CDataType* CDataType::NewLC(TInt aPriority, const TDesC& aType)
-	{
-	CDataType *self = new(ELeave) CDataType();
-	CleanupStack::PushL(self);
-	self->ConstructL(aPriority, aType);
-	return self;
-	}
-
-void CDataType::ConstructL(TInt aPriority, const TDesC& aType)
-	{
-	iPriority = aPriority;
-	DeleteObjectZ(iType);
-    iType = aType.AllocL();
-    }
-
-EXPORT_C void CDataType::ExternalizeL(RWriteStream& aStream) const
-	{
-	aStream.WriteInt32L(iPriority);
-	aStream << *iType;
-	}
-			
-EXPORT_C void CDataType::InternalizeL(RReadStream& aStream)
-	{
-	iPriority = aStream.ReadInt32L();
-	DeleteObjectZ(iType);
-	iType = HBufC::NewL(aStream, KMaxTInt);
-	}
-
-EXPORT_C TInt CDataType::Priority() const
-	{
-	return iPriority;
-	}
-
-EXPORT_C const TDesC& CDataType::Type() const
-	{
-	return *iType;
-	}
-
-///////////////////////
-// CServiceInfo
-///////////////////////
-
-CServiceInfo::CServiceInfo()
-	{
-	// empty
-	}
-
-CServiceInfo::~CServiceInfo()
-	{
-	iDataTypes.ResetAndDestroy();
-	iOpaqueDataArray.ResetAndDestroy();
-   }
-
-EXPORT_C CServiceInfo* CServiceInfo::NewL()
-	{
-	CServiceInfo *self = CServiceInfo::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CServiceInfo* CServiceInfo::NewLC()
-	{
-	CServiceInfo *self = new(ELeave) CServiceInfo();
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-EXPORT_C CServiceInfo* CServiceInfo::NewL(RReadStream& aStream)
-	{
-	CServiceInfo *self = CServiceInfo::NewLC();
-	self->InternalizeL(aStream);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CServiceInfo* CServiceInfo::NewL(const TUid aUid, RPointerArray<COpaqueData>& aOpaqueDataArray, RPointerArray<CDataType>& aDataTypes)
-	{
-	CServiceInfo *self = CServiceInfo::NewLC(aUid, aOpaqueDataArray, aDataTypes);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CServiceInfo* CServiceInfo::NewLC(const TUid aUid, RPointerArray<COpaqueData>& aOpaqueDataArray, RPointerArray<CDataType>& aDataTypes)
-	{
-	CServiceInfo *self = new(ELeave) CServiceInfo();
-	CleanupStack::PushL(self);
-	self->ConstructL(aUid, aOpaqueDataArray, aDataTypes);
-	return self;
-	}
-	
-void CServiceInfo::ConstructL(const TUid aUid, RPointerArray<COpaqueData>& aOpaqueDataArray, RPointerArray<CDataType>& aDataTypes)
-	{
-	iUid = aUid;
-	iOpaqueDataArray = aOpaqueDataArray;
-    iDataTypes = aDataTypes;
-    }
-
-EXPORT_C void CServiceInfo::ExternalizeL(RWriteStream& aStream) const
-	{
-	aStream << iUid;
-	ExternalizePointersArrayL(iOpaqueDataArray, aStream);
-	ExternalizePointersArrayL(iDataTypes, aStream);
-	}
-		
-EXPORT_C void CServiceInfo::InternalizeL(RReadStream& aStream)
-	{
-	aStream >> iUid;
-	iOpaqueDataArray.Reset();
-	InternalizePointersArrayL(iOpaqueDataArray, aStream);
-	InternalizePointersArrayL(iDataTypes, aStream);
-	}
-
-EXPORT_C const TUid CServiceInfo::Uid() const
-	{
-	return iUid;
-	}
-
-EXPORT_C const RPointerArray<CDataType>& CServiceInfo::DataTypes() const
-	{
-	return iDataTypes;
-	}
-
-EXPORT_C const RPointerArray<COpaqueData>& CServiceInfo::OpaqueData() const
-    {
-    return iOpaqueDataArray;
-    }
-
-///////////////////////
-// CLocalizableAppInfo
-///////////////////////
-
-CLocalizableAppInfo::CLocalizableAppInfo()
-	{
-	// empty
-	}
-
-CLocalizableAppInfo::~CLocalizableAppInfo()
-	{
-	delete iShortCaption;
-    delete iGroupName;
-	delete iCaptionAndIconInfo;
-	iViewDataList.ResetAndDestroy();
-	}
-
-EXPORT_C CLocalizableAppInfo* CLocalizableAppInfo::NewL()
-	{
-	CLocalizableAppInfo *self = CLocalizableAppInfo::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CLocalizableAppInfo* CLocalizableAppInfo::NewLC()
-	{
-	CLocalizableAppInfo *self = new(ELeave) CLocalizableAppInfo();
-	CleanupStack::PushL(self);
-	self->ConstructL(KNullDesC(), KNullDesC());
-	return self;
-	}
-
-EXPORT_C CLocalizableAppInfo* CLocalizableAppInfo::NewL(RReadStream& aStream)
-	{
-	CLocalizableAppInfo *self = CLocalizableAppInfo::NewLC();
-	self->InternalizeL(aStream);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CLocalizableAppInfo* CLocalizableAppInfo::NewL(const TDesC& aShortCaption, TLanguage aApplicationLanguage, const TDesC& aGroupName, CCaptionAndIconInfo* aCaptionAndIconInfo, RPointerArray<CAppViewData>& aViewDataList)
-	{
-	CLocalizableAppInfo *self = CLocalizableAppInfo::NewLC(aShortCaption, aApplicationLanguage, aGroupName, aCaptionAndIconInfo, aViewDataList);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CLocalizableAppInfo* CLocalizableAppInfo::NewLC(const TDesC& aShortCaption, TLanguage aApplicationLanguage, const TDesC& aGroupName, CCaptionAndIconInfo* aCaptionAndIconInfo, RPointerArray<CAppViewData>& aViewDataList)
-	{
-	CLocalizableAppInfo *self = new(ELeave) CLocalizableAppInfo();
-	CleanupStack::PushL(self);
-	self->ConstructL(aShortCaption, aApplicationLanguage, aGroupName, aCaptionAndIconInfo, aViewDataList);
-	return self;
-	}
-	
-void CLocalizableAppInfo::ConstructL(const TDesC& aShortCaption, TLanguage aApplicationLanguage, const TDesC& aGroupName, CCaptionAndIconInfo* aCaptionAndIconInfo, RPointerArray<Usif::CAppViewData> aViewDataList)
-	{
-	DeleteObjectZ(iShortCaption);
-	iShortCaption = aShortCaption.AllocL();
-	iApplicationLanguage = aApplicationLanguage;
-	DeleteObjectZ(iGroupName);
-	iGroupName = aGroupName.AllocL();
-	iCaptionAndIconInfo = aCaptionAndIconInfo;
-	iViewDataList = aViewDataList;	
-    }
-
-void CLocalizableAppInfo::ConstructL(const TDesC& aShortCaption, const TDesC& aGroupName)
-    {
-    DeleteObjectZ(iShortCaption);
-    iShortCaption = aShortCaption.AllocL();
-    DeleteObjectZ(iGroupName);
-    iGroupName = aGroupName.AllocL();
-    }
-
-
-EXPORT_C void CLocalizableAppInfo::ExternalizeL(RWriteStream& aStream) const
-	{	
-	 aStream << *iShortCaption;
-	 aStream << TCardinality(iApplicationLanguage);
-     aStream << *iGroupName;
-	if(NULL != iCaptionAndIconInfo)
-	    {	    
-	    aStream.WriteInt8L(ETrue);
-	    aStream << *iCaptionAndIconInfo;
-	    }
-	else
-	    {	    
-	    aStream.WriteInt8L(EFalse);    
-	    }
-	ExternalizePointersArrayL(iViewDataList, aStream);
-	}
-	
-EXPORT_C void CLocalizableAppInfo::InternalizeL(RReadStream& aStream) 
-	{
-	DeleteObjectZ(iShortCaption);
-	iShortCaption = HBufC::NewL(aStream, KMaxTInt);
-	TCardinality c;
-	aStream >> c;
-	iApplicationLanguage = static_cast<TLanguage>(static_cast<TInt>(c));
-	DeleteObjectZ(iGroupName);
-	iGroupName = HBufC::NewL(aStream, KMaxTInt);
-	DeleteObjectZ(iCaptionAndIconInfo);
-	TBool isCaptionAndIconInfo= aStream.ReadInt8L();
-	if(isCaptionAndIconInfo)
-	    {
-	    iCaptionAndIconInfo = CCaptionAndIconInfo::NewL(aStream);
-	    }
-	InternalizePointersArrayL(iViewDataList, aStream);
-	}
-
-EXPORT_C const TDesC& CLocalizableAppInfo::ShortCaption() const
-	{
-	return *iShortCaption;
-	}
-
-EXPORT_C TLanguage CLocalizableAppInfo::ApplicationLanguage() const
-	{
-	return iApplicationLanguage;
-	}
-
-EXPORT_C const TDesC& CLocalizableAppInfo::GroupName() const
-	{
-	return *iGroupName;
-	}
-
-EXPORT_C const RPointerArray<CAppViewData>& CLocalizableAppInfo::ViewDataList() const
-	{
-	return iViewDataList;
-	}
-
-EXPORT_C const CCaptionAndIconInfo* CLocalizableAppInfo::CaptionAndIconInfo() const
-	{
-	return iCaptionAndIconInfo;
-	}
-
-///////////////////////
-// CCaptionAndIconInfo
-///////////////////////
-
-CCaptionAndIconInfo::CCaptionAndIconInfo()
-	{
-	// empty
-	}
-
-CCaptionAndIconInfo::~CCaptionAndIconInfo()
-	{
-	delete iCaption;
-	delete iIconFileName;
-	}
-
-EXPORT_C CCaptionAndIconInfo* CCaptionAndIconInfo::NewL()
-	{
-	CCaptionAndIconInfo *self = CCaptionAndIconInfo::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CCaptionAndIconInfo* CCaptionAndIconInfo::NewLC()
-	{
-	CCaptionAndIconInfo *self = new(ELeave) CCaptionAndIconInfo();
-	CleanupStack::PushL(self);
-	self->ConstructL(KNullDesC(), KNullDesC(), 0);
-	return self;
-	}
-
-EXPORT_C CCaptionAndIconInfo* CCaptionAndIconInfo::NewL(RReadStream& aStream)
-	{
-	CCaptionAndIconInfo *self = CCaptionAndIconInfo::NewLC();
-	self->InternalizeL(aStream);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CCaptionAndIconInfo* CCaptionAndIconInfo::NewL(const TDesC& aCaption, const TDesC& aIconFileName, TInt aNumOfAppIcons)
-	{
-	CCaptionAndIconInfo *self = CCaptionAndIconInfo::NewLC(aCaption, aIconFileName, aNumOfAppIcons);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CCaptionAndIconInfo* CCaptionAndIconInfo::NewLC(const TDesC& aCaption, const TDesC& aIconFileName, TInt aNumOfAppIcons)
-	{
-	CCaptionAndIconInfo *self = new(ELeave) CCaptionAndIconInfo();
-	CleanupStack::PushL(self);
-	self->ConstructL(aCaption, aIconFileName, aNumOfAppIcons);
-	return self;
-	}
-	
-void CCaptionAndIconInfo::ConstructL(const TDesC& aCaption, const TDesC& aIconFileName, TInt aNumOfAppIcons)
-	{
-	DeleteObjectZ(iCaption);
-	iCaption = aCaption.AllocL();
-	DeleteObjectZ(iIconFileName);
-    iIconFileName = aIconFileName.AllocL();
-	iNumOfAppIcons = aNumOfAppIcons;
-	}
-
-EXPORT_C void CCaptionAndIconInfo::ExternalizeL(RWriteStream& aStream) const
-	{
-     aStream << *iCaption;
-     aStream << *iIconFileName;
-	 aStream.WriteInt32L(iNumOfAppIcons);
-	}
-		
-EXPORT_C void CCaptionAndIconInfo::InternalizeL(RReadStream& aStream)
-	{
-	DeleteObjectZ(iCaption);
-	iCaption = HBufC::NewL(aStream, KMaxTInt);
-	DeleteObjectZ(iIconFileName);
-	iIconFileName = HBufC::NewL(aStream, KMaxTInt);
-	iNumOfAppIcons = aStream.ReadInt32L();
-	}
-
-EXPORT_C const TDesC& CCaptionAndIconInfo::Caption() const
-	{
-	return *iCaption;
-	}
-
-EXPORT_C const TDesC& CCaptionAndIconInfo::IconFileName() const
-	{
-	return *iIconFileName;
-	}
-
-EXPORT_C TInt CCaptionAndIconInfo::NumOfAppIcons() const
-	{
-	return iNumOfAppIcons;
-	}
-
-///////////////////////
-// CAppViewData
-///////////////////////
-
-CAppViewData::CAppViewData()
-	{
-	// empty
-	}
-
-CAppViewData::~CAppViewData()
-	{
-	delete iCaptionAndIconInfo;
-	}
-
-EXPORT_C CAppViewData* CAppViewData::NewL()
-	{
-	CAppViewData *self = CAppViewData::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CAppViewData* CAppViewData::NewLC()
-	{
-	CAppViewData *self = new(ELeave) CAppViewData();
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-EXPORT_C CAppViewData* CAppViewData::NewL(RReadStream& aStream)
-	{
-	CAppViewData *self = CAppViewData::NewLC();
-	self->InternalizeL(aStream);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CAppViewData* CAppViewData::NewL(TUid aUid, TInt aScreenMode, CCaptionAndIconInfo* aCaptionAndIconInfo)
-	{
-	CAppViewData *self = CAppViewData::NewLC(aUid, aScreenMode, aCaptionAndIconInfo);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CAppViewData* CAppViewData::NewLC(TUid aUid, TInt aScreenMode, CCaptionAndIconInfo* aCaptionAndIconInfo)
-	{
-	CAppViewData *self = new(ELeave) CAppViewData();
-	CleanupStack::PushL(self);
-	self->ConstructL(aUid, aScreenMode, aCaptionAndIconInfo);
-	return self;
-	}
-	
-void CAppViewData::ConstructL(TUid aUid, TInt aScreenMode, CCaptionAndIconInfo* aCaptionAndIconInfo)
-	{
-	iUid = aUid;
-    iScreenMode = aScreenMode;
-	iCaptionAndIconInfo = aCaptionAndIconInfo;
-	}
-
-EXPORT_C void CAppViewData::ExternalizeL(RWriteStream& aStream) const
-	{
-	aStream << iUid;
-	aStream.WriteInt32L(iScreenMode);
-	if(NULL != iCaptionAndIconInfo)
-	   {       
-	   aStream.WriteInt8L(ETrue);
-	   aStream << *iCaptionAndIconInfo;
-	   }
-	else
-	   {       
-	   aStream.WriteInt8L(EFalse);    
-	   }
-	}
-			
-EXPORT_C void CAppViewData::InternalizeL(RReadStream& aStream)
-	{
-	aStream >> iUid;
-	iScreenMode = aStream.ReadInt32L();
-	DeleteObjectZ(iCaptionAndIconInfo);
-	TBool isCaptionAndIconInfo= aStream.ReadInt8L();
-	if(isCaptionAndIconInfo)
-	  {
-	  iCaptionAndIconInfo = CCaptionAndIconInfo::NewL(aStream);
-	  }
-	}
-
-EXPORT_C const TUid CAppViewData::Uid() const
-	{
-	return iUid;
-	}
-
-EXPORT_C TInt CAppViewData::ScreenMode() const
-	{
-	return iScreenMode;
-	}
-
-EXPORT_C const CCaptionAndIconInfo* CAppViewData::CaptionAndIconInfo() const
-	{
-	return iCaptionAndIconInfo;
-	}
-
-
-///////////////////////
-// CLauncherExecutable
-///////////////////////
-
-CLauncherExecutable::CLauncherExecutable()
-    {
-    }
-
-CLauncherExecutable::~CLauncherExecutable()
-    {
-    delete iLauncher;
-    }
-
-EXPORT_C CLauncherExecutable* CLauncherExecutable::NewL()
-    {
-    CLauncherExecutable *self = CLauncherExecutable::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C CLauncherExecutable* CLauncherExecutable::NewLC()
-    {
-    CLauncherExecutable *self = new(ELeave) CLauncherExecutable();
-    CleanupStack::PushL(self);
-    self->ConstructL(0, KNullDesC());
-    return self;
-    }
-
-EXPORT_C CLauncherExecutable* CLauncherExecutable::NewL(TInt aTypeId, const TDesC& aLauncher)
-    {
-    CLauncherExecutable *self = CLauncherExecutable::NewLC(aTypeId, aLauncher);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C CLauncherExecutable* CLauncherExecutable::NewLC(TInt aTypeId, const TDesC& aLauncher)
-    {
-    CLauncherExecutable *self = new(ELeave) CLauncherExecutable();
-    CleanupStack::PushL(self);
-    self->ConstructL(aTypeId, aLauncher);
-    return self;
-    }
-
-EXPORT_C CLauncherExecutable* CLauncherExecutable::NewL(RReadStream& aStream)
-    {
-    CLauncherExecutable *self = CLauncherExecutable::NewLC();
-    self->InternalizeL(aStream);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CLauncherExecutable::ConstructL(TInt aTypeId, const TDesC& aLauncher)
-    {
-    iTypeId = aTypeId;
-    DeleteObjectZ(iLauncher);
-    iLauncher = aLauncher.AllocL();
-    }
-
-EXPORT_C const TDesC& CLauncherExecutable::Launcher() const
-    {
-    return *iLauncher;
-    }
-
-EXPORT_C TInt CLauncherExecutable::TypeId() const
-    {
-    return iTypeId;
-    }
-
-EXPORT_C void CLauncherExecutable::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteInt32L(iTypeId);
-    aStream << *iLauncher;
-    }
-
-EXPORT_C void CLauncherExecutable::InternalizeL(RReadStream& aStream)
-    {       
-    iTypeId = aStream.ReadInt32L();
-    
-    DeleteObjectZ(iLauncher);
-    iLauncher = HBufC::NewL(aStream, KMaxTInt);
-    }
-