--- a/installationservices/swcomponentregistry/inc/appregentries.h Tue Aug 31 15:21:33 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1021 +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:
-* Declares entry classes for Software Components Registry interface.
-*
-*/
-
-/**
- @file
- @publishedAll
- @prototype
-*/
-
-#ifndef APPREGENTRIES_H
-#define APPREGENTRIES_H
-
-#include <e32base.h>
-#include <s32strm.h>
-#include <f32file.h>
-namespace Usif
- {
-
- class CScrRequestImpl;
- class CDataType;
- class CServiceInfo;
- class CLocalizableAppInfo;
- class CAppViewData;
- class CCaptionAndIconInfo;
-
-
- const TInt KSCRMaxAppGroupName=0x10; // Length of App's logical groupname
- typedef TBuf<KSCRMaxAppGroupName> TAppGroupName;
-
- NONSHARABLE_CLASS (TApplicationCharacteristics)
- /**
- Used to store application characteristics like its embeddabilty, group name etc.
- */
- {
- public:
- /**
- Creates an empty TApplicationCharacteristics object.
- */
- IMPORT_C TApplicationCharacteristics();
-
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- public:
- /**
- Defines an application's support for embeddability.
- */
- enum TAppEmbeddability {
- /**
- An application cannot be embedded.
- */
- ENotEmbeddable=0,
- /**
- An application can be run embedded or standalone and can read/write embedded document-content.
- */
- EEmbeddable=1,
- /**
- An application can only be run embedded and can read/write embedded document-content.
- */
- EEmbeddableOnly=2,
- /**
- An application can be run embedded or standalone and cannot read/write embedded document-content.
- */
- EEmbeddableUiOrStandAlone=5,
- /**
- An application can only be run embedded and cannot read/write embedded document-content.
- */
- EEmbeddableUiNotStandAlone=6
- };
- /**
- Indicates the extent to which the application can be embedded.
- */
- TAppEmbeddability iEmbeddability;
- /**
- Indicates whether the application is document-based and supports being asked
- to create a new file.
- */
- TBool iSupportsNewFile;
- /**
- Indicates whether the existence of the application should be advertised to the
- user. If this is set to ETrue, the application does not appear on the Extras
- Bar (or equivalent).
- */
- TBool iAppIsHidden; // not shown in the Shell etc.
- /**
- Allows the application to be launched in the foreground (when set to EFalse)
- or in the background (when set to ETrue).
- */
- TBool iLaunchInBackground; // Series 60 extension to allow apps to be launched in the background
- /**
- Stores the application's logical group name.
- */
- TAppGroupName iGroupName; // Series 60 extension to allow apps to be categorized according a logical group name, e.g. 'games'
- /**
- Indicates the application attributes. One or more values from TCapabilityAttribute may be specified.
- */
- TUint iAttributes;
- };
-
- class TEmbeddableFilter
- {
- public:
- /** Constructs an empty embeddability filter.
- */
- IMPORT_C TEmbeddableFilter();
-
- /** Adds aEmbeddability value to the EmbeddabilityFlag.
- */
- IMPORT_C void AddEmbeddability(TApplicationCharacteristics::TAppEmbeddability aEmbeddability);
-
- /** Compares aEmbeddability with the filter.
- * @param aEmbeddability TAppEmbeddability value to compare.
- * @see TAppEmbeddability for more details.
- * @return True, if aEmbeddability is included in the filter; false, otherwise.
- */
- IMPORT_C TBool MatchesEmbeddability(TApplicationCharacteristics::TAppEmbeddability aEmbeddability) const;
-
- /** Sets the value of aEmbeddability with EmbeddabilityFlag's value.
- */
- void SetEmbeddabilityFlags(TUint aEmbeddabilityFlags);
-
- /** Return the value of iEmbeddability.
- */
- IMPORT_C TUint EmbeddabilityFlags() const;
- private:
- TUint iEmbeddabilityFlags;
- };
-
-
- NONSHARABLE_CLASS(CAppInfoFilter) : public CBase
- /**
- A filter class which is used to filter the Application registration Info stored in the SCR.
- An empty filter object is first created and then required filter keys are set separately.
- */
- {
- friend class CScrRequestImpl;
-
- public:
- /**
- Creates an empty AppRegistrationInfo filter object.
- @return A pointer to the newly allocated AppRegistrationInfo filter object, if creation is successful.
- */
- IMPORT_C static CAppInfoFilter* NewL();
-
- /**
- Creates an empty AppRegistrationInfo filter object.
- @return A pointer to the newly allocated AppRegistrationInfo filter object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CAppInfoFilter* NewLC();
-
- /**
- Creates a AppRegistrationInfo filter object from a stream.
- @param aStream The stream to read the AppRegistrationInfo filter object from
- @return A pointer to the newly allocated AppRegistrationInfo filter object, if creation is successful.
- @internalComponent
- */
- IMPORT_C static CAppInfoFilter* NewL(RReadStream& aStream);
-
- IMPORT_C void SetAllApps();
- IMPORT_C void SetAllApps(const TInt aScreenMode);
-
- IMPORT_C void SetEmbeddableApps();
- IMPORT_C void SetEmbeddableApps(const TInt aScreenMode);
-
- IMPORT_C void SetEmbeddabilityFilter(TEmbeddableFilter& aEmbeddabilityFilter);
- IMPORT_C void SetEmbeddabilityFilterWithScreenMode(TEmbeddableFilter& aEmbeddabilityFilter, const TInt aScreenMode);
-
- IMPORT_C void SetCapabilityAttributeMaskAndValue(const TInt aCapabilityAttributeMask, const TInt aCapabilityAttributeValue);
- IMPORT_C void SetCapabilityAttributeMaskAndValue(const TInt aCapabilityAttributeMask, const TInt aCapabilityAttributeValue, const TInt aScreenMode );
-
- IMPORT_C void SetServerApps(const TUid aServiceUid);
- IMPORT_C void SetServerApps(const TUid aServiceUid, const TInt aScreenMode);
-
- ~CAppInfoFilter();
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
- void InternalizeL(RReadStream& aStream);
-
- private:
- CAppInfoFilter();
- void ConstructL();
-
- enum TAppRegInfoFlag
- {
- EAllApps = 0x0001,
- EAllAppsWithScreenMode = 0x0002,
- EGetEmbeddableApps = 0x0004,
- EGetEmbeddableAppsWithSreenMode = 0x0008,
- EGetFilteredAppsWithEmbeddabilityFilter = 0x0010,
- EGetFilteredAppsWithEmbeddabilityFilterWithScreenMode = 0x0020,
- EGetFilteredAppsWithCapabilityMaskAndValue = 0x0040,
- EGetFilteredAppsWithCapabilityMaskAndValueWithScreenMode = 0x0080,
- EGetServerApps = 0x0100,
- EGetServerAppsWithScreenMode = 0x0200,
- };
-
- private:
- TUint16 iSetFlag; ///< Flag variable that shows what fields have been set
- TInt iScreenMode; ///< Sreen Mode of the application
- TEmbeddableFilter iEmbeddabilityFilter; ///< Embeddabilty Filter
- TUint iCapabilityAttributeMask; ///< Capability attribute bit mask
- TUint iCapabilityAttributeValue; ///< Capability attribute bit value
- TUid iServiceUid; ///< Service Uid
- TUid iAppUid; ///< Application Uid
- };
-
-
- NONSHARABLE_CLASS(CAppServiceInfoFilter) : public CBase
- /*
- * A filter class that determines the information fields that need to be set before a GetServiceInfoL is invoked.
- * Initially an empty filter is created and subsequently the Set methods are used to set the filter based on the input parameters
- * with which the GetServiceInfoL query is made.
- */
- {
- friend class CScrRequestImpl;
-
- public:
-
- /**
- Creates an empty CAppServiceInfoFilter filter object.
- @return A pointer to the newly allocated CAppServiceInfoFilter filter object, if creation is successful.
- */
- IMPORT_C static CAppServiceInfoFilter* NewL();
-
- /**
- Creates an empty CAppServiceInfoFilter filter object.
- @return A pointer to the newly allocated CAppServiceInfoFilter filter object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CAppServiceInfoFilter* NewLC();
-
- /**
- Creates a CAppServiceInfoFilter filter object from a stream.
- @param aStream The stream to read the CAppServiceInfoFilter filter object from
- @return A pointer to the newly allocated CAppServiceInfoFilter filter object, if creation is successful.
- @internalComponent
- */
- IMPORT_C static CAppServiceInfoFilter* NewL(RReadStream& aStream);
-
- IMPORT_C void SetAppUidForServiceInfo (const TUid aAppUid);
- IMPORT_C void SetServiceUidForServiceImplementations (const TUid aServiceUid);
- IMPORT_C void SetServiceUidAndDatatTypeForServiceImplementationsL (const TUid aServiceUid, const TDesC& aDataType);
- IMPORT_C void SetAppUidAndServiceUidForOpaqueData (const TUid aAppUid, const TUid aServiceUid);
-
- ~CAppServiceInfoFilter();
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
- void InternalizeL(RReadStream& aStream);
-
- private:
- CAppServiceInfoFilter();
- void ConstructL();
- enum TServiceInfoFlag
- {
- EGetServiceInfoForApp = 0x0001,
- EGetServiceImplementationForServiceUid = 0x0002,
- EGetServiceImplementationForServiceUidAndDatatType = 0x0004,
- EGetOpaqueDataForAppWithServiceUid = 0x0008,
- };
-
- private:
- TUint16 iSetFlag;
- TUid iAppUid;
- TUid iServiceUid;
- HBufC* iDataType;
- };
-
-
- NONSHARABLE_CLASS(COpaqueData) : public CBase
- {
- friend class CScrRequestImpl;
- public:
- /**
- Creates an empty COpaqueData object.
- @return A pointer to the newly allocated COpaqueData object, if creation is successful.
- */
- IMPORT_C static COpaqueData* NewL();
-
- /**
- Creates an empty COpaqueData object.
- @return A pointer to the newly allocated COpaqueData object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static COpaqueData* NewLC();
-
- /**
- Creates an empty COpaqueData object.
-
- @param aOpaqueData A 8-bit buffer containing the opaque data.
- @param aLanguage The language associated with the opaque data.
- @return A pointer to the newly allocated COpaqueData object, if creation is successful.
- */
- IMPORT_C static COpaqueData* NewL(TDesC8& aOpaqueData, TLanguage aLanguage);
-
- /**
- Creates an empty COpaqueData object.
-
- @param aOpaqueData A 8-bit buffer containing the opaque data.
- @param aLanguage The language associated with the opaque data.
- @return A pointer to the newly allocated COpaqueData object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static COpaqueData* NewLC(TDesC8& aOpaqueData, TLanguage aLanguage);
-
- /**
- Creates a COpaqueData object from the stream.
-
- @param aStream The stream to read the COpaqueData object from.
- @return A pointer to the newly allocated COpaqueData object, if creation is successful.
- */
- IMPORT_C static COpaqueData* NewL(RReadStream& aStream);
-
- /**
- @return The buffer containing the opaque data.
- */
- IMPORT_C HBufC8& OpaqueData();
-
- /**
- @return The language associated with the opaque data.
- */
- IMPORT_C TLanguage Language();
-
- ~COpaqueData();
-
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- private:
- COpaqueData();
- void ConstructL(const TDesC8& aOpaqueData, TLanguage aLanguage);
-
- private:
- HBufC8* iOpaqueData;
- TLanguage iLanguage;
- };
-
- class CPropertyEntry;
- NONSHARABLE_CLASS(CApplicationRegistrationData) : public CBase
- /*
- * This contains the basic information of an application such as application's uid, filename,
- * attributes, embeddability, groupname, default screen number, opaque data,
- * an array of pointers to localizable info, properties, file ownership info etc.
- *
- * N.B. Mandatory fields associated to an application are AppUid and AppFile
- * AppFile should contain the abosulte file path, along with the drive and extension (if any)
- */
- {
- friend class CScrRequestImpl;
- public:
- /**
- Creates an empty CApplicationRegistrationData object.
- @return A pointer to the newly allocated CApplicationRegistrationData object, if creation is successful.
- */
- IMPORT_C static CApplicationRegistrationData* NewL();
-
- /**
- Creates an empty CApplicationRegistrationData object.
- @return A pointer to the newly allocated CApplicationRegistrationData object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CApplicationRegistrationData* NewLC();
-
- /**
- Creates a CApplicationRegistrationData object from the stream.
-
- @param aStream The stream to read the CApplicationRegistrationData object from.
- @return A pointer to the newly allocated CApplicationRegistrationData object, if creation is successful.
- */
- IMPORT_C static CApplicationRegistrationData* NewL(RReadStream& aStream);
-
- /**
- Creates a CApplicationRegistrationData object.
-
- @param aOwnedFileArray An array of files owned by the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aServiceArray An array of services related information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aLocalizableAppInfoList An array of localizable information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppPropertiesArray An array of properties associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aOpaqueDataArray An array of opaque data associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppUid The Uid of the application.
- @param aAppFile The executable file associated with the application.
- @param aCharacteristics The attributes associated with the application. @see Usif::TApplicationCharacteristics
- @param aDefaultScreenNumber
- @param aTypeId
-
-
- @return A pointer to the newly allocated CApplicationRegistrationData object, if creation is successful.
- */
- IMPORT_C static CApplicationRegistrationData* NewL(
- RPointerArray<HBufC>& aOwnedFileArray,
- RPointerArray<Usif::CServiceInfo>& aServiceArray,
- RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList,
- RPointerArray<CPropertyEntry>& aAppPropertiesArray,
- RPointerArray<COpaqueData>& aOpaqueDataArray,
- TUid aAppUid, const TDesC& aAppFile,
- TApplicationCharacteristics& aCharacteristics,
- TInt aDefaultScreenNumber, TInt aTypeId = 0);
- /**
- Creates a CApplicationRegistrationData object.
-
- @param aOwnedFileArray An array of files owned by the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aServiceArray An array of services related information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aLocalizableAppInfoList An array of localizable information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppPropertiesArray An array of properties associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aOpaqueDataArray An array of opaque data associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppUid The Uid of the application.
- @param aAppFile The executable file associated with the application.
- @param aCharacteristics The attributes associated with the application. @see Usif::TApplicationCharacteristics
- @param aDefaultScreenNumber
- @param aTypeId
-
-
- @return A pointer to the newly allocated CApplicationRegistrationData object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CApplicationRegistrationData * NewLC(
- RPointerArray<HBufC>& aOwnedFileArray,
- RPointerArray<CServiceInfo>& aServiceArray,
- RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList,
- RPointerArray<CPropertyEntry>& aAppPropertiesArray,
- RPointerArray<COpaqueData>& aOpaqueDataArray,
- TUid aAppUid, const TDesC& aAppFile,
- TApplicationCharacteristics& aCharacteristics,
- TInt aDefaultScreenNumber, TInt aTypeId = 0);
-
- /**
- Creates a CApplicationRegistrationData object.
-
- @param aOwnedFileArray An array of files owned by the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aServiceArray An array of services related information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aLocalizableAppInfoList An array of localizable information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppPropertiesArray An array of properties associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppUid The Uid of the application.
- @param aAppFile The executable file associated with the application.
-
-
- @return A pointer to the newly allocated CApplicationRegistrationData object, if creation is successful.
- */
- IMPORT_C static CApplicationRegistrationData* NewL(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<CServiceInfo>& aServiceArray, RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList,
- RPointerArray<CPropertyEntry>& aAppPropertiesArray, TUid aAppUid,
- const TDesC& aAppFile);
- /**
- Creates a CApplicationRegistrationData object.
-
- @param aOwnedFileArray An array of files owned by the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aServiceArray An array of services related information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aLocalizableAppInfoList An array of localizable information associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppPropertiesArray An array of properties associated with the application. The ownership is also transferred to CApplicationRegistrationData.
- @param aAppUid The Uid of the application.
- @param aAppFile The executable file associated with the application.
-
-
- @return A pointer to the newly allocated CApplicationRegistrationData object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CApplicationRegistrationData* NewLC(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<CServiceInfo>& aServiceArray, RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList,
- RPointerArray<CPropertyEntry>& aAppPropertiesArray, TUid aAppUid,
- const TDesC& aAppFile);
- ~CApplicationRegistrationData();
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- IMPORT_C const TUid AppUid() const;
- IMPORT_C const TDesC& AppFile() const;
- IMPORT_C TInt TypeId() const;
- IMPORT_C TUint Attributes() const;
- IMPORT_C TBool Hidden() const;
- IMPORT_C TApplicationCharacteristics::TAppEmbeddability Embeddability() const;
- IMPORT_C TBool NewFile() const;
- IMPORT_C TBool Launch() const;
- IMPORT_C const TDesC& GroupName() const;
- IMPORT_C TInt DefaultScreenNumber() const;
- IMPORT_C const RPointerArray<HBufC>& OwnedFileArray() const;
- IMPORT_C const RPointerArray<CServiceInfo>& ServiceArray() const;
- IMPORT_C const RPointerArray<CLocalizableAppInfo>& LocalizableAppInfoList() const;
- IMPORT_C const RPointerArray<CPropertyEntry>& AppProperties() const;
- IMPORT_C const RPointerArray<COpaqueData>& AppOpaqueData() const;
-
- private:
- CApplicationRegistrationData();
- void ConstructL(RPointerArray<HBufC>& aOwnedFileArray,
- RPointerArray<CServiceInfo>& aServiceArray,
- RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList,
- RPointerArray<CPropertyEntry>& aAppPropertiesArray,
- RPointerArray<COpaqueData>& aOpaqueDataArray, TUid aAppUid,
- const TDesC& aAppFile, TApplicationCharacteristics& aCharacteristics,
- TInt aDefaultScreenNumber, TInt aTypeId);
-
- void ConstructL(RPointerArray<HBufC>& aOwnedFileArray, RPointerArray<CServiceInfo>& aServiceArray,
- RPointerArray<CLocalizableAppInfo>& aLocalizableAppInfoList, RPointerArray<CPropertyEntry>& aAppPropertiesArray,
- TUid aAppUid, const TDesC& aAppFile);
-
- void ConstructL(const TDesC& aAppFile);
- private:
-
- RPointerArray<HBufC> iOwnedFileArray; // FileOwnershipInfo
- RPointerArray<CServiceInfo> iServiceArray; // Service Info and Service Data Type
- RPointerArray<CLocalizableAppInfo> iLocalizableAppInfoList; //LocalizableAppInfo
- RPointerArray<CPropertyEntry> iAppPropertiesArray; // AppProperties
- RPointerArray<COpaqueData> iOpaqueDataArray;
-
- // AppRegistrationInfo Table
- TUid iAppUid;
- HBufC* iAppFile;
- TInt iTypeId;
- TApplicationCharacteristics iCharacteristics;
- TInt iDefaultScreenNumber;
- };
-
-
- NONSHARABLE_CLASS(CDataType) : public CBase
- /*
- * It contains the priority and type information associated to each service provided by the application.
- */
- {
- friend class CScrRequestImpl;
- public:
- /**
- Creates an empty CDataType object.
- @return A pointer to the newly allocated CDataType object, if creation is successful.
- */
- IMPORT_C static CDataType* NewL();
-
- /**
- Creates an empty CDataType object.
- @return A pointer to the newly allocated CDataType object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CDataType* NewLC();
-
- /**
- Creates a CDataType object from the stream.
-
- @param aStream The stream to read the CDataType object from.
- @return A pointer to the newly allocated CDataType object, if creation is successful.
- */
- IMPORT_C static CDataType* NewL(RReadStream& aStream);
-
- /**
- Creates a CDataType object.
-
- @param aPriority The priority to be associated with the service.
- @param aType The type information to be associated with the service.
- @return A pointer to the newly allocated CDataType object, if creation is successful.
- */
- IMPORT_C static CDataType* NewL(TInt aPriority, const TDesC& aType);
-
- /**
- Creates a CDataType object.
-
- @param aPriority The priority to be associated with the service.
- @param aType The type information to be associated with the service.
- @return A pointer to the newly allocated CDataType object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CDataType* NewLC(TInt aPriority, const TDesC& aType);
-
- ~CDataType();
-
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- @return The priority associated with the service.
- */
- IMPORT_C TInt Priority() const;
-
- /**
- @return The type information associated with the service.
- */
- IMPORT_C const TDesC& Type() const;
- private:
- CDataType();
- void ConstructL(TInt aPriority, const TDesC& aType);
- private:
- TInt iPriority;
- HBufC* iType;
- };
-
-
- NONSHARABLE_CLASS(CServiceInfo) : public CBase
- /*
- * This contains the service related information such as service Uid, opaque data and data type information associated with an applciation.
- */
- {
- friend class CScrRequestImpl;
- public:
- /**
- Creates an empty CServiceInfo object.
- @return A pointer to the newly allocated CServiceInfo object, if creation is successful.
- */
- IMPORT_C static CServiceInfo* NewL();
-
- /**
- Creates an empty CServiceInfo object.
- @return A pointer to the newly allocated CServiceInfo object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CServiceInfo* NewLC();
-
- /**
- Creates a CServiceInfo object from the stream.
-
- @param aStream The stream to read the CServiceInfo object from.
- @return A pointer to the newly allocated CServiceInfo object, if creation is successful.
- */
- IMPORT_C static CServiceInfo* NewL(RReadStream& aStream);
-
- /**
- Creates a CServiceInfo object.
- @param aUid The Uid associated with the service.
- @param aOpaqueDataArray An array of opaque data associated with the service. The ownership is also transferred to
- the CServiceInfo object.
- @param aDataTypes An array of data types associated with the service. The ownership is also transferred to
- the CServiceInfo object.
- @return A pointer to the newly allocated CServiceInfo object, if creation is successful.
- */
- IMPORT_C static CServiceInfo* NewL(const TUid aUid, RPointerArray<COpaqueData>& aOpaqueDataArray, RPointerArray<CDataType>& aDataTypes);
-
- /**
- Creates a CServiceInfo object.
- @param aUid The Uid associated with the service.
- @param aOpaqueDataArray An array of opaque data associated with the service. The ownership is also transferred to
- the CServiceInfo object.
- @param aDataTypes An array of data types associated with the service. The ownership is also transferred to
- the CServiceInfo object.
- @return A pointer to the newly allocated CServiceInfo object, if creation is successful.
- */
- IMPORT_C static CServiceInfo* NewLC(const TUid aUid, RPointerArray<COpaqueData>& aOpaqueDataArray, RPointerArray<CDataType>& aDataTypes);
- ~CServiceInfo();
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- @return The Uid associated with the service.
- */
- IMPORT_C const TUid Uid() const;
-
- /**
- @return The array of data types associated with the service.
- */
- IMPORT_C const RPointerArray<CDataType>& DataTypes() const;
-
- /**
- @return The array of opaque data associated with the service.
- */
- IMPORT_C const RPointerArray<COpaqueData>& OpaqueData() const;
- private:
- CServiceInfo();
- void ConstructL(const TUid aUid, RPointerArray<COpaqueData>& aOpaqueDataArray, RPointerArray<CDataType>& aDataTypes);
- private:
- TUid iUid;
- RPointerArray<CDataType> iDataTypes;
- RPointerArray<COpaqueData> iOpaqueDataArray;
- };
-
-
- NONSHARABLE_CLASS(CLocalizableAppInfo) : public CBase
- /*
- * This contains localizable information associated with an application.
- */
- {
- friend class CScrRequestImpl;
- public:
- /**
- Creates an empty CLocalizableAppInfo object.
- @return A pointer to the newly allocated CLocalizableAppInfo object, if creation is successful.
- */
- IMPORT_C static CLocalizableAppInfo* NewL();
-
- /**
- Creates an empty CLocalizableAppInfo object.
- @return A pointer to the newly allocated CLocalizableAppInfo object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CLocalizableAppInfo* NewLC();
-
- /**
- Creates a CLocalizableAppInfo object from the stream.
-
- @param aStream The stream to read the CLocalizableAppInfo object from.
- @return A pointer to the newly allocated CLocalizableAppInfo object, if creation is successful.
- */
- IMPORT_C static CLocalizableAppInfo* NewL(RReadStream& aStream);
-
- /**
- Creates a CLocalizableAppInfo object.
-
- @param aShortCaption A locale specific short caption associated with the application.
- @param aApplicationLanguage A language that the application is localized in.
- @param aGroupName A group name associated with the application.
- @param aCaptionAndIconInfo A locale specific caption and icon information associated with the application. The ownership is also transferred
- to the CLocalizableAppInfo object.
- @param aViewDataList An array of view information associated with the application. The ownership is also transferred
- to the CLocalizableAppInfo object.
- @return A pointer to the newly allocated CLocalizableAppInfo object, if creation is successful.
- */
- IMPORT_C static CLocalizableAppInfo* NewL(const TDesC& aShortCaption, TLanguage aApplicationLanguage, const TDesC& aGroupName, CCaptionAndIconInfo* aCaptionAndIconInfo, RPointerArray<CAppViewData>& aViewDataList);
-
- /**
- Creates a CLocalizableAppInfo object.
-
- @param aShortCaption A locale specific short caption associated with the application.
- @param aApplicationLanguage A language that the application is localized in.
- @param aGroupName A group name associated with the application.
- @param aCaptionAndIconInfo A locale specific caption and icon information associated with the application. The ownership is also transferred
- to the CLocalizableAppInfo object.
- @param aViewDataList An array of view information associated with the application. The ownership is also transferred
- to the CLocalizableAppInfo object.
- @return A pointer to the newly allocated CLocalizableAppInfo object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CLocalizableAppInfo* NewLC(const TDesC& aShortCaption, TLanguage aApplicationLanguage, const TDesC& aGroupName, CCaptionAndIconInfo* aCaptionAndIconInfo, RPointerArray<CAppViewData>& aViewDataList);
-
- ~CLocalizableAppInfo();
-
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- @return The short caption associated with the locale for the application.
- */
- IMPORT_C const TDesC& ShortCaption() const;
-
- /**
- @return The language that the application is localized in.
- */
- IMPORT_C TLanguage ApplicationLanguage() const;
-
- /**
- @return The group name associated with the application.
- */
- IMPORT_C const TDesC& GroupName() const;
-
- /**
- @return The array of Application view information associated with the application.
- */
- IMPORT_C const RPointerArray<CAppViewData>& ViewDataList() const;
-
- /**
- @return The locale specific caption and icon information associated with the application.
- */
- IMPORT_C const CCaptionAndIconInfo* CaptionAndIconInfo() const;
-
- private:
- CLocalizableAppInfo();
-
- void ConstructL(const TDesC& aShortCaption, TLanguage aApplicationLanguage, const TDesC& aGroupName, CCaptionAndIconInfo* aCaptionAndIconInfo, RPointerArray<Usif::CAppViewData> aViewDataList);
-
- void ConstructL(const TDesC& aShortCaption, const TDesC& aGroupName);
-
- private:
- HBufC* iShortCaption;
- TLanguage iApplicationLanguage;
- HBufC* iGroupName;
- CCaptionAndIconInfo* iCaptionAndIconInfo;
- RPointerArray<CAppViewData> iViewDataList;
- };
-
-
- NONSHARABLE_CLASS(CCaptionAndIconInfo) : public CBase
- /*
- * This contains the caption and icon information associated to an application such as caption, icon filename and number of icons.
- *
- * N.B. Icon Filename, if present, should contain the absolute file path, along with the drive and extension (if any).
- */
- {
- friend class CScrRequestImpl;
-
- public:
- /**
- Creates an empty CCaptionAndIconInfo object.
- @return A pointer to the newly allocated CCaptionAndIconInfo object, if creation is successful.
- */
- IMPORT_C static CCaptionAndIconInfo* NewL();
-
- /**
- Creates an empty CCaptionAndIconInfo object.
- @return A pointer to the newly allocated CCaptionAndIconInfo object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CCaptionAndIconInfo* NewLC();
-
- /**
- Creates a CCaptionAndIconInfo object from the stream.
-
- @param aStream The stream to read the CCaptionAndIconInfo object from.
- @return A pointer to the newly allocated CCaptionAndIconInfo object, if creation is successful.
- */
- IMPORT_C static CCaptionAndIconInfo* NewL(RReadStream& aStream);
-
- /**
- Creates a CCaptionAndIconInfo object.
-
- @param aCaption The caption associated with the application. The ownership is transferred to the CCaptionAndIconInfo object.
- @param aIconFileName The absolute filename of the icon file. The ownership is transferred to the CCaptionAndIconInfo object.
- @param aNumOfAppIcons The number of icons associated with the application.
- @return A pointer to the newly allocated CCaptionAndIconInfo object, if creation is successful.
- */
- IMPORT_C static CCaptionAndIconInfo* NewL(const TDesC& aCaption, const TDesC& aIconFileName, TInt aNumOfAppIcons);
-
- /**
- Creates a CCaptionAndIconInfo object.
-
- @param aCaption The caption associated with the application. The ownership is transferred to the CCaptionAndIconInfo object.
- @param aIconFileName The absolute filename of the icon file. The ownership is transferred to the CCaptionAndIconInfo object.
- @param aNumOfAppIcons The number of icons associated with the application.
- @return A pointer to the newly allocated CCaptionAndIconInfo object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CCaptionAndIconInfo* NewLC(const TDesC& aCaption, const TDesC& aIconFileName, TInt aNumOfAppIcons);
-
- ~CCaptionAndIconInfo();
-
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- @return The caption associated with the application.
- */
- IMPORT_C const TDesC& Caption() const;
-
- /**
- @return The absolute name of the icon file associated with the application.
- */
- IMPORT_C const TDesC& IconFileName() const;
-
- /**
- @return The number of icons associated with the application.
- */
- IMPORT_C TInt NumOfAppIcons() const;
- private:
- CCaptionAndIconInfo();
- void ConstructL(const TDesC& aCaption, const TDesC& aIconFileName, TInt aNumOfAppIcons);
-
- private:
- HBufC* iCaption;
- HBufC* iIconFileName;
- TInt iNumOfAppIcons;
- };
-
-
- NONSHARABLE_CLASS(CAppViewData) : public CBase
- /*
- * This contains view information of an application such as screenmode and an array of caption and icon info associated with each view.
- */
- {
- friend class CScrRequestImpl;
-
- public:
- /**
- Creates an empty CAppViewData object.
- @return A pointer to the newly allocated CAppViewData object, if creation is successful.
- */
- IMPORT_C static CAppViewData* NewL();
-
- /**
- Creates an empty CAppViewData object.
- @return A pointer to the newly allocated CAppViewData object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CAppViewData* NewLC();
-
- /**
- Creates a CAppViewData object from the stream.
-
- @param aStream The stream to read the CAppViewData object from.
- @return A pointer to the newly allocated CAppViewData object, if creation is successful.
- */
- IMPORT_C static CAppViewData* NewL(RReadStream& aStream);
-
- /**
- Creates a CAppViewData object.
-
- @param aUid The Uid of the application.
- @param aScreenMode The screen mode associated with the view.
- @param aCaptionAndIconInfo The caption and icon info associated with the view. The ownership is
- also transferred to the CAppViewData object.
- @return A pointer to the newly allocated CAppViewData object, if creation is successful.
- */
- IMPORT_C static CAppViewData* NewL(TUid aUid, TInt aScreenMode, CCaptionAndIconInfo* aCaptionAndIconInfo);
-
- /**
- Creates a CAppViewData object.
-
- @param aUid The Uid of the application.
- @param aScreenMode The screen mode associated with the view.
- @param aCaptionAndIconInfo The caption and icon info associated with the view. The ownership is
- also transferred to the CAppViewData object.
- @return A pointer to the newly allocated CAppViewData object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CAppViewData* NewLC(TUid aUid, TInt aScreenMode, CCaptionAndIconInfo* aCaptionAndIconInfo);
-
- ~CAppViewData();
-
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- @return The Uid of the application.
- */
- IMPORT_C const TUid Uid() const;
-
- /**
- @return The screen mode associated with the view.
- */
- IMPORT_C TInt ScreenMode() const;
-
- /**
- @return The caption and icon info associated with the view.
- */
- IMPORT_C const CCaptionAndIconInfo* CaptionAndIconInfo() const;
-
- private:
- CAppViewData();
- void ConstructL(TUid aUid, TInt aScreenMode, CCaptionAndIconInfo* aCaptionAndIconInfo);
-
- private:
- TUid iUid;
- TInt iScreenMode;
- CCaptionAndIconInfo* iCaptionAndIconInfo;
- };
-
-
- NONSHARABLE_CLASS(CLauncherExecutable) : public CBase
- /**
- * This contains information regarding the executable used to launch the application.
- */
- {
- friend class CScrRequestImpl;
- public:
- /**
- Creates an empty CLauncherExecutable object.
- @return A pointer to the newly allocated CLauncherExecutable object, if creation is successful.
- */
- IMPORT_C static CLauncherExecutable* NewL();
-
- /**
- Creates an empty CLauncherExecutable object.
- @return A pointer to the newly allocated CLauncherExecutable object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CLauncherExecutable* NewLC();
-
- /**
- Creates a CLauncherExecutable object.
-
- @param aTypeId The Application type id.
- @param aLauncher The native executable used to launch the application
- @return A pointer to the newly allocated CLauncherExecutable object, if creation is successful.
-
- */
- IMPORT_C static CLauncherExecutable* NewL(TInt aTypeId, const TDesC& aLauncher);
-
- /**
- Creates a CLauncherExecutable object.
-
- @param aTypeId The Application type id.
- @param aLauncher The native executable used to launch the application
- @return A pointer to the newly allocated CLauncherExecutable object, if creation is successful.
- The pointer is also put onto the cleanup stack.
- */
- IMPORT_C static CLauncherExecutable* NewLC(TInt aTypeId, const TDesC& aLauncher);
-
- /**
- Creates a CLauncherExecutable object from the stream.
-
- @param aStream The stream to read the CLauncherExecutable object from.
- @return A pointer to the newly allocated CLauncherExecutable object, if creation is successful.
- */
- IMPORT_C static CLauncherExecutable* NewL(RReadStream& aStream);
-
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- @return The Application type id.
- */
- IMPORT_C TInt TypeId() const;
-
- /**
- @return The executable used to launch the application.
- */
- IMPORT_C const TDesC& Launcher() const;
-
- IMPORT_C ~CLauncherExecutable();
-
- private:
- CLauncherExecutable();
- void ConstructL(TInt aTypeId, const TDesC& aLauncher);
-
- private:
- TInt iTypeId; ///< Application type id (same as the software type id of the component)
- HBufC* iLauncher; ///< The native executable used to launch the application
- };
-
-
-} // End of USIF Namespace
-
-#endif // APPREGENTRIES_H