williamr@2: /* williamr@2: * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Profile name array interface. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef MPROENGPROFILENAMEARRAY_H williamr@2: #define MPROENGPROFILENAMEARRAY_H williamr@2: williamr@2: // INCLUDES williamr@2: #include // MDesCArray williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: class MProEngProfileName; williamr@2: class MProEngProfileNameArrayExt; williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * Profile name array interface. williamr@2: * williamr@2: * How to use: williamr@2: * Get profile names array with MProEngEngine::ProfileNameArrayLC(). williamr@2: * @code williamr@2: * MProEngProfileNameArray* nameArray = williamr@2: * iProfileEngine->ProfileNameArrayLC(); williamr@2: * @endcode williamr@2: * williamr@2: * @lib ProfileEngine.lib williamr@2: * @since 3.1 williamr@2: */ williamr@2: class MProEngProfileNameArray : public MDesCArray williamr@2: { williamr@2: public: // New functions williamr@2: williamr@2: /** williamr@2: * Return the ID of the profile in the given array index. williamr@2: * @since 3.1 williamr@2: * @param aIndex index of the profile. williamr@2: * @return Return the ID of the profile in the given array index. williamr@2: * KErrNotFound if the index is out of bounds. williamr@2: */ williamr@2: virtual TInt ProfileId( TInt aIndex ) const = 0; williamr@2: williamr@2: /** williamr@2: * Find profile index by ID of the profile. williamr@2: * @since 3.1 williamr@2: * @param aId ID of the profile. williamr@2: * @return Return index of the profile. KErrNotFound if williamr@2: * profile isn't found. williamr@2: */ williamr@2: virtual TInt FindById( TInt aId ) const = 0; williamr@2: williamr@2: /** williamr@2: * Find profile index by name of the profile. williamr@2: * @since 3.1 williamr@2: * @param aProfileName name of the profile. williamr@2: * @return Return index of the profile. KErrNotFound if williamr@2: * profile isn't found. williamr@2: */ williamr@2: virtual TInt FindByName( const TDesC& aProfileName ) const = 0; williamr@2: williamr@2: private: // Extension interface williamr@2: williamr@2: /** williamr@2: * This member is internal and not intended for use. williamr@2: */ williamr@2: virtual MProEngProfileNameArrayExt* Extension() { return NULL; } williamr@2: williamr@2: }; williamr@2: williamr@2: #endif // MPROENGPROFILENAMEARRAY_H williamr@2: williamr@2: // End of File williamr@2: