2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Profile name interface.
20 #ifndef MPROENGPROFILENAME_H
21 #define MPROENGPROFILENAME_H
26 // FORWARD DECLARATIONS
27 class MProEngProfileNameExt;
32 * Profile name interface.
33 * This interface offers methods to get profile ID and to get and set the
39 class MProEngProfileName
41 protected: // Destructor
43 virtual ~MProEngProfileName() {};
47 * Returns ID of the profile.
49 * @return Returns ID of the profile.
51 virtual TInt Id() const = 0;
54 * Returns the name of the profile.
56 * @return Returns name of the profile.
58 virtual const TDesC& Name() const = 0;
61 * Set the name of the profile.
63 * @param aName Name of the profile.
64 * @return KErrNone if succesful,
65 * KErrAccessDenied if name setting of this profile is read-only,
66 * KErrAlreadyExists if the name is already used by another
70 virtual TInt SetNameL( const TDesC& aName ) = 0;
72 private: // Extension interface
75 * This member is internal and not intended for use.
77 virtual MProEngProfileNameExt* Extension() { return NULL; }
81 #endif // MPROENGPROFILENAME_H