2 * Copyright (c) 2002-2004 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: Abstract interface for find media files suitable to be
15 * set as an alert tone in Profiles.
21 #ifndef MPROENGALERTTONESEEKER_H
22 #define MPROENGALERTTONESEEKER_H
27 // FORWARD DECLARATIONS
28 class MProEngAlertToneSeekerExt;
29 class MProEngAlertToneSeekerObserver;
34 * This class can be used to find media files suitable to be set as an alert
37 * @lib ProfileEngine.lib
38 * @since Series 60 3.1
40 class MProEngAlertToneSeeker
42 public: // New functions
45 * Asynchronous method that searches all the tone files that can be used
46 * as alert tones in Profiles. The resulting list of the tone paths is
47 * delivered to the MProEngAlertToneSeekerObserver.
48 * This is a very long lasting operation (~minutes), so this shouldn't
49 * be performed too often.
51 * @param aObserver Reference to the client-implemented observer which
52 * will get the list of tones after the list has been constructed.
54 virtual void FetchAlertToneListL(
55 MProEngAlertToneSeekerObserver& aObserver ) = 0;
58 * Cancels the asynchronous fetch operation.
61 virtual void CancelFetch() = 0;
68 virtual ~MProEngAlertToneSeeker() {}
70 private: // Extension interface
73 * This member is internal and not intended for use.
75 virtual MProEngAlertToneSeekerExt* Extension() { return NULL; }
79 #endif // MPROENGALERTTONESEEKER_H