diff -r 9d598f7f02da -r 014f8c42e1d4 java_stubs/javaregistry/clientserver/client/inc/writeablejavaregistryapplicationentry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java_stubs/javaregistry/clientserver/client/inc/writeablejavaregistryapplicationentry.h Mon Feb 22 17:55:27 2010 +0200 @@ -0,0 +1,281 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "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: writeablejavaregistryapplicationentry definition +* +*/ + + +#ifndef WRITEABLEJAVAREGISTRYAPPLICATIONENTRY_H +#define WRITEABLEJAVAREGISTRYAPPLICATIONENTRY_H + +// INCLUDES +#include +#include "writeablejavaregistryentry.h" +#include "javaattributes.h" + +using namespace Java; + +namespace Java +{ +namespace Manager +{ +namespace Registry +{ + +// FORWARD DECLARATION +class CWriteableJavaRegistry; +class CWriteableJavaRegistryPackageEntry; + + +// CLASS DECLARATION +/** + * This subclass of CWriteableJavaRegistryEntry supports attributes + * for single applications, that can't contain embedded entries. + * + * @lib javaregistryclient.lib + * @since S60 v3.2 + */ +class CWriteableJavaRegistryApplicationEntry : + public CWriteableJavaRegistryEntry +{ +public: + + // constructors + + /** + * CWriteableJavaRegistryApplicationEntry::NewL method creates a + * CWriteableJavaRegistryApplicationEntry object. This constructor + * sets the type-property to EGeneralApplication. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aUid The Uid of this entry. + * @return A pointer to a CWriteableJavaRegistryApplicationEntry + * object. Caller takes over the ownership of the object being + * transferred. + */ + IMPORT_C static CWriteableJavaRegistryApplicationEntry* + NewL(const TUid& aUid); + + /** + * CWriteableJavaRegistryApplicationEntry::NewLC method creates a + * CWriteableJavaRegistryApplicationEntry object. This constructor + * sets the type-property to EGeneralApplication. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aUid The Uid of this entry. + * @return A pointer to a CWriteableJavaRegistryApplicationEntry + * object. Caller takes over the ownership of the object being + * transferred. + */ + IMPORT_C static CWriteableJavaRegistryApplicationEntry* + NewLC(const TUid& aUid); + + // destructor + /** + * CWriteableJavaRegistryApplicationEntry::~CWriteableJavaRegistryApplicationEntry destructor + * + * @since S60 v3.2 + */ + IMPORT_C ~CWriteableJavaRegistryApplicationEntry(); + + // general methods + /** + * Tells if this application is startable. + * + * @since S60 v3.2 + * @return ETrue if the application is startable, EFalse otherwise. + * Default value if not set: ETrue. + */ + IMPORT_C TBool IsStartable() const; + + + /** + * Tells if this application must be shown in Application Shell or + * it must rather be hidden. + * + * @since S60 v3.2 + * @return ETrue if the application is shown in Application Shell, + * EFalse otherwise. + * Default value if not set: ETrue. + */ + IMPORT_C TBool IsVisible() const; + + + /** + * Tells if this application is resident. + * + * @since S60 v3.2 + * @return ETrue if the application is resident, EFalse otherwise. + * Default value if not set: EFalse. + */ + IMPORT_C TBool IsResident() const; + + + /** + * CWriteableJavaRegistryApplicationEntry::GroupName method gets + * the group name of this application. This property tells in what + * folder should this application to be put. + * + * @since S60 v3.2 + * @return Group name of this application. + * Default value if not set: "Installed". + */ + IMPORT_C const TDesC& GroupName() const; + + + /** + * CWriteableJavaRegistryApplicationEntry::InstallPackageUid method + * gets the Uid of the install package entry, which is the parent + * of this application. + * + * @since S60 v3.2 + * @return The Uid of the parent package. + * Default value if not set: TUid( 0 ). + */ + IMPORT_C TUid InstallPackageUid() const; + + + /** + * Clients can set startability of an application, i.e. whether + * this application is startable or not. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aStartable ETrue if the application shall be startable, + * EFalse otherwise. + */ + IMPORT_C void SetStartableL(TBool aStartable); + + + /** + * Clients can specify if this application is visible in Application + * Shell or not. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aVisible ETrue if the application shall be shown in + * Application Shell, EFalse otherwise. + */ + IMPORT_C void SetVisibleL(TBool aVisible); + + + /** + * Clients can specify whether this application shall be resident or + * not. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aResident ETrue if the application shall be resident, + * EFalse otherwise. + */ + IMPORT_C void SetResidentL(TBool aResident); + + + /** + * CWriteableJavaRegistryApplicationEntry::SetGroupNameL method sets + * the group name of this application. This property tells in what + * folder should this application to be put. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aGroupName Group name of this application. + */ + IMPORT_C void SetGroupNameL(const TDesC& aGroupName); + + + /** + * CWriteableJavaRegistryApplicationEntry::SetInstallPackageL method + * sets the Uid of the install package entry, which is the parent + * of this application. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aInstallPackage The Uid of the parent package. + */ + IMPORT_C void SetInstallPackageUidL(const TUid& aInstallPackage); + + /** + * CWriteableJavaRegistryApplicationEntry::SetPropertyL method sets + * a new, or updtates a stored property if already exists. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @param aProperty Property to be setted. Pointer ownership taken. + */ + IMPORT_C virtual void SetPropertyL(CJavaProperty* aProperty); + + + /** + * CWriteableJavaRegistryApplicationEntry::PackageEntryL method + * gets a reference to the install package entry, which is the parent + * of this application. + * The function may leave with one of the system-wide error codes. + * + * @since S60 v3.2 + * @return A pointer to a CJavaRegistryEntry object. Caller takes + * over the ownership of the object being transferred. + */ + IMPORT_C CWriteableJavaRegistryPackageEntry* PackageEntryL() const; + + /** + * CWriteableJavaRegistryAplicationEntry::AttributeL method gets the + * additional attribute. + * + * @since S60 v5.0 + * @param aName The name of the searched attribute. + * @return MJavaAttribute poiter to instance, which contain attribute. + * If attribute doesn't exist return NULL. + */ + IMPORT_C virtual const MJavaAttribute* AttributeL(const TDesC& aName) const; + + /** + * CWriteableJavaRegistryApplicationEntry::AttributesL method gets the + * additional attributes array. + * + * @since S60 v5.0 + * @return RPointerArray& with all additional attributes. + */ + IMPORT_C virtual const RPointerArray& AttributesL() const; + + + +protected: + + // constructor + /** + * CWriteableJavaRegistryApplicationEntry:: + * CWriteableJavaRegistryApplicationEntry constructor + * + * @since S60 v3.2 + * @param aUid The Uid of this entry. + */ + IMPORT_C CWriteableJavaRegistryApplicationEntry(const TUid& aUid); + +private: // Data + + CWriteableJavaRegistryPackageEntry* iWriteablePackage; + + RPointerArray iAttributes; + +}; + +}// namespace Registry +}// namespace Manager +}// namespace Java + +#endif // WRITEABLEJAVAREGISTRYAPPLICATIONENTRY_H + +// End of File