First public contribution.
2 * Copyright (c) 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: This file contains definitions of Audio Clients List Manager.
21 #ifndef AUDIOCLIENTSLISTMANAGERAO_H
22 #define AUDIOCLIENTSLISTMANAGERAO_H
25 #include <GlobalAudioSettings.h>
26 #include <e32property.h>
29 * Defines audio clients list manager class.
31 * @lib GlobalAudioSettings.lib
32 * @since Series 60 3.2
34 class CAudioClientsListManagerAO: public CActive
37 // 2 Phase constructor
38 static CAudioClientsListManagerAO* NewL(
39 CGlobalAudioSettings& aGlobalAudioSettings,
40 RPointerArray<MAudioClientsListObserver>& aArray,
43 ~CAudioClientsListManagerAO();
44 // Starts monitoring audio clients list
46 // Stops monitoring audio clients list
48 // Returns the audio clients list
49 TInt GetAudioClientsList(
50 CGlobalAudioSettings::TAudioClientListType aType,
51 RArray<TProcessId>& aList );
54 // From CActive begins
57 TInt RunError(TInt aError);
62 CAudioClientsListManagerAO(CGlobalAudioSettings& aGlobalAudioSettings,
63 RPointerArray<MAudioClientsListObserver>& aArray,
65 // 2nd phase constructor
70 RProperty iActiveAudioClients;
71 // Reference to CGlobalAudioSettings
72 CGlobalAudioSettings& iGlobalAudioSettings;
73 // List of Audio Clients List Observer objects
74 RPointerArray<MAudioClientsListObserver>& iAudioClientsListObserverArray;
79 #endif // AUDIOCLIENTSLISTMANAGERAO_H