sl@0: /* sl@0: * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: #ifndef MMFAUDIOSERVERFACTORY_H sl@0: #define MMFAUDIOSERVERFACTORY_H sl@0: sl@0: // INCLUDES sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: // FORWARD DECLARATIONS sl@0: class CMMFAudioServer; sl@0: sl@0: // CLASS DECLARATION sl@0: sl@0: /** sl@0: * Utility factory class that can be used to launch additional servers/objects sl@0: * in Audio Server. sl@0: * sl@0: * @lib AudioServerFactory.lib sl@0: * @since sl@0: */ sl@0: class CMMFAudioServerFactory : public CBase sl@0: { sl@0: public: // Constructors and destructor sl@0: sl@0: /** sl@0: * Constructs, and returns a pointer to, a new CMMFAudioServerFactory sl@0: * object. sl@0: * Leaves on failure.. sl@0: * @return CMMFAudioServerFactory* A pointer to newly created object. sl@0: */ sl@0: IMPORT_C static CMMFAudioServerFactory* NewL(); sl@0: sl@0: /** sl@0: * Destructor. sl@0: */ sl@0: IMPORT_C ~CMMFAudioServerFactory(); sl@0: sl@0: public: // New functions sl@0: sl@0: /** sl@0: * Called by Audio Server when Audio Server is started. sl@0: * @since sl@0: * @param const CMMFAudioServer& aAudioServer - Audio Server sl@0: */ sl@0: IMPORT_C void StartL(const CMMFAudioServer& aAudioServer); sl@0: sl@0: /** sl@0: * Called by Audio Server when Audio Server is shutting down sl@0: * @since sl@0: * @param const CMMFAudioServer& aAudioServer - Audio Server sl@0: */ sl@0: IMPORT_C void Stop(const CMMFAudioServer& aAudioServer); sl@0: sl@0: private: sl@0: sl@0: /** sl@0: * C++ default constructor. sl@0: */ sl@0: CMMFAudioServerFactory(); sl@0: sl@0: /** sl@0: * By default Symbian 2nd phase constructor is private. sl@0: */ sl@0: void ConstructL(); sl@0: RPointerArray iAudioServList; sl@0: sl@0: }; sl@0: sl@0: #endif // MMFAUDIOSERVERFACTORY_H sl@0: sl@0: // End of File