1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/mm/devsoundextensions/globalaudiosettings/src/AudioClientsListManagerAO.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,81 @@
1.4 +/*
1.5 +* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description: This file contains definitions of Audio Clients List Manager.
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +
1.23 +
1.24 +#ifndef AUDIOCLIENTSLISTMANAGERAO_H
1.25 +#define AUDIOCLIENTSLISTMANAGERAO_H
1.26 +
1.27 +#include <e32base.h>
1.28 +#include <GlobalAudioSettings.h>
1.29 +#include <e32property.h>
1.30 +
1.31 +/**
1.32 +* Defines audio clients list manager class.
1.33 +*
1.34 +* @lib GlobalAudioSettings.lib
1.35 +* @since Series 60 3.2
1.36 +*/
1.37 +class CAudioClientsListManagerAO: public CActive
1.38 + {
1.39 + public:
1.40 + // 2 Phase constructor
1.41 + static CAudioClientsListManagerAO* NewL(
1.42 + CGlobalAudioSettings& aGlobalAudioSettings,
1.43 + RPointerArray<MAudioClientsListObserver>& aArray,
1.44 + TUint32 aKey );
1.45 + // Destructor
1.46 + ~CAudioClientsListManagerAO();
1.47 + // Starts monitoring audio clients list
1.48 + TInt MonitorStart();
1.49 + // Stops monitoring audio clients list
1.50 + TInt MonitorStop();
1.51 + // Returns the audio clients list
1.52 + TInt GetAudioClientsList(
1.53 + CGlobalAudioSettings::TAudioClientListType aType,
1.54 + RArray<TProcessId>& aList );
1.55 +
1.56 + protected:
1.57 + // From CActive begins
1.58 + void RunL();
1.59 + void DoCancel();
1.60 + TInt RunError(TInt aError);
1.61 + // From CActive ends
1.62 +
1.63 + private:
1.64 + // Constructor
1.65 + CAudioClientsListManagerAO(CGlobalAudioSettings& aGlobalAudioSettings,
1.66 + RPointerArray<MAudioClientsListObserver>& aArray,
1.67 + TUint32 aKey );
1.68 + // 2nd phase constructor
1.69 + void ConstructL();
1.70 +
1.71 + private:
1.72 + // Handle to property
1.73 + RProperty iActiveAudioClients;
1.74 + // Reference to CGlobalAudioSettings
1.75 + CGlobalAudioSettings& iGlobalAudioSettings;
1.76 + // List of Audio Clients List Observer objects
1.77 + RPointerArray<MAudioClientsListObserver>& iAudioClientsListObserverArray;
1.78 + //P&S key
1.79 + TUint32 iKey;
1.80 + };
1.81 +
1.82 +#endif // AUDIOCLIENTSLISTMANAGERAO_H
1.83 +
1.84 +// End of file